Explicación General

Arquitecturas posibles

Se trata de una redundancia del tipo ‘Hot Standby’. Éste término hace referencia a un sistema de dos CPUs, una de ellas como Unidad Primaria y la otra como Unidad de Respaldo. El sistema mantiene sincronizada la memoria de ambas CPU mediante una red de alta velocidad, de manera que toda la información necesaria se encuentra replicada en las dos CPUs. Esta rápida basculación garantiza mantener el control en caso de fallo de un componente crítico.

Nota sobre la Documentación para la redundancia 'Hot Standby', gama RX3i PACSystems:
https://emerson-mas.my.site.com/communities/en_US/Documentation/PACSystems-Hot-Standby-CPU-Redundancy-Users-Manual

Cuando queremos crear una configuración redundante con los controladores Emerson, tenemos dos opciones:

  1. Sistemas de PACSystems Rx3i montados en bastidor (CPE330)
    Requieren módulos Redundancy Memory Xchange (RMX) en cada bastidor.
    Los sistemas de redundancia montados en bastidor utilizan un par de módulos RMX para proporcionar una ruta para transferir datos entre las dos CPU redundantes.
            

Imagen 01. Ejemplo redundancia CPE330 con esclavos Profinet en anillo

  1. Sistemas PACSystems Rx3i  Rackless (CPE400 o CPL410)
    No utilizan módulos RMX, sino que utilizan sus propios puertos LAN3 integrados para admitir los enlaces de comunicaciones de redundancia necesarios entre el primario y el secundario. LAN3 es un enlace Ethernet punto a punto dedicado y seguro, que no admite ningún equipo adicional.
            

Imagen 02. Ejemplo redundancia CPE4xx con esclavos Profinet en anillo


Tarjetas RMX128 de intercambio de memoria

Para crear una redundancia 'Hot Standby' en las CPE330 se añaden los módulos RMX (Redundancy Memory Exchange) al Rack con la CPE330.

Estos módulos permiten compartir datos de forma determinista entre controladores en una red de fibra óptica de alta velocidad. Los módulos RMX proporcionan una ruta para transferir datos entre las dos CPU del sistema redundante. 

IC695RMX128: Módulo de 128MB de intercambio de memoria redundante.

Puede ser utilizado para crear un sistema de control redundante o para compartir una zona de memoria con más CPUs, conocido como “Reflective memory”.


Una ruta de comunicaciones completa consta de un módulo RMX en la unidad primaria, un RMX en la unidad secundaria y dos cables de fibra óptica de alta velocidad que los conectan entre sí. Debe tratarse de un enlace de dos nodos, no se permite que otros nodos de memoria reflectante formen parte de esta red de fibra óptica. 

Se recomienda instalar dos links de redundancia por CPU (en total cuatro módulos RMX) para formar un anillo redundante entre las unidades RMX.

Nota sobre las tarjeta RMX (redundancia en CPE330):

Al desconectar los cables de fibra que unen las unidades RMX de la CPU activa y la de respaldo,  se genera un error 'No Redundancy Links; Primary took control'.  
La única manera de acusar este fallo es reiniciando los módulos (apagar y encender).


Transfer List

En la configuración de la CPU redundante, tenemos una pestaña para configurar la “Transfer List·. Se trata de la lista de transferencia, donde se indica qué zona de memoria van a estar compartiendo las CPUs.

Esto es así tanto en el caso de transferencias gestionadas por tarjetas RMX (redundancia de la CPE330) como de las transferencias por red dedicada LAN3 (redundancia de las CPE4xx).             

La transfer list define los rangos de referencias de memoria que se transferirán desde la unidad Activa a la unidad de Respaldo. Es por ello que tenemos una lista de entrada y una de salida. 

La unidad activa escribe en la de respaldo la output transfer list, y lee la input transfer list. Cuando hay un cambio de rol, la de respaldo pasa a ser la activa y la lista de transferencia se sigue ejecutando según lo parametrizado

En concreto, vemos que se puede definir desde la configuración hardware de la CPU los rangos de variables que forman parte de la Transfer List.  



Nota: Esto es válido especialmente para variables internas, que no estén mapeadas en una memoria externa de un esclavo profinet (por ejemplo)  


Nota2: por simplicidad, recomendamos que ambas transfer list (input y output) coincidan en sus longitudes. Así podemos considerar que la memoria compartida de ambos autómatas será idéntica en ambos sentidos.


Imagen 03. Configuración Transfer List en una CPE330


Para más información sobre la gestión de las transfer list, se puede consultar el apartado 6.4 “Scan Synchronization” del “PACSystems Hot Standby CPU Redundancy User's Manual GFK-2308


IP redundante

Cada CPU tiene al menos una interfaz Ethernet asignada a una dirección IP propia.
Ésta es utilizada para acceder directamente al controlador. 

En un esquema redundante, existe además la posibilidad de activar una tercera dirección IP, que puede asignarse a las interfaces Ethernet de la Unidad Primaria y de la Unidad de Respaldo, a modo de IP común.


Imagen 04. Configuración IP Redundante en LAN2 de una CPE330

En caso de estar activa, todo el tráfico de datos de la IP redundante es gestionado por la CPU del par redundado que esté activa en ese momento.


Periferias Profinet en arquitecturas de CPU redundante

Un sistema de redundancia de CPU Hot Standby puede contener dispositivos de E/S PROFINET controlados de forma redundante y simplex (no controlados de forma redundante). Un dispositivo de E/S simplex siempre está controlado por una de las dos unidades (ya sea primaria o secundaria) y siempre será controlado por esa unidad independientemente de si esa unidad está activa o de respaldo.

El controlador PACSystems PROFINET es compatible con el protocolo de redundancia de medios PROFINET (MRP). El controlador PROFINET se puede utilizar como Media Redundancy Manager o Media Redundancy Client en un anillo redundante.

Nota:
En este tipo de montajes con profinet, las periferias EPXPNS101 son las que soportan redundancia, mientras que las EPXPNS001 son para comunicación no-redundante.


Puesta en marcha

Una vez configurado el hardware en la CPU Primaria, hay que volcar la configuración a la CPU de Respaldo, clicando con botón derecho sobre la CPU primaria y seleccionando la opción del menú de redundancia.

Hay dos opciones de volcado:

  • Mirror to secondary hardware configuration
    En este caso, replicamos en la unidad de respaldo la configuración de hardware.
    Esto suele hacerse  si modificamos algún parámetro de la configuración de la CPU;

  • Mirror redundant Profinet IO Devices”.
    En este caso, replicamos en la unidad de respaldo la configuración de la red Profinet.
    Es la opción a utilizar si modificamos alguna característica en la red, como sería añadir un esclavo, o editar la configuración de una tarjeta de salidas analógicas.



Caso práctico redundancia CPE4xx

El siguiente caso práctico ilustra la configuración y programación de un par de CPE400 en esquema de redundancia. Se trata de unos equipos “rackless” especialmente diseñados para este tipo de aplicaciones, aprovechando sus mútliples puertos de conexión y alta capacidad de procesamiento y memoria


Imagen 05. Frontal CPE4xx

En los modelos CPE4xx vemos que la CPU presenta 3 redes(LAN1, LAN2 y LAN3).

El puerto de red LAN1 se utiliza para comunicaciones Ethernet, el puerto LAN2 para Ethernet o PROFINET, el puerto LAN3 para la redundancia y el puerto situado en la cara inferior de la CPU, para el uso de PACEdge (
para más información sobre el PACEdge consultar su landing page:https://emerson-mas.my.site.com/communities/en_US/Article/PACEdge-Landing-Page)

El primer paso es crear un proyecto con un target del tipo PacSystems RX3i Rackless. 
Para esto hay varias maneras, en la imagen se muestra como se hace partiendo de un proyecto vacío.

1.JPG

Imagen 06.Creación nuevo target en un proyecto vacío

Una vez creado el target, clicamos sobre él para resaltarlo y nos aparece en la ventana Inspector una lista de propiedades configurables. Configuramos la IP del que será nuestro PLC Primario, buscamos la propiedad Enable Redundancy y la ponemos a True. 

En este momento se crea automáticamente una configuración de Hardware Secundario

        


Imagen 07. Llamada al Inspector desde el target del proyecto, para activar la redundancia

Clicando dos veces sobre el apartado “Ethernet” del PLC primario, accedemos a su configuración y asignamos la IP que descargaremos al PLC, así como la IP redundante que compartirán ambos PLC, de cara por ejemplo al SCADA

.4.JPG

Imagen 08. Config. del interfaz Ethernet del target, en particular los parámetros de redundancia

Al activar la redundancia, se nos habilita una pestaña nueva en la configuración del controlador: Transfer List. Esta es la tabla de direcciones de memoria que compartirán ambos PLCs a través de la LAN dedicada (LAN3). Añadimos todas aquellas que queramos compartir (en el ejemplo de %R1 a %R11). 

2-55.JPG

Imagen 09. Vista de la Transfer List del PLC redundante

Una vez configurada Tranfer List  e IP redundante, mediante la opción “Mirror  to secondary” accesible de la forma que se ve en la imagen, podemos replicar al secundario dicha configuración.


5.JPG

Imagen 10. Replicación de la configuración al par redundado

Entramos en la configuración del hardware secundario, comprobamos que la IP redundante y la transfer list se ha  copiado bien y configuramos el PLC Secundario (IP, etc.).

Imagen 11. Vista de la configuración transmitida al par redundado


Añadimos todos aquellos esclavos Profinet que tengamos en nuestro sistema en el Hardware primario como haríamos en una arquitectura no redundante.

5.JPG

Imagen 12. Añadir esclavos Profinet al Controlador

Se ha de tener en cuenta que en el momento de la instalación es posible que no todos los esclavos soporten la redundancia. Con cada nuevo Firmware aumenta la lista, pero siempre hay que comprobarlo por si acaso como se muestra en la imagen:

5.JPG

Imagen 13. Validación de un esclavo Profinet respecto al hecho de tener controladores redundantes


Una vez configurados los esclavos, con click derecho ? Mirror Profinet 
volcamos en el secundario la configuración de E/S del primario.

Imagen 14. Replicación de la configuración, de la red de esclavos Profinet, al par redundado


Desarrollamos la lógica que ejecutarán ambos PLC al mismo tiempo. 

En nuestro caso para el ejemplo hemos optado por hacer una señal cosenosoidal a partir de unos grados que aumentan cada segundo. Además, hemos añadido un bloque que nos permite visualizar el estado de la redundancia y hacer switch de manera manual.

11.JPG

Imagen 15. Lógica de control programada en el ejemplo,
incluyendo señales de diagnóstico y control de la redundancia

Dentro de la lógica que ejecutan los controladores, cuando creemos variables que haya que compartir entre ellos, deberemos almacenarlas en memoria de manera consecuente con la “Transfer list” * y asegurarnos de poner las siguientes propiedades a True:

Imagen 16. Detalle de la transferencia, para cada nueva variable que se cree en el programa de control.


Finalmente, descargamos la configuración seleccionando la opción de escribir en ambos controladores.

Imagen 17. Descarga del programa a ambos PLC redundantes.



Caso práctico redundancia CPE330 


A grandes rasgos, los pasos a seguir son los mismos que en el caso anterior de las CPE400, con la única diferencia del tipo de CPU elegida, el uso de tarjetas de intercambio de memoria RMX y el conexionado de los cables de red.

Imagen 15. Frontal CPE330

Este modelo CPE330 tiene dos redes (LAN1 y LAN2), la LAN2 dispone de dos puertos, en este ejemplo he configurado la red 2 con una IP redundante. 


Por lo tanto, la LAN2 tendrá dos direcciones IP, una dirección única y una dirección compartida con la CPU de secundario, y dicha IP solo será visible mediante “PING” en la CPU activa.

Imagen 19. Árbol del proyecto en Machine Edition

Como puede verse en la imagen, en este caso se monta un sistema redundante basado Rx3i dem montaje en bastidor. Se trata de dos  CPE330 con sus respectivas tarjetas RMX en cada bastidor (Hay que tener en cuenta que si bien en este ejemplo se utiliza una única RMX por cada CPU, el montaje recomendado es con 2 tarjetas RMX por CPU)


Como en el caso de las CPE400, con la transfer list configuramos la cantidad de memoria a compartir entre ambas CPU. 







Nota: En la siguiente nota se explica que el LED de forzado podría no encenderse en la CPU aunque sí que esté forzado el bit:

https://emerson-mas.my.site.com/communities/en_US/Article/The-I-O-Force-Status-in-a-Redundancy-CPU-KB14249-en-US


Imagen 20. Seleccionar opción redundancia.

Para crear el proyecto partimos de una plantilla Rx3i, y por defecto nos aparece una CPE330.

A continuación, teniendo seleccionada la CPE330 habilitamos la redundancia desde la ventana Inspector con la opción disponible para ello, nos aparecerá una segunda CPE330 con el texto [Secondary].


El siguiente paso a realizar sería configurar las CPUs, y para ello en el ejemplo, se ha configurado la red 2 como redundante.