• English
  • Français


.

La norME S88.02 : un Langage pour le controle des procedes batch

Jean Vieille

Consultant

4, rue des Ecrivains BP46 - 67061 Strasbourg cedex

LIENHYPERTEXTE "mailto:jean-vieille@usa.net" jean-vieille@usa.net
http://www.jvieille.homepage.com

Resume

Dans la foulee de la norme S88.01 traitant du controle des procedes
discontinus, le projet de norme S88.02 propose un modele de donnees pour
interfacer les applications et echanger les recettes et un langage de
description de la Recette, le PFC (pour " Procedure Function Charts ")
qui repose sur le modele de donnees. Ce langage vise la reduction de la
courbe d'apprentissage des nouveaux systemes et l'amelioration de la
communication entre l'Homme et le Systeme. Cette presentation presente
un apercu du developpement et des regles d'utilisation du PFC ainsi que
les benefices attendus par leur adoption dans l'industrie.

La specificite des procedes discontinus

Par opposition aux procedes de type Discret (manufacturier) et continus
(energie, petrochimie...), on distingue les procedes de type Discontinu
ou Batch par les caracteristiques suivantes :

Ils operent selon un cycle au cours duquel des quantites determinees de
matiere sont transformees en produit fini,

La taille des equipements determine directement la production du cycle,

Le produit fabrique depend de la Procedure executee par le cycle appuye
par les fonctions elementaires de chaque equipement.

Il s'agit souvent d'ateliers " flexibles " ou multi-produits.

La chimie, l'agroalimentaire et la pharmacie representent l'essentiel de
ces procedes. La derniere contrainte de flexibilite ajoutee a la
complexite relative du controle de base des equipements a amene le
developpement d'une reflexion particuliere sur la strategie de controle
de ces ateliers : la norme S88.01

La norme S88.01

La norme IEC 61131-3 definit des langages de programmation adaptes au
controle de base des equipements du procede. Essentiellement
conceptuelle, la norme ANSI/ISA S88.01 / IEC 61512-1 (que nous
appellerons " S88 " dans la suite de l'expose) apporte un niveau
superieur au controle de procede : la flexibilite de l'allocation des
ressources et de la strategie de controle. Elle decouple les domaines et
les responsabilites du controle de base des equipements vis-a-vis de la
specification du procede de fabrication et de l'allocation des
ressources (la Recette). Elle peut egalement s'appliquer a d'autres
types de procedes (voir les travaux EBF WG3).

Equipements et Recette

La norme S88.01 separe le controle en deux domaines de responsabilite :

Le controle des equipements

La Recette

Le premier domaine est celui de l'Automatique. Le controle de
l'equipement est par definition independant du produit a fabriquer. Il
fournit les ressources fonctionnelles de base pour construire la
strategie de fabrication (transformations, transferts d'energie et de
matieres).

Le second domaine est celui du Procede. Il utilise les ressources
fonctionnelles des equipements pour accomplir la strategie de
fabrication du produit.

La frontiere entre ces domaines definit directement le degre de
flexibilite de l'atelier et attribue les responsabilites correspondantes
a l'Automaticien d'un cote, au gestionnaire et a l'ingenieur procede de
l'autre.

La Recette est composee de 5 elements :

Entete

Procedure

Formule (Parametres, Entrees et Sorties Procede)

Exigences Equipements

Autres Informations

Hierarchie de la Procedure

Le controle procedural de la norme S88.01 repose sur 4 niveaux
hierarchiques :

Procedure

Procedure Unite

Operation

Phase

Une Procedure est composee de Procedures Unite elles-memes composees
d'Operations... Des niveaux peuvent etre omis, des niveaux
complementaires peuvent etre ajoutes. Ces elements proceduraux sont
appeles de facon generique :

Element Procedural Recette ou RPE pour la strategie de fabrication

Element Procedural Equipement ou EPE pour le controle des equipements

On pourra definir des Procedures Recette, Procedure Equipement,
Procedures Unite Recette, Procedures Unite Equipement, Operations
Recette, Operations Equipement, Phases Recette et Phases Equipement.

La separation entre le domaine de la Recette et le domaine de
l'Equipement est du ressort de l'implementation. Toutefois, la plupart
des systemes de pilotage de Recettes imposent un couplage au niveau de
la Phase. ( RENV _Ref462561655 \h Figure 1 )

Figure SEQ Figure \* ARABE 1 - Distribution du controle procedural
entre Recette et Equipement (ISA S88.01 1995)

Types de Recettes

La norme S88.01 propose 3 types de Recettes selon le niveau de detail et
l'utilisation :

Recette Generale

Recette Site

Recette Maitre

Seule la derniere peut donner naissance a une Recette executable, la
Recette Controle. Les autres Recettes ont d'autres objectifs lies a la
creation des produits et a la planification. Le rapport ISA TR88.0.03
preconisait le developpement d'un langage adapte aux trois types de
Recettes, mais cet objectif a ete abandonne entre temps. La situation au
niveau des Recettes de niveau superieur est loin d'etre claire, et ce
probleme est place dans les priorites d'action du groupe SP88 pour les
prochains projets de norme.

Contexte general

La norme S88.01 definit le terme Procedure comme " la strategie pour
executer un procede ", mais les regles pour specifier cette Procedure ne
sont pas definies. C'est une lacune importante de la premiere partie de
la norme : elle etait intentionnelle du fait des opinions variees au
sein du comite a cette epoque. Le comite SP88 reconnaissait qu'il
s'agissait d'un probleme important et adopta les 2 resolutions suivantes
:

Etablissement d'un rapport sur les formats possibles de representation
des Procedures,

Definition d'une methode pour la description de la Recette dans la
seconde partie de la norme.

Le rapport technique ISA-TR88.0.03 fut publie en 1997. Le travail sur la
seconde partie se poursuivit apres la publication de ce rapport, et une
methode normalisee pour decrire la logique procedurale des Recettes est
exposee dans la section 6 du projet de norme S88.02[1] " Procedure
Function Charts ".

La notation PFC a ete developpee en utilisant des elements des trois
formats discutes dans le rapport technique : Liste, Gantt et SFC
(Sequencial Function Charts). A premiere vue, la notation PFC est proche
du SFC, mais plusieurs amenagements ont ete developpes pour tenir compte
des specificites d'execution et de documentation du controle procedural
vis-a-vis du controle sequentiel.

La methode choisie pour la description de la Recette ne prend en compte
que la Procedure : L'en-tete, les Exigences Equipements, la formule et
les autres informations ne sont pas traites. Par definition, la
Procedure supporte la structure de la Recette a laquelle se rattachent
obligatoirement les autres categories d'information. Ces informations ne
sont pas normalisees au-dela de la necessite d' " indiquer clairement et
de facon consistante pour une application donnee leur relation avec la
Procedure " RENVOINOTE _Ref462717260 \h [1] .

Les benefices attendus d'une methode normalisee de description de la
Procedure sont :

Permettre l'echange des Recettes entre systemes (en validant les
structures de donnees proposees dans la norme S88.02)

Reduire la courbe d'apprentissage des utilisateurs d'un systeme a
l'autre

Fournir une base commune de dialogue entre les utilisateurs et les
fournisseurs

L'aspect normatif de la notation PFC n'impose pas son utilisation
exclusive. Il est reconnu que des methodes alternatives pourront etre
preferees en fonction des caracteristiques de la Procedure (taille,
complexite, exigences particulieres de l'utilisateur...).

Les objectifs

Un langage est un ensemble de symboles et de regles utilises pour
communiquer. Dans le cas des systemes d'information, ils permettent a
l'homme de dialoguer avec la machine pour decrire la tache que la
machine doit executer et en controler son execution.

La definition precise des objectifs et des contraintes est essentielle
pour guider le developpement. La liste suivante est partiellement
mentionnee en annexe du projet ISA-dS88.02 RENVOINOTE _Ref462717260 \h
[1] :

Simple a suivre : il s'agit d'un langage de specification destine a etre
utilise par des non-informaticiens et non-automaticiens

Facile a construire : peu d'exigences de syntaxe et de symboles a
apprendre

Limites clairement definies : symboles graphiques normalises de Debut et
de Fin

Description de l'ordre d'execution non ambigue : sequence, parallelisme,
selection, convergence...

Expression des relations de coordination : transfert de matieres et
synchronisations

Support des Niveaux hierarchiques : symboles uniques, mais differencies
pour tous les niveaux de la Procedure

Support multi-niveaux : mise en evidence de la decomposition possible
d'un element de Procedure

Applicable aux Recettes Maitre et Controle. Le traitement des Recettes
de haut niveau n'est pas retenu pour le PFC.

Independant du media : utilisable aussi bien pour une implementation "
papier-crayon " qu'avec un ordinateur capable d'animations graphiques
colorees.

Le langage doit permettre de fournir tous les details necessaires pour
decrire de facon non ambigue la strategie de fabrication. A ce titre, il
doit donc supporter le modele d'echange de donnees defini dans les
sections 4 et 5 de la norme S88.02.

La capacite d'extension est induite par l'exigence d'une description non
ambigue. Dans les cas les plus simples, la Procedure peut ne comporter
qu'un seul Element Procedural Recette (RPE) ou une simple liste executee
sequentiellement. Dans les cas complexes, des logiques conditionnelles
et des contraintes de temps peuvent intervenir.

Comparaison des methodes existantes et proposees

Sur la base des objectifs et contraintes ci-dessus, le comite reconnu
que le rapport technique fournissait une analyse precise des options
possibles, incluant la plupart des methodes utilisees par les systemes
de controle batch du marche. Ces methodes sont les suivantes :

Liste d'instruction

C'est la forme la plus simple pour la representation d'une sequence
lineaire ( RENV _Ref462627042 \h Figure 2 ). La liste presente
l'avantage d'etre facile a visualiser.

N?

Phase Parametres de Phase



Parametre Valeur Type

1 Remplir Eau 1000 kg Entree

2 Ajouter Sel 50 kg Entree

3 Chauffer Vapeur 50 (C Process

4 Ajouter Sucre 30 kg Entree

Figure SEQ Figure \* ARABE 2 - Liste d'instruction

Historiquement, la plupart des Procedures Recettes ont ete decrites de
cette facon. Ces Recettes presentaient a l'operateur une liste numerotee
d'etapes a executer. S'il est convenable pour des situations simples, ce
format n'est pas utilisable dans des cas plus complexes : les
parallelismes et sequences complexes avec logique conditionnelle sont
tres difficiles a decrire clairement avec ce format. L'exemple de la
RENV _Ref462626849 \h Figure 3 montre a quoi pourrait ressembler une
approche textuelle. Il s'agit d'une proposition de langage d'echange "
BxL " pour l'echange de donnees de Recette (non retenu a ce jour). Cette
forme evoluee bien adaptee pour la communication entre ordinateurs n'est
a l'evidence pas utilisable pour un dialogue efficace avec un etre
humain... [2]

Figure SEQ Figure \* ARABE 3 - Langage Litteral

Diagramme de Gantt (modifie)



Figure SEQ Figure \* ARABE 4 - Diagramme de Gantt modifie

Les diagrammes de Gantt sont tres utiles pour decrire la progression des
activites dans le temps. Ils peuvent egalement montrer de niveaux
multiples d'activites. Outils de base de la planification, ils sont
relativement bien adaptes pour la description de Procedures Recettes qui
consistent en une ou plusieurs Procedures Unite operent de facon plus ou
moins independante avec des points de coordination.

Le diagramme de la RENV _Ref462626880 \h Figure 4 presente quelques
particularites :

Le deroulement vertical qui se prete mieux a un nombre d'activites
successives plus important que les activites paralleles et qui suit la
logique du format liste ou du SFC

Les liens de coordination entre Procedures Unite

Le decoupage des Procedures Unite en Operations

Une base de temps relative et non absolue du fait que l'instant de
lancement des activites et leur duree ne sont pas connus de maniere
deterministe avant leur execution

Toutefois, lorsqu'une logique conditionnelle complexe doit etre
introduite, le diagramme de Gantt perd son efficacite. Les systemes de
planification utilisent alors les diagrammes de Pert pour traiter ce
type d'information et gerer les situations complexes avec des
predecesseurs et des successeurs multiples. Si les diagrammes de Pert
sont efficaces pour les systemes de planification sophistiques, ils ne
sont guere adaptes a la conduite d'une unite de fabrication.

SFC

La troisieme methode discutee dans le rapport technique est le
Sequential Function Chart (SFC) defini par la norme IEC 61131-3 et base
sur la norme IEC 60848 (GRAFCET). C'est un langage largement repandu et
bien accepte. Il offre des moyens puissants pour specifier la logique
conditionnelle, ce qui manque aux precedentes methodes de type Liste ou
Gantt. On note que la plupart des systemes batch actuels utilisent le
SFC pour decrire les Procedures. La RENV _Ref462627007 \h Figure 5
montre l'exemple d'une Operation qui active des Phases.

Figure SEQ Figure \* ARABE 5 - Representation SFC d'une Operation

Le graphe SFC decrit bien la logique conditionnelle souvent necessaire
au niveau de l'Operation. Au niveau superieur de la Procedure toutefois,
cette capacite a peu d'interet. La RENV _Ref462627160 \h Figure 6
montre deux Procedures Unite actives simultanement. Dans ce cas, on ne
dispose pas d'information concernant les flux matieres, la
synchronisation entre les Procedures Unite et leur deroulement general
relatif dans le temps. Par exemple, la Procedure Unite Reaction n'est
pas supposee demarrer avant que la Procedure Unite Preparation n'ait
atteint une certaine situation. Le graphe ne montre pas cela parce qu'il
doit placer toutes les Procedures Unite dans la meme structure
sequentielle parallele.

Figure SEQ Figure \* ARABE 6 - Representation SFC d'une Procedure
Unite

En conclusion

Chaque approche presente des avantages et des inconvenients, et le
rapport ne conclut pas sur une recommandation. Deux autres problemes
n'ont pas ete mentionnes par le rapport, bien qu'ils soient critiques
pour la description de la Recette : l'utilisation de niveaux multiples
dans la hierarchie et la separation entre les Elements Proceduraux
Equipement et Recette.

Autres apports

Chaque constructeur de systeme ou editeur de solutions pour le controle
batch a developpe son propre langage. Cette diversite des approches qui
provoque la confusion des utilisateurs a ete un element moteur pour le
developpement du PFC. Les acteurs majeurs ont participe a l'elaboration
de ce langage. Chacun s'est battu pour conserver les atouts de sa propre
solution dans la norme.

Pendant cette evaluation, d'autres travaux ont ete etudies. On doit
signaler par exemple les travaux remarquables de Karl-Erik Arzen et
Charlotta Johnsson sur le " High Level Grafchart ". Ils proposent une
evolution sans compromis du Grafcet vers une forme objet et demontrent
son application dans le controle discontinu [3] [4] [5] [6].

Les travaux de revision de la norme IEC 60848-1988 pour permettre de
specifier de multiples niveaux de graphe offraient egalement un champ de
reflexion interessant [7] [8] [9]

La notation resultante du Procedure Function Chart s'est inspiree du
High-Level Grafchart et des modifications proposees pour la norme IEC
60848.

Developpement des " Procedure Function Charts "

Cette evaluation concluait donc qu'aucune methode existante ne convenait
pour repondre a tous les objectifs et contraintes enonces a tous les
niveaux et pour tous les degres de complexite des Procedures. Par
contre, il etait reconnu que chacune des methodes discutees dans le
rapport technique avait des caracteristiques interessantes qui,
combinees entre elles, pouvaient contribuer a definir une nouvelle
methode efficace. Il etait egalement reconnu qu'une methode similaire a
celle proposee par la revision des macro-etapes de la norme IEC60848
permettrait de supporter les niveaux multiples dans la Recette.

La notation PFC a ete developpee et revisee sur une periode de 4 annees
marquees par des faux departs et des marches arrieres. Chaque fois que
de nouveaux membres se joignaient au comite, de nouvelles discussions et
de nouvelles alternatives surgissaient. Il s'avera impossible de
developper une methode satisfaisante dans l'esprit de chacun. Compromis
et concessions ont ete le terrain du consensus sur la methode de
description retenue.

En guise de parcours simplifie du processus de developpement de la
notation PFC, il peut etre utile de considerer quelques elements qui ont
guide sa genese :

L'influence du format Liste est visible dans le principe des Transitions
Implicites (discutees plus loin) qui permet de decrire une simple liste
d'Elements Proceduraux.

La capacite du diagramme de Gantt a representer la notion de duree et la
synchronisation apparait dans la possibilite de dessiner des elements
proceduraux de longueur fonction de leur duree relative.

L'influence du SFC est evidente : Utilisation de selections de sequences
et de sequences simultanees, alternance Transition - Etape - Transition.


Bien que le terme ``Macro Etape'' ne soit pas utilise, le concept mis en
avant par le projet de revision de la norme IEC60848 est reflete dans la
notation PFC.

La separation entre la logique de la Recette et celle de l'Equipement a
conduit a definir une specification particuliere pour l'activation et
l'evaluation des Transitions.

Il existe une difference fondamentale entre la logique procedurale de la
Recette et la logique sequentielle de l'entite d'equipement. La logique
d'equipement, quel que soit le langage, doit toujours etre responsable
de la conclusion de son traitement. La decision de l'entite d'equipement
peut etre basee sur des signaux externes sans filtrage interne, par
contre, la capacite de la logique d'equipement a traiter ses taches
menageres ou d'autres activites lors d'une demande de fin d'execution
est critique. C'est la ligne de raisonnement qui a conduit a definir un
comportement different de la relation RPE-Transition du PFC de la
relation Etape-Transition du SFC.

Les specificites Process telles que l'allocation des ressources, les
transferts de matieres, la synchronisation et les activites asynchrones
sont prises en compte par la notation PFC.

La Procedure Recette doit montrer l'orchestration de Procedures Unite
relativement independantes meme lorsqu'elles se decomposent en elements
de niveau inferieur (Operations, Phase).

Notation du " Procedure Function Chart "

La notation presentee ici est definie dans le projet de norme
ISA-dS88.02 RENVOINOTE _Ref462717260 \h [1] dans son etat au moment
ou ce papier est redige. Il est possible que cette notation soit
modifiee avant que ce projet ne soit confirme comme norme ANSI/ISA et
IEC a l'issue du processus d'approbation actuellement en cours. Les
indications fournies devront donc etre confrontees a la publication
officielle en cas de reference future.

L'objectif de cette presentation n'est pas de proposer une reference
complete du langage PFC qui devrait fait l'objet de publications
ulterieures. Il s'agit d'une breve vue d'ensemble de la notation au
travers de quelques exemples.

Les symboles utilises dans la notation PFC sont les suivants :

Ligne de synchronisation avec transfert de matiere

Figure SEQ Figure \* ARABE 7 - Symboles PFC

PFC " Procedure Operation "

Le plus bas niveau hierarchique de la Procedure Recette est la Procedure
Operation qui decrit les enchainements des Phases Recette, elle-meme
couplees (au besoin) aux Phases Equipement. Ce cas limite ou la Recette
determine les enchainements proceduraux au plus bas niveau de la
hierarchie S88 correspond au niveau de couplage exclusif de la plupart
des moteurs d'execution batch.

La RENV _Ref462716484 \h Figure 8 montre comment decrire une
Operation simple de 2 Phases en utilisant les symboles PFC. Les symboles
de Debut et Fin indiquent ou commence et ou se termine l'execution du
PFC. Le diagramme est developpe verticalement du debut a la fin. Les
liens directs connectent les differents symboles et determinent l'ordre
d'execution du diagramme.

Figure SEQ Figure \* ARABE 8 - Procedure Operation PFC

Les Phases Recette correspondent a des Phases Equipement qui peuvent
etre implementees en logique programmee dans un controleur de procede
(processeur SNCC ou Automate). Ces 2 Phases sont representees
differemment pour mettre en evidence l'utilisation des Transitions
Implicites et Explicites.

Transition Implicite

La Phase Remplir utilise une Transition Implicite. Elle est programmee
de telle sorte qu'elle passe a l'etat " Termine " lorsqu'elle atteint
son objectif (dans ce cas : atteindre le niveau de 4 metres). Cet
objectif a ete defini en utilisant un parametre transmis a la Phase au
lieu d'une condition de Transition. La Phase suivante Purger doit
demarrer des que la Phase Remplir atteint son objectif. On considere
dans ce cas qu'il n'est pas necessaire de representer une Transition
entre ces 2 Phases : les Phases s'enchainent naturellement par le seul
jeu de leur execution. Lorsqu'une Transition n'est pas decrite parce
qu'elle correspond a la fin de l'element procedural precedent sans
aucune autre condition, elle est appelee Transition Implicite. La notion
de Transition est maintenue dans le but de respecter la regle
Etape-Transition-Etape de la norme IEC 61131-3.

Figure SEQ Figure \* ARABE 9 -Transition Implicite

La RENV _Ref462716550 \h Figure 9 developpe le concept de Transition
Implicite. Par definition, la Transition Implicite est une convention
qui autorise a ne pas representer dans le PFC la condition " Element
Procedural Equipement Termine ". Dans la plupart des applications
batch, les Elements Proceduraux Equipement sont programmes par
l'automaticien pour etre lances par la Procedure Recette et poursuivent
leur execution en utilisant les parametres de formule appropries charges
avant l'execution. Ceci est un probleme critique du controle batch :
l'Element Procedural Equipement controle toujours lui-meme sa fin
d'execution, meme si une Transition Explicite du PFC la requiert. Ce
mecanisme est naturel pour l'auteur de la Recette.

Il s'agit d'une difference majeure avec le SFC : lorsqu'une Transition
est evaluee vraie, les etapes precedentes sont immediatement terminees,
et il n'existe aucune opportunite pour poursuivre les " taches menageres
". Une interruption soudaine des Elements Proceduraux Equipement n'est
pas adaptee aux applications batch, et on remarquera que beaucoup de
systemes utilisent une forme alteree du SFC pour contourner ce probleme.

Transition Explicite

Dans le cas de l'exemple precedent, on aurait pu representer une
condition " Vraie " ou " Niveau atteint " ou " Phase de remplissage
terminee ". Si une telle information est ressentie comme necessaire,
elle pourra etre decrite a l'aide d'une Transition Explicite.

Figure SEQ Figure \* ARABE 10 -Transition Explicite

Une Transition Explicite suit la Phase Recette Purger. Cette Phase est
programmee dans l'equipement pour vider le reacteur. Apres que cette
Phase ait ete lancee, la logique de la Phase Equipement ne fermera la
vanne de purge que lorsque l'ordre lui en aura ete donne par l'execution
du PFC lorsque la Transition " Niveau <= 1 metre " sera devenue vraie.
La Phase ferme la vanne, effectue les actions necessaires et passe a
l'etat " Termine ". Le PFC franchit alors la Transition, atteint le
symbole Fin, et conclut l'execution de l'Operation

On voit que dans ce cas (enchainement simple entre 2 elements
proceduraux) l'utilisateur a le choix d'utiliser une Transition
Explicite ou Implicite avec les memes effets. La possibilite de choisir
le type de Transitions implique une coordination entre l'automaticien
qui developpe la logique des Elements Proceduraux Equipement et
l'ingenieur qui decrit le procede de fabrication.

La description des conditions attachees aux Transitions Explicites n'est
pas imposee par la norme. Les applications peuvent utiliser des
notations particulieres ou faire reference a la norme IEC 61131-3.

Regles de representation et parametres

La norme n'impose pas de couleurs pour le diagramme ni de facon de
representer les parametres. Ils doivent simplement etre accessibles a
partir de l'element procedural correspondant.

Debut et fin

Les premiers projets imposaient l'utilisation d'un seul symbole de
depart et d'arrivee par graphe. L'utilisation de graphes a entrees et
sorties multiples est desormais permise pour decrire des Procedures
paralleles asynchrones avec evolutions multiples. C'est une nouvelle
difference importante avec le SFC.

A la difference du SFC, il n'y a pas d'etape initiale. Celle-ci est
unique dans le cas du SFC, alors que la notation PFC autorise
l'execution simultanee de plusieurs elements proceduraux au lancement de
la Procedure. Ceci est possible grace au symbole de Debut.

Ces symboles ne sont pas executes et ne supportent pas d'informations.
Ils representent seulement des positions.

PFC " Procedure Unite "

La RENV _Ref462562704 \h Figure 11 represente une Procedure Unite
qui determine les enchainements des Operations. A ce niveau, l'element
procedural peut contenir un PFC de niveau inferieur (Operation Recette
manipulant des Phases ) ou referencer directement une Operation
Equipement.

Figure SEQ Figure \* ARABE 11 - Procedure Unite PFC

Le signe " + " place dans le coin superieur droit de l'element
procedural indique l'encapsulation d'un PFC de niveau inferieur. Par
exemple, l'Operation Initialise reference une Operation Equipement, il
ne contient donc pas de Phases Recette. Toutes les autres Operations
encapsulent des PFCs, et donc des Phases.

L'utilisation de Transitions Implicites apres les Operations Initialise
et Charge permet une representation concise : la premiere partie du
graphe se lit comme une liste.

Les Transitions Explicites sous le symbole de selection (barre
horizontale) sont evidement obligatoires.

PFC " Procedure Recette "

Les besoins de descriptions de la Procedure Unite et de la Procedure
Operation ne sont pas tres differents. Par contre, la representation de
la Procedure Recette differe sensiblement des 2 precedentes.

La Procedure Recette orchestre l'execution d'activites asynchrones (par
exemple les Procedures Unite) qui ont des points de synchronisation, des
transferts de matieres et des Exigences Equipements.

En tant que plus haut niveau de la Procedure, il est necessaire de
fournir le maximum d'information au plus au niveau d'abstraction
possible. La RENV _Ref462562573 \h Figure 12 presente un exemple
d'une Procedure Recette simple.

Figure SEQ Figure \* ARABE 12 - Procedure Recette PFC

Allocation des ressources

Le symbole d'allocation de ressources represente un element procedural
qui contient les Exigences Equipements (et autres ressources telles que
personnel, matieres, energie) pour la Procedure Unite qui le suit. Il
s'agit des regles d'allocation constituees par exemple d'une liste des
equipements utilisables pour l'execution de cette Procedure Unite.
L'execution de l'element doit entrainer l'allocation des ressources
necessaires (en particulier les Modules Equipement) par un arbitrage
manuel ou calcule par un systeme d'ordonnancement. La forme du symbole
et son objectif sont normalises, par contre le contenu est laisse a
l'appreciation de l'implementation.

Lorsqu'une Transition Explicite suit le symbole d'allocation, elle
represente les conditions de lancement de la Procedure Unite. Dans notre
exemple, la Procedure Unite Preparation demarre des que l'element
d'allocation est execute, tandis que la Procedure Unite Reaction exige
un acquittement de l'operateur pour demarrer.

Lorsque les 2 Procedures Unite sont terminees, le symbole de fin de
sequences simultanees (convergence ET) permet au graphe d'atteindre le
symbole Fin et l'execution de la Recette se termine.

Une representation incomplete

La RENV _Ref462562573 \h Figure 12 semble indiquer que les 2
Procedures Unite fonctionnent simultanement. Cette representation est
incomplete : en generalisant, toutes les Procedures Unite devraient etre
placees dans le meme jeu de sequences paralleles. De plus, les points de
synchronisation et les mouvements de matieres ne sont pas representes.
La premiere solution qui vient a l'esprit pour tenter de resoudre ce
probleme serait de decrire les Procedures Unites en serie comme dans une
liste ( RENV _Ref462563145 \h Figure 13 ). Cette methode ne convient
pas, car elle impose des points de synchronisation tels que la premiere
Procedure Unite soit terminee avant que la seconde puisse demarrer. Elle
ne resout pas non plus le probleme de la description des transferts de
matieres.

Figure SEQ Figure \* ARABE 13 - Procedure Recette ``Serie''

Duree relative et Synchronisations

Le defi consistait donc a trouver une methode capable de representer une
large structure de sequences simultanees. L'application des diagrammes
de Gantt sur un axe vertical avec une echelle de temps relative le
permettait.

On a tout simplement allonge les elements proceduraux comme sur un
diagramme de Gantt. La RENV _Ref462614340 \h \* FUSIONFORMAT Figure
14 montre la meme Procedure Recette " etiree " pour montrer les
relations et points de synchronisation.

On peut noter que ni l'instant absolu de l'execution d'un element
procedural ni sa duree ne sont connus dans la Recette (des informations
statistiques de duree pour la planification et les calculs de cout
previsionnels pourraient eventuellement etre recuperees). La longueur de
l'element procedural est donc purement relative et n'a pas de role
fonctionnel.

La taille des 2 Procedures Unite est telle qu'elle permet de montrer
que la Procedure Unite Preparation est d'abord lancee et qu'a un moment
donne de son execution, le processus d'allocation de la Procedure Unite
Reaction est execute. Ensuite, lorsque l'operateur a valide les
conditions de demarrage, la Procedure Unite Reaction est demarree. Plus
tard, un peu avant la fin de la Preparation et un peu apres le demarrage
de la Reaction, un transfert matieres s'effectue entre la cuve et le
reacteur respectivement alloues a la Preparation et a la Reaction. Le
transfert se poursuit pendant quelque temps et la Reaction se poursuit.
Lorsque les 2 Procedures sont terminees, la Recette se termine.

Figure SEQ Figure \* ARABE 14 - Extension des Elements Proceduraux
et synchronisation

Une representation multi-niveaux plus precise

Bien que relativement vague sur les evenements, la RENV _Ref462614340
\h Figure 14 fournit plus d'information que la RENV _Ref462562573 \h
Figure 12 . On peut aller plus loin en montrant plusieurs niveaux sur
le meme PFC comme sur la RENV _Ref462617854 \h Figure 15 . Les
symboles des Procedures Unite ont ete dilates et les PFC qu'elles
encapsulent sont representees a l'interieur. On voit a present que les 2
Procedures Unite Preparation et Reaction ont chacune 4 Operations. On
peut observer que le point de synchronisation S1 concerne le prelevement
d'echantillon dans la cuve de preparation tandis que le transfert de
matiere T1 est effectue par les Operations Transfert du Reacteur
(Procedure Unite Preparation) et Transfert de Preparation (Procedure
Unite Reaction)

Figure SEQ Figure \* ARABE 15 - Detail de l'encapsulation

Autres regles du PFC

La notation PFC a pour objet de favoriser l'echange des donnees de
Recette entre systemes et de rendre plus facile l'apprentissage d'un
nouveau systeme batch. Toutefois, il est reconnu qu'aucun paradigme
n'est definitif et que l'evolution et l'innovation se poursuivront. Par
consequent, la norme permet d'etendre la notation PFC. La seule exigence
est que les extensions soient clairement definies.

La Procedure est le ciment qui unit les differentes categories
d'information de la Recette au sein de chaque element procedural. La
norme n'impose pas la representation de ces informations. Les exemples
ont montre une representation possible des parametres de la formule et
des conditions des transitions. La description de l'en-tete de Recette
et des " Autres Informations " peuvent faire l'objet de larges
divergences dans l'implementation.

En resume

La notation Procedure Function Chart propose une methode normalisee et
independante du fournisseur pour la description de la Procedure de la
Recette. Cette independance est assuree par le fait que la methode a ete
developpee sur la base de multiples methodes et normes connues ou
utilisees et en differe suffisamment de telle sorte qu'aucun fournisseur
n'est avantage. Un panel large et diversifie de fournisseurs et
d'utilisateurs a conduit son developpement et cette notation represente
un consensus accepte par toutes les parties. Il est attendu de la
notation PFC qu'elle

Supporte une methode normalisee pour les echanges de donnees entre
systemes

Permette une communication efficace entre les acteurs pendant toutes les
phases des projets

Raccourcisse la courbe d'apprentissage des auteurs de Recettes, et des
operateurs lorsqu'ils ont a mettre en ?uvre differents systemes

Cette presentation a ete realisee a partir de larges extraits d'une
presentation de David Emerson[10].

[1] ISA-dS88.02 September 1999, Draft 15, Revision 1

[2] WG4 - dSP88.02 " A Proposal For Batch Control Systems Recipe,
Schedule, and Journal Exchange " Languages Mai 1996

[3] Object-oriented SFC and ISA-S88.01 recipes, Karl-Erik Arzen and
Charlotta Johnsson, Department of Automatic Control, Lund Institute of
Technology, Lund, Sweden, at the 1996 World Batch Forum Conference.

[4] Recipe-Based Batch Control Using High-Level Grafchart, Licentiate
Thesis by Charlotta Johnsson, Department of Automatic Control, Lund
Institute of Technology, Lund, Sweden, June 1997.

[5] Grafchart and Batch Recipe Structures, Charlotta Johnsson,
Department of Automatic Control, Lund Institute of Technology, Lund,
Sweden, at the 1998 World Batch Forum Conference.

[6] A Graphical Language for Batch Control Charlotta Jonhsson,
Department of Automatic Control, Lund Institute of Technology, Lund,
Sweden, 1999

[7] IEC 3B/256/CD, Projet de revision IEC 60848 Ed.2: Specification
Language GRAFCET for sequential function charts.

[8] IEC 60848: 1988, Preparation of function charts for control systems.

[9] IEC 611131-3, Programmable controllers - Part 3: Programming
languages

[10] ``What Does a Procedure Look Like? The ISA S88.02 Recipe
Representation Format, by David Emerson, Yokogawa Corporation of America
at the 1999 World Batch Forum Conference.

Fill with 1000 kg Water

Manually add 50 kg Salt

Heat with steam to 50 (C

Manually add 30 kg sugar

1

Remplir

2

Chauffer

3

Agiter

4

Ajouter

Active Phase

Parametres associes

Active Phase

Parametres associes

Active Phase

Parametres associes

Active Phase

Parametres associes

Phase terminee

Phase terminee

Phase terminee

+

Preparation et Reaction terminees

(Rien)

Phases Recette

" Remplir " et " Purger "

Active Operation

Parametres associes

Active Operation

Parametres associes

Active Operation

Parametres associes

Transition explicite

3

React.

2

Prepar.

1

(Vide)

Condition Transition

Phase Recette

Phase Equipt

Phase Recette

Phase Equipt

La transition vers l'element procedural suivant a lieu lorsque la phase
d'equipement a termine

ET que la condition est vraie

Lorsque la condition est vraie, une demande de fin d'execution est
envoyee a l'Element Procedural Equipement

La transition vers l'element procedural suivant a lieu lorsque la phase
d'equipement a termine son execution.

+

+

Transition implicite

Niveau <= 1 metre

Symbole " Fin "

Niveau = 4 metres

Symbole " Debut "

Purger

Remplir

Initialise

Charge

+

Reaction

+

Transfert

Stockage

+

Transfert

Expedit.

+

Variable Transfert = " Expedit. "

Variable Transfert = " Stockage "

Transfert termine

Transfert termine

RPE initial.

Pas de ``+'' : L'operation reference une Operation Equipement. Ne
contient pas de Procedure

Transitions implicites : la procedure se lit comme une liste

Transitions explicites requises pour la selection de sequence

" + " : L'operation contient une procedure

Transition explicite facultative

La transition implicite lance la procedure des que le symbole
d'allocation est execute

Reaction.

Lancement simultane des 2 sequences

La PU " Reaction " a une condition de demarrage

Entree Operateur = OK pour lancement

Entree Operateur = OK pour lancement

La transition explicite permet de definir des conditions de lancement de
la Procedure Unite

Entree Operateur = OK pour lancement

Preparation

Reaction.

+

Preparation

+

+

Reacteur 1 ou 2

Cuve A, B ou C

Exigences Equipement pour la Procedure Unite suivante

RPE ``Master Recipe'' SugarCookies IS

HEADER

Author ``J. Smith''

Version ``dSP88.02-WG4.A''

END HEADER

FORMULA

Water IS 40 ``Gallons'' WITHIN 38..42

Sugar IS 10 ``Lbs'' WITHIN 9..11

Flour IS 10 ``Lbs'' WITHIN 9.9..10.1

END FORMULA

EQUIPMENT REQUIREMENTS END

OTHER INFORMATION END

DEFINE RPE ``Procedure''

DEFINE RPE ``Operation'' FILL

USES EPE waterFill (lbs)

USES EPE flourFill (lbs)

USES EPE sugarFill (lbs)

DEFINE RPL waterFull AS waterFill.done END

DEFINE RPL flourFull AS flourFill.done END

DEFINE RPL sugarFull AS sugarFill.done END

FROM INITIAL TO waterFill (Water)

FROM waterFill TO waterFull

FROM waterFull TO flourFill (Flour)

FROM flourFill TO flourFull

FROM flourFull TO sugarFill (Sugar)

END

USES EPE ``Operation'' Mix

DEFINE RPE ``Operation'' HEART

. . .

END

TRANSITION FROM INITIAL TO Fill ON TRUE END

TRANSITION FROM Fill TO Mix ON waterFill.done AND lourFill.done AND
sugarfill.done END

TRANSITION FROM Mix TO HEAT ON . . .END

END

Reacteur 1 ou 2

Cuve A, B ou C

La Procedure Unite " Preparation " doit etre terminee avant l'allocation
du reacteur et l'evaluation des conditions de lancement de la Procedure
Unite " Reaction "

Bien que seduisante, la description serie des Procedures Unites n'est
pas convenable si elles doivent concourir (par exemple pour des
transferts de matieres).

Une telle specification impose que les Operations et Phases ne peuvent
etre actives que dans une seule Procedure Unite a la fois

+

Reaction.

+

Preparation

+

Reacteur 1 ou 2

Cuve A, B ou C

La synchronisation S1 indique que le reacteur n'est pas alloue avant la
moitie de la procedure Preparation

S1

+

T1

T1

S1

Les symboles PU sont allonges pour montrer la relation temporelle

La ligne de synchronisation flechee indique qu'un qu'elle concerne un
transfert de matiere

Les transitions implicites indiquent que les 2 sequences simultanees
convergent pour atteindre le symbole Fin et terminer la recette apres
execution des 2 PU

+

Transfert

De Prep.

T1

S1

T1

S1

Initialise

Entree Operateur = OK pour lancement

Reaction.

+

+

Transfert -> React.

Reacteur 1 ou 2

Cuve A, B ou C

Reaction

+

Transfert -> Stock

+

Echantillonnage

+

Charge

Initialise

T1

Preparation.

+

Echant. OK

Le PFC encapsule dans la Procedure Unite est decrit pour une information
plus detaillee

Les operations concernees par la synchronisation sont maintenant
visibles

Parametre Phase

Unit

Procedure

A

Unit

Procedure

B

Unit

Procedure

C

Unit

Procedure

D

Operation A1

Operation A2

Operation A3

Operation A4

Operation A5

Operation A6

Operation C1

Operation C2

Operation C3


Johann Sebastian Bach. the music closest to silence, closest, in spite of its being so highly organized, to pure, one-hundred-degree proof Spirit" (Aldous Huxley, Island)