Présentation

Les paramètres de sortie CONTROL et DATABUF définissent l'opération exécutée par le bloc fonction MBP_MSTR. Pour le protocole EtherNet/IP, la structure des paramètres de sortie CONTROL et DATABUF reste inchangée pour chaque service de messagerie explicite.

Configuration du paramètre de contrôle

Le paramètre de contrôle est composé de 9 mots contigus, décrits ci-après :

Registre

Fonction

Description

CONTROL[0]

Opération

  • 14 = non connecté

  • 270 = connecté

CONTROL[1]

Etat d'erreur détectée

Contient le code d'événement (lecture seule).

CONTROL[2]

Longueur du tampon de données

Longueur du tampon de données, en mots

CONTROL[3]

Décalage de réponse

Décalage du début de la réponse dans le tampon de données, en mots de 16 bits

Remarque : pour éviter l'écrasement de la requête, vérifiez que la valeur de décalage de la réponse est supérieure à la longueur de la requête CONTROL[7].

CONTROL[4]

Slot

Octet de poids fort = emplacement dans l'embase

Octet de poids faible = 0 (non utilisé)

CONTROL[5]1

Adresse IP

Octet de poids fort = octet 4 de l'adresse IP (bit de poids fort)

Octet de poids faible = octet 3 de l'adresse IP

CONTROL[6]1

Octet de poids fort = octet 2 de l'adresse IP

Octet de poids faible = octet 1 de l'adresse IP (bit de poids faible)

CONTROL[7]

Longueur de la requête

Longueur de la requête CIP, en octets

CONTROL[8]

Longueur de la réponse

Longueur de la réponse reçue, en octets

Lecture seule—défini après exécution

1. Pour cet exemple, le paramètre de contrôle traite l'adresse IP 192.168.1.6 dans l'ordre suivant : Octet 4 = 192, octet 3 = 168, octet 2 = 1, octet 1 = 6.

Configuration du tampon de données

La taille du tampon de données varie. Il est composé de registres contigus comprenant la requête CIP et la réponse CIP (en séquence). Pour éviter l'écrasement de la requête, vérifiez que le tampon de données est assez grand pour contenir à la fois les données de la requête et de la réponse.

Tampon de données :

Taille variable : définie dans CONTROL[2]

Demande CIP :

Taille de la requête : définie dans CONTROL[7]

Réponse CIP :

Position de départ : définie dans CONTROL[3]

Taille de la réponse : indiquée dans CONTROL[8]

NOTE : si le décalage de la réponse est inférieur à la taille de la requête, les données de la réponse remplacent une partie de la requête.

Le format de la requête CIP et de la réponse CIP du tampon de données est décrit ci-après.

NOTE : structurez à la fois la requête et la réponse au format « petit-boutiste ».

Requête :

Décalage d'octet

Elément

Type de données

Description

0

Service

Octet

Service du message explicite

1

Request_Path_Size

Octet

Nombre de mots figurant dans le champ Request_Path.

2

Request_Path

EPATH complété

Ce tableau d'octet décrit le chemin de la requête et indique l'ID de classe, l'ID d'instance, etc. de cette transaction

...

Request_Data

Tableau d'octets

Données spécifiques au service à livrer dans la requête de message explicite. S'il n'y en a pas, ce champ reste vide

Réponse :

Décalage d'octet

Champ

Type de données

Description

0

Service de réponse

Octet

Service du message explicite + 16#80

1

Réservés

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 de mots

Etat supplémentaire1

...

Données de réponse

Tableau d'octets

Données de réponse de la requête, ou données d'erreur détectée supplémentaires si le champ Etat général signale une erreur

1. Reportez-vous au document The CIP Networks Library, Volume 1, Common Industrial Protocol, à la section 3-5.6 Codes d'erreur détectée de l'instance d'objet gestionnaire de connexion.