Présentation
Les paramètres de sortie CONTROL
et DATABUF
définissent l'opération
effectuée par le bloc fonction MBP_MSTR
. Pour le protocole Modbus TCP, la structure et le contenu du paramètre
de sortie CONTROL
varient selon le code fonction.
La structure
du paramètre CONTROL
est décrite ci-après
pour chaque code fonction pris en charge.
Reportez-vous au document Quantum EIO - Guide de planification du système pour voir un exemple de bloc MSTR créé dans une application Control Expert afin de lire les ports d'un commutateur double anneau (DRS) et de diagnostiquer une rupture d'un sous-anneau.
Registre de routage du paramètre CONTROL
Le registre de routage CONTROL[5]
spécifie l'adresse des nœuds source et cible pour le
transfert de données de réseau, et contient les deux octets
suivants :
Octet de poids fort (MSB) : contient l'adresse du nœud source, par exemple le numéro d'emplacement du 140 NOC 78• 00.
Octet de poids faible (LSB) : contient l'adresse du nœud cible, une valeur représentant une adresse directe ou une adresse de pont. Cet octet est obligatoire pour les équipements accessibles via un pont, par exemple un pont Ethernet vers Modbus ou Ethernetvers Modbus Plus. Ses valeurs sont les suivantes :
Si aucun pont n'est utilisé : octet de poids faible de valeur nulle (0).
Si un pont est utilisé : l'octet de poids faible contient la valeur d'index de mappage MET (Modbus Plus on Ethernet Transporter). Cette valeur, également appelée ID d'unité, identifie l'équipement auquel le message est destiné.
Registre de routage CONTROL[5]
:

Lorsque le module de communication Ethernet se comporte comme un serveur, l'octet de poids faible indique la destination d'un message qu'il a reçu :
les messages ayant un octet de poids faible compris entre 0 et 254 sont transmis à la CPU et traités par cette dernière ;
les messages ayant un octet de poids faible égal à 255 sont conservés et traités par le module de communication Ethernet.
Ecriture de données
Le paramètre CONTROL est composé de 9 mots contigus, décrits ci-après :
Registre |
Fonction |
Description |
---|---|---|
|
Opération |
1= écriture de données |
|
Etat d'erreur détectée |
Contient le code d'événement (lecture seule). |
|
Longueur du tampon de données |
Nombre d'adresses envoyées à l'esclave |
|
Registre de départ |
Adresse de départ de l'esclave dans lequel les données sont écrites, en mots de 16 bits. |
|
Registre de routage |
Octet de poids fort = Emplacement du module de communication Ethernet |
Octet de poids faible = Index de mappage MET (MBP on Ethernet Transporter) |
||
|
Adresse IP |
Octet 4 de l'adresse IP (MSB) |
|
Octet 3 de l'adresse IP |
|
|
Octet 2 de l'adresse IP |
|
|
Octet 1 de l'adresse IP (LSB) |
|
1. Par exemple, le paramètre CONTROL gère l'adresse IP 192.168.1.7 dans l'ordre suivant : Octet 4 = 192, Octet 3 = 168, Octet 2 = 1, Octet 1 = 7. |
Lecture de données
Le paramètre CONTROL est composé de 9 mots contigus, décrits ci-après :
Registre |
Fonction |
Description |
---|---|---|
|
Opération |
2 = lecture de données |
|
Etat d'erreur détectée |
Contient le code d'événement (lecture seule). |
|
Longueur du tampon de données |
Nombre d'adresses à lire depuis l'esclave |
|
Registre de départ |
Détermine le registre de départ %MW dans l'esclave à partir duquel les données sont lues. Par exemple : 1 = %MW1, 49 = %MW49) |
|
Registre de routage |
Octet de poids fort = Emplacement du module de communication Ethernet |
Octet de poids faible = Index de mappage MET (MBP on Ethernet Transporter) |
||
|
Adresse IP |
Octet 4 de l'adresse IP (MSB) |
|
Octet 3 de l'adresse IP |
|
|
Octet 2 de l'adresse IP |
|
|
Octet 1 de l'adresse IP (LSB) |
|
1. Par exemple, le paramètre CONTROL gère l'adresse IP 192.168.1.7 dans l'ordre suivant : Octet 4 = 192, Octet 3 = 168, Octet 2 = 1, Octet 1 = 7. |
Obtention de statistiques locales
Le paramètre CONTROL est composé de 9 mots contigus, décrits ci-après :
Registre |
Fonction |
Description |
---|---|---|
|
Opération |
3 = lecture de statistiques locales |
|
Etat d'erreur détectée |
Contient le code d'événement (lecture seule). |
|
Longueur du tampon de données |
Nombre d'adresses à lire depuis les statistiques locales (0 à 37). |
|
Registre de départ |
Première adresse à partir de laquelle la table des statistiques est lue (Reg1=0). |
|
Registre de routage |
Octet de poids fort = Emplacement du module de communication Ethernet |
Octet de poids faible = Index de mappage MET (MBP on Ethernet Transporter) |
||
|
(non utilisé) |
— |
|
||
|
||
|
Réponse
du module : un module TCP/IP Ethernet répond
à la commande Obtention de statistiques locales
avec les informations suivantes :
Mot |
Description |
|||
---|---|---|---|---|
00...02 |
Adresse MAC |
|||
03 |
Etat de la carte – Ce mot contient les bits suivants : |
|||
Bit 15 |
0 = DEL Link éteinte ; 1 = DEL Link allumée |
Bit 3 |
Réservé |
|
Bits 14 à 13 |
Réservé |
Bit 2 |
0 = semi-duplex ; 1 = duplex intégral |
|
Bit 12 |
0 = 10 Mbits ; 1 = 100 Mbits |
Bit 1 |
0 = non configuré ; 1 = configuré |
|
Bits 11 à 9 |
Réservé |
Bit 0 |
0 = l'automate ne fonctionne pas ; 1 = l'automate/NOC fonctionne |
|
Bits 8 à 4 |
Type du module – Ce bit contient les valeurs suivantes : |
|||
|
|
|||
04 et 05 |
Nombre d'interruptions récepteur |
|||
06 et 07 |
Nombre d'interruptions émetteur |
|||
08 et 09 |
Nombre d'erreurs détectées de timeout d'émission |
|||
10 et 11 |
Compte d'erreur de détection de collisions |
|||
12 et 13 |
Paquets manquants |
|||
14 et 15 |
(réservé) |
|||
16 et 17 |
Nombre de fois où le pilote a redémarré |
|||
18 et 19 |
Erreur détectée de trame de réception |
|||
20 et 21 |
Erreur détectée de débordement du récepteur |
|||
22 et 23 |
Erreur détectée du CRC de réception |
|||
24 et 25 |
Erreur détectée du tampon de réception |
|||
26 et 27 |
Erreur détectée du tampon d'émission |
|||
28 et 29 |
Emission dépassement par valeur inférieure silo |
|||
30 et 31 |
Collision tardive |
|||
32 et 33 |
Perte de porteuse |
|||
34 et 35 |
Nombre de réitérations |
|||
36 et 37 |
Adresse IP |
Suppression de statistiques locales
Le paramètre CONTROL est composé de 9 mots contigus, décrits ci-après :
Registre |
Fonction |
Description |
---|---|---|
|
Opération |
4 = suppression de statistiques locales |
|
Etat d'erreur détectée |
Contient le code d'événement (lecture seule). |
|
(non utilisé) |
— |
|
(non utilisé) |
— |
|
Registre de routage |
Octet de poids fort = Emplacement du module de communication Ethernet |
Octet de poids faible = Index de mappage MET (MBP on Ethernet Transporter) |
||
|
(non utilisé) |
— |
|
||
|
||
|
Obtention de statistiques distantes
Le paramètre CONTROL est composé de 9 mots contigus, décrits ci-après :
Registre |
Fonction |
Description |
---|---|---|
|
Opération |
7 = obtention de statistiques distantes |
|
Etat d'erreur détectée |
Contient le code d'événement (lecture seule). |
|
Longueur du tampon de données |
Nombre d'adresses à lire dans le champ de données statistiques (0 à 37). |
|
Registre de départ |
Première adresse à partir de laquelle la table des statistiques de l'abonné est lue. |
|
Registre de routage |
Octet de poids fort = Emplacement du module de communication Ethernet |
Octet de poids faible = Index de mappage MET (MBP on Ethernet Transporter) |
||
|
Adresse IP |
Octet 4 de l'adresse IP (MSB) |
|
Octet 3 de l'adresse IP |
|
|
Octet 2 de l'adresse IP |
|
|
Octet 1 de l'adresse IP (LSB) |
|
1. Par exemple, le paramètre CONTROL gère l'adresse IP 192.168.1.7 dans l'ordre suivant : Octet 4 = 192, Octet 3 = 168, Octet 2 = 1, Octet 1 = 7. |
Suppression de statistiques distantes
Le paramètre CONTROL est composé de 9 mots contigus, décrits ci-après :
Registre |
Fonction |
Description |
---|---|---|
|
Opération |
8 = suppression de statistiques distantes |
|
Etat d'erreur détectée |
Contient le code d'événement (lecture seule). |
|
(non utilisé) |
— |
|
(non utilisé) |
— |
|
Registre de routage |
Octet de poids fort = Emplacement du module de communication Ethernet |
Octet de poids faible = Index de mappage MET (MBP on Ethernet Transporter) |
||
|
Adresse IP |
Octet 4 de l'adresse IP (MSB) |
|
Octet 3 de l'adresse IP |
|
|
Octet 2 de l'adresse IP |
|
|
Octet 1 de l'adresse IP (LSB) |
|
1. Par exemple, le paramètre CONTROL gère l'adresse IP 192.168.1.7 dans l'ordre suivant : Octet 4 = 192, Octet 3 = 168, Octet 2 = 1, Octet 1 = 7. |
Réinitialisation du module
Le paramètre CONTROL est composé de 9 mots contigus, décrits ci-après :
Registre |
Fonction |
Description |
---|---|---|
|
Opération |
10 = réinitialisation du module |
|
Etat d'erreur détectée |
Contient le code d'événement (lecture seule). |
|
(non utilisé) |
— |
|
(non utilisé) |
— |
|
Registre de routage |
Octet de poids fort = Emplacement du module de communication Ethernet |
Octet de poids faible = Index de mappage MET (MBP on Ethernet Transporter) |
||
|
(non utilisé) |
— |
|
||
|
||
|
Lecture/écriture de données
Le paramètre CONTROL est composé de 11 mots contigus, décrits ci-après :
Registre |
Fonction |
Description |
---|---|---|
|
Opération |
23 = lecture/écriture de données |
|
Etat d'erreur détectée |
Contient le code d'événement (lecture seule). |
|
Longueur du tampon de données |
Nombre d'adresses envoyées à l'esclave |
|
Registre de départ |
Détermine le registre de départ %MW dans l'esclave, dans lequel écrire les données. Par exemple : 1 = %MW1, 49 = %MW49) |
|
Registre de routage |
Octet de poids fort = Emplacement du module de communication Ethernet |
Octet de poids faible = Index de mappage MET (MBP on Ethernet Transporter) |
||
|
Adresse IP |
Octet 4 de l'adresse IP (MSB) |
|
Octet 3 de l'adresse IP |
|
|
Octet 2 de l'adresse IP |
|
|
Octet 1 de l'adresse IP (LSB) |
|
|
Longueur du tampon de données |
Nombre d'adresses à lire depuis l'esclave |
|
Registre de départ |
Détermine le registre de départ %MW dans l'esclave à partir duquel les données sont lues. Par exemple : 1 = %MW1, 49 = %MW49) |
1. Par exemple, le paramètre CONTROL gère l'adresse IP 192.168.1.7 dans l'ordre suivant : Octet 4 = 192, Octet 3 = 168, Octet 2 = 1, Octet 1 = 7. |
Activaction/désactivation des services HTTP ou FTP/TFTP
Si HTTP ou FTP/TFTP a été activé via les outils de configuration de Control Expert, vous pouvez utiliser un bloc MSTR pour changer l'état activé du service durant le fonctionnement de l'application. Le bloc MSTR ne peut pas changer l'état d'un service HTTP ou FTP/TFTP si le service a été désactivé via un outil de configuration.
Le paramètre CONTROL est composé de 9 mots contigus, décrits ci-après :
Registre |
Fonction |
Description |
---|---|---|
|
Opération |
FFF0 (hexadécimal) 65520 (décimal) = activer/désactiver HTTP ou FTP/TFTP |
|
Etat d'erreur détectée |
Contient le code d'événement (lecture seule). Principaux codes de retour : 0x000 (réussite) : le bloc MSTR ayant le code opérationnel 0xFFF0 a été appelé et l'état activé du service HTTP ou FTP/TFTP a été changé. 0x5068 (occupé) : le bloc MSTR ayant le code opérationnel 0xFFF0 a été appelé dans un délai de 2 secondes après l'appel précédent (quel que soit le code de retour de l'appel précédent). 0x4001 (même état) : le bloc MSTR ayant le code opérationnel 0xFFF0 a été appelé pour faire passe l'état activé des services HTTP et FTP/TFTP à l'état dans lequel ils se trouvaient. 0x2004 (données non valides) : le bloc MSTR ayant le code opérationnel 0xFFF0 a été appelé et les données du bloc de contrôle ne correspondaient pas aux spécifications. 0x5069 (désactivé) : le service HTTP ou FTP/TFTP a déjà été désactivé via l'interface de Control Expert lorsque le bloc MSTR ayant le code opérationnel 0xFFF0 a été appelé pour changer l'état du service désactivé. |
|
Définir ce registre sur 1. |
|
|
||
|
Numéro d'emplacement du module et ID de destination |
Octet de poids fort = Numéro d'emplacement du module et emplacement du module de communication |
Octet de poids faible = ID de destination |
||
|
Mode de requête |
Bit 0 (LSB) = 1 : activer FTP/TFTP Bit 0 (LSB) = 0 : désactiver FTP/TFTP Bit 1 = 1 : activer HTTP Bit 1 = 0 : désactiver HTTP |
|
Définir ce registre sur 0. |
|
|
||
|
Les changements d'état des services HTTP, FTP et TFTP effectués par MSTR avec le code opération FFF0 (hexadécimal) sont remplacés par la valeur configurée lorsque le module est redémarré ou réinitialisé et lorsqu'une nouvelle application est téléchargée sur le module.
Voici quelques exemples :
Etat configuré par Control Expert |
Action tentée à l'aide de MSTR avec le code opération FFF0 (hex) |
Résultat |
---|---|---|
Désactivé |
Tout |
MSTR renvoie le code d'erreur détectée 0x5069 (le service a déjà été désactivé par configuration) |
Activé |
Désactiver |
MSTR renvoie le code 0x000 (réussite).
|
Activer |
MSTR renvoie le code d'erreur détectée 0x4001 (même état). Aucun changement effectué |