Introduction

Utiliser le bloc fonction DATA_EXCH pour envoyer un message explicite Modbus TCP à un équipement distant à une adresse IP spécifique pour lire un mot situé sur l'équipement distant.

Les paramètres Management_Param, Data_to_Send et Received_Data définissent l'opération.

EN et ENO peuvent être configurés comme paramètres supplémentaires.

Implémentation du bloc fonction DATA_EXCH

Pour implémenter le bloc fonction DATA_EXCH, créez et attribuez des variables pour :

Configuration de la variable Address

La variable Address identifie l'équipement source et cible du message explicite. Notez que la variable Address 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.7}TCP.MBS’), où :

  • rack = 0

  • module (numéro d'emplacement) = 1

  • canal = 0

  • adresse IP de l'équipement distant = 192.168.1.7

  • type de message = TCP

  • protocole = Modbus

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 contient l'adresse du registre cible et le nombre de registres à lire.

Variable

Description

Valeur (hex.)

DataToSend[0]

  • Octet de poids fort = Octet de poids fort (MSB) de l'adresse du registre 16#15 (21, décimale)

  • Octet de poids faible = code fonction : 16#03 (03, décimal)

16#1503

DataToSend[1]

  • Octet de poids fort = Octet de poids fort (MSB) du nombre de registres à lire : 16#00 (0, décimal)

  • Octet de poids faible = octet de poids faible (LSB) de l'adresse du registre : 16#0F (15, décimal)

16#000F

DataToSend[2]

Information d'instance de la requête CIP :

  • Octet de poids fort = non utilisé : 16#00 (0, décimal)

  • Octet de poids faible = Octet de poids faible (LSB) du nombre de registres à lire : 16#01 (1, décimal)

16#0001

NOTE : Pour plus d'informations sur les topologies de réseau M580, reportez-vous aux documents Modicon M580 Autonome - Guide de planification du système pour architectures courantes et Modicon M580 - Guide de planification du système pour topologies complexes.

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 Modbus TCP, procédez comme suit :

Etape

Action

1

Dans Control Expert, sélectionnez Outils > Navigateur de projet.

2

Dans le Navigateur de projet, sélectionnez le dossier Tables d'animation et cliquez avec le bouton droit.

Résultat : un menu contextuel apparaît.

3

Sélectionnez Nouvelle table d'animation dans le menu contextuel.

Résultat : 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 au tampon de données : ReceivedData et appuyez sur Entrée.

Résultat : 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 2 octets de données au format petit-boutiste. Par exemple, « 03 » dans word[0] est l'octet de poids faible, tandis que « 02 » est l'octet de poids fort.