Document TP
Document TP
Document TP
YVES DARCQ
LYCEE COUFFIGNAL
2012-2013
TABLE DES MATIERES
IX] EXEMPLE DE PROGRAMMATION D’UN PROFIL SUR SORTIE ANALOGIQUE (STEP7) : ................................. 41
XI] PROCEDURE ENREGISTREMENT ET TRANSFERT DES MESURES LOGGER GL220PC (EXCEL) ..................... 48
1
I] LANGAGES DE PROGRAMMATION DES API
NORME CEI 61131-partie 3
Cette norme des langages de programmation des automates programmables permet de les classer suivant trois
catégories :
Langages littéraux Langages graphiques Structure de programme
Langage IL (liste d’instructions) Langage LD (à contacts) Diagramme SFC (suite de
Langage ST (littéral structuré) Langage FBD (à blocs fonctionnels) séquences)
La structure d’un programme séquentiel utilise les éléments du diagramme fonctionnel de séquence SFC à ne
pas confondre avec la description du comportement d’un système (connu sous le nom de GRAFCET en France,
voir norme CEI 60848)
Préfixe Signification
I Input :Emplacement d’une entrée automate
Q Output : Emplacement d’une sortie automate
M Emplacement de mémento ou mémoire interne
X Taille d’un seul bit
B Taille d’un byte ou octet
W Taille d’un word : mot de 16 bits
D Taille d’un double Word : mot double de 32 bits
L Taille d’un mot long : mot de 64 bits
Exemples :
%IW125 : Emplacement du mot d’entrée 125
%QB17 : Emplacement de l’octet de sortie 17
%MD48 : Emplacement du mot mémoire double 48
1-3) Unités d’organisation de programmes :(structuration d’un programme grâce à 3 types de modules)
- Fonction : Module ayant plusieurs entrées possibles, une seule variable de sortie et pas de mémoire
interne
- Bloc fonctionnel:Module ayant plusieurs variables d’entrée et de sortie possibles et une mémoire interne
- Programme : Module construit à l’aide de fonctions et de blocs fonctionnels
L’organisation interne d’un programme peut faire intervenir un diagramme fonctionnel de séquence SFC.
2
Inventaire des fonctions standards:
Description des principales fonctions communes à tous les langages de programmation d’API :
Exemple cette fonction permet la conversion d’une variable d’entrée du type réel en une variable de
sortie du type entier
REAL INT
REAL TO INT
- Fonctions numériques
Exemple : cette fonction permet de calculer la racine carrée d’une variable d’entrée
REAL REAL
SQRT
Exemple : cette fonction permet le décalage à gauche de N bits d’une variable d’entrée et le
remplissage de zéros à droite
Cordon de bits Cordon de bits
UINT
IN SHL OUT
N
BIT
IN1 AND OUT
IN2
Exemple : cette fonction permet de déterminer la valeur maximale entre trois variables d’entrée
INT INT
IN1 MAX OUT
INT
IN2
INT
IN3
Exemple : cette fonction permet de sélectionner une des deux variables d’entrée suivant la variable G
BOOL INT
G SEL OUT
INT
IN1
INT
IN2
Exemple : cette fonction réalise la comparaison de supériorité entre deux variables d’entrée (IN1>IN2)
REAL BOOL
REAL
IN1 GT OUT
IN2
3
2] LANGAGES LITTERAUX
2-1) Langage IL (Instruction List ou langage à liste d’instructions)
Comme son nom l’indique, le programme est constitué d’une suite d’instructions respectant le format suivant :
AR type NF
(*** Routine de Simulation d'un procédé de 1er ordre pour Sortie PID ***)
(* Récupération de la Période de la tâche MAST nécessaire à la formule *)
IF Trs THEN
Sortie := Tri;
ELSE
Te:=INT_TO_REAL(%SW0)/1000.0;
Sortie:=(Filtrage/(Filtrage+Te))*Sortie+(Gain*Te)/(Filtrage+Te)*Entree;
END_IF;
Avec :
%SW0 : Période de scrutation de la tâche maître. Permet de modifier la période de la tâche maître définie en configuration, par le
programme utilisateur ou par le terminal. La période est exprimée en ms (1..255ms). %SW0=0 en fonctionnement cyclique.
Soit la simulation d’un retard pur sous forme d’un bloc fonctionnel DFB « Retard » :
Nb := REAL_TO_INT(1000.0*Retard/INT_TO_REAL(%SW0));
IF (Nb>=999) THEN
Nb := 999;
END_IF;
IF Trs THEN
Memoire := Tri;
Sortie := Tri;
Pos := 0;
ELSE
Sortie := Memoire[Pos];
Memoire[Pos]:= Entree;
Pos := Pos +1;
IF (Pos>= Nb) THEN
Pos := 0;
END_IF;
END_IF;
5
3] LANGAGES GRAPHIQUES
3-1) Langage LD (Ladder Diagram) ou langage à contacts)
Ce langage est constitué de réseaux de contacts et de bobines entre deux barres d’alimentation.
Ce langage est proche des schémas électriques.
En reprenant l’exemple de la page précédente et sur API Siemens en langage à contacts STEP7 :
Bloc fonctionnel Impulsion Bloc fonctionnel Bloc fonctionnel Temporisateur Bloc fonctionnel Compteur
Temporisateur à au déclenchement
l’enclenchement
TP BOOL
TON BOOL TOF CTU BOOL
BOOL BOOL BOOL BOOL BOOL
IN Q IN Q IN Q CU Q
BOOL
PT ET TIME TIME PT ET TIME PT ET TIME
R
TIME TIME INT INT
PV CV
IN IN IN IN
PV=3 R=1
Q PT PT Q PT PT Q PT PT Q
BOOL Arrêt
Commande
BOOL
Marche EV BOOL
Électrovanne
BOOL
Seuil haut
- Exemple 2 : Alarmes niveaux
6
d’une cuve
EV
SEUILS M REAL
BOOL EN
BOOL
MD
BOOL
ML
INT
Ma
BOOL
MH
Valid maxi
Bloc fonctionnel FB2 en adresses API Bloc fonctionnel FB2 « Mise à l’échelle » en mnémoniques
Les entrées« Valider capteur 1» et « Forçage réglage capteur » sont des variables
associées à un 2° pupitre
(Les entrées « Forçage validation mini » et « Forçage validation maxi » sont des
8
4] STRUCTURATION D’UN PROGRAMME:
Etape
initiale
condition
transition de
transition
Nom
Déclaration d'actions
d'étape
cxx
cxx
Le programme API traduisant cette représentation peut utiliser l’un des quatre langages de programmation.
S5 ACTION_4
%QX17 := %IX1 & %MX3 & S8.X ;
MEM_1 (S1 := (C<D)) ;
%MX10 := MEM1_Q ;
9
Exemple de programme écrit en SFC : ici le logiciel STEP7-GRAPH de Siemens
Schéma TI de l’installation :
Table de mnémoniques :
10
Grafcet de l’application : Grafcet en langage SFC de STEP7 :
1 POMPE : = 1
2 Comptage impulsions
3 POMPE : = 0
Acquittement « Mesure
effectuée »
11
II] Premiers pas dans la programmation d’un automate Siemens en S7
Sommaire
1-ADRESSAGE DES VARIABLES SIEMENS: ........................................................................................................ 12
5- PROGRAMMER UN RESEAU DANS UNE FONCTION FC1 ET L’APPELER DANS OB1 : ..................................... 16
Principe de l’adressage des mots internes : (attention aux chevauchements des mots)
MWi+1 MWi
12
2- Ouverture et enregistrement d’un projet existant :
13
La nouvelle fenêtre qui s’ouvre va nous permettre
de configurer l’automate. Si la liste des composants
(sur la droite) n’apparaît pas, cliquer sur l’icône « catalogue »
(ou menu « Affichage », puis cocher « catalogue ») :
La configuration matérielle est établie sur un « Profil support » issu d’un « Rack 300 »:
Remarque importante : bien vérifier que les références indiquées correspondent bien à celles en bas de
chacun des modules.
14
- Le module d’entrées analogiques ou AI
(analog input) occupe l’emplacement 6. Ce
module comporte 2 entrées de 12 bits
configurables, ici en 4-20 mA.
Les adresses sont PIW 288 et PIW290
Un double clic sur l’emplacement 6 permet
de vérifier leur configuration :
15
5- Programmer un réseau dans une fonction FC1 et l’appeler dans OB1 :
Cliquer dans la fenêtre de droite de « Programme S7 », puis cliquer sur « Insérer un nouvel objet », choisir
« Fonction » en ladder ou langage contact.
Double-cliquer sur « FC1 » : créer le réseau 1 correspondant à l’équation logique demandée dans la fenêtre qui vient
de s’ouvrir
Sur les contacts, on peut indiquer l’adresse ou insérer un mnémonique et compléter la zone commentaire de ce
réseau, afin d’en faciliter la compréhension.
Fermer et enregistrer « FC1 ».
OB1 est un bloc d’organisation, il permet d’autoriser le fonctionnement des autres blocs.
16
Dans la fenêtre qui s’ouvre, faire apparaître le catalogue, développer « Blocs FC » et double-cliquer sur
« FC1 » afin de l’appeler inconditionnellement.
17
7- Transférer et tester le fonctionnement du programme :
Une fois le programme sauvegardé, il est nécessaire
de le transférer à la CPU par l’intermédiaire du câble PG/PC.
Sélectionner l’ensemble des blocs à transférer, ici FC1 et OB1,
par la suite ne transférer que les blocs modifiés. Puis confirmer
le transfert de tous les blocs sur la fenêtre suivante.
Vérifier la position de la clef de l’API
Double cliquer sur le bloc FC1 puis sélectionner l’icône des « lunettes » afin de visualiser l’état
dynamique du bloc.
Après activation de l’entrée I0.0 à l’aide d’un câble, la sortie Q4.0 est également activée :
18
8- Forçage des variables :
Afin de tester un réseau, il est possible de forcer l’état de l’entrée I0.0, indiquer 1 dans la valeur de
forçage, celle ci sera traduite par « true ». Confirmer le mode de déclenchement du forçage à chaque
cycle
19
9- Représentation d’un grafcet:
La programmation d’une séquence séquentiel à partir d’un grafcet de commande est possible en faisant
appel à un bloc fonctionnel FB associé à un bloc d’instance DB.
Dans l’exemple suivant nous utilisons le bloc FB1 (appelé « alarme ») associé à DB1.
On réalise d’un double clic sur le bloc FB1, afin de programmer le grafcet :
20
Exemples de programmation détaillée des actions :
Type d’action Représentation
Action
« normale »
Action «retardée
de 15s »
Action « limitée
de 10s »
Action
« conditionnelle
sur front
montant »
Action
« conditionnelle
sur front
descendant »
21
Représentation détaillée d’une étape :
La condition étant le mémento de cadence M100.5
Celui-ci doit être configuré au préalable dans la configuration matérielle (HW Config) de la
CPU :
Finalement le bloc FB1 associé à DB1 sera appelé inconditionnellement dans le réseau 2 de OB1
22
10- Variables associées aux étapes du grafcet:
Grafcet maître
Grafcet esclave
23
11- Mise à l’échelle d’une entrée analogique:
I PIW288 MD40
Hauteur
0 – 1000 cm 4 - 20mA ….points 0 – 100 .cm
(Entiers) (Réels)
Etendue d’échelle
maxi de la
conversion (réel)
Adresse du mot
Etendue d’échelle contenant le niveau
mini de la en cm
conversion (réel)
Remarque : s’assurer que le bit M0.0 est toujours à 0, pour cela réserver
l’octet MB0 pour les mémentos nécessaires aux entrées analogiques
Type d’entrée
0 :unipolaire
1 :biboplaire
24
Programme de l’alarme de niveau :
Adresse du bit de la
sortie TOR « HH »
On désire réaliser une régulation discontinue de niveau autour d’un point de consigne de 75% et suivant le tableau
de commande de la vanne de type NF fourni ci-dessous.
La sortie analogique commandant le convertisseur I/P de la vanne est du type 4-20 mA avec une conversion
numérique sur 10 bits.
LTN en % YVN en %
YV 0<LTN<50 100
50LTN<60 50
LTN YVN
LT 60LTN<70 20
70LTN75 10
LTN>75 0
4-20 mA
API
….points 4 – 20 mA
0 – 100 % 0,2 à 1 bars
(Réels) (Entiers)
25
Configuration de la sortie analogique d’adresse PQW304:
Adresse du mot
Adresse du mot d’erreur de conversion
YVN en % (réel) éventuelle
Etendue d’échelle
maxi de YVN
(réel) Adresse du mot de
sortie YV (entier)
Etendue d’échelle
mini de YVN (réel) Type de sortie
0 :unipolaire
1 :biboplaire
26
III] Utilisation des entrées et sorties analogiques API
Ce document précise la mise en œuvre des entrées et sorties analogiques d’un API entrant dans la
composition des chaines d’acquisition de données et des chaines d’action. Ces chaînes forment « les
liens » entre un procédé instrumenté et son système de contrôle commande.
Procédé instrumenté ou
partie opérative Chaîne d’action Système de contrôle
commande (API) ou partie
bas niveau commande
Chaîne d’acquisition
de données
bas niveau
MAN_ON
Sonde du capteur I)
Transmetteur du Module d’entrée CPU de l’API
continu capteur continu analogique
27
I] Entrées analogiques API
Schéma bloc type d’une chaine d’acquisition pour une entrée courant unipolaire 4 à 20 mA et une conversion
numérique sur 12 bits (sans bit de signe).
Exemple : compléter ce schéma pour un capteur de pression d’étendue 0-1bar, sortie 4-20 mA et
représentation en mbar sur API.
Grandeur
physique I IW0 MD0
mesurée
…unités SI ….. .mA ….points ..unités choisies
(Entiers) (Réels)
Du convertisseur analogique- numérique IW0 = f (I) Fonction de mise à l’échelle (scale) MD0 = f (IW0)
IW0 MD0
point mbar
s
I IW0
mA point
s
28
Exercice d’application : CAHIER DES CHARGES D’UNE ALARME
Surveillance d’un niveau haut sur une cuve de dimension 0 à 10,0 m.
Alarme niveau HH enclenchée si niveau de 850 cm dépassé et effacée si niveau haut inférieur à 830 cm.
Caractéristiques du capteur de niveau : sortie 4-20 mA, étendue d’échelle de 0 à 1000 cm.
Caractéristiques de l entrée analogique API : entrée 4-20 mA, conversion numérique sur 10 bits.
29
II] Sorties analogiques API
Schéma bloc type d’une chaîne d’action pour une sortie courant unipolaire 4 à 20 mA et une conversion
numérique sur 12 bits (sans bit de signe).
Exemple : compléter ce schéma pour une sortie 4-20 mA utilisée pour un convertisseur I/P d’une vanne
réglante d’étendue 0,2 – 1 bar, représentation de la commande en % sur l’API.
Grandeur
physique
MD0 QW0 I contrôlée
QW0 I
QW0
MD0
30
Exercice d’application : CAHIER DES CHARGES D’UNE REGULATION DISCONTINUE
On désire réaliser une régulation discontinue de niveau autour d’un point de consigne de 75% et suivant le tableau
de commande de la vanne de type NF fourni ci-dessous.
La sortie analogique commandant le convertisseur I/P de la vanne est du type 4-20 mA avec une conversion
numérique sur 10 bits.
LTN en % YVN en %
YV 0<LTN<50 100
LTN YVN 50LTN<60 50
LT 60LTN<70 20
70LTN75 10
LTN>75 0
4-20 mA
API
….points …..mA
.. .% 0,2 à 1 bars
(Réels) (Entiers)
LTN
%
31
IV] PLANNING EXERCICES DE REVISION DE TP D’AUTOMATISME TS2CIRA
32
V] Exercices de révision TP d’automatisme TS2CIRA
Réaliser les exercices suivants par roulement sur les six postes de programmation
disponible (3 API Schneider et 3 API Siemens)
33
NOM :
Prénom :
VI] TP TEST AUTO N°1 Date :
Soit l’installation suivante à automatiser : Durée :
Note :
LH
EV MA
N
H1
LL H2
CUVE
FT
P
Caractéristiques de l’instrumentation :
- Les capteurs de niveaux sont actifs (=1) si le niveau N du liquide est supérieur au seuil du
capteur.
- Le capteur de débit fournit une impulsion pour chaque litre de liquide qui le traverse sur sa sortie
TOR.
- L’électrovanne EV contrôlant le débit d’entrée est du type FMS.
Fonctionnement attendu :
- Ouverture et mémorisation de EV si le niveau bas est découvert.
- Fermeture de EV si niveau haut est recouvert.
- La pompe fonctionne pour deux conditions possibles:
- Soit appui permanent sur le BP MA à la condition que le niveau bas soit recouvert
- Soit niveau haut recouvert
- Les voyants d’alarme :
- H1 est allumé si le niveau haut est recouvert pendant plus de 10s
- H2 est allumé si le niveau bas est découvert pendant plus de 15 s
- Comptage du volume de liquide pompé (en litres) dans un mot interne de l’API
Travail demandé :
Questions Note / Barème
1) Ouvrir le fichier TP TEST LADDER et enregistrer le sous votre nom /1
dans le répertoire de votre groupe
2) Préciser le nombre d’entrées TOR et de sorties TOR sur cet API : /1
3) Identifier les variables d’entrée et de sortie du point de vue de l’API. Faire un /2
tableau à deux colonnes:
34
VII] TP TEST AUTO N°2
MATERIEL :
INSTALLATION SIMULEE
EV
(NO)
….. PT
PT
orange HA ….
OB1
FC105 « SCALE »
Programme en ladder -1000 à +1000mbars Entrée analogique 4-20 mA
PT : PIW…..
PTN : MD10
Sorties TOR
HA : Q….
EV : Q…..
35
Mise en œuvre de l’installation :
- Réaliser le programme avec des commentaires et en ladder correspondant au cahier des charges ci-
dessus.
- Représenter l’évolution de la variable HA en fonction du courant d’entrée analogique (sens
croisant et sens décroissant) graduer les axes.
36
NOM :
Prénom :
Date :
Durée :
Note :
TEST D’EVALUATION TP N°2 AUTOMATISME
SEQUENCE D’ALARME
- Programmation de la table de /2
variable « PRESSION »
- Tableau de mesures /3
- Evolution de HA en fonction /2
du courant
- Programme EV /2
37
VIII] TP TEST TP AUTO N°3
MATERIEL :
API SIEMENS S7-300 disposant d’un coupleur d’entrée analogique SM 331
Programme partiel appelé : « regultor » comportant la structure matérielle de l’API , à
enregistrer sous votre nom et dans le répertoire TS1CIRA groupe A ou B
Calibrateur de courant simulant le capteur de pression d’étendue – 0,5 bar à + 0,5 bar et
de sortie 4-20mA
Ordinateur avec les logiciels STEP7 V5.1
INSTALLATION SIMULEE
EV1
(NO)
….. PT Mise à l’air
PT
…. EV2
(NF)
Air pressurisée
vert H ….
OB1
FC105 « SCALE »
Entrée analogique 4-20 mA
Programme en ladder -500 à +500mbars
PT : PIW…..
PTN : MD10
Sorties TOR
H : Q….
EV1 : Q…..
EV2: Q…
38
Mise en œuvre de l’installation :
- Réaliser le programme avec commentaires et en ladder correspondant au cahier des charges ci-
dessus.
- Représenter l’évolution de la variable H en fonction du courant d’entrée analogique (sens
croisant et sens décroissant) graduer les axes.
39
NOM :
Prénom :
Date :
Durée :
Note :
TEST D’EVALUATION TP N°3 AUTOMATISME
REGULATION TOR
Mise en œuvre de l’installation :
- Programmation de la table de /2
variable « PRESSION »
- Tableau de mesures /3
- Evolution de H en fonction /2
du courant
- Mise en service et simulation /3
avec explications
40
IX] EXEMPLE DE PROGRAMMATION D’UN PROFIL SUR SORTIE
ANALOGIQUE (STEP7) :
(montée de 1%toutes les secondes jusqu’à 50% puis après décrémentation de 2% toutes les secondes)
41
X] Diagnostic vanne Samson avec positionneur PA
Objectif : Utiliser les possibilités de diagnostic sur une vanne implantée sur un réseau de terrain
Profibus PA (comparaison entre la consigne et la position réelle de la vanne) et activer une alarme dans
le cas où l’écart entre la consigne et la position de la vanne est supérieur à 5%. dans vue d’un IHM .
Contexte : schéma TI, l’étude portera sur la vanne LCV2
Profibus PA vient de la
partie commande
PQB 261-265
PIB 294-303
Adr PA
LCV2 9
( NF) LCV1
(NO)
Cuve 2 Cuve 1
FIT1
Qe
Q6.1 Q6.0
PIB 256-260
PIB 261-265
*
LIT2 Adr PA
LIT3 Adr PA 8
5
Qs
Pompe 2
Pompe 1
Configuration matériel sur Simatic manager (ouvrir le projet « diagnostic vanne LCV2 »)
Principe du positionneur
A comprendre et être
capable de l’expliquer !
43
Commande vanne et retour lecture position
Rappel du format dit « à virgule flottante sur 2 bits» et ce sur 5 octets (exemple pour la consigne de la vanne LCV2 de
MB261 à MB265):
MB265 MB264 MB263 MB262 MB261
Octet 4 Octet 3 Octet 2 Octet 1 Octet0
Etat Signe Exposant Mantisse
Valeur de la mesure en virgule flottante
L’octet d’état permet de connaître un éventuel défaut du capteur (si la mesure est « OK », sa valeur est de 80(16) )
Formule = (-1) signe x 2(exposant –127) x (1 + mantisse)
44
CHECKBACK : état de l’appareil
Raccordement bornier :
A compléter suivant le
câblage réalisé sur le
positionneur de vanne
LCV2!
45
Programme API Simatic manager STEP7 pour le contrôle de la vanne LCV2 extrait de la fonction FC1
A comprendre et être
capable de l’expliquer !
Variable consigne
ouverture de la vanne LCV2
46
Variable retour position
vanne LCV2
Travail demandé après avoir renommé votre projet et enregistrer dans D:\CIRA\TS2)
- Expliquer pour une valeur de consigne pour LCV2 =50% le résultat en virgule flottante, à vérifier sur la
table de variables « capteurs actionneurs ».
- Vérifier les différentes valeurs de la variable « POS_D » pour les différentes positions de la vanne LCV2
- Ajouter un voyant d’alarme sur la vue « diagnostic vannes » si l’écart entre la consigne et la position de la
vanne LCV2 excède 5% de la plage de réglage.
47
XI] Procédure enregistrement et transfert des mesures LOGGER GL220PC
(Excel)
Connecter le logger au PC via la câble USB et vérifier sa connexion via le logiciel Graftec :
GL220_820APS
Vérifier la configuration des 5 voies de mesure suivant l’écran ci-dessous dans l’onglet
paramètres acquisition des données:
(shunt de 250 ohms sur chacune des voies configurées en 1-5V avec une étendue d’échelle de
4-20 mA)
48
Modifier éventuellement l’intervalle d’échantillonnage, ici 1 seconde :
49
Après la fin de votre enregistrement récupérer votre fichier de données au format CSV :
50
Ouvrir Excel et rechercher le fichier .csv des données dans le répertoire correspondant:
51
suivant puis cocher le séparateur : virgule « , »
Suivant puis préciser les paramètres avancés : séparateur de décimale utilisé, ici le « . »
52
Tracer le graphique correspondant en format Nuages de points en courbe lissée :
Mettre en forme le graphique afin d’obtenir un format précisant les grandeurs et les unités utilisées
ainsi que le titre du graphique :
25
20
15
I (mA)
10
0
0 20 40 60 80 100 120
t (s)
53
XII] ADRESSAGE DES MOTS INTERNES D’UN API
SCHNEIDER
- Bits internes %M0 à %M255 indépendants de la zone des mots internes définis ci-
dessous
Principe de l’adressage des mots internes : (attention aux chevauchements des mots)
SIEMENS
- Bits internes M0.0 à M255.7 dépendants des mots suivants
- Octets internes : ensemble de 8 bits MBi
- Mots internes : ensemble de 16 bits MWi
- Mots doubles : ensemble de 32 bits MDi
Principe de l’adressage des mots internes : (attention aux chevauchements des mots)
54