Explication détaillée du protocole Modbus RTU
MODBUS_RTU communication protocol (this agreement adopts the master-slave question-and-answer method)
Protocole de communication MODBUS : Le protocole de communication ModBus permet aux instruments/transmetteurs de la série PDM de communiquer avec des automates programmables (PLC), des RTU, des systèmes SCADA, des DCS ou des tiers de nombreuses marques de renommée internationale telles que Schneider, Siemens, AB, GE, etc. Échange d'informations et transmission de données entre systèmes de surveillance compatibles ModBus.

Les instruments/transmetteurs de la série PDM peuvent former un système de surveillance de la puissance en ajoutant simplement un ensemble de logiciels de surveillance basés sur un ordinateur (ou un ordinateur industriel) (tels que Kingview, in ouch, FIX, synall, etc.).
Intégration étendue du système : Les instruments/transmetteurs de la série PDM sont dotés d'une interface de communication standard RS-485/422 et du protocole de communication ModBus. Ce protocole de communication a été largement utilisé comme norme d'intégration des systèmes dans l'industrie de l'énergie et l'industrie du contrôle industriel, tant au niveau national qu'international.
Type et format des données de communication : La transmission des informations est asynchrone et se fait en octets.
Les informations de communication transmises entre la station maître et la station esclave sont sous forme de mots de 11 bits :
Format Word (données sérielles) Binaire 11 bits
Bit de départ 1
Bits de données 8 bits
Bit de parité 1 bit : Avec bit de parité/Aucun : Pas de bit de parité
Bit d'arrêt 1 bit : avec bit de parité/2 bits : sans bit de parité
● Format des données de communication (trame d'information)
Format des données : Code d'adresse Code de fonction Zone de données Contrôle des erreurs
Longueur des données : 1 octet 1 octet N octets Code CRC 16 bits (cycle redondant)
code)
Note
1. 1 octet se compose de nombres binaires de 8 bits (c'est-à-dire 8 bits).
2. ModBus est une marque déposée de Modicon Company.
3. Dans le présent document, l'expression "machine esclave" fait référence à PDM.
1. Communication processus de transmission de l'information :
Lorsque la commande de communication est envoyée par le dispositif émetteur (hôte) au dispositif récepteur (esclave), l'esclave qui répond au code d'adresse correspondant reçoit la commande de communication et lit les informations conformément au code de fonction et aux exigences connexes. Si la vérification CRC est correcte, la tâche correspondante est exécutée, puis les résultats de l'exécution (données) sont renvoyés à l'hôte. Les informations renvoyées comprennent le code d'adresse, le code de fonction, les données après exécution et le code de vérification CRC. Si la vérification CRC échoue, aucune information n'est renvoyée.
1.1 Address code
Le code d'adresse est le premier octet (8 bits) de chaque trame d'information de communication, de 0 à 255. Cet octet indique que l'esclave dont l'adresse a été définie par l'utilisateur recevra les informations envoyées par le maître. Chaque esclave doit avoir un code d'adresse unique, et seul l'esclave qui correspond au code d'adresse peut répondre au message de retour. Lorsque l'esclave renvoie des informations, les données renvoyées commencent par leurs codes d'adresse respectifs. Le code d'adresse envoyé par le maître indique l'adresse de l'esclave à qui l'information doit être envoyée, et le code d'adresse renvoyé par l'esclave indique l'adresse de l'esclave renvoyée. Le code d'adresse correspondant indique la provenance de l'information.
1.2 Function code
Il s'agit du deuxième octet transmis dans chaque trame d'information de communication. Le protocole de communication ModBus peut définir des codes de fonction de 1 à 127. Les instruments/transmetteurs de la série PDM n'utilisent qu'une partie des codes de fonction. Envoyé en tant que demande de l'hôte, le code de fonction est utilisé pour indiquer à l'esclave l'action qu'il doit effectuer. En tant que réponse de l'esclave, le code de fonction renvoyé par l'esclave est le même que le code de fonction envoyé par l'hôte et indique que l'esclave a répondu à l'hôte et a effectué les opérations appropriées.
Tableau 8.1 Quelques codes de fonction du MODBUS
Code de définition de la fonction opération (binaire)
02 Lecture de l'entrée du commutateur Lecture d'une ou plusieurs données d'entrée relatives à l'état du commutateur
01 Lecture de la sortie de commutation Lecture d'une ou plusieurs données relatives à l'état de la sortie de commutation
03 Lecture des données de registre Lecture des données d'un ou de plusieurs registres
05 Ecriture d'une sortie de commutation pour contrôler la sortie "fermeture/ouverture" d'un relais
06 Écriture d'un seul registre Écriture d'un ensemble de données binaires dans un seul registre
10 Ecriture de plusieurs registres Ecriture de plusieurs ensembles de données binaires dans plusieurs registres
1.3 Data area
La zone de données comprend les informations qui doivent être renvoyées par l'esclave ou l'action qui doit être exécutée. Ces informations peuvent être des données (telles que : entrée/sortie de commutateur, entrée/sortie analogique, registre, etc. Par exemple, si l'hôte demande à l'esclave de renvoyer la valeur du registre (y compris l'adresse de départ du registre à lire et la longueur du registre lu) par le biais du code de fonction 03, les données renvoyées comprennent la longueur et le contenu des données du registre. Les informations relatives à l'adresse et aux données diffèrent selon les machines esclaves (un tableau d'informations de communication doit être fourni).
L'instrument/transmetteur de la série PDM adopte le protocole de communication Modbus. L'hôte (PLC, RTU, PC, DCS, etc.) peut lire son registre de données à volonté en utilisant la commande de communication (code de fonction 03) (voir l'annexe pour le tableau d'informations sur les données). Le registre de données de l'instrument/transmetteur de la série PDM stocke des centaines de grandeurs électriques (telles que le courant, la tension, la puissance, les composantes harmoniques 0~31e, etc.), et ce sont toutes des données binaires de 16 bits (2 octets). Le nombre maximum de registres pouvant être lus en même temps (c'est-à-dire le nombre de différents types de puissance) est de 50.
Le format de commande de la réponse PDM est le suivant : adresse de l'esclave, code de fonction, zone de données et code CRC. Les données de la zone de données sont toutes de deux octets, avec le bit de poids fort en premier (sauf pour l'énergie électrique).
Note: 1. PDM-820AC/ACM/ACR, PDM-800AC/ACM tools
Il existe des codes de fonction "03", "06" et "10" ;
2. Si le PDM adopte le protocole de communication MODBUS ASCII, le format des données de communication est le suivant : 7
Bits de données, 1 bit d'arrêt, parité paire.
2. Introduction aux codes de fonction MODBUS
2.1 Code de fonction "02" : Lecture d'une ou plusieurs entrées d'état de commutation
Par exemple : l'hôte veut lire l'état de l'entrée du commutateur DI1-DI4 avec l'adresse 01.
L'adresse et les données du registre de données de l'esclave (PDM) sont les suivantes :
Adresse du bit de départ Données du registre DI (hexadécimal) Remarques 0000 0B
L'état de DI1/DI2/DI4 est "1", et l'état de DI3 est "0"
Format du message envoyé par l'hôte :
Nombre d'octets envoyés par l'hôte Informations envoyées Remarques
L'adresse de l'esclave 1 01 est envoyée à l'esclave dont l'adresse est 01
Code de fonction 1 02 : lecture de l'état de l'entrée du commutateur
Bit BIT de départ 2 0000 L'adresse du bit BIT de départ est 0000
Lecture de la longueur des données 2 0004 Lecture des bits d'état de l'entrée du commutateur à 4 voies
Code CRC 2 79C9 Le code CRC est calculé par l'hôte.
Format du message renvoyé par la réponse de l'esclave (PDM) :
Réponse de l'esclave nombre d'octets renvoyés remarques d'information
Adresse de l'esclave 1 01 provient de l'esclave 01
Code de fonction 1 02 : lecture de l'état de l'entrée du commutateur
Longueur des données 1 01 1 octet (8 BIT bits)
Données d'état DI 1 0B Contenu du registre DI
Code CRC 2 E04F Le code CRC est calculé par la machine esclave.
2.2 Code de fonction "01" : Lire l'état d'une ou plusieurs sorties de commutation
Par exemple : l'hôte veut lire l'état de sortie des commutateurs DO1 et DO2 à l'adresse 01.
L'adresse et les données du registre de données de l'esclave (PDM) sont les suivantes :
Adresse du bit de départ Données du registre DO (hexadécimal) Remarques
0000 02 L'état de la sortie DO2 est "1", l'état de la sortie DO1 est "1", l'état de la sortie DO1 est "1".
Le statut est "0"
Format du message envoyé par l'hôte :
Nombre d'octets envoyés par l'hôte Informations envoyées Remarques
L'adresse de l'esclave 1 01 est envoyée à l'esclave dont l'adresse est 01
Code de fonction 1 01 : lecture de l'état de la sortie de commutation
Bit BIT de départ 2 0000 L'adresse du bit BIT de départ est 0000
Lecture de la longueur des données 2 0002 Lecture de 2 bits d'état de la sortie relais
Code CRC 2 BDCB Le code CRC est calculé par l'hôte.
Format du message renvoyé par la réponse de l'esclave (PDM) :
Réponse de l'esclave nombre d'octets renvoyés remarques d'information
Adresse de l'esclave 1 01 provient de l'esclave 01
Code de fonction 1 01 : lecture de l'état de la sortie de commutation
Longueur des données 1 01 1 octet (8 BIT bits)
Données d'état DO 1 02 Contenu du registre DO
Code CRC 2 D049 Le code CRC est calculé par la machine esclave.
2.3 Code de fonction "03" : Lecture de plusieurs entrées de registre
Par exemple : l'hôte veut lire le nombre de 3 registres d'esclaves avec l'adresse 01 et l'adresse de départ 0116.
selon.
L'adresse et les données du registre de données de l'esclave (PDM) sont les suivantes :
Adresse du registre Données du registre (hexadécimales) Puissance PDM correspondante
0116 1784UA
0117 1780UB
0118 178A UC
Format du message envoyé par l'hôte :
Nombre d'octets envoyés par l'hôte Informations envoyées Remarques
L'adresse de l'esclave 1 01 est envoyée à l'esclave dont l'adresse est 01
Code de fonction 1 03 Lecture du registre
Adresse de départ 2 0116 L'adresse de départ est 0116
Longueur des données 3 0003 Lecture de 3 registres (6 octets au total)
Code CRC 2 E5F3 Le code CRC est calculé par l'hôte.
Format du message renvoyé par la réponse de l'esclave (PDM) :
Réponse de l'esclave nombre d'octets renvoyés remarques d'information
Adresse de l'esclave 1 01 provient de l'esclave 01
Code de fonction 1 03 Lecture du registre
Lecture du mot 1 06 3 registres total 6 octets
Données du registre 1 2 1784 Le contenu de la mémoire à l'adresse 0116
Données du registre 2 2 1780 Le contenu de la mémoire à l'adresse 0117
Données du registre 3 2 178A Le contenu de la mémoire à l'adresse 0118
Code CRC 2 5847 Le code CRC est calculé par la machine esclave.
2.4 Code de fonction "05" : écrire 1 sortie de commutation ("commande à distance")
Exemple 1 : Sortie de commutation DO1, son état actuel est "minute", l'hôte veut contrôler ce relais.
Le dispositif "rejoint".
Les commandes de contrôle sont les suivantes :
"FF00" signifie que le relais de contrôle est "fermé" ;
"0000" est la "minute" du relais de contrôle ;
Format du message envoyé par l'hôte :
Nombre d'octets envoyés par l'hôte Informations envoyées Remarques
L'adresse de l'esclave 1 01 est envoyée à l'esclave dont l'adresse est 01
Code de fonction 1 05 écrit l'état de la sortie de commutation
Le bit BIT de sortie 2 0000 correspond au bit BIT du relais de sortie (DO1)
La commande de contrôle 2 FF00 commande la sortie du relais pour qu'elle soit "on" bit d'état
Code CRC 2 8C3A Le code CRC est calculé par l'hôte.
Format du message renvoyé par la réponse de l'esclave (PDM) :
Le format et le contenu des données du message envoyé par l'hôte sont exactement les mêmes.
Exemple 2 : Sortie de commutation DO2, son état actuel est "fermé", et l'hôte veut contrôler ce relais.
Le dispositif "points".
Format du message envoyé par l'hôte
Nombre d'octets envoyés par l'hôte Informations envoyées Remarques
L'adresse de l'esclave 1 01 est envoyée à l'esclave dont l'adresse est 01
Code de fonction 1 05 écrit l'état de la sortie de commutation
Le bit BIT de sortie 2 0001 correspond au bit BIT du relais de sortie (DO2)
La commande de contrôle 2 0000 commande la sortie du relais pour qu'elle soit "activée" bit d'état
Code CRC 2 9C0A Le code CRC est calculé par l'hôte.
Format du message renvoyé par la réponse de l'esclave (PDM) :
Code CRC calculé par l'hôte
Format du message renvoyé par la réponse de l'esclave (PDM) :
Le format et le contenu des données du message envoyé par l'hôte sont exactement les mêmes.

2.6 Code de fonction "10" : Écriture de plusieurs registres
L'hôte utilise ce code de fonction pour enregistrer plusieurs données dans la mémoire de données du tableau PDM.
Le registre dans le protocole de communication Modbus se réfère à 16 bits (c'est-à-dire 2 octets), et le bit de poids fort est le premier.
De cette manière, la mémoire du PDM est de deux octets.
Sauvegarder 60 registres : PDM permet de sauvegarder jusqu'à 60 registres de données à la fois.
Par exemple : l'hôte veut enregistrer 0064, 0010 dans les registres esclaves avec les adresses 002C, 002D.
Go (le code d'adresse de l'esclave est 01). Après l'enregistrement des données de communication, le PDM avec l'adresse 002C/002D
Les informations stockées dans le tableau sont les suivantes
Adresse des données stockées à l'origine (hexadécimale)
002C 04B0
002D 1388
Format du message envoyé par l'hôte :
Code CRC calculé par l'hôte
Format du message renvoyé par la réponse de l'esclave (PDM) :
Réponse de l'esclave nombre d'octets nombre d'octets exemple
Adresse de l'esclave 1 01 provient de l'esclave 01
Code de fonction 1 10 Écriture de registres multiples
Adresse de départ 2 002C L'adresse de départ est 002C
Sauvegarde de la longueur du mot de données 2 0002 Sauvegarde de la longueur du mot de données 2
Code CRC 2 8001 Code CRC calculé par la machine esclave
3. Error check code (CRC check)
4. Processing of communication error information and data
Lorsque la table PDM détecte une erreur autre que l'erreur de code CRC, elle doit renvoyer un message à l'hôte
la position la plus élevée du code de fonction est 1, c'est-à-dire que le code de fonction renvoyé par l'esclave à l'hôte est envoyé par l'hôte.
Ajouter 128 en fonction du code de fonction envoyé Les codes suivants indiquent qu'une erreur inattendue s'est produite
nés.
Si les informations reçues par PDM de l'hôte comportent des erreurs CRC, elles seront ignorées par la table PDM.
Le format du code d'erreur renvoyé par PDM est le suivant (sauf le code CRC) :
Code d'adresse : 1 octet
Code de fonction : 1 octet (le bit le plus élevé est 1)
Code d'erreur : 1 octet
Code CRC : 2 octets.
La réponse du PDM renvoie le code d'erreur suivant :
81. Code de fonction illégal. Le code de fonction reçu n'est pas pris en charge par la table PDM.
82. L'emplacement des données est illégal. L'emplacement des données spécifié dépasse la portée de la table PDM.
autour.
83. Valeur de données illégale : la valeur de données reçue de l'hôte dépasse la phase PDM.
La plage de données de l'adresse correspondante.


