Présentation

Supposons une communication entre deux stations d'automate sur un réseau Fipway. La station 1 doit envoyer les données (20 octets situés dans %MW70:10) à la station 2 qui les reçoit dans une table située dans %MW80:10. Chaque automate dispose d'une table de gestion commençant à l'adresse %MW90.

Pour la station 1, le mot %MW93 doit contenir la longueur des données à envoyer, soit 20 (10 mots à envoyer).

Pour la station 2, le mot %MW93 est défini sur 0 avant l'échange afin de connaître le nombre de caractères reçus à la fin de l'échange.

La fonction DATA_EXCH requiert la programmation des deux automates, l'un pour l'envoi et l'autre pour la réception.

Figure

Les deux stations sont connectées via un réseau Fipway :

Emission programmée dans la station 1

Programmation en ST :

IF RE(%I0.3.2) AND NOT %MW90.0 THEN
   (* initialisation des données à envoyer *)
   %MW93:= 20;
   (* fonction de communication *)
   DATA_EXCH(ADDR(’{20.2}APP’),2,%MW70:10,%MW90:4,%MW80:1);
END_IF;

Paramètres de la requête :

Paramètres

Description

ADDR(‘{20.2}APP’)

  • 20 : réseau

  • 2 : station

  • APP : application de la station 2

2

Type de communication : émission

%MW70:10

Données à envoyer

%MW90:4

Table de gestion

%MW80:1

Zone de réception des réponses. En l'occurrence, il n'existe aucune donnée à recevoir, mais un mot doit cependant être réservé (obligatoire).

Réception programmée dans la station 2

IF RE(%I0.3.4) AND NOT %MW90.0 THEN
   (* initialisation des données à recevoir *)
   %MW93:= 0;
   (* fonction de communication *)
   DATA_EXCH(ADDR(’{20.1}APP’),3,%MW70:1,%MW90:4,%MW80:10);
END_IF;

Paramètres de la requête :

Paramètres

Description

ADDR(‘{20.1}APP’)

  • 20 : réseau

  • 1 : station

  • APP : application de la station 1

3

Type de communication : réception

%MW70:1

Données à envoyer. En l'occurrence, il n'y en a pas, mais au moins un mot doit être réservé.

%MW90:4

Table de gestion

%MW80:10

Zone de réception : 10 mots sont délivrés à partir de la station 1.