Configuration de la messagerie explicite avec SEND_REQ
Traduction de la notice originale
Présentation
Utilisez le bloc fonction SEND_REQ pour configurer les messages explicites EtherNet/IP connectés et non connectés. Le bloc SEND_REQ peut :
Les paramètres Management_Param, Data_to_Send et Received_Data définissent l'opération. Pour plus d'informations, consultez les sections Configuration du paramètre Management, Configuration du paramètre Data_to_Send et Contenu du paramètre Received_Data ci-après.
EN et ENO peuvent être configurés comme paramètres supplémentaires.
Représentation en FBD
Représentation en LD
Représentation en IL
Adresse en LD
SEND_REQ Request_Code, Data_to_Send, Management_Param, Received_Data
Représentation en ST
SEND_REQ (Address, Request_Code, Data_to_Send, Management_Param, Received_Data);
Paramètres d'entrée
Paramètre
Type de données
Description
Address
Array [0...5] of INT
Chemin d'accès à l'équipement de destination.
Request_Code
INT
Toujours 0x0E (pour une requête CIP).
Data_to_Send
Array [n...m] of INT
Requête CIP et type de message (connecté ou non connecté).
Paramètres d'entrée/sortie
Paramètre
Type de données
Description
Management_Param
Array [0...3] of INT
Paramètre de gestion composé de 4 mots.
Paramètres de sortie
Paramètre
Type de données
Description
Received_Data
Array [n...m] of INT
Réponse CIP.
Configuration du paramètre Address
Pour configurer le paramètre Address, utilisez la fonction ADDR afin de convertir une chaîne de caractères en adresse, comme suit :
ADDR(‘{réseau.station}rack.module.voie.adresse de destination’)
NOTE :
  • Les éléments d'adresse Xway {réseau.station} ne sont obligatoires que lorsque l'on établit un pont à travers une autre station automate.
  • La valeur du paramètre voie est toujours 0.
Configuration du paramètre Management
Le paramètre Management est composé de 4 mots contigus, décrits ci-après :
Source de données
Registre
Description
Octet de poids fort (MSB)
Octet de poids faible (LSB)
Données gérées par le système
Management_Param[0]
Numéro d'échange
Bit d'activité (bit 0)
Voir ci-dessous
Management_Param[1]
Données gérées par l'utilisateur
Management_Param[2]
Délai d'expiration du bloc. Valeurs possibles :
  • 0 = attente infinie
  • autres valeurs = délai d'expiration x 100 ms, par exemple :
    • 1 = 100 ms
    • 2 = 200 ms
    • etc.
Management_Param[3]
Longueur du paramètre d'envoi/réception de données :
  • Entrée (avant l'envoi) : longueur du paramètre Data_to_Send.
  • Sortie (après la réception) : longueur du paramètre Received_Data.
Bit d'activité :
Ce bit indique l'état d'exécution de la fonction de communication.
Il est défini à 1 lors du lancement et revient à 0 lorsque sont exécution est terminée.
C'est le premier bit du premier élément de la table.
Exemple : si la table de gestion a été déclarée comme suit :
Tab_Gest ARRAY [0.3] OF INT,
le bit d'activité est celui correspondant à la notation Tab_Gest[1].0.
NOTE : la notation utilisée précédemment nécessite de configurer les propriétés du projet de façon à autoriser l'extraction de bits sur les types d'entier, faute de quoi, il est impossible d'accéder à Tab_Gest[1].0 de cette manière.
Configuration du paramètre Data_to_Send
Le paramètre Data_to_Send varie en taille . Il est composé de registres contigus comprenant le type de message et la requête CIP (en séquence).
Contenu
Longueur
Décalage d'octet
Type de données
Description
Type de message
1 mot
0
INT
  • 0 = message non connecté
  • 1 = message connecté
Requête CIP1
Définie par Management_Param[3] (longueur du paramètre Data_to_Send)
2
Octet
Service : service effectué par le message explicite.
3
Octet
Request_Path_Size : nombre de mots figurant dans le champ Request_Path.
4
Tableau d'octets
Request_Path : chemin de la requête de cette transaction (indique l'ID de classe, l'ID d'instance, etc.).
...
Tableau d'octets
Request_Data : données spécifiques du service à livrer dans la requête de message explicite. S'il n'y en a pas, ce champ reste vide.
1 
La requête CIP doit être structurée selon l'ordre « petit-boutiste ».
Contenu du paramètre Received_Data
Le paramètre Received_Data contient uniquement la réponse CIP. La longueur de cette réponse est variable. Elle est indiquée par Management_Param[3] après la réception de la réponse. Le format de la réponse CIP est décrit ci-dessous.
Décalage d'octet
Champ
Type de données
Description
0
Service de réponse
Octet
Service du message explicite + 0x80.
1
Réservé
Octet
0
2
Etat général
Octet
Etat général EtherNet/IP.
3
Taille d'état supplémentaire
Octet
Taille du tableau d'octets d'état supplémentaire, en mots.
4
Etat supplémentaire
Tableau d'octets
Etat supplémentaire.
...
Données de réponse
Tableau d'octets
Données de réponse de la requête, ou données d'erreur supplémentaires si le champ Etat général signale une erreur.
NOTE : la réponse doit être structurée selon l'ordre « petit-boutiste ».