Interruzione dei movimenti
Interruzione dei movimenti su un asse
Movimenti ad asse singolo, come mc_move Absolute
, può essere interrotto in qualsiasi momento da altri movimenti. Può trattarsi di un movimento verso una posizione diversa o di una variazione della velocità massima, dell'accelerazione o dello strappo con lo stesso tipo di movimento e nella stessa posizione. L'interruzione è implementata in modo tale che non vi sia alcun salto di velocità. Per tutti i tipi di rampa quadratica, inoltre, non vi è alcun
In casi specifici, un'inversione dell'asse è inevitabile a causa del movimento interrotto:
Se la nuova posizione bersaglio di un
MC_MoveAbsolute
esiste prima della fine della distanza di decelerazione correnteSe per il movimento interrotto viene utilizzata una decelerazione massima inferiore e/o uno strappo massimo inferiore, che a sua volta estende la distanza di decelerazione oltre la posizione target
Se
SMC_MoveContinuousAbsolute
oSMC_MoveContinuousRelative
viene utilizzato con unEndVelocity
che non può essere raggiunto dallo stato attuale dell'asse senza inversione
Quando la rampa è di tipo sin² e quadratico (liscio) vengono utilizzati, durante l'interruzione può verificarsi un'inversione anche se non sembra necessaria. (Cioè, anche se i motivi sopra elencati non sono applicabili. Vedi le spiegazioni di seguito.) Quindi la nuova posizione bersaglio potrebbe essere superata, sebbene non si trovi prima della vecchia posizione bersaglio. Ciò può accadere anche se la decelerazione massima e lo strappo massimo non vengono modificati (o addirittura aumentati) e la velocità finale non viene modificata rispetto al movimento interrotto. In questo caso
Per i tipi di rampe trapezoidali e quadratiche, non vi è mai alcun superamento.
Per il peccato² tipo di rampa, non si verifica alcun superamento quando la nuova posizione target e i valori limite per l'accelerazione e la decelerazione sono uguali ai valori precedenti.
In tutti gli altri casi, potrebbe verificarsi un eccesso di viaggio con peccato² e quadratico (liscio) tipi di rampa.
Spiegazione per peccato² tipo di rampa: Il movimento interrotto inizia con una nuova rampa di velocità sin², il che significa che l'accelerazione parte da 0 e aumenta o diminuisce gradualmente. Se l'asse ha un'accelerazione diversa da 0 al momento dell'interruzione, l'accelerazione salta a 0 all'inizio della rampa di velocità sin². Ciò può portare a un eccesso di velocità perché aumentare o diminuire l'accelerazione
Spiegazione per quadratico (levigato) tipo di rampa: La stessa spiegazione vale per sin², ma per il cretino invece che per l'accelerazione.
Nota sull'override
Sulla base delle spiegazioni precedenti, utilizzando MC_SetOverride
con il peccato² e quadratico (levigato) il tipo di rampa non è raccomandato
Interruzione durante la fase di decelerazione
Movimenti ad asse singolo, ad es MC_MoveAbsolute
, può essere interrotto in qualsiasi momento da altri movimenti. Questo può essere un movimento in un'altra posizione o un cambiamento di velocità o accelerazione. In sostanza, l'interruzione del movimento è attuata da un altro in modo tale che non vi sia alcun salto di velocità. Per tutti i tipi di rampa (tranne trapezoidale), non c'è nemmeno un salto nell'accelerazione. Quando la rampa digita peccato² e quadratico (liscio) vengono utilizzati, durante l'interruzione può verificarsi un'inversione e all'inizio non sembra necessario (vedi spiegazione). Quindi la nuova posizione di destinazione viene superata, sebbene non si trovi prima della vecchia posizione di destinazione. Ciò può verificarsi nelle seguenti situazioni:
Se viene impostato un valore di decelerazione massimo inferiore per il movimento di annullamento rispetto a prima
In questo caso, la distanza di decelerazione disponibile per la nuova posizione di destinazione è forse troppo breve (per tutti i tipi di rampa).
Di conseguenza, per quadratico e quadratico (liscio) tipi di rampa quando è impostato un valore massimo inferiore per lo strappo
Tuttavia, se questi valori massimi rimangono invariati (o aumentano), si applicano le seguenti regole:
Per trapezoidale e quadratico tipi di rampa, non c'è mai alcuno spostamento eccessivo.
Per il peccato² tipo di rampa, se la nuova posizione di destinazione ei valori limite per l'accelerazione e la decelerazione sono uguali ai vecchi valori, non si ha il superamento della corsa.
In tutti gli altri casi, potrebbe esserci un viaggio eccessivo peccato² e quadratico (liscio) tipi di rampa.
Commenti sul superamento della posizione di destinazione (tipo di rampa: sin²)
Quando viene avviato il movimento ad asse singolo, viene calcolato per primo il profilo di movimento. Ciò significa che il calcolo delle fasi, in cui il movimento è accelerato, funziona a velocità costante o decelera. Per il peccato² tipo di rampa, sulla fase di accelerazione/decelerazione viene posata una curva sin². La curva sin² ha la proprietà di avere l'accelerazione uguale a zero prima e dopo, consentendo quindi un passaggio costante ad altre fasi.
Un comportamento speciale si verifica quando un movimento viene interrotto durante una curva sin². Se l'accelerazione corrente non è uguale a zero, non è possibile avviare una curva sin² perché è necessario iniziare con l'accelerazione 0.
Poiché il profilo della curva sin² garantisce all'utente una curva di accelerazione costante, il generatore di traiettoria riduce quindi il valore di accelerazione a zero. Utilizza l'ingresso jerk del blocco funzione. Se questo valore è zero, verrà utilizzato il valore di jerk impostato nella configurazione del controller (fRampJerk).
Il grafico seguente mostra il comportamento all'interruzione: I segnali di posizione, velocità, accelerazione e da Execute
del blocco interrotto sono mostrati dall'alto verso il basso. A partire dal bordo di salita di Execute
, l'accelerazione viene ridotta linearmente a zero, prima che venga collegato un nuovo profilo sin² (fase tra i segni di graduazione verticali).

Suggerimento
Se la selezione del valore di jerk è troppo bassa rispetto all'accelerazione, allora questa fase può essere troppo lunga e il blocco può portare a una corsa apparentemente incontrollata. Il valore di jerk deve essere selezionato in modo tale che la decelerazione dell'accelerazione richieda solo pochi millisecondi (ad esempio con un'accelerazione massima di 10.000 u/s2 e uno scatto di 1.000.000 di u/s3, questa fase richiede al massimo 10 ms).

È stato avviato un movimento dalla posizione 0 alla posizione 1 con un valore di velocità specifico di 1 u/s e un valore di accelerazione 10 u/s2. Poco prima di raggiungere la posizione di destinazione quando la decelerazione è già stata impostata, un nuovo comando di movimento si interrompe con una nuova posizione di destinazione di 1,01.
A causa della fase di decelerazione dell'accelerazione subito dopo l'inizio del secondo movimento, l'asse percorre una distanza che significa che l'asse deve viaggiare oltre il target e quindi deve essere restituito.