Une fois toutes les 5 minutes

Explication détaillée du protocole Modbus RTU

Explication détaillée du protocole Modbus RTU

MODBUS_RTU communication protocol (this agreement adopts the master-slave question-and-answer method)

Compteurs/transmetteurs de la série PDM : Les compteurs/transmetteurs de la série PDM adoptent un tout nouveau design qui révolutionne le concept des compteurs d'électricité traditionnels. Ils sont multifonctionnels, de haute précision, numériques, programmables, compacts et dotés d'un affichage multi-écran. Grâce à ses caractéristiques, il peut répondre à la demande future de compteurs d'électricité dans le secteur de l'énergie.

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.

What Are The Functions And Differences Between Mqtt Protocol Gateway And Modbus Protocol?/Modbus RTU protocol

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.

DTU/Edge Gateway/Plate-forme IoT/Module de passerelle

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.

 

Nous contacter