FR 2816725 A1 20020517 FR 0014627 A 20001114 La présente invention a pour objet un procédé de construction déterministe, cohérente et synchrone de graphes temps réel pour automatismes. De plus en plus, la conception et la programmation de logiciels d'automatisme et de simulation se traduisent directement par une représentation sous forme d'un graphe reliant des fonctions. La Norme IEC 1131-3 définit trois langages graphiques de même nature ( SFC LD , FBD ) mais de sémantiques différentes, qui permettent de représenter tout programme d'automatisme. La norme AFNOR C03-190 définit le langage graphique Grafcet de même sémantique et de même syntaxe que le SFC . Par la suite, à chaque fois que l'on fera référence à Grafcet seul ou à (SFC seul, on comprendra Grafcet et SFC . Toutes ces représentations graphiques doivent être saisies informatiquement, analysées syntaxiquement et sémantiquement, traduites dans un langage informatique plus ou moins élaboré (C, Ada, assembleur, Basic, Fortran, binaire, langage interprété, etc. ) qui, lui même, : -est compilé et édité pour fournir un programme binaire exécutable sur un processeur cible, -est directement chargé pour exécution ou interprétation sur un processeur cible, et -est exécuté sur un calculateur hôte pour des besoins de simulation. L'exécution de ces programmes binaires et l'exécution des langages interprétés permettent d'effectuer les algorithmes décrits dans la représentation graphique initiale. Les outils qui assurent saisie, analyse et traduction, simulation, mise au point, monitoring (suivi) des représentations graphiques seront dénommés, par la suite, atelier logiciel d'automatisme)), Les problèmes posés par les syntaxes et sémantiques différentes des langages graphiques précités sont : 1)-L'obligation d'intégrer dans l'atelier logiciel plusieurs modes de saisie des graphiques selon les langages, 2)-L'obligation d'intégrer dans l'atelier logiciel des syntaxes particulières et parfois non homogènes pour relier les divers modules d'automatisme décrits dans des langages différents, mais reliés entre eux (par exemple : Isagraph : SFC et FBD ) 3)-L'obligation de gérer et de synchroniser durant les phases de simulation la mise au point symbolique en temps réel ou d'assurer le monitoring des plans ou fenêtres différents liés chacun à un type de représentation différent. Non seulement les outils de l'atelier sont bien plus complexes, mais la mise au point éclatée en plusieurs plans est beaucoup moins facile à suivre et à synthétiser (comme c'est par exemple le cas pour : Isagraph , SFC et FBD ) 4)-Lors de la construction des graphes SFC / Grafcet , les composants de base du graphe sont choisis de telle sorte que de nombreuses erreurs de câblage sont possibles et ne peuvent être détectées que lorsque l'on effectue une analyse/compilation globale du graphe en cours de construction, et non à chaque ajout de pièce élémentaire. 5) -Certaines implémentations du Grafcet ne respectent pas la sémantique de la norme AFNOR C03-190 de juin 1982 ou ne s'exécutent pas de façon déterministe. 6)-En présence de plusieurs graphes Grafcet distincts dans le même programme utilisateur (graphes n'ayant aucune étape, transition ou branche en commun), la sémantique des ré-initialisations de graphe est soit mal définie, soit simpliste : incapacité de pouvoir choisir des initialisations à froid, à chaud, sur action particulière, extérieure ou interne et surtout sélective graphe par graphe. La présente invention a pour objet un procédé d'exécution de graphes qui ne présente pas les inconvénients cités ci-dessus et qui permette d'obtenir simplement des graphes à caractéristiques syntaxiques et sémantiques homogènes. Le procédé de l'invention consiste à construire et exécuter les graphes selon la représentation du SFC/ Grafceb) sous forme de composants pseudo- FBDM. Ce type de représentation permet alors de mélanger dans un même graphe des fonctions de type FBD et des fonctions de type SFC / Grafcet en utilisant la même syntaxe et la même sémantique d'interconnexion des blocs fonctionnels, et surtout en exécutant l'ensemble des fonctions pour respecter les principes d'exécution temps réel déterministes. En effet, ces principes permettent de garantir la cohérence des contrôles-commandes régis par le théorème de Shannon. Ainsi, selon l'invention, on simplifie les outils d'un atelier logiciel d'automatisme qui ne présente qu'un seul processus d'analyse sémantique et de construction de graphes SFC , ce qui évite de nombreuses erreurs d'assemblage (comme par exemple l'assemblage direct de deux étapes ou de deux transitions adjacentes). Ceci simplifie l'IHM (Interface Homme-Machine) tant au niveau de la construction qu'au niveau de la mise au point du graphe Grafcet immergé dans le schéma d'automatisme qui unit SFC / Grafcet et et (cFBD . Ceci permet d'associer des processus d'exécution sur cible qui garantissent une exécution strictement déterministe, temps réel et conforme à la norme AFNOR du SFC / Grafcet ) immergé au milieu des fonctions du FBD . La présente invention sera mieux comprise à la lecture de la description détaillée d'un mode de mise en oeuvre, pris à titre d'exemple non limitatif et Illustré par le dessin annexé, sur lequel : - les figures 1 à 8 sont des représentations d'exemples d'éléments de construction de schémas Grafcet / SFC , conformes à l'invention, et - la figure 9 est un exemple simplifié de graphe d'automatisme regroupant FBD et SFC / Grafcet conformément à l'invention. Pour pouvoir regrouper sous une même syntaxe de graphe le FBD et le SFC / Grafcet , en respectant leur sémantique propre, il convient d'autoriser dans le graphe FBD (norme tEC1131-3) tes deux modes de connexion suivants : 1-Une sortie d'une fonction peut être re-bouclée sur une entrée d'une autre fonction ou de la même fonction (On notera qu'en SAO ceci se traduit par l'introduction d'un retard d'un cycle d'exécution entre la sortie et l'entrée). 2-Une entrée peut ne pas être connectée : dans ce cas, on initialise cette entrée à une valeur constante neutre pour l'algorithme de ladite fonction. On va maintenant exposer les principes directeurs de la structure de l'ensemble des fonctions FBD représentatives du SFC / Grafcet . Toute fonction d'automatisme, de contrôle-commande "context free" (indépendant du contexte) doit se traduire par un sousprogramme en langage quelconque utilisant des variables d'entrée, des variables de sortie, des paramètres, des données internes volatiles et des données de travail rémanentes. Dans la sémantique du Grafcet , on constate la circulation de deux types d'information : d'une part les informations en Tout-Ou- Rien , qui permettent d'activer les transitions et qui rendent compte en sortie d'une étape du fait que cette étape est active ou inactive à un instant donné, et d'autre part les états qui circulent au travers des transitions (si celles-ci ne sont pas inhibées), des"divergences en OU" et des"convergences en OU", se fixent provisoirement sur des étapes (lorsque celles-ci sont immédiatement suivies d'une transition inhibé) , se dédoublent sur des"divergences en ET"et fusionnent sur des "convergences en ET'. L'établissement d'un graphe conforme à l'invention est régi par les principes suivants : 1er principe : Les symboles FBD qui permettent de coder un Grafcet doivent présenter deux types d'entrées/sorties, donc de connexions : celles qui véhiculent les états (du type : JETON SFC M, c'est-à-dire jeton présent à l'endroit considéré du graphe SFC ) et celles qui véhiculent les informations analogiques ou les informations Tout-Ou-Rien (dénommées informations TOR ). Pour respecter l'aspect d'un Grafcet , les entrées/sorties de type TOR ou de type analogique seront horizontales et celles de type JETONSFC seront verticales, 2ème principe : Dans la sémantique des migrations des JETON-SFC , l'atome d'exécution d'un Grafcet n'est pas la transition seule ou l'étape seule. En effet à un pas d'exécution donné, l'état de la transition réagit sur l'état de l'étape ou des étapes qui précèdent. Il faut donc, dans une même fonction FBD , réunir ces deux entités pour que l'exécution de la fonction soit context free . Par la même occasion, la construction d'un graphe SFC à partir de ces fonctions évite un grand nombre d'erreurs de construction comme la succession de deux transitions ou la succession de deux étapes. Sème principe : Dans la sémantique du FBD , une sortie peut être liée à plusieurs entrées, mais une entrée n'est liée qu'à une sortie. Par contre en SFC , la divergence en OU est représentée comme un câblage entre une ou plusieurs sortie (s) d'étape (s) et plusieurs entrées de transitions. Une convergence en OU est représentée comme un câblage entre une plusieurs sorties de transitions et une ou plusieurs entrée (s) d'étapes. En fonction du deuxième principe, et pour résoudre le point ci dessus, il convient de créer des fonctions de"divergence en OU"qui regroupent une étape, la divergence et un nombre fini de transitions. Il convient également de créer une fonction de convergence en OU qui représente sur une sortie le OU logique d'un nombre fini d'entrées. Evidemment, les"divergences en ET"et les"convergences en ET"qui, en plus, provoquent une multiplication des jetons d'états, doivent également donner naissance à des fonctions FBD . 4ème principe : Dans la sémantique SFC , on peut reboucler la sortie d'une transition sur l'entrée de n'importe quelle étape. Le fait d'autoriser en FBD le re-bouclage d'une entrée sur une sortie de la même ou d'une autre fonction (tout en prenant en compte la boucle dans le calcul des précédences et en initialisant la sortie re-bouclée à une valeur par défaut) permet ce genre de rebouclage si chaque étape possède deux entrées de type JETONSFC ?. Si une de ces entrées n'est pas connectée, elle est fixée en permanence à la valeur constante C neutre appelée CJNACTIVE. Enfin, la possibilité de câbler une sortie vers deux entrées, qui est une propriété du FBD , se traduit dans le SFC par une "divergence en ET'implicite. On peut donc soit laisser libre cette possibilité qui est sémantiquement correcte, soit, lors de l'analyse des inconsistances d'un réseau Grafcet dans son ensemble, signaler cette fonction implicite par une signalisation (warning) particulière. La représentation graphique du Grafcet impose que soient nommées les étapes et les transitions. La conception de l'IHM de l'atelier logiciel impose que chaque bloc-fonction câblé par l'utilisateur dans un graphe FBD / SFC soit référencé par un numéro unique dans ce graphe. Pour obtenir les noms de transitions et d'étapes, automatiquement, simplement et sans collision lexicale, on applique, par exemple, le principe suivant : 1 ) Un nom de transition est constitué de trois groupes de caractères alphanumériques : Tr xy n Dans cette notation : -"Tr" se rapporte à l'élément Transition , -"xy" correspond au numéro caractéristique de la fonction Grafcet dans le graphe FBD attribué par l'IHM, - "n" permet de caractériser la transition dans la fonction Grafcet . Par exemple pour un symbole STEPD!VOR2 M (étape suivie d'une divergence en OU à deux branches), on pourra distinguer Trxy1 deTrxy2. 20) Un nom d'étape est constitué de trois groupes de caractères alphanumériques : St xy n Dans cette notation : -"St" est mis pour le terme anglais Step (étape), -"xy" correspond au numéro caractéristique de la fonction Grafcet dans le graphe FBD attribué par l'IHM, -"n" permet de caractériser l'étape dans la fonction Grafcet . Par exemple pour un symbole STEPCONVAND2 (étape suivie d'une convergence en ET à deux branches), on pourra distinguer Stxyl de Stxy2. On va exposer maintenant le principe général d'initialisation de réseaux Grafcet distincts. Selon la définition de l'invention, on nomme réseaux Grafcet distincts, deux graphes n'ayant aucune transition, aucun état et aucune liaison en commun. Dans un graphe, il faut pouvoir réinitialiser un réseau Grafcet à volonté et indépendamment des autres réseaux Grafcet distincts qui sont programmés dans la même fenêtre IHM du programme utilisateur. A cet effet, l'invention prévoit de créer une fonction RESETABLE~INITIAL~STEP (étape initiale initialisable). Cette fonction remplace une seule fonction INITIAL~STEP (étape initiale) pour un Grafcet distinct. Cette fonction possède une entrée TOR qui est reliée implicitement à toutes les étapes, initiales ou non, du Grafcet (on entend par liaison implicite, une liaison sortie/entrées d'une fonction FBD non apparente sur le schéma construit par le programmeur). Le passage à CON ? (entrée activée, C représentant le signal d'entrée) de cette entrée provoque la réinitialisation de toutes les étapes du Grafcet distinct considéré ( C-ACTIF pour toutes les étapes d'initialisation et C-PASSIF pour les autres). Si elle est non connectée, cette entrée est passive (état C-OFF ). Si elle est connectée à une sortie d'une fonction FBD quelconque, elle est passive si sa valeur est C-OFF . Il y a, bien sûr, mise en cohérence des sorties TOR et des sorties JETON~SFC associées aux états dans chaque fonction qui vient d'être réinitialisée. L'analyse des ordres de précédence de génération des instructions fait en sorte que l'exécution de RESETABLE~INITIAL~STEP précède celle de toutes les INITIAL STEP d'un même graphe. Dans ce cas, une mise à CON de la sortie cachée se propagera progressivement à tous les autres symboles, de façon cohérente durant le même cycle d'exécution et via les entrées cachées. Pour propager cette réinitialisation, on dote (RESET ABLE- INITIAL-STEP d'une sortie de type TOR invisible dans l'IHM mais présente dans les paramètres de sortie de l'instruction correspondante générée par le compilateur. Symétriquement, tous les symboles de la bibliothèque Grafcet qui doivent être initialisés INITIAL-STEP , STEP STEP~DIV~OR~2 , STEP~CONV~AND~2 ) possèdent une entrée invisible dans l'IHM mais présente dans les paramètres d'entrée de l'instruction correspondante générée par le compilateur. Le compilateur devra vérifier qu'il n'y a au plus qu'un RESETABLEJNITIAL~STEP par graphe distinct. Bien entendu, la norme AFNOR C03-190 autorise plusieurs INITIALSTEP par graphe distinct. On va maintenant décrire, en référence aux figures 1 à 8 du dessin des exemples de représentations graphiques des divers symboles utilisés par l'IHM conforme à l'invention. Ces représentations comportent chacune au moins une étape (initiale ou non) ou une fonction (ET ou OU convergent ou divergent) et généralement une transition (sauf s'il s'agit d'un ET ou d'un OU seul). Une étape conduit généralement à une action de type FBD (activation d'un relais, d'un moteur, affichage,....). Une transition est commandée par au moins une condition (de type FBD ), Tant que cette condition (ou ces conditions) n'est pas (ne sont pas) remplie (s), la transition est bloquée et le jeton (qui part de l'étape initiale et descend par les différents blocs Grafcet disposés en colonne) est arrêté. Dès que cette transition est débloquée, le jeton la traverse vers le bloc suivant. En figure 1, on a représenté un bloc 1 qui est dénommé RESETABLEJNITIAL~STEP , c'est-à-dire un bloc qui comporte une étape initiale à remise à l'état initial (généralement une remise à zéro) référencée Stxyl et une transition référencée Trxyl. En phase simulation ou monitoring , quand l'étape est active, un symbole de jeton présent, tel qu'un disque rouge, se place sur le dessin de l'étape. Quand l'étape est désactivée, le symbole reste tel que représenté sur la figure. Il en sera de même pour tous les autres blocs avec étape décrits ci-dessous. Il est donc très facile de voir ainsi dans un graphe quelle est l'étape active et de suivre pas à pas la progression du processus de contrôle-commande. Le bloc 1 comporte les entrées/sorties suivantes : - Trois entrées qui sont : - Il I1L : commandée en tout ou rien , depuis un graphe FBD . Elle commande la réinitialisation de la fonction et de toutes les fonctions d'initialisation associées au même Grafcet -I2L : commandée en tout ou rien , depuis un graphe FBD , elle commande la transition Trxyl -11 U, 12U : Entrée double de Jeton d'état d'étape, reliée à un graphe SFC , elle matérialise la circulation de l'activité le long des étapes. Lorsque le Jeton est présent, l'étape (Stxyl) est active, et lorsque le Jeton est absent, l'étape est inactive. -Trois sorties : - 01 R : elle produit un signal en Tout ou rien , peut être reliée à une entrée d'un graphe FBD , et commande l'action liée à l'étape, - 01 D : Sortie de Jeton d'état après franchissement de transition, mène à un bloc de graphe SFC , et matérialise la circulation de l'activité le long des étapes/transitions ; -sortie INV : sortie invisible de l'IHM, elle produit un signal en Tout ou rien , elle est connectée aux entrées des fonctions du même graphe SFC , et propage l'action liée à l'initialisation de graphe. En figure 2, on a représenté un symbole graphique 2 dénommé INITIAL-STEP comportant essentiellement une étape Stxy et une transition Trxyl . En phase de simulation ou de monitoring , quand l'étape Stxyl est active, ledit disque rouge se place sur le dessin de l'étape. Quand l'étape est désactivée, le symbole reste comme représenté sur la figure. Ce symbole comporte en outre les entrées/sorties suivantes : - Quatre entrées : - Il L : entrée recevant un signal en Tout ou rien , issu d'un graphe FBD , et commandant la transition Trxy1, - Il U, 12U : Entrée double de Jeton d'état, jeton issu d'un graphe SFC , qui matérialise la circulation de l'activité le long des étapes - INV : entrée Invisible de l'IHM. Elle est commandée en Tout ou rien , elle est connectée à la sortie de la fonction RESETABLEJNITIAL ~STEP du même graphe SFC et enclenche l'action liée à l'initialisation pour cette fonction. - Deux sorties : -O1R R : produisant un signal en Tout ou rien , et destinée à être reliée à une entrée d'un graphe FBD , elle commande l'action liée à l'étape. - 01 D : Sortie de Jeton d'état d'où part le jeton après franchissement de la transition Trxyl, pour aller vers un graphe SFC , ce jeton matérialisant la circulation de l'activité le long des étapes/transitions En figure 3, on a représenté un symbole 3 dénommé STEP comportant essentiellement une étape (non initiale) Stxyl, suivie d'une transition Trxyl. En phase de simulation ou de monitoring , quand l'étape est active, un disque rouge se place sur le dessin de l'étape, Quand l'étape est désactivé le symbole reste comme représenté sur la figure. Le symbole 3 comporte les entrées/sorties suivantes : Quatre entrées : - Il L : entrée recevant des signaux en Tout ou rien , issus d'un graphe FBD . Cette entrée commande la transition Trxyl. -I1U, I2U entrée double de Jeton d'état d'étape, ce jeton étant issu d'un graphe SFC et matérialise la circulation de l'activité le long des étapes. - INV :"entrée invisible de l'IHM. Elle reçoit des signaux en Tout ou rien , est connectée à la sortie de la fonction RESETABLEJNIT~SFC du même graphe SFC (fonction d'initialisation de tout le graphe SFC ), et enclenche l'action liée à l'initialisation pour cette fonction. - Deux sorties : - 01R : elle produit des signaux en Tout ou rien . Elle est destinée à être reliée à l'entrée d'un graphe FBD , et commande l'action liée à l'étape. - 01D : Sortie de Jeton d'état après franchissement de la transition Trxyl du bloc 3. Ce jeton se dirige vers un graphe SFC , et matérialise la circulation de l'activité le long des étapes/transitions. On a représenté en figure 4 un symbole 4 dénommé STEP~DIV~OR~2 comportant essentiellement une étape Stxyl suivie d'une divergence en OU à deux branches de sortie (c'est-à-dire un câblage à une entrée et deux sorties, équivalant à la fonction booléenne OU), chacune des branches de sortie comportant une transition, respectivement Trxyl et Trxy2. L'étape Stxyl se comporte de la même façon que celle du bloc 3. Le bloc 4 comporte les entrées/sorties suivantes : - Cinq entrées : - L et 12L : entrées recevant des signaux en Tout ou rien issus d'un graphe FBD . Ces signaux commandent chacune des deux transitions Trxy1 et Trxy2. - U, 12U : entrée double de Jeton d'état d'étape, jeton issu d'un graphe SFC et matérialisant la circulation de l'activité le long des étapes. - in : entrée invisible de l'IHM. Elle reçoit des signaux en Tout ou rien . Elle est connectée à la sortie de la fonction RESETABLEJNT~SFC du même graphe SFC , et enclenche l'action liée à l'initialisation pour cette fonction. Trois sorties : - 01 R : sortie produisant un signal en Tout ou rien . Elle est reliée à l'entrée d'un graphe FBD , et commande l'action liée à l'étape Stxyl. -O1D et 02D : Sorties de Jeton d'état après franchissement de la transition correspondante (Trxyl ou Trxy2), le jeton se dirigeant alors vers un graphe SFC et matérialisant la circulation de l'activité le long des étapes/transitions. On a représenté en figure 5 le symbole 5 d'un bloc dénommé CONVOR2 ?, qui est une convergence en OU à deux branches. Ce bloc comporte un câblage à deux branches d'entrée et une sortie. Ses entrées/sorties sont les suivantes : Quatre entrées qui sont en fait deux entrées doubles : - HU, 12U et 13U, 14U : entrées de Jeton d'état d'étape, issu d'un graphe SFC et matérialisant la circulation de l'activité le long des étapes. Une sortie : -01 D : Sortie de Jeton d'état transmis par l'une des branches amont de la divergence en OU correspondante, ce jeton se dirigeant vers un graphe SFC , et matérialisant la circulation de l'activité le long des étapes/transitions. On a représenté en figure 6 le symbole 6 d'un bloc dénommé DtVAND2 , qui est une divergence en ET à une entrée et deux branches de sortie. Ce bloc comporte les entrées/sorties suivantes : Deux entrées : -I1U, I2U : : entrée double de Jeton d'état d'étape, issu d'un graphe SFC , ce jeton matérialisant la circulation de l'activité le long des étapes. Deux sorties : -O1D, D, 02D : Sorties de Jeton d'état transmis par une des deux branches amont de la divergence en ET, ce jeton se dirigeant vers un graphe SFC , et matérialisant la circulation de l'activité le long des étapes/transitions de ce graphe. On a représenté en figure 7 le symbole 7 d'un bloc dénommé STEPCONVAND~2 , qui est une étape suivie d'une convergence en ET à deux branches. En phase desimulation ou de monitoring, quand l'étape est active un disque rouge se place sur le dessin de l'étape. Quand l'étape est désactivée le symbole reste comme représenté sur la figure 7. Le bloc 7 comporte essentiellement deux étapes, référencées Stxyl et Stxy2, et suivies d'une convergence en ET, elle-même suivie d-une transition Trxyl. La convergence en ET comporte deux branches d'entrée respectivement reliées à Stxyl et à Stxy2, et une sortie reliée à la transition Trxyl. Le bloc 7 comporte les entrées/sorties suivantes : Six entrées : - Il L : entrée recevant des signaux en Tout ou rien)), issus d'un graphe FBD , et commandant la transition Trxyl. - Il U, 12U et 13U, 14U : deux doubles entrées de Jeton d'état d'étape, issu d'un graphe SFC et matérialisant la circulation de l'activité le long des étapes. - INV : entrée invisible de l'IHM. Elle reçoit des signaux en Tout ou rien)), et est connectée à la sortie de la fonction RESETABLEJNT~SFC du même graphe SFC qui enclenche l'action liée à l'initialisation pour cette fonction. Trois sorties : - 01R et 02R : sorties produisant des signaux en Tout ou rien . Ces sorties sont à relier aux entrées d'un graphe FBD , pour commander l'action liée à chaque étape correspondante Stxyl ou Stxy2. - 01 D : Sortie de Jeton d'état après franchissement de transition. Ce jeton se dirige ensuite vers un graphe SFC , et matérialise la circulation de l'activité le long des étapes/transitions. On a représenté en figure 8 le symbole d'un bloc dénommé STEPCONVAND4 , qui comporte quatre étapes référencées Stxyl à Stxy4, suivies d'une convergence en ET à quatre branches d'entrée et une sortie, suivie d'une transition Trxyl. Les caractéristiques des différentes entrées/sorties du bloc 8 se déduisent facilement de celles du bloc 7. Bien entendu, un graphe SEC comporte un assemblage de blocs élémentaires choisis parmi des blocs tels que les blocs 1 à 8 ou parmi des blocs qui s'en déduisent logiquement (nombre quelconque d'étapes dans un même bloc, en fonction de l'application considérée). Les principes d'exécution sur cible sont les suivants. Pour exécuter un programme constitué de fonctions Grafcet , il suffit théoriquement d'appeler en boucle la liste ordonnée des instructions formant le programme utilisateur. Mais, pour permettre l'introduction de fonctions de contrôle-commande (PID, filtres, confirmateurs, régulateurs divers,.......), il faut que cette boucle permette de respecter le théorème de Shannon relatif aux échantillonnages de données, Aussi, la boucle d'exécution est synchronisée par un séquenceur ( timer ) matériel. La période d'exécution de cette boucle est nommée cycle de base de l'exécution. Puisque les transitions du Grafcet sont alimentées par des fonctions pseudo- FBD qui peuvent être connectées à des fonctions de contrôle-commande et puisque les état des transitions des fonctions pseudo- FBD qui peuvent agir sur des fonctions de contrôle-commande, alors les fonctions Grafcet doivent aussi être exécutées de façon synchrone avec les fonctions pseudo- FBD , donc respecter le théorème de Shannon. Le théorème de Shannon impose une période d'échantillonnage propre à chaque spectre fréquentiel de données d'entrée et à chaque dynamique des données de sortie contraintes par les inerties des actionneurs. Dans le domaine du contrôlecommande, un sur-échantillonnage ou un sous-échantillonnage d'une donnée sont aussi dangereux en termes de stabilité et de dynamique de la régulation numérique associée. Aussi, les instructions relatives à une séquence utilisateur représentative d'un Contrôle-commande devront s'exécuter à une période cohérente avec les périodes d'échantillonnage de ses entrées/sorties. On choisit alors pour cette séquence d'instructions une période multiple du cycle de base. Ainsi on trouvera sur la cible plusieurs séquences s'exécutant tous les cycles de base, tous les 2 cycles de base, tous les N cycles de base.... On obtient une application"time triggered". Evidemment, si on veut garantir un strict déterminisme à cette exécution, il suffit de contraindre ce cycle de base d'exécution par un chien de garde matériel de durée légèrement supérieure au cycle de base. Toutes les autres fonctions d'automatisme, ( SFC , FBD peuvent s'exécuter selon le même principe. Il faut et il suffit que toutes les constantes de temps et les contraintes de délais de réponse de l'automate soient ramenées à des multiples entiers de cycle de base ou bien soient calées sur une horloge matérielle synchrone de celle qui fournit le cycle de base. Si on prend la précaution d'isoler les gestionnaires d'interruption ( handlers ), toujours non portables, qui réagissent en "event driven" (soumis aux événements aléatoires, synchrones ou asynchrones) afin que le résultat de leurs travaux très rapides, mais prioritaire, soient stockés dans des buffers de taille fixe en mémoire globale, alors toute autre fonction du logiciel cible peut être appelée exactement selon le principe décrit au paragraphe 2.2 et à une période multiple du cycle de base de la cible qui est ajustée en fonction de la charge de la cible et des caractéristiques d'occurrences temporelles des évènements asynchrones représentant les interruptions. Ainsi, toute séquence exécutable présente sur la cible (séquences liées au programme utilisateur dessiné dans l'atelier logiciel d'automatique, séquences liées aux logiciels de communication, séquences liées aux autotest dynamiques, séquences liées aux entrées/sorties physiques, séquences liées aux reprises d'erreur, séquences liées aux affichages, séquences liées au monitoring mise au point) pourra être représentée comme une suite ordonnée fixe d'instructions. Chaque séquence sera caractérisée par deux attributs : le multiple de la période du cycle de base qui règle sa période d'exécution et un booléen dit d'activation qui à faux bloque l'exécution de cette séquence et qui à vrai l'autorise. Ce booléen, relié aux états du graphe d'état représentant les modes de fonctionnement du système cible (logiciel de base + logiciels de communication + logiciels applicatifs +.......) permet de caractériser l'état de la cible mais aussi de n'exécuter dans un état donné que les séquences d'instructions strictement nécessaires. Puisque toutes les séquences présentent les instructions dans un ordre fixe, puisque l'exécution se fait à période fixe, éventuellement gardée par chien de garde matériel (pour détecter les surcharges d'exécution des gestionnaires d'interruptions), puisque tous les sous programmes appelés par les instructions sont codés avec des règles de codage imposant le déterminisme, tout le comportement de la cible est strictement déterministe. Les séquences d'initialisation ont la même structure, à la seule différence qu'elles s'exécutent une seule fois avant la boucle d'exécution des séquences, sur occurrence d'un ordre d'initialisation ou d'une mise sous tension, etc...... On a représenté en figure 9 un exemple simplifié d'un graphe d'automatisme conforme à l'invention, c'est-à-dire regroupant des fonctions représentées en FBD et des fonctions représentées en SFC / Grafcet . Le graphe 9 de cette figure comporte quatre entrées, respectivement référencées 101 à 104. Les entrées 101 et 102 sont respectivement reliées aux entrées S et R d'une bascule bistable 10. L'entrée 104 est reliée à l'entrée de commande de la transition TrOll d'un bloc 11 d'étape initiale (StO11) avec sa transition (similaire au bloc 1). Le bloc 11 est suivi d'un bloc 12 de divergence en ET à deux branches de sortie (similaire au bloc 6). La première branche est reliée à une entrée d'un bloc 13 qui est une étape (StO51) avec sa transition (similaire au bloc 3), entrée qui est commandée par la sortie de la bascule 10. La deuxième branche de sortie du bloc 12 est directement reliée à une entrée d'une étape d'un bloc 14 à deux étapes (StO31 et St032), convergence en ET et transition (similaire au bloc 7). La sortie de la transition du bloc 13 est reliée à une entrée de l'étape S1031 du bloc 13. La transition St032 du bloc 14 est directement commandée par l'entrée 103. Le bloc 14 est suivi d'un bloc 15 similaire au bloc 13. La transition du bloc 15 est commandée par un bouton-poussoir 16 manoeuvré par un opérateur, en vue d'afficher sur l'écran 17 l'état de l'automate correspondant au graphe 9. L'étape St0l1 du bloc 11 est reliée à une première entrée d'une porte logique 18 à fonction ET. L'étape S1051 du bloc 13 est reliée à une deuxième entrée du circuit 18. L'étape S1032 du bloc 14 est reliée à une troisième entrée de la porte 18. La sortie de la porte 18 est reliée à une sortie 001 du graphe, et l étape StO31 est reliée à une sortie 002 du graphe. Dans le graphe 9, les éléments 11 à 15 constituent la partie SFC/Grafcet , dans laquelle un jeton d'état passe successivement de l'étape StOl 1 à retape S1014 du bloc 15, tandis que tous les autres éléments du graphe 9 sont les composants FBD . Dans la figure 9, les ordres de précédence, de 1 à 15, ont été représentés par des chiffres cerclés près des fonctions ou éléments activés dans cet ordre. REVENDICATIONS 1-Procédé de construction déterministe, cohérente et synchrone de graphes temps réel pour automatismes, caractérisé en ce qu'il consiste à construire et exécuter les graphes selon la représentation du SFC / Grafcet sous forme de composants pseudo- FBD 2-selon la revendication 1, caractérisé en ce que dans un graphe les symboles FBD qui permettent de coder un Grafcet doivent présenter deux types d'entrées/sorties, donc de connexions : celles qui véhiculent les états et celles qui véhiculent les informations analogiques ou les informations Tout-Ou-Rien . 3-Procédé selon la revendication 1 ou 2, caractérisé en ce que dans une même fonction FBD , on réunit au moins une étape (Stxy) et une transition (Trxy). 4-Procédé selon l'une des revendications précédentes, caractérisé en ce que dans la sémantique du FBD , une sortie peut être liée à plusieurs entrées, mais une entrée n'est liée qu'à une sortie, alors qu'en SFC, ia divergence en OU est représentée comme un câblage entre une ou plusieurs sortie (s) d'étape (s) et plusieurs entrées de transitions, et qu'une convergence en OU est représentée comme un câblage entre une plusieurs sorties de transitions et une ou plusieurs entrée (s) d'étapes. 5 - Procédé selon l'une des revendications précédentes, caractérisé en ce que dans la sémantique SFC , on peut re-boucler la sortie d'une transition sur l'entrée de n'importe quelle étape. 6 - Procédé selon l'une des revendications précédentes, caractérisé en ce que les fonctions Grafcet sont exécutées de façon synchrone avec les fonctions pseudo-FBD , en respectant le théorème de Shannon.