Buffering e fusione dei movimenti
I comandi di movimento possono essere bufferizzati con CODESYS SoftMotion. Per ogni movimento comandato, è possibile specificare in che modo il movimento viene bufferizzato e come deve essere eseguita la fusione dal movimento precedente al nuovo movimento. Il percorso comandato viene regolato arrotondando gli angoli in modo da poterlo percorrere senza fermarsi
È possibile configurare se un movimento è bufferizzato o meno e come viene eseguito tramite BufferMode input del blocco di movimento (ad esempio, MC_MoveDirectAbsolute o MC_MoveCircularRelative). Per ulteriori informazioni, vedere quanto segue: MC_Buffer_Mode.
Le TransitionMode e TransitionParameter gli input determinano il modo in cui gli angoli vengono arrotondati. Per ulteriori informazioni, vedere quanto segue: MC_TRANSITION_MODE.
Per ulteriori informazioni sui movimenti, vedere quanto segue: Blocchi funzionali per i movimenti
Avviso
Nelle modalità di fusione, TransitionMode non deve essere uguale a TMNone.
Suggerimento
La fusione tra due movimenti inizia non prima della metà del primo movimento e termina al più tardi a metà del secondo movimento.
Se il primo movimento è già stato pianificato troppo a lungo, la fusione potrebbe non essere più possibile con i parametri impostati. Quindi l'area di fusione viene ridotta o la fusione non è più possibile. Per garantire una miscelazione riuscita, entrambi i movimenti dovrebbero essere comandati nello stesso ciclo.
Dinamica del percorso durante la fusione
Se la fusione viene eseguita tra movimenti CP (tra segmenti lineari e circolari), si deve notare che l'accelerazione massima del percorso e lo strappo massimo del percorso possono essere superati durante la fusione. Quanto più breve è l'intervallo di fusione, tanto più evidente sarà questo effetto. Tuttavia, i limiti degli assi (l'accelerazione massima dell'asse e lo strappo massimo dell'asse) vengono sempre mantenuti
Pertanto, se l'accelerazione massima del percorso è bassa e l'accelerazione massima dell'asse è alta, durante la fusione possono verificarsi accelerazioni troppo elevate. Ciò può essere contrastato mediante AccFactor immissione dei blocchi di movimento, ad esempio, riducendo l'accelerazione massima dell'asse per un movimento.
Caratteristiche di TMStartVelocity
Il calcolo dei punti di fusione si basa su una curva di velocità idealizzata, che può deviare dalla curva di velocità effettiva. In questo momento, viene simulata una rampa di decelerazione sul percorso originale verso il punto di fusione e una rampa di accelerazione allontanandosi dal punto di fusione. Come velocità target viene utilizzata la velocità minima del percorso programmata e la velocità massima stimata del percorso risultante dai limiti degli assi.
Inoltre, quando si fondono linee rette, viene preso in considerazione l'angolo tra di esse. Un raggio di curvatura minimo per l'elemento di fusione risulta dalla velocità del percorso desiderata e dai limiti dinamici stimati. I punti A' e B' risultano a loro volta da questo raggio e dall'angolo tra le linee rette

Se i movimenti vengono rallentati durante il processo di miscelazione nonostante un fattore impostato pari a 1, può essere utile aumentare il fattore.
Esempio
In un piccolo esempio di applicazione, si suppone che un pezzo venga prelevato. Il robot deve prima spostarsi sopra il pezzo e poi verso il basso per raccoglierlo. Per raggiungere il pezzo il più velocemente possibile, lo spostamento tra i due movimenti non deve essere interrotto, ma attenuato. La fusione nel secondo movimento dovrebbe iniziare dieci unità prima che venga raggiunta la fine del primo movimento
Per soddisfare i requisiti, è necessario comandare due movimenti. Il primo movimentomoveAbove) sul pezzo e il secondo movimento (moveDown) verso il basso verso il pezzo. Per il secondo movimento, è necessario definire in che modo il movimento deve essere tamponato e miscelato
Come mostrato nell'immagine seguente, BlendingHigh è selezionato per BufferModeQuesto definisce che il movimento deve essere tamponato dopo il primo movimento e poi miscelato. Inoltre, TransitionMode, TMCornerDistance è definito con una distanza di 10 unità per fondere uniformemente il primo movimento con il secondo movimento. Per impostare i due ingressi TransitionMode e TransitionParameter appropriatamente, il SMC_CornerDistance viene utilizzato il blocco funzione.
