Tolleranze per la precisione del percorso
È possibile impostare tolleranze per la precisione del percorso per i gruppi di assi. In caso di movimento imprevisto di un sistema di coordinate dinamico, queste tolleranze consentono a un gruppo di assi di recuperare il ritardo con questo sistema di coordinate invece di fermarsi con errore SMC_AXIS_GROUP_MAX_AXIS_LAG_EXCEEDED
, SMC_AXIS_GROUP_MAX_POSITION_LAG_EXCEEDED
, O SMC_AXIS_GROUP_MAX_ORIENTATION_LAG_EXCEEDED
.
Panoramica
Perché le tolleranze sono necessarie per la precisione del percorso? Idealmente, il gruppo di assi dovrebbe seguire esattamente il percorso. Tuttavia, se viene utilizzato un sistema di coordinate dinamico (ad esempio, un oggetto su un nastro o una tavola rotante, oppure un sistema di coordinate specificato da un altro gruppo di assi), in alcuni casi non è possibile seguire il percorso.
Esempio: un robot deve posizionare un pezzo su un nastro trasportatore. Il nastro si muove a velocità costante, ma appena prima che il robot raggiunga la posizione in cui posizionare il pezzo, il nastro accelera inaspettatamente. In questa situazione la traiettoria per posizionare il pezzo è già stata calcolata, ma presupponendo che il nastro continui a muoversi a velocità costante. Pertanto, il movimento rimanente potrebbe ora portare a una violazione dell'accelerazione massima di uno degli assi del robot.
In situazioni come questa, le tolleranze sono importanti. Consentono al gruppo di assi di deviare dal percorso entro i limiti specificati e di raggiungere nuovamente il sistema di coordinate.
La precisione del percorso è controllata da un filtro. Il filtro riceve la traiettoria pianificata (q_ref
) e le ultime posizioni target calcolate (q_set
) come input. L'output del filtro sono le posizioni target (q_set
), che vengono trasferiti alle unità. Se q_ref
viola uno dei limiti dell'asse, il filtro abbandona il percorso e segue la traiettoria pianificata il più fedelmente possibile senza violare un limite dell'asse. Finché il ritardo tra q_set
E q_ref
rientra nelle tolleranze, non viene emesso alcun errore.

Le tolleranze per la precisione del percorso sono costituite da diversi valori:
Lag massimo del TCP in unità tecniche (valore predefinito:
1 u
)Errore massimo di orientamento del TCP in gradi angolari (valore predefinito:
1 deg
)Ritardo massimo consentito di ciascun asse in unità tecniche dell'asse (valore predefinito: infinito)
Effetto sui blocchi funzione amministrativi
I valori di posizione, velocità, accelerazione e jerk restituiti da SMC_GroupReadSetPosition
, SMC_GroupReadSetVelocity
, SMC_GroupReadSetAcceleration
, E SMC_GroupReadSetJerk
i blocchi funzione vengono calcolati in base alla traiettoria pianificata (q_ref
). Pertanto non contengono il contributo del filtro.
D'altro canto, i valori attuali di posizione, velocità e jerk, che vengono restituiti dal file MC_GroupReadActualPosition
, MC_GroupReadActualVelocity
, E MC_GroupReadActualAcceleration
blocchi funzione – vengono calcolati in base alla posizione effettiva degli azionamenti del gruppo di assi. Contengono quindi anche il contributo del filtro.
Le dinamiche del percorso restituite da SMC_GroupReadPathDynamics
con Source = MC_SOURCE.SET
si basa sulla traiettoria pianificata (q_ref
) e quindi non viene influenzato dal filtro. (Per altri valori di Source
ingresso, il contributo del filtro è incluso)
I trigger si riferiscono sempre alla traiettoria pianificata (q_ref
). L'ora restituita da MC_GroupReadTrigger
è il momento in cui la traiettoria pianificata raggiunge il trigger. Quando il filtro è attivo (q_ref<>q_set
), il gruppo di assi normalmente non raggiunge esattamente la posizione e/o il momento del trigger.
Nota: si segnala un movimento Done
solo quando sia la traiettoria pianificata (q_ref
) è arrivato alla fine del movimento e il filtro non è (o non è più) attivo (ovvero è stato eliminato un possibile ritardo). Quindi la posizione impostata (q_set
) corrisponde alla posizione target del movimento.
Impostazione delle tolleranze e monitoraggio della deviazione del percorso
Le tolleranze possono essere impostate utilizzando il SMC_GroupSetPathTolerance blocco funzione.
Lo stato del filtro e il ritardo attuale tra la traiettoria pianificata q_ref
e i valori impostati q_set
del gruppo di assi può essere monitorato con InSync
, PositionLag
, E OrientationLag
uscite di MC_GroupReadStatus. InSync = TRUE
significa che q_ref = q_set
e che il filtro non è attivo. InSync = FALSE
significa che q_ref<>q_set
e che il filtro sia attivo.