2025-04-23

Analyse approfondie du protocole Modbus

Analyse approfondie du protocole Modbus

Modbus est le protocole de communication série le plus utilisé dans le domaine de l'automatisation industrielle, qui a été lancé par Modicon (maintenant Schneider Electric) en 1979. Ses caractéristiques fondamentales sont la simplicité, l'ouverture et la facilité de mise en œuvre, et il est devenu le "langage universel" dans le domaine du contrôle industriel.

I. Caractéristiques principales de Modbus

1. Paramètres de base

  • Méthode de communication:
  • Mode maître-esclave: un dispositif maître (comme un PLC) peut interroger plusieurs dispositifs d'esclaves (jusqu'à 247).
  • Half-Duplex: les données ne peuvent être envoyées ou reçues qu'en même temps
  • Moyen de transmission:
  • RS-232 / RS-485 (le plus souvent utilisé)
  • TCP / IP (MODBUS TCP)
  • Fibre optique, sans fil, etc. (convertisseurs requis)
  • Modèle de données
  • Quatre types de registres, espace d'adressage unifié (0-65535)

2. Avantages de l'accord

Caractéristiques Explication
Simple et fiable Le protocole a des frais généraux bas
Multiplateforme Soutenu par plus de 500 fabricants, il a une forte compatibilité matérielle
Performance en temps réel Le temps de réponse typique est de 10 à 100 ms
Facile à déboguer Il peut être testé directement avec l'assistant de port série

Ii Comparaison des versions d'accord

1. Modbus rtu vs ascii

  • Caractéristiques: Modbus RTU, Modbus ASCII
  • Coder le texte binaire hexadécimal
  • Haute efficacité (compact) et faible (50% de volume de données en plus)
  • Vérifiez le CRC-16 LRC
  • Compatible avec les anciens systèmes grand public de l'industrie des applications

2. Modbus TCP

  • Encapsule sur la pile TCP / IP (port 502)
  • Le contrôle CRC de RTU (en fonction de la somme de contrôle TCP) a été supprimé.
  • Prise en charge de plusieurs demandes pour un message (jusqu'à 260 octets)

Iii. Explication détaillée du modèle de données

1. Registres de classe 4

Taper Fonction Méthode d'accès Plage d'adresses
Bobine Lire et écrire des quantités booléennes Opération de bits 00001-09999.
Entrée discrète Lisez uniquement les quantités booléennes Opération de bits 10001-19999.
Maintenir le registre Lire et écrire des valeurs numériques Opération de mots 40001-49999.
Registre des entrées Valeur en lecture seule Opération de mots 30001-39999.
* Remarque: le protocole réel utilise des adresses basées sur 0 (telles que 40001 = 0x0000) *

2. Mappage de types de données

  • Entier 16 bits: stocké directement
  • Numéro de point flottant 32 bits: Norme IEEE754 (2 registres)
  • String: les codes ASCII sont stockés consécutivement

Iv. Analyse du processus de communication

1. demande de réponse typique

[Demande de périphérique principale]
Adresse de la station d'esclaves | Code de fonction | Adresse de départ | Longueur de données | Vérification CRC
0x01 0x03 0x0000 0x0002 0xc40a
[Réponse de l'appareil]
Adresse de la station d'esclaves | Code de fonction | Nombre d'octets | Données 1 | Données 2 | Vérification CRC
0x01 0x03 0x04 0x00ff 0xa5b3 0x8f12

2. Code de fonction clé

Code Nom Fonction
0x01 Lisez la bobine Lire plusieurs quantités de commutation
0x03 Lire le registre de maintien Lire plusieurs valeurs 16 bits
0x05 Écrivez une seule bobine Définir une seule quantité de commutateur
0x10 Écrivez plusieurs registres Données d'écriture par lots

V. Mécanisme de gestion des exceptions

1. Format de réponse à l'exception

Adresse de la station d'esclaves | Code de fonction + 0x80 | Code anormal | Vérification CRC
0x01 0x83 0x02 0xf1a2

2. Codes d'exception communes

Code Signification Méthode de la solution
0x01 Code de fonction illégal Vérifiez les codes de fonction pris en charge par l'appareil
0x02 Adresse de données illégale Confirmer la table de mappage du registre
0x03 Valeur de données illégale Vérifiez la plage d'écriture
0x04 L'équipement de la station d'esclaves a mal fonctionné Vérifiez l'état de la station d'esclaves

Vi. Plan d'amélioration de la sécurité

1. Modbus sécurisé

  • Ajouter un cryptage TLS / DTLS (support matériel requis)
  • Équipement typique: souris Hirschmann

2. Protection de passerelle

  • Restreindre l'accès au port 502 à travers le pare-feu
  • Gestion de la liste blanche des IP du site principal légitime

Vii. Scénarios d'application

1. Contrôle industriel

  • Communication PLC et HMI: interroger plus de 100 registres par seconde
  • Intégration du système DCS: Modbus RTU à Profibus Gateway

2. Gestion de l'énergie

  • Acquisition de données du compteur d'électricité: DL / T645-2007 standard basé sur Modbus
  • Surveillance de l'onduleur photovoltaïque: Lisez la capacité et la température de la production d'électricité

3. Automatisation des bâtiments

  • Contrôle de l'unité de climatisation: Réglez la valeur de réglage de la température (registre 4x)

Viii. Outils de débogage recommandés

  1. Modbus Poll (Master Station Simulation)
  2. MODSCAN32 (test de la station d'esclaves)
  3. Wireshark (capture de paquets Modbus TCP)
  4. USB à 485 débogueur (test sur le terrain)

Ix. Limitations de l'accord

  • Aucun mécanisme de découverte de l'appareil: la configuration manuelle de l'adresse de la station d'esclaves est requise
  • Faible efficacité pour les volumes de données importants: un maximum de 125 registres peuvent être lus à la fois
  • Sécurité faible: transmission en texte en clair, vulnérable aux attaques de l'homme au milieu

X. Évolution future

  • Modbus sur TSN: prend en charge les réseaux sensibles au temps
  • Intégration OPC UA: réaliser l'interopérabilité sémantique grâce à des spécifications de support
  • Pontage MQTT: solution d'accès à la plate-forme cloud
Pour plus de connaissances sur l'industrie LED, veuillez prêter attention à notre risque. Si vous n'êtes pas sûr du luminaire LED est le meilleur pour votre projet ou avez besoin d'aide pour la configuration de la disposition, contactez-nous Likleight, nous sommes un fabricant professionnel de lampes LED en Chine; nous avons des ingénieurs et un service client 24 heures pour vous.contact@like-light.com,WeChat / WhatsApp:86-132-6666-320.