Fonction 8 : diagnostics Modbus
Structure des messages Modbus concernant la gestion des compteurs de diagnostics de la passerelle PowerTag Link
Demande
Définition |
Nombre d'octets |
Valeur |
---|---|---|
Numéro du serveur |
1 octet |
0xFF |
Code de fonction |
2 octets |
08 (0x08) |
Code de sous-fonction |
2 octets |
22 (0x0016) |
Code d'opération |
2 octets |
1 ((0x0001) voir la liste ci-dessous pour le code d'opération) |
Contrôle de diagnostic |
2 octets |
0x0100 (voir la liste ci-dessous pour le contrôle de diagnostic) |
Indice de l'entrée de départ |
1 octet |
0x00 (0 à 255) |
Le champ du code d'opération est utilisé pour sélectionner le diagnostic et les données statistiques à lire à partir de l'appareil.
Octet de poids fort |
Octet de poids faible |
||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Réservé |
Version du protocole |
Code d'opération |
L'affectation des bits est indiquée dans le tableau ci-dessous :
Bit |
Champ |
Description |
---|---|---|
15 à 12 |
Réservé |
Doit être égal à zéro. |
11 à 8 |
Version du protocole |
Indique la version du protocole du client (demandeur). Les valeurs sont les suivantes : 0x00 (version initiale) |
7 à 0 |
Code d'opération |
Indique la fonction devant être réalisée par la commande. Les valeurs sont les suivantes :
|
Le champ de contrôle de diagnostic fournit les informations de sélection des données pour ce protocole et indique, le cas échéant, le port logique à partir duquel les données doivent être extraites. Le champ de commande du diagnostic est défini dans le tableau suivant :
Octet de poids fort |
Octet de poids faible |
||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Code de sélection de données |
Sélection du port |
Les affectations des bits sont indiquées dans le tableau suivant :
Bit |
Champ |
Description |
---|---|---|
15 à 8 |
Code de sélection de données |
Indique les données de diagnostic à extraire ou à effacer du port logique. Voir le tableau ci-dessous pour les valeurs valides. |
7 à 0 |
Sélection du port |
Indique le numéro du port logique à partir duquel les données sélectionnées doivent être extraites.
Cette valeur doit être 0xFF si les données requises ne sont pas propres à un port. Voir la colonne Sélection du port requise dans le tableau ci-dessous pour savoir si le Code de sélection de données nécessite une valeur de sélection du port valide. |
Code de sélection de données
Code de sélection de données |
Données de diagnostic extraites |
Sélection du port requise |
Type |
---|---|---|---|
0x00 |
Réservé |
Public |
|
0x01 |
Diagnostics réseau de base |
Public |
|
0x02 |
Diagnostics du port Ethernet |
Oui |
Public |
0x03 |
Diagnostics du port Modbus TCP 502 |
Public |
|
0x04 |
Tableau de branchement du port Modbus TCP 502 |
Public |
|
0x05 à 0x7E |
Réservé pour d'autres codes publics |
Public |
|
0x7F |
Décalage des structures de données |
Public |
|
0x80 à 0xFF |
Réservé |
Réservé |
Réponse
Définition |
Nombre d'octets |
Valeur |
---|---|---|
Numéro du serveur |
1 octet |
0xFF |
Code de fonction |
2 octets |
08 (0x08) |
Code de sous-fonction |
2 octets |
22 (0x0016) |
Code d'opération |
2 octets |
1 ((0x0001) voir la liste ci-dessus pour le code d'opération) |
Contrôle de diagnostic |
2 octets |
0x0100 (voir la liste ci-dessus pour le contrôle de diagnostic) |
Indice de l'entrée de départ |
1 octet |
0x00 (0 à 255) |
Réinitialisation des compteurs
Les compteurs sont remis à 0 :
-
lorsqu'ils atteignent la valeur maximale 65 535 ;
-
lorsqu'ils sont réinitialisés par une commande Modbus (code de fonction 8, code de sous-fonction 10) ;
-
lorsque l'alimentation est coupée ;
-
lorsque les paramètres de communication sont modifiés.