Robotique

Analyse de Grafcets par Génération Logique de l'Automate Équivalent

Publié le

Auteurs : Jean-Marc Roussel

En Génie Automatique, le GRAFCET [IEC 848] est couramment employé pour la modélisation de la dynamique des systèmes à événements discrets, en raison de ses capacités de modélisation et de son ergonomie. Cependant, il lui est reproché de ne pas être défini de manière suffisamment formelle pour que tous les grafcets établis soient sans ambigüité et puissent être validés. L'objectif des travaux est double : contribuer à la formalisation du GRAFCET de manière à renforcer ses fondements théoriques et offrir à tout analyste les moyens nécessaires pour valider une modélisation exprimée en GRAFCET en vérifiant les propriétés des modèles et leur comportement par rapport à leurs entrées/sorties. Le GRAFCET étant une machine d'état complexe - essentiellement à cause des parallélismes importants qu'il permet de décrire - nous proposons à l'analyste d'utiliser le graphe des situations accessibles, ou grafcet d'état équivalent pour valider sa spécification. Nous avons conçu une technique de génération automatique du graphe des situations accessibles d'un grafcet global (qui est un automate fini «équivalent»), de manière à pouvoir établir un ensemble de preuves et propriétés sur la cohérence intrinsèque du grafcet et sur sa pertinence par rapport au cahier des charges. Une algèbre de Boole, dans laquelle la notion de fronts a été formalisée par deux opérateurs unaires a été construite. Les 14 propriétés qui ont été démontrées ont permis d'établir un module de calcul symbolique utilisé pour tenir compte de l'historique des évolutions des entrées. Nos travaux intègrent les extensions du modèles GRAFCET. Pour valider notre approche, une maquette informatique en C a été développée et permet de calculer l'automate équivalent au grafcet à valider. Nous utilisons pour vérifier certaines propriétés l'outil MEC développé pour l'étude des systèmes de transitions. Deux exemples de validation de grafcets par analyse de leur automate sont donnés dans le mémoire.