Restricciones
CODESYS versión
La misma versión del sistema de tiempo de ejecución debe instalarse en ambos dispositivos porque el proyecto de arranque se transfiere entre los controladores y, por lo tanto, debe poder cargarse en el segundo controlador.
Tarea y comunicación en tiempo real
Solo se permiten las tareas cíclicas. Tareas de tipo Evento, Estado, o Rueda libre no se puede sincronizar.
El CODESYS Redundancy La funcionalidad sincroniza exactamente una tarea (Tarea de Redundancia). Son posibles otras tareas y aplicaciones, pero se ejecutan de forma no sincronizada en ambos PLC.
Además, el sistema de redundancia que afecta a la ejecución y comunicación de la tarea tiene que cumplir ciertos requisitos de tiempo real: El tiempo de ejecución de los mensajes (solicitud y respuesta) de la comunicación de redundancia tiene que existir dentro de un intervalo de tiempo previamente definido y el jitter de la tarea tiene que ser considerado.
La ejecución de tareas en tiempo real significa que la tarea de la aplicación que está controlada por redundancia tiene una fluctuación limitada. La comunicación en tiempo real significa que un mensaje que se envía mediante el enlace de redundancia debe ser recibido por el otro PLC dentro de un tiempo específico.
Tiempo de ejecución de la tarea
La duración de la mensajería (tiempo de solicitud y respuesta) aumenta el tiempo de ejecución de la tarea: el tiempo total de ejecución de la tarea es mayor cuando se utiliza la redundancia.
Cambiar los nombres de la aplicación y la tarea
Cambiar los nombres de la aplicación redundante o la tarea redundante es un cambio significativo y no es posible durante la operación redundante. Esto se debe a que, después de un cambio, debe reconfigurar ambos PLC como se describe en "Primeros pasos" en "Configurar el sistema de redundancia".
Valor para el tiempo de espera
El valor que especifique para el tiempo de espera debe ser mayor que la suma del tiempo de fluctuación de la tarea y el tiempo de fluctuación de comunicación máximo. Ambos tiempos son específicos del sistema. En tiempo de ejecución, cuando la inestabilidad de la tarea es alta y la transferencia del mensaje se retrasa, se produce un tiempo de espera. Mientras espera un mensaje del otro PLC, el sistema asume que el otro PLC ya no está funcionando. Como resultado, el PLC en espera y el PLC emisor cambian al modo autónomo. Eso conduce a pérdidas de sincronización ya problemas de comunicación en el bus de campo.
Sugerencia
Defina el tiempo de espera cuando el PLC activo pasa al modo autónomo en el Configuración de redundancia editor, en General pestaña del Configuración de redundancia pestaña. Además, el valor se almacena en el archivo de configuración del tiempo de ejecución (ejemplo: CODESYSControl.cfg
) con la entrada StandbyWaitTime
.
Temporizador CEI
Diferentes tiempos de ejecución en ambos PLC pueden causar "golpes" (valores de salida desviados) al cambiar de PLC. Para evitar esto, los valores del temporizador IEC se congelan durante la ejecución de una tarea IEC. Llamadas desde temporizadores IEC (ejemplo: la función TON
) al ejecutar una tarea IEC, por lo tanto, siempre conducen a los mismos valores de temporizador, incluso si el tiempo físico continúa corriendo. Por lo tanto, las implementaciones deberían esperar inactivamente (posiblemente en un bucle). Esto se debe a que los valores del temporizador IEC no cambian en la exploración de tareas actual.
Punteros, referencias e interfaces
El POINTER TO
, REFERENCE TO
, y INTERFACE
las instrucciones (y las instancias de interfaz) para expresar relaciones entre unidades de aplicación no funcionan con aplicaciones redundantes sincronizadas.
POINTER
las variables no deben declararse en áreas de datos que están controladas por redundancia. Esto se debe a que los datos controlados de forma redundante se transmiten al otro PLC durante la sincronización. Sin embargo, los punteros no son válidos en el otro PLC porque allí puede estar ubicado otro diseño de memoria.
Al compilar, la función de redundancia verifica que un puntero esté ubicado en un área controlada de forma redundante. Se muestra una advertencia para cada puntero que se encuentra allí. La verificación se puede desactivar en el archivo de descripción del dispositivo con la siguiente entrada:
<Device> <Custom> <Redundancy DisablePointerChecks="true">
EtherCAT DC
Esta extensión de redundancia está destinada más a la industria de procesos que a la automatización de fábricas. Por este motivo, no se admiten unidades EtherCAT con relojes distribuidos. Sin embargo, se admiten E/S EtherCAT.
Consulte también la sección "Tarea y comunicación en tiempo real" anterior.
"Map on Existing": Mapeo a variables existentes
No se recomienda el uso del método de mapeo de E/S «Mapear según lo existente» (mapear E/S a variables existentes) con CODESYS Redundancy. Este tipo de variables no se almacenan en las áreas de datos de entrada o salida, sino donde se declaran. Como resultado, no se sincronizan durante la operación.
Variables de red
No se deben usar variables de red con acceso de escritura porque se envían varios telegramas de escritura al mismo tiempo. Se permiten las variables de red con acceso de lectura
Acceso a archivos
No se debe usar el acceso a archivos porque diferentes datos de archivos pueden causar "golpes" en los diferentes PLC cuando se cambian.
Si utiliza archivos, debe declarar identificadores de archivos en las áreas de datos que no están sujetas a control de redundancia. Los archivos deben abrirse por separado en ambos PLC. El identificador de archivo de otro PLC no debe usarse para acceder a archivos en la PC local.
Al compilar, CODESYS Redundancy controles que manejan variables (RTS_IEC_HANDLE
, CAA.HANDLE
) están ubicados en un área controlada de forma redundante. Se emite una advertencia para cada variable de identificador que se detecta en dicha área.
Gestión de usuarios de seguridad en línea
Si se utiliza una administración de usuarios de seguridad en línea, debe configurar ambos PLC con el mismo nombre de usuario y contraseña. De lo contrario, servicios en línea como write variable
o online change
no se transmiten al PLC en espera.
SoftMotion
CODESYS SoftMotion y CODESYS Redundancy no se puede combinar Los requisitos de tiempo de SoftMotion no poder cumplirse cuando se utiliza la redundancia.