Présentation

L'exemple suivant de message explicite non connecté montre comment utiliser le bloc fonction DATA_EXCH pour récupérer des données de diagnostic à partir d'un équipement distant (à l'adresse IP 192.168.1.6). Dans cet exemple, Get_Attribute_Single de l'instance d'assemblage 100, attribut 3 est exécuté.

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, créez des variables et attribuez-les aux blocs suivants :

Configuration de la variable Address

La variable Address identifie l'équipement à l'origine du message explicite (dans cet exemple, le module de communication) 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. Par exemple, 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 les détails de la requête du message explicite CIP :

Variable

Description

Valeur (hex.)

DataToSend[0]

Information du service de requête CIP :

  • Octet de poids fort = taille de la requête en mots : 16#03 (3, décimal)

  • Octet de poids faible = code du service : 16#0E (14, décimal)

16#030E

DataToSend[1]

Information de classe de la requête CIP :

  • Octet de poids fort = classe : 16#04 (4, décimal)

  • Octet de poids faible = segment de classe : 16#20 (32, décimal)

16#0420

DataToSend[2]

Information d'instance de la requête CIP :

  • Octet de poids fort = instance : 16#64 (100, décimal)

  • Octet de poids faible = segment d'instance : 16#24 (36, décimal)

16#6424

DataToSend[3]

Information d'attribut de la requête CIP :

  • Octet de poids fort = attribut : 16#03 (3, décimal)

  • Octet de poids faible = segment d'attribut : 16#30 (48, décimal)

16#0330

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 OutilsNavigateur 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

Saisissez 100, soit la taille du tampon de données en mots.

5

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 :

NOTE : chaque entrée du tableau contient deux octets de données au format « petit-boutiste », où l'octet le poids faible est stocké dans la plus petite adresse mémoire. Par exemple, « 8E » dans word[0] est l'octet de poids faible, tandis que « 00 » est l'octet de poids fort.