Skip to main content

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

_sm_img_dead_time.png

¿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 muerto es la suma de las siguientes veces:
  • 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 establecida

  • En modo controlador SMC_torque para calcular la posición establecida a partir de la posición real y la velocidad real

  • Si la supervisión del retraso de posición del software está activada

  • En el SMC_GetTravelTime bloque de funciones de la entrada ValueSource tiene el valor MC_SOURCE.ACT

  • En el SMC_DigitalCamSwitch_HighPrecision bloque de función de la entrada ValueSource tiene el valor MC_SOURCE.ACT

  • En el SMC_ETC_InterpolateAxisPosition bloque de funciones (sonda táctil basada en PLC)