Valori effettivi, valori impostati e tempo morto
Questa pagina risponde alla domanda su quando i valori effettivi e i valori impostati vengono ricevuti e inviati e in che modo sono correlati al tempo morto. Per semplicità, ci concentriamo sulla posizione, ma lo stesso vale per altri valori come la velocità o la coppia. Ci concentriamo anche su EtherCAT. Il comportamento è simile per altri bus di campo. (Nota che assumiamo la configurazione predefinita e consigliata FrameAtTaskStart = TRUE
.)
Quando vengono ricevuti i valori effettivi?
The actual position (<DriveA>.fActPosition
) is received at the beginning of the current bus task cycle. It is the actual position of the drive at the time of the previous EtherCAT SYNC event.
Nel ciclo di attività del bus i, viene ricevuto il frame EtherCAT inviato nel precedente ciclo di attività del bus i-1. Questo frame contiene la posizione effettiva che è stata bloccata dall'unità all'evento SYNC

Quando vengono inviati i valori impostati?
I valori impostati calcolati nel ciclo di attività del bus corrente i vengono inviati all'unità nel seguente ciclo di attività del bus i+1 e applicati dall'unità all'evento SYNC i+1. Vedere il diagramma riportato sopra.
Cos'è il tempo morto, come viene stimato e come viene utilizzato?
Come regola generale, il tempo morto è importante ogni volta che è necessario eseguire un'azione esattamente quando l'azionamento raggiunge una posizione. Il tempo morto è importante anche per determinare con precisione la posizione del motore in un determinato momento. Gli esempi includono l'applicazione della colla ad alta velocità o l'esecuzione di una sonda tattile nel PLC con ingressi digitali ad alta precisione collegati al
Definizione del tempo morto
Il tempo morto è il tempo impiegato dall'azionamento per raggiungere effettivamente la posizione impostata inviata dal PLC. Ciò significa che è l'intervallo di tempo fActPosition
e il fSetPosition
, all'inizio del ciclo di attività del bus corrente. Il tempo morto può essere configurato nell'editor generale dell'unità (Scheda: Generale) o utilizzando il Parametro MC_WRITE blocco funzionale con il numero di parametro 1070 (fSetActTimeLagCycles
).
Il tempo necessario per inviare la posizione impostata all'azionamento
Il tempo necessario al controller dell'azionamento per raggiungere la posizione impostata
Il tempo necessario per ricevere la posizione effettiva dal convertitore
Stima del tempo morto
Il tempo morto può essere stimato utilizzando SMC_EstimateDeadtime blocco funzionale. L'azionamento deve essere spostato a velocità costante e deve essere utilizzata la mediana o la media di diverse misurazioni del tempo morto
In alternativa, il tempo morto può essere stimato utilizzando l'editor di tracce. Per ulteriori informazioni, vedere quanto segue: Determinazione dei tempi morti del sistema
Utilizzo del tempo morto
Il tempo morto viene utilizzato nelle seguenti funzionalità. Se utilizzate una di queste funzioni e avete bisogno di un'elevata precisione, assicuratevi di determinare e configurare il tempo morto.
Quando si passa dalla modalità controller alla modalità controller
SMC_position
Per ulteriori informazioni, vedere quanto segue: Casi d'uso standard
In modalità controller
SMC_velocity
per calcolare la posizione impostata a partire dalla posizione effettiva e dalla velocità impostataIn modalità controller
SMC_torque
per calcolare la posizione impostata partendo dalla posizione effettiva e dalla velocità effettivaSe la supervisione del ritardo di posizione del software è attivata
Nel
SMC_GetTravelTime
blocco funzionale dell'inputValueSource
ha il valoreMC_SOURCE.ACT
Nel
SMC_DigitalCamSwitch_HighPrecision
blocco funzionale dell'inputValueSource
ha il valoreMC_SOURCE.ACT
Nel
SMC_ETC_InterpolateAxisPosition
blocco funzionale (sonda tattile basata su PLC)