Quelques bases sur le protocole Modbus

Feb 22, 2025 Laisser un message

Le contrôle industriel est passé du contrôle autonome à la surveillance centralisée et au contrôle centralisé, et est maintenant entré dans l'ère du réseau, les contrôleurs industriels connectés au réseau fournissent également une gestion pratique du réseau. Modbus est l'un des protocoles de réseau pour les contrôleurs industriels.


Introduction du protocole de communication Modbus


Le protocole Modbus, tout d'abord, de la compréhension littérale, il comprend le mod et le bus deux parties, tout d'abord, c'est un bus, c'est-à-dire le protocole de bus, et i2c, SPI similaire, le bus signifie qu'il y a des hôtes, il y a des esclaves, ces appareils sur le même bus.

Modbus prend en charge un seul maître, plusieurs esclaves et jusqu'à 247 dispositifs esclaves. À propos de MOD, parce que ce protocole a été utilisé pour la première fois dans les contrôleurs PLC, les contrôleurs PLC de Modicon pour être exact, d'où vient le nom de mod-bus.

Plus tard, Modicon a été acquis par Schneider (Schneider), le protocole MODBUS est largement utilisé dans les contrôleurs industriels, les HMI et les capteurs, et progressivement acceptés par d'autres fabricants, devenant un protocole de communication grand public pour la communication avec des dispositifs périphériques.

 

MODBUS appartient à la septième couche d'application dans le modèle de référence 7-} de la couche {il existe deux types de couche de liaison de données: basée sur le protocole série standard et le protocole TCP, le fil de la couche physique peut utiliser le câble 3-} wire Autres supports de transmission.

 

Le protocole Modbus est un mode de demande / réponse du processus d'interaction, l'hôte initie la demande de communication, l'esclave répond à la demande de l'hôte, l'esclave n'enverra pas de données activement lorsqu'elle ne recevra pas la demande de l'hôte et les esclaves ne communiqueront pas entre eux.


Caractéristiques du protocole de communication Modbus


(1) Standard, ouvert, les utilisateurs peuvent utiliser gratuitement le protocole Modbus, soyez assuré qu'il n'est pas nécessaire de payer des frais de licence et ne violera pas les droits de propriété intellectuelle.

(2) Modbus peut prendre en charge une variété d'interfaces électriques, telles que RS -232, RS -485, etc. Il peut également être transmis sur une variété de supports, tels que la paire torsadée, la fibre optique, le sans fil, etc.

(3) Le format de trame de MODBUS est simple, compact et facile à comprendre. Il est facile pour les utilisateurs d'utiliser et simple pour les fournisseurs de se développer.


Modbus 4 Types de données


Le protocole Modbus stipule que les types de données pour les opérations de lecture et d'écriture peuvent être classés dans les 4 types suivants en fonction des attributs et types d'écriture de lecture:

1. Entrée discrète (entrée discrète):1 bit, lecture seule

2. Bobines (bobines):1- bit, lecture-écriture

3. Registres d'entrée:16 bits, lecture seule

4. Tenant des registres:16 bits, lire / écrire.

 

Versions du protocole Modbus


Les versions du protocole Modbus existent actuellement pour Serial, Ethernet et d'autres réseaux qui prennent en charge le protocole Internet.

La plupart des périphériques Modbus communiquent sur la couche physique EIA -485 en série.

Pour les connexions en série, deux variantes existent qui diffèrent légèrement en termes de différentes représentations de données numériques et de détails de protocole. Modbus RTU est une représentation binaire compacte des données, et Modbus ASCII est une représentation verbale lisible par l'homme. Les deux variantes utilisent la communication série; Le format RTU suit avec des commandes / données avec une somme de contrôle de redondance cyclique, tandis que le format ASCII utilise une somme de contrôle longitudinale de redondance. Les nœuds configurés pour la variante RTU ne communiquent pas avec les nœuds configurés pour la variante ASCII et vice versa.

Pour les connexions via TCP / IP (par exemple Ethernet) où plusieurs variantes MODBUS / TCP existent, cette approche ne nécessite pas de calcul de somme de contrôle.

Pour les trois protocoles de communication, le modèle de données et les appels de fonction sont les mêmes, seule l'encapsulation est différente.

MODBUS a une version étendue ModbusPlus (Modbus + ou MB +), mais ce protocole est propriétaire Modicon et différent de Modbus. Il nécessite un coprocesseur spécialisé pour gérer la rotation de jetons à grande vitesse similaire à HDLC. Il utilise un câble de paire torsadé de 1mbbita / s et a une isolation de conversion à chaque nœud, un appareil qui utilise le déclenchement de conversion / bord plutôt que de déclenchement de tension / niveau. La connexion de Modbus Plus à un ordinateur nécessite une interface spéciale, généralement une carte qui prend en charge le bus ISA (SA85), PCI ou PMCIA.

Ainsi, lorsque nous nous référons au protocole Modbus, il est important de déterminer de quel mode il s'agit, il y a toujours une grande différence entre les différents modes.


Format de trame de données MODBUS


La première chose que nous devons savoir est qu'une trame de données MODBUS normale contient ce qui suit: champ d'adresse + code de fonction + données de données + glitch, plus le format de trame Modbus est le même, quelle que soit la version du protocole mentionné ci-dessus:


Comprend principalement:


1. Champ d'adresse:c'est-à-dire l'adresse esclave à accéder par le maître, sa gamme 0 ~ 247

2. Code de fonction:c'est-à-dire quel type d'opération le maître veut effectuer sur l'esclave.

3. Données:Si la demande du maître est de lire les données, les "données" doivent contenir les informations suivantes: par où commencer à lire les données + la quantité de données à lire. Si la demande du maître est d'écrire des données à l'esclave, les "données" doivent contenir les informations suivantes: par où commencer à écrire des données + combien d'octets de données à écrire + les données spécifiques à écrire.

4. Vérification des erreurs:Afin d'assurer l'exactitude de la transmission des données, le protocole Modbus ajoute une vérification d'erreur à deux octets à la fin de la trame de données.


Code de fonction modbus

Les codes de fonction modbus, qui sont écrits dans le cadre de données de la demande de l'hôte, déterminent si l'hôte lit ou écrit, s'il lit des bobines, des quantités ou des registres discrets, qu'il écrit un seul registre ou plusieurs registres, etc., et quel type de données demandent l'hôte.


Il existe trois principaux types de codes de fonction: codes de fonction publique, codes de fonction définis par l'utilisateur et codes de fonction réservés.

1. Codes de fonction publique

-Codes de fonction qui sont mieux définis

-Garante pour être unique

-Changeable par l'organisation Modbus

-Publicly prouvable

-Sit un test de conformité utilisable

-Poven dans les RFC MB IETF

-Conte les codes de fonction affectés par le public défini et les codes de fonction réservés non attribués pour une utilisation future.


2. Codes de fonction définies par l'utilisateur

Il existe deux plages de définition de code de fonction définies par l'utilisateur, c'est-à-dire 65 à 72 et décimal 100 à 110.

-L'utilisateur peut sélectionner et implémenter un code de fonction sans aucune approbation de l'organisation MODBUS.

-L'utilisation du code de fonction sélectionné n'est pas garanti d'être unique.

-Si l'utilisateur souhaite réinitialiser la fonction comme un code de fonction publique, l'utilisateur doit démarrer le RFC afin d'introduire la modification dans la classification publique et d'attribuer un nouveau code de fonction publique.


3. Codes de fonction réservées

-Donction des codes couramment utilisés par certaines sociétés pour les produits hérités et ne sont pas valables pour un usage public.

Les plus couramment utilisés sont les 4 codes de fonction dans les codes de fonction publique: 03/04/06/10

0 x03: Lire plusieurs registres de maintien

0 x04: Lire le registre d'entrée

0 x06: Écrivez des registres de maintien unique

0 x10: écrivez plusieurs registres de maintien

Étant donné que le PLC contrôle principalement les contacts de relais, les bobines (bobines) sont également fréquemment lues et écrites sur le PLC. Ici, il faut prêter une attention particulière à un point est: écrire des registres de maintien, besoin de distinguer {{0}}} x 0 6 Écrivez un registre unique et 0x10 Écrivez plusieurs registres, tandis que les registres de relevés ne distinguent pas entre les instructions 0x03 lisées et lues, lorsque vous avez besoin de lire un seul registre, est également l'utilisation de l'instruction 0x03 0x03.
 

Envoyez demande

whatsapp

Téléphone

Messagerie

Enquête