Protocole Modbus - Yoctopuce Yocto-RS485-V2 Mode D'emploi

Table des Matières

Publicité

Notez que les trames binaires sont limitées à 256 octets. Au delà de cette limite, une nouvelle trame
est créée pour la suite du message. L'horodatage de la trame permet d'identifier qu'il s'agit de la
continuation de la trame précédente.
Si votre protocole binaire ne spécifie aucune contrainte sur l'espacement entre les trames et
l'espacement entre les caractères d'une trame, utilisez plutôt la famille "Flux de données binaire" ci-
dessous.
Les fonctions de l'API les plus utiles dans ce mode de fonctionnement sont:
• reset(), pour vider le tampon de lecture
• get_lastMessage(), pour obtenir la représentation hexadécimale de la dernière trame reçue
• writeHex() pour envoyer une trame, donnée sous forme hexadécimale
• readMessages() pour chercher une trame correspondant à une expression régulière donnée
• readHex() pour lire un nombre spécifié d'octets sous forme hexadécimale (indépendamment
de la séparation en trames)
• queryHex() pour envoyer une trame binaire et attendre une réponse pour un temps maximal
prescrit
En mode trame binaire, si on enregistre un callback de notification de valeur, il sera appelé à chaque
nouvelle trame envoyée ou reçue.

5.5. Protocole MODBUS

Le protocole MODBUS est très utilisé dans le monde industriel et pour la surveillance des
infrastructures techniques des bâtiments. Il existe en deux variantes: le mode MODBUS ASCII, où
les messages sont échangés sous forme de lignes de codes hexadécimaux, et le mode MODBUS
RTU, où les messages sont échangés directement sous forme de trames binaires. Pour dialoguer
avec un équipement MODBUS, vous devez impérativement utiliser le même mode que configuré
dans l'équipement. En principe, tous les appareils conformes au standard doivent supporter le mode
MODBUS RTU.
Les messages MODBUS correspondent à des opérations relativement simples de lecture et écriture
de registres binaires (appelés bits, ou "coils") et de mots de 16 bits. Il s'agit systématiquement d'un
échange initié par l'hôte, et auquel l'appareil "esclave" répond. Le Yocto-RS485-V2 gère de manière
transparente le mode ASCII ou RTU, et calcule lui-même les octets de validations (LRC et CRC)
spécifiés dans le protocole MODBUS. Les fonctions de l'API les plus utiles en mode MODBUS sont:
• modbusReadBits(), pour lire un ou plusieurs bits d'état (fonction MODBUS "Read coils")
• modbusReadInputBits(), pour lire un ou plusieurs bits d'entrée (fonction MODBUS "Read
input bits")
• modbusReadRegisters(), pour lire un ou plusieurs registres d'état (fonction MODBUS "Read
holding registers")
• modbusReadInputRegisters(), pour lire un ou plusieurs registres d'entrée (fonction
MODBUS "Read input registers")
• modbusWriteBit(), pour modifier un bit d'état (fonction MODBUS "Write single coil")
• modbusWriteBits(), pour modifier plusieurs bits d'état (fonction MODBUS "Write multiple
coils")
• modbusWriteRegister(), pour modifier un seul registre d'état (fonction MODBUS "Write single
registers")
• modbusWriteRegisters(), pour modifier plusieurs registres d'état (fonction MODBUS "Write
multiple registers")
• modbusWriteAndReadRegisters(), pour modifier plusieurs registres et relire ensuite
directement plusieurs registres d'état (fonction MODBUS "Read/Write Multiple Registers")
• queryMODBUS() pour envoyer une requête MODBUS arbitraire, et attendre la réponse
En mode MODBUS, si on enregistre un callback de notification de valeur, il sera appelé à chaque
message envoyé ou reçu.
www.yoctopuce.com
5. Le port série
21

Publicité

Table des Matières
loading

Ce manuel est également adapté pour:

Yocto-rs232

Table des Matières