MENSAJERIA RSLOGIX5000
-
Upload
diego-andres-ojeda -
Category
Documents
-
view
352 -
download
0
Transcript of 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
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
(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
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
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