Sei sulla pagina 1di 10

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 Utiliza un búfer no conectado para establecer
en caché. Utiliza una conexión y la conexión está almacenada en caché 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
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) CIP No
CIP con ID de origen
DH+ Sí
CIP genérico Su opción (2)
Lectura o escritura de transferencia en bloques Sí

2
(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 Entonces puede almacenar en caché


y firmware
11.x o anterior • Mensajes de transferencia en bloques para un máximo de hasta
16 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 Son habilitados al mismo tiempo (el mismo Cada instrucción MSG utiliza 1 conexión y un
caché y sin conexión grande escán) 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 Son habilitados al mismo tiempo (el mismo Cada instrucción MSG utiliza 1 conexión y un
conexión grande escán) 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
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 Una instrucción MSG solamente puede acceder a aquellos tags que estén en la carpeta Controller
dentro del alcance del controlador. Tags (alcance del controlador).
3. Si su mensaje es para un dispositivo que utiliza Si su mensaje es para un dispositivo que utiliza enteros de 16 bits, por ejemplo un controlador
enteros de PLC-5 o un SLC 500, y transfiere enteros (y no reales), utilice un búfer de INT en el mensaje y DINT
16 bits, utilice un búfer de INT en el mensaje y DINT en todo el proyecto.
en todo Esto incrementará la eficiencia de su proyecto, ya que los controladores Logix5000 son más
el proyecto. eficientes y utilizan menos memoria cuando operan con enteros de 32 bits (DINT).
Vea la página 16.
4. Almacene en caché los mensajes Almacene en caché la conexión de aquellas instrucciones MSG que se ejecuten con más frecuencia
conectados que se ejecuten con más (hasta alcanzar el número máximo de instrucciones que le permita la revisión de su controlador).
frecuencia. 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 Si usted habilita más de 16 mensajes a la vez, algunas instrucciones MSG pueden sufrir retrasos a
vez, utilice alguna estrategia de la hora de entrar en la cola. Para garantizar la ejecución de cada mensaje, escoja una de las
administración. 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 El controlador puede tener entre 10… 40 búferes no conectados. El número predeterminado es
conectados y no almacenados en caché 10.
inferior al número de búferes no conectados. • 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
la pauta 5.
• Para aumentar el número de búferes no conectados, vea la página 13.

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
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
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
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
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
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
Datos en el SoftLogix A

Datos en el SoftLogix B

10

Potrebbero piacerti anche