Participants : Fernando Jiménez
Fraustro, Paul Le Guernic.
Mots clés : programmation synchrone,
Signal, automatismes industriels, norme IEC 1131, Grafcet
.
Résumé :
Dans le prolongement des approches multi-formalisme que
nous avions adoptées dans les projets européens Synchron,
Sacres et Syrf avec le format commun DC+,
nous considérons une telle approche dans le contexte des
langages de la norme IEC 1131 concernant les
automatismes industriels (ces langages comportent le
formalisme du Grafcet ainsi que différents langages
graphiques et textuels).
Ce travail se fait en coopération avec Éric Rutten (projet
Bip, Inria RhÔne-Alpes).
Les systèmes de contrÔle industriels sont des systèmes à
la fois complexes et à la sécurité critique. Leur conception
repose sur des standards, tels que la norme de
l'International Electrotechnical Commission
IEC 1131 [IEC93], et en particulier sa partie
IEC 1131-3 concernant les langages de
programmation. Nous travaillons à l'intégration de ce
standard de spécification et de l'environnement de
programmation synchrone Signal : il s'agit d'établir un
modèle de ces langages, visant à offrir à de telles
spécifications l'accès aux outils d'analyse et de mise en
oeuvre des techniques synchrones.
Les langages concernés sont deux langages textuels :
Instruction List, IL, proche de
l'assembleur, et le texte structuré Structured Text,
ST, un langage impératif séquentiel, de la
famille de Pascal, Ada, ou C ; et deux langages
graphiques : les schémas à relais ( Ladder
Diagrams, LD), et les diagrammes de
blocs-fonctions ( Functional Block Diagrams,
FBD). En plus de ces langages, la norme
utilise une variante de Grafcet, SFC (
Sequential Function Charts), comme langage graphique
pour la modélisation des aspects des fonctions de commandes
séquentielles des systèmes de contrÔle. Le tout fonctionne
dans le contexte d'un schéma d'exécution cyclique, faisant
intervenir une notion de pas de réaction ou
scan.
On a construit un modèle en Signal du langage
ST [13]. Il combine expansion spatiale
(codant les affectations en séquence dans un même instant
synchrone) et temporelle (pour les itérations non bornées, en
utilisant le mécanisme de sur-échantillonnage de Signal). Il
a été mis en oeuvre dans un prototype écrit en Java. On a
aussi construit un modèle du langage FBD
(blocs diagrammes fonctionnels), langage de type
blocdiagrammes, mais présentant des mécanismes de
synchronisation et passage de données différents de ceux de
Signal. Enfin, le niveau des unités d'organisation de
programmmes (UOP) a été modélisé. C'est le
niveau structurel encapsulant tout programme écrit dans un
des langages de la norme. Par ailleurs, une expérimentation
de la connexion depuis ces langages vers les fonctionnalités
de l'environnement Signal a été menée, concernant la liaison
entre Signal et Simulink [20]. La
spécification d'un contrôleur pour un système de pompage a
été faite en une UOP programmée en
ST, et le modèle Signal connecté avec un
modèle de la dynamique de ce système.