Message (MSG)
Ces informations s’appliquent aux automates CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370, GuardLogix 5570, Compact GuardLogix 5380, CompactLogix 5380, ControlLogix 5580, GuardLogix 5580 et ControlLogix 5590. Les différences entre les automates sont signalées, le cas échéant.
L'instruction MSG lit ou écrit de manière asynchrone un bloc de données sur un autre module sur un réseau.
Il s’agit d’une instruction de transition. Suivez ces étapes lors de son utilisation :
- Dans la logique à relais, insérez une instruction pour faire basculer la condition d’entrée d’échelon de false à true à chaque exécution de l'instruction.
- Dans une routine de texte structuré, insérez une condition pour que l’instruction provoque son exécution uniquement lors d’une transition.
Langues disponibles
Diagramme à relais

Bloc fonctionnel
Cette instruction n'est pas disponible dans le bloc fonctionnel.
Texte structuré
MSG(MessageControl);
Opérandes
Diagramme à relais
Opérande | Type | Format | Description |
|---|---|---|---|
Message | MSG | balise | Structure message |
Texte structuré
Opérande | Type | Format | Description |
|---|---|---|---|
Message | MSG | balise | Structure message |
Reportez-vous à pour plus d'informations concernant la syntaxe des expressions dans le texte structuré.
Structure MESSAGE
IMPORTANT:
Si vous vérifiez les bits d'état plusieurs fois :
Utilisez une copie des bits si vous les vérifiez à plus d'un emplacement dans votre logique. Sinon, les bits peuvent changer pendant la scrutation et votre logique ne fonctionnera pas comme vous le prévoyez.
L'une des façons de faire une copie consiste à utiliser le mot FLAGS. Copiez le mot FLAGS sur une autre étiquette et vérifiez les bits dans la copie.
IMPORTANT:
Ne modifiez pas les bits suivants d'une instruction MSG :
- DN
- EN
- ER
- EW
- ST
Ne modifiez pas ces bits eux-mêmes ou en tant que partie du mot FLAGS. Si vous le faites, l'automate peut rencontrer un défaut non récupérable. L'automate efface le projet de sa mémoire lorsqu'il rencontre un défaut non récupérable.
Mnémonique | Type de données | Description | |
|---|---|---|---|
.FLAGS | INT | Le membre .FLAGS fournit un accès aux membres d'état (bits) dans un mot unique de 16 bits. | |
Le bit suivant : 2 | Is this member .EW | ||
4 | .ER | ||
5 | .DN | ||
6 | .ST | ||
7 | .EN | ||
8 | .TO | ||
9 | .EN_CC | ||
IMPORTANT:
Ne modifiez pas les bits EW, ER, DN ou ST du membre FLAGS. Par exemple, n'effacez pas la totalité du mot FLAGS. L'automate ignore les modifications et utilise les valeurs stockées en interne des bits.
| |||
.ERR | INT | Si le bit .ER est défini, le mot de code d'erreur identifie les codes d'erreur de l'instruction MSG. | |
.EXERR | INT | Le mot de code d'erreur étendu spécifie des informations de code d'erreur supplémentaires pour certains codes d'erreur. | |
.REQ_LEN | INT | La longueur requise spécifie le nombre de mots que l'instruction de message va tenter de transférer. | |
.DN_LEN | INT | La longueur de fin identifie le nombre de mots réellement transféré. | |
.EW | BOOL | Le bit d'activation est défini lorsque l'automate détecte qu'une demande de message est entrée dans la files d'attente. L'automate réinitialise le bit .EW lorsque le bit .ST est défini.
IMPORTANT:
Ne modifiez pas le bit EW. L'automate ignore les modifications et utilise les valeurs stockées en interne du bit.
| |
.ER | BOOL | Le bit d'erreur est défini lorsque l'automate détecte l'échec d'un transfert. Le bit .ER est réinitialisé au prochain passage d'EnableIn de l'état faux à vrai.
IMPORTANT:
Ne modifiez pas le bit ER. L'automate ignore les modifications et utilise les valeurs stockées en interne du bit.
| |
.DN | BOOL | Le bit de fin est défini lorsque le dernier paquet du message est transféré correctement. Le bit .DN est réinitialisé au prochain passage d'EnableIn de l'état faux à vrai.
IMPORTANT:
Ne modifiez pas le bit DN. L'automate ignore les modifications et utilise les valeurs stockées en interne du bit.
| |
.ST | BOOL | Le bit de départ est défini lorsque l'automate commence à exécuter l'instruction MSG. Le bit .ST bit est réinitialisé lorsque le bit .DN ou le bit .ER est défini.
IMPORTANT:
Ne modifiez pas le bit ST. L'automate ignore les modifications et utilise les valeurs stockées en interne du bit.
| |
.EN | BOOL | Le bit d'activation est défini lorsqu'EnableIn passe à l'éta vrai et reste défini jusqu'à ce que le bit .DN ou le bit .ER soit défini et qu'EnableIn est faux. Si EnableIn passe à l'état faux, mais que le bit .DN bit et le bit .ER sont mis à zéro, le bit .EN reste défini.
IMPORTANT:
Ne modifiez pas le bit EN. L'automate ignore les modifications et utilise les valeurs stockées en interne du bit.
| |
.TO | BOOL | Si vous définissez manuellement le bit .TO, l'automate arrête de traiter le message et définit le bit .ER. | |
.EN_CC | BOOL | Le bit de cache d'activation détermine comment gérer la connexion MSG. Si vous souhaitez que l'automate maintienne la connexion (par exemple lorsque vous répétez la même instruction MSG à plusieurs reprises), définissez le bit .EN_CC. Si vous exécutez rarement l'instruction MSG et que vous avez d'autres besoins pour une connexion à l'automate, mettez le bit .EN_CC à zéro. Les connexions pour les instructions MSG qui sortent par le port série ne sont pas mises en cache, même si le bit .EN_CC est défini. | |
.ERR_SRC | SINT | Affiche le chemin de l'erreur dans la boîte de dialogue Configuration du message (Message Configuration). | |
.DestinationLink | INT | Pour modifier la liaison destinataire d’un DH+ ou CIP avec le message de l’ID de source, définissez ce membre sur la valeur requise. | |
.DestinationNode | INT | Pour modifier la station destinataire d’un DH+ ou CIP avec le message de l’ID de source, définissez ce membre sur la valeur requise. | |
.SourceLink | INT | Pour modifier la liaison source d’un DH+ ou CIP avec le message de l’ID de source, définissez ce membre sur la valeur requise. | |
.Class | INT | Pour modifier le paramètre Class d'un message CIP générique, définissez ce membre sur la valeur requise. | |
.Attribute | INT | Pour modifier le paramètre Attribute d'un message CIP générique, définissez ce membre sur la valeur requise. | |
.Instance | DINT | Pour modifier le paramètre Instance d'un message CIP générique, définissez ce membre sur la valeur requise. | |
.LocalIndex | DINT | Si vous utilisez un astérisque [*] pour désigner le numéro d'élément du tableau local, LocalIndex fournit le numéro d'élément. Pour modifier le numéro d'élément, définissez ce membre sur la valeur requise. | |
If the message: | Then the local array is the: | ||
Reads data | Destination element | ||
Writes data | Source element | ||
.Channel | SINT | Pour envoyer le message par un canal différent du module 1756-DHRIO, définissez ce membre sur la valeur requise. Utiliser le caractère ASCII A ou B. | |
.Rack | SINT | Pour modifier le numéro de rack d'un message de bloc-transfert, définissez ce membre sur le numéro du rack requis (octal). | |
.Group | SINT | Pour modifier le numéro de groupe d'un message de bloc-transfert, définissez ce membre sur le numéro du groupe requis (octal). | |
.Slot | SINT | Pour modifier le numéro de logement d'un message de bloc-transfert, définissez ce membre sur le numéro du logement requis. | |
If the message goes over this network: | Then specify the slot number in: | ||
Universal remote I/O | octal | ||
ControlNet | decimal (0-15) | ||
.Path | STRING | Pour envoyer le message vers un autre automate, définissez ce membre sur le nouveau chemin. Entrez le chemin sous forme de valeurs hexadécimales. Supprimez les virgules [,] Par exemple, pour un chemin de 1, 0, 2, 42, 1, 3, entrez $01$00$02$2A$01$03. Pour parcourir un dispositif et créer automatiquement une partie ou l'intégralité de la nouvelle chaîne, cliquez avec le bouton droit sur une étiquette de chaîne et choisissez Atteindre l'Éditeur de chemin de message. | |
.RemoteIndex | DINT | Si vous utilisez un astérisque [*] pour désigner le numéro d'élément du tableau à distance, RemoteIndex fournit le numéro d'élément. Pour modifier le numéro d'élément, définissez ce membre sur la valeur requise. | |
If the message | Then the remote array is the | ||
Reads data | Source element | ||
Writes data | Destination element | ||
.RemoteElement | STRING | Pour spécifier une étiquette ou une adresse différente dans l'automate vers lequel le message est envoyé, définissez ce membre sur la valeur requise. Entrez l'étiquette ou l'adresse sous forme de caractères ASCII. | |
If the message | Then the remote array is the | ||
Reads data | Source element | ||
Writes data | Destination element | ||
.UnconnectedTimeout | DINT | Dépassement de délai pour un message non connecté ou pour établir une connexion. La valeur par défaut est 30 secondes. Si le message n'est pas connecté, le bit ER s'active si l'automate n'obtient pas de réponse dans le temps UnconnectedTimeout. Si le message est connecté, le bit ER s'active si l'automate n'obtient pas de réponse pour établir la connexion dans le temps UnconnectedTimeout. | |
.ConnectionRate | DINT | Dépassement de délai pour un message connecté une fois qu'une connexion est établie. Ce dépassement de délai correspond à la réponse de l'autre dispositif. Le dépassement de délai s'applique uniquement une fois que la connexion est établie. Dépassement de délai = ConnectionRate x TimeoutMultiplier La valeur par défaut de ConnectionRate est de 7,5 secondes. La valeur par défaut de TimeoutMultiplier est de 0 (ce qui équivaut à un facteur multiplicatif de 4). Le dépassement de délai par défaut pour les messages connectés est de 30 secondes (7,5 secondes x 4 = 30 secondes). Pour modifier la valeur du dépassement de délai, modifiez ConnectionRate et conservez la valeur par défaut de TimeoutMultiplier. | |
.TimeoutMultiplier | SINT | ||
Description
L'instruction MSG transfère des éléments de données. Il s’agit d’une instruction de transition :
- Dans le diagramme à relais, basculer EnableIn de zéro à défini à chaque exécution de l'instruction.
- La taille de chaque élément dépend du type de données que vous spécifiez et du type de commande de message que vous utilisez.

Où | Description |
|---|---|
1 | EnableIn est vrai .EN est défini .EW est défini La connexion est ouverte |
2 | Le message est envoyé .ST est défini .EW est mis à zéro |
3 | Le message est terminé ou erroné EnableIn est faux. .DN ou .ER est défini .ST est mis à zéro La connexion est fermée (si .EN_CC = 0) .EN est mis à zéro (car EnableIn est faux) |
4 | EnableIn est vrai et .DN ou .ER a été défini précédemment .EN est défini .EW est défini La connexion est ouverte .DN ou .ER est mis à zéro |
5 | Le message est envoyé .ST est défini .EW est mis à zéro |
6 | Le message est terminé ou erroné EnableIn est toujours vrai .DN ou .ER est défini .ST est mis à zéro La connexion est fermée (si .EN_CC = 0) |
7 | EnableIn passe à l'état faux et .DN ou .ER est défini .EN est mis à zéro |
Affecte les indicateurs d'état mathématique
Non
Défauts majeurs/mineurs
Aucun spécifique à cette instruction. Reportez-vous à Attributs communs pour les défauts liés aux opérandes
Exécution
Diagramme à relais
Condition/état | Action entreprise |
|---|---|
Préscrutation | Les bits .EWS, .ST, .DN et .ER sont mis à zéro. |
La condition d'entrée d'échelon est égale à faux | Reportez-vous à l’organigramme MSG (faux) |
La condition d'entrée d'échelon est égale à vrai | Reportez-vous à l’organigramme MSG (vrai) |
Post-scrutation | N/A |
Texte structuré
Condition/état | Action entreprise |
|---|---|
Préscrutation | Reportez-vous à Pré-scrutation dans le tableau Diagramme à relais |
Exécution normale | Reportez-vous à l’organigramme MSG (vrai) |
Post-scrutation | Reportez-vous à Post-scrutation dans le tableau Diagramme à relais |
Organigramme MSG (faux)

Organigramme MSG (vrai)

Exemple
Diagramme à relais

Texte structuré
MSG (MessageControl);
Fournir une réponse