Qu'est-ce que Modbus?
Modbus est un protocole de communication série développé par Modicon à la fin des années 1970. Il a été conçu pour permettre la communication entre des automates programmables industriels (API). Le protocole Modbus fonctionne sur le modèle maître/esclave, ce qui signifie qu'un appareil fait office de maître Modbus et communique avec un ou plusieurs esclaves Modbus. Le protocole maître/esclave Modbus permet à un maitre de se connecter à un nombre maximal de 247 esclaves. L'appareil servant d'esclave attend que le maître lui demande des informations.
Il existe de nombreuses variante du protocole Modbus. Nous allons nous intéresser à la version série (RS-232 ou RS-485) : Modbus RTU. Il s'agit d'un protocole libre basé sur l'architecture maître/esclave. Ce protocole est très utilisé en raison de sa fiabilité et de sa simplicité. Il est notamment souvent intégré à la gestion technique de bâtiment (GTB) et aux systèmes industriels automatisés (SIA).
Les messages envoyés à l'aide de Modbus RTU sont un simple CRC (contrôle de redondance cyclique) sur 16 bits qui assure leur fiabilité. La structure de registre Modbus RTU 16 bits est utilisée en virgule flottante, dans des tableaux, du texte ASCII et des files d'attente, etc.
Comme nous l'avons précédemment mentionné, Modbus RTU fonctionne sur le modèle maître/esclave et permet la communication entre des périphériques connectés via des réseaux ou des bus en proposant des services définis par des codes de fonction. Ce protocole se situe au niveau 7 du modèle OSI.
Logiciel de scan Modbus
Pour créer un Application Data Unit Modbus, il est nécessaire de créer une transaction Modbus. Il s'agit d'une fonction qui informera le serveur qu'une action est attendue de sa part. Le champ du code de fonction est codé sur un octet. Les codes valides ont une taille comprise entre 1 et 255 octets, la plage 128 à 255 étant réservée aux réponses.