Serveur Modbus TCP

Configuration du serveur Modbus TCP

Etic Telecom met à disposition un serveur Modbus TCP permettant de réaliser des requêtes pour récupérer diverses données collectées par le produit. Mais aussi pour déclencher des fonctionnalités sur le produit. La liste complète des données disponibles est présentée dans la section Spécification des registres et de leur contenu.

Accéder au menu Configuration > Système > Serveur Modbus. Cochez l’option Activer et entrez un numéro de port TCP libre pour le serveur Modbus. Si vous ne spécifiez pas de numéro de port, le port 502 est utilisé par défaut.

Les machines connectées au produit pourront envoyer des requêtes Modbus TCP sur le port spécifié précédemment et ainsi récupérer le contenu des registres demandés.

Lecture et écriture des registres Modbus

Certains registres sont faits pour être lus ; ils affichent des états pour le produit. D’autres sont conçus pour que vous puissiez écrire à l’intérieur pour des fonctionnalités spécifiques. Ces registres sont détaillés dans le chapitre Spécification des registres et de leur contenu.

  • Pour lire les registres, envoyez une requête Modbus Read Holding Registers (FC=3).

  • Pour écrire sur les registres, envoyez une requête Modbus Write Multiple Registers (FC=16) ou Write Single Register (FC=6).

  • Pour écrire sur les bobines, envoyez une requête Modbus Write Single Coil (FC=5) ou Force Multiple Coils (FC=15).

Fonctionnalité d’envoi de SMS et d’e-mails

Les registres suivants sont dédiés aux options des messages :

  • Registers 500-549: Expéditeur du message

  • Registers 550-599: Destinataire du message

  • Registres 600-649: Objet du message

  • Registres 650-773: Texte du message

modbus tcp server image1
Figure 1. Capture Wireshark d’une requête Modbus pour écrire l’expéditeur du message

Étapes depuis l’automate

  1. Écrivez des caractères (ASCII, Latin-1, UTF-8) en commençant par le premier registre de chaque option.

    • Chaque option doit être remplie pour envoyer un e-mail. Uniquement Destination et Texte pour les SMS.

    • Le serveur Modbus lira les registres jusqu’à ce qu’il trouve un registre de valeur 0x00. Les registres Expéditeur, Destination et Sujet sont donc limités à 99 caractères.

  2. Écrire à l’intérieur des bobines Modbus pour déclencher l’envoi du message.

    • Le réglage de la bobine à l’adresse 0 sur l’état ON enverra un SMS.

    • Le réglage de la bobine à l’adresse 1 sur l’état ON enverra un e-mail.

Table 1. Contenu des registres pour l’expéditeur "ETIC Telecom" : chaque registre contient 2 caractères ; la première lettre est sur le LSB et la seconde sur le MSB.
Registre 500 501 502 503 504 505 506

Registre @

40501

40502

40503

40504

40505

40506

40507

8-bit ASCII

TE

CI

T

le

ce

mo

Hexadecimal

0x5445

0x4349

0x5420

0x6c65

0x6365

0x6d6f

0x0000

Decimal

21573

17225

21536

27749

25445

28015

0

modbus tcp server image2
Figure 2. Capture Wireshark d’une requête d’écriture Modbus de l’expéditeur d’un message

Spécification des registres et de leur contenu

Register 10 Address: 40011

NodeID: 255

Cartographie des registres

Registre Contenu Type Détails

10-13

Latitude de la localisation GPS

LREAL (-1.79e+308 …​ 1.79e+308)

Unité : °

  • Registre 10 - bit 0: LSB (bit le moins significatif)

  • Registre 13 - bit 15: MSB (bit le plus significatif)

14-17

Longitude de la localisation GPS

LREAL (-1.79e+308 …​ 1.79e+308)

Unité : °

  • Registre 14 - bit 0: LSB

  • Registre 17 - bit 15: MSB

18-19

Altitude de la localisation GPS

REAL (-3.40e+38 …​ 3.40e+38)

Unité : mètres

  • Registre 18 - bit 0: LSB

  • Registre 19 - bit 15: MSB

20-21

Vitesse de la localisation GPS

REAL (-3.40e+38 …​ 3.40e+38)

Unité : m/s

  • Registre 20 - bit 0: LSB

  • Registre 21 - bit 15: MSB

22

Précision de la localisation GPS

UINT16 (0 …​ 65535)

Unité : mètres

…​

30

État de l’entrée numérique

BITMAP

bit 0 - État de l’entrée (0 désactivé / 1 activé)

31

État de la sortie numérique

BITMAP

bit 0 - État de la sortie (0 désactivé / 1 activé)

32

Alimentation 1

UINT16 (0 …​ 65535)

Unité : dV

33

Alimentation 2

UINT16 (0 …​ 65535)

Unité : dV

34

Température interne

INT16 (-32768 …​ 32767)

Unité : °C

…​

40

Statut du WAN Principal

UINT16 (0 …​ 65535)

0: Aucun / 1: ADSL / 2: Ethernet / 3: Cellulaire / 4: Wi-Fi

41

Statut du WAN ADSL

BITMAP

  • bit 0: Statut ADSL (0 désactivé / 1 activé)

  • bit 1: ADSL connecté (0 disconnected / 1 connected)

42

Statut du WAN Ethernet

BITMAP

  • bit 0: Statut Ethernet (0 désactivé / 1 activé)

  • bit 1: Ethernet connecté (0 disconnected / 1 connected)

43

Statut du WAN Cellulaire

BITMAP

  • bit 0: Statut Cellulaire (0 désactivé / 1 activé)

  • bit 1: Cellulaire connecté (0 disconnected / 1 connected)

44

Statut du WAN Wi-Fi

BITMAP

  • bit 0: Statut Wi-Fi (0 désactivé / 1 activé)

  • bit 1: Wi-Fi connecté (0 désactivé / 1 activé)

  • bit 2: Auto-DNS WAN Wi-Fi (0 désactivé / 1 activé)

…​

50

WAN ADSL débit descendant

UINT16 (0 …​ 65535)

Unité : kbits/s

51

WAN ADSL débit montant

UINT16 (0 …​ 65535)

Unité : kbits/s

52-53

WAN ADSL SNR Margin descendant

REAL (-3.40e+38 …​ 3.40e+38)

Unité : dB

54-55

WAN ADSL SNR Margin montant

REAL (-3.40e+38 …​ 3.40e+38)

Unité : dB

…​

70

WAN Cellulaire Niveau de signal

INT16 (-32768 …​ 32767)

Unité : dBm

71-72

WAN Cellulaire SNR

REAL (-3.40e+38 …​ 3.40e+38)

Unité : dBm

  • Registre 71 - bit 0: LSB

  • Registre 72 - bit 15: MSB

73

WAN Cellulaire octets reçus

UINT16 (0 …​ 65535)

Unité : Mégaoctets

74

WAN Cellulaire octets transmis

UINT16 (0 …​ 65535)

Unité : Mégaoctets

75-76

WAN Cellulaire octets totaux

UINT32 (0 …​ 4294967295)

Unité : Mégaoctets

…​

80

WAN Wi-Fi Fréquence

UINT16 (0 …​ 65535)

Unité : MHz

81

WAN Wi-Fi Niveau de signal

INT16 (-32768 …​ 32767)

Unité : dBm

…​

90

États des interfaces LAN

BITMAP

  • bit 0…​1 - état du port LAN Ethernet 0

    • 00 désactivé

    • 10 activé/déconnecté

    • 11 activé/connecté

  • bit 2…​3 - état du port LAN Ethernet 1

  • bit 4…​5 - état du port LAN Ethernet 2

  • bit 6…​7 - état du port LAN Ethernet 3

91

Statut du LAN Wi-Fi

BITMAP

  • bit 0: Statut du LAN Wi-Fi (0 désactivé / 1 activé)

  • bit 1: LAN Wi-Fi 802.11n (0 désactivé / 1 activé)

  • bit 2: LAN Wi-Fi actif sur entrée TOR (0 désactivé / 1 activé)

92

État de l’accès à distance M2Me

BITMAP

  • bit 0: M2Me actif (0 désactivé / 1 activé)

  • bit 1: M2Me connecté (0 disconnected / 1 connected)

  • bit 2: M2Me proxy (0 désactivé / 1 activé)

93

M2Me Nombre d’utilisateurs distants connectés

UINT16 (0 …​ 65535)

…​

100-109

États VPN OpenVPN entrants

BITMAP[10]

bit X: VPN n° X connecté (0 déconnecté-pas créé / 1 connecté)

110-119

États VPN OpenVPN sortants

BITMAP[10]

bit X: VPN n° X connecté (0 déconnecté-pas créé / 1 connecté)

120-129

États VPN IPsec

BITMAP[10]

bit X: VPN n° X connecté (0 déconnecté-pas créé / 1 connecté)

…​

500-549

Expéditeur du message

STRING[50]

50 registres conçus pour écrire 99 caractères (ASCII, Latin-1, UTF-8) - Non utilisé pour les SMS

550-599

Destinataire du message

STRING[50]

50 registres conçus pour écrire 99 caractères (ASCII, Latin-1, UTF-8) - Doit être un numéro de téléphone ou une adresse e-mail valide

600-649

Objet du message

STRING[50]

50 registres conçus pour écrire 99 caractères (ASCII, Latin-1, UTF-8) - Non utilisé pour les SMS

650-773

Texte du message

STRING[123]

123 registres conçus pour écrire 246 caractères (ASCII, Latin-1, UTF-8)