Présentation
L'exemple suivant de messagerie
explicite non connectées montre comment utiliser le bloc fonction DATA_EXCH
pour lire des données d'un équipement
distant (par exemple, le module d'interface réseau STB NIP 2212 à l'adresse IP 192.168.1.6)
en utilisant le service Read_Holding_Registers de l'objet Modbus.
Vous pouvez exécuter le même service de messagerie explicite en utilisant la fenêtre Message explicite EtherNet/IP.
Implémentation du bloc fonction DATA_EXCH
Pour implémenter le bloc fonction DATA_EXCH
, vous devez créer des variables et les attribuer aux blocs
suivants :

Déclaration de variables
Dans cet exemple, les variables suivantes ont été définies. Bien entendu, vous pouvez utiliser d'autres noms dans votre configuration de messagerie explicite.

Configuration de la variable Address
La variable Address identifie l'équipement à l'origine
du message explicite (dans cet exemple, le module de communication
Ethernet ) et l'équipement cible. Notez que cette variable n'inclut
pas les éléments d'adresse Xway {Réseau.Station}, car
nous n'établissons pas de pont à travers une autre station
automate. Utilisez la fonction ADDM
pour convertir
la chaîne de caractères suivante en adresse :
ADDM
(‘0.1.0{192.168.1.6}UNC.CIP’), où
:
rack = 0
module (numéro d'emplacement) = 1
canal = 0
adresse IP de l'équipement distant = 192.168.1.6
type de message = non connecté
protocole = CIP
Configuration de la variable ActionType
La variable ActionType identifie le type de fonction du bloc DATA_EXCH
:
Variable |
Description |
Valeur (hex.) |
---|---|---|
ActionType |
Transmission suivie d'une attente de réponse |
16#01 |
Configuration de la variable DataToSend
La variable DataToSend identifie le type de message explicite et la requête CIP :
Variable |
Description |
Valeur (hex.) |
---|---|---|
DataToSend[0] |
Information du service de requête CIP :
|
16#024E |
DataToSend[1] |
Information de classe de la requête CIP :
|
16#4420 |
DataToSend[2] |
Information d'instance de la requête CIP :
|
16#0124 |
DataToSend[3] |
Emplacement du premier mot à lire :
|
16#0031 |
DataToSend[4] |
Nombre de mots à lire :
|
16#0001 |
Affichage de la réponse
Utilisez une table d'animation Control Expert pour afficher le tableau de variables ReceivedData. Notez que ce tableau reprend l'intégralité du tampon de données.
Pour afficher la réponse CIP, procédez comme suit :
Etape |
Action |
|
---|---|---|
1 |
Dans Control Expert, sélectionnez Outils → Navigateur de projet pour ouvrir le Navigateur de projet. |
|
2 |
Dans le Navigateur de projet, sélectionnez le dossier Tables d'animation, puis cliquez avec le bouton droit. Un menu contextuel apparaît. |
|
3 |
Sélectionnez Nouvelle table d'animation dans le menu contextuel. Une nouvelle table d'animation s'ouvre, ainsi que la boîte de dialogue de propriétés correspondante. |
|
4 |
Dans la boîte de dialogue de propriétés, modifiez les valeurs suivantes : |
|
Nom |
Entrez le nom de la table. Dans cet exemple : ReceivedData. |
|
Module fonctionnel |
Acceptez la valeur par défaut <Aucun>. |
|
Commentaire |
(Facultatif) Entrez un commentaire ici. |
|
Nombre de caractères animés |
Entrez 49 pour représenter la taille du tampon de données en mots. |
|
5 |
La boîte de dialogue Propriétés est du type suivant : ![]() Cliquez sur OK pour fermer la boîte de dialogue. |
|
6 |
Dans la colonne Nom de la table d'animation, entrez le nom de la variable attribuée à la broche RECP : ReceivedData et appuyez sur Entrée. La table d'animation affiche la variable ReceivedData. |
|
7 |
Développez la variable ReceivedData pour afficher son tableau de mots et visualiser la réponse CIP : ![]() Remarque : chaque entrée de tableau présente deux octets de données au format Little Endian, dans lequel l'octet de poids faible est stocké dans la plus petite adresse mémoire. Par exemple, CE dans word[0] est l'octet de poids faible, tandis que 00 est l'octet de poids fort. |