Restricciones
CODESYS versión
El proyecto de arranque debe poder cargarse en ambos controladores. La actualización perfecta del sistema de ejecución para las diferentes versiones en tiempo de ejecución de los controladores es posible gracias CODESYS Redundancy función.
Tareas 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 de las tareas y a la comunicación debe cumplir con ciertas exigencias en tiempo real: el tiempo de ejecución de los mensajes (solicitud y respuesta) de la comunicación de redundancia debe existir dentro de un intervalo de tiempo previamente definido y debe tenerse en cuenta la fluctuación de la tarea. El enlace utilizado para este propósito debe usarse exclusivamente para
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 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 importante y no es posible durante el modo redundante. Esto se debe a que, tras un cambio, es necesario volver a configurar ambos PLC tal y como se describe en la sección «Cómo empezar», en la sección «Configuración del sistema de redundancia».
Valor del 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 máximo de fluctuación de la comunicación.
Ambas veces son específicas del sistema. Ambas funciones (tareas en tiempo real y comunicación en tiempo real) son necesarias para especificar un tiempo de espera máximo específico. En tiempo de ejecución, cuando la fluctuación de la tarea es alta y la transferencia del mensaje se retrasa, se agota el 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 pasan al modo autónomo. Esto provoca pérdidas de sincronización y 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 el 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.
Importante
En algunos casos, puede ocurrir que ambos controladores redundantes cambien inesperadamente al modo de simulación.
Causa: cuando la ejecución de la tarea de redundancia en la controladora activa se interrumpe o se retrasa significativamente, es posible que el mensaje de sincronización no llegue a la controladora en espera hasta que haya expirado el tiempo de espera.
El comportamiento resultante depende de AutoSyncEnable bandera:
Si
AutoSyncEnable = 0, a continuación, el segundo mando cambia al modo autónomo.Si
AutoSyncEnabled = 1, a continuación, el segundo mando pasa inicialmente al modo autónomo. Cuando este controlador haya recibido el mensaje de retraso, pasará al modo de simulación, seguido de un intento de conexión adicional
Solución:
Para evitar este problema, se debe asignar una prioridad alta a la tarea de redundancia para minimizar el riesgo de interrupciones o retrasos.
Alternativa: habilite la tarea de vigilancia con un valor de tiempo de espera inferior al tiempo de espera de redundancia.
Alternativa: Sincronice los controladores manualmente.
Temporizador CEI
diferentes tiempos de ejecución en ambos PLC pueden provocar «saltos» (valores de salida desviados) al cambiar de PLC. Para evitarlo, 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 de IEC, por lo tanto, siempre conducen a los mismos valores de temporizador, incluso si el tiempo físico sigue corriendo. Por lo tanto, las implementaciones deberían esperar de forma inactiva (posiblemente en bucle). Esto se debe a que los valores del temporizador IEC no cambian en el análisis 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 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 es posible que allí se encuentre otro diseño de memoria
Al compilar, la función de redundancia comprueba que un puntero esté ubicado en un área controlada de forma redundante. Se muestra una advertencia por cada puntero que se encuentre 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á pensada más para la industria de procesos que para la automatización de fábricas. Por este motivo, no se admiten las unidades EtherCAT con relojes distribuidos. Sin embargo, se admiten las E/S EtherCAT
Consulte también la sección «Tareas y comunicación en tiempo real» más arriba.
«Mapear según lo existente»: 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 utilizar el acceso a los archivos porque los diferentes datos de los archivos pueden provocar «golpes» en los diferentes PLC cuando se cambian.
Si usa archivos, debe declarar los identificadores de archivos en las áreas de datos que no están sujetas al control de redundancia. Los archivos deben abrirse por separado en ambos PLC. No se debe usar el identificador de archivos de otro PLC para acceder a los archivos del PC local
Al compilar, CODESYS Redundancy comprobaciones que manejan variables (RTS_IEC_HANDLE, CAA.HANDLE) están ubicados en un área controlada de forma redundante. Se emite una advertencia por cada variable de identificador que se detecta en dicha área.
Administració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 pueden combinar. Las exigencias de tiempo de SoftMotion no puede cumplirse cuando se utiliza la redundancia.