Eurotherm PC3000 Manuel du propriétaire

Ajouter à Mes manuels
115 Des pages
Eurotherm PC3000 Manuel du propriétaire | Fixfr
PC 3000
ngages
HA 174 517 - Indice 1
=
pagar
lana 5 Га
50150
mm EE EE
gaOooamanumn
oogiccunc
Дате
3GAGOBOO00OO0OOOE
oooooooooon
OOo0001117010AANO0O00OOOOOOOEIEE
15000
ЗЕ
1 a an
E 11"
EEC OONODA
ooooooo
a ag
dogggo
Ee
ahs
ns ia
TOO AN E00E0oE00
oammoooooooo
ВОЛ О 20 Е ОО ООС
ECONO
FEECEE CREE EEC OOOOoNon
== = ee!
al
al
ag
NOISE EE AAA OnE a
opm pola
=
Is = ads
ada Eales mona Ea ad Нан.
ICCONGEOGEGUEEES 0G S00 dn das Tf] OOOO OE OE
0000000 0000000000000 00001 00000000!
10000000000 000000 0800000000000IOO0000O
ONO OOOO ENONOO OOO NONAA ANCONS OO AE
TR AECCCCCECOOCONAOANA YAA AOS C=
SE2 AA EEE DELL ca
OUIFE!
“MEE
=
GGSGGAG Gal
[ее в [ее] г | ее ре |] = |
OO0OOOROGOREEEES ala E
2oo0000000000020000227-0A0CC0000000027010
O000000000000000080000@NLCOGCO0000000010C00
DO000 0000000000000 0000000000008
RE A I EAC oan East
ooo A YA ONE
== co
Eo deu
06000000 do Tastes He Ir I] aa
O0000000008061 02067000000 008008
O00000000 0007006 OOO JE
ВОО
OOOO: coooooo ooooonnand-c
ECcecccesgozge
Ea=:eeecCeP=C00e00 pEgnnns
зв A
El Bac
0008009901
Eon:
Ema noc
oos00-000
Ooogaeunuon
OOOO
ONG
NC Em is E Ps E Es
106000660
106060066600 IQ
Ее |= |= [= [ее] Ди в а ре
100Qooooooooooasl
Chapitre 1
INTRODUCTION
Edition 1
Sommaire
PRESENTATION .. nanuananpacanranieenmermener va rene ener eeceanao 1-7
GUIDES UTILISATEUR PC3000.. a nnanaoann non onnanaanna 171
Volume 1 - Programmation PC3000 . E
Volume 2 - Langage PC3000 .............e.enevmcconninanerneroo 11
Volume 3 - Applications PC3000 ...........emmeneneneneroreves 12
BASE DU PC3000... нее. …. 1-2
Manuel du système d' d'exploitation temps réel PC3000 1-2
Manuel d'instalation PC3000 ..........ee 2er 1-2
Manuel des fonctions PC3000.........eee=eeemeemene 1-2
Manuel des blocs fonctions PC3000 .......... eva 1-3
INFORMATIONS RELATIVES A CE GUIDE .................... 13
TERMINOLOGIE ET ABREVIATIONS are 1-4
Guide utilisateur PC3000 Sommaire 1-1
Introduction
PRESENTATION
Le PC3000 est la tête de série d'une nouvelle génération de régulateurs
programmables qui peuvent servir à traiter à la fois les processus de
production et les processus prototypes. Pour permettre le développement
de programmes de regulation pour le PC3000, Eurotherm Automation offre
deux stations de programmation évoluées : la station de programmation
DOS qui est décrite de manière détaillée dans le présent quide utilisateur
et la station de programmation Microcell qui autorise une programmation
graphique ainsi que des écrans de simulation et une gestion des recettes
intégrés.
Les deux stations de programmation offrent un ensemble complet de
fonctions accessibles par menus et par écrans conviviaux.
Elles fournissent au concepteur une station de travail congue spécialement
pour faciliter le développement de programmes de régulation et ce pour
toutes les phases, de la conception initiale à l'exploitation en ligne en
passant par le développement et la mise en service. Chaque système offre
aussi des informations d'aide intégrées permettant l'accès aux descriptions
de nombreuses fonctions et de nombreux éditeurs directement depuis
l'écran.
Afin de vous permettre d'exploiter à fond les multiples fonctions du
PC3000, vous trouverez des informations supplémentaires dans une série
de quides utilisateur et de manuels de référence.
GUIDES UTILISATEUR PC3000
Pour vous aider à utiliser la station de programmation PC3000, les guides
utilisateur sont présentés sous la forme de quatre volumes. Chacun d'entre
eux contient Un ou plusieurs manuels et est structuré de manière à
répondre à des questions élémentaires bien précises :
Volume 1 - Programmation de PC3000
“Comment utiliser je PC3000 ?"
Le manuel 1 indique la manière d'utiliser toutes les fonctions de la station
de programmation pour développer et mettre en route les programmes de
régulation.
Guide utilisateur PC3006 1-1
Introduction
Volume 2 - Langages PC3000
"Quels sont les utilitaires offerts par le PC3000 7"
Ce guide utilisateur présente les langages de programmation et les
concepts utilisés par le PC3000, || donne également quelques exemples
simples de langages.
Volume 3 - Applications PC3000
"Pourquoi dispose-t-on de certains utilitaires et comment les utiliss-t-on ?"
Ce volume contient un certain nombre de présentations portant sur des
sujets précis, en particulier :
Présentation des communications PC3000
- présente les utilitaires et les blocs fonctions spéciaux qui permettent au
PC3000 d'échanger des informations de régulation et des données en
temps réel avec d'autres PC3000 et d'autres matériels de marque comme
des régulateurs programmables, les SCADA et les systèmes de
supervision.
Présentation de la régulation PC3000
- décrit une partie des méthodes et techniques standard utilisées pour la
régulation de process à l'aide des blocs fonctions PC3000 intégrés et
programmables par l'utilisateur, en particulier avec les PID.
BASE DU PC3000
Outre les guides utilisateur, if existe un certain nombre de manuels de
reference qui donnent des informations détaillées sur une large gamme de
sujets. Ces manuels ne sont pas destinés à être lus dans leur intégralité
mais sont structurés de manière à permettre de localiser rapidement des
informations bien précises.
Les manuels de référence PC3000 comprennent :
Manuel du système d'exploitation temps réel PC3000 :
- donne une description détaillée du système d'exploitation temps réel
PC3000 et des sujets qui y sont liés commé les multi-tâches, les
performances, l'implantation mémoire et la détection des défauts.
1-2 Guide utilisateur PC3900
Introduction
Manuel d'Installation PC3000
- fournit des informations détaillées sur l'ensemble des modules matériels
PC3000, en particulier des détails sur l'étalonnage, le câblage et la
configuration physique.
Manuel des fonctions PC3000
- décrit toutes les fonctions qui peuvent être appelées dans le langage
Texte structuré (ST).
Manuel des blocs fonctions PC3000
- décrit les multiples biocs fonctions disponibles incorporables dans votre
programme de régulation pour la régulation PID, les rampes, les
compteurs, les filtres, les timers, etc.
N.B. : en raison de notre politique d'amélioration permanente
de nos produits et de l'information à leur sujet, la liste et la
description des manuels concernant votre système peuvent
différer légèrement des indications fournies.
INFORMATIONS RELATIVES À CE GUIDE
Nous vous invitons à lire ce quide avant de développer un programme de
régulation PC3000. Il est possible d'optimiser les performances du PC3000
et de garantir l'intégrité du programme en respectant queiques principes
simples. Ce guide est destiné à compléter le Volume À du Guide utilisateur
du PC3000 {Programmation}. Vous pouvez avoir besoin de vous reporter
aux deux guides utilisateur lorsque vous développerez des programmes
pour la premiére fois.
Le chapitre 2 fournit une présentation des langages et des concepts du
PC3000 et est utile lorsqu'on souhaite comprendre rapidement la manière
dont on peut programmer le PC3000 pour résoudre les problèmes de
régulation. Un exemple de programme simple est fourni et décrit une
bonne partie de ces concepts.
Le chapitre 3 donne une description détaillée du langage Texte structuré
avec des exemples.
Le chapitre 4 décrit la manière d'utiliser Les GRAFCET PC3000 pour
programmer tous les besoins de séquencement des systèmes de
régulation simples et des systèmes de régulation complexes.
Le chapitre 5 est particulièrement important. Nous vous conseillons de lire
les parties suivantes de ce chapitre : Considérations sur ia conception des
programmes et Phases de développement des programmes avant de vous
lancer dans un projet de programmation important.
Guide utilisataur PC3000 1-3
Introduction
TERMINOLOGIE ET ABREVIATIONS
Les abréviations suivantes sont employées dans ce guide utilisateur :
Actions Instructions en Texte structuré, y compris les affectations
qui sont évaluées lorsqu'un pas donné est actif.
Affectation Instruction en Texte structuré qui produit une valeur écrite
dans un paramètre de bloc fonction spécifié.
Expression boolénne
Expression en Texte structuré qui produit un résultat "vrai"
ou “faux”,
GRAFCET Un GRAFCET est un ensemble de pas et de transitions
reliés graphiquement {cablés) qui forment une ou plusieurs
séquence(s). ll posséde toujours un pas a début unique.
Expression Element en Texte structuré qui produit une valeur
possédant un type de données spécifique.
Déclaration de bioc
fonction
Bloc fonction qui à été créé pour être d'un type particulier et
qui possède un nom unique.
Déclaration Opération de création de blocs fonctions d'un type donné.
PID Algorithme préportionnel, intégral et dérivé.
SFC Désigne le langage et la construction des GRAFCET IEC.
ST Désigne le langage évolué Texte structuré IEC
instruction Une instruction en langage Texte structuré est un
ensemble de mots-clés, d'opérateurs et de fonctions de
langage qui effectue une opération spécifique et se termine
par un point virgule.
Pas Pas dans le GRAFCET qui définit un état ou une phase
d'ur: process particulier et qui est représenté par un
encadré rectangulaire.
Transition Ligne horizontale courte qui représente le point où se
produit un changement (c'est-à-dire une transition} d'un ou
plusieurs pas a un ou plusieurs autres pas. Représente un
point de decision A un certain stade du process. Si la
condition est remplie, la régulation passe du(des) pas
actuel(s) au{x) pas survant(s).
Condition de transition
Condition qui, lorsqu'elle est "vraie”, provoque là transition
entre les pas actifs. Dans le cas de l'utilisation de la Station
de programmation PC3000, est définie comme une
expression booléenne en Texte structuré. Lorsque la
condition de transition est remplie, le traitement passe de
l'ensemble de pas actuel à un nouvel ensemble de pas.
Guide utilisateur PC3000
Concepts de programmation
Chapitre 2
CONCEPTS DE PROGRAMMATION
Edition 1
Sommaire
PRESENTATION ................_.ccecaceesnenaoancceuareenenneacnarinacare OST
Eléments de base ............e....eessemsnneer ene rec anecena recaen E
Norme IEC 1131-3 PLG ...........———eemenen enema nene ene 272
Fonctionnement déterministe ..............-.c.mn maana. 20
BLOCS FONCTIONS .................... meme nea enana cena 2-5
Exemple de bloc fonction ....... e mm e... 2-7
Blocs fonctions d'E/S nene. e. 2-8
PRINCIPES D'EXECUTION DES PROGRAMMES... … 2-9
GRAFCET .. cenas enaneanarnacennerenaa ne anne rmeNe 2 Q
PRESENTATION DU LOGICIEL .. preeraneenaa encerrar 2-11
EXEMPLE DE PROGRAMME... ‚2-12
Régulation continue es eee eee eee ‚2-12
SÉéQuencement ..........—————— een enero 2714
Logique numérique … зан ...2-15
CONSIDERATIONS SUR LES PERFORMANCES DU
CABLAGE PAR SOFT .. enema: .2-17
|
o
Sa
2 E
Rs
ao X
ee
ao ©
Oo 2
or
Guide utilisateur PC3000 Sommaire 2-1
Concepts de programmation
PRESENTATION
Les concepts suivants de programmation du PC3000 sont décrits dans ce
chapitre.
1. Conception des langages de programmation PC3000 et manière dont
ils sont réalisés à partir de normes internationales.
2. Manmiére dont des programmes de pilotage complexes peuvent être
réalisés par interconnexion d'instruments logiciels” ou de biocs fonctions
au moyen du logiciel.
3. But des blocs fonctions PC3000 et manière dont ils sont décrits.
4. Avantages présentés par l'utilisation du système multi-tâches du
PC3000 qui permet a différentes parties du programme de pilotage de
tourner & des fréquences de scrutation différentes,
5. Possibilités d'utiliser ies blocs fonctions et les GRAFCET (SFC) pour
qu'its fonctionnent ensemble lors de la création d'un programme de
régulation.
Eléments de base
Le PC3000 est un régulateur programmable de nouvelle génération, facile
a configurer, qui convient à l'automatisation d'une vaste gamme de
process industriels. Etant donné que le PC3000 est facile à configurer car
| possède à la fois un matériel et un logiciel modulaires, À peut être
appliqué aux process de production prototypes et principaux.
Les langages de programmation du PC3000 ont été conçus de manière à
répondre à la norme IEG 1131-3 applicable aux régulateurs
programmabies. Ces langages conviennent pour programmer la large
gamme d'applications PC3000. Ils vont de la régulation de fours pour le
traitement thermique, la fabrication des câbles, le traitement des eaux et la
fermentation jusqu'à des applications évoluées de "haute technologie”
comme les presses de formage des super-plastiques pour les aubes de
turbines d'avions et les systèmes épitaxiaux à rayons moléculaires. En
outre, ces langages conviennent parfaitement pour créer des programmes
de régulation avec des petites stations de programmation de type PC.
Un système type de régulation de process de production doit traiter toute
une gamme de problèmes de pliotage différents qui comprennent :
Des verrouillages qui contrôlent les conditions dans lesquelles certaines
activités ou certains process peuvent fonctionner. Par exemple, une
soupape à vapeur ne peut pas être activée si des capteurs n'indiquent pas
que la pression de vapeur est supérieure а оп minimum donné et que le
process nécessite de la vapeur.
Des alarmes qui sont déclenchées lorsque certaines conditions limites
sont dépassées. Par exemple, un signal d'alarme est déclenché lorsque la
température d'une cuve de process est supérieure a la température
normale de service,
=
Le
2 E
QE
Ow
= =
5°
OS
e
Guide utilisateur PC3000 2-1
Concepts de programmation
Une régulation en boucle fermée garantissant que les process tournent
dans les conditions optimales. Par exemple, les boucles de PID peuvent
servir à garantir le maintien de la température d'un four dans une bande
acceptable, c'est-à-dire dans des limites haute et basse données au cours
du chargement du four.
Un séquencement pour faciliter le démarrage et la fin des phases
déterminantes d'un process dans des conditions bien définies, Par
exemple, il faut retirer un lingot d'un four de traitement thermique lorsque le
four a atteint ou dépassé une température fixée pendant une durée
donnée.
Une régulation en boucle longue ol les conditions à long terme sont
suivies et des mesures sont prisés pour optimiser le rendement du
process. Par exemple, le rendement d'une pompe peut se dégrader
progressivement à cause de l'usure de la roue, ce qui peut être détecté par
la surveillance à long terme de la consommation moyenne de courant de la
pompe avec des techniques de contrôle statistique. Le débit de la pompe
peut être ansuite ajusté pour compenser l'usure.
Les langages adoptés pour le PC3000 vous permettent de décrire la
totalité de ces aspects du programme de régulation d'une manière
homogène et naturelle. Ces langages sont faciles à lire et à retenir et ont
une forme compréhensible par des personnes ayant des degrés divers de
connaissances informatiques.
NORME IEC 1131-3 PLC
La figure 2-1 décrit les composants principaux d'un programme PC3000.
La Commission Electrotechnique Internationale {IEC) a élaboré un
ensemble de normes pour les réquiateurs programmables, dénommé IEC
1131. La partie 3 de cette norme, appelée IEG 1131-3, traîte des langages
des régulateurs programmables et de la manière dont ces derniers font
tourner les programmes de régulation. Bon nombre des concepts de cette
norme sont utilisés à |a fois dans le PC3000 et dans d'autres produits
d'Évrotherm Automation, dont le "cell controller” du gestionnaire de
production.
|| est possibie de programmer le PC3000 à l'aide des langages suivants :
Texte structuré (ST) - langage évolué qui peut servir à rédiger des
expressions analogiques et numériques complexes. Ce langage comprend
une prise en charge des opérations artithmétiques complexes, des calcuis
portant sur des dates et des heures et des expressions conditionnelles
utilisant des éléments comme Sl, ALORS et OÙ (exciusif). Il existe aussi
une bibliothèque complète qui offre des fonctions comme SORT(), SINQ,
MAX()
Guide utilisateur PC3000
Concepts de programmation
GRAFCET ou SFC - langage graphique qui offre une représentation
schématique des séquences présentées sous forme d'une série de pas
enchaînés et de transitions, Le GRAFCET répond à la norme, désormais
bien acceptée, Graicet mais avec quelques fonctions supplémentaires. ll
offre une méthode tras claire de définition et, en cours de fonctionnement,
d'analyse du comportement du système de pilotage en montrant les états
actifs du système dans ie contexts de toutes les séquences possibles de
remplacement et parallèles.
Diagramme de bloc fonction ou FBD - langage graphique
qui permet l'interconnexion d'éléments de programme,
appelés blocs fonctions, par simple traçage de traits sur
l'écran, c'est-à-dire sous une forme analogue à la
conception d'un schéma de circuits à l'écran à l'aide d'un
système de CAO.
Le
bee
SE
o
Cc >
a ©
O?
ce
Guide utilisateur PC3000 2-3
Concepts de programmation
NB. : la programmation FED est uniquement possible sur la
station de programmation Microcell.
Multi-taches
Coniormément à IEC 1131-3, le PC3000 permet "organisation du
programme de régulation en taches qui fonctionnent à des fréquences
d'exécution différentes. Normalement, le PC3000 possède deux taches qui
fonctionnent toutes les 10ms et toutes les 100ms mais il est possible de
créer des táches supplémentaires ou de modifier les fréguences
d'exécution des tâches pour s'adapter aux exigences du process
considéré. Une tâche est une partie d'un programme qui s'exécute
périodiquement.
De nombreux régulateurs programmables possèdent une stratégie très
simple dans laquelle tous les programmes de l'automate (normaiement des
expressions de schémas contacts) sont scrutés, c'est-à-dire exécutés, à
une fréquence de scrutation fixe. Toutefois, avec le PC3000, un
programme peut utiliser plus efficacement les ressources de régulation si
différentes parties du programme s'exécutent à des fréquences de
scrutation différentes, selon ce qui est dicté par les capacités de réponse
de l'installation associée.
Par exemple, i! peut être nécessaire de scruter très rapidement certaines
entrées numériques liées à des verrouillages mécaniques très rapides
alors que d'autres entrées numériques liées à des capteurs de
température, par exemple, peuvent être scrutées à des fréquences
inférieures. Normalement, les entrées analogiques sont scrutées plus
lentement que les entrées numériques. Certaines partiés de l'application
peuvent également être nécessaires pour analyser ies tendances à long
terme. Dans ces cas, les tâches peuvent être confiqurées pour s'exécuter
à des fréquences bien inférieures (toutes les 5 minutes ou plus, par
exemple).
Fonctionnement déterministé
Contrairement à de nombreux régulateurs programmables, le PC3000
offre des tâches à fréquences de scrutation fixes. Par exemple, à condition
d'observer certaines caractéristiques de fonctionnement, il est possible de
construire un système de régulation dans lequel les blocs fonctions prévus
pour tourner dans une tâche 100 ms s'exécutent toutes les 100 ms. Le
fonctionnement déterministe &st important pour que le comportement du
système de régulation soit stable et prévisible.
24 Guide utilisateur PC3000
Concepts de programmation
Si un trop grand nombre de blocs fonctions sont affectés à une tâche, le
PC3000 peut être débordé, c'est-à-dire que la durée de scrutation de la
tâche doit être augmentée pour garantir le bon achèvement de la tâche.
Gela est considéré comme une situation exceptionnelle qui nécessite la
modification des affectations de tâches des blocs fonctions.
La Base du système d'expioitation temps réel PC3000 fournit des
informations supplémentaires sur l'utilisation des tâches.
BLOCS FONCTIONS
En règle générale, les systèmes de régulation étaient formés par le
câblage physique d'un certain nombre d'instruments discrets comme des
régulateurs de température, des timers, des afficheurs, etc. Toutefois, les
systèmes de ce type sont d'une installation coûteuse et d'une très grande
rigidité.
Par opposition, le PC3000 permet de construire des programmes de
régulation a partir d""instruments logiciels" appelés blocs fonctions. Ce
concept puissant, formalisé par la norme ЕС 1131-3, permet de relier
entre eux des composants logiciels éprouvés possédant des fonctions
identiques à celles d'instruments réels pour former des systèmes de
régulation complexes appelés "câblage par soft”.
Un bloc fonction contient un programme ou un algorithme "encapsulé” qui
est accessible et pilotable extérieurement par Un ensemble de paramètres.
Il est "encapsuié” de telle manière que le concepteur n'a pas besoin de
connaître la constitution interne du bloc fonction. En fait, le seul accès au
bloc fonction peut s'effectuer par un ensemble de paramètres formels
fournis par le concepteur initial.
Normalement, un bloc fonction possède un ensemble de paramètres
d'entrée qui peuvent servir à le connecter (ou le câbler par soft) à d'autres
blocs fonctions. Les paramètres d'entrée peuvent être régulés á partir de
signaux de régulation réels émanant de l'usine ou peuvent se faire affecter
des valeurs par des périphériques extérieurs comme des stations
opérateur où des systèmes de supervision.
Les paramètres d'entrée peuvent servir à modifier le comportement du bloc
fonction. À chaque fois qu'un bloc fonction s'exécute, ce qui dépend de la
tâche à laquelle il est associé, i est activé à l'aide des paramètres d'entrée
en cours et d'autres données emmagasinées dans la mémoire interne.
L'algorithme interne met ensuite à jour les paramètres de sortie.
La
©
©
pe
ju
D
>
=
©
-
programmation
Guide utilisateur PC3000 25
Concepts de programmation
Les blocs fonctions sont utilisés dans la régulation sous une certaine forme
depuis des années. Par exemple, les algorithmes PID qui font tourner des
instruments discrats comme les EPC 818 et 900 d'Eurotherm Automation
se comportent comme des blocs fonctions. Le PC3000 possède une
importante bibliothèque de blocs fonctions à partir de laquelle le
concepteur peut élaborer des applications complexes. Cette bibliothèque
comprend des blocs fonctions PID et Positionneurs de vannes avec
reglage automatique ou adaptatif, des timers, des compteurs, des filtres et
des bistables, Il existe aussi des blocs réservés à des applications
spécifiques, par exemple pour construire des systèmes de gestion de
recettes, pour communiquer avec d'autres périphériques de marqués
comme les automates programmables et pour le contrôle statistique en
temps réel (SPC). Les blocs fonctions offrent également des possibilités
d'utilisation immédiate et de développement de solutions inédites à des
problèmes de process.
2-6
Guide utilisateur PC3000
Concepts de pregrammation
Exemple de bloc fonction
La figure 2-2 montre un exemple de bloc fonction Rampe utilisable toutes
les fois qu'il faut produire une valeur qui augmente à vitesse constante. Le
bloc fonction Rampe amène le paramètre de sortis (appelé Sortie) à la
valeur du paramètre d'entrée Point de consigne à une vitesse déterminée
par le paramètre d'entrée Vitesse.
Type de bloc fonction
a
Entré E
ntrées i +
EEE OO, Sorties Lu a
_ en _ = E
ENUM = Mode Output | REAL О a
== |
REAL = Il Setpoint Ramp End = BCOL 5 o
REAL — | Rate Ramp_ Act [|__| 2001 a
REAL == Reset Cutput HB Active + 2001
EM —| | HB Mode -
REAL — 1 HB Deviation
REAL — Process Val
| ENUM — Rate Units = —
Types de \_ Types de
données données
paramètres paramètres
Figure 2-2 Exemple de bloc fonction
Le bloc fonction prend aussi en charge un maintien sur écart par lequel la
Sortie peut suivre la valeur de process, c'est-à-dire le paramètre
Process Val, dans un écart donné. Cela peut par exemple étre utile
lorsque la température d'un four suit Une rampe, quand la différence entre
le point de consigne de la température du four et la température réelle doit
se maintenir dans des limites données.
Chaque paramètre de bloc fonction est associé à un type de données
particulier qui définit le type et la plage de valeurs que ce paramètre peut
mémoriser. Une large gamme de types de données est utilisable, dont les
paramètres REAL utilisés pour les valeurs décimales (à virgule flottante)
comme 12,54, 0,0541, - 1220,1, les paramêtres BOOL qui ont deux états
comme MARCHE/ÆARRET, VRAVFAUX, HAUT/BAS, les paramètres
ENUM qui peuvent avoir un certain nombre d'états dénommés ou
énumérés, par exemple le paramètre Mode du bloc fonction Rampe
possède les états Reset, Fun et Hoid. D'autres types de données sont
fournis pour conserver les comptes, les messages et les dates et heures.
Guide utilisateur PC3000 2-7
Concepts de programmation
Le chapitre 3 donne des details complets sur les types de données.
Dans le PC3000, il est possible de créer de nombreuses copies du méme
type de bloc fonction. Far exemple, vous pouvez souhaiter trois blocs
fonctions Rampe pour réguler trois variables de régulation différentes
comme débit de là pornpe, température et pression. Les copies pauvent
recevoir des noms uniques, par exemple RampPump, RampTemp,
HampPres . Les copies d'un type de bloc fonction donné sont appelées
Déciarations. Lors de la création d'une copie nouvelle d'un bloc fonction,
tous les paramètres d'entrée reçoivent un ensemble standard de valeurs
par défaut, Dans de nombreux cas, ces valeurs peuvent rester inchangées
lorsque les valeurs par défaut conviennent pour l'application ou si une
certaine caractéristique du bloc fonction n'est pas nécessaire.
Toutes les valeurs affectées comme constantes aux paramèêtres d'entrée,
par exemple l'attribution de la vaieur 6,0 % à un paramètre PID
Prop_Band, servent à remettre le bioc fonction à zéro lorsqu'il est initialisé,
c'est-à-dire utilisé pour les valeurs Démarrage à froid.
Lorsque le PC3000 tourne, chaque copie ou déclaration de bloc fonction
tourne de façon totalement indépendante de toute autre déclaration. Par
exemple, HampPump peut être dans l'état Hold alors que RampTemp et
RampPres sont en rampe vers des points de consigne différents.
Lors de l'exécution d'un bloc fonction, les valeurs changent, dans de
nombreux cas, pour chaque exécution, même lorsque la vaieur de tous les
paramètres d'entrée du bloc fonction reste inchangée. Cela est du au fait
que le bloc fonction possède des variables mémorisées en interne qui
servent à accumuler des valeurs pour les compteurs, les valeurs intégrées,
etc. Par exemple, lorsque le bloc fonction Rampe est en mode Run, la
Sortie augmente à chaque exécution ultérieure du bloc fonction, jusqu'à ce
que le point de consigne de la rampe soit atteint bien que tous les
paramètres d'entrée restent inchangés.
Blocs fonctions d'ES
Pour des raisons d'homogénéité, la collecte des valeurs d'entrée
provenant des capteurs et l'envoi des signaux de sortie aux actionneurs,
radiateurs, etc. sont gérés par des blocs fonctions d'É/S (E/5). Par
exemple, le bloc fonciton d'entrée analogique Analog In offre une gamme
de paramètres d'entrée qui configurent le type de capteur et changent
l'échelle de la valeur d'entrée pour qu'elle traite une large gamme de types
de capteurs d'entrée incluant la plupart des types de thermocouples. La
valeur du capteur d'entrée est fournie par le paramètre de sortie
Process Val du bioc fonction en unités de process comme les degrés
Celsius, les milltbars, etc. Il est à noter que ce bloc fonction offre
également un utilitaire de test pour remplacer la valeur d'entrée actuelle
par une valeur de test.
Chaque bloc fonction d'E/S est associé à un canal matériel d'E/S donné
défini par un paramètre d'entrée appelé IO_Address. Ce paramètre définit
l'emplacement physique du canal d'É/S par numéro de rack, numéro dé
module et canal.
2-8
Guide utilisateur PC2000
Concepts de programmation
Par exemple, un bloc fonction de canal d'E/S pour le deuxiéme canal
d'un module matériel à l'emplacement 3 du rack 1 possède l'adresse
d'E/S suivante : 1:03:02
Les adresses d'E/S sont automatiquement attribuées par la station de
programmation PC3000 lorsqu'un canal est affecté. |! est impossible de
modifier directement ia valeur du paramèêtre de l'adresse d'E/5 mais le
bloc fonction du canai d'E/S peut être transféré vers un module matériel
different.
Pour avoir des informations supplémentaires sur les blocs fonctions
Rampe et Anatog_In, consulter le Manuel des blocs fonctions du PC3000.
| ча
ред
ВИЗ
SE
za л»
ei
a ©
E
jm
PRINCIPES D'EXECUTION DES PROGRAMMES
Le programme utilisateur PC3000 pour une application de régulation
donnée est composé d'un certain nombre de blocs fonctions
interconnectés fournissant les possibilités de régulation continue du
système et un où plusieurs GHAFCET (SF CG) pour définir les possibilités
séquentielles, Les GRAFCET contiennent des actions qui peuvent modifier
les valaurs des paramètres d'entrées des biocs fonctions en réponse à
certains événements. Les GRAFCET peuvent par conséquent modifier le
comportement du système en fonction de variations bien définies de
conditions de process particulières comme le fait d'atteindre la température
de service où la vidange d'une cuve de réacteur.
Les blocs fonctions sont découpés en tâches qui s'exécutent à des
fréquences de scrutation fixes. La configuration par défaut des tâches qui
convient pour un grand nombre d'applications PC3000 possède deux
taches appeiées Task | et Task 2, qui s'exécutent respectivement toutes
les 10 ms et 100 ms. La plupart des blocs fonctions associés à une E/S
analogique et à une régulation analogique sont activés toutes les 100 ms
(blocs fonctions PID en particulier). Les autres, c'est-à-dire les blocs
fonctions associés à des signaux numériques et nécessitant par
conséquent uné réponse système pius rapide, sont actives toutes les 10
ms. Les GRAFCET (SFC) par détaut sont activés dans la tâche la plus
lente de 100 ms .
Guide utilisateur PC3000 2-9
Concepts de programmation
ms
Nom de la Scrutation de But
tache la tache
Task 2 toutes les 100 | Tous les blocs fonctions
ms analogiques
La plupart des blocs fonctions
analogiques d'E/S
Tous les GRAFCET
Task _1 toutes les 10 | Tous les blocs fonctions
numériques
Tous les blocs fonctions
numériques d'E/S
Les blocs fonctions analogiques
rapides d'E/S
Table 2-1 Configuration par défaut des tâches
Toutefois, il est possible de modifier la configuration par défaut des tâches
si le probième de régulation est assorti d'exigences spéciales. || est
possible d'affecter à tous les blocs fonctions, y compris ceux pour I'E/S, un
fonctionnement à une autre fréquence de scrutation en modifiant les
fréquences de scrutation des tâches ou en créant des tâches
supplémentaires. Cela peut par exemple être nécessaire lorsqu'il faut
augmenter la rapidité de réaction de certaines entrées en diminuant les
fréquences de scrutation des tâches ou lorsqu'il est nécessaire de réduire
les temps système en augmentant la fréquence de scrutation de certains
blocs fonctions.
Attention :
1 faut prendre des précautions lorsqu'on modifie les
paramètres de configuration des tâches ou ies affectations
des tâches car cela peut avoir des répercussions sur la
rapidité de réaction du système ou entraîner des effets
secondaires imprévus. La station de programmation
PC3000 affecte automatiquement les blocs fonctions aux
deux tâches par défaut. Par conséquent, la modification de
la configuration des tâches n'est normalement pas
nécessaire.
Se reporter à la Base du système d'exploitation temps réel PC3000,
chapitre Programmateur de tâches temps réel, pour avoir des détails sur la
configuration des taches.
GRAFCET
Les GRAFCET (SFC) sont composés de deux éléments, les pas et les
transitions, décrits sur la figure 2.3.
2-10
Guide utilisateur PC3000
Concepts de programmation
Un pas définit un ensemble
d'actions effectuées lorsque le
programme de régulation est
L- 4 Transition dans un état donné. Un pas reste
| actif jusqu'à ce qu'une transition
— Step_B | suivante devienne vraie. Une
transition est définie par une
+ condition de test qui doit donner
un résultat vrai ou faux (exemple:
uns entrée numérique donnée
provenant d'un microrupteur est
sur “marche”).
Pas —
Figure 2-3 Eléments des GRAFCET
Sur la figure 2-3 , si Step_À est actif, Step_B deviendra actif et Step_A
inactif lorsque la condition pour la Transition de Step À à Step_B
deviendra vraie.
Lorsque les GRAFCET sont évalués (normalement toutes les 100 ms par
déiaut), seules les conditions des transitions suivant les pas actifs sont
testées, Dans un programme bien conçu, seul un petit nombre de pas sont
simultanément actifs à tout moment. Par conséquent, le PC3000 peut
exécuter des programmes complexes avec des GRAFCET possédant un
grand nombre de pas et de transitions, sans que le temps système soit
exagérément long.
Les actions dans les pas peuvent être définies en Texte structuré (ST) ou
en termes de GRAFCET supplémentaires. Nous donnons ci-dessous des
exemples d'instructions en texte structuré servant à définir des actions
dans les pas :
с
Le
9e
TE
E
{= =
a >
o 9
a
loopl. Setpoint := 400.0;
tempRamp.Mode := 1 (* Run *);
vacpump.Process Val := vacpump.Process Val
+ 12.50 ;
Chaque transition est définie par une condition exprimée en Texte
structuré, comme par exempie :
pumpswt .Process Val = 1 (* On *) AND
O2valve.Process Val = 1 (* Open *);
Guide utilisateur PC3000 2-11
Concepts de programmaton
Dans cet exemple, deux entrées numériques pumpswt et O2valve
fournissent l'état de deux variables process numériques. Ainsi, la condition
de transition peut se lire de là manière suivante : “interrupteur de la pompe
en position marche et vañne d'oxygène ouverte“.
Pour avoir des détails supplémentaires, cf. le chapitre 3 Texte structuré et
le chapitre 4 Programmation des GRAFCET.
NB. : sur la station de programmation Microcell, on dispose
de méthodes de programmation graphique de
remplacement, en particulier des tableurs et des
diagrammes de blocs fonctions.
PRESENTATION DU LOGICIEL
Un programme d'application pour PC3000 est composé de deux parties
principales : 1) les blocs fonctions et leur câblage associé pour fournir les
fonctions continues logiques et de régulation et 2) les GRAFCET pour
traiter le séquencement.
La figure 2.1 montre la manière dont ces parties de programme
interagissent avec le matériel du PC3000 qui fournit les interfaces avec les
capteurs et actionneurs d'E/S et les communications avec les
périphériques externes. Cette figure montre quelques exemples des
multipies variétés de types de blocs fonctions fournis avec le PC3000.
Les interfaces avec I/O sont assurées par les blocs fonctions d'E/S
comme Digitai_in et Analog_Out. Le bus d'E/5 PC3000 offre un échange
d'informations bidirectionnel entre ces biocs fonctions dans le programme
d'application PC3000 et les canaux d'E/S des modules matériels d'E/S.
La station de programmation PC3000 (ainsi que MicroCell } à accès à tous
les paramètres de blocs fonctions lorsque le PC3000 tourne avec le
protecole de communications Eurotherm Bisyne, Cet utilitaire est appelé
"communications par défaut” et est disponible en permanence pour les
besoins de diagnostic et de développement de programmes.
Les communications avec les autres périphériques externes sont assurées
par des blocs fonctions de drivers de communications comme Bisync M et
Euro_ Panel, Sur la figure 2-1, le bloc fonction Bisyne_M est associé a un
port de communications relié à un certain nombre d'instruments a liaisons
multipoints ; dans ce cas, c'est le protocole Eurotherm Bisyne quí est
utilisé. Cette figure montre aussi une console opérateur reliée à l'aide du
bioc fonction Afficheur Eurotherm. On dispose également d'une vaste
gamme de blocs fonctions pour d'autres protocoles comme JBus/Modbus.
On peut ainsi relier au PC3000 un grand nombre de différents types de
périphériques en communication.
Consulter le document Présentation des communications FC3000 pour
avoir des informations supplémentaires sur les communications avec des
périphériques extérieurs.
2-12
Guide utilisateur PC3000
Concepts de programmation
EXEMPLE DE PROGRAMME
La figure 2.4 montre un exemple simple de programme qui présente de
nombreux concepts de programmation du PC3000. Ce programme utilise
une boucle de régulation simple PID pour piloter un process thermique et
modifie le point de consigne destiné a la boucle de régulation & l'aide d'un
petit programme séquentiel,
Ce programme sert à présenter les techniques de programmation du
PC3000 et est par conséquent délibérément simpliste mais il fonctionne.
Régulation continue
La boucle de régulation à canal unique est construite par "câblage par
soft” d'un Dloc fonction de canal d'entrée analogique (Temp1} à un bloc
PID (Laop1) qui envoie un signal de sortie à un bloc fonction de canal de
sortie analogique (Heat1).
Les paramètres de configuration nécessaires pour personnaliser les Diocs
de canaux d'entrée et de sortie afin qu’ils coincident avec les
caractéristiques des capteurs at des actionneurs et les paramètres de
réglage du PID ne sont pas présentés sur la figure 2.4 pour plus de clarté.
Pour construire la partis "pilotage continu” du programme, il faut effectuer
les principales actions suivantes :
1. Affecter les modules et canaux matériels pour l'entrée et la sortie
analogiques à l'aide de l'écran de configuration matérielle (par exemple à
l'aide des modules comme Ald at AD4).
Dans cet exemple, l'entrée analogique est pilotée par le canal 1 du module
2 et la sortie pilote le canal 2 du module 4, tous les deux étant situés dans
le rack 1.
2 Attribuer des valeurs aux parameétres de configuration pour
personnaliser l'entrée et la sortie, Le canal d'entrée analogique a
normalement besoin de valeurs pour les paramètres suivants :
Input type, par exemple Range 3. Vérdier sur la fiche technique la plage
acceptée par un module matériel donné. Dans le cas présent, Range_3
sélectionne le fonctionnement -10 à 50mV.
Lin_Type pour fixer le type de linéarisation, par exemple J pour un
thermocouple de type J.
CJC_Type pour fixer le type de Compensation de soudure froide, par
exempis intern pour interne.
Pre Scaler, Pre Offset , Post _Scaler, Post Offset pour configurer les
coefficients de telle manière qu'ils changent l'échelle du signal d'entrée et
le décaient avant et après linéarisation. Ces paramétres sont utilisés en
liaison avec PV_Max et PV_Min pour donner les unités physiques
nécessaires (c'est-à-dire D à 100 degrés Celsius). Les valeurs 1,0 et 0,0
pour les coefficients et les décalages devraient convenir pour cet exemple.
Par exemple, des valeurs de 9/5 pour Post Scaler et 32 pour Post Offset
donneraient une valeur en degrés Fahrenheit. Des valeurs de 1 pour
Post _Scaler et 0 pour Post Offset donnent une valeur en degrés Celsius.
a
Cw
NE
=
Pr
{= A
= =
O2
a
Guide utilisateur PC3000 2-13
Concepts de programmation
Е Task? 100m
(Analog_In) {PID) ‘Analog Cut
f Temm \ f Coop ' f Fost \
; Proceas val Process Val 1: 04: 02 IC _Address
: 02:01 e ISO Address Chl Output Proceas Val
—dSétpoint =
la A 1 J “ J:
Cablage par soft” :
Task2 100ms
Graîcet
Setup : Loopl.Serpointis 20.0;
PHM NY a Ая,
hr NY
aaa
—— AB5_ REAL (Templ.Process Val - Locpl.Setpoint) < 2.0
| Heatup Loopt.Setoointr= 60.0;
—— Templ,. Process Val>56.0 AND Heatup.Time»s TH90
| Cool : Loop-Setpoint:= 20.0;
—jr=e Templ, Process Val<24,0
| Finish :
Figure 2-4 Exemple de programme simple
PY Max, PY Min permettent de définir la plage de valeurs acceptables
pour l'entrée, par exemple 0 a 100.
N.B. : si PV_Max est maintenu égal à 0, l'état de l'entrée
analogique Act Status peut être fixé sur NOGO parce que
la valeur d'entrée est hors plage.
Le bloc fonction du canal de sortie anaïogique a besoin d'une valeur pour
Output type pour définir la plage de l'actionneur ou de l'entraînement de
sortie, par exemple mA4 20 pour 4 à 20 mA.
3. Le bloc fonction PID a également besoin des paramètres de
configuration suivants :
Span_High, Span_low : configurer ces paramètres pour qu'ils coincident
avec la plage de l'entrée analogique.
2-14
Guide utilisateur PC3000
Concepts de programmation
Qutput_High,Output Low : veiller á ce que ces paramètres soient
positionnés sur 100 et 0 pour cent. $i Output Low est sur -100 pour cent,
le PID fonctionne en mode canal double (chaufiage/refroidissement).
Prop Band, Integral et Derivative : configurer ces paramétres
conformément à ce qu'exige le process regulé.
Manual ; positionner ce paramétre sur Auto pour faire passer le PID an
mode automatique.
Heatt. Process Val := Loop1.Ch1_ Output;
Lors de l'utilisation de la station de programmation PC3000, ces
instructions sont reliées au paramètre d'entrée du bloc fonction pour
recevoir la valeur (dans le cas présent, Loop1 ef Heatl).
NB. : les instructions de câblage sont créées dans le
paramètre DESTINATION.
On trouvera des détails supplémentaires sur la configuration matérielle
dans le Manuel du matériel PC3000,
La partie "régulation continue” de cet exemple simple est maintenant
terminée et, si l‘on compile, construit et télécharge ce programme dans le
PC3000, les trois biocs fonctions vont se comporter comme un simple
régulateur à boucle unique. || est possible de fixer le point de consigne de
la boucle en modifiant le paramètre d'entrée du PID Loop1.Setpoint .
Séquencement
La boucle de régulation est séquencée par un petit GRAFCÇET comportant
les pas Setup, Heatup, Cool et Finish. Le texte structuré pour chaque pas
et chaque transition est représenté à côté du GRAFCET sur la figure 2-4.
Le pas Setup établit Un point de consigne initial de 20,0 et attend que la
valeur de process se stabilise. Au cours du pas Heatup, le process est
améné à un point dé consigne supérieur de 60,0. Le pas Heatup continue
jusqu'à ce que [a valeur de process ait atteint une valeur seuil de 56,0 et
ait été active pendant plus de 30 minutes. Le pas Cool est ensuite activé,
ce qui ramène le point de consigne à 20,0. Lorsque la valeur de process
est revenue à moins de 24,6, ls GRAF CET prend fin en passant au pas
Finish.
Pour programmer le GRAFCET à l'aide de la station de programmation, il
faut effectuer les actions suivantes :
1. Utiliser l'éditeur de GRAFCET pour créer un GRAFCET à quatre pas
dans le graphique principal. Le premier pas doit être défini comme un pas
"début" et doit recevoir le nom Setup. Donner aussi les noms Heatup, Cool
et Finish aux autres pas. Le pas Finish doit être défini comme un pas "fin",
=
4, Construire le "cablage par soft” pour relier les trois blocs fonctions, o
c'est-à-dire : 3 =
Loopi.Process Val := Temp1.Process Val; ne
Ta =
et db
o a
= =
cD
O?
a
Guide utilisateur PC3000 2-15
Concepts de programmation
2. Les trois pas doivent étre définis comme des "pas dont les actions sont
exécutées une fois”, ce qui implique qu'ils s'exécuteront une seule fois
lorsqu'ils seront entrés pour la première fois.
3, Saisir le texte structuré pour chaque pas et chaque transition comme le
montre la figure 2-4. Hl faut noter que la transition entre Start et Heat utilise
la fonction ABS_REAL qui sert à calculer la valeur absolue du paramètre
d'erreur FID.
La condition pour la deuxième transition utilise l'opérateur ET pour vérifier
que :
a) la valeur dé process est supérieure à 56,0 et
b} le pas Heatup a été actif pendant plus de 30 minutes.
La durée de n'importe quel pas actif est fournie par le paramètre de sortie
Time (abrégé en .T ) du pas.
Pour tester le programme, le compiler, le construire et le télécharger dans
le PC3000. Avec le PC3000 commuté en mode RUNNING, le programme
est exécuté par défilement séquentiel des pas du début à la fin qui fixe le
point de consigne du PID. || faut noter que, lorsque le pas Finish est
atteint, le GRAFCET prend fin sans pas actif supplémentaire. Toutefois,
l'exécution des blocs fonctions de la boucle de régulation se poursuit. Avec
cet exemple simple, il est nécessaire de REINITIALISER le PC3000 puis
de le ramener en mode RUNNING (MARCHE) pour relancer le GRAF CET.
ll est possible de construire ie GRAFCET de manière à ce qu'il redémarre
en permanence, ce qui est traité dans le chapitre 4 Programmation des
GRAFCET.
Le mode PC3000 est affiché sur le menu principal de la station de
programmation PC3060 lorsqu'il est en mode en ligne. Utiliser la
commande RUN (MARCHE) pour faire passer le PC3000 en mode
RUNNING.
Tous les blocs fonctions de cet exemple sont associés à la régulation
analogique et s'exécutent dans Task2 qui, par défaut, est scrutée toutes
les 100 ms. Le GRAFCET s'exécute aussi dans la mème tâche mais il ne
faut pas oublier que seul ls pas actif et ses conditions de transition sont
évalués toutes les 100 ms.
Pour avoir des détails système supplémentaires sur la synchronisation et
l'exécution des GRAFCET et des blocs fonctions, se reporter au Manuel du
système d'exploitation temps réel PC3000.
Logique numérique
Pour compléter cet exemple, la figure 2-5 montre la manière dont une
condition d'alarme simple peut être ajoutée par l'utilisation des blocs
fonctions numériques, Ces blocs sont interconnectés par câblage par soft
de la même manière que les blocs analogiques. L'exemple suppose qu'un
signal d'alarme est nécessaire pour couper l'alimentation électrique du
process lorsqu'une des deux portes (Doort et Door2) est ouverte et
lorsque la température du process est supérieure à 50,0.
2-16
Guide utilisateur PC3000
Concepts de programmation
Les blocs fonctions des canaux d'entrée pour les entrées numériques
Door! et Door2 déterminent l'état des portes, par exemple, en reliant les
entrées matérielles numériques aux microrupteurs. Le signal d'alarme de
sortie est piloté par un bloc fonction de sortie numérique, Alarm.
Le paramètre d'entrée Process Val d'Alarm est "câblé par soît" à l'aide
d'une expression en texte structuré qui implique à la fois la valeur de
process du bloc fonction d'entrée numérique et le bloc fonction Tempt. Le
câblage par soft peut soit fournir des kaisons directes point à point
utilisées pour construire la boucle de régulation soit comporter des
expressions complexes avec des paramètres de blocs fonctions aussi
bien numériques qu'analogiques.
Tazski tôms
=
=
=
a
=
Е
<
Th
5)
o
Lu
a
Templ.Process_val ail
(Digital Out)
- É Alarm “
1:05:31 =—{ IQ Address
{Digital Im :
Fo Door à
Process Val Lo
1:03:01 = 10 Address :
— Process Val
he A he A
"Cablage par soft
(Digital In) Alarm,Process val:= (Doorl,Process Val OR
F Door Y Doorz.Process Val] AND
Process Val fe Templ,Precess Val>50,0;
10302 — 10 Address
Figure 2-5 Exemple de logique numérique
Guide vélisateur PC3000 2-17
Concepts de programmation
Pour créer ces blocs fonctions et le câblage par soft, il faut effectuer les
actions suivantes :
1. Créer deux blocs fonctions de canaux d'entrée numérique d'E/S
appelés Door1 et Door? à l'aide d'un module matériel comme DH 4_ CON.
Aucun paramètre de configuration de canal n'est à configurer. S'assurer
que le paramètre Test_Enable de chaque bloc est sur Off (valeur par
aut).
2. Créer un bloc fonction de canal de sortie numérique appelé Alarm à
l'aide d'un module matériel comme DO12_RLY. S'assurer que le
paramètre Test _Enable est sur Off (valeur par défaut).
3. Sélectionner le paramètre Alarm.Process Val et lui annexer
l'instruction en texte structuré de câblage par soft, comme l'indique la
figure 2-5.
Les blocs fonctions numériques sont affectés à Task 1 qui est scrutée
toutes les 10 ms. Le câblage par soft relié à [a valeur de process du bloc
fonction de sortie Alarm est lui aussi évalué toutes ies 10 ms, c'est-à-dire
comme le bloc fonction Alarm.
L'exemple de programme est maintenant complet et peut être compilé,
construit et téléchargé dans le PC3000. La boucle de régulation et la
logique numérique d'alarme sont exécutées en continu lorsque le PC3000
ast en mode RUNNING (MARCHE). Le séguencement défile les quatre
pas en commengant par Setup. Le tableau 2-2 montre l'ordre d'exécution
qui est créé automatiquement par la station de programmation pour faire
exécuter le programme. Dans la plupart des cas, il n'est pas nécessaire de
connaître l'ordre d'exécution dans le détail.
[Toutes les 10 millisecondes - |
Lecture des canaux matériels d'entrée numérique Door1 et
Door2
Exécution des blocs fonctions des canaux d'E/S et du cablage
par soft de la logique numérique de l'alarme.
Ecriture de la valeur de sortie d'Alarm vers le canal matériel
numérique,
[Toutes les 100 millisecondes - |
Lecture du canal matériel d'entrée analogique Tempi
Éxécution des blocs fonctions Ternp1, Loop! et Heat1 et du
câblage par soft formant la boucle de régulation.
Exécution des pas acits des GRAFCET et évaluation des
conditions de transition suivant ies pas actifs.
Ecriture de la valeur de sortie vers le canal matériel
analogique.
Table 2-2 Ordre d'exécution de l'exemple de programme
2-18 Guide utilisateur PC3000
Concepts de programmation
Remarques sur les performances du cáblage par soft
Lors de la conception de gros programmes PC3000, il faut voir qu'un grand
nombre d'instructions de câblage par soft peut provoquer une
augmentation significative du temps système.
N.B. : chaque instruction en texte structuré de câblage par
soft est exécutée à la même fréquence et dans la mame
tâche que le bloc fonction qui reçoit la valeur produite par le
câblage par soft.
li faut par conséquent prendre soin de minimiser le nombre et la
complexité des instructions de câblage par soit affectées aux blocs
fonctions possédant une fréquence de scrutation élevée, en particulier les
blocs fonctions numériques. Le câblage par soft qui contient un grand
nombre d'opérations comportant des valeurs à virgule flottante, comme la
comparaison de Temp1.Process val avec 50,0 utilisée dans l'exemple de
programme précédent, entraîne une augmentation importante du temps
système. Lorsque les programmes sont bien conçus, il est possible de
diminuer le nombre de calculs avec virquie flottante.
Par contraste, un grand nombre d'opérations comportant des paramètres
numériques, comme l'OR de door1.Process val et door2.Process val
dans cet exemple, peuvent être exécutés sans augmentation significative
du temps système.
Le chapitre 5 Développement des programmes donne des indications
supplémentaires sur la conception des programmes. L'annexe C de la
base du système d'exploitation temps réel PC3000 donne également des
informations détaillées sur les performances.
с
5
Ks
o£
io U
pe ha
o >
Oo ©
=
Guide utilisateur PCZ000 2-19
Chapitre 3
TEXTE STRUCTURE
Edition 1
Sommaire
PRESENTATION .. LERRRRR O CeCRR PNAN rene an seen ce cc seance een SN
Introduction au texte structuré E N
Gommentaires ........— wee nena anna rien anar naaa SE
TYPES DE DONNEES . meee Seen ak De
ENDROITS OU IL FAUT U UTILISER LE TEXTE
STRUCTURE .. arasasensueer A
AFFECTATIONS .. N |
EXpressions ........... e... .necenscceuccie ace nrene acera snnrnsesnes 9 10
Expressions complexes ..........w.—.————— 3-11
INSTRUCTIONS ........iemeeennnana—= enana ena pee nena enero naneoanao 3-12
instructions conditionnelles ............... e e ee. reseca 3-12
OPERATEURS ...........enerrmnemonenrecarvarereeeenee over 314
Opération arithmétique ................—.———- weee A
Opérateurs de comparaison ..............-——.. 3-16
Opérateurs boolégns ......... —.= em mee 9717
Priorité des opérateurs .........e.m.ece eminem 3-18
EXPRESSIONS BOOLEENNES. ..............cccco 3-19
FONCTIONS … Prananoeaanenmaanenarnacarmreananernacer teme reraarere 3-20
SELECTION DES VALEURS . N A
Fonctions de sélection .......——— 9-01
Séjection des valeurs a l'aide de l'élément IF (SI) ..... 3-23
REGLES D'ECRITURE CORRECTE EN TEXTE
STRUCTURE .. passnsau see ea 3-24
Lo
[=]
-
mica
a
=
|=
р
©
Guide utilisateur PC3000 Sommaire 3-1
Texte structure
PRESENTATION
Ce chapitre traite les points suivants :
* Fonctions du langage Texte structuré
* Endroits où il est possible d'utiliser le Texte structuré dans les
programmes PC3000
* Maniere dont il est possible de traiter des données de types différents en
Texte structuré
+ Manière d'utiliser les fonctions en Texte structuré
* Style de programmation adapté au Texte structuré
Introduction au texte structuré
Le Texte structuré ( abrégé en ST } est un langage texte évolué qui a été
formalise par la norme IEC 1131-3 PLC relative aux langages de
programmation et qui est destiné à être utilisé dans les régulateurs
programmables pour les process de fabrication industrielle. Le Texte
structuré offre une vaste gamme de fonctions qui le rendent
particulièrement bien adapté à la programmation de la régulation des
process industriels :
D
pee
a
ij
о
-
E
ai
a
* Toutes les variables utilisées dans ce langage peuvent recevoir des noms
ayant une signification, comme :
pumpRate. Setpoint
heat1.Output Type
* Il est possible d'exprimer de manière clairs des expressions simples ou
compiexes pour les calcuis mathématiques, comme par exemple :
FlowRate.Val := FanSpeed_Process_Val* 3.5;
Guide utilisateur PC3000 3-1
Texte structure
* Los expressions conditionnelles, c'est-ádire pour les valeurs quí sont
dérivées des tests sous une forme ou une autre, sont bien acceptées, Par
exemple, pour faire face à des impératifs comme "La vitesse du moteur est
de 200 tr/Min lorsque la pièce est à moins de 5 mètres de la téte de l'outil,
dans le cas contraire, la vitesse est de 20 tr/min” peut s'exprimer de ia
manière suivante :
IF Position. Val < 5.0 THEN
Motor.Process Val := 200;
ELSE
Motor.Process Val = 20.0,
END IF;
* [F est possible d'utiliser une vaste gamme de difiérents types de données,
dont les valeurs à virgule flottante et les valeurs numériques, les durées, la
date et l'heure. || existe aussi des possibilités de traîter les messages texte.
* ll est possible d'avoir des expressions comportant des types différents de
données, comme par exemple :
gas.Process_ Val := Zone1.Frocess Vai > 310.4
* l{ existe une vaste gamme d'opérateurs intégrés standard :
+,-,",>,< AND_OR,NOT
* Le langage possède des sécurités intégrées pour erpacher les opérations
logiques entre des types de données différents. Par exernple, il est
Impossible d'utiliser les opérations mathématiques avec les valeurs
d'enirée numériques ou les opérateurs logiques comme ET avec les
valeurs analogiques.
* Les fonctions peuvent servir à simplifier des expressions de programmes
compiexes comme par exemple :
position. Val = SQRT{X.Val*X.Val + Y.Val*Y.Val};
position. Val = SQRT{X.Val*X.Val + Y.Val*Y.Val);
En règle généraie, les instructions relativement simples en Texte structuré
conviennent pour programmer la majorité des applications de réguiation
PC3000. Toutefois, la station de programmation PC3000 ne permet pas la
création de blocs voiumineux et complexes en Texte structuré. La taille
maximale d'un bloc iscié de Texte structuré est limitée mais cette taille est
suffisamment élévée pour que cetté restriction n'ait aucune signification
pratique.
3-2
Guide utlisateur PC3000
Texte structuré
Pour la programmation du PC3000, le Texte structuré sert à décrire :
a) le "cáblage par soft” qui assure l'interconnexion des blocs fonctions
b) les actions dans les pas des GRAFCET
c) les conditions des transitions des GRAFCET.
Certaines restrictions s'appliquent au Texte structuré lorsqu'il est destiné à
des utilisations différentes ; ces restrictions sont traitées plus en détail
dans la suite de ce chapitre.
Commentaires
Pour faciliter la lecture, il est possible d'ajouter des commentaires à
volonté aux instructions en Texte structuré en plaçant le texte entre étoiles
(* et”). Exemples :
(* Ce pas provoque le démarrage du réacteur 2 *)
(* Modifié pour optimiser l'utilisation de l'énergie *}
TYPES DE DONNEES
Le FC3000 prend en charge toute Une série de types de données dans le
Texte structuré qui couvrent la plupart des besoins de traitement pour la
régulation de process de production. L'écriture d'expressions en Texte
structuré qui utilisent ces différents types de données est traitée dans des
parties utérieures de ce chapitre.
qu
Hr
=
a
о
|
LS
ra
e
М.В. : dans tout ce guide utilisateur, où une description d'un
type de données quelconque est fournie, le nom du type de
données normalisé IEC est parfois indiqué entre
parenthèses.
Virqule flottante (REAL)
Plage Taille en bits But
+1 o+38 32 Type de données universel pour
toutes les valeurs a virgule
flottante (décimales)
Ce type de données sert à mémoriser toutes les valeurs analogiques à
virgule flottante, à la fois négatives et positives, et les valeurs fractionnelles
très grandes ou très petites, par exemple 100,56, 100245 21, -0,000233
Guide utilisateur PC3000 3-3
Texte structuré
Entier (DINT)
Plage Taille en bits But
-2147483648 à 32 Type de données universel pour
+9147483647 stocker les valeurs entières, par
exemple pour les compteurs.
Sert à stocker les valeurs entières, c'est-à-dire les nombres entiers, et est
utilisé pour les comptages, les numéros de lots, etc. Il est possible de
stocker une gamme étendue de valeurs positives et négatives, par
exemple 12, 1235687, - 100040.
Entier énuméré (DINT)
Plage Taille en bits But
-214/483648 à 32 Type de données universel pour
12147483647 mémoriser les valeurs entiéres qui
possèdent un ensemble défini de
valeurs ayant un nom, par
exemple pour les modes ou Fétat.
Le type de données (parfois abrégé en ENUM) utilise [a même taille
mémoire que l'entier (UINT) mais avec des noms associés à un ensemble
défini de valeurs. Ces noms sont affichés sur la station de programmation
PC3000 et sont fournis pour faciiiter la lecture.
Par exempie, !e bloc fonction PesSTATE qui définit l'état actuel du système
de regulation PC3000 posséde un paramètre de sortie Battary_Cond (état
de la batterie) qui est un entier énuméré. Ce dernier possède des états qui
portent UN nom :
Bon (0)
Faible (1)
Défectueux (2)
Le nom qui convient est affiché sur la station de programmation PC3600
en méme temps que la valeur du paramètre.
Les entiers énumérés peuvent être utilisés à volonté avec les entiers
normaux dans les expressions en Texte structuré.
34 Guide utifisateur PC3000
Texte structuré
Booléen (BOOL)
Plage Taille en bits But
0 où 1 1 Type de données universel pour
stocker les valeurs booléennes,
C'est-à-dire O ou 1.
Ce type de données sert à mémoriser les valeurs booléennes du genre de
celles qui sont associées aux entrées numériques pour les manocontacts,
qui peuvent avoir deux états : 0 ou 1. En règie générale, À est associé à
"Off" (arrêt) ou "False” (faux) et 1 est associé à "On" (marche) ou "True"
(vrai). Toutefois, la station de programmation PC3000 permet l'attribution
de noms ayant un sens différent si besoin est. Les noms ayant un sens
servent à améliorer la lisibilité du programme.
Exemples :
Down (bas) (0) ©
Up (haut) (1) E
=
In (intérieur) (0) ии
Out (extérieur) (1) и
Durée (TIME)
Plage Taille en bits But
Jusqu'à 49 jours 32 Utilisé spécifiquement pour
mémoriser les durées temporelles
comme la durée des tâches ou
les constantes temporelles PID
Ce type de données sert à mémoriser des durées temporelles avec une
précision de l'ordre de la milliseconde, l est possible de stocker n'importe
quelie durée jusqu'à 49 jours. L'affichage des durées sur la station de
programmation se fait dans la présentation EG. Exemples :
T#2d_01h 30m (* 2 jours, 1 heure, 30 minutes *)
T#3s200ms (* 3 secondes et 200 millisecondes *)
L'emploi du préfixe T# en Texte structuré indique qu'il s'agit de constantes
de type TIME (DUREE). Ce préfixe est automatiquement inséré par la
station de programmation.
Guide utilisateur PC3000 45
Texte structure
Heure (TIME_OF DAY)
Plage Taille en bits But
00:00:00 à 32 Utilisé spécifiquement pour
23:59:59 mémoriser les valeurs heure du
jour (sur 24 heures).
Ce type de données est utilisé toutes les fois qu'il faut mémoriser l'heure,
par exemple pour définir l'heure du jour pour démarrer une tâche donnée.
Les valeurs sont mémorisées avec une précision de l'ordré de la seconde
et affichées sur la station de programmation sous la forme "24 heures”.
Exemples :
TOD09:30 (* 9:30 du matin *)
TOD#13:45 (* 1.45 de l'apres-midi *)
L'utilisation du préfixe TOD# dans le texte structuré indique qu'il s'agit de
constantes TIME_OF DAY. Ce préfixe est automatiquement inséré par la
station dé programmation.
Date calendaire (DATE)
Plage Taille en bits But
01-jan-1970 au 32 Utilisé spéciiiquement pour
01-jan-2136 mémoriser les valeurs pour les
dates calendaires.
Ce type de données sert à mémoriser les dates calendaires. Une large
plage de dates est acceptée.
Exemples :
D#28-Jul-1992
D#01-Jan-1993
L'utilisation du préfixe Dä# dans le texte structuré indique qu'il s'agit de
constantes de date. Ce préfixe est automatiquement inséré par la station
de programmation.
Guide utiisateur FC3000
Texte struciuré
Date calendaire et heure du jour {DATE AND TIME)
Plage Taille en bits But
01 -jan-1970- 32 Utilisé spécifiquement pour
00:00:00 au mémoriser les valeurs de dates
01-jan-2136- calendaires combinées à l'heure
23:59:59 du jour.
Ce type de données sert à mémoriser les dates calendaires avec l'heure
du jour ; on l'utilise généralement pour mémoriser les "horodatages" des
événements clés comme le moment du démarrage des tâches, du
déclanchement des alarmes, des changements de service des opérateurs,
etc.
Exemples :
DT#02-Sep-1892-20:30:00
DT#25-Jan-1991-23:00:30
L'utilisation du préfixe DT# dans le texte structuré indique qu'il s'agit de
constantes de date DATE _AND_TIME. Ce préfixe est automatiquement
inséré par ja station de programmation.
Chaînes texte (STRING)
Plage Taille But
Chaque caractère | La longueur d'une | Type de données universel! utilisé
peut contenir chaîne texte est pour mémoriser les informations
n'importe quel variable - cf. la texte composées d'une chaîne de
caractère du jeu | description caractères.
de codes ASCIE
Les codes autres
qu'ASCII (valeurs
hexadécimales
$80 a $FF) sont
également pris en
charge.
2
р.
ad
че
5
=
[=
a
Kn
Guide utilisateur PC3000 3-7
Texte structuré
Ce type de données sert à contenir les informations texte comme les
messages opérateur, las messages de rapports d'imprimante, les adresses
de communication, les descriptions de lots, etc. La longueur de la chaîne,
c'est-à-dire le nombre maximal de lettres at de chiffres (caractères), qui
peut etre memorisée dépend de l'utilisation.
Par exemple, le bloc fonction String User Variable peut mémoriser des
chaînes texte d'une longueur maximale de 80 caractéres, alors que le bloc
fonction Long String User Variable est utilisable pour les chaînes d'une
longueur maximale de 255 caractères.
38 Guide utilisateur PC3000
Texte structure
Pour avoir des informations supplómentaires sur les blocs fonctions
Variables utilisateur, se reporter au Manuel des blogs fonctions PC3000.
Exemples de chaines texte :
'Batch 723XA" (* Current Batch Identity *)
'QAO1 PV" (* Address Port OA, instrument 1 PV *)
'ADD REAGENT X1' (* Operator Message *)
Les chaînes en Texte structuré figurent entre apostrophes. Ces caractères
sont insérés automatiquement par la station de programmation lorsqu'une
constante chaîne est créée.
Il est possible d'insérer Un caractère non imprimable dans une chaîne en
tapant un signe dollar ($}) suivi du code ASCII en hexadécimal ; par
exemple, pour insérer le caractère d'appel qui produira un son sur
certaines stations opérateur, taper $07. Le code ASCH compiet est donne
dans le Manuel des blocs fonctions PC3000. Des caractéres non
imprimables peuvent être nécessaires pour structurer les messages texte
afin qu'ils puissent être sortis sur imprimante.
Types de données entières supplémentaires
La majorité des entiers utilisés dans les biocs fonctions et fonctions
PC3000 sont de type DINT. Toutefois, dans quelques rares cas, il est
possible de définir les paramètres à l'aide des types de données entières
énumérées dans le tableau 3-1.
Type de Description Taille en bits Plage
données IEC
SINT Entier court avec 8 -128 a 127
signe
USINT Entier court sans 8 0 à 255
signe |
INT Entier avec signe 16 327/68 a
32767
UDINT Entier double 32 ба
sans signe 42944967296
Tableau 3-1 Types de données entières supplémentaires pour les paramètres des blocs
fonctions
Dans le tabieau 3-1, les types de données décrits comme "sans signe"
impliquent qu'il est uniquement possible de mémoriser des valeurs
positives.
wh
E
=
CL
o
=
Lu
aj
Le
Guide utilisateur PC3000 39
Texte structuré
Attention
H faut prendre des précautions lorsqu'on affecte des valeurs
entières créées par des expressions en Texte stucturé à
des paramètres entiers qui ne sont pas du type normal
DINT. La plage de la valeur entière créée par le Texte
structuré doit se situer dans la plage du type de données du
paramètre qui doit recevoir la valeur. Si cette valeur est hors
plage, une valeur incorrecte risque d'être affectée, par
exemple le fait d'affecter la valeur DINT 300 à un USINT
échouera car la valeur maximale pour USINT est 255.
N.B. : ces types de données entières supplémentaires ne
sont utilisés dans aucun des blocs fonctions et fonctions
standard PC3000, à l'exception des fonctions de chaîne
LEN, LEFT, RIGHT,MID, INSERT, DELETE, REPLACE,
FIND, JUSTIFY LEFT, JUSTIFY RIGHT,
JUSTIFY CENTRE qui possédent certains paramétres
antiers USINT,
La description des fonctions at des blocs fonctions dans les Manuels des
fonctions et blocs fonctions PC3000 inclut le type de données de chaque
paramètre.
Adresse d'E/S
Le type de données Adresse d'E/S sert à mémoriser la position physique
d'un bloc fonction de canal d'E/. l! s'agit d'un type de données PC3000
spécial qui n'est pas défini par la norme IEC. Il est impossible de manipuler
les paramêtres de ce type en Texte structuré car cela n'aurait aucun intérêt
pratique.
М.В. : 125 blocs fonctions de canaux d'E/5 peuvent être
affectés à différentes adresses physiques à l'aide des
utilitaires offerts par la station de programmation sur l'écran
Définition matérielle.
Les paramètres d'adresses d'E/S font l'objet d'une discussion dans le
chapitre 2, Concepts de programmation PG3000.
Conversion de types de données
I! existe Une vaste gamme de fonctions qui permettent de convertir les
différents types de données entre eux ; cf. le Manuel! des fonctions du
PC3000, chapitre Fonctions de conversion des types, pour avoir ia liste
complète.
+10
Guide utlisateur PC3000
Texte structure
Par exemple, un comptage mémorisé sous la forme d'un entier peut étre
nacessaire dans une expression pour le calcul de la valeur d'une sortie
analogique. Dans ce cas, il est possible d'utiliser la fonction
DINT_TO_REAL pour convertir la valeur entière en valeur à virgule
flottante (RÉAL), c'est-à-dire
height.Process val ‘=
DINT_TO REAL(count) " 100.5;
ENDROITS OU IL FAUT UTILISER LE TEXTE STRUCTURE
il est possible d'utiliser le Texte structuré pour trois emplois différents dans
un programme PC3000 mais, dans chaque cas, la structure de base du
langage est identique.
Emploi But Eléments de langage =
Cablage par soft Interconnexion des blocs | Affectations ©
fonctions Expressions >
Actions de pas Affectation de valeurs Affectations Г
do os iones | Expression
Instructions
Instructions
conditionnelles
Conditions de | Définition d'une condition | Expressions
transition qui, lorsqu'elle est "vraie”,
provoque l'activation d'un
ou plusieurs pas
nouveau(x)
Table 3-2 Utlisation du texte structuré
Le Texte structuré offre quelques éléments simples et faciles à retenir
(affectations, instructions, expressions et instructions conditionnelles) qui,
lorsqu'ils sont utiïisés ensemble, donnent un langage souple et expressif.
Pour réaliser des programmes FC3000 efficaces, vous avez intérêt à vous
familiariser avec les éléments de langage suivants.
Guide utilisateur PC3000 3-11
Texte structuré
AFFECTATIONS
Les affectations en Texte structuré permettent l'écriture de nouvelles
valeurs dans les paramètres d'entrée des biocs fonctions. Ces valeurs
peuvent être dés constantes ou fa valeur d'autres paramètres ou bien
peuvent être dérivées d'autres paramètres à l'aide d'expressions. Les
affectations servent à interconnecter les blocs fonctions, c'est-à-dire à les
cäbler par soft, et à définir de nouvelles valeurs de paramètres dans les
pas des GRAFCET.
Exemples :
loop! .Setpoint := 30.5;
count1.Process Val := 300;
pulse3.Prog Time = T#1s;
heati.Process Val := loop1.Qutput;
speed.Process_ Val := rate.Process_ Val” 20;
Une affectation commence toujours par le nom du paramètre d'entrée du
bloc fonction à gauche suivi du symbole ":=".
La valeur a droite (c'est-à-dire située après le symbole “:=") doit donner
une valeur péssédant le même type de données que le paramèêtre d'entrée
du bloc fonction. Le texte de l'affectation se termine toujours par un point-
virgule ";".
Lors de la création d'affectations par "câblage par soft”, la station de
programmation insère automatiquement les symboles "==" et ";".
N.B. : la station de programmation indique “Erreur Texte
structuré incorrect" si l'on effectue une affectation à Un
paramètre de sortie de bloc fonction. Les affectations aux
paramètres d'entrée/sortie sont autorisées.
Lorsqu'on utilise une affectation pour inter-connecter ou “cäbler par soft”
des blocs fonctions comme élément de la stratégie de régulation continue,
| faut penser que l'affectation sera évaluée en continu, c'est-à-dire à la
fréquence de scrutation de tâches du bloc fonction auquel l'affectation est
effectuée.
Expressions
Il est possible de créer une vaste gamme d'expressions à l'aide des
opérateurs Texte structuré standard, afin que les valeurs dérivées puissent
être calculées à partir des parametres des differents types de données ST.
Les expressions sont utilisées a droite des affectations et dans les
expressions conditionnelles. Une expression simple type comporte un cu
deux paramètres ou constantes et un opérateur.
3-12
Guide utilisateur PC3000
Texte structuré
Exemples d'expressions simples :
123 + 34.6
10000 * count.Process_Val - loop1.Setpoint
NOT switch.Process_Val
Exemples d'expressions simples dans les affectations :
(* Add 120.0 degrees to the current soak temperature *)
soak Temp. Setpoint := soakTemp. Setpoint + 120.0;
(* The line rate is 2 M/S plus 50% the conveyor speed *)
ineRate.Process Val := 2.0 +
conveyor.Process Val” 0.5;
("Маме 15 ОМ if O2 supply is OFF and H2 is ON”)
valve.Process Val := NOT Q2 Process Val AND
H2.Process Val;
A
==
por
ra
>
=
Hh
PE
A
Expressions complexes
Dans certains cas, il peut être nécessaire de construire des expressions
complexes comportant de nombreux paramêtres et opérateurs. Une
expression complexe est composée de nombreuses sous-expressions qui
peuvent elles-mêmes être composées d'autres SOUS-&xpressions ou
d'expressions simples. Pour clarifier l'ordre d'exécution des expressions
complexes, il ast possible d'utiliser des parenthèses "(”, ")" pour identifier
las sous-expressions.
Exemples :
{{ airPress.Val* 13.54)
+ ( gasPress.Val * 34.32 )
- ( vapPress.Val * 0.5 Y
(switch.Process_Val AND dig3.Process_Val)
OR
(overpress.Process_Val AND NOT Alarm.Val)
Guide uflisateur PC3C00 2-13
Texte structuré
INSTRUCTIONS
Une section de Texte structuré est composée d'un certain nombre
d'instructions. Une affectation est un exemple d'instruction simple en Texte
structuré. Les instructions conditionnelies sont plus complexes et
permatient l'exécution sélective d'ensembles d'instructions en Texte
structuré, de la manière décrite dans la section suivante.
Dans un pas de GRAFCET, il est possible d'utiliser une grande variété
d'instructions pour configurer les valeurs des paramètres d'entrée des
blocs fonctions selon les besoins de la phase ou de l’état du process
considéré.
Exemple :
BEGIN
heater1.Process_ Val := 123.0;
heater2.Process_Val := 130.0;
fan.Process_Val := 1 (* ON”);
END
N.B. : ies mots-clés BEGIN et END sont ajoutés
automatiquement par là station de programmation lors de la
création de Texte structuré pour un pas. lls indiquent que le
Texte structuré définit tes actions des pas.
Instructions conditionnelles
H est possible d'évaluer un ensemble d'instructions de manière
conditionnelle en utilisant une structure d'instructions condttionnelles. Le
Texte structuré PC3000 fournit iles mots-clés IF, THEN, ELSIF, ELSE et
END_IF pour permettre la séléction conditionnelle des instructions en
fonction de certains critères de régulation.
Dans la forme la plus simple, il est possible d'utiliser IF, THEN et END_IF
pour sélectionner un ensemble d'instructions de manière conditionnelle.
Exemple:
IF switch.Process Val = 1 (* COOL ”) THEN
fan.Process Val := 1 (* ON”);
fanSpeed.Process_Val := 230.0;
END IF;
l'expression entre les mots-clés IF et THEN peut être soit simple soit
complexe mais doit donner un résultat booléen (BOOL), c'est-à-dire que
l'expression doit donner un résultat qui ne peut être que “vrai” (1) ou "faux"
(0). Cette expression est appelée expression bocléenne.
3-14
Guide utilisateur FC3000
Texte structuré
Dans l'exemple, les affectations à fan.Process Val et
fanSpeed.Process_V'al ne peuvent être effectuées que lorsque
switch. Process_Val a la valeur 1, dans le cas contraire les affectations ne
sont pas prises en compte. Tout le Texts structuré entre IF et END_IF est
appelé instruction conditionnelle IF et, comme les autres instructions, il doit
se terminer par un point-virgule ";".
ll est possible d'évaluer des instructions de remplacement à l'aide du mot-
clé ELSE.
Exemple:
IF switch.Process Val THEN
gasFlow.Process Val := 100.0;
almEnable.Val := 1 (* ON *;
ELSE
gasFow.Process Val := 30.0;
almEnable.Val := 0 (* OFF *); od
report. Val := 'STANDBY": =
END_IF; >
Dans cet exemple, les affectations à gasFlow.Process_Val, almEnable. Val pr
et report. Val sont uniquement évaluées si switch.Process Val est sur off
(arrêt).
Etant donné que switch.Process Val produit une valeur booléenne, elle
peut être utilisée comme expression conditionnelle dans l'élément
IF...THEN.
L'élément ELSIF ... THEN peut servir à sélectionner un ou plusieurs autres
ensembles d'instructions de remplacement.
Exemple:
IF count = 0 THEN
speed.Process Val := 20.0;
door1.Process Val := 0 (* SHUT *);
ELSIF count < 10 THEN
speed.Process Val = 40.0;
door2.Process_Val := 0 (* SHUT *);
ELSE
speed.Process Val := 60.0;
door3.Process Val := 0 (* SHUT *);
END IF;
Guide utilisateur PC3000 315
Texte structuré
Dans ce cas, si ie comptage est égal à zéro, lé premier ensemble
d'affectations est effectué, si le comptage est inférieur à 10 mais n'est pas
nul, le deuxième ensemble d'affectations est effectué. Dans le cas
contraire, le dernier ensemble d'affectations est appliqué.
Lorsqu'un élément Е... THEN est suivi d'éléments ELSIF … THEN
multiples, seul l'ensemble d'instructions associé à la première expression
conditionnelle vraie est évalué.
NB. : il est bon de s'assurer que las éléments ELSIF
multiples ont des conditions qui s'excluent mutuellement
pour faciliter la lecture des programmes.
Il est possible d'utiliser d'autres instructions conditionnelles dans n'importe
quel ensembie d'instructions d'une instruction conditionnelle. En d'autres
termes, les instructions utilisant les éléments IF peuvent être utilisées dans
d'autres éléments IF. Cela permet de construire des instructions
extrûmement complexes. Chaque instruction IF "emboitée” doit se terminer
par "END IF ;"
Exemple:
IF zone1.Process_Val > 300 THEN
timer.Prog_ Time := T44s;
cool.Output.High := 90.0;
IF zonet Process _Val> 310 THEN
boost.Process_Val := 400.0;
ELSE
boost.Process_Val := 350.0;
END IF;
END IF;
3-16
Guide utilisateur PG2000
Texte structure
OPERATEURS
Les opérateurs indiqués dans les tableaux 3-3, 3-4 at 3-5 peuvent être
utilisés dans les expressions en Texte structuré PC3000.
Opération arithmétique
Opération Symbole Types de données
Addition + Virgule flottante(REAL), Entier(DINT)
Soustraction — Virgule flottante(REAL),
Entier(DINT}
Remarque 1
Multiplication x Vigule flottante(REAL),
Entier(DINT}
Division / Virgule flottante(REAL)
Entier(DINT) at
Remarque 2 3
Modulo MOD Entier(DINT} =
Remarque 3 y
Tableau 3-3 Opérateurs arithmétiques en Texte structuré
Remarque 1. Le symbole ”-" est aussi utilisable pour la
négation, c'est-à-dire pour convertir une valeur er lui
donnant le signe contraire.
Exemple :
loop.Setpoint := - SPlow.Val;
Remarque 2. L'opérateur de division peut être utilisé avec
deux paramètres ou constantes de type entier. Le résultat
est toujours un entier et toute partie décimale du résultat est
rejetée.
Exempie :
12/5
(* This will yield 2 as the integer result.”)
Remarque 3. L'opérateur modulo donne le reste d'une
division entière. || peut uniquement être utilisé avec des
données de type "entier" et est normalement utilisé pour
compter selon un certain modulo.
Guide utilisateur FC3000 | 3-17
Texte structuré
Exemples :
12 MOD 4 (* Result is 0 *
14 MOD 4 (* Result is 2”)
-4 MOD 3 (* Result is -1 *)
gearPos.Val := (gearPos.Val + puises. val MOD 7;
(* The value of gearPos.Val is aways between 0 and 6 for any
value of pulses.Val *)
3-18 Guide utilicateur PC3000
Texte structuré
Opérateurs de comparaison
Opération Symbole Types de données
Supérieur a > Virgule flottante(REAL), Entier(DINT),
Tous les types de données date et heure
Inférieur à < Virgule flottante(REAL),
Entier(DINT),
Tous les types de données date et heure
Egal — Virquie flottante(REAL) Remarque 1,
Entier(DINT),
Tous les types de données date et heure
Différent de <> Virgule flottante(REAL) Remarque 1,
Entier(DINT),
Tous les types de données date et heure ©
Supérieur ou >= Virgule ftottante( REAL) >
égal à Entier(DINT), o
Tous les types de données date et heure —
inférieur ou égal <= Viraule flottante(REAL) и
а Entier(DINT),
Tous les types de données date et heure
Tableau 3-4 Opérateurs de comparaison en texte structuré
Remarque 1. Il est normalement déconseillé de tester
l'égalité des valeurs à virguie fiottante car de petites erreurs
d'approximation peuvent provoquer un êchec imprévisible du
test, par exemple { 3.43212 * 2 = 6.86424 ) pourrait étre
faux.
Ces opérateurs peuvent servir à comparer les valeurs des données de
type à virquie flottante, entier et date et heure, c'est-à-dire les données de
type IEC REAL, DINT, TIME, TIME_OF_DAY, DATE, DATE_AND_TIME.
Les deux valeurs comparées doivent avoir le méme type de données. Ces
opérateurs restituent toujours un résultat de type booléen (BOOL) et
servent normalement à définir les conditions limites des process.
Guide utilisateur PC3000 +19
Texte structuré
Exemples:
purge. Time >= T#4m (* Purge step duration
greater than or equal to 4 minutes ? ")
kbop1.Setpoint > 300.0 (* Loop Setpoint
Opérateurs booléens
over 300.0 ? ”)
inverse ou contraire.
Opération Symbole Types de données
ET booléen AND Booléen (BOOL)
OÙ booléen OR Booléen (BOOL)
OU exclusif bocléen XOR Booléen (BOOL)
Remarque 1
Sens booléen NOT Booléen (BOOL)
Remarque 2
Tableau 3-5 Opérateurs booléens en Texte structuré
Remarque 1. L'opérateur OÙ exciusit (XOR) est utile
lorsqu'il est nécéssaire d'évaluer si, sur deux paramètres, un
seul est “actif” ou "vrai" mais pas les deux. Cet opérateur
donne un résultat faux si les deux paramètres sont vrais.
Remarque 2. L'opérateur NOT (NON) est utilisé avec une
valeur ou expression booléenne unique pour nier is sens
booléen. Cet opérateur peut être utilisé après et en liaison
avec d'autres opérateurs booléens (cf. les exemples
antérieurs d'opéraäteur bocoléen).
Ces opérateurs servent à créer des expressions comportant des données
de type booléen (BOOL). Bien qu’ils soient essentiellement utilisés avec
les entrées et sorties numériques, ls sont également utiles lorsqu'iis sont
utilisés avec des opérateurs de comparaison pour créer des expressions
qui décrivent des conditions complexes.
Exemples:
vent.Process Val := switch1.Process_Val AND
heatFlag.Val OR overPres.Val;
alarm.Val := NOT pressure. Val AND
NOT airvalve.Process Val AND
( zone1.Process_ Val > 500.0) ;
3-20
Guide utifisateur FC3000
Texte structuré
Exemple :
outi.Process Val := ({(in1.Val XOR in2.Val) AND
NOT in3.Val } OR in3.Val;
(* out1.Process_ Val is set to 1 "ON" when only one of the
parameters in1.Val, in2.Val or in3.Val are 1 "ON" *)
Priorité des opérateurs
Les opérateurs ont des priorités différentes pour garantir que, lorsqu'il y à
des expressions complexes portant sur de nombreux opérateurs, l'ordre
d'évaluation est cohérent.
Exempie:
total. Val := a.Val™ 10 + b.Val * 20;
Lorsque cette expression est évaluée, a.Val est multiplié par 10, b.Val par
20 et les deux valeurs sont ajoutées. En d'autres termes, la multiplication
a lieu en premier et a priorité sur l'opérateur d'addition. Les opérateurs de
priorité identique sont évalués de la gauche vers la droite.
i1 est possible de modifier la priorité en insérant des parenthèses "(°°)"
autour des expressions qui doivent être évaluées en premier lieu.
Exemple
total.Val := a.Val ” ( 10 + b.Val * 20);
Dans ce cas, b.Val est multiplié par 20, 10 est ensuite ajouté et le résultat
est muttiplé par a.Val.
En cas de doute sur l'ordre d'évaluation, insérer des parenthèses autour
das expressions qui doivent âtre évaluées ensemble.
'D
[5
=
=
A
=
|)
ra
e
Guide utilisateur PC3000 3-21
Texte structuré
Opérateur Symbole Priorité
Mise entre parenthèses (...} MAXIMALE
Nagation -
Complément NOT
Multiplication *
Division /
Modulo MOD
Addition +
Soustraction -
Comparaison <> 0m 5e
Egalité =
Inégalîté <>
ET booléen AND
OU exclusif booléen XOR
OU booiéen CR MINIMALE
Tableau 3-6 Priorité des opérateurs Texte structuré
3-22 Guide utilisateur PC30G0
Texte structuré
EXPRESSIONS BOOLEENNES
Les expressions bocoléennes produisent toujours un résultat booléen
(BOOL), c'est-à-dire que la valeur est soit 1 pour “vrai” soit À pour "faux".
Ce type d'expression peut servir à décrire les conditions limites d'un
process ou des événements dans des instructions conditionnelles ou des
transitions de GRAFCET. Une expression boolénne peut inéluré n'importe
quels opérateurs at forictions en Texte structuré mais doit donner une
valeur finale booléenne,
Exemples
gasFlow.Process Val >= (valvePos.Process val
+ 300.0 } * flow Val
digini.Process Val AND (heat1.Process Val<250.0}
AND ( soak. Time>== T#40m)
valve.Process Val > SQRT ( IN =
DD
L
=}
LJ
2
=
E
jt
a
loadSize.Process_val * 1.234 )
Guide utilisateur PC3000 des
Texte structuré
FONCTIONS
Le PC3000 offre une vaste gamme de fonctions standard qui peuvent être
utilisées dans les expressions en Texte structuré pour simplifier les
opérations complexes. Il est conseillé de se familiariser avec les types de
fonctions disponibles ; ne pas oublier que les fonctions peuvent souvent
simplifier et minimiser le Texte structuré nécessaire pour résoudre un
problème donné. Une fonction possède un ou plusieurs paramètres et
restitue toujours un résultat unique ayant des données d'un type particulier.
Les catégories sont énumérées dans les tableaux 3-7 et 3-8.
Catégorie But Exemples
Numérique Offre une vaste gamme | ABS REAL, SORT, LOG,
de fonctions EXP, SIN, ACOS
mathématiques
courantes, dont les
fonctions
trigonométriques et
logarithmiques
Sélection Sert à sélectionner des SEL _BOOL, SEL_REAL,
valeurs en fonction d'une | SEL DATE, MAX REAL
condition
Chaine Ensemble complet de EQUAL, LEFT, CONCAT,
fonctions pour manipuler | REPLACE,
les chaînes texte, dont la | JUSTIFY RIGHT
fusion de chaînes et
l'insertion de texte
Tableau 3-7 Catégories de fonctions en Texte structuré
3-24 Guide utilisateur PC3000
Texte structuré
| Catégorie But Exemples
Conversion de Conversion entre les DINT_TO_ REAL,
type types de données REAL TO TIME,
TIME_TO_UDINT
Conversion de
Conversion de valeurs
STRING_TO_DINT,
le compactage de
valeurs multiples vers et
en provenance de
chaines longues pour les
communications serie.
chaine dont les données sont STRING_TO REAL,
de types différents vers | DINT_TO STRING,
et en provenance du UATE TO US STRING
format de chaine texte
Arithmétique Sert à ajouter et à ADD DATE AND TIME T,
temporelle soustraire les durees, les | SUB_DATE AND TIME T,
dates et les dates et ADD TOD TIME
heures |
Compact Les fonctions permettent | EXT REAL FROM STR,
REP REAL IN_STR,
EXT_TIME_FROM_STR,
REP TIME 1IN_STR
Tableau 3-8 Catégories de fonctions en Texte structuré (suite)
De nombreuses fonctions mathématiques comportent une arithmétique
complexe avec virgules flottantes ; par conséquent, pour minimiser
l'allongement du temps système, il ne faut utiliser ces fonctions qu'avec
parcimonie dans le "câblage par soft" associé à ces blocs fonctions qui
tournent à des fréquences de scrutation élevées, par exernple dans le
"câblage par soft" des blocs fonctions numériques.
Le Manuel des fonctions du PC3000 donne une liste complète des
fonctions.
Le
e
=
рн:
a
=
I
ый
LTH
Guide utilisateur PC3000
3-25
Texte structuré
Exemples de texte structuré utilisant des fonctions :
light.Process_Val = EXPT { BASE := 2.0,
POWER := rate.Val );
(* light is given by raising two to the power of "rate" *)
upTime.Val := UDINT_TO TIME (
IN := pulses.Val * spaces.Val);
(* pulses scaled by spaces gives milliseconds upTime *)
Les noms des paramètres de fonctions sont insérés automatiquement par
la station de programmation lors de l'insertion d'une fonction.
Les valeurs fournies aux paramètres de fonctions peuvent comporter des
expressions complexes en Texte structuré à condition que le résultat de
l'expression ait le même type de données que le paramètre de fonction
considéré. La station de programmation vérifie que les expressions
produisent le bon type de données pour les paramètres de fonctions.
SELECTION DE VALEURS
Deux méthodes permettent de sélectionner des valeurs de remplacement
dans les affectations et expressions en Texte structuré.
Fonctions de sélection
Ce type de fonction permet fa sélection d'une valeur de remplacement
parmi deux, INO et INT, en fonction de la valeur d'une entrée booléenne
(BOOL) G. Le résultat est la vaieur d'INO si la valeur de G est 0 “fausse”,
dans le cas contraire, le résuliat est la valeur d'IN1 si la valeur de G est 1
"vraie”, Des fonctions de sélection sont prévues pour tous les types de
données PC3000. L'entree de sélection G peut prendre une valeur dérivée
de n'importe quelle expression booléenne.
3-26 Guide utilisateur PC3000
Texte structuré
ВОТ — — EFAL
REAL | | i
REAL == |
\.
Figure 3-1 Exemple de fonction de sélection
Exemples: qi
speed.Val := SEL_REAL( G:= sensor.Val, 3
ING := -20.0 , o
INT := 30.0 ); =
in
(* H sensor.Val is true value is 30.0,
otherwise the value it is -20.0 ©)
puise .Prog_ Time := SEL_TIME(G := rate.Vai>100.0,
INO := TH55 ‚,
IN1 := T#2s500ms);
(* pulse is 2.5 seconds for rate greater than
100.0 otherwise pulse is 5 seconds *)
Les fonctions de sélection sont définies dans la norme IEC 1131-3 et sont
particulièrement utiles dans le "câblage par soft" où il est nécessaire de
changer la valeur affectée en fonction d'une condition spéciale.
Guide utlisateur PC3000 327
Texte structure
Exemple:
loop1.Process_Val := SEL_REAL(G:= input 1.Status,
INO:= input?.Process_ Val ,
INT:= input 1.Process Val);
Dans cet exemple, hbop1 du PID est relié à input! analogique alors que
l'état d'input1 est 1, c'est-a-dire "MARCHE”. Toutefois, si input1 subit un
incident comme une rupture de capteur, l'état passe à 0, c'est-à-dire
"NOGO" et loop1 continue avec la valeur de process d'input2.
Sélection de valeurs à l'aide de l'élément IF (SI)
Une deuxième méthode, qui ne répond pas à la norme IEC 1131-3, offre la
possibilité de sélectionner des valeurs à l'aide de l'élément IF... THEN
(SI... ALORS) pour faciliter la lecture des programmes. L'utilisation de cet
élément est déconseillée si une partie quelconque du programme doit être
par la sufte utilisée sur un système répondant entièrement à la norme ЕС
1131-3.
L'exempie précédent peut être exprimé de la manière suivante :
loop1.Process_Val := IF input1.Status THEN
inputt .Process_ Val
ELSE
input2.Process Val
END IF;
IF... THEN nécessite une expression bociéenne qui, lorsqu'elle est égale a
1, c'est-à-dire “vraie”, provoque l'affectation de la première valeur au
paramètre situé à gauche de l'affectation et qui, dans le cas contraire,
provoque l'affectation de la deuxième valeur à ce parametre. Comme pour
la fonction de sélection, l'expression booléenne peut être complexe. Les
valeurs de remplacement peuvent être fournies par des expressions
complexes à condition qu'elles donnent uné vaieur qui possède lé même
type de données que le paramètre affecté.
N.B. En Texte structuré, la valeur affectée lorsque
l'expression booléenne est 1 "vraie” vient après la valeur
affectée lorsque l'expression booléenne est D “fausse”,
lorsqu'on utilise la fonction de sélection, mais cet ordre est
inversé lorsqu'on utilise l'élément IF... THEN.
3-28
Guide utilisateur PC3000
Texte structuré
REGLES D'ECRITURE CORRECTE EN TEXTE STRUCTURE
La station de programmation vérifie que l'ensemble des instructions en
Texte structuré ont la structure (c'est-à-dire une syntaxe) correcte et, dans
certains cas, que les types de données utilisés dans les expressions sont
cohérents. Toutefois, il est Don de toujours écrire un Texte structuré
possédant une structure correcte et d'utiliser les opérateurs possédant des
types de données corrects. Les principaux points à prendre en
considération sont les suivants :
1. S'assurer que chaque instruction se termine par un point-virgule, même
chaque instruction conditionnelle.
2 Vérifier que les éléments comme IF … THEN sont correctement structurés
at se terminent par END 1F.
3, Les expressions doivent traiter des types de données homogènes.
4. Les opérateurs doivent être utilisés correctement. Par exemple, tous les
opérateurs sauf "-” et "NOT" doivent être situés entre deux paramètres,
constantes ou expressions. Exemples d'expressions interdites :
switch.Val := a.Val AND OR b.Val ; X
heat.Val =" 100.0 / O2flow. Val ;
5. Utiliser des opérateurs avec des types de données apparés. Cela peut
nécessiter l'utilisation des fonctions TYPE_CONVERSION pour garantir
que les paramètres ou les expressions sont convertis dans le type de
données qui convient.
D
o
-
ij
о
=
es
ij
©
Guide utilisateur PC3000 3-29
Chapitre 4
GRAFCET
Edition 1
Sommaire
PRESENTATION DA envenena 4-1
introduction aux Grafeet ................. PT
SELECTION DE SEQUENCES A ALTERNATIVES .. .. 4-3
SEQUENCES PARALLELES -.................e2neneamamaarimancccarcs. 4-6
ETAPES MACROS ET MACROS ..en.iiemeeeemceciarerianareacre 4-5
Etapes macros interruptibles ..........—- er... 4-6
Désactivation des étapes … eraarenas ..4-6
EXECUTION DES ACTIONS EXECUTEES UNE FOIS . 4-7
Pas dont les actions sont exécutéas une ois ............. 4-7
Pas continu. a a $7
SYNCHRONISATION DE L'EXECUTION D DES PAS........ 4-8
Actions de synchronisation dans les pas continus ...... 4-9
INTERACTION ENTRE LES GRAFCET ET LES BLOCS Tr
FONCTIONS .. panrenananas enanaonan reune nracennera STO ©
ATTRIBUTS DES PAS saannneanenaesanesras eee nasenasa men ta nana n saura 4-11 =
BLOCS FONCTIONS PASETMACROS ...................... 412 o
REGLES DE PROGRAMMATION DES GRAFCET ....... 4-12
Regles d'utitisation des Graîcet serieuse 4-12
Régles d'utilisation des pas .......... me... ..eserevererenaee 4-13
Règles d'utilisation des transitions..,..........——..——.—. 4-13
MAUVAISE CONCEPTION DES GRAFCET .................. 4-13
Guide utilisateur PC3000 Sommaire 4-1
PRESENTATION
Ce chapitre décrit ce qui suit :
« Motifs de l'utilisation des GRAFCET {SFC)
« Principaux concepts des GRAFCET
+ Utilisation du Texte structuré pour définir les pas et les transitions des
GRAFCET
« Relation entre l'exécution des GRAF CET et l'exécution des blocs fonctions
pour la régulation continue
+ Conception sûre ou dangereuse des GRAFCET.
Introduction aux GRAFCET
Le GRAFCET (abrégé en SFC) est un langage de programmation
graphique formalise par la norme IEC 1131-3 et qui sert à décrire les
aspects séquentiels d'un programme de régulation en termes de pas et de
transitions discrets.
Pour construire une séquence, on relie graphiquement deux éléments de
base d'un programme, les pes et les transitions, comme le montre la figure
4-i. Les liaisons graphiques sont analogues au "câblage par soit” utilisé
pour connecter les blocs fonctions .
Start
Pas —t— -b)— Transition
ces
> End ;
--
LJ
=
a
ot
а
o
Figure 4-1 Eléments de base des GRAFCET
Un pas, qui est décrit comme un cadre autour d'un nom de pas,
définit un ensemble d'actions qui sont effectuées lorsque
l'installation ou la machine régulée est dans un état défini. Le pas
reste actif jusqu'à ce que la condition associée a une transition
suivante, décrite par une courte ligne horizontale, devienne “vraie”.
Guide utlisateur PC3000 4-1
Grafcet
Par exemple, dans le cas de la régulation d'un four, Un pas
pourrait établir des températures de points de consigne pour lès
boucles de régulation PID et la transition suivante pourrait avoir
une condition qui attendrait que les boucles de réquiation soient
stables.
Une série de pas et de transitions est raliée par des lignes, comme le
montre la figure 1, pour former une séquence. Lors de l'exécution d'une
séquences, le premier pas (dans le cas présent, le pas "Start”) est activé. H
reste actif jusqu'à ce que la condition pour la transition suivante soit vraie,
c'est-à-dire la transition a). Lorsque la condition pour la transition a) est
vraie, le pas suivant "Step A" est active et le pas "Start" est désactivé. De
la même manière, la séquence défile tous les pas reliés. Dans cet
exemple, un seul pas à la fois est actif.
Normalement, Un pas contient des actions qui changent les valeurs des
paramètres d'entrée des biocs fonctions pour modifier le comportement de
la partie "régulation continue” du programme. Un pas défini habituellement
les actions en Texte structuré mais peut représenter un autre GRAFCET
en utilisant le concept "étape macro” traité dans la suite de ce chapitre.
La condition associée à une transition est définie à l'aide d'une expression
boc:éenne écrite en langage Texte structuré (cf. chapitre 3 Texte
structuré). Une condition peut définir n'importe quel événement temporel
ou condition limite. La figuré 4.2 présente un exemple dé séquence simple
et ses actions et transitions de pas associées définies à l'aide du Texte
structuré ; cet exemple est tiré de l'exemple de programme présenté dans
le chapitre =.
Setup Loop1 Setpoirt:=20.0;
— ABS REAL (Temp\ Process Va-HLoop1 Setpoint) < 2.0
Heatup Lospi.Setpont:=60.0;
—— Temp!.Process Vab 55.0 AND Heatup. T mez>= T#30s
Cool | Loop1.Setpont=20.0:
mt Templ.Process Va=24.0
| Finish
Figure 4-2 Exemple de sequence en Texte structure
4-2
Guide utilisateur PC3000
Grafcet
Sur la figure 4-2, si l'on suppose que is pas Setup est actif, le pas Heatup
est activé lorsque la condition de transition
"ABS REAL (Templ.Process Val - Loopl.Setpoint) < 2.0" devient
vraie, c'est-a-dire lorsque la valeur absciue de l'érreur de la boucle de
régulation du PID est inférieure á 2,0. Des que Heatup est activé, le pas
Setup est désactivé et sa transition associée n'est plus évaluée.
N.B. : il suffit que la condition d'une transition suivant un pas
actif soit évaluée une fois comme étant "vrale” pour
provoquer l'activation du pas suivant.
SELECTION DE SEQUENCES ALTERNATIVES
Il ast possible de sélectionner les parties alternatives d'une séquence avec
des transitions multiples en provenance d'un pas, comme le montre
l'exemple a) de la figure 4-3. A partir du pas "Load", il existe trois pas
alternatifs qui péuvent être activés. La sélection effectuée dépend de la
transition qui est "vraie” la première lorsque "Load” est actif.
Cas où les séquences alternatives sont utiles :
* Lorsque les phases du process doivent varier en fonction du type de
produit en cours de fabrication, comme le montre la figure 4-3.
* Lorsqu'un ensemble spécial d'actions est nécessaire à la suite d'une
défaillance du process, c'est-à-diré une reprise après défaut.
« Lorsqu'il est nécessaire de répéter un ensembie de pas un certain nombre
de fois puis de saisir une séquence alternative une fois que la condition
finale a été atteinte.
Le système d'exploitation PC3000 évalue les transitions de la gauche vers
la droite. Dans cet exemple, si les trois conditions de transition sont
“vraies”, seul le pas "Heat" sera sélectionné
N.B. : lorsqu'il y a des transitions alternatives, un seul des
pas successifs est activé, même si plusieurs conditions de
transition sont “vraies”.
pu
a
о
Ш.
«<
+
Oo
Guide utilisateur PC3900 4-3
Grafcet
SE
| Settle Thaw |
—+— ©)
| Unicad |
Figure 4-3 Sélection de séquences alternatives
Les séquences alternatives peuvent rejoidre d'autres séquences en reliant
la transition du demier pas à Un pas d'une séquence différente, cf. les
figures 4-3b) et c).
SEQUENCES PARALLELES
Il est possible de définir des sequences qui doivent tourner en paralléle en
les reliant par un trait horizontal double suivant une transition simple (cf.
figure 4-4 a).
| Start
— а)
Ne
| Purge Load f Pres_Chk
| Heat | HoldLoad | Shut OH
| Stir | Unload
| Drain |
—=
| Finish |
Figure 4-4 Séquentes parallèles
4-4 Guide utilisateur PC3000
Grafcet
Sur la figure 4-4, lorsque le pas "Start" est actif et que la condition de
transition en a) est "vraie”, les pas "Purge", "Load" et "Pres Chk"” sont
activés simultanément, ce qui fait tourner les trois séquences en parallèle.
Des séquences parallèles peuvent être nécessaires lorsqu'un certain
nombre d'opérations de process peuvent toumer indépendamment les
unes des autres. La figure 4-4 montre trois séquences de régulation d'une
cuve de réacteur, d'un mécanisme de chargement de tâches et de
régulateurs de pression.
La station de programmation permet de lancer un maximum de 12
séquences parallèles à partir d'une seule transition. D'autres transitions
peuvent lancer des séquences parallèles supplémentaires sur le même
grafcet si besoin est.
Dans de nombreuses applications de régulation, il est souvent nécessaire
d'attendre qu'un certain nombre de séquences parallèles se termine avant
de passer à la partie suivante de la séquence principale. On peut y
parvenir en utilisant une séquence parallèle rendez-vous représentée sur
la figure 4-4b) par un trait horizontal double joignant un certain nombre de
séquences parailèles. Un rendez-vous est toujours suivi d'une transition
simple.
NB. : la condition pour la transition rendez-vous est
uniquement évaluée lorsque tous les pas précédents
connectés sont actifs. Lorsqu'elle est "vraie”, tous les pas
précédents sont désactivés et le ou les pas suivant(s)
est(sont) activé(s).
Un rendez-vous peut être nécessaire lorsque plusieurs séquences doivent
être finies avant qu'il soit possible de continuer. Par exemple, vous pouvez
avoir besoin d'être sûr qu'une cuve de réacteur est vidangée, que le
produit a été déchargé et que les régulateurs de pression ont été fermés
avant d'ouvrir une porte de la cuve.
ETAPES MACROS ET MACROS
La station de programmation permet de construire des séquences
complexes à partir d'une hiérarchie de GRAFCET. Le graphique supérieur
est affiché lorsque l'éditeur de GRAFCET apparaît pour la première fois
sur la station de programmation et il est appelé graphique principal. || её!
possible de créer une étape comme étape macro en lui affectant l'attribut
“Macro”. Ceia implique que l'étape représente une macro de niveau
inférieur.
--
LL
=
La
ot
Œ
=)
Guide utlisateur PC3000 45
Chaque macro doit avoir une seule étape identifiée comme l'étape de
départ. Lorsqu'une étape macro est activée, elis provoque l'activation de
l'étape de départ de l'étape macro de niveau inférieur.
Marco chart
Load nn В Pump
M Process Anneal
FT
| Unload > = Depress
Figure 4-5 Appel d'une macro à partir d'une étape macro
La figure 4-5 montre un exemple simple d'étape macro "Process" qui
représente une macro de niveau élémentaire. Là séquence est transiérée
de l'étape "Load" sur le graphique de niveau supérieur à l'étape de départ
“Pump” sur la macro lorsque la transition de "Load" à "Process" devient
“vraie”. La transition de “Process” a "Unload" est uniquement évaluée
lorsque l'étape finale de là macro “Depress” est atteinte. Lorsque cette
transition est “vraie” et l'étape "Depress” est active, la séquence revient au
graphique de niveau supérieur, à l'étape "Unload”.
Les macros peuvent appeler des macros supplémentaires sur un
maximum de 20 niveaux, ce qui permet de créer des hiérarchies
complexes de séquences.
N.B. : il est bon de s'assurer que le graphique principal décrit
uniquement les étapes de process primaires. Normalement,
les étapes primaires sont des étapes macros qui
représentent dés graphiques de niveau élémentaire.
Etapes macros interruptibles
Une étape macro interruptible offre un mécanisme permettant de
désactiver toutes les étapes dans les macros de niveau inférieur.
Lorsqu'une étape macro interruptible est active, la macro de niveau
inférieur est activée 4 partir de l'étape de départ (c'est-à-dire comme pour
une étape macro normale). Toutefois, dans ce cas, la transition suivant
l'étape matro est évaluée en continu. Si la condition de transition devient
“vraie”, toutes les étapes de la macro de niveau inférieur (y compris celles
des macros situées á un niveau encore inférieur et qui proviennent
d'étapes macros) sont désactivées.
46 Guide utilisateur PC3000
Grafcet
Cela peut être utile lorsqu'une séquence compiexe doit être rapidement
supprimée, par exemple pour arrêter une séquence de chargement
automatique lorsqu'on appuie sur un interrupteur manuel.
М асиз chart
y Pump
Process | E Anneal |
+ y +
Depress
{=>
<
i
Figure 4-6 Utilisation d'une étape macro interruptible
Sur la figure 4-6, "Process” est une étape macro interruptible. Lorsque
"Process" est activé, on entre dans la macro à partir de l'étape de départ
"Pump" . Là condition de la transition à partir de "Process" est évalués en
continu pendant que la séquence de la macro est active. La ligne en
pointillés montre le cas où l'étape "Anneal" est interrompue parce que la
transition provenant de "Process" est devenue “vraie”. La séquence de la
Macro de niveau supérieur continue à partir de l'étape "Unload” qui suit
"Process".
ll est possible de faire d'une étape finale une macro interruptible. Dans ce
cas, c'est la(les) transitionís) de l'étape de la macro de niveau
Immédiatement supérieur qui est(sont) testée(s) et qui, lorsqu'elle(s)
est(sont) vraie(s), met{mettent) fin A la Macro dé niveau inférieur.
Désactivation des étapes
Lorsque des étapes sont désactivées à la suite de l'interruption d'une
macro, les actions d'une étape sont toujours exécutées en totalité. Cela
signifie qu'il n'est jamais possible qu'une étape soit désactivée alors que
des actions sont en cours d'exécution.
Une étape dont les actions sont exécutées une fois sst désactivée apres
que toutes les actions ont été exécutées une fois.
Une étape continue est désactivée après que toutes les actions ont été
exécutées au moins une fois, Les actions sont exécutées encore une fois
après la désactivation de l'étape. Au cours de cette dernière exécution de
l'étape continue, le paramètre Executing de l'étape est faux. Le texte ci-
après donne une description plus détaillée à ce sujet.
pe
Li)
=
Lu
<
oc
o
Guide utilisateur PC3000 4-7
Grafcet
EXECUTION DES ACTIONS DE PAS
Les actions de tout pas décrit en Texte structuré peuvent être exécutées
dans deux modes : pas à pas ou continu.
Pas dont les actions sont exécutées une fois
Il s'agit du mode d'exécution normal par défaut dans -lequel toutes les
actions du pas sont exécutées une fois lorsque le pas est activé pour la
première fois.
| Heatup Loop1.Setpoint :=60.0;
Loop?. Setpoint :=70.0;
+ Temp1.Frocess Val-56.0 AND Heatup.Time>= Т#305;
Figure 4-7 Pas dont les actions sont exécutées une fois
La fiqure 4-7 décrit Un pas dont les actions sont exécutées une fois
"Heatup”. Les affectations à Loop\.Setpoint st Loop2 Setpoint se
produisent uniquement lorsque le pas est activé pour la première fois. La
condition de transition attend que le pas soit actif pendant au minimum 30
secondes, loutetois, bien que le pas reste actif, les affectations ne sont
effectuées qu'au début et n'ont aucun effet pendant le reste de cette
période.
Ce mode d'exécution convient à la majorité des pas où il est nécessaire de
simplement configurer les paramètres des blocs fonctions pour un état ou
une opération de process donné(e).
N.B. : ce mode est équivalent au qualificateur d'action Pulse
défini dans la norme IEC 1131-3,
Pas continu
Ce mode d'exécution qui peut être fixé par l'attribut pas continu provoque
l'exécution répétée des actions d'un pas tant que ce pas est actif. Cela
peut être par exemple nécessairs lorsqu'il faut suivre les valeurs d'entrée
pendant une période donnée ou modifier en continu les valeurs de sortie.
En fait, UN pas continu se comporte comme un élément de “câblage par
soft” temporaire.
; IFinput.Process Val-High.ValTHEN
| HighScan £E High.Val :=nput. Process Val,
E END Е;
+ HighScan Time >= T#30m
Figure 4-8 Pas continu
4-8 Guide utilisateur PG3000
Grafcet
Sur la figure 4.8, un pas continu sert à surveiller une entrée analogique
pendant une période de 30 minutes et à enregistrer la valeur maximale
atteinte dans le paramètre High. Val.
NB. : les actions d'un pas continu sont exécutées encore
une fois après que la transition suivante du pas est devenue
"vrale”, ce qui fait l'objet de la discussion dans la section
suivante.
SYNCHRONISATION DE L'EXECUTION DES PAS
Tous les graphiques sont scrutés de manière répétitive à la fréquence de
scrutation fixée par la tâche affectée au GRAFCET. Tous les pas actifs
sont évalués et les actions de pas associées sont exécutées en fonction
du mode d'exécution de chaque pas.
Exécution du Grafcet
Pas actif (drapeau X}
Etat de transition
Actions à pas continus
exécutées
Actions pas à pas
exécutées
--
LL
с
LL
<T
i
Oo
Figure 4-9 Syncrhonisation de l'exécution des pas
Guide utilisateur PC-3000 . 45
Grafcet
La figure 4-9 est un diagramme de synchronisation qui montre les
différences entre l'exécution des actions pas à pas et l'exécution des
actions à pas continus. Un pas est actif jusqu'à ce qu'une transition
suivante devienne “vraie” ; il est ensuite désactivé. Le paramètre
Executing (exécution) reste "vrai" pendant que le pas est actif (cf.
également la saction Blocs fonctions de pas et macros).
Les actions d'un pas unique sont exécutées une fois lorsque le premier
pas devient actif.
Par opposition, les actions d'un pas continu actif sont exécutées à chaque
scrutation du GRAFCET. Il faut toutefois noter que les actions sont
également exécutées une fois encore après que le pas a été désactivé, cf.
figure 4-10. Cette possibilité est offerte afin que les pas continus puissent
avoir des fonctions leur permettant de fermer certaines fonctions lors de la
sortie.
IF Fumping.Executino=1{"CN"THEN
, Pump.Process Val :=mput.Process Val;
c| Pumping ELSE
Pump.Process_ Val :=100.0;
END IF
Pumping. Time>=T#1h ;
Figure 4-19 Exécution des actions á pas continus lors de la sortie
La figure 4-10 montre un exemple de pas continu dans lequel une
affectation est effectuée lorsque le pas est désactivé. Lorsque le pas
"Pumping" est actif, Pump .Process Val est mis à jour en continu à
partir de input .Process Val. Toutefois, lorsque le pas est
désactivé, Pump.Process_val est remis à 100,0. Le paramètre de pas
Executing (abrégé en X) sert à sélectionner les actions qui doivent se
produire lorsque le pas est actif et celles qui ont lieu une fois lorsque le pas
est désactivé, c'est-à-dire lorsqu'il est sur off (cf. également les blocs
fonctions de pas et macros).
Actions de synchronisation dans les pas continus
Le paramètre Time d'un pas continu est mis à jour en continu lorsque ce
pas continu est actif. Cette caractéristique peut être utilisée pour provoquer
la réalisation de certaines actions à des moments différents après le
démarrage du pas.
4-10
Guide utilisateur PC3000
Grafcet
Exemple :
IF shutdown. Time < T41m THEN
pump1.Process_Val := 30;
ELSE
pump1.Process Val := 0;
END IF;
Valve1.Process_Val := (shutdown. Time > T#2m):;
Dans cet exemple, nous supposons que l'arrêt est un pas continu actif
pendant 4 minutes, par exemple, synchronisé par la transition suivante du
pas. Les instructions en Texte structuré des actions du pas garantissent
que la valeur de process de pump1 est positionnée sur 30 au cours de la
première minute puis sur 0. Valvel process val est "vraie", c'est-à-
dire que la vanne est positionnée sur "ON" (marche) après deux minutes.
-
Ш
o
LL.
<I
С
5
Guide utilisateur PC3000 4-11
Grafcet
INTERACTION ENTRE LES GRAFCET ET LES BLOCS FONCTIONS
|| faut prendré des précautions particulières dans les cas où les valeurs
des parametres des blocs fonctions sont confiqurées dans un pas qui est
suivi immédiatement d'une transition qui effectue un test pour savoir si le
bloc fonction a terminé une opération. Ne pas oublier qu'un bloc fonction
donné peut ne pas avoir le temps suffisant pour s'exécuter entre le
paramétrage des valeurs du pas et le test du résuitat dans la transition.
rampSP.Setpoint :=300: Xx
SiRamp E ESP Mode :=1 ("RUN":
rampSP.Ramp_End=1{"True")
rarmpSF Setpoirt -=300;
StriRamp rampSP Mode :=1 ("RUN"); J
ranpSP Ramp_End-1(*True*) AND
SttRamp.Frme=T #1C0ms
Figure 4-11 Interaction entre les GRAFCET et les blocs fonctions
La figure 4-11 montre un problème qui se produit couramment. Les actions
du pas canfigurent un bloc fonction "rampSP" pour qu'il aille "en rampe”
jusqu'à un point dé consigne donné. La transition doit attendre que la
rampe soit terminée.
Dans le premier exemple, la transition peut ne pas détecter la fin de la
rampe car la transition peut être "vraie" immédiatement après que le pas
est devenu actif. Cela est Où au fait que le paramètre rampSP.Ramp_End
*
reste "vrai" à la suite d'une exécution précédente du bloc fonction rampSP.
Dans le deuxième cas, la condition de transition à été modifiée pour
garantir que rampSP s'exécute au moins une fois avant de tester le
paramètre Ramp_End. Cet exemple suppose que le bloc fonction rampSP
est dans une tâche 100 ms.
N.B. : toujours s'assurer qu'il y a suffisamment de temps
pour l'exécution des blocs fonctions après la configuration
des paramètres d'entrée puis le test des valeurs des
paramètres de sortie des blocs fonctions.
412 ‘Guide utilisateur PC3000
Grafcet
ATTRIBUTS DES ETAPES
Démarrage
Spécifie que l'étape sera rendue active lorsque la macro qui
la contient deviendra activé.
Fin
Normalement la derniere étape d'une étape macro. La
condition de la transition quí suit une étape macro sera
testée lorsque l'étape Fin de la macro associée deviendra
active. Si la condition de la transition est "vraie”, l'étape Fin
devient inactive et la macro qui la contient termine son
exécution.
Toutefois, l'étape Fin du graphique PRINCIPAL est un cas
spécial qui, lorsqu'elle est active, s'exécute une fois et le
GRAFCET tout entier est alors termine.
Une macro normale {qui ne peut pas étre interrompue) doit
contenir une etape finale. Une macro interruptible peut
contenir une où zéro étape finale.
(Valeur par
défaut
normale}
Attribut par défaut qui n'est pas explicitement défini sur la
station de programmation, implique que l'étape n'est ni une
étape initiale ni une étape finale,
Table 4-1 Attributs des étapes
Macro
Spécifie que l'étape active Une macro qui ne peut être
interrompue. La(les) transition(s) qui suit{suivent) une étape
macro sera{seront) uniquement testée(s) lorsque la macro
associée aura atteint l'étape finale.
Macro
interruptible
Spécifie que l'étape active une macro interruptible. La(les)
transition(s) qui suit(suvent) une étape macro interruptible
est(sont) testée(s) en continu pendant que la macro est
active. Si une des transitions a une condition “vraie”, la
macro tout entière est désactivée.
Pas à pas
(par défaut)
Spécifie que les actions de l'étape sont uniquement
exécutées une fois lorsque l'étape est activée pour la
première fois.
Continu
Spécifie que les actions de l'étape sont exécutées en
continu pendant que l'étape est active. Les actions sont
exécutées encore Une fois après que l'étape a été
désactivée.
Table 4-2 Attributs des étapes
Lors de la configuration des attributs des étapes, une étape peut posséder
un attribut du tableau 4-1 et un attribut du tableau 4-2.
Guide utilisateur PC3000
4-13
>
DJ
O
НЕ
<
oc
O
Grafcet
Exemples :
Démarrage + exécution une seule fois
Normal + Continu
Normal+ Macro interruptible
Fin + Macro
BLOCS FONCTIONS PAS ET MACROS
Chaque pas, chaque macro et chaque étape macro interruptible sont
représentés dans le systéme PC3000 sous la forme d'un bloc fonction.
Cala permet d'utiliser les paramétres qui donnent l'état et [a durée de
l'étape dans le Texte structuré, c'est-à-dire dans le "cablage par soft”, les
actions des étapes et les conditions de transition.
step v
Executing | |
Macro
Executing | |J—500L
TIME
Time |
Finished | = z00r
\.
Figure 4-12 Blocs fonctions étapes et macros
Le bloc fonction macro est utilisé pour les étapes macros normales et les
étapes macros interruptibles. Ces deux types de blocs possèdent des
paramètres Executing et Time.
Le paramêtre Executing (abrégé en .X} est mis a 1 toutes les fois que
l'étape ou la macro est active.
Le paramètre Time (abrégé en .T) donne la durée de l'étape ou de la
macro. La valeur de ce paramètre est remise à zéro lorsque l'étape est
activée pour là première fois puis augmente pendant que l'étape est active.
Lorsque l'étape est désactivée, la valeur est bloquée. Ce paramètre peut
servir à mesurer ia durée d'une étape. || constitue également une
précieuse aide au diagnostic car il enregistre la durée pendant laquelle un
programme s'est trouvé dans une étape donnée lors de sa dernière
exécution.
Le paramètre Finisheéd (abrégé en .F) fourni avec ie bloc fonction macro
est configuré lorsque la macro atteint l'étape finale. il est toujours supprimé
lorsque l'étape macro n'est pas active, || peut être utilisé dans les
conditions de transition pour tester si Une macro donnée est terminée.
4-14
Guide utilisateur FC3000
Gralco!
REGLES DE PROGRAMMATION DES GRAFCET
Règles d'utilisation des graphiques
Les points suivants s'appliquent toujours aux graphiques :
1, Le graphique supérieur appelé MAIN donne la vué d'ensemble du
niveau supérieur du programme séquentiel tout entier.
2. Un graphique de niveau inférieur est associé à une étape macro
normale ou a une étape macro interruptible dans le graphique de
niveau immédiatement supérieur.
3. Un graphique peut contenir un certain nombre de pas et de transitions
reliés par câblage (c'est-à-dire par des lignes graphiques} qui
définissent le flux de régulation d'un ensemble d'étapés actives et des
transitions qui leur sont associées à l'ensemble suivant.
4 Un graphique doit avoir précisément une étape de démarrage.
Un graphique doit avoir une où zéro étape finale.
E, Un graphique actif est Un graphique qui contient une ou plusieurs
étape(s) active(s).
n
Règles d'utilisation des pas
Les points suivants s'appliquent toujours aux pas :
1. Un pas peut être Une macro qui représente un autre GRAFCET ou il
peut être défini comme un ensemble d'actions utilisant le langage
Texte structuré.
2. Un pas est normaiement suivi d'une où plusieurs transitions sauf :
a) les pas finaux qui ne sont jamais suivis d'une transition et
b) Un pas peut en option ne pas être suivi par des transitions s'il doit
toujours rester actif une fois qu'il à été atteint. |
Un pas continu qui n'est suivi par aucune transition reste actif.
3. Un pas ne peut pas être suivi immédiatement d'un autre pas sans
transition,
4. Un pas peut posséder un attribut qui définit ia maniére dont il est
exécuté.
Règles d'utilisation des transitions
Les points suivants s'appliquent toujours aux transitions :
1. Chaque transition doit toujours être précédée et suivie d'un ou
plusieurs pas.
2 Une transition ne peut jamais être reliée à Une autre transition.
Guide utilisateur PC2000 4-15
pu
LJ
O
15
<I
CC
<
Grafcet
3. Une transition représente une condition qui doit être remplie avant que
le ou les pas précédent(s) qui lui estésont} associé(s) soit(soient)
désactivé(s).
4, Une condition de transition est décrite par une expression booléenne
en Texte structuré.
MAUVAISE CONCEPTION DES GRAFCET
La station de programmation vérifie chaque graphique et s'assure que la
construction de base de chaque GRAFCET est correcte avant de
permettre la construction d'un programme (par exemple, chaque graphique
doit avoir un pas de démarrage). Toutefois, il est possible de construire un
graphique dont le comportement est incorrect pour deux principales
raisons :
1. |[ peut y avoir certains pas qui ne peuvent jamais être activés.
2 Des pas ou des séquences peuvent rester actiis par Inadvertence.
Cela peut se produire lors d'une nouvelle entrée dans une séquence,
en particulier si elle comporte des séquences parallèles qui ne se
terminent pas correctement à Un rendez-vous.
Sm
| X
Кой
ReSt art
6}
| Purge | Pres Chk |
a)
IT T — |
Cool Heat | Shut Off |
| Unload | Stir |
E Finish
Figure 4-13 Mauvaise construction de GRAFCET
4-16
Guide unlisateur PC3000
Grafeet
La figure 4-13 montre un GRAFCET mal construit car, si la séquence a)
est sélectionnée, il est possible que les pas "Pres Chk” ou "Shut off”
restent actifs lors de la réactivation du pas "ReStart”.
° Int
ReStart
TT | — + b} —1 9
UnLoad Finish
L
B
0
$
=
9
|
m
| Shut Off |
“J d)
Figure 4-14 Rendez-vous impossible à atteindre
La figure 4-14 donne un autre exemple de GRAFCET erroné ; supposons
que ce GRAFCET ait été appelé par une étape macro, Le rendez-vous en
d) ne peut jamais être atteint si l'on sélectionne la séquence en b) ou le
pas final c). Etant donné que le pas "Position" n'est pas activaté, le pas
"Stir" ne peut jamais être atteint.
Il est également possible que le pas final "Finish" soit atteint alors que
d'autres pas sont encore actifs (pas "Purge" ou "Heat”). Cela peut
entrainer le retour à l'étape macro dans le graphique de niveau supérieur
alors que des pas sont encore actifs.
--
НВ)
oO
LL
<I
Œ
La
Guide utilisateur PC3000 4-17
Grafcet
N.B. : sur les macros, toujours s'assurer que toutes les
séquences parallèles parviennent à un rendez-vous avant
d'atteindre le pas final.
Unsag spc [| me |
X
ReStart |
[Hom Ге [ен
Е Finish
Figure 4-15a Rendez-vous incomplet
4-18 Guide utilisateur PC3000
Grafcet
Stir
E Finish
Figure 4-15b Rendez-vous complet
La figure 4-15a montre un GRAFCET erroné et la figure 4-15b montre un
GRAF CET correct équivalent. Dans le GRAFCET erroné, la transition
rendez-vous avant le pas "Stir" ne peut jamais être évaluée car elle attend
que tous les pas "Heat", “Position” et "Réverse” deviennent actifs. Cela ne
peut jamais se produire car les pas "Position" et "Reverse" sont des pas
alternatifs.
--
Ш
=
LL
<T
oc
O
Guide utilisateur PC3000 4-19
Chapitre 5
DEVELOPPEMENT DES
PROGRAMMES
Edition 1
Sommaire
PRESENTATION .. — renee 5-1
CONSIDERATIONS RELATIVES A A LA CONCEPTION
DES PROGRAMMES ..........necemmecnmcoonnrornanernecaranenneonnen . 5-1
Optimisation des performances par le
SÓQUENCEMENt ..........——.—.——. rm .ererrraorrecorerecane en vereve.a ‚ 5-2
PHASES DE DEVELOPPEMENT DES
PROGRAMMES . creuse меннее 5-2
Sélection et configuration des c canaux x d'E/S Зенон 5-3
Configuration de la régulation analogique continue 5-3
Configuration de la régulation numérique continu ... 5-4
Création d'une stratégie de réguiation de
SÉQUENCEMEONT ....….……….icarissarrrennnacannessananeraanmr sa nan eees 5-5
Création de transitions et d'actions de pas............... 5-6
CONCEPTION DU GRAFCET PRINCIPAL .................. 5-6
RETROACTION DANS LE CABLAGE PAR SOFT DES
BLOCS FONCTIÓNS ...........———..———.enmeriacicanooaan cara aza rain 5-7
MODIFICATION DE LA CONFIGURATION DES
TACHES . неее Khan ana … 5-9
TYPES DE BLOCS FONCTIONS. Perenne 5-9 — a
Affectation des blocs fonctions a aux x taches nena ree. . 5-12 5 =
CONSTRUCTION D'UN PROGRAMMATEUR DE 5 3
PALIERS ET DE RAMPES .. неее u... 5-12 o D
STYLE DE PROGRAMMATION cae. . 5-16 Le, 9
MISE EN SERVICE DES PROGRAMMES ................. 5-17 = a
Blocage de séquence .…...…...…........…....…cocreccaccaesss De17 = >
Ecrans Utilisateurs ..........————e——e e ———— 7
Simulation d'installation ..............-————- em. 17
Test de SOrtié .......... e... .recearnacenecanerrenerancenanecnenoencena 5-18
Guide utilisateur PC3000 Sommaire 5-1
Développement des programmes
PRESENTATION
Ce chapitre décrit les aspects suivants du développement des
programmes pour le PC3000 :
* Manière de structurer un programme FC3000 en analysant les différents
besoins d'un système de régulation
* Méthodes correctes de programmation
* Manière d'utiliser efficacement le système de régulation PC3000
* Manière de développer des programmes faciles à lire et à entretenir
* Manière de mettre en service les programmes PC3000
* Manière d'utiliser les blocs fonctions avec les GRAFCET pour résoudre les
problèmes de régulation
CONSIDERATIONS RELATIVES À LA CONCEPTION DES
PROGRAMMES
Un programme PC3000, comme tout élément logiciel, doit être conçu avec
soin pour garantir son bon fonctionnement et une utilisation optimale des
ressources et performances du PC3ZO00. Si le programme est utilisé pour
réeguler un process de production, il est également important que le
programme soit facile à lire et à comprendre par les techniciens chargés
de la mise en service et de la maintenance.
Bien que le PC3000 soit Un système de régulation souple qui permet de
construire des programmes par étapes, il est conseillé de connaître et de
prendre en compte tous les aspects de l'application du système de
régulation avant de commencer le développement du programme.
Il est conseilié de suivre les procedures ci-dessous :
1. Produire un inventaire complet de l'ensemble des entrées et sorties
nécessaires au système. ll est conseillé d'ajouter quelques entrées et
sorties supplémentaires en cas de besoin et pour les extensions
futures.
2 Analyser toutes les entrées et sorties analogiques et identifier celles
qui sont associées aux boucles de réguiation PID. Identifier les sorties
numériques à utiliser pour les sorties proportionnelles au temps.
3. Identifier les temps de réponse, la plage et la précision de toutes les
entrées et sorties analogiques .
= @
БЕ
ЕЕ
d (1
= =
a ©
o 2
To
—
OD
all
4. Identifier les temps de réponse nécessaires pour les entrées et sorties
numériques.
Guide utilisateur PCZ000 5-1
Développement des programmes
5. Identifier les aspects de la stratégie de régulation qui s'appliquent en
permanence et font par conséquent partie de la stratégie de régulation
continue, par exemple les boucles de régulation PID, les verrouillages,
le suivi des alarmes.
6. Identifier les principales phases de régulation séquentielles :
initialisation de process, étalonnage, arrêt, attente sont des exemples
de phases de régulation bien distinctes.
7. Identifier les phases de régulation qui peuvent fonctionner
parallèlement et n'exercent pas d'interaction directe les unes sur les
autres. Par exemple, la manipulation d'un affichage opérateur et la
mise en rampe des points de consigne d'une boucle de régulation
peuvent être pilotées par des séquences qui tournent en paralièle.
8. Identifier tous les besoins de communication avec des appareillages
externes comme les systèmes SCGADA, d'autres PC3000, les
régulateurs programmables et les instruments et unités discrets
Eurotherm.
9. Identifier les valeurs des paramètres clés du système de régulation qui
peuvent nécessiter une modification lors de la mise en service du
système de régulation.
Optimisation des performances par le séquencement
Jt est important de prendre en compte tous les aspects de séquencement
du programme de régulation, || faut éviter tout "câblage par soft” superflu
dans la stratégie de régulation continue car ceia peut entraîner un
allongement significatif du temps système. Far opposition, la stratégie de
regulation assurée par les actions dans tes pas des GRAFCET ne
provoque un aliongement du temps systéme que lorsque certains pas sont
actifs.
N.B. : contrairement à la programmation en échelle des
régulateurs programmables où le défilement séquentiel et la
régulation continue sont combinés, le PC3000 permet la
séparation entre le séquencement et la régulation continue.
Cela diminue les exigences en matière de performances et
facilite le développement, la mise en service et la
maintenance du programme de régulation.
5-2 Guide utilisateur PC3000
Développement des programmes
PHASES DE DEVELOPPEMENT DES PROGRAMMES
I! est conseillé de développer un programmé PC3000 dans un certain
nombre dé phases claires. Toutefois, il ne faut pas oublier que ces phases
sont seulement données à titre indicatif et que vous êtes libre de
développer n'importe quelle partie du programme à n'importe quel
moment. L'exemple de programme donné dans le chapitre 2 répond à ces
directives.
Les phases recommandées pour développer un programme PC3000 à
l'aide de la Station de programmation PC3000 sont récapitulées ci-
dessous:
Phase 1: sélection et configuration des canaux d'E/S
Blocs fonctions de canal d'entrée Blocs fonctions de canal de sortie
Analog_In
Zonal
Digital In
swilch1
Les principales actions nécessaires sont les suivantes :
1. À l'aide de la station de programmation PC3000, sélectionner les
modules matériels nécessaires en fonction de l'inventaire d'E/S. Si
plusieurs racks sont nécessaires, il est possible d'optimiser la capacité
de traitement des É/S en séparant les racks des entrées numériques et
les racks des sorties numériques. De même, lorsque cela est possible,
éviter que les modules numériques soient dans le même rack que les
modules analogiques.
2. Attribuer des noms à tous les canaux d'E/S. Utiliser des noms qui ont
une signification at non pas des noms arbitraires. L'idéal consiste à
utiliser les noms qui apparaissent Sur les diagrammes de câblage ou
de régulation . |
3. Configurer les plages des canaux, les décalages et le changement
d'échelle. Dans certains cas, cela peut attendre la mise en service du
système.
— ©
=
QO
EE
ar
oy =
a 9
oa 9
5 &
30
a
Guide utilisateur FC3000 5-3
Développement des programmes
4. Ne pas oublier que les modules spécialisés comme MEM et TAIOS ne
peuvent être installés que dans les 5 premiers emplacements du
premier rack, il faut donc laisser ces emplacements vides si l'un de ces
modules doit être ajouté ultérieurement.
Phase 2 : configuration de la régulation analogique continue
Blocs fonctions de canal d'entrée Biocs fonctions de canal de sortie
— Analog In LL PIO I —_— nang Out DO
< zone loop heat
= Actionneurs
Capteurs
Les principales actions nécessaires sont les suivantes :
1. Création de blocs fonctions PID pour traiter chaque boucle de
régulation.
2. Configuration de mode d'exploitation pour chaque PID, par exemple
canal double (chauffage/refroidissement), positionneur de vanné, auto-
réglage.
3. Utiliser le “câblage par soft" du Texte structuré pour relier [a valeur de
process des canaux de sortie analogiques (ou des canaux de sortie
numériques proportionnels au temps) á la sortie des blocs fonctions
PID.
Blocs fonctions de canal d'entrée Blocs fonctions de canal de sortie
= 927 9»
= /
loop1.Process Val :=zone1.Process Val heatt.Process_Val :=loop1 Output
Actionneurs
Capteurs
54 Guide utilisateur PC3000
Développement des programmes
4, "Cábler aussi par soft" la valeur de process de chaque bloc fonction
PID avec la valeur de process d'entrée analogique qui convient.
5. Créer d'autres blocs fonctions et utiliser le "câblage par soft” pour créer
d'autres aspects de la régulation analogique continue.
Phase 3 : configuration de la régulation numérique continue
Digital In
switch |
1 AND igital_Out DG
€ vahal
Capteurs
valvet Process Val =switch1.Process_ Val AND switch2.Process Val;
Les principales actions sont les suivantes :
1. Utiliser le "câblage par soft" pour créer la stratégie de régulation
numérique continue, c'est-à-dire la logique numérique.
à Eviter dans la mesure du possible d'utiliser le Texte structuré qui
comporte de nombreuses expressions ou fonctions à virgule flottante
(REAL) dans le "câblage par soft” vers les blocs fonctions numériques.
Cela permettra ainsi de diminuer l'alongement du temps système dans
le "câblage par soft” numérique qui tourne normalement dans la tâche
qui a la fréquence de scrutation la plus élevée.
- ©
S£
EE
oO
ca
re
+
о oo
rR"
J
@ Ф
o
Guide utiisateur PC3000 5-5
Développement des programmes
Phase 4 : creation d'une stratégie de régulation de
séquencement |
Les principales actions sont ies suivantes ;
1. Créer le GRAFCET principal {de niveau supérieur}. Chaque pas doit
représenter Une phase primaire du process. Normalement, les étapes
du graphique principal sant définies comme étant des étapes macro.
Ainsi, les phases importantes du process sont bien visibles : cela est
particulièrement utile lors de la mise en service.
г. Décomposer chaque étape macro en macros de niveau inférieur et
enfin en étapes pour terminer le programme séquentiel.
5-6 Guide utilisateur FC300C0
Développement des programmes
Phase 5 : création de transitions et d'actions de pas
| BEGIN
| Heat Loop! .Seipoint :=200.0;
Vahve3.Process_Vai:=1 OPENS;
END
li —— !:=Heat Time=T#5305 AND ProdType Val=1 ("Sentle")
| Stir | Settle
Les principales actions sont les suivantes :
1. Création du Texte structuré pour les conditions de transition.
N.B. : les transitions qui ne sont pas définies prennent par
défaut la valeur 1, c'est-à-dire vrai” ou “marche”.
2. Création des actions de pas.
N.B. : pour des raisons de synchronisation, il est possible
d'avoir des pas sans actions en Texte structuré. Par
exemple, un pas nul peut servir d'attente", H est suivi d'une
condition de transition qui attend que le pas soit actif
pendant une durée donnés.
Guide utilisateur PC3000
5-7
er
с
v
=
CH
|+ В
CL
к
©
-
QO
o
7
Ф
=
=
=
Зы
D)
©
Mn
o
©
<
Développement des programmes
CONCEPTION DU GRAFCET PRINCIPAL
Il est bon d'adopter des principes de conception du "haut vers le bas”, Cela
implique que le GRAFCET principal doit représenter les phases principales
du process ou les séquences primaires de régulation.
Ё ReStart
A VesselA A YesselB | A PanalCon |
— bi
ReStart Goto —mums to ReStart
Figure 5-1 Exemple de GRAFCET principal
La figure 5-1 est un exemple de GRAFCET principal (de niveau supérieur)
pour un programme de régulation qui agit sur deux cuves de réacteur.
Chacune de ces cuves est régulée indépendamment par deux étapes
macros interruptibles "VesselA" et "VesselB". Une troisième étape macro
interruptible "PanetCon” régule un tableau opérateur qui fournit un
affichage en temps réel des paramètres de régulation sélectionnés pour
les deux cuves. Ces étapes tournent en parallèle et n'ont aucune
interaction directe. Le programme de régulation est initialisé par l'étape
macro "ReStart” qui configure les points de consigne de la boucle de
régulation, etc.
La transition a) attend que l'opérateur acquitte la possibilité de
redémarrage du process en tapant une commande sur le panneau
opérateur.
58 Guide utillisateur PC3000
Developpement des programmes
La condition de la transition en b) teste une entrée numérique qui est reliée
à une clé d'arrêt manuel. Lorsqu'elle détecte que la clé est “activée”, cette
transition provoque l'arrêt des trois étapes parallèles. La séquence revient
ensuite à l'étape de départ "Restart" par l'intermédiaire d'un "goto™.
RETROACTION DANS LE CÂBLAGE PAR SOFT DES BLOCS
FONCTIONS
Normalement, l'ordre d'exécution des blocs fonctions dans une scrutation
quelconque est tel que les blocs fonctions associés aux paramètres dans
les affectations de "câblage par soft” s'exécutent toujours avant le bloc
fonction qui doit recevoir la valeur de “câblage par soft”.
I existe certaines situations, comme celle décrite sur la figure 5-2, où il est
nécessaire de "cabler par soft" les blocs fonctions entre eux pour former
une boucle de rétroaction. Dans ces cas, il est possible de modifier l'ordre
d'exécution des blocs fonctions en identifiant Une des expressions de
câblage par soft formant la boucle comme étant le "câblage par soft de
rétroaction”.
L'éditeur de câblage de la station de programmation offre une touche
marquage de rétroaction qui permet dé marquer n'importe quelles
affectation de câblage en Texte structuré en insérant la “rétroaction”
comme commentaire. Lorsque le programme est compilé et construit, cela
provoque l'exécution du bioc fonction auquel est affecté le "cáblage par
soft" de rétroaction avant les blocs fonctions référencés à droite de
l'affectation du “cablage par soft”.
N.B. - un bloc fonction qui reçoit une vaieur provenant d'une
affectation de câblage par soit marquée comme "rétroaction”
s'exécute toujours avant les blocs fonctions dont les
paramétres sont référancés sur la partie droite de
l'affectation.
-
SE
EE
d ©
o
ea, ©
о 9
=.
> O
dv
Guide utilisateur PC3000 59
Développement des programmes
Load! Input :=<Loco1.Ouput;
`
+
(PID) (PID_Loas)
i Loop AM Load
Process Val Output станы Eut Main PY
2) 4)
1 Loopi.Process_Val :=Load1.Main_PY (*Feedbacic)
Figure 5-2 Rétroaction dans le câblage par soft des blocs fonctions
La figure 5-2 montre un exemple où une boucle de régulation de PID
(Loop1} est reliée à PID_Load (Load1) qui simule différentes charges de
régulation d'une installation. Pour terminer la simulation, la valeur de
{Main_PV} provenant de Load1 est rétroactivée comme valeur de process
{Process Val} au bloc Loop! PID à l'aide du câbiage par soft marqué
comme "rétroaction”.
Cela provoque la création de l'ordre d'exécution suivant lors de la
construction du programme :
1. Exécuter le câblage par soft pour créer une nouvelle valeur de
Loop] .Process Val à l'aide de la valeur de Load1.Main PV
provenant de la dernière serutation.
= Exécuter le bloc de régulation Loop! PID et mettre à jour
Loop1.Output.
3. Exécuter le câblage par soft pour créer une nouvelle valeur pour
Loadl1 .Input à partir de Loop! .Cutput créé dans la scrutation en
cours.
4. Exécuter le bloc Load1 et mettre à jour le paramètre Main_PV.
=10
Guide utilisateur PC3000
Développement des programmes
Toute affectation de cablage par soft en Texte structuré qui est marquée
comme "rétroaction” alors qu'elle ne fait pas vraiment partie d'une boucle
de rétroaction provoquera l'émission d'un message d'arreur "Marque de
rétroaction redondante" par la station de programmation lors de la
compilation du programme.
Le positionnement de la marque de rétroaction dans le câblage par soit n'a
normalement aucun effet significatif lors de la construction de boucles de
régulation analogiques, en particulier dans les cas de régulation où les
constantes de temps sont significativement plus longues que les durées de
scrutation des tâches.
Toutefois, avec ia logique numérique, il faut prendre des précautions lors
du positionnement du câblage par soft de rétroaction car cela peut parfois
avoir un effet significatif.
MODIFICATION DE LA CONFIGURATION DES TACHES
Pour la majorité des programmes PC3000, la configuration par défaut des
tâches convient. Elle offre deux taches : Task _1 qui tourne a une vitesse
de scrutation de 10ms pour les blocs fonctions numérigues et Task 2 qui
tourne & une vitesse de scrutation de 100ms pour les blocs fonctions
analogiques et l'exécution des GHAFCET.
Les taches par défaut offrent des temps de réponse entre las entrées et
jes sorties numériques (latence du débit) compris entre 15 ms et 25 ms. II
est possible de configurer un maximum de 32 boucles de régulation de
PID, chacune tournant à une vitesse de scrutation de 100 ms et pouvant
réguler des charges avec des constantes de ternps primaires supérieurés
а 10 secondes.
l| faut envisager une autre configuration des táches dans les cas suivants :
a) un temps de réponse entre les entrées et les sorties numériques
Inférieur à 25 ms est impératif,
В) nécessité de faire tourner plus de 32 boucles de régulation PID,
c) nécessité de faire tourner des boucles de régulation PID pour les
charges dont les constantes primaires de temps sont inférieures à 10
secondes,
- D
=
SE
pue
ie
So
co
Q =
rr
> 0
ao
Guide utilisateur PC3000 511
Développement des programmes
d) ie séquencement doit répondre à une cadence inférieure à une fois par
100 ms,
e) le programme nécessite un grand nombre de blocs fonctions ou
possède un "câblage par soft” complexe qui provoque un débordement
d'une des tâches. Cela signifie qu'une tâche ne peut pas terminer
l'exécution de tous les blocs fonctions et le "câblage par soft” au cours
de la période de scrutation de la tâche.
ll est conseillé de se reporter au chapitre Programmateur de tâches temps
réel et à l'annexe D Exemples de configurations de tâches dans la Base du
système d'exploitation temps réel PC3000 pour avoir des détails
supplémentaires sur la configuration des tâches.
Attention
Une mauvaise configuration des tâches peut avoir un effet
préjudiciable sur les performances et l'intégrité du système
de régulation PC3000.
TYPES DE BLOCS FONCTIONS
l| est possible de déclarer et d'interconnecter une vaste gamme de types
de blocs fonctions différents pour résoudre les problèmes de régulation
simples ou complexes. Dans de nombreux cas, on peut ainsi développer
des stratégies de régulation entièrement nouvelles.
Pour avoir une description complète des blocs fonctions standard fournis
par la station de programmation, sé reporter au Manuel des blocs
fonctions PC3000.
Les types de blocs fonctions sont organisés en différentes classes pour
faciliter la sélection dans le tableau suivant :
512 Guide utilisateur PC3000
Développement des programmes
Classe But Exemples
SYSTEM Fournit les blocs fonctions qui PesSTATE, Task,
assurant l'interface avec le RT Clock
système d'exploitation temps
réel PC3000, dont l'horloge
temps réel et la gestion des
táches
COMMS Fournit les blocs fonctions du El Bisync M,
driver de communications pour | El Bisync $,
les protocoles, dont JBus, JBus M, JBus S,
El _Bisync et Euro_Panel Euro Panel
MODULES Biccs fonctions destinés à la PPM, PIM2
prise an charge des modules
matériels intelligents
INPUTS Blocs fonctions qui représentent | Digital In, Anatog_In
les canaux d'entrée.
Remarque 1
OUTPUTS Blocs fonctions qui représentent i Digital Out,
les canaux de sortie. Analog _Out
Remarque 1
CONTROL Blocs fonctions de boucle de PID, VP, PID Auto,
régulation, dont le PID et le VP_Auto
positionneur de vanne et les
versions avec réglage
automatique
TIMERS Fournit des blocs fonctions pour | Pulse Timer,
différents objectifs de On_Delay,
synchronisation, dont la Off_Delay,
génération d'impulsions, la Stopwatch
temporisation et le chronométre
Guide utilisateur PC3000
513
mm
L
QD
Е
v
+В
ol
к
а
к
d
oO
а
®
=
=
ar
e
D)
=
[ 5
о
D
Le
Développement des programmes
Ciasse
But
Exemples
USER VAR
Des blocs fonctions Variables
utilisateur sont fournis pour
contenir les valeurs internes :
tous les types de données, y
compris les virgules flottantes,
les entiers, 1es durées et les
chaînes, sont disponibles.
Boolean, Real,
Integer, Time, String
le fitrage de fréquences des
signaux analogiques.
REMOTE _VARS | Les variables déportées Remote Bool,
permettent la lecture de Remote Real,
différents types de données a Ramote_Str
partir d'équipements externes
utilisant des drivers de
communications spécifiques. |
SLAVE _VARS Les variables esclaves offrant Slave Boo,
des valeurs qui sont adressables | Slave Real,
par des protocoles de Slave Int,
communications spécifiques, Slave Real 8
c'est-a-dire par des équipements
externes.
RECIPE Les blocs fonctions Recettes RecipeMan,
fournissent des utilitaires de StageMan,
stockage et de sélection des Name_1x128,
recettes. Real_16x128
STEPS Les blocs fonctions STEP sont Macro, Step
créés automatiquement
lorsqu'un GRAFCET est
développé. Ils sont de deux
types : étapes et macros
COUNTERS Fournit des blocs fonctions pour 1 Up Counter,
compter vers le haut, vers le bas | Dn_Counter,
et à la fois vers le haut et le bas | Up Dn, Count
SELECT Les blocs fonctions Select Select Real,
permettent la sélection d'un Select_Int,
ensemble de valeurs par l'entrée | Select Time,
d'un seul entier. Une grande Select Bool,
variété de types de données est | Select Sir
fournis.
FILTERS Fournit des blocs fonctions pour | Lagi
5-14
Guide utilisateur PC3000
Développement des programmes
Classe But Exempies
LOADS Ces blocs fonctions fournissent PID_Load, VP_Load
des simulations de différents
types de charges de régulation.
Utilisés avec les blocs PID pour
simuler les boucles de
régulation.
OTHERS Offre une grande variété de Shift_16, Rate Limit,
blocs fonctions différents, dont le | Ramp, Shift_Real,
registre à décalage, la rampe, je | Alarm_Cntrl,
pilotage d'alarmes, le bistable Bistable_ SD
Table 3-1 Classes de types de blocs fonctions
Remarque 1 : les blocs fonctions d'entrée et de sortie de
canaux sont créés à l'aide des écrans de configuration
matériels.
- a
=
qd
4
D
2 5
©
O x
v =
50
- И
Guide utilisateur PC3000 5-15
Développement des programmes
Affectation des blocs fonctions aux tiches
Bistable RD Le tableau 5-2 énumère les blocs fonctions
Bistable SD standard affectés par défaut 4 Task 1. Le reste
= des blocs fonctions dans la bibliothèque standard
Boolean est affecté à Task _2. Par défaut, Task 1 est
Debounce In scruté toutes les 10ms, Task _2 toutes les 100ms.
Digital т Ne pas modifier ces affectations de táches sans
Digit ГО E comprendre les répercussions que cela a sur les
grau performances.
Dn_Counter Avant de modifier la configuration des táches, il
El Bisync M est bon de se reporter au chapitre
El Bisync S Programmateur de táches temps réel et a
— = l'annexe D Exemple de configurations de tâches
JBus M dans le système d'exploitation temps réel
JBus S PC3000.
Off Delay Il est toujours possible de voir la tâche à laquelle
o D | est affecté un bloc fonction en visualisant le
n_Leldy menu Liste des déclarations de blocs fonctions
Pulse timer sur la station de programmation.
Select Bool
Shift_16
Siemens M_S
Stopwatch
Toshiba_M
Up Counter
Up _Dn Count
Table 3-2 Affectation par défaut des blocs fonctions à Task _1
CONSTRUCTION D'UN PROGRAMMATEUR DE RAMPES ET DE
PALIERS
Cette section décrit la maniére de construire un programmateur de rampes
et de paliers a partir de blocs fonctions standard et de le réguler par
quelques pas dans un GRAFCET, L'exemple montre un programmateur de
rampes et de paliers qui peut comporter un maximum de 16 segments.
Chaque segment peut être soit Une rampe soit un palier et il est possible
de fixer le nombre de segments du programme entre 1 et 16. Au cours
d'un segment en rampe, un bloc fonction Rampe sert à incrémenter une
sortie jusqu'à la vateur d'un point de consigne avec une vitesse prescrite.
5-16
Guide utilisateur PC3000
Développement des programmes
Un segment en palier contient la sortis actuelle du bloc fonction Rampe
pour une durée prescrite.
Les pas d'un GRAFCET utilisent des valeurs produites par des blocs
fonctions "select" pour configurer le bloc fonction Rampe de manière à ce
qu'il crée les fonctions de rampe et de palier, La sortie de la Rampe (dans
l'exemple, le paramètre ramp1.Output } fournit la valeur rampe/palier qui
peut servir à piloter les sorties physiques ou les points de consigne des
PID, etc. Par exemple, en "cablant par soft” un certain nombre de points de
consigne PID différents avec ce paramètre, il est possible de construire un
programmateur mulii-zones.
Les techniques décrites peuvent être étendues pour fournir d'autres
fonctions comme un plus grand nombre de segments, des paramètres de
segments supplémentaires, etc.
La figure 5-3 décrit les blocs fonctions et le "câblage par soft” nécessaires
pour créer le programmateur de rampes et de paliers. Certains des
paramètres qui n'ont pas d'importance pour cet exemple ne sont pas
indiqués pour des raisons de lisibilité.
Nom de la Type But
déclaration
setpoint Select Real Fournit un point de consigne pour
chaque segment.
rate Select Real Fournit une vitesse pour chaque
segment.
dwell Select Time Fournit la durée du palier pour un
segment en palier.
segno Integer Mémorise le numéro de segment actuel.
segmax Integer Mémorise le nombre maximal de
segments utilisés.
ramp1 Ramp rournit la fonction "rampea” en mode
RUN.
Table 5-3 Blocs fonctions du programmateur de rampes et de paliers
Guide utilisateur PC3000
5-17
a.
=
&
=
D
1
©
©
©
>
D
jan
en
nn
=
=
<
Tes
e)
о
o
>
D
oT
Développement des programmes
=
[Select Real |
Integer sstporil
se gno Index Output fr
100.0 — Input 1
0.0 —: Input 2
2000 — Input 3
A000 = Input 4
0.01 Input 5
0.0=— Input 6
O0— Input 7
0.0— Input 8
seg me L 3 =
[Select Real | —
rata
index Output E
1.1 — Input 1
0.0 = Input 2
25 — Input 3
22 mo Input 4
Où = Input 5
00 — Input 6
0.0 — Ineut 7
0.0 — Input 5
fupicinpu 16
JD
Samet Time
Choral
Inda x Output be
Troooma =——| Input 1
Has — Input 2
TAO mE | It
TECOOms — Input 4
Rooms — Input 5
THOM — Input 6
RCOms — Input 7
TACOS mE =— Input 8
(вр © int 16
= >
Figure 5-3 Diagramme des blocs fonctions du programmateur de rampes et de paliers
Les affectations de "câblage par soft" en Texte structuré nécessaire sont
les suivantes :
setpoint.Index := segno. Val;
rate.Index := segno. Val;
dwell.Index := segno. Val;
518
Guide utilisateur FC3000
Développement des programmes
Le paramètre index des fonctions "select" est toujours piloté par la variable
utilisateur entière "sagno”, Si l'on met à 1 UN numéro de segment donné
dans "segno”, les sorties des blocs select fournissent le point de consigne,
la vitesse de la rampe at le palier pour un segment donné. Un segment an
palier est caractérisé par le bloc fonction de "vitesse" Select_Real qui
produit une sortie de 0,0, c'est-à-dire une rampe nulle. Sur la figure 5-3, les
blocs fonctions select sont configurés pour avoir 4 segments :
Segment 1 - Rampe jusqu'a 100 a 1,1 unité/seconde
Segment 2 - Paiter pendant 20 secondes
Segment 3 - Rampe jusqu'à 200 à 2,5 unités/seconde
Segment 4 - Rampe jusqu'à 300 à 3,2 unités/seconde
BEGIN
segro.Val:=D;
Setup rampt.Mode =0(*Heset*; rate-Cutput>0.0 AND
END (NextSeg.Time=Task2.Interval)
—— Setup. Time> Task? Interval
BEGIN
BEGIN ramp1.Setpoint :=setport.Cutput;
| Naxt5eg segno.Val :=segno +1; гатр1 Rate >= rate.Output;
END ramp1.Mode :=1 {* RUN");
END
LL rate Outout<= 20 AND
— Segno.Val>segmax Val — — — (NexSeg.Tme>Task2.Interval
BEGIN
| Finish | | Ramping 2 | Dwelling | rampi.Mode :=2 (*Hokd);
END
ramp1.Setpoint=ramp1 Quiput wre = welling. Time>=dwel LCL tput
NextSeg
>
Laan
Figure 5-4 GRAFCET de programmateur de rampes el de paliers
La figure 5-4 montre les pas et les transitions nécessaires pour réguier le
programmateur de rampes et de paliers et doit être considéré comme
faisant partie d'un GRAFCET de plus grande taille.
Le pas "Setup" ramène le numéro de segment à zéro et place le bloc
fonction "ramp1" en mode RESET (réinitialisation). À ce stade, le compteur
du bloc fonction "ramp1" sera ramené à la valeur du paramètre
Reset Output qui, dans cet exemple, a la valeur 20,0.
„ ®
EE
pH
—
d
a =
x.
о ©
n &
>
LP
- ©
Guide utilisateur PC3000 5-19
Développement des programmes
La transition issue du pas "Setup" attend que le pas soit actif pendant une
scrutation de la tache pour étre sûre que les blocs fonctions ont été
exécutés avant de continuer. Dans cet exemple, on suppose que le
GHAFCET est exécuté dans Task _2 (valeur par défaut normale). Dans ce
cas, le pas doit attendre pendant la durée d'une scrutation de Task _2. La
durée de scrutation de la tâche est fournie par le paramètre
Task _2.Interval. -
Dans le pas "NextSeg”, le numéro de segment contenu dans la variable
utilisateur "segno" est incrementé.
Apres "NextSeg”, il y a des transitions vers trois pas alternatifs. Ne pas
oublier que les transitions sont évaluées de ia gauche vers la droite. La
transition située la plus à gauche vérifie si le segment final à été atteint en
comparant le numéro de segment à la variable utilisateur "segmax".
Les deux autres transitions attendent que le pas "Nextseg" soit actif
pendant là durée de scrutation d'une tâche avant de permettre l'exécution
des blocs fonctions select pour qu'ils produisent les sorties correctes pour
le segment actuel.
La transition médiane vérifie ensuite si le segment sélectionné
actueliement possède une vitesse différente de zéro afin de sélectionner le
pas “montée en rampe”.
La transition située la plus à droite vérifie si la vitesse est différente de zéro
afin de sélectionner le pas “palier”.
Le pas "montée en rampe" configure le bide fonction "ramp1” pour
incrémenter sa sortie au point de consigne et à la vitesse produits par les
blocs fonctions select. Le bloc fonction "ramp1” est ensuite commuté en
mode RUN (marche).
La transition issue du pas "Rampina” attend simplement qué la sortie du
bloc fonction rampe atteigne la valeur du point de consigne puis revienne à
"NextSeg" pour le segment suivant.
Le pas "palier” commute le bloc fonction "ramp1" en mode HOLD pour que
la sortie reste inchangée.
La transition issue de ce pas attend que le pas "palier ait Une durée égale
à la période au cours de laquelle ie segment est en palier puis revienne à
"NoxtSeg”.
STYLE DE PROGRAMMATION CORRECT
Lors du développement des programmes, il faut prendre en considération
les points suivants pour améliorer la lisibilité des programmes et faciliter
par conséquent la mise en service et la maintenance du programme :
1. Dans la mesure du possible, utiliser des noms ayant une signification
pour les blocs fonctions et les pas.
520 Guide utilisateur PC3000
Développement des programmes
2. Utiliser des noms ayant une signification pour les valeurs numériques,
par sxemple "HAUT"/"BAS", "OUVERT/FERME". Cela est
particulièrament important si une entrée ou une sortie numérique
possède une fogique inversée comme par exemple 1 pour "OFF".
3. Insèrer des commentaires pour décrire des éléments complexes de
Texte structuré.
4 Utiliser une méthode "du haut vers le bas" pour la structure des
GHAFCET, le graphique principal décrivant les états primaires du
process.
5. Lorsque cela est possible, utiliser des séquences au lieu de machines
indiquant l'état à partir de la logique en "câblage par soft” continu. Par
exemple, Utiliser un pas au lieu de configurer une variable utilisateur
booléenne pour définir qu’une machine ou un process se trouve dans
un état donné.
6. Eviter d'avoir des constantes en Texte structuré qui peuvent nécessiter
une modification lors de la mise en service du système. Utiliser à la
place des blocs fonctions Variable utilisateur pour contenir les valeurs
constantes. |! sera alors possible de modifier les valeurs à la mise en
service du système.
7. Se familiariser avec le potentiel des différents types de blocs fonctions
et de fonctions. Dans de nombreux cas, il est possible de résoudre des
problèmes complexes avec les capacités existantes.
MISE EN SERVICE DES PROGRAMMES
La station de programmation PC3000 offre un accès en ligne à tous les
paramètres des blocs fonctions. Cela permet de contrôler le programme de
régulation du PC3000 puisqu'il fonctionne en temps réel, || est possible de
visualiser les différents GRAFCET pour identifier les pas actifs et les
étapes macros. On a ainsi une bonne indication de l'état du process ou de
la machine.
Suspension de séquence
Si une séquence est suspendue à un pas donné, visualiser le Texte
structuré qui définit la condition de chaque transition qui suit le pas. Cela
permet de localiser rapidement le motif de la suspension. Identifier
l'expression bocléenne en Texte structuré qui est censée être "vrais”.
Sur la station de programmation PC3000, la valeur réelle de chaque
paramètre de bicc fonction utilisé dans l'expression est affichée sur la ligne
inférieure de l'écran en Texte structuré Transition.
= ©
DE
ЕЕ
EL
ry =
ea ©
В
Do
>
=
Guide uiilisatetur PC3000 5-21
Développement das programmes
Si la séguence est suspendue par une étape macro, visualiser la macro de
niveau inférieur jusqu'à ce que l'étape incriminée soit localisée. S'il s'agit
également d'une étape macro, continuer à descendre dans la hiérarchie du
graphique jusqu'à ce que le pas suspendu soit localisé, puis vérifier
chacune de ses conditions de transition.
Si une transition de rendez-vous ne provoque pas l'activation de son pas
suivant, vérifier que chaque pas qui conduit au rendez-vous, c'est-à-dire
qui entre dans les lignes horizontales doubles, est actif.
Ecrans utilisateur
Il est possible de créer des écrans utilisateur sur [a station de
programmation, lorsque le PC3000 est en marche, pour visualiser les
paramètres sélectionnés. Gala permet de visualiser simultanément les
paramètres déterminants à des fins de diagnostic et de misa en service.
Les écrans utilisateur peuvent également servir à fournir une interface
opérateur pour les applications où une interface homme-machine simple
convient.
Simulation d'installation
Lors de la mise en service du système, il est peu vraisemblable que toutes
les E/5 de l'installation soient disponibles pour le test des programmes.
Dans certains cas, il peut être peu pratique, voire dangereux, de piloter les
sorties physiques. Le PC3000 offre des fonctions permettant de tester les
programmes sans qu'ils soient directement reliés à l'installation ou à la
machine régulee,
La plupart des canaux d'entrée PC3000 ont un mode test qui permet de
remplacer la valeur de l'entrée physique par une valeur de test. | est
également possible de remplacer l'état du canal par un état de test. Par
conséquent, il est possible de tester le comportement du programme en
simulant différentes valeurs d'entrée de l'instailation et les conditions de
défaut comme les mesures à l'aide de capteurs de dépassement de
gamme. Une partie du programme séquentiel (tournant normalement
comme une autre séquence paralièle) peut servir à fournir des valeurs de
test multiples aux canaux d'E/S pour former un banc d'essai de simulation
de l'installation pour faire fonctionner le programme de régulation. Cette
partie du programme peut être éliminée lors de la mise en service
définitive du programme.
5-22 Guide utilisateur PC3000
Développement das programmes
Test des sorties
En plagant les biocs fonctions de canaux de sortie en mode test, il est
possible de fournir directement des valeurs de test aux sorties physiques,
quel que soit l’état du programme normal de régulation PC3000. Cela peut
être utile pour tester le câblage physique et la liaison entre les canaux
matériels et les actionneurs physiques.
Lorsque les canaux de sortie sont en mode test, les valeurs écrites par le
programme dans les blocs fonctions de canaux ne sont pas écrites dans
les sorties physiques,
Attention
S'assurer que la totalité des paramètres d'activation de
l'ensemble des blocs fonctions de canaux de sortie sont sur
"ОЙ" (désactivés) dans les programmes PC3000 qui font
tourner des process de production.
J
SE
E E
У
a
о ©
©
O =
Lv 2
50
óv
Guide utilisateur PC3000 5-23
Développement des programmes
24 Guide utilisateur PC3000
Index
INDEX
Actions
étapes 3-2
terminologie 1- 4
Actions 4- 2
Addition 3- 15
Adresse d'E/S 3- 8
Affectation
terminologie 1- 4
Affectation 3- 9, 10
AIO8 5-3
Alarme
état 2- 15
surveillance 5- 1
signal 2- 15
Alarmes 2- 1
ALORS 3-12
Applications 2- 1
Blocs fonctions
bibliotheque 2- 7
déclaration 1- 4
diagramme 2- 2
diagrammes 2- 11
étape 4- 12
étape macro 4- 12
exemples 2- 7
interaction des
GRAFCETS 4- 10
ordre d'exécution 5- 7
principe 2- 7
rampe 2- 7
rampe 5- 12
reference 1-3
type 5- 11
variable utilisateur
chaîne de caractères 3-
7
Bloc fonction 2- 5
Blocs fonctions
canal d'entrée 2- 16
Guide utilisateur PC3000
Index-1
Index
E/S 2- 8
fonctions 5- 16
presentation logicielle
2-11
Blocs fonetions 2- 1
Blocs fonctions d'E/S 2-
8, 11
bloc fonction PID
paramétres de
configuration 2- 14
blocs fonctions PID 5- 3
Bloc fonction rampe 2-
7
Booléen
(BOOL) 3-4
expression 1-4
expressions 3- 19
boucle de régulation PID
exemple 2- 12
boucle de régulation PID
2-12
Cáblage par soft
étape continue 4- 7
multi-zones 5- 13
performances 2- 17
principe 2- 6
régulation continue 2-
12
rétroaction 3- 7
ST 3-2
ST 4-12
Cáblage par soft 2- 14
Cáblage par soft 3-9,
10, 21,22
Cáblage par soft 4-1
Cáblage par soft 5- 2, 3,
16
programmateur 5- 13
Calculs mathématiques
3-1
Canal de sortie
analogique 2- 14
Index-2
Guide utilisatenr PC3000
Index
Caractere
non-imprimable 3- 7
Chaînes texte (STRING)
3-7
Classe
CHARGES 5-11
COMMANDE 5- 9
COMMS 5-9
COMPTEURS 5- 11
DIVERS 5-11
ENTREES 5-9
ETAPES 5- 11
FILTRES 5-11
HORLOGES 5-9
MODULES 5-9
SELECTION 5- 11
SORTIES 5-9
SYSTEME 5-9
RECETTE 5-11
VARIABLES DEPORTEES
5-9
VARIABLES ESCLAVES
5-9
VARIABLE
UTILISATEUR 5-9
Commande statistique
de procédé 2- 2, /
Commentaires 3- 2
Communications par
défaut 2- 11
Compteurs 1- 3
Conception hiérarchique
5-6
Conditions 3- 2
Construction des
programmes 2- 15
Construction risquée des
GRAFCETS 4-13
Contróleur
programmable 2- 1
Contróleurs
programmables
Guide ntilisateur PC 3000
In
dex-3
Index
process 1-1
Contróleurs
programmables 1-2
Création de déclarations
1-4
Crochets 3- 18
Date calendaire (DATE)
3-6
Date calendaire et heure
du jour
(DATE_AND_TIME) 3-6
Décalages 5-3
Division 3- 15
Données
type 3-3, 9
types 3- 2, 7
Durée (TEMPS) 3-5
Ecrans utilisateur 5- 17
Elément SI 3- 23
ELSE 3- 12
ELSIF 3- 12, 13
END_IF 3-12
Entier (DINT) 3- 3
Entier énuméré (DINT)
3-3
Entier sans signe
double 3- 8
court 3- 8
Entrée
analogique 2- 12
Entrées
numériques 2- 15
logique 2- 15
E/S
canaux 5- 2,3
Etape
actions 3- 9
actions 4- 7
actions 5- 6
attributs 4- 10, 11
continu 4- 7, 8, 11, 13
Index-4
Guide utilisateur PC3000
Index
désactivation 4- 6
durée d'exécution 4- 8
Etape 1-4
Fin 4- 11, 13
fin 2-15
GRAFCETS 2- 10
macro 4-2, 11
macro 5- 11
macro interruptible 4- 6
macro interruptible 5- 6
programme de
régulation 4- 1
regles 4- 13
unique 4- 11
uniques 2- 15
uniques 4- 6, 7, 8
Etape macro 4-2
Etapes continues 4- 9
Expression
terminologie 1- 4
Expression booléenne 4-
2
Expressions
complexes 3- 12
sous- 3- 12
Expressions 3- 10, 21
Expressions
conditionnelles 3-1
FED 2-2
Filtres 1- 3
Fonction
DINT_TO_REAL 3- 9
Fonctionnement
déterministe 2- 5
Fonctions
arithmétique temporelle
3- 20
catégories
chaîne de caractères 3-
20
compactes 3- 20
Guide utilisateur PC 3000
Index-5
Index
conversion de chaine de
caractères 3- 20
conversion de type 3-
20
mathématiques 3- 21
numériques 3- 20
sélection 3- 20, 21
Fonctions 3- 2
Fonctions 5- 16
Fonctions logiques 2- 11
Fréquence de balayage
2-17
Fréquences de balayage
exécution 2- 5
Gestion des recettes 2-
7
GRAFCETS 2-8
GRAFCETS
étape 2- 10
IEC 1131-3 4-1
transition 2- 10
GRAFCETS 2-1
GRAFCETS 4- 1
Grafcet principal 4- 5
Grafcet principal 5- 5,
16
Graphique
PRINCIPAL 4-11
terminologie 1- 4
Heure du jour
(TIME_OF DAY) 3- 5
ICM 5-3
Grafcet 2- 2
GRAFCET 2-2 [EC 1131-3
GRAFCET 1-4 multi-táches 2- 5
GRAFCET 2-2 PLC Standard 2- 2
GRAFCET 4- 1 standard 3- 22
Index Guide utilisateur FC3000
Index
systeme 3- 23
texte structure 3- 1
IEC 1131-3 2-1
Implications des
performances 3- 12
Impulsion du
qualificateur d'actions
IEC 1131-3 4-7
Instructions
conditionnelles 3- 12,
13
Instructions 3- 9, 12
Instruments discrets 2-
5
Instruments discrets 5-
2
INT 3-8
Intégrité 5- 9
Interfaces avec les E/S
2-11
JBus 2-11
Lecteurs 5-2
Lecteurs externes 2- 7
Macro
étape interruptible 4- 6
étapes
graphiques 4- 5
étapes 5- 5
interruptible 4- 11
Marques temporelles 3-
6
Messages texte 3- 1
Mise à l'échelle 5- 3
Mise en service 5- 1, 17
Modbus 2-11
Mode PC3000 2- 15
Station de
programmation PC3000
2-14
Mode de
fonctionnement 2- 15,
17
Guide utilisateur PC3000
Index-7
Index
Modules
matériels 1- 2
Modules matériels 2- 12
Modulo 3- 15
Modulos 3- 16
Multiplication 3- 15
Multi-táches 2- 5
Noms de sens 5- 16
Opérateur 19
booléen
comparaison
complément 3- 19
différent de 3- 16
division 3- 19
égal 3-16
ET 3-17
inférieur à 3- 16
inférieur ou égal à 3- 16
interface 5- 17
Inverse 3- 17
modulo 3- 19
multiplication 3- 19
négation 3- 19
NON 3-17
OU 3-17
OU EXCLUSIF 3-17
OU exclusif 3-17
priorité 3- 18
stations 2- 7
supérieur a 3- 16
supérieur ou égal à 3-
16
virgule flottante 3- 17
Opérateur 3- 1, 10
Opérateurs 3- 15
Ordre d'exécution 2- 17
Paramètre
exécution 4- 9
Exécution 4- 12
Index-8
Guide utilisateur PU 3000
Index
Fini 4- 12
Heure 4- 12
Parametres de
configuration 2- 12
Paramétre d'exécution
4-7, 8
PC3000
langages 1- 1
Paramétre temps 2- 15
Paramètre Test_Enable
2-16
Performances 2- 5
Performances 5-1, 9
Présentation des
communications 1- 2
programmation 1- 1
Périphériques externes
2-11
Phases principales
de process 5- 6
GRAFCET 5-6
PID
boucles de régulation 5-
9
PID 1- 2, 3, 4
РЕ 2- 1,7
PID 3- 23
PID 5-9
PID_AUTO 5- 9
PLC 2-5
PID_AUTO 5-9
PLC 2-5
PLC 5-2
PLC 5-2
Présentation du logiciel
2-11
PRINCIPAL 4- 12
programmation en
échelle PLC 5-2
Programmateur
rampes 5- 15
Guide utilisateur PC 3000
Index -9
Index
Programmes
développement 5-1
pratique 5- 1
lisibilité 5- 16
Protocole de
communications
Eurotherm Bisync 2- 11
Rampes 1-3
Récupération des
défauts 4- 2
Référence PC3000
bloc fonctions 1- 2
fonctions 1-2
manuels 1- 2
matériel 1- 2
système d'exploitation
temps réel 1- 2
Règles
Programmation des
GRAFCETS 4- 12
Texte structuré 3- 24
utilisation des étapes 4-
13
utilisation des
transitions 4- 13
Régulation
boucles PID
phases 5- 1
process statistique 2- 2,
7
stratégie 5- 1
stratégie de
séquencement 5- 5
stratégies 5- 9
continue 2- 11
continue numérique 5-
5
en boucle fermée 2- |
en boucle longue 2-2
vue générale 1-2
Régulation analogique
2-15
Index-10
Guide utilisatenr PC3000
Index
Régulation a boucle
longue 2- 2
Régulation analogique
continue 5- 3
Régulation en boucle
fermée 2- 1
Regulation continue 2-
11
Rendez-vous 4- 13
Rendez-vous impossible
a atteindre 4- 15
Rendez-vous incomplet
4-17
Rétroaction
câblage par soft 5- 8
Rétroaction 5- 7
Risqué
Construction des
GRAFCETS 4- 14
GRAFCET 4- 15
GRAFCET 4-17
SCADA 1-2
Sélection des valeurs 3-
23
Séquence
retenue 5- 17
Séguencement 2- 1, 14
Séguences
parallèles 4- 4
Séquences de
remplacement 4- 2
S1 3-12
SI..ALORS 3-23
Simulation
charge 5- 8
SINT 3-8
instruments logiciels 2-
1,5
Sorties proportionnelles
au temps 5- 1
Soustraction 3- 15
ST1-4
Guide ulilisatcur PC3000
Index-11
Index
ST 2-2
ST 3-1,2
Station de
programmation
affectation 2- 9
constantes de temps 3-
6
construction de
programme 2- 17
création des GRAFCETS
4- 4
définition matérielle 3-
8
sélection des modules
matériels 5- 3
Station de
programmation 1-1
Station de
programmation 3- 5, 21
Station de
programmation 5- 17
Station de
programmation
Microcell 1-1
Station de
programmation
Microcell 2- 11
Structure des GRAFCETS
5-16
Syntaxe du texte
structuré 3-
opérateurs 3- 24
Instruction 1- 4
Systemes SCADA 5-2
Systèmes
multi-táches 2- 1
Systèmes de
supervision 1-2
Systèmes de
supervision 2- 7
Tâche
temps de balayage 5-
15
Index-12
Guide utilisateur PC3000
Táches
affectations 5- 12
configuration 5- 9
programmateur en
temps réel 5- 9
valeur par défaut 5- 9
configuration incorrecte
5-9
Tâches 2-5
Temps de réponse 5- 9
Test
câblage physique 5- 17
état 5- 17
mode 5- 17
sortie 5- 17
valeur 5- 17
Texte structuré
règles 3- 24
Texte structuré 2- 2, 10
Texte structuré 3- 2
Index
Timers 1-3
Touche de fonction
rétroaction principale 5-
7
Transition
état 1-4
rendez-vous 4- 5
rendez-vous 5- 17
terminologie 1- 4
Transition 2- 10
Transition 4- 13
Transitions
de remplacement 4- 3
états 3- 9
états 5- 6
création 5- 6
Transitions 3- 2
Transitions 4- 2
Transitions de
remplacement 4- 3
Guide utilisateur PC3000
Index-13
EUROTHERM AUTOMATION SERVICE REGIONAL
SIEGE SOCIAL
ET USINE
6 chemin des Joncs
BP 55
69572 Dardilly Cedex
Tél. : 04 78 66 45 00
Fax : 04 7835 24 90
AGENCES
Aix-en-Provence
Tél.: 04 42 39 70 31
Colmar
Tel: 03389235220
Lille
Tel.: 03 20 96 96 39
Lyon
Tél,: 04 78 66 45 10
04 78 66 45 12
Nantes
Tél.: 02 40 30 31 33
Paris
Tél: 01 69 18 50 60
Toulouse
Tél.: 05 61 71 49 33
BUREAUX
Bordeaux
Clermont-Ferrand
Dijon
Grenoble
Metz
Normandie
Orléans

Manuels associés