Connecteur Modbus

Principes généraux de Modbus

Modbus est un protocole de communication utilisé pour des réseaux d’automates. Historiquement, il a été conçu en pour des communications sur un interface série (RS232, RS422, RS485) et supporte depuis le mode TCP. OIBus intègre la version plus récente du protocole en mode TCP.

Dans ce mode TCP, Modbus met en place une connexion client-serveur : le serveur met à disposition des données à des adresses mais reste passif. C’est le client Modbus qui va chercher les valeurs des données. Le connecteur Sud Modbus d’OIBus est un client Modbus. Il faut donc indiquer au connecteur l’hôte (host, soit l’adresse IP de la machine serveur Modbus) et le port (502 par défaut).

  • L’ adress d’un point correspond à la référence d’une donnée sur la machine serveur Modbus.
  • Le point id correspond à la référence de la donnée pour l’application cible (endpoint destinataire).
  • Le scan mode indique l’intervalle de temps entre deux requêtes au serveur.

Le Mode d’Adressage

Les adresses de données Modbus suivent la convention Modicon Convention Notation (MCN) :

  • Coil = [0x00001 - 0x09999] De 1 à 39 321
  • Discrete Input = [0x10001 - 0x19999] De 65 537 à 104 857
  • Input Register = [0x30001 - 0x39999] De 196 609 à 235 929
  • Holding Register = [0x40001 - 0x49999] De 262 145 à 301 465

Une version étendue de MCN permet à l’utilisateur de spécifier des espaces d’adresses plus large :

  • Coil = [0x000001 - 0x065535]
  • Discrete Input = [0x100001 - 0x165535]
  • Input Register = [0x300001 - 0x365535]
  • Holding Register = [0x400001 - 0x465535]

Lors de l’ajout d’un point dans OIBus, il est nécessaire de spécifier la MCN complète (en hexadécimal ou en décimal). Voici quelques exemples :

  • Pour la donnée Holding Register 16001 (0x3E81), il faut entrer 403E81 (équivalent à l’adresse 0x403E81 en MCN étendue) ou 43E81 (équivalent à l’adresse 0x43E81 en MCN standard).
  • Pour la donnée Coil 156 (0x009C), il faut entrer 00009C (équivalent à l’adresse 0x00009C en MCN étendue) ou 0009C (équivalent à l’adresse 0x0009C en MCN standard).

Pour aller plus loin

Vous pouvez consulter le site web de la Modbus Organization et plus particulièrement le document Modicon Modbus Protocol Reference Guide.