Restricciones
Versiones de los sistemas de ejecución
El proyecto de arranque debe poder cargarse y ejecutarse en ambos controladores. Una función del complemento CODESYS Redundancy Configuration permite actualizar sin interrupciones el sistema de tiempo de ejecución con diferentes versiones de dichos sistemas.
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.
Exactamente una tarea (la tarea de redundancia) está sincronizada con la funcionalidad del CODESYS Redundancy Configuration complemento. Son posibles otras tareas y aplicaciones, pero estas se ejecutan de forma asincrónica en los PLC.
Además, el sistema de redundancia que afecta a la ejecución de tareas y a la comunicación debe cumplir ciertos requisitos en tiempo real: el tiempo de ejecución de los mensajes (solicitud y respuesta) de la comunicación redundante debe situarse dentro de un intervalo de tiempo previamente definido, y debe tenerse en cuenta la fluctuación de las tareas. El enlace de comunicación utilizado para este fin debe destinarse exclusivamente a la comunicación redundante.
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 las aplicaciones y las tareas
Cambiar el nombre de la aplicación o tarea redundante es un cambio significativo y no es posible durante modo redundante. Tras dicho cambio, ambos PLC deben reconfigurarse. Como se describe en el Cómo empezar sección (en «Configuración del sistema de redundancia»).
Valor del tiempo de espera
El valor de tiempo de espera que especifique 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.
Importante
En situaciones especiales, puede ocurrir que ambos controladores del sistema de control redundante 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 = 0se aplica y, a continuación, el segundo mando cambia al modo independiente.Si
AutoSyncEnabled = 1se aplica, entonces el segundo mando pasa inicialmente al modo autónomo. Una vez que este controlador haya recibido el mensaje retrasado, pasa 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.
En el Configuración de redundancia editor, en el Configuración de redundancia pestaña, en General En la pestaña, usted define el tiempo de espera que cambia el PLC activo al modo autónomo.
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 IEC
Las diferencias en los tiempos de ejecución entre ambos PLC pueden provocar «saltos» (valores de salida desviados) al cambiar de PLC. Para evitarlo, los valores de los temporizadores IEC se congelan durante la ejecución de una tarea IEC. Por lo tanto, las llamadas desde los temporizadores IEC (por ejemplo, la función TON) durante la ejecución de una tarea IEC siempre dan lugar a los mismos valores de temporizador, aunque el tiempo físico siga transcurriendo. Por lo tanto, las implementaciones deben esperar inactivas (posiblemente en un bucle). Esto se debe a que los valores del temporizador IEC no cambian en el escaneo de la tarea 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
Para obtener más información, consulte lo siguiente: Tareas y comunicación en tiempo real
Map on Existing
Mapeo a variables existentes
No se recomienda el método de mapeo de E/S «Mapear según lo existente» (mapear E/S a variables existentes) cuando se utiliza el CODESYS Redundancy Configuration complemento. 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 respectivos en las áreas de datos que no están sujetas al control de redundancia. Cada PLC abre sus archivos de forma independiente. No se admite un identificador compartido. Un identificador de archivo creado en un PLC debe no se utilizará para acceder a los archivos del otro PLC o a los archivos del PC local.
Al compilar, el sistema comprueba que manejan las 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 Configuration no se pueden combinar. Las exigencias de tiempo de SoftMotion no puede cumplirse cuando se utiliza la redundancia.