Vous êtes sur la page 1sur 4

FR

NOTICE DINSTALLATION

MODBUS TEDM - ETTNM

Communication Modbus - Gnralits


Le pressostat TEDM et le thermostat ETTNM possdent un port srie RS485 et
utilisent le protocole de communication Modbus RTU.
Le protocole Modbus est un protocole de dialogue bas sur une structure hirarchise entre un matre et plusieurs esclaves (stations). Il permet de lire la valeur de
pression (TEDM) ou de temprature (ETTNM) ainsi que de l'tat de chaque seuil
(ouvert ou ferm).
Echange matre vers 1 esclave : le matre envoie une demande et attend une
rponse.
Echange Matre vers toutes les stations esclaves : le matre diffuse un message
tous les esclaves prsents sur le rseau, ceux-ci excutent lordre du message sans
mettre une rponse.
Deux stations esclaves ne peuvent dialoguer ensemble.
Adressage
Les stations du bus sont identifies par des adresses attribues par lutilisateur.
Ladresse de chaque abonn est indpendante de son emplacement physique.

Matre

Station esclave A

Station esclave B

Station esclave C

Ex: station esclave = TEDM / ETTNM ...

Ces adresses vont de 1 247 et ne doivent pas obligatoirement tre attribues de


manire squentielle.
Deux stations esclaves ne peuvent pas avoir la mme adresse.
Adresse sortie usine TEDM / ETTNM : 246.

Echanges Modbus - Principe


Echange matre vers tous les esclaves

Echange matre vers un esclave


Le matre interroge un esclave sur le rseau et attend de la part de cet esclave une
rponse.

Matre

Question

Le matre diffuse un message vers tous les esclaves prsents sur le rseau, ceux-ci
excutent lordre du message sans mettre une rponse.

Matre

Commande

Rponse

Station esclave A

Station esclave B

Station esclave C

Station esclave A

Station esclave B

Station esclave C

Trame dchange question/rponse

Elle contient un code fonction indiquant lesclave adress le type daction


demand.
Les donnes contiennent des informations complmentaires dont lesclave a besoin
pour excuter cette fonction.
Le mot de contrle permet lesclave de sassurer de lintgralit du contenu de la
question.
La rponse
Si une erreur apparat, le code fonction est modifi pour indiquer que la rponse est
une rponse dexception (MSB*=0 : pas derreur ; MSB=1 : erreur).
Les donnes contiennent alors un code (code dexception) permettant de connatre
le type derreur.
Code dexception :

01
Fonction illgale (erreur sur le code fonction)

02
Erreur sur ladresse du registre ou du coil

08
Erreur de transmission (suite au contrle du CRC ou du Timing)

Question :
N station
esclave
1 octet

Code fonction
+ bit derreur
1 octet

Information spcifique
concernant la demande
n octets

Mot de contrle
2 octets

Rponse :
N station
esclave
1 octet

Code fonction
+ bit derreur
1 octet

Donnes transmises

Mot de contrle

n octets

2 octets

Code dexception

Mot de contrle

1 octet

2 octets

Rponse lors dune erreur :


N station
esclave
1 octet

Code fonction
+ bit derreur
1 octet

*MSB : Most Significant Bit

Baumer Bourdon-Haenni S.A.S. 125, rue de la Marre B.P. 70214 41103 Vendme Cedex France
Tl. +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

La question

Format gnral dune trame


Deux types de codage peuvent tre utiliss pour communiquer sur un rseau Modbus :

Trame Type ASCII :

Type ASCII - chaque octet composant une trame est cod avec 2 caractres ASCII

START
1 caractre

Type RTU (Unit terminale distante) - chaque octet composant une trame est cod
sur 2 caractres hexadcimaux (2 fois 4 bits).
Le mode ASCII permet davoir des intervalles de plus dune seconde entre les diffrents caractres sans que cela ne gnre derreurs, alors que le mode RTU permet
un dbit plus lev pour une mme vitesse de transmission.

Adresse
2 caractres

Fonction
2 caractres

Donnes
n caractres

LRC
2 caractres

END
2 caractres

Fonction
1 octet

Donnes
n octets

CRC 16
2 octets

END
Silence

Trame Type RTU :


START
1 octet

Le TEDM et le ETTNM utilise le codage type RTU pour communiquer sur le


rseau Modbus.

Adresse
1 octet

Type RTU
La taille maximale des donnes est de 256 octets. Lensemble des informations contenues dans le message est exprim en hexadcimal.
Le matre sadresse lesclave. Le code fonction indique lesclave le type daction
raliser. Exemple : lecture de registre, code de fonction 03 hex.

Lesclave renvoie sa rponse ; il place sa propre adresse dans le champ adresse afin
que le matre puisse lidentifier.

Le champ de donnes est cod sur n mots en hexadcimal de 00 FF, soit sur n octets.

Pour une rponse normale, lesclave reprend le mme code fonction que celui du
message envoy par le matre.

Selon le code fonction, le champ de donnes contient diverses informations complmentaires permettant lesclave de dcoder le message.

Le champ contrle derreur contient une valeur code sur 16 bits. Cette valeur est le
rsultat dun CRC calcul partir du message.

Dans le cas du mode RTU, le champ contrle derreur CRC (Cyclical Redundancy
Check) sert sassurer de lintgrit des donnes reues. Le CRC contient une valeur
code sur 16 bits.

Support de transmission
Chaque octet composant un message est transmis en mode RTU de la manire suivante :
Sans contrle de parit

START

Bit 0

Bit 1

Bit 2

Bit 3

Bit 4

Bit 5

Bit 6

Bit 7

STOP

STOP

Avec contrle 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 contrle de parit.

Dans le cas dun contrle de parit, il vous est demand de confirmer ltat du contrle :
paire ou impaire (even ou odd).

Avant et aprs chaque message(trame), il doit y avoir un silence minimum de 3,5 fois
le temps de transmission dun octet.

Message du matre

Lensemble du message doit tre transmis de manire continue. Le temps maximum


entre 2 octets doit tre infrieur 1,5 fois le temps de transmission dun octet.

Dlai mini de 3,5 fois le temps


de transmission dun octet

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


Le protocole MODBUS ne dfinit que la structure des messages et leur mode
dchange.

Message de lesclave
Dlai mini de 3,5 fois le temps
de transmission dun octet

On peut utiliser nimporte quel support de transmission RS 232, RS 422 ou RS 485,


mais la liaison RS 485 est la plus rpandue car elle autorise le multipoints .
TEDM-ETTNM:
Vitesse de transmission des donnes : 9600 bauds. Liaison : RS485.

Les TEDM et ETTNM utilise 4 codes fonctions.


Ces codes fonctions permettent de rcuprer :
- la valeur de mesure de pression (TEDM) ou de temprature (ETTNM)
- ltat de chaque seuil (ouvert ou ferm)
et dcrire:
- ltat et le rglage des seuils
- le code daccs
- ladresse de lesclave

Code
01

Fonction
Read Coils Status

03

Read Holding Register

05
06

Write Single Coil


Write Single Register

Action
Lecture de ltat des seuils 1 et 2 : ouvert ou ferm
Lecture de la configuration des seuils : Normalement Ouvert (NO) ou Normalement Ferm (NC)
Lecture de la position du point dcimal (afficheur)
Lecture de la valeur mesure. Pression (TEDM)
ou Temprature (ETTNM)
Lecture du code daccs
Lecture de la valeur des points de commutation
haut et bas de chaque seuil
Lecture des valeurs de temporisation de chaque seuil
Ecriture de la configuration des seuils : NO ou NC
Ecriture du code daccs
Ecriture de la valeur des points de commutation
haut et bas de chaque seuil
Ecriture des valeurs de temporisation de chaque seuil
Ecriture de ladresse de lesclave (TEDM ou
ETTNM)

320124 ind a 11/2010

Codes fonction - TEDM/ETTNM

Exemples de transmission
Read Coil Status - code fonction 01
Le matre interroge le TEDM/ETTNM sur ltat des seuils.
Ladresse de dpart de lecture des coils est impose et le nombre de coils est systmatiquement 16. Les coils sont adresss partir de
zro : les coils 1-16 sont adresss de 0 15.

Nom du champ
Slave Address
Function
Starting Address Hi
Starting Address Lo
No. of Points Hi
No. of Points Lo
Error Check (CRC)

Exemple
3B hex
01 hex
00 hex
00 hex
00 hex
10 hex

Exemple de rponse la requte :

Rponse

Question

Exemple de requte pour lire les coils 16-01 de lesclave 59 :

Nom du champ
Slave Address
Function
Byte Count
Data (Coils 08-01)
Data (Coils 16-09)
Error Check (CRC)

Exemple
3B hex
01 hex
02 hex
21 hex
00 hex

Ltat des coils (08-01) donne pour valeur doctet 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.

Adr.
Coil
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15

Action
Etat Seuil 1
Etat Seuil 2
NO-NC 1
NO-NC 2
Position
du
point
dcimal

Read Holding Register - code fonction 03


Le matre interroge le TEDM/ETTNM sur la valeur de la mesure, du code, du rglage des points de commutation haut ou bas des temporisations des seuils.
La question spcifie ladresse du registre lire. Les registres sont adresss partir de zro : les registres 1-11 sont adresss de 0 10.

Nom du champ
Slave Address
Function
Starting Address Hi
Starting Address Lo
No. of Points Hi
No. of Points Lo
Error Check (CRC)

Exemple
3B hex
03 hex
00 hex
00 hex
00 hex
01 hex

Exemple de rponse la requte :

Rponse

Question

Exemple de requte pour lire le registre 1 (valeur mesure) de lesclave 59 :

Nom du champ
Slave Address
Function
Byte Count
Data Hi (Register 1)
Data Lo (Register 1)
Error Check (CRC)

Exemple
3B hex
03 hex
02 hex
0A hex
2B hex

Pour le registre 1 : Le contenu donne pour valeur des


deux octets 0A 2B hex ou 2603 dcimal.

Write Single Coil - code fonction 05

Adr.
Reg
00
01
02
03
04
05
06
07
08
09
10

Action
Valeur mesure
Code
Valeur HSP1
Valeur LSP1
Valeur HSP2
Valeur LSP2
Valeur TS1
Valeur TH1
Valeur TS2
Valeur TH2

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

Exemple de requte pour forcer 1 le coil 05 de lesclave 59. le matre transmet


la donne FF 00 :

Exemple de rponse la requte :

Exemple
3B hex
05 hex
00 hex
04 hex
FF hex
00 hex

Nom du champ
Slave Address
Function
Starting Address Hi
Starting Address Lo
No. of Points Hi
No. of Points Lo
Error Check (CRC)

Exemple
3B hex
05 hex
00 hex
04 hex
FF hex
00 hex

Le seuil 1 est configur en NO.

Write Single Register - code fonction 06


Ce code fonction est utilis pour configurer distance le code daccs*, les points de commutation haut et bas des seuils, la temporisation
des seuils, ladresse du TEDM ou ETTNM.
La demande spcifie ladresse du registre concern. Les registres sont adresss partir de 1: les registres 2-11 sont adresss de 1-10.
Attention: les valeurs de commutation, de code daccs ou dadresse esclave sont envoyes dans les registres respectifs en hxadcimal.
Nom du champ
Slave Address
Function
Starting Address Hi
Starting Address Lo
No. of Points Hi
No. of Points Lo
Error Check (CRC)

Exemple
3B hex
06 hex
00 hex
02 hex
00 hex
6E hex

* code daccs pour la configuration par la face avant du TEDM ou ETTNM.

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

Action

NO-NC 1
NO-NC 2

Exemple de rponse la requte :

Rponse

Demande

Exemple de requte pour crire le pt de consigne du seuil1 de lesclave 59 :

Adr.
Coil
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15

Nom du champ
Slave Address
Function
Starting Address Hi
Starting Address Lo
No. of Points Hi
No. of Points Lo
Error Check (CRC)

Exemple
3B hex
05 hex
00 hex
02 hex
00 hex
6E hex

Le point de consigne du seuil 1 est rgl 00 6E hex ou 110


dcimal.

Adr.
Reg
00
01
02
03
04
05
06
07
08
09
10

Action
Code
Valeur HSP1
Valeur LSP1
Valeur HSP2
Valeur LSP2
Adr. esclave
Valeur TS1
Valeur TH1
Valeur TS2
Valeur TH2

320124 ind a 11/2010

Nom du champ
Slave Address
Function
Starting Address Hi
Starting Address Lo
No. of Points Hi
No. of Points Lo
Error Check (CRC)

Rponse

Lesclave confime lcriture en renvoyant le


mme message.

Demande

Pour configurer le seuil en NO, la donne FF 00 hex est envoye lesclave.


Pour configurer le seuil en NC, la donne 00 00 hex est envoye lesclave.

320124 ind a 11/2010

Baumer Bourdon-Haenni S.A.S. 125, rue de la Marre B.P. 70214 41103 Vendme Cedex France
Tl. +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