• Aucun résultat trouvé

Trame d’échange question/réponse Communication Modbus - GénéralitésEchanges Modbus - Principe MODBUS TEDM - ETTNM FR

N/A
N/A
Protected

Academic year: 2022

Partager "Trame d’échange question/réponse Communication Modbus - GénéralitésEchanges Modbus - Principe MODBUS TEDM - ETTNM FR"

Copied!
4
0
0

Texte intégral

(1)

Le pressostat TEDM et le thermostat ETTNM possèdent un port série RS485 et utilisent le protocole de communication Modbus RTU.

Le protocole Modbus est un protocole de dialogue basé sur une structure hiérar- chisée entre un maître et plusieurs esclaves (stations). Il permet de lire la valeur de pression (TEDM) ou de température (ETTNM) ainsi que de l'état de chaque seuil (ouvert ou fermé).

Echange maître vers 1 esclave : le maître envoie une demande et attend une réponse.

Echange Maître vers toutes les stations esclaves : le maître diffuse un message à tous les esclaves présents sur le réseau, ceux-ci exécutent l’ordre du message sans émettre une réponse.

Deux stations esclaves ne peuvent dialoguer ensemble.

Adressage

Les stations du bus sont identifiées par des adresses attribuées par l’utilisateur.

L’adresse de chaque abonné est indépendante de son emplacement physique.

Maître

Communication Modbus - Généralités

Echanges Modbus - Principe

Echange maître vers un esclave

Le maître interroge un esclave sur le réseau et attend de la part de cet esclave une réponse.

Maître

Station esclave A Station esclave B Station esclave C Réponse Question

Echange maître vers tous les esclaves

Le maître diffuse un message vers tous les esclaves présents sur le réseau, ceux-ci exécutent l’ordre du message sans émettre une réponse.

Maître

Station esclave A Station esclave B Station esclave C Commande

Ex: station esclave = TEDM / ETTNM ...

Station esclave A Station esclave B Station esclave C

Ces adresses vont de 1 à 247 et ne doivent pas obligatoirement être attribuées de manière séquentielle.

Deux stations esclaves ne peuvent pas avoir la même adresse.

Adresse sortie usine TEDM / ETTNM : 246.

La question

Elle contient un code fonction indiquant à l’esclave adressé le type d’action demandé.

Les données contiennent des informations complémentaires dont l’esclave a besoin pour exécuter cette fonction.

Le mot de contrôle permet à l’esclave de s’assurer de l’intégralité du contenu de la question.

La réponse

Si une erreur apparaît, le code fonction est modifié pour indiquer que la réponse est une réponse d’exception (MSB*=0 : pas d’erreur ; MSB=1 : erreur).

Les données contiennent alors un code (code d’exception) permettant de connaître le type d’erreur.

Code d’exception :

01 Fonction illégale (erreur sur le code fonction) 02 Erreur sur l’adresse du registre ou du coil

08 Erreur de transmission (suite au contrôle du CRC ou du Timing)

*MSB : Most Significant Bit

Trame d’échange question/réponse

N° station

esclave Code fonction

+ bit d’erreur Information spécifique

concernant la demande Mot de contrôle

1 octet 1 octet n octets 2 octets

N° station esclave

Code fonction

+ bit d’erreur Données transmises Mot de contrôle

1 octet 1 octet n octets 2 octets

Réponse lors d’une erreur : N° station

esclave

Code fonction

+ bit d’erreur Code d’exception Mot de contrôle

1 octet 1 octet 1 octet 2 octets

Réponse : Question :

Baumer Bourdon-Haenni S.A.S. · 125, rue de la Marre · B.P. 70214 · 41103 Vendôme Cedex · France Tél. +33 (0)2 54 73 74 75 · Fax France +33 (0)2 54 73 74 74 · Fax Export +33 (0)2 54 73 74 73

sales.fr@baumerprocess.com · www.baumer.com 320124 ind a 11/2010

NOTICE D’INSTALLATION

MODBUS TEDM - ETTNM

FR

(2)

Le maître s’adresse à l’esclave. Le code fonction indique à l’esclave le type d’action à réaliser. Exemple : lecture de registre, code de fonction 03 hex.

Le champ de données est codé sur n mots en hexadécimal de 00 à FF, soit sur n octets.

Selon le code fonction, le champ de données contient diverses informations complé- mentaires permettant à l’esclave de décoder le message.

Dans le cas du mode RTU, le champ contrôle d’erreur CRC (Cyclical Redundancy Check) sert à s’assurer de l’intégrité des données reçues. Le CRC contient une valeur codée sur 16 bits.

Type RTU

L’esclave renvoie sa réponse ; il place sa propre adresse dans le champ adresse afin que le maître puisse l’identifier.

Pour une réponse normale, l’esclave reprend le même code fonction que celui du message envoyé par le maître.

Le champ contrôle d’erreur contient une valeur codée sur 16 bits. Cette valeur est le résultat d’un CRC calculé à partir du message.

Chaque octet composant un message est transmis en mode RTU de la manière suivante :

Support de transmission

Message du maître Message de l’esclave Délai mini de 3,5 fois le temps

de transmission d’un octet

Délai mini de 3,5 fois le temps de transmission d’un octet Avant et après chaque message(trame), il doit y avoir un silence minimum de 3,5 fois

le temps de transmission d’un octet.

L’ensemble du message doit être transmis de manière continue. Le temps maximum entre 2 octets doit être inférieur à 1,5 fois le temps de transmission d’un octet.

Dans le cas contraire, il y a une erreur de transmission.

Le protocole MODBUS ne définit que la structure des messages et leur mode d’échange.

Les TEDM et ETTNM utilise 4 codes fonctions.

Ces codes fonctions permettent de récupérer :

- la valeur de mesurée de pression (TEDM) ou de température (ETTNM) - l’état de chaque seuil (ouvert ou fermé)

et d’écrire:

- l’état et le réglage des seuils - le code d’accès

- l’adresse de l’esclave

Codes fonction - TEDM/ETTNM

La taille maximale des données est de 256 octets. L’ensemble des informations contenues dans le message est exprimé en hexadécimal.

Sans contrôle de parité START Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 STOP STOP

Avec contrôle de parité START Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 Parité STOP

Dans le menu de configuration des TEDM et ETTNM, il est possible de valider

ou non le contrôle de parité. Dans le cas d’un contrôle de parité, il vous est demandé de confirmer l’état du contrôle : paire ou impaire (‘even’ ou ‘odd’).

On peut utiliser n’importe quel support de transmission RS 232, RS 422 ou RS 485, mais la liaison RS 485 est la plus répandue car elle autorise le « multipoints ».

TEDM-ETTNM:

Vitesse de transmission des données : 9600 bauds. Liaison : RS485.

Code Fonction Action

01 Read Coils Status Lecture de l’état des seuils 1 et 2 : ouvert ou fermé Lecture de la configuration des seuils : Normale- ment Ouvert (NO) ou Normalement Fermé (NC) Lecture de la position du point décimal (afficheur) 03 Read Holding Register Lecture de la valeur mesurée. Pression (TEDM)

ou Température (ETTNM) Lecture du code d’accès

Lecture de la valeur des points de commutation haut et bas de chaque seuil

Lecture des valeurs de temporisation de chaque seuil 05 Write Single Coil Ecriture de la configuration des seuils : NO ou NC 06 Write Single Register Ecriture du code d’accès

Ecriture de la valeur des points de commutation haut et bas de chaque seuil

Ecriture des valeurs de temporisation de chaque seuil Ecriture de l’adresse de l’esclave (TEDM ou ETTNM)

Deux types de codage peuvent être utilisés pour communiquer sur un réseau Modbus : Type ASCII - chaque octet composant une trame est codé avec 2 caractères ASCII Type RTU (Unité terminale distante) - chaque octet composant une trame est codé sur 2 caractères hexadécimaux (2 fois 4 bits).

Le mode ASCII permet d’avoir des intervalles de plus d’une seconde entre les diffé- rents caractères sans que cela ne génère d’erreurs, alors que le mode RTU permet un débit plus élevé pour une même vitesse de transmission.

Le TEDM et le ETTNM utilise le codage type RTU pour communiquer sur le réseau Modbus.

Format général d’une trame

START Adresse Fonction Données CRC 16 END

1 octet 1 octet 1 octet n octets 2 octets Silence

Trame Type RTU :

START Adresse Fonction Données LRC END

1 caractère 2 caractères 2 caractères n caractères 2 caractères 2 caractères Trame Type ASCII :

320124 ind a 11/2010

(3)

Read Coil Status - code fonction 01

Le maître interroge le TEDM/ETTNM sur l’état des seuils.

L’adresse de départ de lecture des coils est imposée et le nombre de coils est systématiquement 16. Les coils sont adressés à partir de zéro : les coils 1-16 sont adressés de 0 à 15.

Exemples de transmission

Exemple de réponse à la requête :

Réponse

Nom du champ Exemple

Slave Address 3B hex

Function 01 hex

Byte Count 02 hex

Data (Coils 08-01) 21 hex Data (Coils 16-09) 00 hex

Error Check (CRC) —

L’état des coils (08-01) donne pour valeur d’octet 21 hex, ou 0010 0001 binaire, le seuil 1 est actif.

Seuil 1 configuré en NO et Seuil 2 configuré en NC.

Bit = 0 : configuration NC. Bit = 1 : configuration NO.

Read Holding Register - code fonction 03

Le maître interroge le TEDM/ETTNM sur la valeur de la mesure, du code, du réglage des points de commutation haut ou bas des temporisations des seuils.

La question spécifie l’adresse du registre à lire. Les registres sont adressés à partir de zéro : les registres 1-11 sont adressés de 0 à 10.

Exemple de réponse à la requête :

Réponse

Nom du champ Exemple

Slave Address 3B hex

Function 03 hex

Byte Count 02 hex

Data Hi (Register 1) 0A hex Data Lo (Register 1) 2B hex

Error Check (CRC) —

Pour le registre 1 : Le contenu donne pour valeur des deux octets 0A 2B hex ou 2603 décimal.

Exemple de requête pour lire les coils 16-01 de l’esclave 59 :

Question

Nom du champ Exemple

Slave Address 3B hex

Function 01 hex

Starting Address Hi 00 hex Starting Address Lo 00 hex No. of Points Hi 00 hex No. of Points Lo 10 hex

Error Check (CRC) —

Exemple de requête pour lire le registre 1 (valeur mesure) de l’esclave 59 :

Question

Nom du champ Exemple

Slave Address 3B hex

Function 03 hex

Starting Address Hi 00 hex Starting Address Lo 00 hex No. of Points Hi 00 hex No. of Points Lo 01 hex

Error Check (CRC) —

Pour plus de renseignements sur le protocole Modbus : http://www.modbus.org/

Adr.

Coil Action 00 Etat Seuil 1 01 Etat Seuil 2 02

0304 NO-NC 1

05 NO-NC 2

0607

08 Position

09 du

10 point

11 décimal 12

13 14 15

Adr.

Reg Action 00 Valeur mesure

01 Code

02 Valeur HSP1 03 Valeur LSP1 04 Valeur HSP2 05 Valeur LSP2 0607 Valeur TS1 08 Valeur TH1 09 Valeur TS2 10 Valeur TH2 Write Single Coil - code fonction 05

Ce code fonction est utilisé pour configurer à distance les seuils en NO ou en NC. Les coils concernés sont le 05 (NO) et le 06 (NC) avec en adresse respective adr 04 et adr 05.

L’esclave confime l’écriture en renvoyant le même message.

Exemple de réponse à la requête :

Réponse

Nom du champ Exemple

Slave Address 3B hex

Function 05 hex

Starting Address Hi 00 hex Starting Address Lo 04 hex No. of Points Hi FF hex No. of Points Lo 00 hex

Error Check (CRC) —

Le seuil 1 est configuré en NO.

Pour configurer le seuil en NO, la donnée FF 00 hex est envoyée à l’esclave.

Pour configurer le seuil en NC, la donnée 00 00 hex est envoyée à l’esclave.

Exemple de requête pour forcer à 1 le coil 05 de l’esclave 59. le maître transmet la donnée FF 00 :

Demande

Nom du champ Exemple

Slave Address 3B hex

Function 05 hex

Starting Address Hi 00 hex Starting Address Lo 04 hex No. of Points Hi FF hex No. of Points Lo 00 hex

Error Check (CRC) —

Write Single Register - code fonction 06

Ce code fonction est utilisé pour configurer à distance le code d’accès*, les points de commutation haut et bas des seuils, la temporisation des seuils, l’adresse du TEDM ou ETTNM.

La demande spécifie l’adresse du registre concerné. Les registres sont adressés à partir de 1: les registres 2-11 sont adressés de 1-10.

Attention: les valeurs de commutation, de code d’accès ou d’adresse esclave sont envoyées dans les registres respectifs en héxadécimal.

Exemple de requête pour écrire le pt de consigne du seuil1 de l’esclave 59 :

Demande

Nom du champ Exemple

Slave Address 3B hex

Function 06 hex

Starting Address Hi 00 hex Starting Address Lo 02 hex No. of Points Hi 00 hex No. of Points Lo 6E hex

Error Check (CRC) —

* code d’accès pour la configuration par la face avant du TEDM ou ETTNM.

Exemple de réponse à la requête :

Réponse

Nom du champ Exemple

Slave Address 3B hex

Function 05 hex

Starting Address Hi 00 hex Starting Address Lo 02 hex No. of Points Hi 00 hex No. of Points Lo 6E hex

Error Check (CRC) —

Le point de consigne du seuil 1 est réglé à 00 6E hex ou 110 décimal.

Adr.

Reg Action 00

01 Code

02 Valeur HSP1 03 Valeur LSP1 04 Valeur HSP2 05 Valeur LSP2 06 Adr. esclave 07 Valeur TS1 08 Valeur TH1 09 Valeur TS2 10 Valeur TH2 Adr.

Coil Action 00

0102

0304 NO-NC 1

05 NO-NC 2

06 0708 0910 11 12 13 14 15

320124 ind a 11/2010

(4)

320124 ind a 11/2010

Baumer Bourdon-Haenni S.A.S. · 125, rue de la Marre · B.P. 70214 · 41103 Vendôme Cedex · France Tél. +33 (0)2 54 73 74 75 · Fax France +33 (0)2 54 73 74 74 · Fax Export +33 (0)2 54 73 74 73 sales.fr@baumerprocess.com · www.baumer.com

Références

Documents relatifs

Pour commander directement la montée ou la descente de la barrière, il faut écrire une valeur particulière dans le registre de commande "DRIVECOM" de l'ATV-28. Ce registre est

Décoder le message « réponse n°1 » émis par l'esclave en complétant le tableau suivant.

Décoder le message « réponse n°1 » émis par l'esclave en complétant le tableau suivant..

Pour permettre au MODBUS Esclave de communiquer avec le MODBUS Maître, il faut configurer l’application pour ouvrir un port de communication MODBUS-TCP sur Ethernet ou MODBUS-

L’écran affiche alors et indique Frost Protection Active (Protection contre le gel active) Pour afficher ou modifier la température de gel définie en mode vacances, appuyez sur

Pour envoyer un message sur la ligne, le Maître "prend la parole"(en activant le signal "RTS" du port série), c'est à dire impose le niveau logique sur la liaison

- le maître parle à l'ensemble des esclaves, sans attente de réponse (diffusion générale). Les échanges sont donc du type half-duplex Il ne peut y avoir sur

Le récepteur réalise la différence de ces deux signaux (R+ et R-) pour obtenir le signal utile.. Si une perturbation se produit, elle se présente sur les deux fils avec la