Serveur Modbus TCP

Introduction

Le protocole Modbus TCP ne s'appuie pas sur une structure hiérarchique, mais sur un modèle client/serveur.

Le port Ethernet intégré du coupleur de bus prend en charge le serveur Modbus, sans aucune configuration.

Serveur Modbus TCP

Le serveur Modbus prend en charge les requêtes Modbus suivantes :

Code fonction

Déc (Hex)

Sous-fonction

Déc (Hex)

Fonction

3 (3)

Lecture du registre de maintien (%MW)

6 (6)

Ecriture d'un registre (%MW)

16 (10)

Ecriture de plusieurs registres (%MW)

22 (16)

-

Masquage du registre d'écriture

23 (17)

Lecture/écriture de plusieurs registres (%MW)

43 (2B)

14 (E)

Lecture de l'identification de l'équipement

Configuration Modbus TCP

Pour configurer votre coupleur de bus TM3 Ethernet en tant qu'équipement esclave Modbus TCP, ajoutez le coupleur de bus, puis sélectionnez Scrutateur d'E/S Modbus TCP > TM3BCEIP.

Requête de diagnostic

Le tableau suivant contient la liste des codes de sélection de données :

Code de sélection de données (hex)

Description

00

Réservé

01

Diagnostic réseau de base

02

Diagnostic de port Ethernet

03

Diagnostic Modbus TCP/Port 502

04

Table de connexion Modbus TCP/Port 502

05 - 7E

Réservé pour les autres codes publics

7F

Décalages de la structure des données

Registres Modbus TCP du coupleur de bus TM3

Zone

Accès

Registres

Fonction

Zone Diagnostic

L

900 - 901

Informations de diagnostic du coupleur de bus

L

930 - 931

Etat du bus et des modules TM2/TM3

L

932

Etat du système

L

991 - 992

Informations de diagnostic de la communication

L

1058...1066

Paramètres de communication Ethernet

L

1100...1115

Informations produit concernant le coupleur de bus TM3

L

2512 - 2513

Numéro de série du coupleur de bus TM3

Zone Scrutateur d'E/S

L

1...99

Sous-ensemble de valeurs d'entrée des modules de coupleur de bus (7 premiers modules)(1)

L/E

101...199

Sous-ensemble de valeurs de sortie des modules de coupleur de bus (7 premiers modules)(1)

L

3001...3499

Valeurs d'entrée des modules de coupleur de bus (tous les modules)(1)

L/E

3501...3999

Valeurs de sortie des modules de coupleur de bus (tous les modules)(1)

L

13001...13499

Valeurs d'entrée des modules de coupleur de bus (tous les modules) à utiliser avec des équipements IHM.

L

13501...13999

Valeurs de sortie des modules de coupleur de bus (tous les modules) à utiliser avec des équipements IHM.

Configuration TM3 directe

Voir Procédure de configuration : Registres de gestion de la configuration

15000 - 16499

Permettent au contrôleur d'envoyer la configuration TM3 via des requêtes Modbus

(1) Une erreur est renvoyée en cas d'accès à ces registres lorsque l'état du système (registre 932) est différent de 5 (bus TM3 contrôlé par modbus TCP). Les valeurs des registres 3001 à 3499, 3501 à 3999 et 13001 à 13999 sont valides uniquement lorsque le registre 931 est à 0 (état du bus OK, tous les modules OK).

Informations de diagnostic du coupleur de bus

Registres

Fonction

Description

900

Diagnostics du coupleur de bus

Bits (0 à 8) : Inutilisé

Bit (9 ) : Erreur d'exécution du bus d'E/S

Bits (10 à 11) : Inutilisé

Bit (13 ) : Bus d'E/S non configuré ou erreur de configuration du bus

Bits (14 à 15) : Inutilisé

901

Etat des modules d'E/S

Bits (0 à 13) : Etat du premier module d'extension…état du 14e module d'extension

Bits (14 à 15) : Inutilisé

0 : Aucune erreur détectée

1 : Erreur détectée

Etat du bus et des modules TM3/TM2

Registres

Fonction

Bits

Description

930

Etat du bus et des modules TM3/TM2

0…1 module 1

Etat du module (2 bits par module) :

  • 0x0 : Module OK

  • 0x1 : Erreur de configuration du module détectée

  • 0x2 : Erreur d'exécution du module détectée

  • 0x3 : Module absent, mais il s'agit d'un module facultatif

2…3 module 2

4…5 module 3

6…7 module 4

8…9 module 5

10…11 module 6

12…13 module 7

14…15 module 8

931

Etat du bus et des modules TM3/TM2

0…1 module 9

Etat du module (2 bits par module) :

  • 0x0 : Module OK

  • 0x1 : Erreur de configuration du module détectée

  • 0x2 : Erreur d'exécution du module détectée

  • 0x3 : Module absent, mais il s'agit d'un module facultatif

2…3 module 10

4…5 module 11

6…7 module 12

8…9 module 13

10…11 module 14

12…13

Réservé

14…15

Etat du bus :

  • 0x0 : Bus OK

  • 0x1 : Erreur de configuration du bus détectée

  • 0x2 : Erreur d'exécution du bus détectée

  • 0x3 : Bus non configuré

Etat du système

Registres

Fonction

Description

932

Etat du système

  • 0x0 : Système en cours d'initialisation.

  • 0x1 : Bus TM3 non configuré.

  • 0x2 : Transfert de configuration TM3 en cours.

  • 0x3 : Une configuration TM3 valide a été appliquée. Les sorties sont réglées sur 0.

  • 0x4 : Bus TM3 contrôlé via EIP.

  • 0x5 : Bus TM3 contrôlé via le scrutateur d'E/S Modbus TCP.

  • 0x6 : Bus TM3 contrôlé par le Serveur Web.

  • 0x7 : Expiration du délai d'actualisation du bus de terrain

  • 0x8 : Mise à jour du micrologiciel en cours

  • 0xA : Changement d'état du système en cours.

933

Configuration du bus TM3/TM2

  • Bits [0] : Cohérence des données Modbus TCP

  • 0x0 : Désactiver

  • 0x1 : Activer

NOTE : Lorsque Modbus TCP est activé, les valeurs des registres d'état (900, 901, 930...932) reflètent l'état du coupleur de bus TM3 et des modules d'extension TM3 connectés. Lisez ces registres d'état avant de lancer l'échange d'E/S et effectuez les actions éventuellement requises.

Informations de diagnostic sur la communication

Registres

Fonction

Description

991

Nombre de message reçus

Nombre de messages reçus.

992

Nombre de messages envoyés

Nombre de messages envoyés.

Paramètres de communication Ethernet

Reportez-vous à la section Configurer des paramètres réseau par commande Modbus pour plus d'informations sur l'utilisation des registres 1050 - 1056 pour les configurations de réseau.

Registres

Fonction

1050

Démarrer ou appliquer la configuration réseau.

1 = Démarrer

2 = Appliquer

1051

Adresse IP - Mot de poids fort

1052

Adresse IP - Mot de poids faible

1053

Masque de sous-réseau - Mot de poids fort

1054

Masque de sous-réseau - Mot de poids faible

1055

Adresse de passerelle - Mot de poids fort

1056

Adresse de passerelle - Mot de poids faible

1057

Erreur détectée. (Voir les erreurs par bit dans le tableau ci-après)

1058

Adresse MAC

1059

1060

1061

Adresse IP

1062

1063

Masque de sous-réseau

1064

1065

Passerelle

1066

Le tableau suivant décrit les erreurs par bit pour le registre 1057 :

Champ binaire

Bit d'erreur

(0 = pas d'erreur, 1 = erreur)

Description

Bit 0

IP non valide

Les adresses 90.0.0.1 et 90.0.0.2 ne sont pas autorisées car elles sont réservées au réseau RNDIS dans le coupleur de bus.

Bit 1

IP non valide

Valeur incorrecte pour l'octet de poids fort.

La valeur ne doit pas être zéro.

La valeur ne doit pas être supérieure ou égale à 224.

Exemples d'adresses IP non valides :
  • 0.xxx.xxx.xxx

  • 224.xxx.xxx.xx

  • 255.xxx.xxx.xxx

Bit 2

IP non valide

Les boucles ne sont pas autorisées.

La valeur de l'octet de poids fort de l'adresse IP ou l'octet de poids fort ne doit pas être 127.

Exemple : L'adresse IP 127.xxx.xxx.xxx n'est pas autorisée.

Bit 3

Masque de sous-réseau non valide

La valeur maximum autorisée pour le dernier octet est 252.

Exemples de valeurs de masque de sous-réseau non valides :
  • xxx.xxx.xxx.253

  • xxx.xxx.xxx.254

  • xxx.xxx.xxx.255

Bit 4

Masque de sous-réseau non valide

Le masque de sous-réseau doit contenir des 1 continus, sans 0 entre eux.

Exemple d'adresse non valide :

  • 160.0.0.0 [10100000.00000000.00000000.00000000]

Bit 5

IP non valide

L'adresse IP ne doit pas être une adresse de diffusion.

Une adresse de diffusion est calculée en inversant les bits du masque de sous-réseau puis en effectuant une opération OR bit à bit avec l'adresse IP.

Exemple : Une configuration avec l'adresse IP 10.10.0.3 et le masque de sous-réseau 255.255.255.252 n'est pas valide car l'adresse de diffusion résultante est égale à l'adresse IP.

Bit 6

Sous-réseau non valide

La classe IP n'est pas couverte.

L'opération AND sur les bits de l'adresse IP avec les valeurs de bit inversées du masque de sous réseau ne doit pas donner 0.

Exemple : Une adresse IP 10.10.0.4 et un masque de sous réseau 255.255.255.252 ne sont pas autorisés car la classe IP n'est pas couverte par le masque de sous réseau.

Bit 7

Passerelle non valide

La valeur d'octet de poids fort de l'adresse de passerelle est incorrecte.

Zéro n'est pas autorisé.

127 n'est pas autorisé.

La valeur doit être inférieure à 224.

Exemples d'adresses de passerelle incorrectes :
  • 0.xxx.xxx.xxx

  • 127.xxx.xxx.xxx

  • 255.xxx.xxx.xxx

Bit 8

Passerelle non valide

L'adresse de passerelle 255.255.255.255 n'est pas autorisée.

Bit 9

IP non valide

Renvoie une erreur si l'adresse de passerelle est égale à l'adresse de diffusion.

Une adresse de diffusion est calculée en inversant les bits du masque de sous-réseau puis en effectuant une opération OR bit à bit avec l'adresse IP.

Exemple de configuration non valide :
  • Adresse IP : 10.10.0.100

  • Masque de sous-réseau : 255.255.255.0

  • Passerelle : 10.10.0.255

Bit 10

Passerelle non valide

L'ID d'hôte est calculé en inversant les bits du masque de sous-réseau puis en effectuant une opération AND bit à bit avec l'adresse de passerelle. La valeur résultante doit être différente de 0.

Exemple de configuration non valide :
  • Masque de sous-réseau : 255.255.255.192

  • Passerelle : 10.10.0.192

Bit 11

IP non valide

Le réseau n'est pas accessible.

Renvoie une erreur si (IP AND sous-réseau) est différent de (passerelle AND sous-réseau).

Exemple de configuration non valide :
  • Adresse IP : 10.10.0.128

  • Masque de sous-réseau : 255.255.255.192

  • Passerelle : 10.10.0.64

Bit 12

Sous-réseau non valide

Le masque de sous-réseau 0.0.0.0 n'est pas autorisé.

Bit 13

Inutilisé

Bits 14-15

Bits d'état indiquant l'état de la configuration des paramètres réseau

Bit 15

Bit 14

Description

0

0

Valeur par défaut à la mise sous tension.

0

1

Le coupleur de bus est en train d'enregistrer la configuration réseau (après écriture de 0 dans le registre 1050).

1

0

La configuration réseau est enregistrée, un redémarrage est imminent.

1

1

La configuration est en erreur ou un dépassement de délai s'est produit.

Exemple :
  • En l'absence d'erreur, enregistrement de la configuration : 0x4000

  • Configuration enregistrée : 0x8000

  • Dépassement de délai : 0xC000

  • Erreur de sous-réseau zéro : 0xD000

Informations produit concernant le coupleur de bus TM3

Registres

Fonction

1100

Code produit du coupleur de bus TM3

2507-2508

Version du micrologiciel du coupleur de bus TM3

2512-2513

Numéro de série du coupleur de bus TM3

2601

Position du commutateur rotatif ONES

2602

Position du commutateur rotatif TENS