Para comunicar dos controladores de la gama Logix5000 existen dos opciones: Tags
producidos/consumidos [PDF] o Mensajes. Los primeros simplemente se configuran
de forma que no es necesario la intervencin de instrucciones de programacin para su difusin: lo que escribamos en un tag productor de un controlador se ver reflejado en los tags consumidores del controlador o controladores consumidores. Los mensajes, en cambio, precisan de la instruccin MSG para su difusin.
En esta entrada har un resumen de mis pruebas con los tags productores/consumidores. Como no dispongo fsicamente de ningn controlador CompactLogix o ControlLogix con el que trastear, he preparado dos mquinas virtuales con un SoftLogix en cada una, tal y como hice en esta entrada. Las ejecutar simultneamente en mi ordenador a la vez que la mquina virtual donde tengo el software de programacin, lo cual supone tres mquinas virtuales simultneas sobre mi porttil, que, aparte de calentarse ms que una sartn, ha aguantado estoicamente.
Teniendo ya todo el sistema de pruebas preparado, lo primero ser comprobar que los controladores se ven entre s. Para ello ejecuto el RSLinx en cualquier mquina virtual y con la herramienta RSWho observo que aparecen mis dos controladores SoftLogix:
Ahora tengo que preparar dos proyectos (ver esta entrada), uno para el contolador productor (SoftLogix A) y otro para el controlador consumidor (SoftLogix B). No voy a hacer ninguna programacin, simplemente voy a configurar un tag productor, cambiar su valor en la monitorizacin de tags y comprobar que el valor se transmite al tag consumidor. En el SoftLogix A (productor) creo una variable llamada PRODUCIDA del tipo DINT (obligatoriamente debe estar en el mbito del controlador) y voy a sus propiedades.
Selecciono el tipo Produced y pulso sobre Conection...
Como solo voy a tener un consumidor, dejo la opcin Max Consumers a 1 y acepto.
En el controlador productor no hay que configurar nada ms, as que voy al proyecto del SoftLogix B (consumidor) y creo otra variable del mismo tipo que la anterior (tambin en al mbito del controlador) y la llamo CONSUMIDA.
A este tag consumidor hay que especificarle de dnde tiene que obtener su valor, para ello en el rbol de proyecto, bajo la tarjeta ethernet virtual del SoftLogix B (consumidor), debemos introducir la configuracin del SoftLogix A (productor), que quedar as:
Tenemos que tener la precaucin de especificar la direccin IP del controlador productor.
Para evitar un error de duplicidad de control en la tarjeta de entradas/salidas digitales del SoftLogix A la he deshabilitado.
Ahora vamos a las propiedades del tag CONSUMIDA, selecionamos el tipo Consumed, y pulsamos sobre el botn Connection...
Como producor (producer) seleccionamos en el men desplegable el controlador productor (en mi caso SL_Productor). En la casilla Remote Data hay que especificar el nombre de la variable producida en el controlador productor, en mi caso PRODUCIDA.
El RPI (Requested Packet Interval) es el tiempo de actualizacin de la variable consumida. Deberemos ser cuidadosos con este tiempo ya que un RPI bajo implica mayor consumo en los recursos de nuestra red de comunicaciones. Ademas este valor debe ser mayor que el tiempo de actualizacin de la red.
Y listo, ya solo nos queda comprobar que nuestra configuracin funciona. Me pongo on-line con los dos SoftLogix y, monitorizando los tags, compruebo que un valor introducido en el tag PRODUCIDA del controlador productor se refleja en el tag CONSUMIDAdel controlador consumidor.
Cuando configuramos tags productores o consumidores podemos seleccionar conexiones Unicast, que, segn tengo entendido, exigen menos recursos de la red. Son conexiones punto a punto (point to point) entre un controlador productor y un controlador consumidor (no se permiten conexiones mltiples). Segn leo en la edicin en ingls del manual (en la versin en espaol no figura) el controlador productor debe permitir conexiones Unicast, pero es el controlador consumidor quien decide si la conexin es unicasto multicast. Sin embargo, en mis pruebas, si configuro el consumidor para permitir las conexiones Unicast, el productor tambin tengo que configurarlo como Unicast, si no, no funciona.