Vous êtes sur la page 1sur 55

Liaisons et interfaçage

d'instruments de laboratoire

1° partie –les liaisons séries

Jean-Pierre Sarteaux
Laboratoire de Science et Génie des Matériaux et de Métallurgie
L.S.G.2.M - UMR7584 - Ecole des Mines de Nancy
sarteaux@mines.inpl-Nancy.fr

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Communication entre équipements
électroniques

 Eléments d'une liaison entre systèmes.

ETTD : Equipement Terminal de Traitement de données (ou DTE : Data Terminal Equipment).
Un terminal de données ne se connecte pas directement à la ligne de transmission. Par exemple :un
ordinateur, un terminal, une imprimante…

ETCD : Equipement de Terminaison de Circuit de Données (ou DCE : Data Communication Equipment)
Un équipement de communication assure la transmission des données. Par exemple : un modem, un
multiplexeur… Il a deux fonctions principales :

- l'adaptation du signal de l'ETTD à la ligne (codage et modulation en émission, démodulation


et décodage en réception) ;

-la gestion de la liaison (établissement, maintien et libération de la ligne).

une jonction numérique entre un ETTD et un équipement terminal de circuit de données (ETCD) se
définit par 3 paramètres (les circuits, les niveaux électriques et le brochage).

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Communication entre équipements
électroniques
 Les 3 modes d'exploitation

- Simplex : Un système est émetteur, l'autre récepteur. C'est par exemple le cas des émissions
radio ou TV.

- Semi-duplex (half duplex) : Les deux systèmes peuvent être à la fois émetteur et récepteur,
mais les émissions ne peuvent avoir lieu en même temps.

- Duplex (full duplex) : Les deux systèmes peuvent être à la fois émetteur et récepteur, les
émission pouvant avoir lieu en même temps.

 Il existe 3 organismes de normalisation

- CCITT : Comité Consultatif International des Téléphones et Télégraphes.


- ISO : International Standardisation Organisation.
- EIA : Electrical Industry Association.

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Communication entre équipements
électroniques

 la significations des abréviations de la Liaison V24 (RS232 et RS449)

P. Hoppenot (novembre 2002) Informatique industrielle

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Communication entre équipements électroniques

Echange de données par l'intermédiaire d'une liaison V24

Phase 1 : DTR passe à 0. L'ETTD indique qu'il est prêt et demande la


connexion de la ligne.

Phase 2 : DSR passe à 0. L'ETCD indique en réponse qu'il est prêt : la


ligne est connectée.

Les données s'échangent par les circuits TD (103) et RD (104). Phase 3 : RTS passe à 0. L'ETCD indique qu'il veut émettre.
Avant la transmission des données,
Phase 4 : CTS passe à 0. L'ETCD indique qu'il est prêt à émettre des
la connexion doit être établie entre 2 systèmes données sur la ligne.
Les signaux participant à cette phase de la communication sont :
DTR (108.2) et DSR (107) pour la connexion de lige ; Phase 5 : Emission des données.
RTS (105) et CTS (106) pour la validation de l'émission ;
DCD (109) pour la validation de porteuse ; Phase 6 : RTS passe à 1. L'ETTD suspend l'émission. RTS ne peut
RI (125) pour signaler un appel reçu par l'ETCD. pas repasser à 0 tant que CTS est à 0.

Phase 7 : CTS passe à 1. L'ETCD indique en réponse qu'il ne peut


 Commande d'un ETCD plus émettre de données.
(Equipement de communication de Données)
Phases 8-10 : L'émission est de nouveau validée. CTS peut
éventuellement repasser à 1 pour demander à l'ETTD une interruption
du transfert des données pendant un laps
de temps défini dû à problème de flux, de synchronisation…

Phases 11-12 : L'émission est suspendue.

Phase 13 : DTR passe à 1. L'ETTD demande la déconnexion de la


ligne.

Phase 14 : DSR passe à 1. L'ETCD répond et la ligne est déconnectée.


ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Communication entre équipements
électroniques

Etablissement d'une liaison entre deux systèmes

Phase 1 : Connexion de ligne sur les systèmes A et B.


Les signaux DTR et DSR peuvent être validés suite à une
procédure de réponse automatique transmise par le circuit RI
(125).

Phase 2 : Validation de l'émission sur A (RTS=0 et CTS=0).


L'ETCD A émet une porteuse sur la ligne.

Phase 3 : Détection de porteuse par l'ETCD B (DCD=0).

Phase 4 : Transmission de données.

Phase 5 : Arrêt de l'émission par A (RTS=1 et CTS=1).

Phase 6 : Déconnexion de la ligne sur A et B (DTR=1 et


DSR=1).

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Liaison série……… en détails

Exemple:
Soit la transmission d’
une donné (ascii A) entre un terminal (ETTD) et un modem de type A.F (ETCD),
par une jonction de type V24/V28/iso 2110.

V.24 c’
est la définition des circuits de jonctions série 100
(102 retour commun, 103 émission de données, 104...)

Modulation par glissement de fréquence (F.S.K. frequency shift keying)


 LSB MSB

le caractère ascii A c’
est: la gestion d'une communication série peut être complétée par
65 en décimal l'utilisation des signaux :
- RTS (request to send): sortie de demande d'émission
41 en hexadécimal
- CTS (clear to send): entrée d'inhibition de l'émetteur
0100 0001 en binaire - DCD (data carrier detect): perte de la porteuse de données
MSB LSB (modem)

V.28 c’est la norme électrique jonction dissymétrique


(un circuit de données (103-ED/TD et 104-RD/RD) doit avoir une ddp inférieure à -3V pour représenter l'état
binaire 1 et supérieure +3V pour l'état binaire 0)
 LSB MSB

iso 2110 concerne l'affectation de ces circuits de jonctions dans un connecteur DB 25 points
(ex. : ED/TD 103 broche 2)

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
La communication vue de l ’
électronicien

 Vaste sujet - hard (dépend des composants et/ou matériels),


- soft (protocole et OS)
on peut communiquer de façon direct ou sur un support
- numérique ou analogique
- série et/ou parallèle
- entre équipements et/ou dans un même équipement

l ’approche est différente suivant que l ’on se place à l‘émission ou à la


réception et après s’
être dit « que dois je transmettre? » , « ou que dois je
recevoir? » on est toujours face aux les mêmes questions .

 par exemple à la réception :


-Le signal que je viens d’ enregistrer sur mon oscillocope numérique, ça
commence ou? ….ça fini ou? que représente t’ il ?
-C’ est pour qui ?
- Quand faut ’ il prendre l ’information ?
- Quelle est l ’information utile? C ’ est codé comment ?
-Yat’ il un code de contrôle ?
- Que faut ’il en faire ?
ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
0
0
1 1 0
1
0 Communication Numérique entre équipements
0
1 Communication Numérique dans un même équipement
1
0 0 1
0 1

La vitesse de transmission de l'émetteur doit être identique à la vitesse d'acquisition du récepteur.

Ces vitesses sont exprimées en BAUDS (1 baud correspond à 1 bit / seconde,).

Il existe différentes vitesses normalisées: 1200,2400,4800,9600,19200.. bauds

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Liaison série « NUMERIQUE »………en détails

abord le Bit
 tout d’
Un bit ne peut prendre que deux valeurs et dépend du contexte:

- numérique,
- logique (voir algèbre de Boole),
- espace,
- électronique numérique,
- magnétique,
ou optique,

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Communication entre équipements
électroniques

 Communication en série NORMES ET PROTOCOLES

- RS…….. ou USB…….
RS c'est une norme = Recommended Standard en constante évolution

Norme V28 (RS232) , Norme V11 (RS422 et RS485) , Liaison V24 (RS232 et RS449).

elle définit que le côté matériel de la connectique et le fonctionnement du circuit électronique associé,
qui gère les différentes demandes des signaux RTS/CTD ...).

des connecteurs pas toujours normalisés …. à 9 ou 25 broches


On y branche couramment des souris, des modems, des imprimantes.

- Les liaisons points à points RS-423; RS-232; RS-232C; USB s'impose de plus en plus (1..2)

- Les liaisons multipoints RS-422 plus connu en plus efficace sous le nom de RS-485

Un protocole est un ensemble de règles d'échanges entre les machines :


( purement programmation).
Il définit la structure des paquets d'informations qui seront transmises.
ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Liaison série……… en détails

 nous y voilà

- RS-232 (aussi appelé EIA RS-232C ou V.24)


(moyen de de communication très ancien, à faible coût, faible vitesse)

(on pourrait presque dire 232 possibilitées)

- EIA-422 (liaison point à point)

- EIA-485 (liaison multi-points)

- Universal Serial Bus (USB1, USB2 )


( nouveau, vitesse moyenne, pour la connexion de périphériques)

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Communication entre équipements
électroniques
 Principales caractéristiques électriques de la norme V28 (RS232)

Pour chaque signal, le support est un fil référencé par rapport à la masse.
La norme permet d'adapter les signaux logiques (TTL ou CMOS).

1 logique = 5V devient une tension comprise entre -3V et -25V.


0 logique = 0V devient une tension comprise entre +3V et +25V.

 Circuit de jonction équivalente et niveaux électriques significatifs de la norme V28.

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Communication entre équipements
électroniques
 Principales caractéristiques électriques de la norme V11 (RS422 et RS485)

-Le support de transmission est différentielle.


des circuits trois états permettent des liaisons multipoints

-Deux fils correspondant à des niveaux complémentaires et sont utiles pour


chaque signal ce qui limite l'influence des bruits extérieurs et des masses.

1 logique = 5V devient une tension comprise entre –0,3V et -6V.


0 logique = 0V devient une tension comprise entre +0,3V et +6V.

 Circuit de jonction équivalente et niveaux électriques significatifs de la norme V11

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Communication entre équipements
électroniques

 Communication en série ( les connecteurs)


Connecteurs pas toujours normalisés ,….les plus connus de à 9 ou 25 broches
On y branche couramment des souris, des modems, des imprimantes.

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Communication entre équipements
électroniques

Etablissement d'une liaison entre deux systèmes

Liaison normalisée ETTD-ETCD dans la norme V24.


ne donne qu'un câblage entre un ETTD et un ETCD

-Liaison de 2 PC (ETTD) par l'intermédiaire de leur liaison série, de type RS232.

.
Les liaisons obtenues ne sont plus normalisées mais sont utilisées très fréquemment

la plus simple, est constituée de seulement 3 fils : deux fils de transmission et un de référence

- Si les protocoles de communication utilisés le demandent, on peut simuler une liaison complète en rebouclant certains circuits d'un même ETTD.

Une liaison à 5 et une à 7 fils permettent de prendre en compte les signaux de validation entre les 2 Equipements Terminaux de Traitement de données

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Communication entre équipements
électroniques

 Communication en série Comment ça marche?


Coté matériel
La première chose à faire (après avoir compris le principe), est de définir le câblage entre tes deux machines.

RS232 définit 2 et 3 comme émission/réception, 7 ou 5 commun


En version Xon/XOff, seules ces 3 broches suffisent (on parle alors de contrôle de flux logiciel).
Les signaux Xon et Xoff sont basés sur le code ASCII. Lorsque le buffer de réception du PC, modem, ...) qui reçoit les données est plein à 80%,
il envoie le code ascii 19 en décimal. Pour reprendre l'envoi, il envoie un code ascii 017 en décimal lorsque le buffer est rempli à 50%.
Ces codes sont renvoyés sur la broche transmit data du connecteur.

Si on utilise tous les signaux à interconnecter pour que les machines synchonisent leurs échanges
on parle alors de contrôle de flux matériel et de contrôle de flux logiciel.

Coté logiciel
Dans le protocole de communication, il y a des standards, mais tout dépend avec quoi on veut dialoguer ...
un autre PC ? une machine outil ? un automate programmable ?

Tout passe par la dénomination: « port série ou ports COM ».


-Sur les systèmes d'exploitation MS-DOS, PS2, Windows, Linux , Mac….
les ports RS-232 sont désignés par les noms COM1, COM2, etc. …
est le composant MScomm32.ocx qui permet de gérer le port RS232
Pour la plupart des utilisations c‘
On peut aussi utiliser port.dll.

Une fois les machines connectées, il faut s'abord écouter ce que la machine opposée demande :
En rapport avec les standards de protocole, il faut identifier les Bytes (n° d'esclave, donnée, CheckSum ...)
ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Communication entre équipements
électroniques

 Communication en série test des fonctions du port

http://1100f.free.fr/serie.htm Philippe.Chamiot-grenoble

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Communication entre équipements
électroniques

 Communication en série

-transmission synchrone
(flux continu avec horloge sur fil séparé ou horloges synchronisées à chaque bout)

Rappel

Pour établir une liaison série synchrone à partir des données parallèles contenues dans
une mémoire, il suffit d’utiliser un registre à décalage, en mode parallèle ->série à
l’
émission et série-> parallèle à la réception.

Inconvénient : il faut transmettre une horloge, en plus des données, afin que les registres
à décalage utilisés de chaque côté de la liaison fonctionnent rigoureusement à la même
vitesse.

Le registre à décalage récepteur doit commencer à traiter les données reçues à un


moment bien précis par rapport à leur instant d’émission, sinon il y a risque de convertir
en parallèle un mot constitué par la fin d’
un caractère et le début du suivant.

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Communication entre équipements
électroniques

 Communication en série

- transmission asynchrone

(1octets à la fois, bit de départ, LSB puis MSB, parité, bits(s) de fin)

Rappel

L'idée de la liaison série asynchrone est semblable à celle de la liaison série synchrone.

A l’
émission et à la réception il y a deux horloges
Qui doivent fonctionner à la même fréquence mais peuvent différer de quelques %
Sans d'être synchronisées.

Il suffit d’
utiliser, côté émission et coté réception, d’
une simple horloge à quartz .

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Communication entre équipements
électroniques
La communication peut se faire dans les deux sens (duplex), soit émission
d'abord, puis réception ensuite (half-duplex), soit émission et réception
simultanées (full-duplex)
La transmission étant du type asynchrone
 Communication en série boucle de courant (4-20mA)

Simple (duplex),

half-duplex émission d’
abord puis réception ensuite full-duplex émission et réception simultanées

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Communication entre équipements
électroniques

7 bits
valeur décimale de 0 à 127

8 bits
valeur décimale de 0 à 255

En parité paire, En parité impaire,


le bit de parité est positionné à 1 si le nombre total de bits à 1 le bit de parité est positionné à 0 si le nombre total de bits à 1
(y compris celui de parité) est pair (y compris celui de parité) est impaire

Sens de transfert des bits

LSB MSB
1 Bit de Start, 8 bits de données, 1 bit de parité et 2 bits de Stops
Ce qui fait 12 bits pour 1 caractère
http://www.stielec.ac-aix-marseille.fr/abati

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Communication entre équipements
électroniques

Quelques remarques concernant la parité:

 Le bit de parité n’
est pas obligatoire.

 Il est possible de faire fonctionner une liaison avec des parités différentes à l'émission et à la réception.

 Il est aussi possible d'envoyer des caractères avec une parité à des appareils qui ne peuvent la traiter.

 le récepteur va indiquer une erreur de parité permanente

 Ensuite, tout dépend du logiciel associé :


s'il est bien écrit, il ne se bloquera pas et recevra , sans sécurité, le ou les caractères correctement.

 Il est préférable cependant de travailler "proprement" en programmant les mêmes parités en émission et en
réception pour conserver à ce bit toute sa signification.

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Liaison série
Exemples de signaux RS-232 –Evolution du Bit de parité de la communication

9600-7-E-1

Sens de transfert des bits

9600-7-0-1 Les données transmises sur 7bits sont la chaîne de


caractères ASCII « RS »
0 R et S correspondent à 52 et 53 en décimal et sont
représentés par 1010010 et 1010011 en binaire
E (Even, paire ) ; O (Odd, impaire ) ; N (None,sans
R S parité) et avec 1 bit stop
Le "R" a un nombre impair de 1,
9600-7-N-1
Lorsque ce caractère est transmis avec même la
0
parité(impaire), le bit de parité est fixée à 1 (une
tension négative avec RS-232 de logique inversée).
Des résultats similaires s'appliquent à la "S"
LSB MSB LSB MSB caractère et à la transmission de la parité impaire.
ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Liaison série Exemple d’
un signal RS-232

Sens de transfert des bits

état inactif
-5

LSB MSB

Ces données sont acquises en connectant la sortie du port modem d'un Mac à l'entrée d'un oscilloscope numérique.
• Que remarque t’ on à d’oscilloscope ?

- que les signaux à la sortie du Mac sont de l'ordre de + / - 4,5 volts.

- que l'état inactif pour l'émetteur est une tension négative,

- que le bit de démarrage est d'une tension positive,

- que le ou les bits d'arrêt sont de tension négative.

- que Bits de données sont lus "tête en bas et en arrière":

une tension négative est de 1 et une tension positive est de 0 (également au bit de parité),
- qu’

- et que le moins significatif bit est transmis en premier.

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Liaison série Exemples d’
un signal RS-232- Les bits d’
arrêt

Les données transmises sont la chaîne "RS"


avec les paramètres 9600-7-E-1 (10bits)

1 bit de start
7 bits de données
1 bit de parité
1 bit de Stop
1234567
1 1

1 Toujours la chaîne "RS" avec les paramètres


9600-7-E-2. (11 bits ).

1 bit de start
7 bits de données
1 bit de parité
2 bits de Stop
1234567
1 12
il est aussi possible de définir 1,5 bits
1
transmission de $82, puis $F1, avec parité paire et 2 bits de " stop "

82 en hexa c’
es 10000010 en binaire et 130 en décimal

F1 en hexa c’
es 11110001 en binaire et 241 en décimal

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Communication entre équipements
électroniques

 Communication en série (comparaison RS232, RS423)

RS 232
ligne asymétique
1 driver, 1receivers, charge par driver de 1à 7K
distance max. 15m, 20Kb/s max
signaux +/- 15V sensibilité du récepteur +/-3v

RS 423
ligne asymétique
1 driver, 10 receivers, charge par driver 450mini.
distance max. 1200m, 100Kb/s max
signaux +/- 12V sensibilité du récepteur +/-3v

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Communication entre équipements
électroniques

 Communication en série (bus de terrain) RS422-B

Utiliser en labo dans un environnement très perturbé, c’


est plutôt un standard de l’
industrie
ligne différentielle
1 driver, 10 receivers, charge par driver 100 mini
1200m,100Kb/s
solution à la limitation de terminal de la RS 232

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Communication entre équipements
électroniques

Communication en série (bus de terrain) RS485, Interbus, Modbus


RS 485
ligne différentielle
32 drivers, 32 receivers, charge par driver 54 
1200m,10Mb/s
bonne protection aux parasites attention à la qualité des fils (pbs de diaphonie)

Interbus (type RS485)


2 lignes de transmission, 5 fils, 500kb/s, 400m, 512 dispositifs max.
ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Communication entre équipements
électroniques

 Communication en série

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Liaison série……… Analyse des informations véhiculées

La dénomination: « port série ou ports COM ».


-Sur les systèmes d'exploitation MS-DOS, PS2, Windows, Linux , Mac….
les ports RS-232 sont désignés par les noms COM1, COM2, etc. …

 L’
œil espion

Softs :
Hyperterminal,
Docklight,
Aspycom,
Portmon,
Sniffer,
etc…;
Et les DLL’ S

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Liaison série……… RS-485

RS-485 : c’est une liaison multipoints qui relie maître et esclaves.


RS-485 : c'est une liaison série, de type asynchrone, différentielle
Elle permet un débit élevé (jusqu'à 10 Méga-bits/seconde) sur une distance importante (jusqu'à 1200m).
Elle dispose de 2 bornes d'émission polarisées notées T(+), T(-) et de 2 bornes de réception polarisées notées R(+), R(-).

Le format des échanges est le suivant:


- 9600 ou 19200 bits / seconde
- 8 bits, sans parité, 1 stop

Deux types de dialogue sont alors possibles:


- le maître parle à un esclave et attend sa réponse,
- 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.

Si sur la ligne un seul équipement en train d'émettre. Le dialogue entre les esclaves est impossible.
Aucun esclave ne peut envoyer un message sans une demande préalable du maître.

Le maître envoie un message constitué de la façon suivante:


Adresse de l'esclave concerné, pour établir la liaison avec lui, instruction, données, contrôle,
Ce contrôle est calculé sur l'ensemble du message. IL est destiné à assurer l'intégrité de l'échange.
La détection de fin de message est réalisée sur un silence de plus de 2 caractères.

L'esclave répond par un message du même type.


L'adresse de l'esclave est un numéro compris entre 1 et 31 codé sur 1 octet.
Le numéro 0 indique que tous les esclaves sont concernés (diffusion générale).
ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Liaison série……… MODBUS/JBUS

C’
est un Protocole de communication GOULD MODICON basé sur un principe Maître/esclave.
Un seul maître et plusieurs esclaves. (255 esclaves maxi) sur RS485 et 2 maxi sur RS232.

C’est un standrd implémenté sur de nombreux appareils, il est indépendant du matériel.


(automates programmables, variateurs de vitesse de moteurs électriques,….)

- MODBUS peut converser en mode ASCII 7 bits ou en binaire RTU 8bits


les données transmises en RTU prennent moins de place donc moins de temps.

- MODBUS/RTU est un protocole sécurisé basé sur le calcul d'un CRC (cyclical Redundancy check) ou test de redondance cyclique.
Ce CRC calculé sur 16 bits est partie intégrante du message et il est vérifié par le destinataire.
Il est calculé sur tous les octets de la trame à part lui-même.

Le CRC est un entier de type WORD (2 octets) calculé dans la gamme 0 à 65535 puis ramené dans la gamme -32768 à 32767.
Le maître (PC) envoie des requêtes à l'esclave qui lui répondra si le message lui convient.

- Il faut avoir la même configuration matérielle sur les 2 appareils


exemple : 9600 bauds, 8 bits, 1 stop, Pas de parité, Pas de contrôle de flux ,
Le schéma de câblage est imposé par l'esclave. Le PC gèrera principalement les lignes RD (2) et TD (3),

- Fonctionnement de MODBUS
Il existe diverses fonctions MODBUS mais on ne s'intéressera qu'aux fonctions de lecture (03H) et écriture (06H)
Une trame MODBUS est constituée d'une suite de caractères hexadécimaux. et contient les informations suivantes :
Numéro d'esclave (1 octet)
Code fonction (1 octet)
Adresse (2 octets)
Données (2 octets)
CRC (2 octets)
la trame est différente selon que l'on fera de la lecture, de l'écriture, de mots, de bits ....

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Liaison série……… MODBUS/JBUS

Descriptions de fonctions de lecture/écriture de mots. consécutifs. (pour uniquement à l'automate 1)

* Dans une trame MODBUS PF/pf signifie 2 octets l'octet de poids Fort sont mis avant l'octet de poids faible
Trame de lecture c’
est une requête (ex : on veut connaître la valeur du mot 800)

Fonctio
Esclave Adresse du 1er mot Nombre de mots CRC16
n
01H 03H *PF/pf 01H (PF/pf) **PF/pf
Trame de réponse de l'esclave :

Fonctio
Esclave Nombre octets Valeur 1er mot ......... Valeur dernier mot CRC16
n
01H 03H 1 octet PF/pf PF/pf **PF/pf

Trame d'écriture d'un mot (ex : on veut fixer la valeur 0 au mot dont l'adresse est 800)

Esclave Fonction Adresse du mot Valeur du mot CRC16


01H 06H *PF/pf 00H (PF/pf) **PF/pf
Trame de réponse de l'esclave :

Esclave Fonction Adresse du mot Valeur du mot CRC16


01H 06H PF/pf PF/pf **PF/pf

800 décimal doit être converti en HEXA sur 2 octets Poids Fort puis poids faible. Un PC parle intuitivement en HEXA.
Ex: le décimal 65 qui a pour équivalent caractère 'A', quand on va passer chr(65) sur la ligne, on transmettra 'A' qui est en fait 41H .
De la même manière, quand on passera le décimal 0 qui a pour équivalent caractère NUL, on transmettra NUL qui est en fait 00H.
Le CRC calculé subit le même type de conversion.
ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Liaison série……… MODBUS/JBUS

Rappel: Dans une trame MODBUS PF/pf signifie 2 octets l'octet de poids Fort sont mis avant l'octet de poids faible

Quelques fonctions
1 : Lecture de n bits de sortie
2 : Lecture de n bits d'entrée
3 : Lecture de n mots de sortie
4 : Lecture de n mots d'entrée
5 : Ecriture de 1 bit
6 : Ecriture de 1 mot

Exemple de lecture d'un mot sur l'esclave 1


Numéro d'esclave 1
Fonction 3
Adresse du mot à lire : 800 (PF : 03 pf : 20) ==>800d/256=03h et il reste 32d qui fait 20h
Nombre de mots à lire : 1 (PF : 00 pf : 01)
*CRC : -31356 (PF : 85 pf : 84)
La trame qui sera envoyée est la suivante : 01 03 0320 0001 8584
Sous la forme chr(01)+chr(03)+chr(03)+chr(20)+chr(00)+chr(01)+chr(85)+chr(84)

* http://www.vbfrance.com//code.apx?ID=44450
** http://sebastienguillon.com/test/javascript/convertisseur.htm
***http://titicoco.chez-alice.fr/modbus.html#ancre32233

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Liaison série……… MODBUS/JBUS

le tansfert des chaines de caractères par programmation

Exemple de codage en Visual Basic au travers de l'ActiveX MSComm (composant comm série)
requete = chr(01)+chr(03)+chr(03)+chr(20)+chr(00)+chr(01)+chr(85)+chr(84)
mscomm1.Output = requete

Exemple de codage en DELPHI au travers d'un ActiveX Comport Library (dispo gratuit sur internet)
requete := chr(01)+chr(03)+chr(03)+chr(20)+chr(00)+chr(01)+chr(85)+chr(84);
comport1.Writestr(requete);

Exemple de codage avec les fonctions de l'API Windows


ouvrir le port série COM1 pour écrire ou lire.

utiliser la fonction CreateFile de l'API


hCom: = CreateFile("COM1",GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,0, NULL );

remplir la structure de configuration COMMCONFIG


mettre à jour avec les fonctions SetCommConfig/GetCommConfig (voir Win32.hlp)

les fonctions de lecture (ReadFile) et d'écriture (WriteFile) de l'API. Sont alors utilisables
Ne pas poublier les déclarations soit en include(C) en uses(DELPHI) ou en declare(VB) selon le langage de programmation.

Les déclarations de fonctions de l'API sont obligatoires en VB


un utilitaire livré avec VB qui fabrique automatiquement la syntaxe de déclaration des fonctions de l'API.
Ce n’
est plus de l’
électronique mais de l’
informatique……

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Liaison série……… CRC 1

Le contrôle appelé CRC (Cyclical Redundancy Check), codé sur 2 octets,

Il est basé sur la fonction XOR: OU exclusif et démarre sur un polynôme arbitraire

Il est souvent calculé en binaire mais peut être aussi calculé dans différents langages (VB, C, C++,….)

Le CRC est calculé par l'émetteur puis inclus dans la trame avant d'être transmis

Le récepteur calcule aussi le CRC et le compare avec le CRC reçu

Si les valeurs sont différentes alors il y a une erreur dans la transmission du message.

http://www.vbfrance.com//code.apx?ID=444ap50
demeautis.cyrillel@caramail.com
ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
CRC 16

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Communication entre équipements
électroniques

 Mais aussi d’
autres types de liaison série

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Communication entre équipements
électroniques

 Transmission analogique par Communication numérique de type série

- V/F- F/V,
convertisseur tension fréquence
convertisseur fréquence tension

à une tension analogique correspond une fréquence


permet de communiquer tout en isolant
fréquence max. 25Mhz

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Communication entre équipements
électroniques

 Communication industrielle en série


- PROFIBUS (Siemens),
capteurs, contrôleurs, automate, application labo et industrielle
mélange de hardware et de software,12Mbit/s

- FieldBus digital , bidirectionnel sur une boucle 4-20mA


- HART
sur un support analogique type boucle de courant 4/20 ma
superposition d ’
une modulation FSK (Frequency Shift Keying)
1200hz=1 2200hz=0

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Bus Série
entre équipements

avec fibre sans


câble optique câble

Labo et Industrie Domotique Multimédia Musique


Versatil
IRDA
FDDI
RS232 V/F-F/V 4-20mA LonWorks Ethernet MIDI
Laser
RS422 CAN Profibus InstaBus FDDI

RF
RS485 J1850 HART One Wire USB

ModBus GPIB Courant Firewire

porteurs
IEEE 1451.2

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
entre équipement
Parallèle Série
même équipement SPP RS232 CAN
Parallèle Série EPP RS422 USB1
Bus C MicroWire ECP RS485 Modbus
Europa SPI LVDS 4-20mA LonWorks
VME I2C SCSI V/F-F/V InstaBus
Futurbus SCI en résumé GPIB IrDA One Wire
ISA … …… Fibre Opti. Ethernet
PCI FDDI FireWire
AGP HART Profibus
… MIDI RF
PLC GSM
... ...

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Bus Série
dans
un même équipement

synchrone asynchrone

3 lignes 2 lignes SCI ou UART

SPI Microwire I2C

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Les perturbations

Les perturbations
Quelques rappels sur les caractéristiques de lignes de transmission

Le rôle des lignes de transmission

Influences sur les signaux

Les types de lignes

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Caractéristiques des lignes de
transmission

Le rôle des lignes de transmission

- Transmettre fidèlement quelque soit l’


environnement

- Transmettre rapidement l ’
information

- Influences sur les signaux

- perturbations extérieures

- perturbations internes

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Caractéristiques des lignes de
transmission

Influence de la distorsion dues aux lignes

- la distance de transmission, la nature du support,

- la fréquence de données, le rapport cyclique,

- le niveau de seuillage du récepteur.

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
Caractéristiques des lignes de
transmission

 les lignes asymétriques

 les lignes différentielles

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
noir
TP n°1 _ RS 232
Un casse-tête pour les nerfs

Pour tester vos connaissances du système de codage de la RS-232,


essayez de décoder le signal suivant.

Les données ont été envoyées avec une communication de 9600-7-E-1

Repérer les signaux, analyser les bits de données, et traduiser le tout en


caractères ASCII.

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
•Table de conversion ASCII

• Des dispositifs physiques de contrôle: le format effecteurs


• BS: Backspace
• Ht: horizontal onglet
• LF: retour à la ligne
• VT: Vertical Tab
• FF: Alimentation

• CR: retour chariot

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10
noir
9600-7-E-1
C’
est vitesse de transmission de 9600 bauds avec des mots de 10bits
( 1 bit de Start, 7 bits de Données, 1 bit de Parité, 1 bit de Stop)

61 en hexa c’
est a en ascii
TP n°1 _ RS 232
6
La solution (Mac)
Sens de transfert des bits MSB
1 0 1 1 Bit de parité
Bit start LSB Bit stop
1 0 0 0
1° mot de 10 bits 3° mot de 10 bits
5

-5

2° mot de 10 bits
Bit start 1 0 1 1 Bit stop Bit start 1 1 0 0 Bit stop
LSB LSB Bit de parité
Bit de parité
0 0 1 0 1 1
D MSB
Bits Poids faibles 3 MSB
4 6
Bits
4D en hexa c’
est M en ascii Poids 63 en hexa c’
est c en ascii
forts

ANDG 2008 DR06 - Strasbourg 15/09 - Nancy 24/09 –Bordeaux 06/10 –Marseille 14/10 jP.S
noir

Merci de votre attention

Vous aimerez peut-être aussi