Académique Documents
Professionnel Documents
Culture Documents
Automatismes Industriels
nicolas.neanne@univ-tln.fr
stephane.pignol@univ-tln.fr
Plan du Cours :
I / Les Automates III / Le bus de terrain ASi
1 – Présentation
Programmables Industriels 2 – Couche Physique
1 – Présentation 3 – Couche liaison de données
2 – Structure et fonctionnement 4 – Couche Application
3 - Caractéristiques
IUT Toulon 3
Automatismes Industriels Cours ITII 2015 - 2016
⇒ logique programmée
✔ Influences externes :
- poussières,
- température,
- humidité,
- vibrations,
- parasites électromagnétiques, …
IUT Toulon 4
Automatismes Industriels Cours ITII 2015 - 2016
- Evolutif
- Modulaire
- Implantation aisée
IUT Toulon 5
Automatismes Industriels Cours ITII 2015 - 2016
Définition :
L'Automate Programmable Industriel (API) est un appareil électronique
programmable, adapté à l'environnement industriel, qui réalise des
fonctions d'automatisme pour assurer la commande de préactionneurs et
d'actionneurs à partir d'informations logique, analogique ou numérique.
Les API sont utilisés dans divers secteurs d'activités, que l'on peut regrouper
en trois catégories :
IUT Toulon 6
Automatismes Industriels Cours ITII 2015 - 2016
IUT Toulon 7
Automatismes Industriels Cours ITII 2015 - 2016
- L'automatisation des bâtiments (GTB : Gestion Technique des Bâtiments), dont les
objectifs sont :
- L'amélioration du confort (gestion des ascenseurs, régulation de
températures...),
- La sécurité (alarmes anti-intrusion, détection de fumées...)
- La réduction des dépenses énergétiques (gestion automatisée des
consignes de température et d'éclairage...)
IUT Toulon 8
Automatismes Industriels Cours ITII 2015 - 2016
IUT Toulon 9
Automatismes Industriels Cours ITII 2015 - 2016
IUT Toulon 10
Automatismes Industriels Cours ITII 2015 - 2016
(1) : l'API transmet les ordres de commandes aux préactionneurs, sous forme de niveaux électriques
TOR (0/24V) ou analogiques (0-10V, +/-10V, 4-20mA, 0-20mA)
(2) : Le préactionneur converti ces ordres en commandes contenant l'énergie nécessaire au pilotage des
actionneurs. Exemples : contacteurs, distributeurs électro-pneumatique, variateurs de vitesse...
(3) : L'actionneur assure la conversion d'énergie pour agir sur le procédé (exemples : moteur
asynchrone, vérin hydraulique, résistance chauffante...).
(4) : l'effecteur se situe entre l'actionneur et le procédé à contrôler (exemples : arbre moteur + pâles
pour un malaxeur mu par un moteur asynchrone, ventouse de saisie pour un vérin destiné au
déplacement de plaques métalliques etc...
(5) : Les paramètres physiques utiles à la commande du procédé (exemples : températures, pressions,
présences...) sont surveillés grâce à des détecteurs (TOR) et des capteurs (analogiques).
(6,7) : Ces informations électriques sont transmises à la P.C - directement reliées aux cartes TOR pour
les détecteurs, parfois par le biais d'un conditionneur (et/ou d'un transmetteur) pour l'analogique.
(8) : Un réseau local industriel dédié à la supervision permet de lier la P.C et la P.R (et donc
indirectement la P.O). Certains éléments de signalisation peuvent néanmoins se faire par le biais des
cartes d'E/S (voyants, b.p ...).
IUT Toulon 11
Automatismes Industriels Cours ITII 2015 - 2016
IUT Toulon 12
Automatismes Industriels Cours ITII 2015 - 2016
Sorties
Ordres
(pré actionneurs, dialogue)
IUT Toulon 13
Automatismes Industriels Cours ITII 2015 - 2016
Unité de
Traitement Module
Module d'
de
Entrées
Sorties
RAM
Tâche 14
3 : Gestion
2 du système
Acquisition
Affectation
Traitement (auto-contrôle
des données
sorties (émission
(exécution
en entrée de
des l’automate)
(mémorisation)
du
ordres)
programme)
IUT Toulon 14
Automatismes Industriels Cours ITII 2015 - 2016
Traitement Interne
Exécution du Programme
IUT Toulon 15
Automatismes Industriels Cours ITII 2015 - 2016
IUT Toulon 16
Automatismes Industriels Cours ITII 2015 - 2016
IUT Toulon 17
Automatismes Industriels Cours ITII 2015 - 2016
Le contact "N.O"
"ferme le 24 V" sur
l'entrée de l'API
lorsqu'il est actif
Le contact "N.F"
"ouvre le 24 V" sur
l'entrée de l'API
lorsqu'il est actif
IUT Toulon 18
Automatismes Industriels Cours ITII 2015 - 2016
E1 + %IX 0.0 E1
- %IX 0.1 E2
%IX 0.2 E3
+
E2 %IX 0.3 E4
-
... ….
E3 + ... ...
-
E4 +
-
IUT Toulon 19
Automatismes Industriels Cours ITII 2015 - 2016
IUT Toulon 20
Automatismes Industriels Cours ITII 2015 - 2016
IUT Toulon 21
Automatismes Industriels Cours ITII 2015 - 2016
IUT Toulon 22
Automatismes Industriels Cours ITII 2015 - 2016
IUT Toulon 23
Automatismes Industriels Cours ITII 2015 - 2016
Cette borne d’entrées analogiques traite des signaux sur une plage de courant standardisée de 0-20
mA ou de4-20 mA respectivement.
Le signal d’entrée est séparé galvaniquement et le transfert à l’unité centrale se fait avec une
résolution de 12 bits.
IUT Toulon 24
Automatismes Industriels Cours ITII 2015 - 2016
IUT Toulon 25
Automatismes Industriels Cours ITII 2015 - 2016
IUT Toulon 26
Automatismes Industriels Cours ITII 2015 - 2016
➢ Caractéristiques :
La fréquence de commutation
admise est relativement faible
( < 1 Hz)
IUT Toulon 27
Automatismes Industriels Cours ITII 2015 - 2016
IUT Toulon 28
Automatismes Industriels Cours ITII 2015 - 2016
➢ Cractéristiques :
La tension commutée
par une sortie à
transistor es
nécessairement
continue
IUT Toulon 29
Automatismes Industriels Cours ITII 2015 - 2016
IUT Toulon 30
Automatismes Industriels Cours ITII 2015 - 2016
IUT Toulon 31
Automatismes Industriels Cours ITII 2015 - 2016
IUT Toulon 32
Automatismes Industriels Cours ITII 2015 - 2016
La direction :
Une entrée est une valeur, provenant du terrain, qui ne peut être que lue par le
programme chargé dans le contrôleur.
Notation : %I.x.x
Exemple : capteur, détecteur, bouton poussoir etc...
Une sortie est une donnée à destination du terrain, dont la valeur peut être fixée par
l'automate. (Remarque : Une sortie peut aussi être lue par le programme)
Notation : %Q.x.x
Exemple : voyant lumineux, commande d'un contacteur etc...
Une variable interne est une donnée qui n'est pas directement liée au terrain, mais une
information gérée par le programme chargé dans l'API.
Exemples : valeur d'un compteur, d'une temporisation, étape d'un grafcet …
Notation : %M.x.x
IUT Toulon 33
Automatismes Industriels Cours ITII 2015 - 2016
Le format :
✔ Un bit est une valeur binaire ou encore booléenne dont la valeur est « VRAIE » (notée
TRUE) ou « FAUSSE » (notée FALSE).
Notation : %x.X.x.x
Exemple : Un voyant lumineux est relié à la 4eme borne de la 1°carte de sorties T.O.R du rack
automate. Son état correspondra à la variable booléenne :
% Q X 0.3
Notation : %x.B.x
IUT Toulon 34
Automatismes Industriels Cours ITII 2015 - 2016
Notation : %x.W.x
%IW2
Notation : %x.DW.x
IUT Toulon 35
Automatismes Industriels Cours ITII 2015 - 2016
Les valeurs numériques peuvent être représentées sous formes décimales, hexadécimales (en
ajoutant 16# devant la valeur) ou binaires (2#...)
➔exemples : 125 → 125 1A216 → 16#1A2 01102 → 2#0110
En plus du format, on peut définir un type pour les variables internes (liste non exhaustive) :
BOOL : valeur booléenne ('TRUE' ou 'FALSE')
INT : valeur entière signée sur 16 bits
UINT : valeur entière non signée sur 16 bits
DINT : valeur entière signée sur 32 bits
DUINT : valeur entière non signée sur 32 bits
REAL : valeur réelle sur 32 bits
TIME : durée définie en h/mn/s/ms Notation : t # ...h ...m ...s ...ms
DATE : date définie en année/mois/jour Notation : d # ...-...-...
TIME_OF_DAY : heure du jour définie en h/mn/s Notation : tod # ... : ... : ...
DATE_AND_TIME : date & heure Notation : dt # ...-...-... - ... : ... : ...
STRING : chaîne de caractères. Notation : ' Ma Chaine '
IUT Toulon 36
Automatismes Industriels Cours ITII 2015 - 2016
Les adresses :
Le dernier champ d'adressage d'une donnée est son adresse.
IUT Toulon 37
Automatismes Industriels Cours ITII 2015 - 2016
Déclaration de variables :
Un programme doit réaliser des calculs et utilise donc des variables. Ces variables doivent
être déclarées en en-tête de celui-ci.
- une variable d'entrée s'il s'agit d'une variable que le programme utilise (valeur calculée
par un autre sous-programme, état d'un capteur...);
- une variable de sortie s'il s'agit d'une variable que le programme modifie (affectation
d'une sortie, résultat d'un calcul...)
- D'une variable interne, si cette variable est uniquement utlisée pour faire un calcul
intermédiaire.
IUT Toulon 38
Automatismes Industriels Cours ITII 2015 - 2016
Exemples de déclaration :
IUT Toulon 39
Automatismes Industriels Cours ITII 2015 - 2016
Organisation du projet :
Le Projet CoDeSys contient au minimum le
programme PLC_PRG (programme principal),
qui peut éventuellement appelé :
La norme IEC 1131-3 définit 5 langages de programmation : IL, ST, SFC, LD et FDB.
IUT Toulon 41
Automatismes Industriels Cours ITII 2015 - 2016
Il s'agit d'un langage textuel proche des langages évolués tels que le C. Il s'avère
indispensable dès lors que l'on a besoin de faire des traitements numériques par exemple.
IUT Toulon 42
Automatismes Industriels Cours ITII 2015 - 2016
Affectation :
➢ Incrémentation d'une variable : « := »
CPT := CPT + 1 ;
IUT Toulon 43
Automatismes Industriels Cours ITII 2015 - 2016
➢ Boucle FOR :
FOR i := 0 TO 9 BY 1 DO
.............. ;
END_FOR;
➢ Boucle WHILE :
.............. ;
END_WHILE;
IUT Toulon 44
Automatismes Industriels Cours ITII 2015 - 2016
➢ Opérations Numériques :
Le choix du langage ST s'impose dès lors que l'on doit faire des traitements
numériques sur des variables. Les opérations de bases sont :
- Addition :
IUT Toulon 45
Automatismes Industriels Cours ITII 2015 - 2016
- modulo :
Res := Op1 MOD Op2 ;
IUT Toulon 46
Automatismes Industriels Cours ITII 2015 - 2016
4 / Langage LD (LaDder ).
Il s'agit d'un langage graphique que l'on pourra par exemple utiliser pour coder les
équations logiques des réceptivités d'un grafcet.
IUT Toulon 47
Automatismes Industriels Cours ITII 2015 - 2016
IUT Toulon 48
Automatismes Industriels Cours ITII 2015 - 2016
✔ Mémoire RS :
A
t
B
t
x
✔ Front montant : t
A
t
x t
t
✔ Front descendant :
A
t
x t
IUT Toulon 49
Automatismes Industriels Cours ITII 2015 - 2016
➢ Temporisation : monostable
A
TP t
x
3s 3s t
IUT Toulon 50
Automatismes Industriels Cours ITII 2015 - 2016
➢ Compteur décompteur :
Il s'agit également d'un langage graphique fonctionnant sur le même principe que LD mais
avec les symboles s'apparentant à ceux que l'on utilise pour les logigrammes.
%I1.0 AND
OR
%I1.5
AND
%I1.4 %Q2.0
%I1.3
IUT Toulon 52
Automatismes Industriels Cours ITII 2015 - 2016
Ce langage n'est pas défini par la norme CEI, mais sera utilisé dans l'environnement de
programmation CODeSys. Il reprend les éléments utilisés en FBD, mais les symboles peuvent
être placés librement sur le schéma (et non pas ligne par ligne comme en FBD).
IUT Toulon 53
Automatismes Industriels Cours ITII 2015 - 2016
Mémoire RS
Comparaisons
Opérations numériques
opérations logiques
Compteurs
Détection de Fronts
IUT Toulon 54
Automatismes Industriels Cours ITII 2015 - 2016
Il est constitué d'étapes auxquelles sont associées des actions. Les étapes sont séparées
par des réceptivités. Lorsqu'une étape est active les actions associées à l'étape sont
activées. Étape initiale
Lorsque la réceptivité qui suit l'étape active devient
vraie, l'étape en cours se désactive, et l'étape suivante
devient l'étape active.
Réceptivité
Important : Il faut
toujours respecter étape
l'alternance
Étape/transition !!! Action
IUT Toulon 55
Automatismes Industriels Cours ITII 2015 - 2016
✔ Étapes :
✔ Réceptivités : ✔ Actions :
Entrées
TOR
Sorties TOR,
activées pendant
la durée de
l'étape (attribut
'N' : normal.
Temporisation
IUT Toulon 57
Automatismes Industriels Cours ITII 2015 - 2016
Les réceptivité sont des valeurs booléennes, qui peuvent apparaître directement sur le
grafcet (langage ST). Elles peuvent prendre la forme :
Note 1 : il est impossible de réaliser une affectation (:=) dans une réceptivité.
Note 2 : il sera également possible d'utiliser les langages LD et FBD pour coder les
réceptivités ; dans ce cas chaque réceptivité sera programmée dans une section
spécifique.
IUT Toulon 58
Automatismes Industriels Cours ITII 2015 - 2016
IUT Toulon 59
Automatismes Industriels Cours ITII 2015 - 2016
tr2 t
t
Init.X
t
Step2.X
Step3.X t
t
A
t
B
t
C
t
D
1s t
IUT Toulon 60
Automatismes Industriels Cours ITII 2015 - 2016
Divergence
Convergence
IUT Toulon 61
Automatismes Industriels Cours ITII 2015 - 2016
✔Structure ET : Parallélisation. Elle permet d'effectuer un choix entre deux séquences.
Notez bien la structure de la divergence et de la convergence.
Divergence
Convergence
IUT Toulon 63
Automatismes Industriels Cours ITII 2015 - 2016
IUT Toulon 64
Automatismes Industriels Cours ITII 2015 - 2016
➢ Variables "drapeau" :
Ce sont des variables utilisables dans les programmes et blocs programmés en SFC, définis
dans la bibliothèque "iec_sfc.lib", et qui permettent d'agir sur un grafcet. En voici quelques
unes (consulter l'aide pour une liste exhaustive) :
IUT Toulon 65
Automatismes Industriels Cours ITII 2015 - 2016
Action de sortie
Action d'entrée
Step2.X
t
Exemple de programmation d'action d'entrée en
Action
d'entrée
langage ST
Action de t
sortie
t
IUT Toulon 66
Automatismes Industriels Cours ITII 2015 - 2016
Cela permet de coder les actions dans le langage de son choix. On peut utiliser cette
méthode pour créer des actions condistionnelles :
Step2.X
Cond t
A t
IUT Toulon 67
Automatismes Industriels Cours ITII 2015 - 2016
Step2.X
Cond t
A t
IUT Toulon 68
Automatismes Industriels Cours ITII 2015 - 2016
➔ Bloc Fonctionnel G2 :
Étapes de
synchronisation
IUT Toulon 69
Automatismes Industriels Cours ITII 2015 - 2016
IUT Toulon 70
Automatismes Industriels Cours ITII 2015 - 2016
➢ Structures "objets" :
On peut également synchroniser l'exemple précédent en utilisant les structures
analogues à celles utilisées dans les langages orientés "objet" mises en œuvre dans
CoDeSys.
On peut ainsi échanger des variables entre programmes. Dans le cas du SFC, pour
chaque étape, les 2 variables suivantes sont automatiquement créées :
IUT Toulon 71
Automatismes Industriels Cours ITII 2015 - 2016
IUT Toulon 72
Automatismes Industriels Cours ITII 2015 - 2016
IUT Toulon 73
Automatismes Industriels Cours ITII 2015 - 2016
E/S
Bus
Esclaves
(capteurs +
préactionneurs)
IUT Toulon 74
Automatismes Industriels Cours ITII 2015 - 2016
● Câblage simplifié
IUT Toulon 75
Automatismes Industriels Cours ITII 2015 - 2016
➢ Le Câble ASi :
IUT Toulon 76
Automatismes Industriels Cours ITII 2015 - 2016
Primaire = L
30 V=
L AS-i -
V-
R
IUT Toulon 77
Automatismes Industriels Cours ITII 2015 - 2016
Bits à coder
0 0 1 0 1 1 1 0 1
Codage Manchester
Émission
Signal après filtrage (Modulation APM)
Réception
détection fronts montants
IUT Toulon 78
Automatismes Industriels Cours ITII 2015 - 2016
Cette technique
permet de garantir
la durée du temps
de cycle (temps
nécessaire à
l'interrogation de
tous les esclaves
connectés au bus).
IUT Toulon 79
Automatismes Industriels Cours ITII 2015 - 2016
Maître
Requête maître
Esclave 1
Réponse esclave 1
Requête maître
Esclave 2
Réponse esclave 2
Temps de cycle
caractéristique: 5 ms pour 31 esclaves
31 esclaves maximum
Requête maître
Esclave n
Réponse esclave n
Requête maître
Esclave 31
Réponse esclave 31
IUT Toulon 80
Automatismes Industriels Cours ITII 2015 - 2016
• Un seul mâitre Asi peut donc gérer jusqu'à 62 x 8 = 496 E/S T.O.R (en Asi
IUT Toulon 81
Automatismes Industriels Cours ITII 2015 - 2016
Ad=4 Ad=3
Ad=1 Ad=2
1 cycle AS-i
Echanges des données d'entrées / sorties Paramètres Services
Q. Ad1 R.1 Q. Ad2 R.2 Q. Ad3 R.3 Q. Ad4 R.4 P. Adx R.x S. Ady R.y Q. Ad1 R.1
Maître
Esclave
IUT Toulon 82
Automatismes Industriels Cours ITII 2015 - 2016
➢ Mise en trame :
Requête du maître :
ST CB A4 A3 A2 A1 A0 I4 I3 I2 I1 I0 PB EB
Bit de contrôle
Bit de contrôle de parité paire
0 = échange de paramètres, données, définis par I0 à I4
n'incluant pas le bit de fin
1 = commande définie par I0 à I4
Réponse de l ’esclave :
ST I3 I2 I1 I0 PB EB
4 bits d'information
retournée au maître
Bit de début Bit de fin
ST = 0 EB = 1
IUT Toulon 83
Automatismes Industriels Cours ITII 2015 - 2016
Exercice :
Réponse :
IUT Toulon 84
Automatismes Industriels Cours ITII 2015 - 2016
Requêtes du maître
Echange de données 0 A4 A3 A2 A1 A0 0 S3 S2 S1 S0
Ecriture de paramètres 0 A4 A3 A2 A1 A0 0 P3 P2 P1 P0
Ecriture d'adresse 0 0 0 0 0 0 A4 A3 A2 A1 A0
Reset esclave 1 A4 A3 A2 A1 A0 1 1 1 0 0
Reset adresse 1 A4 A3 A2 A1 A0 0 0 0 0 0
Lecture code ID 1 A4 A3 A2 A1 A0 1 0 0 0 1
IUT Toulon 85
Automatismes Industriels Cours ITII 2015 - 2016
4 bits d'information
E3 E2 E1 E0 Ei = entrées esclave
St3 St2 St1 St0 Sti = 4 bits d'états de l'esclave avant RAZ
IUT Toulon 86
Automatismes Industriels Cours ITII 2015 - 2016
Profils ASi.
Chaque équipement ASi dispose d'un profil, qui va permettre de garantir l'interopérabilité
des produits ASi entre fabricants.
IUT Toulon 87
Automatismes Industriels Cours ITII 2015 - 2016
IUT Toulon 88
Automatismes Industriels Cours ITII 2015 - 2016
IUT Toulon 89
Automatismes Industriels Cours ITII 2015 - 2016
✔
Plan Mémoire du maître ASi :
L'automate crée automatiquement un plan mémoire image pour l'ensemble des entrées, et un
autre pour les sortie gérées par le coupleur Asi.
Pour une configuration standard, avec le coupleur en première position dans le rack, les
esclaves ASi T.O.R seront adressés comme suit dans le programme automate :
Bit : 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
%IW4
@2 @3 XXX @1
%QW4
%IW5
@6 @7 @4 @5
%QW5
%IW6
@10 @11 @8 @9
%QW6
%IW7
@14 @15 @12 @13
%QW7
%IW8
.......... .......... .......... @16
%QW8
IUT Toulon 90
Automatismes Industriels Cours ITII 2015 - 2016
D0 = commutation
D1 = signalisation
Une connexion D2 = état
D3 = test
P0 =temporisation
IUT Toulon 91
Automatismes Industriels Cours ITII 2015 - 2016
Exemple de capteur :
Paramètres :
Données :
Alimentation par
le bus :
AS-i
IUT Toulon 92
Automatismes Industriels Cours ITII 2015 - 2016
IUT Toulon 93
Automatismes Industriels Cours ITII 2015 - 2016
D0 = capteur 1
D1 = capteur 2
D2 = actionneur 1
IUT Toulon 94
Automatismes Industriels Cours ITII 2015 - 2016
IUT Toulon 95
Automatismes Industriels Cours ITII 2015 - 2016
IUT Toulon 96
Automatismes Industriels Cours ITII 2015 - 2016
- Fonctions de Diagnostique
(Tension Bus etc...),
- etc...
IUT Toulon 97
Automatismes Industriels Cours ITII 2015 - 2016
4 - Modbus TCP
a – Présentation
b – Génaralités sur l'utilisation d'Ethernet en milieu industriel
c – Constitution d'une trame Modbus-TCP
d – Règles de Connexion
ANNEXE :
Détail des différentes fonctions
1 - Historique :
Bits de sortie ('Coils") Bits Lecture/Ecriture Interface de sorties TOR, bits internes
Mots d'entrées ("Input
Registers") Mots Lecture Interface d'entrée analogique
Mots de sortie ("Holding
Registers") Mots Lecture/Ecriture Registres internes, sorties analogiques
Les adresses des objets Modbus sont codées sur 16 bits, ce qui autorise 65536
objets de chaque type possible par équipement accessibles via Modbus.
C'est à chaque fabriquant de matériel de définir les plages d'adresses pour chacun
de ces segments de données, ceux-ci pouvant tout aussi bien être disjoints que
confondus :
Les adresses Modbus PDU commencent à 0, chaque fabriquant spécifie via une
table de correspondances les adresses correspondantes des objets accessibles de
son équipement :
La longueur totale de la trame PDU ne peut excéder 253 octets (pour des
raisons de compatibilité des échanges entre les modes série et TCP).
Attendre requête
Le logigramme
suivant décrit le
déroulement Code Fonction valide
d'une non
transaction Code d'exception = 1 ?
Modbus et son
traitement côté Adresse des données valide
Serveur :
non
Code d'exception = 2 ?
Exécuter Fonction
non
Code d'exception = 4 ?
Le mélange est effectué par une pâle, également mue par un ensemble “moteur
asynchrone + variateur” (2).
Dans notre application, l'API est chargé de la commande du process. Toutes ses
données d'E/S sont accessibles via Ethernet au superviseur en Modbus TCP.
Il transmet également ses ordres aux variateurs via le réseau, en Modbus TCP.
Dans notre application, deux ATV31 sont utilisés pour piloter les variateurs. Ils
pourront, grâce à leur communication Modbus transmettre leur état (courants, défauts
thermiques etc...) à la supervision, et recevoir les ordres de commande des API.
➢ Exemple :
Le superviseur émet une requête permettant de lire l'état des capteurs de niveau (entrées
TOR 1 & 2 de l'API). La cuve est à moitié pleine.
Requête : Réponse :
Nom du champ : Valeur : Nom du champ : Valeur :
Cette fonction permet de lire 1 à 125 mots (16 bits) consécutifs dans le
segments mémoire du serveur correspondants aux registres accessibles
en lecture/écriture (« Holding register »).
➢ Exemple :
Le superviseur émet une requête permettant de lire l'état de la température dans la cuve
(stockée en 1/100° de degrés dans le mot interne n°1000 de l'API). Celle-ci est de 42,3°C.
Requête : Réponse :
Nom du champ : Valeur : Nom du champ : Valeur :
Cette fonction permet de lire 1 à 125 mots (16 bits) consécutifs dans le
segments mémoire du serveur correspondants aux registres accessibles
en lecture seule (« Input register »).
Cette fonction permet de forcer une sortie à '1' ou à '0' sur l'équipement distant. Le
sous-champ « valeur » du champ « données » contient 2 octets : la valeur 0xFF00
permet le forçage à '1', la valeur 0x0000 le forçage à '0'; toutes les autres valeurs
sont interdites. La réponse à cette requête est un écho de la requête.
Cette fonction permet d'écrire 1 à 1968 bits consécutifs d'un équipement distant. La
réponse à cette requête renvoie le nombre de bits écrits ainsi que l'adresse de
départ en écho.
✔ Exercice.
3 - Modbus Série :
Les premières implantations du protocole Modbus sont apparues sur des
lignes séries.
Les services offerts par ces protocoles sont ceux définies par la couche
application commune aux protocoles Modbus, et quelques services
supplémentaires viennent se greffer.
128 Nicolas Néanne IUT de Toulon – GEII
Automatismes Industriels Cours ITII 2015 - 2016
✔ Couche Physique :
RS232 : RS485 :
Maître Maître
Echanges entre 1 Echanges entre 1
Maître & 1 esclave Maître & plsrs
: POINT à POINT esclave :
& MULTIPOINT Esclave Esclave
Esclave
Courtes Jusqu'à 120m de n°1 ... n° i
Distances (<20m) distance
✗ Rappels :
Parasites e-m
Bits
transmis 0 0 1 0 1 1 1 0 1
+12v
V
RS232
-12v
+5v
RS485 :
D0 0v
+5v
RS485 :
D1 0v
+5v
V
RS485
-5v
✔ RS485 2 fils.
Terminaisons de bus
Résistances de polarisation
134 Nicolas Néanne IUT de Toulon – GEII
Automatismes Industriels Cours ITII 2015 - 2016
✔ RS232.
Ce mode est réservé aux liaisons point à point pour des distances <20m.
✔ Débit binaire :
✔ Connecteurs :
➢ Modbus RS232 :
✔ Modbus RTU :
Nous limiterons donc notre étude à Modbus RTU, version plus répandue.
Les octets transportés par les trames Modbus RTU comportent par défaut
11 bits :
✔ 1 bit de START
✔ 8 bits de données
✔ 1 bit de parité
✔ 1 bit de STOP
Start Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 Parité Stop
✔ Calcul du CRC :
La théorie sur laquelle est basée le calcul de ce code fait appel aux
fonctions polynomiales et à leur divisibilité par un polynôme particulier dit
« générateur ».
Les données utiles de la trame (c'est à dire les octets de données, sans bit
de START STOP et Parité) sont utilisées pour générer un polynôme dont
la divisibilité est vérifiée à l'émission et à la réception.
Si les résultats ne concordent pas, c'est qu'une erreur est survenue durant
la transmission.
Le format du CRC utilisé dans Modbus RTU est 16 bits; l'octet de poids
faible est transmis en 1° dans la trame (!).
✔ Algorithme de Début
Calcul du CRC :
CRC ← 0xFFFF
non
Bit Sorti = '1' ?
8 fois ?
non
Dernier Octet ?
non
FIN
146 Nicolas Néanne IUT de Toulon – GEII
Automatismes Industriels Cours ITII 2015 - 2016
- Paramétrage de la communication
via le logiciel de programmation Unity.
4 – Modbus TCP.
●
Port Modbus TCP :
Le port 502 est réservé aux communications Modbus. L'équipement
serveur « écoute » donc sur ce port pour recevoir les requêtes émises par
le client.
●
Encapsulation des trames :
Le protocole Modbus TCP permet d'encapsuler des trames Modbus
PDU dans des trames Ethernet, et ainsi offrir les services Modbus ce
type de réseau :
IP : 192.168.0.4
Client Serveur
Initialise la valeur Retourne au client la
Transact. ID valeur qu'il a initialisée
Initialise la valeur Retourne au client la
Protocole ID valeur qu'il a initialisée
Initialise la valeur Initialise la valeur
Length
Initialise la valeur Retourne au client la
Unit. ID valeur qu'il a initialisée
➢ Exemple :
Ecrire la trame MB-ADU complète émise par l'API permettant de mettre en route la pompe
(48° bit de sortie du variateur correspondant).
→ Toutes ses données d'entrée/sortie sont accessible via des requêtes Modbus
sur le réseau Ethernet.
Pour cela, une table mémoire image des E/S est automatiquement créée par le
contrôleur en fonction des cartes présentes sur le rack.
- Les entrées pourront ainsi être accédées par les requêtes de lecture (lecture de bits
d'entreée pour les E TOR, lecture de mots d'entreée pour les E Analogiques)
Accès Modbus des données de type "mot" en Modbus sur les contrôleurs Wago 750 :
L'adressage CEI est celui utilisé dans les programmes des API. Les adresses de mot ont la
forme suivante :
% I W 01 → 2° Mot d'entrée
% Q W 20 → 21° mot de sortie
% M W 31 → 32° mot interne
156 Nicolas Néanne IUT de Toulon – GEII
Automatismes Industriels Cours ITII 2015 - 2016
Accès Modbus des données de type "bit" en Modbus sur les contrôleurs Wago 750 :
Les adresses CEI des variables de type bit ont la forme suivante :