1) protocole Modbus TCP avec LabVIEW
Avec les API LabVIEW, il est possibile d'utiliser le protocole Modbus, sans même savoir comment il est codé. Cela est totalement transparent pour le développeur.
exemple de la dernière API https://decibel.ni.com/content/docs/DOC-30140
En Modbus TCP, le client (maître) se connecte au serveur (esclave). Dès que la liaison est établie, le client envoie des requêtes Modbus (Requests) au serveur. Ces requêtes sont traitées par le serveur. Le résultat est renvoyé au client sous forme de réponse Modbus (Response).
Il existe, dans la spécification modbus, uniquement le transport TCP ou IP.
exemple create Modbus TCP master exemple
Il est utilisé, rarement, 2 autres modes:
avec Gateway modbus, besoin d'ajouter le "Unit ID", qui est l'adresse du device
exemple create Modbus TCP master with unit_ID exemple
le protocole RTU sur couche de transport TCP, sous le nom "modbus RTU over TCP" ( pour le code Modbus RTU over TCP Master with LabVIEW)
exemple create Modbus RTU over TCP master exemple
2) Protocole PDU
Le protocole Modbus définit un (Protocol Data Unit) Modbus-PDU, qui ne dépend pas de la couche de communication correspondante. Ce Modbus-PDU se compose des deux champs "Function Code" et "Data".
Grâce au blindage de "Function Code" et "Data" dans Modbus-PDU, les services Modbus et le modèle d'objet restent identiques pour toutes les variantes Modbus.
le construction du PDU est réalisée directement dans le code de l'API, cela est transparent pour le développeur.
3) Transport et ADU
En fonction de la représentation sur les différents protocoles réseau, Modbus-PDU est complété par des champs supplémentaires (MBAP Header) pour le Modbus-ADU (Application Data Unit).
le création de l'ADU est réalisée directement dans le code de l'API, cela est transparent pour le développeur.
Modbus-PDU et Modbus-ADU composent ensemble le message Modbus, également désigné par "Frame" (trame).
Luc Desruelle
Auteur du livre "LabVIEW programmation et applications"
CLA : Certified LabVIEW Architect / Certifié Architecte LabVIEW
CLD : Certified LabVIEW Developer / Certifié Développeur LabVIEW
profil