Système automatisé : architecture et mise en œuvre
Système automatisé : architecture et mise en œuvre
AUTOM
Architecture et mise en œuvre
d’un système automatisé
1
ORGANISATION DU MODULE
2
SOMMAIRE DU COURS
3
PARTIE I:GENERALITES/AUTOMATE/GRAFC
IE. 1T: G É N É R A L I T É S S U R L ’ A U T O M A T I S M E I N D U S T R I
I. ELARCHITECTURE D’UN SYSTÈME AUTOMATISÉ
2: DÉFINITIONS: CAPTEUR, PRÉ-ACTIONNEUR, A
I. CTIONNEUR
3
I .: 5 : C
PORN
ÉCSEN
P T IAOTNI OENT D
R’ÉUANL A
I SUATTOI M
OAN TDE’ U
INN DSUYSSTTR
È IMEE
L ET DES SOLUTIO
NI S
. A LATU ET
RONM
AAT ITVIS
EÉS
4
I .: UNITÉ CENTRALE OU CPU – STRUCTURES ZONE DE MÉMOIR
6: EY
C SCLE API CHIEN DE GARDE – INTERRUPTIONS DE PROGRAM
I.7: – GRAFCE ME
I. T: - ÉTAPES
8: - ACTIONS
- TRANSITIONS
- RÈGLES D’ÉVOLUTION
- DIVERGENCES
SOMMAIRE DU COURS
4
SOMMAIRE DU COURS
5
PARTIE III:LANGAGE&PROGRAMMATION
III.1: PRÉSENTATION DES LANGAGES NORMALISÉS CEI611
III. 31TYPE DE FORMAT DE DONNÉES
2: DÉCLARATION DES VARIABLES ET PLAN D’ADRESSA
III. GE
3: OPÉRATIONS BINAIRES ET COMBINATOIR
III. ESOPÉRATIONS NUMÉRIQUES
4: TEMPORISATIONS
III. COMPTEURS-DÉCOMPTEURS
5:
STRUCTURES DES PROGRAMMES CEI6113
III.
6: PROGRAMMER UN GRAFCET EN LANGAGES 1
NORMALISÉS
III.7:
III.
8:
III.
9:
MR-IUT St-Dié des Vosges-Dpt GEII
LP SARII Module AUTOM
PARTIE I:
Généralités/Automate/Grafcet
6
Commande de machines :
Machines outils
Convoyage, stockage
Emballage
Machines de chantier, engin de levage
Régulation de processus:
Chimie, pétrochimie, pharmaceutique
Traitement des eaux
Thermique, fours, métallurgie
Nous reviendrons dans le chapitre I.5, pour présenter les différences entre les solutions
A.P.I ou système à microcontrôleur.
Un système automatisé industriel peut en première description être schématisé par le synoptique suivant :
Elle comporte:
- les pré-actionneurs et les
actionneurs
- Les capteurs et leurs interfaces
Capteur et interface :
Un capteur est un élément de la partie opérative qui permet de recueillir des informations
et de les transmettre à la partie commande. Les capteurs sont choisis en fonction des informations
qui doivent être recueillies (température, son, lumière, déplacement, position)
Afin de pouvoir être traités par la partie commande, les signaux issus de capteurs placés sur le
processus sont parfois conditionnés par une électronique d’interface (traitement d'image, mise
en forme des signaux…) amplification…)
Valeur ohmique en
fonction de la Signal électrique de
type 4-20mA
température
A.P.I
Convertisseur (avec carte entrée analogique 4-20mA)
Capteur de température de type PT100 PT100/4-20mA
(100Ω à 0°C)
A.P.I
(avec carte entrée analogique 4-20mA)
Convertisseur
Capteur de pression de type différentiel 0-10V/4-20mA
Thermoplongeur Electrovanne
Ils sont indispensables pour les adaptions électriques (tension, intensité). En effet, un API ne
peut mettre en œuvre un moteur de 400kw triphasé seul, il faut un pré-actionneur entre l’API et ce
moteur.
Ces pré-actionneurs mettent en œuvre des circuits d’électronique de puissance, d’électronique du signal
analogique et d’électronique numérique.
Un pré-actionneur a pour fonction de transformer l'énergie issue d'une source (réseau électrique,
compresseur pneumatique,…) en une énergie adaptée à l'actionneur pour un mouvement précis.
Commande 0-400V
Commande 0-10V tri à fréquence
variable
Commande 0-230V
Commande 0-10V mono à valeur efficace
variable
A.P.I Thermoplongeur
(avec carte sortie analogique 0-10V) Gradateur de puissance (transforme l’énergie électrique
(électronique de puissance en énergie thermique)
convertisseur de type AC/AC )
Historiquement, pour la conception et la réalisation d’un système automatisé, les automaticiens adoptaient
un schéma dit « cycle en V ». (voir transparent suivant)
Toutes les entreprises du secteur de l’automatisation ont leur propre méthode de développement. Mais
globalement, nous retrouverons des phases communes.
Nous essayerons dans cette partie de cours de cerner les principales tâches qui incombent au métier
d’automaticien.
Le bureau d'étude électricité et automatisme devra travailler avec les autres départements comme le
département mécanique, informatique ou encore R&D.
L’automaticien devra travailler de concert avec les brasseurs pour automatiser les différentes phases de la
fabrication jusqu’au conditionnement.
Lors de l’installation d’une nouvelle brasserie d’autres corps de métiers entreront également en action.
Ainsi dans le domaine de la brasserie industrielle, les systèmes automatisés vont se charger de:
fabriquer la bière selon les recettes établies
remplir automatiquement les bouteilles
de les bouchonner
d'assurer leur déplacement vers les zones de stockage et de prélèvement
Entrainements
CPU
IHM Sécurité
failsafe
machine
Troisième phase du projet, elle est une des plus importantes pour l’automaticien.
La vérification du matériel :
Sur une machine automatisée, chaque capteur, interrupteur et bouton poussoir est connecté à une
entrée spécifique de l'automate et chaque actionneur (vérin, moteur, voyant) à une sortie spécifique de
celui-ci.
Il faudra donc veiller à bien vérifier que chaque capteur/actionneur soit connecté à la bonne
entrée/sortie
Pendant la phase de vérification du programme, l'automaticien pourra utilisé des outils de simulation afin
de détecter tous les défauts émanants du programme.
Si vous utilisez un automate Siemens, vous pourrez utiliser l'application PLCSIM comme automate
virtuel. Pour un automate Allen Bradley, vous pourrez utiliser RSEmulate.
Ces outils permettent de simuler le fonctionnement d'un automate et de faciliter le test du programme
ainsi
conçu.
PLCSIM RSEmulate.
Ceux-ci pouvant communiquer via des bus de terrain traditionnels comme le Profibus, le modbus, l'ASI ou
encore via les réseaux d'Ethernet industriel.
Après cela, les parties individuelles du programme et les fonctions spéciales du système seront
testées: fonctionnement en mode manuel et automatique, configuration et vérification des bases de
données d'archivage etc..
Au moment de concevoir un système automatisé ou une machine spéciale, on est souvent confronté
à des choix technologiques à savoir le choix des capteurs, des actionneurs et des organes
de contrôle/commande.
ou
VS !
De nos jours avec l'arrivée des SBC (single board computer) comme le Raspberry Pi, l'Arduino,
le CubieBoard, on n'a plus seulement un microcontrôleur séparé, on a un ordinateur complet avec
microcontrôleur, entrées/sorties numériques et analogiques, port d'alimentation etc..
Ainsi, concevoir un système automatisé devient de plus en plus simple comparé à autrefois où on
disposait seulement d'un PIC et on devait concevoir les cartes d'entrées/sorties.
Le prix : Les automates programmables sont souvent plus chères que les (microcontrôleurs + cartes) ou
les ordinateurs monocartes ainsi pour de petites applications, il est plus intéressant de se tourner vers
les microcontrôleurs.
Comparé aux microcontrôleurs qui doivent utiliser pour des soucis de performance le langage assembleur,
difficile pour un non initié.
Les microcontrôleurs comme certains APIs supportent de nos jours les langages évolués comme le
C, cependant il faut avoir de bonnes bases en informatique.
La performance et la sécurité:
Les automates sont conçus pour les applications industrielles et peuvent fonctionner dans des milieux
précaires (très basses ou hautes températures, milieux humides etc...).
Ils sont aussi testés et approuvés pour répondre aux problèmes d'incompatibilités électromagnétiques.
Comparées aux SBC qui sont pas assez durcis pour répondre aux besoins industriels.
Il existe néanmoins des solutions électroniques à base de microcontrôleurs conçues pour être utilisées
en
industrie.
Industrino Controllino
Une des solutions pour le choix de l’élément de contrôle commande peut être le Controllino: (une base
sur carte Arduino avec des adaptations pour l’industrie)
Quelques spécifications :
Microcontroller: ATmega2560
Ethernet Connector
2x serial Interface
1x I2C Interface
1x SPI Interface
Input current Max. 20A
12x Analog/Digital Inputs 0-24V
2x Analog Inputs 0-10V
6x Digital Inputs (2x Interrupt)
8x Digital Outputs – 2A (PWM)
2x Analog Outputs – 0-10V (0-20mA)
10x Relays Outputs – 230V / 6A
PC industriel :
organe de commande
Variateurs industriels :
matériel industriel
communication avec le PC
Nous reviendrons en détail dans la présentation des différents modèles présents sur le marché.
C’est MODICOM qui créa en 1968, aux USA, le premier automate programmable.
Son succès donna naissance à une industrie mondiale qui s’est considérablement développé depuis.
L’automate programmable représente aujourd’hui l’intelligence des machines et des procédés automatisés
dans l’industrie, des infrastructures et du bâtiment.
Dans les années 80, les automates deviennent de plus en plus gros :
De plus en plus d’entrées/sorties
Un automate commande plusieurs machines
Architecture centralisée
Dans les années 90, on utilise des automates plus petits reliés entre eux par des réseaux.
Architecture décentralisée
De nos jours, les entrées/sorties sont aussi décentralisées, on parle de modules déportés.
L’automate possède de plus en plus de ports de communication et de moins en moins
d’entrées/sorties en local.
API :
Automate programmable industriel
Ou
PLC :
Programmable Logic Controller
Sont des appareils électroniques de traitement de l’information (remplacement de ce que l’on l’appelait
autrefois : « la logique à relais »)
Nous reviendrons dans le chapitre II pour présenter les différentes cartes d’entrées/sorties
que proposent les différents constructeurs du marché.
La CPU comprend:
Le processeur qui effectue les opérations logique, de temporisation, de
comptage ou de calcul.
Source
SIEMENS
Mémoire de travail :
La mémoire de travail (RAM) est intégrée à la CPU et contient uniquement les données requises pour
la durée de l’exécution (pour les blocs de données, uniquement les valeurs effectives et non les valeurs
initiales).
Mémoire système:
La mémoire système contient les zones mémoire pour : MIE et MIS, les mémentos, les temporisations,
les
compteurs, les données locales.
Rémanence:
On qualifie de rémanentes toutes les données qui sont sauvegardées ou ne perdent pas leur contenu en
cas de coupure de courant. Il s’agit de toutes les données de la mémoire de travail ainsi que des
mémentos, temporisations et compteurs déclarés rémanents dans la configuration matérielle. La
rémanence signifie qu’après coupure de courant, les données concernées sont sauvegardées sur la MMC
et rechargées au démarrage lorsque la tension est rétablie.
Zone mémoire
sur carte SD Zones mémoire dans CPU
Plusieurs tailles
de cartes SD
Mémoire de travail :
La mémoire de travail est une mémoire volatile
qui contient les blocs de code et de données.
La mémoire de travail est intégrée à la CPU et
ne peut pas être étendue. Elle n'est utilisée que
lorsque la CPU est en cours de
fonctionnement. 2 zones (code, données/OT)
Mémoire rémanente :
La mémoire rémanente est une mémoire non
volatile pour la sauvegarde d'une quantité
limitée de données en cas de défaillance de
tension.
Les actions suivantes suppriment le contenu
de la mémoire rémanente :
Effacement général
Restauration aux paramètres d'usine
Le temps d’exécution d’un cycle est contrôlé par une surveillance du temps appelée chien de garde. Si
le temps de cycle dépasse le chien de garde, la CPU se mettra en défaut.
Fonctionnement cyclique :
Les cycles s’enchaînent les uns après les autres, le temps de cycle dépend de la durée
d’exécution du programme. Cette durée dépend du nombre de calculs et de la puissance de
traitement de la CPU.
Fonctionnement périodique:
Il est parfois possible de fixer le temps de cycle pour certaines parties du programme. Dans le
jargon informatique, on nomme ce fonctionnement par le terme: « Interruption de programme »
D’autres OB internes sont également mis à disposition pour l’utilisateur. (OB de démarrage, d’alarmes
ou d’erreurs)
Le temps de cycle augmentera avec le nombre d’interruptions. C’est pour cela qu’il conviendra de choisir
l’API en fonction du besoin de l’application.
GRAFCET
GRA: GRAphe
F: Fonctionnel de Certains constructeurs proposent
C: Commande une programmation en Grafcet en
E: Etapes respectant la norme: ce langage se
T: Transition nomme SFC
SFC
S: Sequential
F: Fonction
C: Chart
Moyen de communication entre l'automaticien et son client, le GRAFCET est un outil utilisé pour la
rédaction du cahier des charges d'un automatisme.
Il est utilisé pour spécifier et concevoir le comportement souhaité de la partie commande et/ou de
la partie opérative d’un système.
Un des points forts du GRAFCET est la facilité de passer du modèle l'implantation technologique de
celui- ci dans un automate programmable industriel.
ÉTAPE INITIALE :
La (ou les) étape(s) initiale(s) X0
caractérisent l’état du système au début du
fonctionnement. Elle se caractérise par le
double carré.
ACTIONS:
Les actions sont réalisées lorsque KM1-KA1
l'étape associée à l'action est active. Il
existe différents types d’actions.
RÉCEPTIVITÉ :
La réceptivité est la condition logique
qui permet l’évolution. Si la réceptivité est
S1
vraie (=1), le cycle peut évoluer. Les
réceptivités sont des comptes-rendus en
provenance de la partie opérative ou des
consignes en provenance du pupitre ou d’une
IHM.
LIAISONS ORIENTÉES:
Un GRAFCET se lit de haut en
bas. Pour remonter, il est nécessaire d’indiquer
le sens par une flèche.
L'alternance étape-transition doit être respectée quel que soit le chemin du graphe parcouru.
Deux étapes ne doivent jamais être reliées directement.
Deux transitions ne doivent jamais être reliées directement.
Oui, la syntaxe est Non, il manque une transition Non, il manque une étape
correcte entre X1 et X2 entre T1 et T2
X1
X1
X1
X2
X2
X3
OU:
On appellera un simple trait horizontal un OU logique. S'il est avant l'étape on dira qu’il réalise une
convergence en OU et s'il est en sortie on dira qu’il réalise une divergence en OU
X1 X2 X3 X1
X2 X3 X4
X4
ET:
Une transition peut être liée en amont à un double trait horizontal qui s’appelle alors une convergence
en ET. Si c’est en aval que l’on a un double trait horizontal, on parle d'une divergence en ET.
Lorsque l’on a des doubles traits horizontaux, la terminologie associée est le parallélisme
structural.
Une transition est validée lorsque toutes les étapes immédiatement précédentes reliées à
cette transition sont actives
X1 X2 X3 X1
X4 X2 X3 X4
Les constructeurs qui implémentent le langage SFC (sequential fonction chart) dans leur cible matériel et
outil logiciel doivent tenir compte de ces règles d’évolution.
Remarque: Nombre d’industriels n’utilisent pas le langage SFC, ils transforment le GRAFCET dans
d’autres langages comme: le Ladder, le Logigramme, le langage structure ou encore le
List. Néanmoins, cette adaptation de langage doit respecter les 5 règles d’évolution.
Nous reviendrons dans le chapitre III.9, pour présenter différences méthodes de programmation d’un
GRAFCET dans des langages normalisés.
X0
Au chargement du GRAFCET dans l’automate, l’étape initiale X0 est active. Cela est illustré
par le jeton positionné sur l’étape.
X1
X0 X0
Entrées Entrées
X1 API X1 API
X0 X0
Entrées Entrées
X1 API X1 API
X1 X1 X1
X2 X3 X2 X3 X2 X3
Si au cours du fonctionnement, la même étape est simultanément activée et désactivée, elle reste active.
X1 X1
X2 X3 X2 X3
Situation de départ
Situation de départ
X1=1 S1=0
X1=1 S1=0
Pas d’évolution puis S1=1
alors X1 reste active (règle 5)
et X2 et X3 s’activent également
Une séquence unique est composée d'une suite d'étapes pouvant être activées les unes
après les autres. Chaque étape n'est suivie que par une seule transition et chaque transition n'est
validée que par une seule étape.
X0
X1
X2
Sélection de séquence :
Une étape peut être reliée à plusieurs transitions en amont (convergence) ou en aval (divergence).
Le « OU » permet de prendre en compte un choix, un "aiguillage " entre deux séquences.
X1
X2 X3
X4
Saut d’étape(s) :
X1
X3
X4
X5
Reprise de séquence
Une partie du grafcet peut être exécutée à plusieurs reprises.
X1
X2
X3 X4
Séquence simultanée :
Une transition peut supporter plusieurs étapes en amont et plusieurs étapes en aval :c’est
la notion de « ET ».
Le franchissement d'une transition conduit à activer plusieurs séquences en même
temps, ces séquences sont dites séquences simultanées et évoluent à leur rythme.
X1
X2 X3
X1 Action A
X1
1
0
A
ct
io
n
A
1
MR-IUT St-Dié des Vosges-Dpt GEII 73
0
Classification des actions :
Action mémorisée :
Elle est associée à deux étapes, une étape de déclenchement : opérateur S comme « set »,
une étape d'arrêt : opérateur R comme « reset » . L'action mémorisée est exécutée dès que
l’opérateur S est activé et reste active jusqu’à l’opérateur R.
X10
X10 S Action A 1
0
X18
1
0
Act
X18 R Action A ion
A
1
0
MR-IUT St-Dié des Vosges-Dpt GEII 74
Chronogramme
Classification des actions :
Action impulsionnelle :
C'est une action de durée très petite dont la valeur est sans importance mais suffisante à
priori pour obtenir l'effet souhaité
X1
1
X1 P Action A 0
A
ct
io
n
A
1
0
Chronogramme
MR-IUT St-Dié des Vosges-Dpt GEII 75
Classification des actions :
Action conditionnelle:
C'est une action non mémorisée dont l'exécution est soumise à une condition logique.
X1
1
0
C
X1 Action A 1
0
A
ct
io
n
A
1
MR-IUT St-Dié des Vosges-Dpt GEII 76
0
Classification des actions :
Action retardée :
C'est une action toujours associée à une étape mais qui est vrai à l’issu d’un temps
défini par l’utilisateur.
X1
1
X1 D Action A 0
A
ct
io
n
A
1
D
0
MR-IUT St-Dié des Vosges-Dpt GEII Chronogramme
77
Classification des actions :
C'est une action toujours associée à une étape mais qui est vrai que pendant un temps
défini par l’utilisateur.
X1
1
0
X1 L Action A A
c
t
i
o
n
A
1
L
MR-IUT St-Dié des Vosges-Dpt GEII
0 78
Classification des transitions :
X2
X2
Les Systèmes Automatisés de production sont de plus en plus complexes, afin de simplifier l'étude, la
mise en œuvre et la maintenance du système, il est nécessaire de structurer la partie commande et
la partie opérative.
L'objectif essentiel de la structuration est de permettre une approche progressive du fonctionnement d'un
système automatisé, tant au niveau de l'analyse qu'au niveau de la représentation.
Dans l'analyse structurée, le grafcet global est décomposé en modules, chacun de ces modules
correspond à une fonction du système (Sécurité, modes de marche, etc.) ou à une sous partie de la
Partie Opérative (Poste 1, Poste 2, Poste 3, etc)
La structuration est :
Les commandes de forçage et figeage de grafcet, sont des moyens supplémentaires qui permettent de
préciser la hiérarchie des différents grafcets.
Comme évoqué précédemment, les GRAFCET(s) hiérarchisés forment une structure de type
maître/esclave dans laquelle le GRAFCET maître donne des ordres à un ou plusieurs
GRAFCET esclaves.
X1 Tâche T1
X10
X2
X11
X3 Tâche T1
X12
X4
GRAFCET maître GRAFCET de tâche T1
A l'étape X31 du
GRAFCET G3, il y a L'activation de l'étape X31 L'activation de l'étape X31
forçage du GRAFCET G2 du GRAFCET G3 fige le du GRAFCET G3 figera le
à l'étape X20. Plus GRAFCET G2 dans sa GRAFCET G2 sur l’étape
d’évolution sur G2 tant situation courante. X21. par rapport au
que X31=1 Plus d’évolution sur G2 forçage, le grafcet G2
tant que X31=1 continue d’évoluer mais se
boquera sur l’étape X21
MR-IUT St-Dié des Vosges-Dpt GEII 84
LP SARII Module AUTOM
PARTIE II:
Matériel & outils logiciels
85
ALLEN-BRADLEY
[Link]
SCHNEIDER
[Link]
SIEMENS
[Link]
Comme exemples plus détaillés, nous présenterons les produits SIEMENS n°1 mondial:
CPU, Technologie des cartes d’E/S, etc.
Exemples: 2 modèles de LOGO Exemples: 2 modèles d’extension E/S TOR Exemples: 1 modèle d’extension E ANA
Référence
et modèle
Spécificités
E ANA sur
module
d’extension
Spécificités
Spécificités E/S TOR sur
E/S intégrées module
à la CPU d’extension
CompactLogix
M251
M258
Modules de signaux
8 max suivant modèle de CPU
8 max suivant
modèle de CPU
Sécurité AI/AQ
Référence et
modèle
Spécificités des
entrées/sorties
Spécificités
Zones de Spécificités
mémoires réseau
industriel
Spécificités
fonctions
technologiques
Langages de
programmation
S7300
M340 M580
ControlLogix 5580
Prenium S71500
Quantum S7400
(contrôle de process) (contrôle de process)
Technologie F-AI
Simatic ident : système RFID- Lecteur optique
Haute
Comptage rapide: HSC – Mesures sur codeurs externes performance
Référence et
modèle
Mémoire image
entrées/sorties
Spécificités
Zones de Spécificités
mémoires réseau
industriel
Profil support
+
rail DIN symétrique intégré
Montage vertical
Connecteur de BUS
liaison CPU aux modules Montage horizontal
périphériques
Languette de
Déverrouillage
Position de câblage
Position de service
ET200SP ET200MP
ET200M ET200ISP
Modules d'E/S FLEX 5000 Modules d'E/S FLEX 1794 X80 Advantys STB ET200pro
Advantys ETB
Plusieurs modèles : Plusieurs modèles :
CompactBlock LDX I/O Plusieurs modèles : En armoire (IP20)
Modules POINT I/O API logic contrôler : ET200SP
Modules d'E/S FLEX 5000 OTB ET200MP (format S71500)
Modules d'E/S FLEX 1794 TM5-IP20 ET200M (format S7300)
… TM7-IP67 ET200ISP (ATEX - IP30)
API M340-M580-Quantum: Hors armoire:
X80 ET200pro (IP65/67)
Tout type d’E/S-Différents indices
Advantys STB-IP20 Etc.
de protection-Différentes interfaces
Advantys ETB-IP67
réseaux-E/S de sécurité-modèles Tout type d’E/S-Différents indices de
ATEX Tout type d’E/S-Différents indices de protection-Différentes interfaces
protection-Différentes interfaces réseaux-E/S de sécurité-modèles
réseaux-E/S de sécurité-modèles ATEX
ATEX
MR-IUT St-Dié des Vosges-Dpt GEII 103
Périphérie décentralisée/SCHNEIDER OTB IP20 : Exemple de caractéristiques
OTB interface Canopen
Caractéristiques Interface
CANopen et MODBUS série
Domaine d’utilisation :
Multifonctionnel, le système de périphérie décentralisée
SIMATIC ET 200SP convient à l'utilisation dans différents
domaines d'application :
Structure modulable
Modèles avec CPU
Modules d'interface PROFINET IO ou
PROFIBUS DP
Applications pour la technique de
sécurité
Large éventail de modules de périphérie (64
modules max) (31 départs-moteurs)
Indice de protection IP 20
Montage encastré dans armoire électrique
(rail
DIN)
Référence et modèle
Le module serveur est livré avec le
module d’interface et doit toujours
être placé en fin de montage
Module d’interface
avec 2 ports
PROFINET
Versions logicielles
compatibles
Alimentation 24V DC
Nombre de modules
12 Modules de périphérie + 1 module serveur périphériques
Nombre de ports
PROFINET
groupe 1
groupe 2
Présentation du module
Pour bornes de
1 à 16 : 2A max
Description du modèle :
1: CPU 1515-2PN
2: Module 32DI (6ES7 521-1BL00-0AB0)
3: Module 32DQ (6ES7 522-1BL10-0AA0)
4: Module 8DQ à relais (6ES7 522-5HF00-0AB0)
5: Module 8AI (6ES7 531-7PF00-0AB0)
6: Module 4AQ (6ES7 532-5ND00-0AB0)
7: Module de comptage rapide TM Count 2x24V (6ES7 550-1AA00-0AB0)
8: Module de détection de position TM PosInput 2 (6ES7 551-1AB00-0AB0)
9: Module de commande pour entraînements pas-à-pas TM PTO 4 (6ES7 553-1AA00-0AB0)
10: Module de pesage TM SIWAREX WP521 ST (7MH4 980-1AA01)
Capteur inductif
3 fils
API
0v
24V
I0.0
I0.7
Electrovanne Contacteur
Bobine: Bobine:
230vAC/2A 24V
DC/0,1A
Ce sont les caractéristiques de pré-actionneurs qui nous permettront de choisir entre un module de sorties à transistors ou un
module de sorties à relais.
Exemple de carte à transistor: 24V/0,5A par voie
Exemple de carte à relais : contact sec tenues électriques: 230V/5A
Ainsi pour l’électrovanne, on choisira une carte à relais et pour le contacteur les deux modèles de cartes peuvent convenir.
Attention une carte à relais coûte plus chère qu’une carte à transistors.
Courant max.
par voie : 0,5A
Courant max.
par voie : 5A
3,3
± 500mV
• Pression ± 1V
• Température ± 5V
• Débit ± 10V Programme CPU:
• Vitesse ± 20mA Module de sorties Mise à l’échelle des
• Valeur pH 4 à 20mA analogiques
• signaux
etc. etc. API
Variateur
Moteur
Conversion et
mémorisation
du résultat accès directement accès via la MIS
au module d’O rafraîchie en fin de
QW….. :P cycle programme
Pré- QW…..
Grandeur actionneur CNA Ecriture sur le module de sortie
physique normalisé analogique
Actionneur QW…..
Exemple chez
SIEMENS:
Représentation des valeurs
analogiques et résolution
Débordement >= 11.759 32767 >= 22.815 32767 >=352.778 32767 >= 1000.1 32767
Tension Courant
Plage Unité Plage de sortie Plage de sortie
0 à 10V 1 à 5V ± 10V 0 à 20mA 4 à 20mA ± 20mA
Débordement >=32767 0 0 0 0 0 0
- 10.0004 - 20.007
Domaine de - 27649
: :
dépassement :
- 32512 - 11.7589 - 23.515
Débordement <=- 32513
0 0
Sorties analogiques en
courant
Pt100
Capteur ohmique à câble
Pour répondre à ces besoins, les constructeurs proposent des cartes spécifiques entièrement dédiées à
ces applications. Ceci permet une gestion directe par l’API.
4 fils
3 fils
2 fils
Fréquence max du
signal 200kHz
Fréquence max du
signal 1MHz
24V 24V
Montage 4 fils
Câble SIWAREX
Jauge
Presse-étoupe
d’entrée Presse-étoupe Blindage
de sortie
Intégration de
ces solutions
dans les API.
S7300
M340 M580
Unity Pro est le logiciel commun de programmation, mise au point et exploitation des
gammes d’automates Modicon M340, M580, M580S, Premium et Quantum.
Unity Pro est un logiciel multitâche qui offre les fonctionnalités suivantes :
SIMULATION - DIAGNOSTIC
PARTIE III:
Langage & programmation
142
Opérandes
Opérateurs
Etiquettes
LIST
SCL
Bobine
Contact NO
Barre d’alimentation
Contact NF
Langage à contact
Logigramme
Fonction
élémentaire: & Variable de sortie
Variables d’entrée
Un programme SFC est un réseau graphique d’étapes et de transitions, reliées par des
liaisons orientées.
Les liens de connexion multiples sont représentés par des divergences et des convergences.
Les principales règles graphiques sont :
une étape ne peut pas être suivie d’une autre étape
une transition ne peut pas être suivie d’une autre transition
Instance
Divergence ET
Etape
Chez SIEMENS comme chez tous les constructeurs on dissocie 2 types de données:
Données élémentaires
Données Complexes
Description du modèle :
1: CPU 1515-2PN
2: Module 32DI (6ES7 521-1BL00-0AB0)
3: Module 32DQ (6ES7 522-1BL10-0AA0)
4: Module 8DQ à relais (6ES7 522-5HF00-0AB0)
5: Module 8AI (6ES7 531-7PF00-0AB0)
6: Module 4AQ (6ES7 532-5ND00-0AB0)
7: Module de comptage rapide TM Count 2x24V (6ES7 550-1AA00-0AB0)
8: Module de détection de position TM PosInput 2 (6ES7 551-1AB00-0AB0)
9: Module de commande pour entraînements pas-à-pas TM PTO 4 (6ES7 553-1AA00-0AB0)
10: Module de pesage TM SIWAREX WP521 ST (7MH4 980-1AA01)
Module 32
entées
Ces opérations sont programmables dans l’ensemble des langages normalisés, mais en règle générale,
les automaticiens privilégient le LADDER (langage à contact) ou le FBD (logigramme) pour répondre à
ce besoin de programmation.
Pour faciliter le travail de programmation, les API disposent d’instructions élémentaires intégrées
dans des bibliothèques.
Les opérations binaires et combinatoires font appel en général aux fonctions logiques suivantes:
ET
OU
OU EXCLUSIF
NON ET
NON OU
ETC.
Chacune des instructions prend un certain temps CPU (voir transparent 95) ou voir manuel de
référence de la CPU retenue.
Ce langage utilise un bit logique ( RLG). Toute nouvelle instruction logique met la valeur de l'opérande
dans le bit RLG.
Ensuite les opérations logiques sont exécutées entre l'opérande et le RLG. L’attribution (=) copie le
résultat se trouvant dans RLG et l’attribue à l’opérande qui la suit.
Langage à contacts
S=A.B
%Q0.0 = %I0.0 . %I0.1
La sortie est mise à 1 si les 2 entrées sont à 1
I0.0 RLG
Langage à contacts
S=A+B
%Q0.1 = %I0.2 . %I0.3
La sortie est mise à 1 si au moins une des
2 entrées est à 1
I0.2 RLG
RLG Q0.1
Texte structuré (SCL)
Langage à contacts
Dans le langage à contact, le OU exclusif
ne peut être réalisé qu'à l’aide de
contacts à ouverture et de contacts à
fermeture. Par contre le OU exclusif
existe dans les autres langages.
Logigramme
S=(A./B)+(/A.B)
%Q0.2 = (%I0.4 . /%I0.3) + (/%I0.4 . %I0.3)
La sortie est mise à 1 une entrée est à 1
et l’autre à 0
RLG Q0.2
Langage à contacts
Les opérations ET NON, OU NON et OU
exclusif NON (AN, ON et XN) permettent
de faire un ET, OU , OU Exclusif en
inversant l'opérande qui suit l'opération
(en langage à contact c'est un contact NC
Normalement Connecté, en logigramme
Logigramme c’est un petit rond qui désigne cette
inversion) .
Exemple ci-contre:
%Q0.4 = (%I0.7 . %I1.0) + (%I1.1 .
%I1.2)
Langage à contacts
La fonction SET met à 1 une variable et
maintient cette valeur tant que la fonction
RESET est à 0.
Normalement, les fonctions SET et RESET ne
doivent pas passer en même temps à 1.
La priorité est toujours placée sur la dernière
Logigramme instruction exécutée. Ainsi dans l'exemple ci-
dessous c'est l'instruction R qui est exécutée
en dernier et donc priorité est donnée à
l'entrée I0.1 avec commande de la sortie
%Q0.0 à 0.
Le langage SCL demande l'utilisation d'une
structure de contrôle IF pour arriver au même
résultat. Comme pour le langage LIST, nous
avons fixé une priorité sur l'entrée %I0.1 mais
cette fois-ci c'est avec le test sur %I0.1 qui est
Texte structuré (SCL) Liste d’instructions (LIST) fait en premier , ce qui fixe la priorité sur cette
entrée et donc si les 2 entrées %I0.1 et %I0.2
sont à 1, la sortie %Q0.0 sera forcée à 0.
Langage à contacts
Une fonction mémoire RS est représentée
comme un rectangle avec l’entrée
d’initialisation S et celle de réinitialisation
R. Un état bref de signal à 1 à l’entrée
d’initialisation initialise la fonction
mémoire.
Logigramme Normalement dans une bascule RS, les deux
entrées R et S ne doivent pas passer en
même temps à 1.
Il existe deux types de bascule RS
SR: Priorité du l’entrée R (R1)
RS: Priorité du l’entrée S (S1)
Texte structuré (SCL) Liste d’instructions (LIST) Dans notre exemple la mémorisation de
l’état de la bascule est affecté à la variable
%M100.0.
En SCL, même méthode de programmation
que pour les fonctions SET et RESET (voir
transparent 171).
Le langage à contact et logigramme proposent également un bloc (P_TRIG). Cette instruction permet de
tester le front montant d’une équation. Dans l’exemple ci-dessous, on détecte le front montant de
l’équation (%I8.2 . %I0.4). Ce bloc génère une instruction BLD 100 (graphisme du bloc) en langage
LIST.
Langage à contacts
Dans l'exemple ci-contre, si un front descendant (N:
pente négative) (Passage de ‘1’à ‘0’) est reconnu sur
%I8.1, alors %Q0.7 est mise à 1 pour un cycle API.
Le langage à contact et logigramme proposent également un bloc (N_TRIG). Cette instruction permet de
tester le front descendant d’une équation. Dans l’exemple ci-dessous, on détecte le front descendant de
l’équation (%I8.1 . %I0.4). Ce bloc génère une instruction BLD 100 (graphisme du bloc) en langage
LIST.
Ces opérations sont programmables dans l’ensemble des langages normalisés, mais en règle
générale, les automaticiens privilégient souvent le SCL (langage à contact) ou le LIST (logigramme)
pour répondre à ce besoin de programmation.
Pour faciliter le travail de programmation, les API disposent d’instructions élémentaires intégrées
dans des bibliothèques.
Le type d’opération numérique est liée à la variable (type et format). Ainsi les API proposent des
variables de type INT, DINT, REAL etc. Le format dépendra du type d’opération. Exemple: déclaration
d’un DINT en format real pour une opération de type sinus.
Les opérations numériques font le plus souvent appel aux instructions suivantes :
Chargement et transfert de valeur
Opérations arithmétiques
Comparaisons
Conversions
ETC.
Le plan d’adressage SIEMENS est basé sur l’octet (voir transparent 162) .
Dans l’exemple ci-dessous, il a été déclaré un double mot %QD120 (format 32 bits).
Une table de visualisation permet de consulter la valeur de ce double mot dans des formats différents:
(hexadécimal, décimal, binaire).
Différentes " fonctions mathématiques " sont intégrées dans la bibliothèque d’instruction.
Chaque instruction de calcul est entièrement paramétrable:
type d’opération et format des variables.
Il convient de choisir les bonnes variables en fonction de l’opération souhaitée.
Une nouvelle instruction " CALCULATE " est intégrée dans TIAPortal, elle permet de programmer
plusieurs opérations mathématiques dans le même bloc.
Permet de programmer
l’opération mathématique souhaitée
Différentes " fonctions de comparaison " sont intégrées dans la bibliothèque d’instruction.
Chaque instruction de comparaison est entièrement paramétrable:
type de comparaison et format des variables.
Il convient de choisir les bonnes variables en fonction de la comparaison souhaitée.
Lorsque l’opération de comparaison est vérifiée le résultat logique est mis à 1.
Langage à contacts
Courant
Par ex:
Plage
Plage
Unités
4 à 20mA
OUT
1,0
0,0
IN
MIN: 0 MAX: 27648
Paramétrable
OUT
M
A
X
5
0
0
,
0
MIN
0,0
IN
0.0 1,0
Langage à contacts
Indique si la valeur à
l’entrée ’’VAL’’ est
comprise dans une
plage spécifiée
Indique si la valeur à
l’entrée ’’VAL’’ est
située hors d’une
plage spécifiée
Les temporisateurs comptent les secondes ou les fractions de seconde en utilisant l’horloge interne
de la CPU.
Tous les constructeurs intègrent des temporisateurs dans leur API. Ils répondent également à une
norme CEI.
4 paramètres
Description
L'instruction "Retard à la montée" vous permet de retarder la mise à 1 de la sortie Q de la durée
programmée PT.
L'instruction est démarrée lorsque l'entrée IN passe de "0" à "1" (front montant).
La durée PT programmée débute au démarrage de l'instruction.
Une fois la durée PT écoulée, la sortie Q fournit l'état logique "1". La sortie Q reste à 1 tant que l'entrée In
reste à"1".
Lorsque l’entrée IN passe de "1" à "0", la sortie Q est remise à 0.
La valeur de temps actuelle peut être demandée à la sortie ET. La valeur de temps débute à T#0s et se
termine lorsque la
durée PT est atteinte. La sortie ET est remise à 0 dès que l'état logique à l'entrée IN passe à "0".
Il faut associer à chaque appel de l'instruction "Retard à la montée" une temporisation CEI (instance) dans
laquelle les données de la temporisation sont stockées.
Remarque: le paramètre PT peut être associé à une variable au format DINT (ms)
Programme TON
4 paramètres
Description
L'instruction "Retard à la montée" vous permet de retarder la mise à 0 de la sortie Q de la durée
programmée PT.
La sortie Q est mise à 1 lorsque à l'entrée IN passe de "0" à "1" (front montant).
Lorsque l'état logique à l'entrée IN repasse à "0", la durée programmée PT démarre. La sortie Q reste à 1 tant que la
durée PT s'écoule.
Une fois la durée PT écoulée, la sortie Q est remise à 0.
La valeur de temps actuelle peut être demandée à la sortie ET. La valeur de temps débute à T#0s et se termine lorsque la
durée PT est atteinte.. Si l'entrée IN passe à "1" avant que la durée PT soit écoulée, la sortie ET est remise à la valeur
T#0s. Il faut associer à chaque appel de l'instruction "Retard à la retombée" une temporisation CEI dans
laquelle les données de l'instruction sont stockées.
Remarque: le paramètre ET peut être associé à une variable au format DINT (ms)
Programme TOF
Autres temporisations
Impulsion
Impulsion
Accumulateur de temps
Siemens propose également ses propres temporisateurs. La variable de réglage du temps est au
format S5TIME
Retard
Impulsion Temporisation
SIEMENS à la montée
Impulsion prolongée
Retard à la montée
Retard à la montée mémorisé
Retard à la retombée
S5TIME
SCL
Paramètres
IN: entrée de temporisation
PT: Temps de réglage
Q: sortie de temporisation
ET: Valeur courant de la
temporisation
LIST
Cela peut servir à compter des produits lorsqu’ils passent sur une bande transporteuse.
Tous les constructeurs intègrent des compteurs/décompteurs dans leurs API. Ils répondent également
à une norme CEI.
5 paramètres
Instance CTU
Description :
Avec l'instruction "Comptage", on incrémente la valeur à la sortie CV.
Quand l'état logique passe de "0" à "1" (front montant) à l'entrée CU, l'instruction est exécutée et la valeur de comptage
actuelle à la sortie CV est augmentée de un. La valeur de comptage est incrémentée à chaque détection d'un front
montant jusqu'à ce qu'elle atteigne la valeur limite supérieure du type de données spécifié à la sortie CV. Une fois la
valeur limite supérieure atteinte, l'état logique à l'entrée CU n'a plus d'influence sur l'instruction.
On peut interroger l'état du compteur à la sortie Q. L'état logique à la sortie Q est déterminé par le paramètre PV. Quand
la valeur de comptage actuelle est supérieure ou égale à la valeur du paramètre PV, la sortie Q est mise à l'état logique "1".
Dans tous les autres cas, l'état logique à la sortie Q est "0".
La valeur à la sortie CV est remise à zéro lorsque l'état logique à l'entrée R passe à "1". Tant que l'entrée R présente
l'état logique "1", l'état logique à l'entrée CU n'a pas d'effet sur l'instruction.
Programme CTU
5 paramètres
Instance CTD
Description :
Avec l'instruction "Décomptage", on peut compter à rebours la valeur à la sortie CV. Quand l'état logique passe de "0" à "1"
(front montant) à l'entrée CD, l'instruction est exécutée et la valeur de comptage actuelle à la sortie CV est diminuée
de un.
La valeur de comptage est décrémentée chaque fois qu'un front montant est détecté, jusqu'à ce que la valeur limite
inférieure du type de données spécifié soit atteinte. Une fois la valeur limite inférieure atteinte, l'état logique à
l'entrée CD
n'a plus d'influence sur l'instruction.
On peut interroger l'état du compteur à la sortie Q. Quand la valeur de comptage actuelle est inférieure ou égale à zéro, la
sortie Q est mise à l'état logique "1". Dans tous les autres cas, l'état logique à la sortie Q est "0".
La valeur de la sortie CV prend la valeur du paramètre PV quand l'état logique de l'entrée LD passe à 1. Tant que l'entrée
LD présente l'état logique "1", l'état logique à l'entrée CD n'a pas d'effet sur l'instruction.
Programme CTD
Ce bloc associe le
Compteur/décompteur CTU et le CTD
SIEMENS
%C De type
compteur
Compteur
Décompteur
Compteur/décompteur
Valeur en
BCD
Les compteurs peuvent également être réalisés par de instructions arithmétiques : C:=C+1
Paramètres:
CU: entrée de comptage
SCL CD: entrée de décomptage
R:entrée de RAZ du compteur
LD: entrée de pré-chargement
PV: valeur de pré-chargement (CV=PV si LD) =1
QU: sortie=1 si CV>=PV
QD: sortie=1 si CV<0
CV: valeur courante du compteur
LIST SCL
Autre méthode
L’OB1 est interrompu par l’OB35, OB cyclique de période ∆𝑇 et par l’OB40 pour une alarme (le temps de
cycle est rallongé dans ce cas de la durée de traitement de 2 fois la durée de l’OB35 et de la durée de l’OB
40). On rappelle les différents OB de programmation (voir transparent 50)
Si le temps de cycle est supérieur à la valeur indiquée dans la case temps de surveillance
du cycle dans la configuration, la CPU passe à l’arrêt
concernée. FC1
appelée
plusieurs fois:
(fonction
OB1 paramétrée)
l’appel d’un bloc qui possède des paramètres, il faut les DBg
renseigner en affectant des opérandes globaux.
MR-IUT St-Dié des Vosges-Dpt GEII 212
Exemple de structure d’une partie d’un programme
FC1 FC27
OB1 FC29
FC28
FC6
DB10
Détails de FC27
FC33 DB84
Nous avons vu (transparent 210) que le programmation structurée nécessitait l’utilisation de fonctions ou
de blocs fonctionnels paramétrés.
Cette méthode de programmation permet de créer des fonctions ou des blocs fonctionnels entièrement
paramétrables.
Très utile lorsque la fonction est répétée plusieurs fois dans le même programme
#acquittement
#non_acquitte
#signalisation
FC100
FC100
Interface du bloc
Partie déclarative des variables locales
FC100
Défaut 1
Défaut 2
OB1
Défaut 3
OB1
OB1
X3 H2 C1:=C1+1
Remarque: Les méthodes de programmation de GRAFCET proposées dans les transparents suivants
sont utilisées par des industriels. Néanmoins, il existe d’autres solutions pour arriver au même résultat.
L’automaticien doit savoir s’adapter en fonction des méthodes de programmation imposées par son
entreprise ou demandées par le client.
MR-IUT St-Dié des Vosges-Dpt GEII 219
La méthode de travail consiste dans un premier temps
à écrire les équations d’activation et de désactivation
des étapes en respectant les règles d’évolution du
GRACFET.
X0 C1:=0
On notera l’activation d’une étape par
Xi(1) et la désactivation par Xi(0), i désignant le numéro
de l’étape.
X1 H1 KM1
Activation et désactivation de X0 :
X0(1) = X3 . (3s/X3) . [C1=3]
X0(0)= X1
Activation et désactivation de X2 :
X3 H2 C1:=C1+1 X2(1) = X1 . (S2 + S3)
X2(0)= X3
Activation et désactivation de X3 :
X3(1) = X2 . S4
X3(0)= X0 + X1
Deux solutions:
X1 H1 KM1 Coder l’initialisation dans un OB de démarrage
(OB100), c’est un bloc particulier appelé par la CPU
uniquement sur le premier cycle API.
Ou
X2 H1 KM2 Utiliser un bit système CPU appelé FirstScan
(équivalent OB100), ce bit système doit néanmoins
être déclaré dans les propriétés de la CPU
X3 H2 C1:=C1+1
Modification de l’activation de X0 :
X0(1) = X3 . (3s/X3) . [C1=3] + FirstScan
Activation et désactivation de X0 :
X0 C1:=0 X0(1) = X3 . (3s/X3) . [C1=3] + FirstScan
X0(0)= X1
X1 H1-KM1
X2 H1-KM2
X3 H2-C1:=C1+1
X1 H1 KM1
Mise à 1 de « pass » si :
X3(1) . ft1 . [C1=3] . /pass
X2 H1 KM2
X3 H2 C1:=C1+1
Activation et désactivation de X1 :
X1(1) = (X3 . (3s/X3) . [C1<3]) + (X0 . S0)
X0 C1:=0 X1(0)= X2
X1 H1 KM1
X2 H1 KM2
X3 H2 C1:=C1+1
Activation et désactivation de X2 :
X2(1) = X1 . (S2 + S3)
X0 C1:=0 X2(0)= X3
X1 H1 KM1
X2 H1 KM2
X3 H2 C1:=C1+1
Activation et désactivation de X3 :
X3(1) = X2 . S4
X0 C1:=0 X3(0)= X0 + X1
X1 H1 KM1
X2 H1 KM2
X3 H2 C1:=C1+1
X1 H1 KM1
X2 H1 KM2
X3 H2 C1:=C1+1
X1 H1 KM1
X2 H1 KM2
X3 H2 C1:=C1+1
OB1
FC55
OB1
FC56
Activation et désactivation de X0 :
X0 C1:=0 X0(1) = X3 . (3s/X3) . [C1=3] + FirstScan
X0(0)= X1
X1 H1 KM1
X2 H1 KM2
X3 H2 C1:=C1+1
Activation et désactivation de X1 :
X1(1) = (X3 . (3s/X3) . [C1<3]) + (X0 . S0)
X0 C1:=0 X1(0)= X2
X1 H1 KM1
X2 H1 KM2
X3 H2 C1:=C1+1
Activation et désactivation de X2 :
X2(1) = X1 . (S2 + S3)
X0 C1:=0 X2(0)= X3
X1 H1 KM1
X2 H1 KM2
X3 H2 C1:=C1+1
Activation et désactivation de X3 :
X3(1) = X2 . S4
X0 C1:=0 X3(0)= X0 + X1
X1 H1 KM1
X2 H1 KM2
X3 H2 C1:=C1+1
X1 H1 KM1
X2 H1 KM2
X3 H2 C1:=C1+1
X1 H1 KM1
X2 H1 KM2
X3 H2 C1:=C1+1
X1 H1 KM1
X2 H1 KM2
X3 H2 C1:=C1+1
Remarque: la solution proposée n’est pas la solution, d’autres méthodes peuvent être
utilisées. La meilleure solution est celle qui fonctionne !
X1 H1 KM1
X2 H1 KM2
X3 H2 C1:=C1+1
X1 H1 KM1
X2 H1 KM2
X3 H2 C1:=C1+1
X1 H1 KM1
X2 H1 KM2
X3 H2 C1:=C1+1
X1 H1 KM1
X2 H1 KM2
X3 H2 C1:=C1+1
X1 H1 KM1
X2 H1 KM2
X3 H2 C1:=C1+1
X1 H1 KM1
X2 H1 KM2
X3 H2 C1:=C1+1
X1 H1 KM1
X2 H1 KM2
X3 H2 C1:=C1+1
X1 H1 KM1
X2 H1 KM2
X3 H2 C1:=C1+1
X1 H1 KM1
X2 H1 KM2
X3 H2 C1:=C1+1
X1 H1 KM1
X2 H1 KM2
X3 H2 C1:=C1+1
X1 H1 KM1
X2 H1 KM2
X3 H2 C1:=C1+1
X1 H1 KM1
X2 H1 KM2
X3 H2 C1:=C1+1
X1 H1 KM1
X2 H1 KM2
X1 H1 KM1
X2 H1 KM2
X3 H2 C1:=C1+1
X1 H1 KM1
X2 H1 KM2
X3 H2 C1:=C1+1