Valores reales, valores establecidos y tiempo muerto
Esta página responde a la pregunta de cuándo se reciben y envían los valores reales y establecidos, y cómo se relacionan con el tiempo muerto. En aras de la simplicidad, nos centramos en la posición, pero lo mismo se aplica a otros valores como la velocidad o el par. También nos centramos en EtherCAT. El comportamiento es similar en otros buses de campo. (Tenga en cuenta que asumimos la configuración predeterminada y recomendada FrameAtTaskStart = TRUE
.)
¿Cuándo se reciben los valores reales?
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.
En el ciclo de tareas de bus i, se recibe la trama EtherCAT que se envió en el ciclo de tareas de bus i-1 anterior. Este marco contiene la posición real que la unidad bloqueó en el evento SYNC

¿Cuándo se envían los valores establecidos?
Los valores establecidos que se calculan en el ciclo de tareas del bus actual i se envían a la unidad en el siguiente ciclo de tareas del bus i+1 y la unidad los aplica en el evento SYNC i+1. Consulta el diagrama de arriba
¿Qué es el tiempo muerto, cómo se estima y cómo se usa?
Como regla general, el tiempo muerto es importante siempre que sea necesario realizar una acción exactamente cuando la unidad llega a una posición. El tiempo muerto también es importante para determinar con exactitud la posición de conducción en un momento dado. Por ejemplo, aplicar pegamento a alta velocidad o realizar una sonda táctil en el PLC con entradas digitales de alta precisión conectadas al PLC.
Definición del tiempo muerto
El tiempo muerto es el tiempo que tarda el variador en alcanzar realmente la posición establecida enviada por el PLC. Eso significa que es el lapso de tiempo entre fActPosition
y el fSetPosition
, al principio del ciclo de tareas actual del bus. El tiempo muerto se puede configurar en el editor general de la unidad (Pestaña: General) o mediante el Parámetro MC_Write bloque de función con el número de parámetro 1070 (fSetActTimeLagCycles
).
El tiempo que se tarda en enviar la posición establecida a la unidad
El tiempo que necesita el controlador de la unidad para alcanzar la posición establecida
El tiempo que se tarda en recibir la posición real de la unidad
Estimación del tiempo muerto
El tiempo muerto se puede estimar utilizando el SMC_EstimateDeadtime bloque de funciones. La unidad debe moverse a una velocidad constante y debe usarse la mediana o el promedio de varias mediciones de tiempo muerto
Alternativamente, el tiempo muerto se puede estimar utilizando el editor de rastreo. Para obtener más información, consulte lo siguiente: Determinación del tiempo muerto del sistema
Uso del tiempo muerto
El tiempo muerto se utiliza en la siguiente funcionalidad. Si utiliza alguna de estas funciones y necesita una alta precisión, asegúrese de determinar y configurar el tiempo muerto.
Al cambiar el modo controlador al modo controlador
SMC_position
Para obtener más información, consulte lo siguiente: Casos de uso estándar
En modo controlador
SMC_velocity
para calcular la posición establecida a partir de la posición real y la velocidad establecidaEn modo controlador
SMC_torque
para calcular la posición establecida a partir de la posición real y la velocidad realSi la supervisión del retraso de posición del software está activada
En el
SMC_GetTravelTime
bloque de funciones de la entradaValueSource
tiene el valorMC_SOURCE.ACT
En el
SMC_DigitalCamSwitch_HighPrecision
bloque de función de la entradaValueSource
tiene el valorMC_SOURCE.ACT
En el
SMC_ETC_InterpolateAxisPosition
bloque de funciones (sonda táctil basada en PLC)