MENSAJERIA RSLOGIX5000

11
1. Tema: Mensajería para la comunicación RSLogix 5000 Los mensajes se utilizan para realizar comunicaciones controladas por la lógica de programación. Por ejemplo enviar mensajes de aviso, y así no saturar las comunicaciones. Sin embargo existe una serie de limitaciones como que no puede haber más de 16 mensajes simultáneos. Se explican las conexiones de caché y los búferes a fin de que pueda programar correctamente el controlador. Tipos de datos compatibles Se aceptan los siguientes tipos de datos al enviar mensajes CIP: SINT, INT, DINT, LINT, REAL Además, para enviar un mensaje puede usarse cualquier tipo de estructura predefinida, definida por el módulo o definida por el usuario. Este diagrama muestra cómo el controlador procesa las instrucciones MSG. Descripción 1 El controlador escanea la instrucción MSG y su condición de entrada del renglón pasa a ser “verdadero”. El mensaje pasará a un regulador, el cual tiene 16 posiciones. Si el regulador está lleno, el mensaje permanecerá habilitado, pero se mantendrá hasta otro escán de 1

Transcript of MENSAJERIA RSLOGIX5000

Page 1: MENSAJERIA RSLOGIX5000

1. Tema: Mensajería para la comunicación RSLogix 5000

Los mensajes se utilizan para realizar comunicaciones controladas por la lógica de programación. Por ejemplo enviar mensajes de aviso, y así no saturar las comunicaciones. Sin embargo existe  una serie de limitaciones como que no puede haber más de 16 mensajes simultáneos.

Se explican las conexiones de caché y los búferes a fin de que pueda programar correctamente el controlador.

Tipos de datos compatibles

Se aceptan los siguientes tipos de datos al enviar mensajes CIP: SINT, INT, DINT, LINT, REAL

Además, para enviar un mensaje puede usarse cualquier tipo de estructura predefinida, definida por el módulo o definida por el usuario.

Este diagrama muestra cómo el controlador procesa las instrucciones MSG.

Descripción

1 El controlador escanea la instrucción MSG y su condición de entrada del renglón pasa a ser “verdadero”. El mensaje pasará a un regulador, el cual tiene 16 posiciones. Si el regulador está lleno, el mensaje permanecerá habilitado, pero se mantendrá hasta otro escán de controlador.

2 El segmento de tiempo de procesamiento interno del sistema se ejecuta y el mensaje pasa del regulador a la cola de mensajes.

3 Si la instrucción MSG Entonces la instrucción MSG

No utiliza una conexión o la conexión no fue previamente almacenada en caché. Utiliza una conexión y la conexión está almacenada en caché

Utiliza un búfer no conectado para establecer comunicación con el dispositivo de destino.No utiliza un búfer no conectado.

4 Se establece comunicación con el dispositivo de destino.

1

Page 2: MENSAJERIA RSLOGIX5000

Cola de mensajes

La cola de mensajes puede contener hasta 48 instrucciones MSG, incluyendo las que usted configure como lectura de transferencia en bloques o escritura de transferencia en bloques. Cuando la cola esté llena, una instrucción intentará entrar en ella cada vez que se escanee la instrucción, tal como muestra el siguiente esquema:

Descripción:

1 El controlador escanea la instrucción MSG.La condición de entrada del renglón de la instrucción MSG es “verdadero”. El bit EN está establecido.La instrucción MSG intenta entrar en la cola pero hay 16 posiciones de regulador. Si las 16 están llenas y se ejecuta un 17° mensaje, el mensaje se habilita, pero ……el bit EW permanece borrado.

2 & 3 El controlador escanea la instrucción MSG.La condición de entrada del renglón de la instrucción MSG es “falso”. El bit EN permanece establecido.La instrucción MSG intenta pasar a través del regulador, pero todavía no hay posiciones abiertas.El bit EW permanece borrado.

4 El controlador escanea la instrucción MSG.La instrucción MSG intenta entrar en la cola. Esta vez la posición del regulador está abierta y el mensaje puede pasar a la cola de mensajes. El bit EW está establecido.

Lista de caché: Dependiendo de cómo configure una instrucción MSG, puede que ésta utilice una conexión para enviar o recibir datos.

Este tipo de mensaje Y este método de comunicación Utiliza una conexión

Tabla de datos CIP de lectura o escritura Su opción (1)

PLC-2, PLC-3, PLC-5 o SLC (todos los tipos) CIPCIP con ID de origen

No

DH+ Sí

CIP genérico Su opción (2)

Lectura o escritura de transferencia en bloques Sí

2

Page 3: MENSAJERIA RSLOGIX5000

(1) Los mensajes de lectura o escritura de la tabla de datos CIP pueden ser conectados o desconectados. Pero para la mayoría de las aplicaciones, recomendamos que deje conectados los mensajes de lectura o escritura de la tabla de datos CIP.

(2) Los mensajes genéricos CIP pueden estar conectados o desconectados. Pero para la mayoría de aplicaciones recomendamos dejar los mensajes genéricos CIP no conectados, a menos que desee usar la opción Large Connection.

Si una instrucción MSG utiliza una conexión, usted puede escoger entre dejar la conexión abierta (caché) o cerrar la conexión cuando el mensaje se termina de transmitir.

Si usted Entonces

Almacena en caché la conexión La conexión permanecerá abierta después de que la instrucción MSG haya terminado. Esto optimiza el tiempo de ejecución. Abrir una conexión cada vez que se ejecuta el mensaje supone prolongar el tiempo de ejecución.

No almacena en caché la conexión La conexión se cerrará después de que la instrucción MSG haya terminado. De ese modo, la conexión quedará libre para otros usuarios.

El controlador tiene estos límites en cuanto al número de conexiones que usted puede almacenar en caché:

Si usted tiene esta revisión de software y firmware

Entonces puede almacenar en caché

11.x o anterior • Mensajes de transferencia en bloques para un máximo de hasta16 conexiones

• Otros tipos de mensajes para un máximo de hasta 16 conexiones

12.x o posterior Hasta 32 conexiones

Si varios mensajes van a un mismo dispositivo, estos mensajes pueden compartir una conexión.

Si las instrucciones MSG son para Y Entonces

Dispositivos diferentes Cada instrucción MSG utiliza 1 conexión.

El mismo dispositivo y almacenado en caché y sin conexión grande

Son habilitados al mismo tiempo (el mismo escán)

Cada instrucción MSG utiliza 1 conexión y un búfer en caché.

No son habilitadas al mismo tiempo Todas las instrucciones MSG utilizan 1 conexión y un búfer en caché. Comparten la conexión y el búfer.

El mismo dispositivo y almacenado en caché y conexión grande

Son habilitados al mismo tiempo (el mismo escán)

Cada instrucción MSG utiliza 1 conexión y un búfer en caché.

No son habilitadas al mismo tiempo Todas las instrucciones MSG utilizan 1 conexión y un búfer en caché. Comparten la conexión y el búfer.

Búferes no conectados: Para establecer una conexión o procesar mensajes no conectados, el controlador utiliza un búfer no conectado.

Término Definición

Búfer no conectado Asignación de memoria que el controlador utiliza para procesar comunicaciones no conectadas. El controlador establece una comunicación no conectada cuando:• Establece una conexión con un dispositivo, incluido un módulo de E/S.• Ejecuta una instrucción MSG que no utiliza una conexión.

3

Page 4: MENSAJERIA RSLOGIX5000

El controlador puede tener entre 10…40 búferes no conectados.• El número predeterminado es 10.• Para aumentar el número de búferes no conectados, ejecute una instrucción MSG que reconfigure el número de

búferes no conectados.• Cada búfer no conectado utiliza 1.2 KB de memoria.• Si todos los búferes no conectados están siendo utilizados en el momento en que una instrucción abandona la cola

de mensajes, dicha instrucción generará un error y los datos no serán transferidos.

Si una instrucción MSG utiliza una conexión, entonces emplea un búfer no conectado cuando se ejecuta por primera vez para establecer una conexión. Si usted configura la instrucción de forma que la conexión se almacene en caché, una vez establecida la conexión la instrucción ya no precisará un búfer no conectado.

Pautas: A la hora de planificar y programar sus instrucciones MSG, aplique las siguientes pautas:

Pauta Detalles

1. Para cada instrucción MSG, cree un tag de control. Cada instrucción MSG necesita su propio tag de control.• Tipo de datos = MENSAJE• Alcance = controlador• El tag no puede formar parte de una matriz ni pertenecer a un tipo de datos definido por el usuario.

2. Mantenga los datos de origen y/o destino dentro del alcance del controlador.

Una instrucción MSG solamente puede acceder a aquellos tags que estén en la carpeta Controller Tags (alcance del controlador).

3. Si su mensaje es para un dispositivo que utiliza enteros de

16 bits, utilice un búfer de INT en el mensaje y DINT en todoel proyecto.

Si su mensaje es para un dispositivo que utiliza enteros de 16 bits, por ejemplo un controlador PLC-5 o un SLC 500, y transfiere enteros (y no reales), utilice un búfer de INT en el mensaje y DINT en todo el proyecto.Esto incrementará la eficiencia de su proyecto, ya que los controladores Logix5000 son más eficientes y utilizan menos memoria cuando operan con enteros de 32 bits (DINT).Vea la página 1 6 .

4. Almacene en caché los mensajes conectados que se ejecuten con más frecuencia.

Almacene en caché la conexión de aquellas instrucciones MSG que se ejecuten con más frecuencia (hasta alcanzar el número máximo de instrucciones que le permita la revisión de su controlador).Esto optimizará el tiempo de ejecución, ya que el controlador no tendrá una conexión abierta cada vez que el mensaje se ejecute.

5. Si desea habilitar más de 16 mensajes a la vez, utilice alguna estrategia de administración.

Si usted habilita más de 16 mensajes a la vez, algunas instrucciones MSG pueden sufrir retrasos a la hora de entrar en la cola. Para garantizar la ejecución de cada mensaje, escoja una de las siguientes opciones:• Habilite cada mensaje en secuencia.• Habilite los mensajes en grupos.• Programe un mensaje para que se comunique con múltiples dispositivos.• Programe la lógica para que coordine la ejecución de los mensajes.

6. Mantenga un número de mensajes no conectados y no almacenados en caché inferior al número de búferes no conectados.

El controlador puede tener entre 10… 40 búferes no conectados. El número predeterminado es 10.• Si todos los búferes no conectados están siendo utilizados cuando una instrucción abandona la cola de mensajes,

dicha instrucción generará un error y no transferirá los datos.• Usted puede aumentar el número de búferes no conectados (40 como máximo), pero debe continuar siguiendo

2. Ejemplo práctico de pasos para establecer una comunicación entre dos máquinas virtuales por medio de mensajería de RSLogix 5000

El control de la mensajería la hará el primer controlador (SoftLogix A). En la segunda máquina virtual (SoftLogix B) se crea dos tags; en el primero, MENSAJE_DATOS_RECIBIDOS, estarán los datos que se escribirán desde el SoftLogix A. En el segundo, MENSAJE_DATOS_A_ENVIAR, donde se encontraran los datos que serán leídos desde el SoftLogix A. En el SoftLogix B no se

4

Page 5: MENSAJERIA RSLOGIX5000

hará ninguna programación, simplemente monitorizar los valores de ese par de tags.

El objetivo es que desde el SoftLogix A se podrá leer y escribir a través de mensajes en los tags del SoftLogix B. En el proyecto del SoftLogix A se debe especificar la existencia en la red Ethernet del SoftLogix B. Para ello, en el árbol de proyecto, en el apartado I/O Configuration, bajo la tarjeta Ethernet hay que incluir los módulos correspondientes para que quede como sigue:

Para cada comunicación por mensajes se debe definir un tag de tipo MESSAGE. Para usar un mensaje tanto para escribir y otro para leer, se crea los tags MENSAJE_ESCRITURA_SLB y MENSAJE_LECTURA_SLB respectivamente. También se necesita tags que tengan el mismo formato que los tags del SoftLogix B en los que se lee y escribe, así de ese modo se crea DATOS_A_ESCRIBIR_SLB y DATOS_LEIDOS_SLB. Finalmente se

5

Page 6: MENSAJERIA RSLOGIX5000

coloca un par de booleanos para dar las órdenes de escritura y lectura: ORDEN_ESCRITURA_SLB y ORDEN_LECTURA_SLB.

La programación consiste en lanzar la instrucción MSG con la orden de lectura o escritura y si no está el mensaje activo. Cuando finaliza la comunicación se borra la orden respectiva.

En cada instrucción MSG deberemos asignarle el tag de tipo MESSAGE correspondiente.

Para configurar el mensaje se pulsa sobre el botón de los tres puntos que aparece en la instrucción.

6

Page 7: MENSAJERIA RSLOGIX5000

Para el mensaje de lectura, en la pestaña Configuration lo primero es determinar el tipo de mensaje. Para la lectura de otro controlador Logix debo seleccionar CIP Data Table Read. A continuación, en Source Element debe escribir el nombre de la variable del SoftLogix B que va a leer, decirle cuantos datos de la tabla se transmitirán en Number of Elements y en Destination Element poner el tag del SoftLogix A donde se recogerán los datos.

En la pestaña Communication hay que especificar el controlador de donde se leerán los datos. Para ello se pulsa sobre el botón Browse y selecciona el controlador remoto.

7

Page 8: MENSAJERIA RSLOGIX5000

En la instrucción MSG de escritura se debe hacer una configuración similar, configurar como tipo de mensaje CIP Data Table Write, especificar el tag donde están los datos a transmitir, en número de dato y el nombre de la variable en el controlador remoto donde se almacenarán.

8

Page 9: MENSAJERIA RSLOGIX5000

En la pestaña Communication también se debe seleccionar el controlador remoto.

Para probar que el servicio de mensajería funciona se debe cargar los proyectos en los dos SoftLogix y seleccionar on line. En los tags DATOS_A_ESCRIBIR_SLB del SoftLogix A y MENSAJE_DATOS_A_ENVIAR del SoftLogix B asignar valores al azar y activando los bits de órdenes de lectura y escritura en el SoftLogix A comprobar que los datos se transmiten correctamente.

9