Codes de diagnostic pris en charge
Le code fonction 3 Modbus permet d'accéder à une grande variété de fonctions de diagnostic, concernant notamment le réseau, les ports Ethernet et le port 502 Modbus.
Pour accéder aux diagnostics du code fonction 3 depuis l'équipement local, vous devez définir l'ID d'unité sur 100.
Les modules suivants prennent en charge les codes de diagnostic Modbus indiqués ci-après.
Module de tête d'E/S distantes Quantum (140CRP31200)
Module de tête d'E/S distribuées Quantum (140NOC78000)
Module de communication de commande Quantum (140NOC78100)
Module adaptateur d'E/S distantes Quantum (140CRA31200)
Module de tête d'E/S distribuées M340 (BMXNOC0401)
Module adaptateur d'E/S distantes M340 (BMXCRA31200)
Module Quantum IEC 61850 (140NOP85000)
Module de communication M580 (BMENOC03•1)
Module de communication M580 (BMENOP0300)
Code fonction 3 Modbus : Diagnostic réseau de base
Les informations de diagnostic réseau de base sont disponibles à partir de l'adresse 40001 (décimal), comme décrit dans le tableau suivant.
Adresse de début (décimal) |
Longueur (mots) |
Ordre des octets dans le registre |
Commentaires |
|
---|---|---|---|---|
OCTET DE POIDS FORT |
OCTET DE POIDS FAIBLE |
|||
40001 |
2 |
Octet de poids fort 00 |
Octet 01 |
Validité du diagnostic réseau de base |
Octet 02 |
Octet de poids faible |
|||
40003 |
1 |
Octet de poids fort |
Octet de poids faible 03 |
Etat global des communications |
40004 |
1 |
Octet de poids fort |
Octet de poids faible |
Services de communication pris en charge |
40005 |
1 |
Octet de poids fort |
Octet de poids faible |
Etat des services de communication |
40006 |
2 |
IP1 |
IP2 |
Adresse IP (IP1.IP2.IP3.IP4) |
IP3 |
IP4 |
|||
40008 |
2 |
MS 1 |
MS 2 |
Masque de sous-réseau (MS1.MS2.MS3.MS4) |
MS 3 |
MS 4 |
|||
40010 |
2 |
P 1 |
P 2 |
Passerelle par défaut (P1.P2.P3.P4) |
P 3 |
P 4 |
|||
40012 |
3 |
MAC 1 |
MAC 2 |
Adresse MAC (MAC1:MAC2:MAC3:MAC4:MAC5:MAC6) |
MAC 3 |
MAC 4 |
|||
MAC 5 |
MAC 6 |
|||
40015 |
3 |
Octet de poids fort 00 |
01 |
Format de trame Ethernet - fonction/configuration/fonctionnement |
02 |
03 |
|||
04 |
Octet de poids faible 05 |
|||
40018 |
2 |
C00 |
C01 |
Trames Ethernet reçues OK |
C02 |
C03 |
|||
40020 |
2 |
C00 |
C01 |
Trames Ethernet transmises OK |
C02 |
C03 |
|||
40022 |
1 |
Octet de poids fort |
Octet de poids faible |
Nombre de connexions client ouvertes |
40023 |
1 |
Octet de poids fort |
Octet de poids faible |
Nombre de connexions serveur ouvertes |
40024 |
2 |
C00 |
C01 |
Nombre de messages d'erreur détectée Modbus envoyés |
C02 |
C03 |
|||
40026 |
2 |
C00 |
C01 |
Nombre de messages Modbus envoyés |
C02 |
C03 |
|||
40028 |
2 |
C00 |
C01 |
Nombre de messages Modbus reçus |
C02 |
C03 |
|||
40030 |
8 |
Car. 1 |
Car. 2 |
Nom d'équipement |
Car. 3 |
Car. 4 |
|||
Car. 5 |
Car. 6 |
|||
Car. 7 |
Car. 8 |
|||
Car. 9 |
Car. 10 |
|||
Car. 11 |
Car. 12 |
|||
Car. 13 |
Car. 14 |
|||
Car. 15 |
Car. 16 |
|||
40038 |
2 |
Octet de poids fort 00 |
Octet 01 |
Mode d'affectation d'adresse IP - fonction/fonctionnement |
Octet 02 |
Octet de poids faible 03 |
Exemple : Lecture des diagnostics réseau de base avec le code fonction 3 Modbus
Prenons un exemple pour expliquer comment lire les registres 40018 et 40019, qui permettent de comptabiliser le nombre de trames Ethernet reçues OK. La requête comporte 7 octets. Voici la formule de calcul de l'adresse de début, représentée au format hexadécimal dans l'octet 2 ci-dessous :
40018 - 40001 = 17 déc = (11 hex)
Le nombre de registres à diagnostiquer (2 hexadécimal) figure dans l'octet 4 :
Numéro d'octet |
Valeur |
---|---|
0 |
Code fonction = 03 (hex) |
1 |
Adresse de début (poids fort) = 00 (hex) |
2 |
Adresse de début (poids faible) = 11 (hex) |
3 |
Nombre de registres (poids fort) = 00 (hex) |
4 |
Nombre de registres (poids faible) = 2 (hex) |
5 |
Octet de poids fort CRC (inséré par l'application émettrice Modbus) |
6 |
Octet de poids faible CRC (inséré par l'application émettrice Modbus) |
La réponse normale est renvoyée dans 8 octets. Dans cet exemple, la réponse attendue est 14229 hexadécimal. Cette valeur figure dans les octets 2 à 5 de la réponse :
Numéro d'octet |
Valeur |
---|---|
0 |
Code fonction = 03 (hex) |
1 |
Nombre d'octets = 4 (hex) |
2 |
Données 1er registre, octet de poids fort = 00 (hexadécimal) |
3 |
Données 1er registre, octet de poids faible = 01 (hexadécimal) |
4 |
Données 2e registre, octet de poids fort = 42 (hexadécimal) |
5 |
Données 2e registre, octet de poids faible = 29 (hexadécimal) |
6 |
Octet de poids fort CRC |
7 |
Octet de poids faible CRC |
Numéro d'octet |
Valeur |
---|---|
0 |
Code fonction d'origine + 80 hex (= 83 hex) |
1 |
Code de l'erreur détectée |
2 |
Octet de poids fort CRC |
3 |
Octet de poids faible CRC |
Pour plus d'informations sur le code fonction 3 Modbus et sur les autres codes fonction, reportez-vous au Guide de référence du protocole Modicon Modbus (PI-MBUS-300).
Code fonction 3 Modbus : Données de diagnostic du port interne Ethernet
Les informations de diagnostic du port interne sont disponibles à partir de l'adresse 40040 (décimal), comme décrit dans le tableau suivant.
Adresse de début (décimal) |
Longueur (mots) |
Ordre des octets dans le registre |
Commentaires |
|
---|---|---|---|---|
OCTET DE POIDS FORT |
OCTET DE POIDS FAIBLE |
|||
40040 |
1 |
Octet de poids fort |
Octet de poids faible |
Validité des données de diagnostic du port interne |
40041 |
1 |
Octet de poids fort |
Octet de poids faible |
Numéro logique/physique du port interne |
40042 |
1 |
Octet de poids fort |
Octet de poids faible |
Commande Ethernet du port interne - Fonction |
40043 |
1 |
Octet de poids fort |
Octet de poids faible |
Vitesse de liaison du port interne - Fonction |
40044 |
1 |
Octet de poids fort |
Octet de poids faible |
Commande Ethernet du port interne - Configuration |
40045 |
1 |
Octet de poids fort |
Octet de poids faible |
Vitesse de liaison du port interne - Configuration |
40046 |
1 |
Octet de poids fort |
Octet de poids faible |
Commande Ethernet du port interne - Fonctionnement |
40047 |
1 |
Octet de poids fort |
Octet de poids faible |
Vitesse de liaison du port interne - Fonctionnement |
40048 |
3 |
MAC 1 |
MAC 2 |
Adresse MAC (MAC1:MAC2:MAC3:MAC4:MAC5:MAC6) |
MAC 3 |
MAC 4 |
|||
MAC 5 |
MAC 6 |
|||
40051 |
2 |
MSB C00 |
C01 |
Validité des données des compteurs de supports du port interne |
C02 |
LSB C03 |
|||
40053 |
2 |
MSB C00 |
C01 |
Nombre de trames transmises OK sur le port interne |
C02 |
LSB C03 |
|||
40055 |
2 |
MSB C00 |
C01 |
Nombre de trames reçues OK sur le port interne |
C02 |
LSB C03 |
|||
40057 |
2 |
MSB C00 |
C01 |
Nombre de collisions Ethernet sur le port interne |
C02 |
LSB C03 |
|||
40059 |
2 |
MSB C00 |
C01 |
Erreurs de détection de porteuse détectées sur le port interne |
C02 |
LSB C03 |
|||
40061 |
2 |
MSB C00 |
C01 |
Nombre de collisions Ethernet excessives sur le port interne |
C02 |
LSB C03 |
|||
40063 |
2 |
MSB C00 |
C01 |
Erreurs CRC détectées sur le port interne |
C02 |
LSB C03 |
|||
40065 |
2 |
MSB C00 |
C01 |
Erreurs FCS détectées sur le port interne |
C02 |
LSB C03 |
|||
40067 |
2 |
MSB C00 |
C01 |
Erreurs d'alignement détectées sur le port interne |
C02 |
LSB C03 |
|||
40069 |
2 |
MSB C00 |
C01 |
Nombre d'erreurs de transmission MAC interne détectées sur le port interne |
C02 |
LSB C03 |
|||
40071 |
2 |
MSB C00 |
C01 |
Collisions tardives sur le port interne |
C02 |
LSB C03 |
|||
40073 |
2 |
MSB C00 |
C01 |
Nombre d'erreurs de réception MAC interne détectées sur le port interne |
C02 |
LSB C03 |
|||
40075 |
2 |
MSB C00 |
C01 |
Collisions multiples sur le port interne |
C02 |
LSB C03 |
|||
40077 |
2 |
MSB C00 |
C01 |
Collisions simples sur le port interne |
C02 |
LSB C03 |
|||
40079 |
2 |
MSB C00 |
C01 |
Transmissions différées sur le port interne |
C02 |
LSB C03 |
|||
40081 |
2 |
MSB C00 |
C01 |
Trames trop longues sur le port interne |
C02 |
LSB C03 |
|||
40083 |
2 |
MSB C00 |
C01 |
Trames trop courtes sur le port interne |
C02 |
LSB C03 |
|||
40085 |
2 |
MSB C00 |
C01 |
Erreur de test SQE détectée sur le port interne |
C02 |
LSB C03 |
|||
40087 |
1 |
Octet de poids fort |
Octet de poids faible |
Longueur de l'étiquette d'interface sur le port interne |
40088 |
32 |
Car. 64 EI |
Car. 63 EI |
Caractères de l'étiquette d'interface sur le port interne |
40089 |
Car. 62 EI |
Car. 61 EI |
||
... |
... |
... |
||
40118 |
Car. 04 EI |
Car. 03 EI |
||
40119 |
Car. 02 EI |
Car. 01 EI |
||
40120 |
1 |
Octet de poids fort |
Octet de poids faible |
Validité du diagnostic des comptes d'interface sur le port interne |
40121 |
2 |
MSB C00 |
C01 |
Nombre d'octets reçus sur le port interne |
C02 |
LSB C03 |
|||
40123 |
2 |
MSB C00 |
C01 |
Nombre de paquets de diffusion individuelle reçus sur le port interne |
C02 |
LSB C03 |
|||
40125 |
2 |
MSB C00 |
C01 |
Nombre de paquets de diffusion non individuelle reçus sur le port interne |
C02 |
LSB C03 |
|||
40127 |
2 |
MSB C00 |
C01 |
Nombre de paquets entrants ignorés sur le port interne |
C02 |
LSB C03 |
|||
40129 |
2 |
MSB C00 |
C01 |
Nombre de paquets entrants contenant des erreurs sur le port interne |
C02 |
LSB C03 |
|||
401331 |
2 |
MSB C00 |
C01 |
Nombre de paquets entrants inconnus sur le port interne |
C02 |
LSB C03 |
|||
40133 |
2 |
MSB C00 |
C01 |
Nombre d'octets envoyés sur le port interne |
C02 |
LSB C03 |
|||
40135 |
2 |
MSB C00 |
C01 |
Nombre de paquets de diffusion individuelle envoyés sur le port interne |
C02 |
LSB C03 |
|||
40137 |
2 |
MSB C00 |
C01 |
Nombre de paquets de diffusion non individuelle envoyés sur le port interne |
C02 |
LSB C03 |
|||
40139 |
2 |
MSB C00 |
C01 |
Nombre de paquets sortants ignorés sur le port interne |
C02 |
LSB C03 |
|||
40141 |
2 |
MSB C00 |
C01 |
Nombre de paquets sortants contenant des erreurs sur le port interne |
C02 |
LSB C03 |
Code fonction 3 Modbus : Données de diagnostic du port Ethernet 1
Les données de diagnostic du port 1 sont disponibles à partir de l'adresse 40143 (décimal). Comme indiqué dans le tableau suivant, les données de diagnostic du port 1 correspondent aux mêmes champs que ceux du port interne. L'adresse de début est simplement décalée.
Adresse de début |
Longueur |
Ordre des octets dans le registre |
Commentaires |
|
---|---|---|---|---|
OCTET DE POIDS FORT |
OCTET DE POIDS FAIBLE |
|||
40143 |
1 |
Octet de poids fort |
Octet de poids faible |
Validité des données de diagnostic du port 1 |
... |
... |
... |
... |
... |
40244 |
2 |
MSB C00 |
C01 |
Nombre de paquets sortants contenant des erreurs sur le port 1 |
C02 |
LSB C02 |
Code fonction 3 Modbus : Données de diagnostic du port d'embase Ethernet
Les données de diagnostic du port d'embase sont disponibles à partir de l'adresse 40246 (décimal). Comme indiqué dans le tableau suivant, les champs des données de diagnostic sont les mêmes que ceux du port interne et du port 1. L'adresse de début est simplement décalée.
Adresse de début |
Longueur |
Ordre des octets dans le registre |
Commentaires |
|
---|---|---|---|---|
OCTET DE POIDS FORT |
OCTET DE POIDS FAIBLE |
|||
40246 |
1 |
Octet de poids fort |
Octet de poids faible |
Validité des données de diagnostic du port d'embase |
... |
... |
... |
... |
... |
40347 |
2 |
MSB C00 |
C01 |
Nombre de paquets sortants contenant des erreurs de port d'embase |
C02 |
LSB C02 |
Code fonction 3 Modbus : Données de diagnostic du port Ethernet 3
Les données de diagnostic du port 3 sont disponibles à partir de l'adresse 40349 (décimal). Comme indiqué dans le tableau suivant, les données de diagnostic du port 3 correspondent aux mêmes champs que ceux du port interne, du port 1 et du port 2. L'adresse de début est simplement décalée.
Adresse de début |
Longueur |
Ordre des octets dans le registre |
Commentaires |
|
---|---|---|---|---|
OCTET DE POIDS FORT |
OCTET DE POIDS FAIBLE |
|||
40349 |
1 |
Octet de poids fort |
Octet de poids faible |
Validité des données de diagnostic du port 3 |
... |
... |
... |
... |
... |
40450 |
2 |
MSB C00 |
C01 |
Nombre de paquets sortants contenant des erreurs sur le port 3 |
C02 |
LSB C03 |
Code fonction 3 Modbus : Données de diagnostic du port Ethernet 4
Les données de diagnostic du port 4 sont disponibles à partir de l'adresse 40452 (décimal). Comme indiqué dans le tableau suivant, les données de diagnostic du port 4 correspondent aux mêmes champs que ceux du port interne et des ports 1 à 3. L'adresse de début est simplement décalée.
Adresse de début |
Longueur |
Ordre des octets dans le registre |
Commentaires |
|
---|---|---|---|---|
OCTET DE POIDS FORT |
OCTET DE POIDS FAIBLE |
|||
40452 |
1 |
Octet de poids fort |
Octet de poids faible |
Validité des données de diagnostic du port 4 |
... |
... |
... |
... |
... |
40553 |
2 |
MSB C00 |
C01 |
Nombre de paquets sortants contenant des erreurs sur le port 4 |
C02 |
LSB C03 |
Port Ethernet absent
Si l'équipement ne contient pas de port Ethernet physique, les registres Modbus associés renvoient données = 0.
Code fonction 3 Modbus : Données de diagnostic du port Modbus TCP 502
Les informations de diagnostic du port 502 Modbus TCP sont disponibles à partir de l'adresse 40555 (décimal), comme décrit dans le tableau suivant.
Adresse de début |
Longueur |
Ordre des octets dans le registre |
Commentaires |
||
---|---|---|---|---|---|
OCTET DE POIDS FORT |
OCTET DE POIDS FAIBLE |
||||
40555 |
2 |
Octet de poids fort 00 |
Octet 01 |
Validité des données de diagnostic du port 502 Modbus TCP |
|
Octet 02 |
Octet de poids faible 03 |
||||
40557 |
1 |
Octet de poids fort |
Octet de poids faible |
Etat du port 502 |
|
40558 |
1 |
Octet de poids fort |
Octet de poids faible |
Nombre de connexions ouvertes |
|
40559 |
2 |
MSB C00 |
C01 |
Nombre de messages MB envoyés |
|
C02 |
LSB C03 |
||||
40561 |
2 |
MSB C00 |
C01 |
Nombre de messages MB reçus |
|
C02 |
LSB C03 |
||||
40563 |
1 |
Octet de poids fort |
Octet de poids faible |
Nombre de connexions client ouvertes MB |
|
40564 |
1 |
Octet de poids fort |
Octet de poids faible |
Nombre de connexions serveur ouvertes MB |
|
40565 |
1 |
Octet de poids fort |
Octet de poids faible |
Nombre maximum de connexions |
|
40566 |
1 |
Octet de poids fort |
Octet de poids faible |
Nombre maximum de connexions client |
|
40567 |
1 |
Octet de poids fort |
Octet de poids faible |
Nombre maximum de connexions serveur |
|
40568 |
2 |
MSB C00 |
C01 |
Nombre de messages d'erreur détectée MB envoyés |
|
C02 |
LSB C03 |
||||
40570 |
1 |
Octet de poids fort |
Octet de poids faible |
Nombre de connexions prioritaires ouvertes |
|
40571 |
1 |
Octet de poids fort |
Octet de poids faible |
Nombre maximum de connexions prioritaires |
|
40572 |
1 |
Octet de poids fort |
Octet de poids faible |
Nombre d'entrées dans la table des connexions non autorisées |
|
40573 |
2 |
MSB - IP1 |
IP2 |
Adresse IP distante 1 |
Connexion 1 |
IP3 |
LSB - IP4 |
||||
40575 |
1 |
Octet de poids fort |
Octet de poids faible |
Nombre de tentatives d'ouverture d'une connexion non autorisée 1 |
|
40576 |
2 |
MSB - IP1 |
IP2 |
Adresse IP distante 2 |
Connexion 2 |
IP3 |
LSB - IP4 |
||||
40578 |
2 |
Octet de poids fort |
Octet de poids faible |
Nombre de tentatives d'ouverture d'une connexion non autorisée 2 |
|
... |
... |
... |
... |
... |
|
40663 |
2 |
MSB - IP1 |
IP2 |
Adresse IP distante 31 |
Connexion 31 |
IP3 |
LSB - IP4 |
||||
40665 |
1 |
Octet de poids fort |
Octet de poids faible |
Nombre de tentatives d'ouverture d'une connexion non autorisée 31 |
|
40666 |
2 |
MSB - IP1 |
IP2 |
Adresse IP distante 32 |
Connexion 32 |
IP3 |
LSB - IP4 |
||||
40668 |
1 |
Octet de poids fort |
Octet de poids faible |
Nombre de tentatives d'ouverture d'une connexion non autorisée 32 |
Code fonction 3 Modbus : Données de table de connexion du port Modbus TCP 502
Les données de la table de connexion du port 502 Modbus TCP sont disponibles à partir de l'adresse 40669 (décimal), comme décrit dans le tableau suivant.
Adresse de début |
Longueur |
Ordre des octets dans le registre |
Commentaires |
||
---|---|---|---|---|---|
OCTET DE POIDS FORT |
OCTET DE POIDS FAIBLE |
||||
40669 |
1 |
Octet de poids fort |
Octet de poids faible |
Validité de la table de connexion |
|
40670 |
1 |
Octet de poids fort |
Octet de poids faible |
Nombre d'entrées |
|
40671 |
1 |
Octet de poids fort |
Octet de poids faible |
Index d'entrée de début |
|
40672 |
1 |
Octet de poids fort |
Octet de poids faible |
Index de connexion 1 |
Connexion 1 |
40673 |
2 |
IP1 |
IP2 |
Adresse IP distante de la connexion 1 |
|
IP3 |
IP4 |
||||
40675 |
1 |
Octet de poids fort |
Octet de poids faible |
Numéro de port distant de la connexion 1 |
|
40676 |
1 |
Octet de poids fort |
Octet de poids faible |
Numéro de port local de la connexion 1 |
|
40677 |
1 |
Octet de poids fort |
Octet de poids faible |
Nombre de messages MB envoyés via la connexion 1 |
|
40678 |
1 |
Octet de poids fort |
Octet de poids faible |
Nombre de messages MB reçus via la connexion 1 |
|
40679 |
1 |
Octet de poids fort |
Octet de poids faible |
Nombre de messages d'erreur détectée MB envoyés via la connexion 1 |
|
40680 |
1 |
Octet de poids fort |
Octet de poids faible |
Index de connexion 2 |
Connexion 2 |
40681 |
2 |
IP1 |
IP2 |
Adresse IP distante de la connexion 2 |
|
IP3 |
IP4 |
||||
40683 |
1 |
Octet de poids fort |
Octet de poids faible |
Numéro de port distant de la connexion 2 |
|
40684 |
1 |
Octet de poids fort |
Octet de poids faible |
Numéro de port local de la connexion 2 |
|
40685 |
1 |
Octet de poids fort |
Octet de poids faible |
Nombre de messages MB envoyés via la connexion 2 |
|
40686 |
1 |
Octet de poids fort |
Octet de poids faible |
Nombre de messages MB reçus via la connexion 2 |
|
40687 |
1 |
Octet de poids fort |
Octet de poids faible |
Nombre de messages d'erreur détectée MB envoyés via la connexion 2 |
|
... |
... |
... |
... |
... |
|
41168 |
1 |
Octet de poids fort |
Octet de poids faible |
Index de connexion 63 |
Connexion 63* |
41169 |
2 |
IP1 |
IP2 |
Adresse IP distante de la connexion 63 |
|
IP3 |
IP4 |
||||
41171 |
1 |
Octet de poids fort |
Octet de poids faible |
Numéro de port distant de la connexion 63 |
|
41172 |
1 |
Octet de poids fort |
Octet de poids faible |
Numéro de port local de la connexion 63 |
|
41173 |
1 |
Octet de poids fort |
Octet de poids faible |
Nombre de messages MB envoyés via la connexion 63 |
|
41174 |
1 |
Octet de poids fort |
Octet de poids faible |
Nombre de messages MB reçus via la connexion 63 |
|
41175 |
1 |
Octet de poids fort |
Octet de poids faible |
Nombre de messages d'erreur détectée MB envoyés via la connexion 63 |
|
41176 |
1 |
Octet de poids fort |
Octet de poids faible |
Index de connexion 64 |
Connexion 64* |
41177 |
2 |
IP1 |
IP2 |
Adresse IP distante de la connexion 64 |
|
IP3 |
IP4 |
||||
415179 |
1 |
Octet de poids fort |
Octet de poids faible |
Numéro de port distant de la connexion 64 |
|
41180 |
1 |
Octet de poids fort |
Octet de poids faible |
Numéro de port local de la connexion 64 |
|
41181 |
1 |
Octet de poids fort |
Octet de poids faible |
Nombre de messages MB envoyés via la connexion 64 |
|
41182 |
1 |
Octet de poids fort |
Octet de poids faible |
Nombre de messages MB reçus via la connexion 64 |
|
41183 |
1 |
Octet de poids fort |
Octet de poids faible |
Nombre de messages d'erreur détectée MB envoyés via la connexion 64 |
|
* Les modules adaptateurs RIO 140 CRA 312 10 et BMX CRA 312 •0 peuvent prendre en charge jusqu'à 8 connexions. |