Developpez.com - Rubrique LabVIEW

Le Club des Développeurs et IT Pro

Le protocole modbus TCP avec NI LabVIEW

Un billet de Luc Desruelle

Le 22/09/2015, par luc desruelle, Membre confirmé
Plus d'infos sur Le protocole modbus serie (RTU et ASCII) avec LabVIEW vers le lien/

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
  Billet blog