Top Banner
Manual de programación Mensajes de controladores Logix5000 Números de catálogo 1756-L1, 1756-L55, 1756-L61, 1756-L62, 1756-L63, 1769-L31, 1769-L32C, 1769-L32E, 1769-L35CR, 1769-L35E, 1789-L60, 1794-L34, PowerFlex 700S/SE
36

1756-pm012_-es-p

Dec 29, 2015

Download

Documents

Wilson Barco M
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1756-pm012_-es-p

Manual de programación

Mensajes de controladores Logix5000Números de catálogo 1756-L1, 1756-L55, 1756-L61, 1756-L62, 1756-L63, 1769-L31, 1769-L32C, 1769-L32E, 1769-L35CR, 1769-L35E, 1789-L60, 1794-L34, PowerFlex 700S/SE

Page 2: 1756-pm012_-es-p

Información importante para el usuarioLas características de funcionamiento de los equipos de estado sólido son diferentes de las de los equipos electromecánicos. El documento Safety Guidelines for the Application, Installation and Maintenance of Solid State Controls (publicación SGI-1.1 disponible en la oficina local de ventas de Rockwell Automation o en línea en http://www.rockwellautomation.com/literature/) describe algunas diferencias importantes entre los equipos de estado sólido y los dispositivos electromecánicos cableados. Debido a esta diferencia, y también a la gran diversidad de usos de los equipos de estado sólido, todas las personas responsables de aplicar este equipo deben asegurarse de la idoneidad de cada una de las aplicaciones concebidas para estos equipos.

En ningún caso Rockwell Automation, Inc. será responsable ni asumirá ninguna obligación por daños indirectos o consecuentes que resulten del uso o la aplicación de estos equipos.

Los ejemplos y diagramas de este manual se incluyen únicamente con fines ilustrativos. Debido a las numerosas variables y requisitos propios de cualquier instalación específica, Rockwell Automation, Inc. no puede asumir responsabilidad ni obligación alguna por el uso real basado en dichos ejemplos y diagramas.

Rockwell Automation, Inc. no asume ninguna obligación de patente con respecto al uso de la información, los circuitos, los equipos o el software descritos en este manual.

Se prohíbe la reproducción total o parcial del contenido de este manual sin la autorización escrita de Rockwell Automation, Inc.

Este manual contiene notas de seguridad en cada circunstancia en que se estimen necesarias.

Allen-Bradley, Rockwell Automation, Logix5000, RSLogix 5000, ControlLogix, GuardLogix, CompactLogix, PowerFlex, SoftLogix, Rockwell Software, PLC-2, PLC-3, PLC-5, SLC, SLC 500 y TechConnect son marcas comerciales de Rockwell Automation, Inc.

Las marcas comerciales no pertenecientes a Rockwell Automation son propiedad de sus respectivas empresas.

ADVERTENCIA: Identifica información sobre prácticas o circunstancias que pueden provocar una explosión en un ambiente peligroso, lo que podría causar lesiones personales o la muerte, daños materiales o pérdidas económicas.

ATENCIÓN: Identifica información sobre prácticas o circunstancias que pueden provocar lesiones personales o la muerte, daños materiales o pérdidas económicas. Los mensajes de Atención le ayudan a identificar y evitar un peligro, y a reconocer las consecuencias.

PELIGRO DE CHOQUE: Puede haber etiquetas en el exterior o en el interior del equipo (por ejemplo, en un variador o motor) para advertir sobre la posible presencia de un voltaje peligroso.

PELIGRO DE QUEMADURA: Puede haber etiquetas en el exterior o en el interior del equipo (por ejemplo, en un variador o motor) para advertir sobre superficies que podrían estar a temperaturas peligrosas.

IMPORTANTE Identifica información importante para la correcta aplicación y comprensión del producto.

Page 3: 1756-pm012_-es-p

Resumen de cambios

Este manual contiene información nueva y actualizada. Los cambios incorporados en esta revisión se marcan con barras de cambio, tal como se muestra a la derecha de este párrafo.

Información nueva y actualizada Esta tabla contiene los cambios hechos en esta revisión.

Tema Página

Se añadió información sobre el cuadro de verificación Large Connection en el segundo pie de página bajo la tabla.

11

Se añadió un nuevo renglón a la tabla que describe “Si las instrucciones MSG son para” – El nuevo renglón comienza con “El mismo dispositivo y almacenado en caché y conexión grande”.

12

Se añadió información al ejemplo dado para compartir una conexión. 12

Se cambió el Destination to Destination Element para reflejar cambios en el UI. 14

Se actualizaron las instrucciones sobre cómo establecer la ruta a un controlador remoto.

27

Se actualizó la imagen de pantalla para reflejar cambios en el UI. 29

Se cambió el Destination Tag a Destination Element y Source Tag a Source Element para reflejar los cambios en el UI.

29

Publicación de Rockwell Automation 1756-PM012D-ES-P – Noviembre 2011 3

Page 4: 1756-pm012_-es-p

Resumen de cambios

Notas:

4 Publicación de Rockwell Automation 1756-PM012D-ES-P – Noviembre 2011

Page 5: 1756-pm012_-es-p

Tabla de contenido

Prefacio Propósito de este manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7Recursos adicionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Capítulo 1Mensajes de controlador Introducción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Tipos de datos compatibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Cola de mensajes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10Lista de caché . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Búferes no conectados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Pautas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13Cómo obtener o ajustar el número de búferes no conectados . . . . . . . . . 13

Cómo obtener el número de búferes no conectados . . . . . . . . . . . . . . 14Cómo ajustar el número de búferes no conectados . . . . . . . . . . . . . . . 14

Cómo convertir entre INT y DINT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Capítulo 2Cómo administrar múltiples mensajes

Introducción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Lógica del administrador de mensajes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Inicialización de la lógica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20Reinicio de la secuencia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20Envío del primer grupo de mensajes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20Habilitación del segundo grupo de MSG. . . . . . . . . . . . . . . . . . . . . . . . 21Envío del segundo grupo de MSG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21Habilitación del siguiente grupo de MSG . . . . . . . . . . . . . . . . . . . . . . . 21Envío del siguiente grupo de mensajes . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Capítulo 3Cómo enviar un mensaje a múltiples controladores

Introducción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23Cómo efectuar la configuración de E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Cómo definir sus elementos de origen y destino . . . . . . . . . . . . . . . . . . . . . 24Cómo crear el tipo de datos MESSAGE_ CONFIGURATION . . . . . 25Cómo crear la matriz de configuración . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26Cómo obtener el tamaño de la matriz local . . . . . . . . . . . . . . . . . . . . . . . . . 28Cargue las propiedades de mensaje de un controlador. . . . . . . . . . . . . . . . 29Cómo configurar el mensaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

Paso hasta el siguiente controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Cómo reiniciar la secuencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Índice

Publicación de Rockwell Automation 1756-PM012D-ES-P – Noviembre 2011 5

Page 6: 1756-pm012_-es-p

Tabla de contenido

Notas:

6 Publicación de Rockwell Automation 1756-PM012D-ES-P – Noviembre 2011

Page 7: 1756-pm012_-es-p

Prefacio

Propósito de este manual Este manual muestra cómo programar instrucciones de mensaje (MSG) hacia y desde los controladores Logix5000. Este manual forma parte de un conjunto de manuales relacionados que describen los procedimientos comunes de programación y operación de los controladores Logix5000.

Para obtener una lista completa de los manuales de procedimientos comunes, consulte el documento Logix5000 Controllers Common Procedures Programming Manual, publicación 1756-PM001.

El término controlador Logix5000 se refiere a cualquier controlador basado en el sistema operativo Logix5000 como, por ejemplo:

• Controladores CompactLogix.• Controladores ControlLogix.• Controladores DriveLogix.• Controladores FlexLogix.• Controladores SoftLogix5800.

Recursos adicionales Los documentos que se indican a continuación incluyen información adicional sobre productos de Rockwell Automation relacionados.

Puede ver o descargar publicaciones en http://www.rockwellautomation.com/literature/. Para solicitar copias impresas de la documentación técnica, comuníquese con su distribuidor regional de Allen-Bradley o con el o representante de ventas de Rockwell Automation.

Recurso Descripción

Pautas de cableado y conexión a tierra de equipos de automatización industria, publicación 1770-4.1

Proporciona las pautas generales para instalar un sistema industrial de Rockwell Automation.

Sitio web de certificaciones de productos, http://www.ab.com Proporciona las declaraciones de conformidad, certificados y otros detalles de certificación.

Publicación de Rockwell Automation 1756-PM012D-ES-P – Noviembre 2011 7

Page 8: 1756-pm012_-es-p

Prefacio

Notas:

8 Publicación de Rockwell Automation 1756-PM012D-ES-P – Noviembre 2011

Page 9: 1756-pm012_-es-p

Capítulo 1

Mensajes de controlador

Introducción Esta sección describe cómo transferir datos entre controladores (enviar o recibir datos) ejecutando una instrucción de mensaje (MSG). 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.

Vea la página 16 para obtener más información sobre los INT y DINT.

Para obtener detalles completos sobre cómo programar una instrucción de mensaje, consulte el documento Logix5000 Controllers General Instruction Reference Manual, publicación 1756-RM003.

EJEMPLO Ejecución de una instrucción de mensaje (instrucción MSG)

Si count_send = 1 y count_msg.EN = 0 (la instrucción MSG no está habilitada todavía), entonces ejecute una instrucción MSG que envíe datos a otro controlador.

count_send

/count_msg.en

ENDNER

Tipo – No configuradoMensaje Controlcount_msg ...

MSG

Publicación de Rockwell Automation 1756-PM012D-ES-P – Noviembre 2011 9

Page 10: 1756-pm012_-es-p

Capítulo 1 Mensajes de controlador

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

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

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.

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

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.

Se establece comunicación con el dispositivo de destino.

Cola de mensajes

Búferes de salidas no conectados (10 a 40)

No

Dispositivo de destino

¿Almacenado en caché?

48 en total

1 2

4

3

Lista de caché

MSGRegulador

16

1

2

3

4

Condición de entrada del renglón

falso verdadero falso

bit .EN desactivado activado

bit .EW desactivado activado

1 2 3 4

10 Publicación de Rockwell Automation 1756-PM012D-ES-P – Noviembre 2011

Page 11: 1756-pm012_-es-p

Mensajes de controlador Capítulo 1

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

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.

Descripción

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.

& 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.

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.

1

2 3

4

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í

(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 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.

Publicación de Rockwell Automation 1756-PM012D-ES-P – Noviembre 2011 11

Page 12: 1756-pm012_-es-p

Capítulo 1 Mensajes de controlador

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

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

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

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.

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 hasta 16 conexiones

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

12.x o posterior Hasta 32 conexiones

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.

EJEMPLO Compartir una conexión.

• Si el controlador alterna entre enviar un mensaje de lectura de transferencia en bloques y un mensaje de escritura de transferencia en bloques al mismo módulo, entonces los dos mensajes juntos cuentan como una conexión. Al almacenar en caché los dos mensajes, éstos cuentan como uno en el búfer de caché.

• Si el controlador envía 10 mensajes conectados en caché al mismo módulo puente (por ej., 1756-EN2T) donde 7 utilizan una conexión estándar (la opción Large Connection desmarcada) y 3 utilizan una conexión grande, entonces los 7 mensajes de conexión estándar utilizan una conexión en caché. Los 3 mensajes de conexión grande utilizan otra conexión en caché. En total, los 10 mensajes utilizan 2 conexiones separadas en caché.

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.

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.

12 Publicación de Rockwell Automation 1756-PM012D-ES-P – Noviembre 2011

Page 13: 1756-pm012_-es-p

Mensajes de controlador Capítulo 1

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

Cómo obtener o ajustar el número de búferes no conectados

Para averiguar o cambiar el número de búferes no conectados, utilice una instrucción MSG.

• El rango de búferes no conectados es 10…40. • El número predeterminado es 10.• Cada búfer no conectado utiliza 1.1 KB de memoria.

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 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 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 16.

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

la pauta 5.• Para aumentar el número de búferes no conectados, vea la página 13.

Publicación de Rockwell Automation 1756-PM012D-ES-P – Noviembre 2011 13

Page 14: 1756-pm012_-es-p

Capítulo 1 Mensajes de controlador

Cómo obtener el número de búferes no conectados

Para averiguar el número de búferes no conectados que el controlador tiene disponibles en este momento, configure una instrucción de mensaje (MSG) de la siguiente manera:

Cómo ajustar el número de búferes no conectados

Como valor de partida, ajuste un número de búferes no conectados igual al número de mensajes no conectados y no almacenados en caché habilitados a la vez y súmele aproximadamente 5 búferes. Estos 5 búferes adicionales sirven como reserva en caso de que usted calcule mal el número de mensajes habilitados a la vez.

En esta ficha Para este ítem Escriba o seleccione

Configuration Message Type CIP Generic

Service Type Custom

Service Code 3

Class 304

Instance 1

Attribute 0

Source Element source_array siendo el tipo de datos = SINT[4]

En este elemento Introduzca

source_array[0] 1

source_array[1] 0

source_array[2] 17

source_array[3] 0

Source Length (bytes) 4 (escriba 4 SINT)

Destination Element destination_array siendo el tipo de datos = SINT[10] (deje todos los valores = 0)

destination_array[6] = número actual de búferes no conectados

Comunicación Path 1, slot_number_of_controller

14 Publicación de Rockwell Automation 1756-PM012D-ES-P – Noviembre 2011

Page 15: 1756-pm012_-es-p

Mensajes de controlador Capítulo 1

Para cambiar el número de búferes del controlador no conectados, configure una instrucción de mensaje (MSG) de la siguiente manera:

En esta ficha Para este ítem Escriba o seleccione

Configuration Tipo de mensaje CIP Generic

Service Type Custom

Service Code 4

Class 304

Instance 1

Attribute 0

Source Element source_array donde el tipo de datos = SINT[8]

En este elemento Introduzca

source_array[0] 1

source_array[1] 0

source_array[2] 17

source_array[3] 0

source_array[4] Número de búferes no conectados que usted desea.

source_array[5] 0

source_array[6] 0

source_array[7] 0

Source Length (bytes) 8 (escriba 8 SINT)

Destination Element destination_array donde el tipo de datos = SINT[6] (deje todos los valores = 0)

Comunication Path 1, slot_number_of_controller

Publicación de Rockwell Automation 1756-PM012D-ES-P – Noviembre 2011 15

Page 16: 1756-pm012_-es-p

Capítulo 1 Mensajes de controlador

Cómo convertir entre INT y DINT

En el controlador Logix5000, utilice siempre que pueda el tipo de datos DINT para los números enteros. Los controladores Logix5000 son más eficientes y utilizan menos memoria cuando operan con enteros de 32 bits (DINT).

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

EJEMPLO Cómo ajustar el número de búferes no conectados

Si S:FS = 1 (primer escán), ajuste el número de búferes no conectados del controlador.

Source_Array[0] = 1

Source_Array[1] = 0

Source_Array[2] = 17

Source_Array[3] = 0

Source_Array[4] = 12 (El número de búferes no conectados que usted desee. En este ejemplo, el número deseado son 12 búferes.)

Si UCB_Set.EN = 0 (la instrucción MSG no está habilitada todavía), entonces

La instrucción MSG establece el número de búferes no conectados = Source_Array[4].

Nombre del tag Tipo Descripción

UCB_Set MESSAGE Tag de control de la instrucción MSG.

Source_Array SINT[8] Valores de origen de la instrucción MSG, incluyendo el número de búferes no conectados que usted desee.

16 Publicación de Rockwell Automation 1756-PM012D-ES-P – Noviembre 2011

Page 17: 1756-pm012_-es-p

Mensajes de controlador Capítulo 1

búfer de INT en el mensaje y DINT en todo el proyecto. De ese modo, incrementará la eficiencia de su proyecto.

1. La instrucción de mensaje (instrucción MSG) lee enteros de 16 bits (INT) en el dispositivo y los almacena en una matriz temporal de INT.

2. Una instrucción de aritmética y lógica de archivos (instrucción FAL) convierte los INT en DINT para que puedan ser utilizados por otras instrucciones de su proyecto.

1. Una instrucción FAL convierte los DINT del controlador Logix5000 en INT.

2. La instrucción MSG escribe en el dispositivo los INT procedentes de la matriz temporal.

Lectura de enteros de 16 bits Datos del dispositivo

Búfer de INT DINT para utilizar en el proyecto

Palabra 1 INT_Buffer[0] DINT_Array[0]

Palabra 2 INT_Buffer[1] DINT_Array[1]

Palabra 3 INT_Buffer[2] DINT_Array[2]

1 2

Escritura de enteros de 16 bits DINT del proyecto Búfer de INT Datos para el dispositivo

DINT_Array[0] INT_Buffer[0] Palabra 1

DINT_Array[1] INT_Buffer[1] Palabra 2

DINT_Array[2] INT_Buffer[2] Palabra 3

1 2

EJEMPLO Lectura de valores enteros desde un controlador PLC-5

Si Condition_1 = 1 y Msg_1.EN = 0 (la instrucción MSG no está habilitada todavía), entonces

Lea 3 enteros desde el controlador PLC-5 y almacénelos en INT_Buffer (3 INT).

Si Msg_1.DN =1 (la instrucción MSG ha leído los datos), entonces:

Devuelva la instrucción FAL a su configuración original.

Publicación de Rockwell Automation 1756-PM012D-ES-P – Noviembre 2011 17

Page 18: 1756-pm012_-es-p

Capítulo 1 Mensajes de controlador

La instrucción FAL establece DINT_Array = INT_Buffer. Esto convierte los valores en enteros de 32 bits (DINT).

EJEMPLO Escritura de valores enteros en un controlador PLC-5.

Si Condition_2 = 1, entonces

Devuelva la instrucción FAL a su configuración original.

La instrucción FAL establece INT_Buffer = DINT_Array. Esto convierte los valores en enteros de 16 bits (INT).

Si Control_2.DN = 1 (la instrucción FAL ha convertido los DINT en INT)

y Msg_2.EN = 0 (la instrucción MSG no está habilitada todavía), entonces

escriba los enteros en INT_Buffer (3 INT) para el controlador PLC-5.

18 Publicación de Rockwell Automation 1756-PM012D-ES-P – Noviembre 2011

Page 19: 1756-pm012_-es-p

Capítulo 2

Cómo administrar múltiples mensajes

Introducción Usted puede utilizar la lógica de escalera para enviar grupos de instrucciones de mensaje (instrucciones MSG) en secuencia.

• Para poder ser procesada, cada instrucción MSG debe entrar en la cola de mensajes.

• La cola puede contener hasta 48 mensajes.• Si más de 16 instrucciones MSG están habilitadas simultáneamente el

regulador de mensajes evitará que algunos de los mensajes se coloquen en la cola de mensajes.

• Si eso sucede, antes de que el controlador pueda procesar el mensaje, éste deberá esperar a que haya espacio en la cola. En cada escán subsiguiente del mensaje, el controlador examinará la cola para ver si hay espacio.

La lógica del administrador de mensajes le permite controlar el número de mensajes que se habilitan cada vez y habilitar los mensajes subsiguientes conforme a una secuencia. De este modo, los mensajes entran y salen de la cola ordenadamente y no tienen que esperar a que haya espacio en ella.

Lógica del administrador de mensajes

La lógica del administrador de mensajes envía tres grupos de mensajes.• Para que el ejemplo indicado en esta sección sea más fácil de entender, cada

grupo contiene solamente dos mensajes.• En su proyecto, utilice más mensajes en cada grupo, por ejemplo cinco.• Utilice tantos grupos como sea necesario para incluir todos sus mensajes.

El tag Msg_Group controla la habilitación de cada mensaje.• Este tag utiliza el tipo de datos DINT.• Cada bit del tag corresponde a un grupo de mensajes.• Por ejemplo, Msg_Group.0 habilita e inhabilita el primer grupo de

mensajes (grupo 0).

Inicialización de la lógica

Si S:FS = 1 (primer escán), entonces inicialice los mensajes:

Msg_Group = 0, que inhabilita todos los mensajes.Msg_Group.0 =1, que habilita el primer grupo de mensajes.

Publicación de Rockwell Automation 1756-PM012D-ES-P – Noviembre 2011 19

Page 20: 1756-pm012_-es-p

Capítulo 2 Cómo administrar múltiples mensajes

Reinicio de la secuencia

Envío del primer grupo de mensajes

Habilitación del segundo grupo de MSG

Si los mensajes del grupo 2 (último grupo) se encuentran actualmente habilitados (Msg_Group.2 = 1)Y Msg_4 ha terminado o ha generado un errorY Msg_5 ha terminado o ha generado un errorEntonces reinicie la secuencia de mensajes con el primer grupo:

Msg_Group.2 = 0. Esto inhabilita el último grupo de mensajes.Msg_Group.0 = 1. Esto habilita el primer grupo de mensajes.

Si Msg_Group.0 pasa de 0 -> 1, entoncesEnvíe Msg_0.Envíe Msg_1.

Puesto que una instrucción MSG es una instrucción de transición, se ejecuta solamente cuando su condición de entrada del renglón cambia de falso a verdadero.

Si los mensajes del grupo 0 se encuentran actualmente habilitados (Msg_Group.0 = 1)Y Msg_0 ha terminado o ha generado un errorY Msg_1 ha terminado o ha generado un errorEntonces

Msg_Group.0 = 0. Esto inhabilita el grupo actual de mensajes.Msg_Group.1 = 1. Esto habilita el siguiente grupo de mensajes.

20 Publicación de Rockwell Automation 1756-PM012D-ES-P – Noviembre 2011

Page 21: 1756-pm012_-es-p

Cómo administrar múltiples mensajes Capítulo 2

Envío del segundo grupo de MSG

Habilitación del siguiente grupo de MSG

Envío del siguiente grupo de mensajes

Si Msg_Group.1 pasa de 0 -> 1, entoncesEnvíe Msg_2.Envíe Msg_3.

Si los mensajes del grupo 1 están actualmente habilitados (Msg_Group.1 = 1)Y Msg_2 ha terminado o ha generado un errorY Msg_3 ha terminado o ha generado un errorEntonces

Msg_Group.1 = 0. Esto inhabilita el grupo actual de mensajes.Msg_Group.2 = 1. Esto habilita el siguiente grupo de mensajes.

Si Msg_Group.1 pasa de 0 -> 1, entoncesEnvíe Msg_2.Envíe Msg_3.

Publicación de Rockwell Automation 1756-PM012D-ES-P – Noviembre 2011 21

Page 22: 1756-pm012_-es-p

Capítulo 2 Cómo administrar múltiples mensajes

22 Publicación de Rockwell Automation 1756-PM012D-ES-P – Noviembre 2011

Page 23: 1756-pm012_-es-p

Capítulo 3

Cómo enviar un mensaje a múltiples controladores

Introducción Usted puede programar una única instrucción de mensaje (instrucción MSG) que le permita comunicarse con múltiples controladores. Para reconfigurar una instrucción MSG durante el tiempo de ejecución, escriba nuevos valores para los miembros del tipo de datos MENSAJE.

A. Si utiliza un asterisco [*] para designar el número de elemento de la matriz, el valor de proporcionará el número de elemento.

B. El cuadro Index (índice) solamente se activa cuando usted utiliza un asterisco [*] en el cuadro Source Element o Destination Element. La instrucción sustituye el asterisco [*] por el valor de Index.

IMPORTANTE En el tipo de datos MENSAJE, el miembro RemoteElement (elemento remoto) almacena el nombre del tag o la dirección de los datos en el controlador que recibe el mensaje.

Si el mensaje Entonces el RemoteElement es el

Lee datos Source element

Escribe datos Destination element

Nombre del tag

message

message.RemoteElement.

message.RemoteIndex.

message.LocalIndex.

message.Channel.

message.Rack.

message.Group.

message.Slot.

message.Path.

43052

A B

B

Publicación de Rockwell Automation 1756-PM012D-ES-P – Noviembre 2011 23

Page 24: 1756-pm012_-es-p

Capítulo 3 Cómo enviar un mensaje a múltiples controladores

Usted necesita realizar lo siguiente para enviar un mensaje a múltiples controladores:

• Cómo efectuar la configuración de E/S• Cómo definir sus elementos de origen y destino• Cómo crear el tipo de datos MESSAGE_ CONFIGURATION• Cómo crear la matriz de configuración• Cómo obtener el tamaño de la matriz local• Cargue las propiedades de mensaje de un controlador• Cómo configurar el mensaje• Paso hasta el siguiente controlador• Cómo reiniciar la secuencia

Cómo efectuar la configuración de E/S

Aunque no es imprescindible, recomendamos añadir los módulos de comunicación y los controladores remotos a la configuración de E/S del controlador. Así le resultará más fácil definir la ruta de acceso a cada controlador remoto.

Por ejemplo, una vez que haya añadido el módulo de comunicación local, el módulo de comunicación remota y el controlador de destino, el hacer clic en el botón Browse le permitirá seleccionar el destino.

Cómo definir sus elementos de origen y destino

En este procedimiento, una matriz almacena los datos que se leen o se escriben en cada controlador remoto. Cada elemento de la matriz corresponde a un controlador remoto diferente.

SUGERENCIA Para copiar los componentes mencionados desde un proyecto de muestra, abra la carpeta…\RSLogix 5000\Projects\Samples.

43055

Abra este proyecto.MSG_to_Multiple_Controllers.ACD

Explorador de rutas de mensaje

Ruta: peer_controller

peer_controller

I/O Configuration

[0] 1756-CNB/x Local_CNB

2 [0] 1756-CNB/x chassis_b

[1] 1756-L55/x peer_controller

24 Publicación de Rockwell Automation 1756-PM012D-ES-P – Noviembre 2011

Page 25: 1756-pm012_-es-p

Cómo enviar un mensaje a múltiples controladores Capítulo 3

1. Utilice la siguiente hoja de trabajo para organizar los nombres de los tags en los controladores locales y remotos.

2. Cree el tag local_array, que almacena los datos en este controlador.

Cómo crear el tipo de datos MESSAGE_ CONFIGURATION

En este procedimiento, usted crea un tipo de datos definido por el usuario con el fin de almacenar las variables de configuración del mensaje para cada controlador.

• Algunos de los miembros requeridos del tipo de datos utilizan un tipo de datos STRING (cadena).

• El tipo de datos STRING predeterminado es capaz de almacenar 82 caracteres.

• Si sus rutas o sus nombres/direcciones de tags remotos utilizan menos de 82 caracteres, puede usted crear un nuevo tipo de cadena que almacene menos caracteres. Esto le permitirá ahorrar memoria.

• Para crear un tipo de cadena, seleccione File > New Component > String Type.

Si crea un nuevo tipo de cadena, utilícelo en lugar del tipo de datos STRING en este procedimiento.

Nombre del controlador remoto Tag o dirección de datos en el controlador remoto Tag en este controlador

local_array[0]

local_array[1]

local_array[2]

local_array[3]

Nombre del tag Tipo

local_array data_type [length ]siendo:data_type el tipo de datos que el mensaje envía o recibe, por ejemplo DINT, REAL, o STRING.length el número de elementos de la matriz local.

Publicación de Rockwell Automation 1756-PM012D-ES-P – Noviembre 2011 25

Page 26: 1756-pm012_-es-p

Capítulo 3 Cómo enviar un mensaje a múltiples controladores

Para almacenar las variables de configuración del mensaje correspondientes a cada controlador, cree el siguiente tipo de datos definido por el usuario.

Cómo crear la matriz de configuración

En este procedimiento, usted almacena en una matriz las propiedades de configuración de cada controlador. Antes de cada ejecución de la instrucción MSG, su lógica carga nuevas propiedades en la instrucción. Esto hace que el mensaje sea enviado a un controlador diferente.

1. Para almacenar las propiedades de configuración del mensaje, cree la siguiente matriz.

Tipo de datos: MESSAGE_CONFIGURATION

Nombre: MESSAGE_CONFIGURATION

Descripción: Propiedades de configuración de un mensaje destinado a otro controlador

Miembros

Nombre Tipo de datos Estilo Descripción

Path STRING

RemoteElement STRING

Cree un nuevo tipo de datos

Controller Your_Project

Tasks

Motion Groups

Trends

Data Types

User-Defined

Haga clic con el botón derecho del mouse y seleccione New Data Type (nuevo tipo de datos).

Propiedades del mensaje

message

message.Path.

message.RemoteElement.

Matriz de configuración

message_config

message_config[0]

message_config[0].Path

message_config[0].RemoteElement

message_config[1]

message_config[1].Path

message_config[1].RemoteElement

Primera ejecución de mensaje

Siguiente ejecución de mensaje

Propiedades del mensaje

message

message.Path.

message.RemoteElement.

Nombre del tag Tipo Ámbito

message_config MESSAGE_CONFIGURATION[number](1)

(1) Number indica el número de controladores a los que se envía el mensaje

cualquiera

26 Publicación de Rockwell Automation 1756-PM012D-ES-P – Noviembre 2011

Page 27: 1756-pm012_-es-p

Cómo enviar un mensaje a múltiples controladores Capítulo 3

2. Introduzca en la matriz message_config la ruta de acceso al primer controlador que recibe el mensaje.

A. Escriba la ruta de acceso al controlador remoto.

o

B. Haga clic en el botón Browse y desplácese hasta el controlador remoto.

3. En la matriz message_config, introduzca el nombre del tag o la dirección de los datos en el primer controlador que recibe el mensaje.

Nombre del tag Valor

message_config {…}

message_config[0] {…} Haga clic con el botón derecho del mouse y seleccione Go To > Configure. message_config[0].Path

message_config[0].RemoteElement

A

B

Por ejemplo:

Nombre del tag Valor

message_config {…}

message_config[0] {…}

message_config[0].Path

message_config[0].RemoteElement

message_config[1] {…}

message_config[1].Path

message_config[1].RemoteElement

Escriba el nombre del tag o la dirección de los datos en el otro controlador.

Publicación de Rockwell Automation 1756-PM012D-ES-P – Noviembre 2011 27

Page 28: 1756-pm012_-es-p

Capítulo 3 Cómo enviar un mensaje a múltiples controladores

4. Introduzca la ruta y el elemento remoto de cada controlador adicional.

Cómo obtener el tamaño de la matriz local

• La instrucción SIZE (tamaño):• cuenta el número de elementos de local_array.• cuenta el número de elementos de la Dimensión 0 de la matriz. En este

caso, ésa es la única dimensión.

Local_array_length (DINT) almacena el tamaño (número de elementos) de local_array. Este valor comunica a un renglón subsiguiente si se ha enviado el mensaje a todos los controladores y si se debe comenzar de nuevo con el primer controlador.

Nombre del tag Valor

message_config {…}

message_config[0] {…}

message_config[0].Path

message_config[0].RemoteElement

message_config[1] {…}

message_config[1].Path

message_config[1].RemoteElement

43051

28 Publicación de Rockwell Automation 1756-PM012D-ES-P – Noviembre 2011

Page 29: 1756-pm012_-es-p

Cómo enviar un mensaje a múltiples controladores Capítulo 3

Cargue las propiedades de mensaje de un controlador

1. La instrucción XIO impone al renglón la condición de enviar el mensaje de manera continua.

2. La primera instrucción COP carga la ruta del mensaje. El valor del índice determina qué elemento será cargado por la instrucción desde message_config. La instrucción carga un elemento desde message_config.

3. La segunda instrucción COP carga el nombre del tag o la dirección de los datos en el controlador que recibe el mensaje. El valor del índice determina qué elemento será cargado por la instrucción desde message_config. La instrucción carga un elemento desde message_config.

Cómo configurar el mensaje Aunque la lógica controla el elemento remoto y la ruta del mensaje, existe una configuración inicial.

43051

2.

3.

1.

Publicación de Rockwell Automation 1756-PM012D-ES-P – Noviembre 2011 29

Page 30: 1756-pm012_-es-p

Capítulo 3 Cómo enviar un mensaje a múltiples controladores

IMPORTANTE

Tabla 1 – Configuración de mensaje

En esta ficha Si desea Para este ítem Escriba o seleccione

Configuration Leer (recibir) datos de los otros controladores

Message Type El tipo de lectura que corresponde a los otros controladores

Source Element Tag o dirección que contiene los datos en el primer controlador

Number Of Elements 1

Destination Element local_array[*]

Index 0

Escribir (enviar) datos a los otros controladores

Message Type El tipo de escritura que corresponde a los otros controladores

Source Element local_array[*]

Index 0

Número de elementos 1

Destination Element Tag o dirección que contiene los datos en el primer controlador

Communication Path Ruta de acceso al primer controlador

Cache Connections Desmarque el cuadro de verificación Cache Connections. Dado que este procedimiento cambia continuamente la ruta del mensaje, resulta más eficiente dejar este cuadro de verificación vacío.

43054

Desmarque el cuadro de verificación Cache Connections.

30 Publicación de Rockwell Automation 1756-PM012D-ES-P – Noviembre 2011

Page 31: 1756-pm012_-es-p

Cómo enviar un mensaje a múltiples controladores Capítulo 3

Paso hasta el siguiente controlador

Después de que la instrucción MSG envía el mensaje:

1. La primera instrucción ADD incrementa el índice. Esto permite a la lógica cargar las propiedades de configuración del siguiente controlador en la instrucción MSG.

2. La segunda instrucción ADD incrementa el miembro LocalIndex (índice local) de la instrucción MSG. Esto permite a la lógica cargar el valor del siguiente controlador en el siguiente elemento de local_array.

Cómo reiniciar la secuencia

Cuando el índice es igual a local_array_length, el controlador ha enviado el mensaje a todos los otros controladores.

1. La primera instrucción CLR pone el índice a 0. Esto permite a la lógica cargar las propiedades de configuración del primer controlador en la instrucción MSG e iniciar de nuevo la secuencia de mensajes.

2. La segunda instrucción CLR pone a 0 el miembro LocalIndex de la instrucción MSG. Esto permite a la lógica cargar el valor del primer controlador en el primer elemento de local_array.

1. 2.

43051

1. 2.

43051

Publicación de Rockwell Automation 1756-PM012D-ES-P – Noviembre 2011 31

Page 32: 1756-pm012_-es-p

Capítulo 3 Cómo enviar un mensaje a múltiples controladores

Notas:

32 Publicación de Rockwell Automation 1756-PM012D-ES-P – Noviembre 2011

Page 33: 1756-pm012_-es-p

Índice

Bbúfer

para mensaje no conectado 12, 13

Ccaché

conexión 11cola

mensaje 10comunicarse

con otros controladores 9instrucción de mensaje 9

conexióncaché 11

controladormensajes 9propiedades del mensaje 29

Llógica de escalera

administrar mensajes 19

Mmatriz

configuración del controlador 26mensaje

a múltiples controladores 23a un único controlador 9administrar múltiples mensajes 19búfer no conectado 12, 13cola 10conexión de caché 11controlador 9conversión entre datos de 16 bits y datos de 32 bits 16ilustración de ejemplo 10límites 10pautas 13procesamiento 10

Ppautas

mensaje 13procesamiento

mensaje 10

Ttag

organizar para mensaje 9pautas para mensajes 13

tipo de datosconfiguración de mensaje 25datos de conversión 16

transferencia en bloquespautas 13

Publicación de Rockwell Automation 1756-PM012D-ES-P – Noviembre 2011 33

Page 34: 1756-pm012_-es-p

Índice

Notas:

34 Publicación de Rockwell Automation 1756-PM012D-ES-P – Noviembre 2011

Page 35: 1756-pm012_-es-p
Page 36: 1756-pm012_-es-p

Publicación 1756-PM012D-ES-P – Noviembre 2011 36Copyright © 2011 Rockwell Automation, Inc. Todos los derechos reservados. Impreso en EE.UU.

Servicio de asistencia técnica de Rockwell Automation

Rockwell Automation ofrece información técnica en Internet con el fin de ayudarle a utilizar nuestros productos. En http://www.rockwellautomation.com/support/, encontrará manuales técnicos, una base de conocimientos con respuestas a preguntas frecuentes, notas técnicas y de aplicación, ejemplos de código y vínculos a Service Packs de software, así como un vínculo llamado MySupport que podrá personalizar para sacarle el máximo provecho a todas estas herramientas.

Con el fin de brindarle un nivel adicional de asistencia técnica en la instalación, configuración y resolución de problemas, le ofrecemos los programas de asistencia técnica TechConnect Support. Si desea más información a este respecto, póngase en contacto con su representante o distribuidor local de Rockwell Automation, o visítenos en http://www.rockwellautomation.com/support/.

Asistencia para la instalación

Si tiene algún problema durante las 24 horas posteriores a la instalación, revise la información que figura en este manual.Puede llamar a asistencia técnica al cliente si desea ayuda inicial para la puesta en servicio de su producto:

Devolución de productos nuevos

Antes de salir de la fábrica, todos los productos de Rockwell son sometidos a pruebas para garantizar su correcto funcionamiento. Si a pesar de ello su producto no funciona y necesita devolverlo, siga los pasos que figuran a continuación.

Comentarios sobre la documentación

Sus comentarios nos ayudarán a atender mejor sus necesidades de documentación. Si tiene sugerencias sobre cómo mejorar este documento, llene este formulario, publicación RA-DU002, disponible en http://www.rockwellautomation.com/literature/.

En Estados Unidos o Canadá 1.440.646.3434

Fuera de los Estados Unidos o Canadá

Utilice el buscador mundial en http://www.rockwellautomation.com/support/americas/phone_en.html, o comuníquese con su representante local de Rockwell Automation.

En Estados Unidos Póngase en contacto con su distribuidor. Indíquele el número de caso de asistencia técnica (para obtenerlo, llame al número de teléfono indicado más arriba) a fin de completar el proceso de devolución.

Fuera de Estados Unidos Póngase en contacto con su representante local de Rockwell Automation para obtener información sobre el procedimiento de devolución.