Aucun titre de diapositive - Page personnelle de...

160
IUT de Toulon – Département GEII Automatismes Industriels Cours ITII 2015 - 2016 Automatismes Industriels [email protected] [email protected]

Transcript of Aucun titre de diapositive - Page personnelle de...

Page 1: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – Département GEII

Automatismes Industriels Cours ITII 2015 - 2016

Automatismes Industriels

[email protected]@univ-tln.fr

Page 2: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

2IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

Plan du Cours :I / Les Automates Programmables Industriels1 – Présentation2 – Structure et fonctionnement3 - Caractéristiques

II / La Programmation IEC 1131-3 sous CoDeSys1 – L'adressage des données2 – Le langage IL3 – Le langage ST4 – Le Langage LD5 – Le langage FBD6 – Le langage CFC (non IEC 1131-3)7 – Le langage SFC

III / Le bus de terrain ASi1 – Présentation2 – Couche Physique3 – Couche liaison de données4 – Couche Application

IV / Communications Modbus1 – Présentation du protocole2 – Modbus RTU3 – Modbus TCP

Page 3: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

3IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

I / Les Automates Programmables Industriels

1 - Introduction

Les automates programmables industriels sont apparus à la fin des années soixante, à la demande de l'industrie automobile américaine, qui réclamait plus d' adaptabilité de leurs systèmes de commande.Les coûts de l'électronique permettant alors de remplacer avantageusement les technologies alors utilisées.

Avant : utilisation de relais électromagnétiques et de systèmes pneumatiques pour la réalisation des parties commandes

⇒ logique câbléeInconvénients : cher, pas de flexibilité, pas de communication possible

Page 4: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

4IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

Contraintes du milieu industriel (1) :

✔ Influences externes :

- poussières,

- température,

- humidité,

- vibrations,

- parasites électromagnétiques, …

→ Solution : utilisation de systèmes à base de microprocesseurs permettant une modification aisée des automatismes.

⇒ logique programmée

Page 5: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

5IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

Contraintes du milieu industriel (2) :

✔ Personnel : - dépannage possible par des techniciens de formation électromécanique

- possibilité de modifier le système en cours de fonctionnement

✔ Matériel :

- Evolutif- Modulaire- Implantation aisée

Page 6: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

6IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

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.

Définition :

Les API sont utilisés dans divers secteurs d'activités, que l'on peut regrouper en trois catégories :

Page 7: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

7IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

- Les systèmes automatisés de production (SAP), dont l'objectif est d'apporter de la valeur ajoutée à une matière première, en respectant certaines contraintes (financières, normes de sécurité etc...).

- L'industrie automobile, la métallurgie,

- La production d'énergie (centrales nucléaires, thermiques,

hydrauliques...)

- L'industrie agro-alimentaire, pharmaceutique,

- Le génie-chimique, la pétrochimie,

- Les chaînes de conditionnement,

- etc ...

Page 8: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

8IUT Toulon

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...)

- Engins de chantiers (grues...),

- Tri postal,

- etc...

- L'automatisation de machines spéciales :

Page 9: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

9IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

Nature des informations traitées par l'automate :

➢Analogique : l'information est continue et peut prendre une valeur comprise dans une plage bien déterminée. C'est le type d'information délivrée par un capteur (pression, température …).

Une grandeur analogique (tension, courant...) doit être convertie en grandeur numérique par une carte d'entrée spécifique pour pouvoir être traitée par le programme automate.

➢Numérique : l'information est contenue dans des mots codés sous forme binaire ou bien hexadécimale. Il peut s'agir d'une variable interne du programme (compteur...).

➢Tout ou rien (T.O.R.) : l'information ne peut prendre que deux états (vrai/faux, 0 ou 1 …). C'est le type d'information délivrée par un détecteur, un bouton poussoir …

Page 10: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

10IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

Architecture des systèmes automatisés :Partie Commande

(P.C)Partie Opérative

(P.O)Partie Relation

(P.R)

API (CPU)

Préactionneurs Actionneurs

Effecteurs

Détecteurs /CapteursConditionneurs

E Ana E TOR

S Ana & S TOR

Procédé

Superviseur

Pupitres opérateurs

Commande & signalisation

(1)

(2)

(3)

(4)

(5) (6)

(7)

(8)

(9)

Page 11: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

11IUT Toulon

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 ...).

Page 12: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

12IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

Architectures compacte et modulaires :

Automates modulaires Télémécanique

Automate compact Logo (Siemens)

Page 13: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

13IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

Informations(capteurs, dialogue)

Entrées

SortiesOrdres

(pré actionneurs, dialogue)

Programme

Traiter les informations entrantes pour émettre des ordres de sorties

en fonction d’un programme.

2 - Structure & Fonctionnement d’un API

Page 14: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

14IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

Le cycle de fonctionnement est organisé en 4 tâches :

Bus Entrées / Sorties

Unité de Traitement

RAM

Module d' Entrées

Module de

Sorties

Tâche 1 : Gestion du système (auto-contrôle de l’automate)Tâche 2 : Acquisition des données en entrée (mémorisation)Tâche 3 : Traitement des données (exécution du programme)Tâche 4 : Affectation des sorties (émission des ordres)

Page 15: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

15IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

Déroulement d'un Cycle-automate :

Traitement Interne

Lecture des Entrées

Exécution du Programme

Ecriture des Sorties

Page 16: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

16IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

➢ Présentation du contrôleur WAGO 750-849 :

Ports Ethernet pour le chargement des programmes, la

supervision...

Interface série (configuration)

Bornes pour l'alimentation 24Vcc

Page 17: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

17IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

➢ Caractéristiques du contrôleur WAGO 750-849 :

Page 18: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

18IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

Interface d'entrée : elle permet de recevoir les informations de la P.O (ou du pupitre) et de mettre en forme (filtrage, ...) ce signal tout en l'isolant électriquement (optocouplage) :

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

Page 19: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

19IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

➔ Coupleur d'entrées : « du bornier vers la mémoire image »

Mise à jour de façon ponctuelle, à chaque cycle automate

+-

+-

+-

+-

E1

E2

E3

E4

Bornier d'entrée Isolation / Filtrage Mémoire Image

%IX 0.0 E1

%IX 0.1 E2

%IX 0.2 E3

%IX 0.3 E4

... ….

... ...

Page 20: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

20IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

➢ Exemple de Carte D'E TOR (750-400) :

Page 21: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

21IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

➢ Exemple de Carte D'E analogiques avec conditionneur pour PT100 (750-461) :

Le signal délivré par la sonde est converti (montage 3 fils) en valeur numérique mise à l'échelle au format INT. La température est représentée en 100eme de degrés, sur une plage -200°C / + 200°C.

Page 22: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

22IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

➢ Exemple de Carte D'E analogiques 0-10V (750-459) :

la gamme de tension [0 V to +10V] est convertie par un CAN 12 bit, puis mise à l'échelle ; la gamme numérique obtenue est [0 ; 32760].

Page 23: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

23IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

➢ Exemple de Carte D'E analogiques 4-20mA (750-454) :

Page 24: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

24IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016Cette 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.

Page 25: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

25IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

+-+-

+-+-

S1

S2

S3

S4

Bornier de sortiesIsolation / Amplification - Relayage

Mémoire Image des sorties

S1 %QX 0.0

S2 %QX 0.1

S3 %QX 0.2

S4 %QX 0.3

... ….

... ...

Variables du programme

Bits de sorties

Interface de sortie : elle permet de commander les préactionneurs et éléments de signalisation du S.A.P. tout en assurant l'isolement électrique entre P.C et P.O.

Mise à jour de façon ponctuelle, à chaque cycle automate

Page 26: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

26IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

➢ Exemple de Carte De S TOR à Relais (750-513) :

Page 27: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

27IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

➢ Caractéristiques :

La tension commutée par une sortie à Relais peut être une

source continue ou alternative

La fréquence de commutation admise est relativement faible

( < 1 Hz)

Page 28: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

28IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

➢ Exemple de Carte De S TOR à Transistors (750-501) :

Page 29: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

29IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

➢ Cractéristiques :

La tension commutée par une sortie à

transistor es nécessairement

continue

La fréquence de commutation peut être élevée (plrs kHz)

Page 30: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

30IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

➢ Exemple de Carte De S analogiqes /10V (750-513) :

La gamme numérique [0 ; 32760] est convertie en tension [0;10V] par un CNA 12 bit.

Page 31: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

31IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

La Norme IEC 1131-3 définit les règles d 'écriture des programmes pour les API.

Les fabricants d'API fournissent des logiciels de programmation plus ou moins fidèles à cette norme (de plus en plus tout de même).

Le logiciel CoDeSys est une plateforme de développement ouverte, multimatérielle utilisée pour programmer les contrôleurs WAGO utilisés en TP.

Il obéit aux spécification de la norme CEI 61131-3

II / La Programmation IEC 1131-3

Page 32: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

32IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

Toute donnée traitée par un programme automate possède :

- Une Direction (Entrée, Sortie, Interne)

- Un format (Bit, Octet, Mot ...)

- Une Adresse (Chiffre indiquant la position de la donnée dans le plan mémoire de l'API).

La syntaxe pour toute donnée est la suivante :

% 'Direction' . 'Format' . 'Adresse'

1 / L'adressage des Données.

Page 33: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

33IUT Toulon

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.xExemple : 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.xExemple : 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

Page 34: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

34IUT Toulon

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

✔ Un octet est une donnée codée sur 8 bits

Notation : %x.B.x

Page 35: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

35IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

✔ Un mot est une donnée codée sur 16 bit

Notation : %x.W.x

Exemple : Un capteur de température est relié à la 3eme entrée analogique du rack automate. La valeur numérique correspondante sera stockée dans la variable :

✔ Un double mot est une variable codée sur 32 bits

Notation : %x.DW.x

% I W 2

Page 36: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

36IUT Toulon

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 '

Page 37: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

37IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

Les adresses :

Le dernier champ d'adressage d'une donnée est son adresse.

Elle est constituée: - de 2 chiffres séparés par un point pour les bits, le 1° indique le n° du mot, le

second la position du bit dans ce mot (0 à 15).- d'un seul chiffre pour tous les autres types.

Exemple (bit d'entrée) : %IX0.2 Il s'agit de la 3° entrée (les adresses commencent à 0) de la 1ere carte d'E T.O.R.

Exemple (Mot interne) : %MW42

Il s'agit du mot interne d'adresse 42.

Page 38: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

38IUT Toulon

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 peut être :

- 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.

Page 39: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

39IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

variable interne du programme "prog" de type booléen, initialisée à '0' et associée à la sortie physique TOR 4.0.

Variable de sortie du programme "prog", de type 'temps', et initialisée à la valeur 1s et 500ms.

Variable booléenne interne à "prog" initialisée à '1'.

Exemples de déclaration :

Variable d'entrée du programme "prog", de type "mot" et associée à l'entrée analogique 0.

Page 40: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

40IUT Toulon

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é :

- des fonctions : une fonction retourne une valeur, et ne peut mémoriser aucune variable entre deux appels.

- des programmes : un programme peut posséder des entrées, des sorties et des variables internes qui peuvent être mémorisées entre deux appels.

- des blocs fonctionnels : possède les mêmes caractéristiques qu'un programme mais peut être appelé plusieurs fois. Chaque appel consiste en une instanciation du bloc et apparaît comme une déclaration de variable.

Page 41: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

41IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

2 / Langage IL (Instruction List).Il s'agit d'un langage textuel proche du langage machine de l'API. Il s'apparente à l'assembleur d'un microcontrôleur. Ce langage n'est plus trop utilisé à l'heure actuelle.

Exemple : Soit l'équation logique suivante →

... se traduit par le code suivant :

%I1.3 . %I1.4)1.5)((%I1.0.%I %Q2.0 +=

La norme IEC 1131-3 définit 5 langages de programmation : IL, ST, SFC, LD et FDB.

Page 42: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

42IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

3 / Langage ST (Structured Text).

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.

Exemple : Soit l'équation logique suivante →

... se traduit par le code suivant :

%I1.3 . %I1.4)1.5)((%I1.0.%I %Q2.0 +=

%Q2.0 := ( (%I1.0 AND %I1.5) OR %I1.4 ) AND NOT( %I1.3) ;

Page 43: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

43IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

➢ Comparaison (alternative IF … ELSE … … END_IF):

➢ Incrémentation d'une variable :

CPT := CPT + 1 ;

Affectation : « := »

Page 44: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

44IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

➢ Boucle FOR :

➢ Boucle WHILE :

FOR i := 0 TO 9 BY 1 DO

.............. ;

END_FOR;

WHILE condition = TRUE DO

.............. ;

END_WHILE;

Page 45: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

45IUT Toulon

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 :

- Soustraction :

- Multiplication :

- Division :

Res := Op1 + Op2 ;

Res := Op1 - Op2 ;

Res := Op1 * Op2 ;

Res := Op1 / Op2 ;

Page 46: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

46IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

- modulo :

- Conversion Entier → Réel :

- Conversion Réel → Entier :

- Conversion Mot → Réel :

Res := Op1 MOD Op2 ;

Nb_Re := INT_TO_REAL ( Nb_ent) ;

Nb_ent := REAL_TO_INT ( Nb_Re) ;

Nb_Re := WORD_TO_REAL ( Mot) ;

Page 47: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

47IUT Toulon

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.

Le principe est le suivant :

- Les variables d'entrée sont symbolisés par des contacts électriques(NO ou NF), les variables de sortie par des bobines.

On considère que l'extrémité gauche du réseau constitue la borne + d'une alimentation (imaginaire) et la partie droite sa borne -

La mise en série, en // de contacts (variables d'E) NO ou NF permet l'alimentation conditionnelle de la bobine (variable de S), donc L'implantation d'équation logique.

Page 48: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

48IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

➢ Opérations logiques de Base :

ET : OU : NON :

Exemple : Soit l'équation logique suivante →

Cette équation se traduit en LD par la ligne suivante :%I1.3 . %I1.4)1.5)((%I1.0.%I %Q2.0 +=

Page 49: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

49IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

✔ Mémoire RS :

✔ Front montant :

t

t

t

A

B

x

t

t

t

A

x

t

tx

A✔ Front descendant :

Page 50: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

50IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

➢ Temporisation : retard à l'activation

➢ Temporisation : retard au déclenchement

➢ Temporisation : monostable

t

t

A

x3s

t

t

A

x3s

t

t

A

x3s

3s

3s

TON

TOF

TP

Page 51: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

51IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

➢ Compteur décompteur :

Nom Type RôleCU BOOL Entrée de comptage (sur front)

CD BOOL Entrée de dé comptage (sur front)

RESET BOOL Entrées de remise à zéro

LOAD BOOL entrée de préchargement

PV INT valeur de préchargement

QU BOOL Sortie, passe à 'TRUE' lorsque CV = 0

QD BOOL Sortie, passe à 'TRUE' lorsque CV = PV

CV INT Valeur courante du compteur

Page 52: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

52IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

5 / Langage FBD (Functionnal Bloc Diagram ).

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.

Exemple : Soit l'équation logique suivante →

Cette équation se traduit en FBD par le diagramme suivant :

%I1.3 . %I1.4)1.5)((%I1.0.%I %Q2.0 +=

AND

ORAND

%I1.4%I1.3

%Q2.0

%I1.5

%I1.0

Page 53: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

53IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

6 / Langage CFC (Component Functional Chart).

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).

De plus, la plupart des opérateurs définis en ST sont également utilisables (opérations numériques etc...).

On ne peut pas l'utiliser pour coder les réceptivités.

En revanche, on l'utilisera comme langage de programmation principal qui appellera les différentes tâches.

Page 54: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

54IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

Mémoire RS

Opérations numériques

opérations logiques

Compteurs

Comparaisons

Détection de Fronts

Page 55: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

55IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

7 / Langage SFC (Sequential Functional Chart ).Il s'agit du langage Grafcet. On l'utilisera pour décrire les différentes tâches séquentielles de l'automatisme.

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.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é

étape

Action

Étape initiale

Important : Il faut toujours respecter l'alternance Étape/transition !!!

Page 56: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

56IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

✔ Étapes :

L'étape initiale est matérialisée par un double rectangle

A chaque étape correspond un nom unique, auquel seront associées les variables :

→ "nom.t" : variable de type "TIME" représentant la durée passée dans l'étapenom.t : durée passée dans l'étape

→ "nom.x" : variable de type "BOOL" représentant l'état de l'étape ('TRUE' si l'étape est en cours, 'FALSE' dans le cas contraire)

Page 57: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

57IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

Entrées TOR

Temporisation

Sorties TOR, activées pendant la durée de l'étape (attribut 'N' : normal.

✔ Réceptivités : ✔ Actions :

Page 58: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

58IUT Toulon

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 :

- De valeurs booléennes constantes (TRUE ou FALSE)

- De variables booléennes simples

- De combinaisons logiques ( exemple : (a OR b) AND NOT c )

- De comparaison entre des valeurs numériques ou temporelles (exemples : A > 100,

A<>B, A=5, etape1.t>t#1s500ms)

- De combinaisons des éléments précédents

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.

Page 59: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

59IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

Les attributs suivants peuvent être associés aux actions en SFC :

Attribut Paramètre Description

N Aucun Action Normale : L'action est activée lorsque l'étape associée est active, et se désactive automatiquement à la sortie de l'étape.

S, R Aucun Action Mémorisée : l'attribut « S » (Set) permet de mémoriser l'activation de l'action, celle-ci restera active jusqu'à ce que l'attribut « R » (Reset) soit rencontré dans le grafcet sur la même action.

L Durée d'activation :

t#.....

Action limitée dans le temps : L'action est activée à l'entrée dans l'étape, puis désactivée automatiquement au bout du temps, spécifié (ou à la sortie de l'étape).

D Temps de retard :

t#.....

Action Retardée : L'action est activée avec le retard spécifié après l'entrée dans l'étape.

Page 60: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

60IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

Le chronogramme suivant récapitule l’exécution des différents types d'action possibles : t

t

t

tr0

t

t

t

t

t

t

t

tr1

tr2

Init.X

Step2.X

Step3.X

A

B

C

D1s

Page 61: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

61IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

✔Structure OU : Alternative. Elle permet d'effectuer un choix entre plusieurs séquences. Notez bien la structure de la divergence et de la convergence.

Divergence

Convergence

Page 62: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

62IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

✔ Cas particulier d'utilisation de la branche OU :

Reprise de séquence saut d'étapes

Page 63: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

63IUT Toulon

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

Page 64: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

64IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

✔ Convergence en ET : Synchronisation.

Une branche en ET converge généralement au moyen d'étapes vides (sans actions) qui terminent chacune des branche parallèles ; avec une réceptivités en aval de la convergence toujours vraie.

Cela permet une exécution des différents cycles parallélisés parfaitement indépendante ; et lorsque tous ces cycles sont achevés, le grafcet reprend sa branche principale

Page 65: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

65IUT Toulon

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) :

• SFCInit (BOOL) → Réinitialisation du grafcet (retour à l'étape initiale et arrêt de l’exécution)● SFCReset (BOOL) → Retour à l'étape initiale● SFCPause (BOOL)  → Figeage du grafcet● SFCError → Dépassement du temps maximal affecté à une étape● SFCCurrentStep (STRING) → Nom de l'étape SFC en cours● SFCTip, SFCTipMode (BOOL) → Lorsque SFCTipMOde est 'TRUE', le grafcet passe en mode pas à pas, la validation des réceptivités sont alors validées avec SFCTip.

Page 66: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

66IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

En outre, il est également possible de programmer des actions exécutée une seule fois à l'entrée ou à la sortie d'une étape. Ces actions, appelées "actions d'entrée" et "action de sortie" sont effective pendant un seul cycle automate et peuvent être programmées en LD, FBD ou ST :

Action d'entrée

Action de sortie

Exemple de programmation d'action d'entrée en langage ST

t

t

t

Step2.X

Action d'entréeAction de sortie

➢ Actions programmées (langage SFC) :

Page 67: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

67IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

➢ Actions programmées - suite (langage SFC) : Une action programmée peut également être de type continue, c'est à dire éxécutée pendant toute la durée de l'étape (comme une action CEI de type 'N').

Cela permet de coder les actions dans le langage de son choix. On peut utiliser cette méthode pour créer des actions condistionnelles :

t

t

Step2.X

Cond

A

Page 68: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

68IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

➢ Actions programmées - suite (langage SFC) : L'exemple ci-dessous reprend le fonctionnement précédent mais en kangage LD :

t

t

Step2.X

Cond

A

Page 69: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

69IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

➢ Appel & Synchronisation de programmes :

➔Programme Principal PLC_PRG :

➔ Bloc Fonctionnel G2 :

➔ Bloc Fonctionnel G1 :

Étapes de synchronisation

Page 70: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

70IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

➔ Bloc Fonctionnel G1 : Déclaration des variables d' E/S

➔ Bloc Fonctionnel G2 : Déclaration des variables d' E/S

Page 71: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

71IUT Toulon

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 :

Nom_etape . t : durée d'activité de l'étape (type TIME)Nom_etape . x : activité de l'étape (type BOOL)

Pour synchroniser deux grafcets, on pourra donc utiliser :'PLC_PRG' . 'nom d'instance du bloc' . 'nom de l'étape' . x

Si le programme SFC est un bloc fonctionnel, ou bien :'nom_du_programme' . 'nom de l'étape' . x

Si le programme SFC est un programme

Page 72: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

72IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

Page 73: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

73IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

➢Présentation :

● Liaison série Multipoint (2 fils) pour relier l'ensemble des capteurs et des préactionneurs à l'automate.

● Celui-ci possède une carte spécifique appelée « coupleur » et qui est maître de la liaison, c'est à dire capable d'interroger les capteurs et de commander les préactionneurs.

● Chaque nœud (capteur ou préactionneur) connecté au bus possède sa propre adresse lui permettant d'être identifié par l'automate via le coupleur.

● Il existe plusieurs protocoles de communication pour les bus capteurs/Actionneurs. Le plus répandu est ASi (Actuator Sensor Interface).

III / Le Bus de terrain ASi

Page 74: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

74IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

E/S

E/S

APIMaître

AS-InterfaceAPI

Câblage « traditionnel » Câblage « Bus »

➔ Comparaison Câblage traditionnel / Câblage Bus :

Coupleur

Bus

Esclaves(capteurs + préactionneurs)

Page 75: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

75IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

➢Intérêts des bus capteurs/actionneurs :

● Câblage simplifié

● Réduction des coûts de maintenance

● Réduction des coûts et des durées d'installation.

Page 76: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

76IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

Technologie prise vampire :

connexion rapide et aisée des capteurs/actionneurs ou modules

câble plat codé mécaniquement

deux fils pour les données et la puissance

Gaine isolante IP67 autocicatrisante

inutile de dénuder pour raccorder un nouveau composant sur le bus montage dans toutes les positions

➢ Le Câble ASi :

Page 77: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

77IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

• Transmission par courants porteurs :Un seul câble pour alimenter les capteurs & actionneurs (jusqu'à 8A) connectés au bus, et le transfert des données.

• Alimentation en mode différentiel (TBTS):Bonne immunité aux perturbations (CEI 1000-4).

Redressement

=Primaire L

L

R

V+

Découplage

AS-i +

AS-i -

30 V=

V-

R

Codage Manchester par courant porteur

AS

t

U alim30V

Alim. + transfert des données

➢ Alimentation et Signaux électriques sur le bus:

Page 78: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

78IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

0 0 1 0 1 1 1 0 1

Émis

sion

Réce

ptio

n

Bits à coder

Codage Manchester

Signal après filtrage (Modulation APM)

détection fronts descendants

détection fronts montants

Bits décodés (RS)

Page 79: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

79IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

Asi est basé sur une architecture maître/esclave, avec 1 seul maître pâr bus qui peut initier une communication.

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).

➢ Système Maître / Esclave :

Page 80: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

80IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

Maître

Esclave 1

Esclave 2

Esclave 31

Requête maître

Réponse esclave 1

Requête maître

Réponse esclave 2

Requête maître

Réponse esclave nEsclave n

Requête maître

Réponse esclave 31

31 esclaves maximum

Temps de cycle caractéristique: 5 ms pour

31 esclaves

➢ Polling des esclaves :

Page 81: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

81IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

Maître:polling cyclique des esclaves

Esclave AS-i : adresse de 1 à 31

mise à jour des sorties

acquisition de l'état des entrées

Requête maître

Réponse esclave

1 Esclave AS-i supporte:

4 interfaces logiques(entrées, sorties ou bidirectionnelles)

et au besoin,4 paramètrespour sélectionner un état particulier

• Un seul mâitre Asi peut donc gérer jusqu'à 62 x 8 = 496 E/S T.O.R (en Asi

v2.0 ou supérieur – 248 pour Asi v1.0)

Page 82: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

82IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

EsclaveMaître

Les échanges Maître / Esclave :

Ad=1 Ad=2

Ad=3Ad=4

Echanges des données d'entrées / sorties Paramètres Services

1 cycle AS-i

Q. Ad1 R.1 Q. Ad2 R.2 Q. Ad3 R.3 Q. Ad4 R.4 P. Adx R.x S. Ady R.y

Etat des entrées

Mise à jour des sorties

Q. Ad1 R.1

Page 83: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

83IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

ST CB A4 A3 A2 A1 I4 I3 I2 I1 I0A0 PB EB

ST I3 I2 I1 I0 PB EB

Requête du maître :

Réponse de l ’esclave :

5 bits d'informationfonction du type de la requête

4 bits d'informationretournée au maître

Bit de débutST = 0

Bit de débutST = 0

Bit de finEB = 1

Bit de finEB = 1

Bit de contrôle0 = échange de paramètres, données, définis par I0 à I41 = commande définie par I0 à I4

Bit de contrôle de parité pairen'incluant pas le bit de fin

Bit de contrôle de parité pairen'incluant pas le bit de fin

5 bits d'adresse esclave (1 à 31)0 réservé à la fonction adressage automatique

➢ Mise en trame :

Page 84: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

84IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

Exercice :

Calculer la durée minimale d'un cycle de traitement AS-i lorsque le nombre maximum d'esclaves est connecté au maître et vérifier la durée annoncée par les caractéristiques du bus AS-i.

Le débit sur la ligne est maximum (170 kBps)

Réponse :

Tcycle

= (31 + 1 + 1) * (14 + 7) / 170.103 = 4,07 ms < 5ms

[Nombre de trames] * [Nombre de bits/trame] / [débit]

Page 85: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

85IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

Catalogue des requêtes du maître :

CB

0 A4 A3 A2 A1 A0 0 S3 S2 S1 S0Echange de données

Ecriture de paramètres

Ecriture d'adresse

Reset esclave

Reset adresse

Lecture I/O Configuré

Lecture code ID

Lecture Status esclave

Lecture et reset Status esclave

0 A4 A3 A2 A1 A0 0 P3 P2 P1 P0

0 0 0 0 0 0 A4 A3 A2 A1 A0

1 A4 A3 A2 A1 A0

1 A4 A3 A2 A1 A0

1 A4 A3 A2 A1 A0

1 A4 A3 A2 A1 A0

1 A4 A3 A2 A1 A0

1 A4 A3 A2 A1 A0

1 1 1 0 0

0 0 0 0 0

0 0 0 01

0 0 01 1

1 1 1 0

1 1 1

1

1 1

5 bits d'adresse esclave 5 bits d'information

Requêtes du maître

Page 86: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

86IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

Catalogue des réponses des esclaves:

Réponse esclave

E3 E2 E1 E0

P3 P2 P1 P0

110 0

110 0

110 0

C3 C2 C1 C0

ID3 ID2 ID1 ID0

St3 St2 St1 St0

St3 St2 St1 St0

4 bits d'information

Pi = paramètres renvoyés en écho

Ack de l'esclave '6 Transaction 15 ms max

Ack de l'esclave '6 Transaction 2 ms max

Ack de l'esclave '6

I/O code esclave de '0 à 'F

ID code esclave de '0 à 'F

Sti = 4 bits d'états de l'esclave

Sti = 4 bits d'états de l'esclave avant RAZ

Ei = entrées esclave

Page 87: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

87IUT Toulon

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.

Ce profil prend la forme d'une valeur (1 octet), notée en hexadécimal, et définit le comportement de l'esclave sur le bus :

- Données d'entrées et de sorties échangées

- Paramètres accessibles

- Type de capteur / actionneur

Ci-après, deux exemples de profils éxistants.

Page 88: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

88IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

Page 89: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

89IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

Page 90: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

90IUT Toulon

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 :

@2 @3 XXX @1

@6 @7 @4 @5

@10 @11 @8 @9

@14 @15 @12 @13

.......... .......... .......... @16

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

%IW4

%QW4

%IW5

%QW5

%IW6

%QW6

%IW7

%QW7

%IW8

%QW8

Bit :

Page 91: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

91IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

Exemples de composant ASi :

D0 = commutation

D1 = signalisation

D2 = état

D3 = test

P0 =temporisation

P1 = inversion

P2 = distance

P3 = fonction spéciale

capteurou

Actionneur

énergie

Esclave avec circuit intégré AS-

InterfaceUn boîtier

Une connexion

Structure :

Page 92: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

92IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

Exemple de capteur :

Cellule Photoélectrique XUJK... (Schneider) :

→ Distance de détection (P1)→ Dark-on / Dark-off (P2)

AS-i

Alimentation par le bus :

Paramètres :

Données :

→ Détection (entrée I1)→ Encrassement lentille (entrée I2)

Page 93: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

93IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

Exemple d'actionneur (pré) : Distriubteur électropneumatique AC2027 (ecomot) :

Page 94: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

94IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

D0 = capteur 1

D1 = capteur 2

D2 = actionneur 1

D3 = actionneur 2

P0

Jusqu’à 4 capteursou/et

4 actionneursénergie

Esclave avec circuit intégré AS-

InterfaceUn boîtier Auto-surveillance

interface AS-i pour capteurs/actionneurs conventionnels :

Page 95: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

95IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

Page 96: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

96IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

Exemple de maître Asi pour API : Borne WAGO 750-655 pour contrôleur 750-xxx :

Page 97: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

97IUT Toulon

Automatismes Industriels Cours ITII 2015 - 2016

Console d'adressage ASi:

- Adressage des esclaves Asi (Modes A/B),

- Fonctions de Diagnostique (Tension Bus etc...),

- Lecture des profils ASi,

- etc...

Page 98: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne98

Automatismes Industriels Cours ITII 2015 - 2016

1 - Historique2 - Description des échanges Modbus3 - Modbus Série (RTU)

a – Présentationb – Couche Physiquec – Couche Liaison de données

4 - Modbus TCPa – Présentationb – Génaralités sur l'utilisation d'Ethernet en milieu industrielc – Constitution d'une trame Modbus-TCPd – Règles de Connexion

ANNEXE :Détail des différentes fonctions

Ch 3 : Modbus (RTU & TCP)

Page 99: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne99

Automatismes Industriels Cours ITII 2015 - 2016

Modbus est la contraction de « Modicon » et de « Bus ». Il s'agit du premier bus de terrain normalisé, et a été conçu dans les années 80 par le fabriquant d'automates Modicon (aujourd'hui Schneider-Télémécanique).

→ Historiquement, Modbus a été développé pour le milieu industriel sur des lignes séries (RS232, RS485),

→ puis avec l'essor des réseaux informatiques sur Ethernet.

Modbus représentent actuellement un des principaux standards de communication dans le domaine de l'automatisation industrielle, il est supporté par l'association Modbus-IDA chargée de définir les spécifications nécessaires au développement de composants « Modbus compliant ».

1 - Historique :

Page 100: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne100

Automatismes Industriels Cours ITII 2015 - 2016

Modbus définit une trame de base baptisée « PDU » (« Protocol Data Unit ») indépendante du type de protocole considéré (série ou TCP).

Elle comporte 2 champs :

- Code de la Fonction Modbus : Spécifie le type d'opération initié par la communication (lecture de mots, écriture de bits etc...)

- Données : Données nécessaires à l'éxécution de la fonction ou renvoyées par celle-ci.

La trame Modbus complète, « ADU » (Application Data Unit ») comportera en plus les informations d'adressage et de détection d'erreur propres au média de communication envisagé (série ou TCP).

2 – Description des échanges Modbus:

Page 101: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne101

Automatismes Industriels Cours ITII 2015 - 2016

✔ les types de données échangées :

Modbus manipule 4 types de données :

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 :

Type d'objet Accès Exemple:

Bits Lecture Interface d'entrées TOR

Bits Interface de sorties TOR, bits internes

Mots Lecture Interface d'entrée analogique

Mots Registres internes, sorties analogiques

Bits d'entrée ("Discrets Inputs")

Bits de sortie ('Coils") Lecture/EcritureMots d'entrées ("Input Registers")

Mots de sortie ("Holding Registers") Lecture/Ecriture

Page 102: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne102

Automatismes Industriels Cours ITII 2015 - 2016

Les adresses Modbus PDU commencent à 0, chaque fabriquant spécifie via une table de correspondances les adresses correspondantes des objets accessibles de son équipement :

Page 103: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne103

Automatismes Industriels Cours ITII 2015 - 2016

Les fonctions Modbus sont codées sur un octet :

- Les valeurs 1 à 127 correspondent à des fonctions Modbus;

- Les valeurs 128 à 255 correspondent aux codes d'exceptions indiquant qu'une erreur s'est produite au cours d'un échange;

- Le code 0 n'est pas valide.

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).

La longueur champ de données peut donc être comprise entre 0 et 252 octets.

Page 104: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne104

Automatismes Industriels Cours ITII 2015 - 2016

Les échanges Modbus sont basés sur un modèle Client / Serveur (maître/esclave dans le cas série).Le Client (maître) est toujours à l'initiative d'un échange. Il envoie une requête au serveur qui lui retourne, après analyse de cette requête une réponse :

La trame de réponse contient les éventuelles données demandées par le client dans le champ de données et le code de la fonction exécutée en echo (Accusé réception : Signifie que la fonction a été correctement exécutée).

Page 105: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne105

Automatismes Industriels Cours ITII 2015 - 2016

Si une erreur est détectée à la réception grâce au champ de contrôle (error check), ou si une erreur survient lors de l'éxécution de la requête par le serveur, la réponse renvoyée par celui-ci est alors dite « d'exception » :

Le champ « fonction » de la réponse contient alors la valeur [128 + code fonction] indiquant au client que la fonction n'a pu être éxécutée; le champ « données » contient quant à lui un code d'exception indiquant le type d'erreur qui s'est produite.

Page 106: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne106

Automatismes Industriels Cours ITII 2015 - 2016

Le logigramme suivant décrit le déroulement d'une transaction Modbus et son traitement côté Serveur :

Attendre requête

Adresse des données valide

?

Code Fonction valide

?

?

?

Valeur(s) des données valide(s)

Exécuter Fonction

Envoyer Réponse Modbus

Envoyer Réponse d'exception

Code d'exception = 1

Code d'exception = 2

Code d'exception = 3

Code d'exception = 4

non

non

non

non

Page 107: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne107

Automatismes Industriels Cours ITII 2015 - 2016

✔ Principales fonctions offertes par Modbus :

Lecture du compteur d’événements

Lecture des événements de connexion

Téléchargement, télé déchargement et MM

Demande de CR de fonctionnement

Ecriture de n bits de sortie

Ecriture de n mots de sortie

Lecture d’identificationTéléchargement, télé

déchargement et MMReset de l’esclave après erreur

H’0B’

H’0C’

H’0D’

H’0E’

H’0F’

H’10’

H’11’H’12’

H’13’

Lecture de n bits de sortie

Lecture de n bits d’entrée

Lecture de n mots de sortie Lecture de n mots d’entrée

Ecriture de 1 bit de sortie

Ecriture de 1 mot de sortie

Lecture du statut d’exceptionAccès aux compteurs de diagnosticTéléchargement, télé déchargement

et mode de marcheDemande de CR de fonctionnement

H’01’

H’02’

H’03’

H’04’

H’05’

H’06’

H’07’H’08’H’09

H’0A’

Nature des fonctions MODBUSCodeNature des fonctions MODBUSCode

Page 108: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne108

Automatismes Industriels Cours ITII 2015 - 2016

✔ Exemple de système industriel automatisé mettant en œuvre des échanges ModBus :

Le système suivant concerne la partie commande (P.C) d'un procédé industriel destiné à la fabrication de colle.

Ce procédé nécessite le mélange d'un réactif en poudre avec un solvant. Le solvant est puisé au moyen d'une pompe P1 vers la cuve de mélange. P1 est actionné via un moteur asynchrone piloté par un variateur (1) de vitesse.

Le mélange est effectué par une pâle, également mue par un ensemble “moteur asynchrone + variateur” (2).

Un API gère le pilotage du procédé (acquisition des capteurs : niveaux, températures, commande des vannes, commande des variateurs).

Un PC assure la supervision du système (visualisation du cycle de production, alarmes/défauts, choix des modes de marche ...)

Page 109: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne109

Automatismes Industriels Cours ITII 2015 - 2016

✗ Synoptique de la partie opérative du système :

EVS Electrovanne “Solvant”

EVR Electrovanne “Réactif”

EVV Electrovanne “Vidange”

NH, NB Cpateurs “Niveau Haut” et “Niveau Bas”

fcso, fcro, fcvo fins de course des elctrovannes

Page 110: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne110

Automatismes Industriels Cours ITII 2015 - 2016

✗ Synoptique de la partie commande du système :

Page 111: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne111

Automatismes Industriels Cours ITII 2015 - 2016

✗ Équipements mis en jeu : API Wago 750-849

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.

Ports Ethernet pour les échanges Modbus TCP (entre autres)

+ carte 8 E/TOR pour les capteurs de niveau et fin de course des electrovannes

+ carte 2 E Analogiques pour mesures de températures dans l'enceinte

+ carte 4 S TOR pour pilotage des électrovannes (monostables).

Page 112: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne112

Automatismes Industriels Cours ITII 2015 - 2016

Variateur de Vitesse Altivar 31 :

Plusieurs centaines de variables accessibles via Modbus :

- En lecture : Courant dans les phases (mot), état thermique du moteur (mot), fins de course (bits)...

- En lecture/écriture : réglages PID (mots), consigne de vitesse (mot), M/A (bits), rampes d'accélération et de décélération (mots) etc...

Connecteur RJ45 pour réseau Modbus

✗ Équipements mis en jeu : variateur communicant ATV31

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.

Page 113: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne113

Automatismes Industriels Cours ITII 2015 - 2016

✗ Équipements mis en jeu : passerelle TCP/RTU

Elle permet de convertir les couches physiques Ethernet / RS485, et d'encapsuler / Désencapsuler les trames entre les protocoles Modbus RTU et Modbus TCP.

Page 114: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne114

Automatismes Industriels Cours ITII 2015 - 2016

✔ Fonction 0x01 : Lecture de n bits de sorties.

Cette fonction permet de lire 1 à 2000 bits consécutifs dans le segments mémoire du serveur correspondants aux sorties discrètes (« coils »).

La trame de requête contient les champs suivants :

La trame de réponse, si aucune erreur ne survient :

* Rq : N = (nb_de_bits) / 8 si nb_de_bits est un multiple de 8N = (nb_de_bits) / 8 + 1 dans le cas contraire

Code Fonction 1 Octet 0x01

Adresse de départ 2 Ocets De 0x0000 à 0xFFFF

Nombre de bits à lire : 2 Octets De 1 à 2000 (0x7D0)

Champ : Taille : Valeur :

Code Fonction : 1 octet 0x01

Nombre d'octets de la trame de réponse : 1 octets N*

Etat des bits lus : N octets Etat des bits lus

Page 115: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne115

Automatismes Industriels Cours ITII 2015 - 2016

Si une erreur survient au cours de l'échange, la trame de réponse devient :

Champ : Taille : Valeur :

Code d'erreur : 1 octet 0x81

Code d'exception : 1 octet Code de l'erreur

Page 116: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne116

Automatismes Industriels Cours ITII 2015 - 2016

✔ Fonction 0x02 : Lecture de n bits d'entrées.

Cette fonction permet de lire 1 à 2000 bits consécutifs dans le segments mémoire du serveur correspondants aux entrées discrètes (« discrete inputs »).

La trame de requête contient les champs suivants :

La trame de réponse, si aucune erreur ne survient :

Champ : Taille : Valeur :

Code Fonction : 1 octet 0x02

Adresse du 1er bit à lire : 2 octets 0x0000 à 0xFFFF

Nombre de bits à lire : 2 octets 1 à 2000 (0x7D0)

Champ : Taille : Valeur :

Code Fonction : 1 octet 0x02

Nombre d'octets de la trame de réponse : 1 octet N

Etat des bits lus : N x 1 octet Valeurs lues

Page 117: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne117

Automatismes Industriels Cours ITII 2015 - 2016

➢ 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.

Nom du champ : Valeur : Nom du champ : Valeur :

Requête : Réponse :

Si une erreur survient au cours de l'échange, la trame de réponse devient :

Champ : Taille : Valeur :

Code d'erreur : 1 octet 0x82

Code d'exception : 1 octet Code de l'erreur

Page 118: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne118

Automatismes Industriels Cours ITII 2015 - 2016

✔ Fonction 0x03 : Lecture de n registres.

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 »).

La trame de requête contient les champs suivants :

La trame de réponse, si aucune erreur ne survient :

Champ : Taille : Valeur :

Code Fonction : 1 octet 0x03

Adresse du 1° registre à lire : 2 octets 0 à 0xFFFF

Nombre de registres à lire (n) : 2 octets 1 à 125 (0x7D)

Champ : Taille : Valeur :

Code Fonction : 1 octet 0x03

Nombre d'octets du champ suivant : 1 octet 2 x n

Mots lus : n x 2 octets Valeurs lues

Page 119: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne119

Automatismes Industriels Cours ITII 2015 - 2016

Si une erreur survient au cours de l'échange, la trame de réponse devient :

Champ : Taille : Valeur :

Code d'erreur : 1 octet 0x83

Code d'exception : 1 octet Code de l'erreur

Nom du champ : Valeur : Nom du champ : Valeur :

Requête : Réponse :

➢ 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.

Page 120: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne120

Automatismes Industriels Cours ITII 2015 - 2016

✔ Fonction 0x04 : Lecture de n registres d'entrée.

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 »).

La trame de requête contient les champs suivants :

La trame de réponse, si aucune erreur ne survient :

Champ : Taille : Valeur :

Code Fonction : 1 octet 0x04

Adresse de départ : 2 octets 0x0000 à 0xFFFF

Nombre de registres à lire (n) : 2 octets 1 à 125 (0x7D)

Champ : Taille : Valeur :

Code Fonction : 1 octet 0x04

Nombre d'octets de la trame de réponse : 1 octet 2 x n

Valeurs de registres lus : nx2 octets valeurs

Page 121: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne121

Automatismes Industriels Cours ITII 2015 - 2016

✔ Fonction 0x05 : Ecriture d'un bit de sortie.

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.

La trame de requête contient les champs suivants :

Si aucune erreur ne survient, la trame de réponse est identique à la trame de requête (écho)

La trame de réponse, si une erreur survient :

Champ : Taille : Valeur :

Code Fonction : 1 octet 0x05

Adresse du bit à écrire : 2 octets 0x0000 à 0xFFFF

Valeur à écrire ('0' ou '1') : 2 octets 0x0000 ou 0xFF00

Champ : Taille : Valeur :

Code d'erreur : 1 octet 0x85

Code d'exception : 1 octet 01, 02, 03, ou 04

Page 122: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne122

Automatismes Industriels Cours ITII 2015 - 2016

✔ Fonction 0x06 : Ecriture d'un registre de sortie.

Cette fonction permet l'écriture d'une variable sur un mot accessible en lecture/écriture de l'équipement distant. La réponse à cette requête est un écho de la requête.

La trame de requête contient les champs suivants :

Si aucune erreur ne survient, la trame de réponse est identique à la trame de requête (écho)

La trame de réponse, si une erreur survient :

Champ : Taille : Valeur :

Code Fonction : 1 octet 0x06

Adresse du registre à écrire : 2 octets 0x0000 à 0xFFFF

Valeur à écrire (big endian) : 2 octets 0x0000 à 0xFFFF

Champ : Taille : Valeur :

Code d'erreur : 1 octet 0x86

Code d'exception : 1 octet 01, 02, 03, ou 04

Page 123: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne123

Automatismes Industriels Cours ITII 2015 - 2016

✔ Fonction 0x0F : Ecriture de n bits de sortie.

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.

La trame de requête contient les champs suivants :

Le rangement des bits à l'intérieur des mot se fait de la façon suivante :

Champ : Taille : Valeur :

Code Fonction : 1 octet 0x0F

Adresse de départ : 2 octets 0x0000 à 0xFFFF

Nombre de bits à écrire : 2 octets 0x0001 à 0x07B0

Nombre d'octets du champ suivant 1 octet 0 à 255

Valeurs à écrire N octets .................

Adresse de départ b15

b14

b13

....... b3 b

2 b

1 b

0

Adresse de départ + 1 b31

b30

b29

....... b18

b17

b16

Adresse de départ + 2 etc...

Page 124: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne124

Automatismes Industriels Cours ITII 2015 - 2016

✔ Fonction 0x10 : Ecriture de n registres.

Cette fonction permet d'écrire 1 à 123 registres consécutifs d'un équipement distant. La réponse à cette requête renvoie le nombre de registres écrits ainsi que l'adresse de départ.La trame de requête contient les champs suivants :

La trame de réponse (sans erreur) :

Champ : Taille : Valeur :

Code Fonction : 1 octet 0x10

Adresse du 1° mot à écrire : 2 octets 0x0000 à 0xFFFF

Nombre de mots à écrire (n) : 2 octets 0 à 0x7B

Nombre d'octets du champ suivant 1 octets 0 à 255

Valeurs à écrire (big endian) : n octets 0x0000 à 0xFFFF

Champ : Taille : Valeur :

Code Fonction : 1 octet 0x10

Adresse du 1° mot écrit : 2 octet 0 à 0xFFFF

Nombre de mots écrits 2 octets n

Page 125: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne125

Automatismes Industriels Cours ITII 2015 - 2016

✔ Exercice.

Voici la déclaration des E/S du système présenté précédemment :

Page 126: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne126

Automatismes Industriels Cours ITII 2015 - 2016

Donnez les trames Modbus (PDU) permettant à un équipement distant :

- La lecture de toutes les entrées TOR utilisées :

- D'ouvrir la vanne de vidange

- De connaître l'état des températures

Page 127: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne127

Automatismes Industriels Cours ITII 2015 - 2016

Page 128: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne128

Automatismes Industriels Cours ITII 2015 - 2016

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.

3 - Modbus Série :

Page 129: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne129

Automatismes Industriels Cours ITII 2015 - 2016

Tout d'abord, un mode appelé « diffusion » (« Broadcast ») permet au maître (client) de s'adresser à l'ensemble des esclaves (serveurs) présents sur le bus en envoyant une requête à l'adresse 0.

D'autre part, un certain nombre de fonctions de diagnostique ne sont implantées que sur Modbus série.

Page 130: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne130

Automatismes Industriels Cours ITII 2015 - 2016

Timing des communications Modbus-Série :

Page 131: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne131

Automatismes Industriels Cours ITII 2015 - 2016

En plus des champs définis par la couche applicative de Modbus (code fonction et données), Les trames Modbus série incluent :

✔ l'adresse de l'esclave en en-tête (1 octet) : - Adr = 0 pour la diffusion, - 1<Adr<255 pour un échange entre maître et esclave)

✔ Champ de contrôle de la validité de l'échange : (1 ou 2 octets)

Page 132: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne132

Automatismes Industriels Cours ITII 2015 - 2016

✔ Couche Physique :

La couche physique de Modbus série obéit à l'une des 2 normes RS232 ou RS485 :

✗ Rappels :

➔RS232 : Transmission NRZ, niveaux de tension +/-12V référencés par rapport à la masse.➔RS485 : Transmission différentielle sur paire torsadée, niveaux de tension 0/5v.

Esclave

Maître

Esclave n°1

Maître

Esclave n° i...

RS232 :

Echanges entre 1 Maître & 1 esclave : POINT à POINT&Courtes Distances (<20m)

RS485 :

Echanges entre 1 Maître & plsrs esclave : MULTIPOINTJusqu'à 120m de distance

Page 133: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne133

Automatismes Industriels Cours ITII 2015 - 2016

0 0 1 0 1 1 1 0 1Bits transmis

VRS232

RS485 : D0

RS485 : D1

VRS485

+5v

0v

+5v

+12v

-12v

0v

+5v

-5v

Parasites e-m

Page 134: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne134

Automatismes Industriels Cours ITII 2015 - 2016

✔ RS485 2 fils.

Il s'agit du mode le plus répandu, tout équipement Modbus série doit permettre ce type de liaison.

Résistances de polarisationTerminaisons de bus

Page 135: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne135

Automatismes Industriels Cours ITII 2015 - 2016

Direction Description

D0 A/A' E/S

D1 B/B' E/S

Common C/C' x Masse commune (optionnelle)

Désignation Modbus

Nom norme RS485

D0=V+ pour bit = '0' D0=V- pour bit = '1'

D1=V- pour bit = '0' D1=V+ pour bit = '1'

Page 136: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne136

Automatismes Industriels Cours ITII 2015 - 2016

✔ RS485 4 fils. (optionnel)

Page 137: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne137

Automatismes Industriels Cours ITII 2015 - 2016

Direction Description

TXD0 A S

TXD1 B S

RXD0 A' E

RXD1 B' E

Common C/C' x Masse commune (optionnelle)

Désignation Modbus

Nom norme RS485

Emission : TXD0=V+ pour bit = '0' TXD0=V- pour bit = '1'

Emission : TXD1=V- pour bit = '0' TXD1=V+ pour bit = '1'

Réception : RXD0=V+ pour bit = '0' RXD0=V- pour bit = '1'

Réception : RXD1=V- pour bit = '0' RXD1=V+ pour bit = '1'

Page 138: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne138

Automatismes Industriels Cours ITII 2015 - 2016

✔ RS232.

Ce mode est réservé aux liaisons point à point pour des distances <20m.

✔ Débit binaire :

Pour l'ensemble des modes de transmissions précédemment décrits, le débit binaire par défaut est de 19 200 Bauds.

Page 139: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne139

Automatismes Industriels Cours ITII 2015 - 2016

✔ Connecteurs :

➢ Modbus RS485 2 fils :

Page 140: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne140

Automatismes Industriels Cours ITII 2015 - 2016

➢ Modbus RS485 4 fils :

Page 141: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne141

Automatismes Industriels Cours ITII 2015 - 2016

➢ Modbus RS232 :

Page 142: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne142

Automatismes Industriels Cours ITII 2015 - 2016

2 variantes du protocole Modbus série co-existent, qui se différencient au niveau de la couche liaison de données :

➔Modbus RTU et Modbus ASCII.

L'implantation Modbus RTU est obligatoire sur un composant Modbus série; celle de Modbus ASCII étant facultative.

Modbus RTU présente une meilleure efficacité en terme de débit binaire.

Nous limiterons donc notre étude à Modbus RTU, version plus répandue.

✔ Modbus RTU :

Page 143: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne143

Automatismes Industriels Cours ITII 2015 - 2016

✔ Format d'une trame Modbus RTU :

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

StopBit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0Start Parité

Page 144: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne144

Automatismes Industriels Cours ITII 2015 - 2016

La mise en trame des différents champs est la suivante :

Les trames sont séparées par des intervalles de « silence » de durée au moins égale à 3,5 caractères hexadécimaux (1 caractère hexa = 4 bits) :

Page 145: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne145

Automatismes Industriels Cours ITII 2015 - 2016

✔ Calcul du CRC :

Le dernier champ de la trame permet un contrôle des données émise. Le calcul CRC (« Cyclic Redondant Code ») est une méthode très efficace et permet de détecter jusqu'à erreurs situées n'importe où dans la trame.

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 (!).

Page 146: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne146

Automatismes Industriels Cours ITII 2015 - 2016

✔ Algorithme de Calcul du CRC :

CRC ← 0xFFFF

CRC ← Octet XOR CRC

CRC ← CRC >> 1

Bit Sorti = '1' ?

8 fois ?

Dernier Octet ?

CRC ← 0xA001 XOR CRC

FIN

Début

non

non

non

Page 147: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne147

Automatismes Industriels Cours ITII 2015 - 2016

Variateur de Vitesse Altivar 31 :

Plusieurs centaines de variables accessibles via Modbus :

- En lecture : Courant dans les phases (mot), état thermique du moteur (mot), fins de course (bits)...

- En lecture/écriture : réglages PID (mots), consigne de vitesse (mot), M/A (bits), rampes d'accélération et de décélération (mots) etc...

Connecteur RJ45 pour réseau Modbus

✔ Exemples d'équipements Mosbus RTU :

Page 148: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne148

Automatismes Industriels Cours ITII 2015 - 2016

API Schneider M340 :

- Communication Modbus RTU (RS485) intégrée à la CPU.

- Paramétrage de la communication via le logiciel de programmation Unity.

- Programmation des requêtes Modbus via une bibliothèque logicielle disponible sous Unity.

Connecteur RJ45 pour réseau Modbus

Page 149: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne149

Automatismes Industriels Cours ITII 2015 - 2016

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.

Celles-ci sont émises par le client sur un port >1024 :

● Port Modbus TCP :

4 – Modbus TCP.

Page 150: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne150

Automatismes Industriels Cours ITII 2015 - 2016

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 :

● Encapsulation des trames :

En-Tête Ethernet En-Tête IP En-Tête TCP Données CRC

12 octets22 octets 24 octets 1 à 255 octets

4 octets

Page 151: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne151

Automatismes Industriels Cours ITII 2015 - 2016

La trame Modbus TCP est constituée d'une trame Modbus-TCP précédée d'une en-tête baptisée « MBAP Header » :

L'absence de champ de contrôle propre à la trame Modbus-TCP s'explique par le fait que celui-ci est déjà réalisé par la couche 2 d'Ethernet (CRC 32 bits).

Page 152: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne152

Automatismes Industriels Cours ITII 2015 - 2016

L' en-tête MBAP Header comporte 4 champs :

✔ Transaction Identifier (2 octets) : Ce champ est utilisé pour identifier les transaction circulant sur le réseau, afin que le client puisse faire le lien entre une requête qu'il a émise et une confirmation qu'il reçoit.

✔ Protocol Identifier (2 octets) : Ce champ permet d'utiliser plusieurs variantes de protocoles et de les distinguer; pour Modbus, ce champ est à 0x00.

✔ Length (2 octets) : Ce champ indique la taille (en octets) de la trame Modbus à (partir du champ suivant).

Page 153: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne153

Automatismes Industriels Cours ITII 2015 - 2016

✔ Unit Identifier (1 octet) : Ce champ est utilisé lorsque la trame est adressée à une passerelle Modbus-TCP / Modbus-série, afin d'identifier l'adresse Modbus de l'esclave sur cette ligne :

Passerelle Modbus-TCP / Modbus série

Unit ID =1 Unit ID =2

IP : 192.168.0.4

Page 154: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne154

Automatismes Industriels Cours ITII 2015 - 2016

Client ServeurInitialise la valeur

Protocole IDInitialise la valeur

Initialise la valeur Initialise la valeur

Unit. IDInitialise la valeur

Transact. IDRetourne au client la valeur qu'il a initialisée

Retourne au client la valeur qu'il a initialisée

Length

Retourne au client la valeur qu'il a initialisée

Le contrôle sur chacun de ces champs pour un client et un serveur est récapitulé dans le tableau suivant :

➢ 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).

Page 155: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne155

Automatismes Industriels Cours ITII 2015 - 2016

✔ Modbus-TCP & Les contrôleurs Wago 750-xxx :

Le contrôleur 750-849 est communique naturellement en Modbus-TCP à travers ses ports Ethernet :

→ 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)

- Les sorties sont quant à elles accessibles en lecture ou en écriture (bits de sortie/bobines ou registres)

Page 156: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne156

Automatismes Industriels Cours ITII 2015 - 2016

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

Page 157: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne157

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 :

% I X 10.2 → bit d'entrée (3°bit du 11° mot)% Q X 0.3 → bit de sortie

% MX0.1 → bit interne

Rq :

→ les bits internes ne sont pas accessibles en Modbus TCP sur ces contrôleurs→ Le n° d'adresse CEI pour les bits est composé d'un n°de mot et d'un n° de bit à l'intérieur de ce mot (poids fort = 15, poids faible=0)

Page 158: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne158

Automatismes Industriels Cours ITII 2015 - 2016

→ Par ailleurs, des blocs fonctionnels de communication permettent au programme du contrôleur d'initier une requête Modbus-TCP :

Bloc fonctionnel « Ethernet_ModbusMaster-TCP » de la bibliothèque « Modbus_Ethernet_03.lib » :

Page 159: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne159

Automatismes Industriels Cours ITII 2015 - 2016

Des bornes spécifiques permettent d'assumer les couches physiques RS232 et RS485 utilisées en Modbus RTU (par ailleurs, les contrôleurs disposent également d'un port RD232 sur l'unité centrale) :

Borne 750-653 Borne 750-650

✔ Modbus RTU & Les contrôleurs Wago 750-xxx :

Page 160: Aucun titre de diapositive - Page personnelle de …neanne.univ-tln.fr/IMG/pdf/Cours_Autom_ITII_2015-2016.pdf · - possibilité de modifier le système en cours de fonctionnement

IUT de Toulon – GEIINicolas Néanne160

Automatismes Industriels Cours ITII 2015 - 2016

La bibliothèque « Modb_l05.lib » contient les blocs fonctionnels permettant de rendre une borne série (RS232 ou RS485) maître ou esclave :