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.

NOTE : l'ID d'unité 255 doit être utilisé lorsque le module de communication Ethernet demande des données de diagnostic.

Ecriture de données

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

Registre

Fonction

Description

COMMANDE[1]

Opération

1= écriture de données

COMMANDE[2]

Etat d'erreur détectée

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

COMMANDE[3]

Longueur du tampon de données

Nombre d'adresses envoyées à l'esclave

COMMANDE[4]

Registre de départ

Adresse de départ de l'esclave dans lequel les données sont écrites, en mots de 16 bits.

COMMANDE[5]

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)

CONTROL[6] 1

Adresse IP

Octet 4 de l'adresse IP (MSB)

CONTROL[7] 1

Octet 3 de l'adresse IP

CONTROL[8] 1

Octet 2 de l'adresse IP

CONTROL[9] 1

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

COMMANDE[1]

Opération

2 = lecture de données

COMMANDE[2]

Etat d'erreur détectée

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

COMMANDE[3]

Longueur du tampon de données

Nombre d'adresses à lire depuis l'esclave

COMMANDE[4]

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)

COMMANDE[5]

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)

CONTROL[6] 1

Adresse IP

Octet 4 de l'adresse IP (MSB)

CONTROL[7] 1

Octet 3 de l'adresse IP

CONTROL[8] 1

Octet 2 de l'adresse IP

CONTROL[9] 1

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

COMMANDE[1]

Opération

3 = lecture de statistiques locales

COMMANDE[2]

Etat d'erreur détectée

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

COMMANDE[3]

Longueur du tampon de données

Nombre d'adresses à lire depuis les statistiques locales (0 à 37).

COMMANDE[4]

Registre de départ

Première adresse à partir de laquelle la table des statistiques est lue (Reg1=0).

COMMANDE[5]

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)

COMMANDE[6]

(non utilisé)

COMMANDE[7]

COMMANDE[8]

COMMANDE[9]

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 :

  • 0 = NOE 2x1

  • 1 = ENT

  • 2 = M1E

  • 3 = NOE 771 00

  • 4 = ETY

  • 5 = CIP

  • 6 = (réservé)

  • 7 = 140 CPU 651 x0

  • 8 = 140 CRP 312 00

  • 9 = (réservé)

  • 10 = 140 NOE 771 10

  • 11 = 140 NOE 771 01

  • 12 = 140 NOE 771 11

  • 13 = (réservé)

  • 14 = 140 NOC 78• 00

  • 15...16 = (réservé)

  • 17 = UC M340

  • 18 = M340 NOE

  • 19 = BMX NOC 0401

  • 20 = TSX ETC 101

  • 21 = 140 NOC 771 01

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

COMMANDE[1]

Opération

4 = suppression de statistiques locales

COMMANDE[2]

Etat d'erreur détectée

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

COMMANDE[3]

(non utilisé)

COMMANDE[4]

(non utilisé)

COMMANDE[5]

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)

COMMANDE[6]

(non utilisé)

COMMANDE[7]

COMMANDE[8]

COMMANDE[9]

Obtention de statistiques distantes

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

Registre

Fonction

Description

COMMANDE[1]

Opération

7 = obtention de statistiques distantes

COMMANDE[2]

Etat d'erreur détectée

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

COMMANDE[3]

Longueur du tampon de données

Nombre d'adresses à lire dans le champ de données statistiques (0 à 37).

COMMANDE[4]

Registre de départ

Première adresse à partir de laquelle la table des statistiques de l'abonné est lue.

COMMANDE[5]

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)

CONTROL[6] 1

Adresse IP

Octet 4 de l'adresse IP (MSB)

CONTROL[7] 1

Octet 3 de l'adresse IP

CONTROL[8] 1

Octet 2 de l'adresse IP

CONTROL[9] 1

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

COMMANDE[1]

Opération

8 = suppression de statistiques distantes

COMMANDE[2]

Etat d'erreur détectée

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

COMMANDE[3]

(non utilisé)

COMMANDE[4]

(non utilisé)

COMMANDE[5]

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)

CONTROL[6] 1

Adresse IP

Octet 4 de l'adresse IP (MSB)

CONTROL[7] 1

Octet 3 de l'adresse IP

CONTROL[8] 1

Octet 2 de l'adresse IP

CONTROL[9] 1

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

COMMANDE[1]

Opération

10 = réinitialisation du module

COMMANDE[2]

Etat d'erreur détectée

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

COMMANDE[3]

(non utilisé)

COMMANDE[4]

(non utilisé)

COMMANDE[5]

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)

COMMANDE[6]

(non utilisé)

COMMANDE[7]

COMMANDE[8]

COMMANDE[9]

Lecture/écriture de données

Le paramètre CONTROL est composé de 11 mots contigus, décrits ci-après :

Registre

Fonction

Description

COMMANDE[1]

Opération

23 = lecture/écriture de données

COMMANDE[2]

Etat d'erreur détectée

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

COMMANDE[3]

Longueur du tampon de données

Nombre d'adresses envoyées à l'esclave

COMMANDE[4]

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)

COMMANDE[5]

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)

CONTROL[6] 1

Adresse IP

Octet 4 de l'adresse IP (MSB)

CONTROL[7] 1

Octet 3 de l'adresse IP

CONTROL[8] 1

Octet 2 de l'adresse IP

CONTROL[9] 1

Octet 1 de l'adresse IP (LSB)

COMMANDE[10]

Longueur du tampon de données

Nombre d'adresses à lire depuis l'esclave

COMMANDE[11]

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

COMMANDE[1]

Opération

FFF0 (hexadécimal) 65520 (décimal) = activer/désactiver HTTP ou FTP/TFTP

COMMANDE[2]

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é.

COMMANDE[3]

 

Définir ce registre sur 1.

COMMANDE[4]

COMMANDE[5]

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

COMMANDE[6]

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

COMMANDE[7]

 

Définir ce registre sur 0.

COMMANDE[8]

COMMANDE[9]

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).

  • Une autre action par bloc MSTR active le service

    OU

  • Le module est réinitialisé ou redémarré

    OU

  • Une nouvelle application est téléchargée et le service est désactivé par configuration

Activer

MSTR renvoie le code d'erreur détectée 0x4001 (même état). Aucun changement effectué