You are on page 1of 10

1

1. Tema: Mensajera para la comunicacin RSLogix 5000


Los mensajes se utilizan para realizar comunicaciones controladas por la lgica de
programacin. Por ejemplo enviar mensajes de aviso, y as no saturar las comunicaciones. Sin
embargo existe una serie de limitaciones como que no puede haber ms de 16 mensajes
simultneos.
Se explican las conexiones de cach y los bferes 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
Adems, para enviar un mensaje puede usarse cualquier tipo de estructura predefinida,
definida por el mdulo o definida por el usuario.
Este diagrama muestra cmo el controlador procesa las instrucciones MSG.




Descripcin

1
El controlador escanea la instruccin MSG y su condicin de entrada del rengln 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 escn 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 instruccin MSG Entonces la instruccin MSG
No utiliza una conexin o la conexin no fue previamente almacenada
en cach. Utiliza una conexin y la conexin est almacenada en cach
Utiliza un bfer no conectado para establecer
comunicacin con el dispositivo de destino.
No utiliza un bfer no conectado.
4
Se establece comunicacin con el dispositivo de destino.

2

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 instruccin intentar entrar en ella cada vez que se escanee la
instruccin, tal como muestra el siguiente esquema:

Descripcin:
1
El controlador escanea la instruccin MSG.
La condicin de entrada del rengln de la instruccin MSG
es verdadero. El bit EN est establecido.
La instruccin MSG intenta entrar en la cola pero hay 16 posiciones de regulador. Si las 16 estn llenas y se ejecuta un 17 mensaje,
el mensaje se habilita, pero
el bit EW permanece borrado.
2 & 3 El controlador escanea la instruccin MSG.
La condicin de entrada del rengln de la instruccin
MSG es falso. El bit EN permanece establecido.
La instruccin MSG intenta pasar a travs del regulador, pero todava no hay posiciones abiertas.
El bit EW permanece borrado.
4
El controlador escanea la instruccin MSG.
La instruccin MSG intenta entrar en la cola. Esta vez la posicin del regulador est abierta y el mensaje puede pasar a la cola
de mensajes. El bit EW est establecido.

Lista de cach: Dependiendo de cmo configure una instruccin MSG, puede que sta utilice
una conexin para enviar o recibir datos.
Este tipo de mensaje Y este mtodo de comunicacin Utiliza una conexin
Tabla de datos CIP de lectura o escritura

Su opcin
(1)

PLC-2, PLC-3, PLC-5 o SLC (todos los tipos) CIP
CIP con ID de origen
No
DH+ S
CIP genrico
Su opcin
(2)

Lectura o escritura de transferencia en bloques

S
3

(1) Los mensajes de lectura o escritura de la tabla de datos CIP pueden ser conectados o
desconectados. Pero para la mayora de las aplicaciones, recomendamos que deje conectados
los mensajes de lectura o escritura de la tabla de datos CIP.
(2) Los mensajes genricos CIP pueden estar conectados o desconectados. Pero para la
mayora de aplicaciones recomendamos dejar los mensajes genricos CIP no conectados, a
menos que desee usar la opcin Large Connection.
Si una instruccin MSG utiliza una conexin, usted puede escoger entre dejar la conexin
abierta (cach) o cerrar la conexin cuando el mensaje se termina de transmitir.
Si usted Entonces
Almacena en cach la conexin La conexin permanecer abierta despus de que la instruccin MSG haya terminado. Esto optimiza el
tiempo de ejecucin. Abrir una conexin cada vez que se ejecuta el mensaje supone prolongar el tiempo
de ejecucin.
No almacena en cach la conexin La conexin se cerrar despus de que la instruccin MSG haya terminado. De ese modo, la
conexin quedar libre para otros usuarios.
El controlador tiene estos lmites en cuanto al nmero de conexiones que usted puede
almacenar en cach:
Si usted tiene esta revisin de software
y firmware
Entonces puede almacenar en cach
11.x o anterior Mensajes de transferencia en bloques para un mximo de hasta
16 conexiones
Otros tipos de mensajes para un mximo de hasta 16 conexiones
12.x o posterior Hasta 32 conexiones

Si varios mensajes van a un mismo dispositivo, estos mensajes pueden compartir una
conexin.
Si las instrucciones MSG son para Y Entonces
Dispositivos diferentes

Cada instruccin MSG utiliza 1 conexin.
El mismo dispositivo y almacenado en
cach y sin conexin grande
Son habilitados al mismo tiempo (el mismo
escn)
Cada instruccin MSG utiliza 1 conexin y un
bfer en cach.
No son habilitadas al mismo tiempo Todas las instrucciones MSG utilizan 1 conexin y
un bfer en cach. Comparten la conexin y el
bfer.
El mismo dispositivo y almacenado en cach y
conexin grande
Son habilitados al mismo tiempo (el mismo
escn)
Cada instruccin MSG utiliza 1 conexin y un
bfer en cach.
No son habilitadas al mismo tiempo Todas las instrucciones MSG utilizan 1 conexin y
un bfer en cach. Comparten la conexin y el
bfer.
Bferes no conectados: Para establecer una conexin o procesar mensajes no conectados, el
controlador utiliza un bfer no conectado.

Trmino Definicin
Bfer no conectado Asignacin de memoria que el controlador utiliza para procesar comunicaciones no conectadas. El controlador
establece una comunicacin no conectada cuando:
Establece una conexin con un dispositivo, incluido un mdulo de E/S.
Ejecuta una instruccin MSG que no utiliza una conexin.
4

El controlador puede tener entre 1040 bferes no conectados.
El nmero predeterminado es 10.
Para aumentar el nmero de bferes no conectados, ejecute una instruccin MSG que reconfigure el nmero de
bferes no conectados.
Cada bfer no conectado utiliza 1.2 KB de memoria.
Si todos los bferes no conectados estn siendo utilizados en el momento en que una instruccin abandona la cola
de mensajes, dicha instruccin generar un error y los datos no sern transferidos.

Si una instruccin MSG utiliza una conexin, entonces emplea un bfer no conectado cuando
se ejecuta por primera vez para establecer una conexin. Si usted configura la instruccin de
forma que la conexin se almacene en cach, una vez establecida la conexin la instruccin ya
no precisar un bfer no conectado.
Pautas: A la hora de planificar y programar sus instrucciones MSG, aplique las siguientes
pautas:

Pauta Detalles
1. Para cada instruccin MSG, cree un tag de control. Cada instruccin 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 instruccin MSG solamente puede acceder a aquellos tags que estn en la carpeta Controller
Tags (alcance del controlador).
3. Si su mensaje es para un dispositivo que utiliza
enteros de
16 bits, utilice un bfer de INT en el mensaje y DINT
en todo
el 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 bfer de INT en el mensaje y DINT
en todo el proyecto.
Esto incrementar la eficiencia de su proyecto, ya que los controladores Logix5000 son ms
eficientes y utilizan menos memoria cuando operan con enteros de 32 bits (DINT).
Vea la pgina 16.
4. Almacene en cach los mensajes
conectados que se ejecuten con ms
frecuencia.
Almacene en cach la conexin de aquellas instrucciones MSG que se ejecuten con ms frecuencia
(hasta alcanzar el nmero mximo de instrucciones que le permita la revisin de su controlador).
Esto optimizar el tiempo de ejecucin, ya que el controlador no tendr una conexin
abierta cada vez que el mensaje se ejecute.
5. Si desea habilitar ms de 16 mensajes a la
vez, utilice alguna estrategia de
administracin.
Si usted habilita ms de 16 mensajes a la vez, algunas instrucciones MSG pueden sufrir retrasos a
la hora de entrar en la cola. Para garantizar la ejecucin 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 mltiples dispositivos.
Programe la lgica para que coordine la ejecucin de los mensajes.
6. Mantenga un nmero de mensajes no
conectados y no almacenados en cach
inferior al nmero de bferes no conectados.
El controlador puede tener entre 10 40 bferes no conectados. El nmero predeterminado es
10.
Si todos los bferes no conectados estn siendo utilizados cuando una instruccin abandona la
cola de mensajes,
dicha instruccin generar un error y no transferir los datos.
Usted puede aumentar el nmero de bferes no conectados (40 como mximo), pero debe
continuar siguiendo
la pauta 5.
Para aumentar el nmero de bferes no conectados, vea la pgina 13.


2. Ejemplo prctico de pasos para establecer una comunicacin entre dos mquinas
virtuales por medio de mensajera de RSLogix 5000
El control de la mensajera la har el primer controlador (SoftLogix A). En la segunda mquina
virtual (SoftLogix B) se crea dos tags; en el primero, MENSAJE_DATOS_RECIBIDOS, estarn los
datos que se escribirn desde el SoftLogix A. En el segundo, MENSAJE_DATOS_A_ENVIAR,
donde se encontraran los datos que sern ledos desde el SoftLogix A. En el SoftLogix B no se
5

har ninguna programacin, simplemente monitorizar los valores de ese par de tags.


El objetivo es que desde el SoftLogix A se podr leer y escribir a travs 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 mdulos correspondientes para que quede como
sigue:


Para cada comunicacin 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. Tambin 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
6

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



La programacin consiste en lanzar la instruccin MSG con la orden de lectura o escritura y si
no est el mensaje activo. Cuando finaliza la comunicacin se borra la orden respectiva.



En cada instruccin MSG deberemos asignarle el tag de tipo MESSAGE correspondiente.
Para configurar el mensaje se pulsa sobre el botn de los tres puntos que aparece en la
instruccin.

7


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




En la pestaa Communication hay que especificar el controlador de donde se leern los datos.
Para ello se pulsa sobre el botn Browse y selecciona el controlador remoto.

8




En la instruccin MSG de escritura se debe hacer una configuracin similar, configurar como
tipo de mensaje CIP Data Table Write, especificar el tag donde estn los datos a transmitir, en
nmero de dato y el nombre de la variable en el controlador remoto donde se almacenarn.

9


En la pestaa Communication tambin se debe seleccionar el controlador remoto.



Para probar que el servicio de mensajera 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.

10


Datos en el SoftLogix A

Datos en el SoftLogix B

You might also like