Mensaje (MSG)
Esta información corresponde a los controladores CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370, GuardLogix 5570, Compact GuardLogix 5380, CompactLogix 5380, ControlLogix 5580, GuardLogix 5580 y ControlLogix 5590. Las diferencias de controladores se indican cuando corresponda.
La instrucción MSG lee de manera asíncrona o escribe un bloque de datos en otro módulo de red.
Se trata de una instrucción de transición. Siga estos pasos cuando la use:
- En la lógica de escalera, inserte una instrucción para alternar el rung-condition-in de falsa a verdadera cada vez que se deba ejecutar la instrucción.
- En una rutina de Texto estructurado, inserte una condición para que la instrucción haga que se ejecute solo en una transición.
Idiomas disponibles
Diagrama de lógica de escalera

Bloque de funciones
Esta instrucción no está disponible en el bloque de funciones.
Texto estructurado
MSG(MessageControl);
Operandos
Diagrama de lógica de escalera
Operando | Tipo | Formato | Descripción |
|---|---|---|---|
Message | MSG | etiqueta | Estructura de mensaje |
Texto estructurado
Operando | Tipo | Formato | Descripción |
|---|---|---|---|
Message | MSG | etiqueta | Estructura de mensaje |
Consulte para obtener más información sobre la sintaxis de las expresiones dentro de texto estructurado.
Estructura de MESSAGE
IMPORTANTE:
Si comprueba los bits de estado más de una vez:
use una copia de los bits si los comprueba en más de un sitio dentro de su lógica. En caso contrario, los bits podrían cambiar durante el escaneado y la lógica no funcionará como se espera.
Una manera de hacer una copia es mediante la palabra FLAGS. Copie la palabra FLAGS a otra etiqueta y compruebe los bits en esta copia.
IMPORTANTE:
No cambie los siguientes bits de una instrucción MSG:
- DN
- EN
- ER
- EW
- ST
No cambie estos bits por separado ni como parte de la palabra FLAGS. Si lo hace, puede que el controlador produzca un fallo irrecuperable. Cuando hay un fallo irrecuperable en el controlador, el controlador borra el proyecto desde su memoria.
Mnemónico | Tipo de datos | Descripción | |
|---|---|---|---|
.FLAGS | INT | El miembro .FLAGS da acceso a los miembros de estado (bits) en una palabra de 16 bits. | |
Este bit 2 | Is this member .EW | ||
4 | .ER | ||
5 | .DN | ||
6 | .ST | ||
7 | .EN | ||
8 | .TO | ||
9 | .EN_CC | ||
IMPORTANTE:
No cambie los bits EW, ER, DN o ST del miembro FLAGS. Por ejemplo, no borre por completo la palabra FLAGS. El controlador ignora el cambio y usa los valores de los bits almacenados de manera interna.
| |||
.ERR | INT | Si se establece el bit .ER, la palabra del código de error identifica el código de error para la instrucción MSG. | |
.EXERR | INT | La palabra de código de error extendido proporciona información adicional del código de error en algunos códigos de error. | |
.REQ_LEN | INT | La longitud requerida muestra cuántas palabras intentará transferir la instrucción de mensaje. | |
.DN_LEN | INT | La longitud realizada identifica cuántas palabras ya se han transferido. | |
.EW | BOOL | El bit de habilitación a la espera se establece cuando el controlador detecta que una petición de mensaje ha entrado en cola. El controlador restablece el bit .EW cuando se activa el bit .ST.
IMPORTANTE:
No cambie el bit .EW. El controlador ignora el cambio y usa los valores del los bit almacenados de manera interna.
| |
.ER | BOOL | El bit de error se establece cuando el controlador detecta que ha fallado una transferencia. El bit .ER se restablecerá la próxima vez que EnableIn cambie de falso a verdadero.
IMPORTANTE:
No cambie el bit .ER. El controlador ignora el cambio y usa los valores del los bit almacenados de manera interna.
| |
.DN | BOOL | El bit de efectuado se establece cuando el último paquete de mensaje se ha transferido con éxito. El bit .DN se restablecerá la próxima vez que EnableIn cambie de falso a verdadero.
IMPORTANTE:
No cambie el bit .DN. El controlador ignora el cambio y usa los valores del los bit almacenados de manera interna.
| |
.ST | BOOL | El bit de comienzo se establece cuando el controlador comienza a ejecutar la instrucción MSG. El bit .ST se restablece cuando se activa el bit .DN o el .ER.
IMPORTANTE:
No cambie el bit .ST. El controlador ignora el cambio y usa los valores del los bit almacenados de manera interna.
| |
.EN | BOOL | El bit de habilitación se establece cuando EnableIn se establece en verdadero y permanece establecido hasta que se establezca el bit .DN o el .ER y EnableIn sea falso. Si EnableIn se borra y se establece en falso, pero los bits .DN y .ER se borran, el bit .EN permanece activado.
IMPORTANTE:
No cambie el bit .EN. El controlador ignora el cambio y usa los valores del los bit almacenados de manera interna.
| |
.TO | BOOL | Si activa manualmente el bit .TO, el controlador dejará de procesar el mensaje y activará el bit .ER. | |
.EN_CC | BOOL | El bit de habilitación de caché determina cómo manejar la conexión MSG. Si quiere que el controlador mantenga la conexión (como cuando repite la misma instrucción MSG muchas veces), establezca el bit .EN_CC. Si ejecuta pocas veces la instrucción MSG y necesita la conexión del controlador para otras cosas, borre el bit .EN_CC. Las conexiones de las instrucciones MSG que se salgan del puerto serial no se almacenan en la caché aunque el bit .EN_CC esté establecido. | |
.ERR_SRC | SINT | Muestra la ruta del error en el cuadro de diálogo Configuración de mensaje. | |
.DestinationLink | INT | Para cambiar el Vínculo de destino de un DH+ o CIP con el mensaje de ID de Origen, establezca este miembro con el valor necesario. | |
.DestinationNode | INT | Para cambiar el Nodo de destino de un DH+ o CIP con mensaje de ID de Origen, establezca este miembro con el valor necesario. | |
.SourceLink | INT | Para cambiar el Vínculo de origen de un DH+ o CIP con el mensaje de ID de Origen, establezca este miembro con el valor necesario. | |
.Class | INT | Para cambiar la clase del parámetro de un mensaje de CIP genérico, establezca este miembro en el valor necesario. | |
.Attribute | INT | Para cambiar el atributo del parámetro de un mensaje de CIP genérico, establezca este miembro en el valor necesario. | |
.Instance | DINT | Para cambiar el parámetro Instance de un mensaje de CIP genérico, se establece este miembro en el valor necesario. | |
.LocalIndex | DINT | Si usa un asterisco (*) para designar un número de elemento en la matriz local, LocalIndex le dará el número de elemento. Para cambiar el número de elemento, establezca este miembro en el valor necesario. | |
If the message: | Then the local array is the: | ||
Reads data | Destination element | ||
Writes data | Source element | ||
.Channel | SINT | Para mandar el mensaje a un canal diferente del módul 1756-DHRIO, se establece este miembro en el valor necesario. Se utiliza indistintamente el carácter ASCII A o B. | |
.Rack | SINT | Para cambiar el número de bastidor de un mensaje de transferencia en bloques, se establece este miembro en el número de rack necesario (octal). | |
.Group | SINT | Para cambiar el número de grupo de un mensaje de transferencia en bloques, se establece este miembro en el número de grupo necesario (octal). | |
.Slot | SINT | Para cambiar el número de ranura de un mensaje de transferencia en bloques, active este miembro en el número de ranura necesario (octal). | |
If the message goes over this network: | Then specify the slot number in: | ||
Universal remote I/O | octal | ||
ControlNet | decimal (0-15) | ||
.Path | STRING | Para mandar el mensaje a un controlador diferente, se establece este miembro en la nueva ruta. Se introduce la ruta como un valor hexadecimal. Omita los puntos (.). Por ejemplo, para una ruta que sea 1, 0, 2, 42, 1, 3, escriba $01$00$02$2A$01$03. Para examinar un dispositivo y crear automáticamente una porción o un todo de la nueva cadena, haga clic en la etiqueta de cadena y elija Ir al editor de ruta de mensaje (Go to Message Path Editor). | |
.RemoteIndex | DINT | Si usa un asterisco (*) para designar un número de elemento en la matriz remota, RemoteIndex le dará el número de elemento. Para cambiar el número de elemento, establezca este miembro en el valor necesario. | |
If the message | Then the remote array is the | ||
Reads data | Source element | ||
Writes data | Destination element | ||
.RemoteElement | STRING | Para especificar una etiqueta o dirección diferente en el controlador al que se envía el mensaje, se establece este miembro en el valor necesario. Se introduce la etiqueta o la dirección como caracteres ASCII. | |
If the message | Then the remote array is the | ||
Reads data | Source element | ||
Writes data | Destination element | ||
.UnconnectedTimeout | DINT | Tiempo de espera para un mensaje desconectado o para hacer una conexión. El valor predeterminado es 30 segundos. Si el mensaje está desconectado, el bit ER se enciende si el controlador no obtiene una respuesta dentro del tiempo UnconnectedTimeout. Si el mensaje está conectado, el bit ER se enciende si el controlador no obtiene una respuesta para hacer la conexión dentro del tiempo UnconnectedTimeout. | |
.ConnectionRate | DINT | Tiempo de espera para un mensaje conectado una vez tenga conexión. Este tiempo de espera es para la respuesta del otro dispositivo. Se aplica solo después de que se haya realizado la conexión. Tiempo de espera = ConnectionRate x TimeoutMultiplier El valor predeterminado de ConnectionRate es 7,5 segundos. El valor predeterminado de TimeoutMultiplier es 0 (que igual a un factor de multiplicación de 4). El tiempo de espera predeterminado para mensajes conectados es de 30 segundos (7.5 segundos x 4 = 30 segundos). Para cambiar el tiempo de espera, cambie ConnectionRate y deje el valor predeterminado de TimeoutMultiplier. | |
.TimeoutMultiplier | SINT | ||
Descripción
La instrucción MSG transfiere elementos de datos. Se trata de una instrucción de transición:
- En un diagrama de escalera, EnableIn cambia de borrado a establecido cada vez que se ejecuta la instrucción.
- El tamaño de cada elemento depende del tipo de datos que especifica y el tipo de comando de mensaje que se utiliza.

Donde | Descripción |
|---|---|
1 | EnableIn es verdadero .EN se establece .EW se establece Conexión abierta. |
2 | Mensaje enviado. .ST se establece .EW está borrado. |
3 | Mensaje finalizado o erróneo, EnableIn es falso. .DN o .ER se establece. .ST está borrado. Conexión cerrada (si .EN_CC = 0). .EN está borrado (porque EnableIn es falso). |
4 | EnableIn es verdadero y .DN o .ER se estableció previamente. .EN se establece .EW se establece Conexión abierta. .DN o .ER está borrado. |
5 | Mensaje enviado. .ST se establece .EW está borrado. |
6 | Mensaje finalizado o erróneo, EnableIn todavía es verdadero. .DN o .ER se establece. .ST está borrado. Conexión cerrada (si .EN_CC = 0). |
7 | EnableIn cambia a falso y .DN o .ER se establece. .EN está borrado. |
Afecta a las marcas de estado matemáticas
No
Fallos mayores/menores
No es específico para esta instrucción. Consulte los Atributos comunes para fallos relacionados con el operando.
Ejecución
Diagrama de lógica de escalera
Condición/estado | Acción realizada |
|---|---|
Pre-escaneado | Los bits .EWS, .ST, .DN y .ER se han desactivado. |
La condición de entrada de renglón es falsa | Consulte Diagrama de flujo de MSG (Falso) |
La condición de entrada de renglón es verdadera | Consulte Diagrama de flujo de MSG (Verdadero) |
Post-escaneado | N/A |
Texto estructurado
Condición/estado | Acción realizada |
|---|---|
Pre-escaneado | Consultar Pre-escaneado en la tabla Diagrama de escalera |
Ejecución normal | Consulte Diagrama de flujo de MSG (Verdadero) |
Post-escaneado | Consultar Post-escaneado en la tabla de Diagramas de escalera |
Diagrama de flujo de MSG (Falso)

Diagrama de flujo de MSG (Verdadero)

Ejemplo
Diagrama de lógica de escalera

Texto estructurado
MSG (MessageControl);
Entregue su opinión