Brevet FR2826746A1 — publié le 20030103

PROCEDE ET DISPOSITIF D'ELABORATION DE PROGRAMMES D'AUTOMATISMES La présente invention a pour objet des moyens d'élaboration et de mise au point de programmes d'automatismes par l'intermédiaire de graphes de fonctionnement de l'automatisme qui sont affichés sur un écran. Le graphe de fonctionnement du programme d'automatisme est affiché par l'intermédiaire d'une interface homme-machine (matériel incluant clavier et écran, et logiciel associé). Cette interface est capable d'une part d'afficher sur l'écran les différents éléments du graphe, et d'autre part d'élaborer - les éléments de programme de fonctionnement correspondant aux éléments affichés - et les liens entre ces éléments de programme, de manière à constituer un programme complet apte à piloter un automate programmable. Ce programme peut ensuite être chargé dans une mémoire de programme de l'automate programmable. Si le programme élaboré dans l'interface homme-machine n'est pas écrit dans un langage directement exécutable par le microcontrôleur de l'automate, il est d'abord converti dans un langage exécutable avant d'être chargé dans l'automate. Au niveau de l'interface homme-machine, les graphes sont élaborés à partir d'une symbologie (c'est-à-dire un langage graphique de haut niveau) dont les principes généraux sont définis par des normes permettant une certaine uniformité de compréhension de ces graphes. La norme IEC 1131-3 définit trois langages graphiques dont la sémantique et les règles syntaxiques sont différentes, appelés respectivement SFC pour"sequential function chart", LD pour"ladder diagram", et FBD pour "functional block diagram". Il existe aussi d'autres langages, plus ou moins proches de ces trois derniers, par exemple le langage"graphcet"qui est proche de SFC. Ces représentations sont saisies informatiquement par le concepteur de programmes d'automatismes, à partir d'outils logiciels conviviaux : par exemple, en utilisant une souris, le concepteur positionne un pointeur sur le symbole représentant un élément fonctionnel d'automatisme, ce symbole étant placé parmi d'autres symboles dans une barre d'outils affichée sur l'écran ; il valide ce choix de symbole en cliquant sur la souris, et fait glisser ce symbole dans le graphe pour l'y déposer à un endroit désiré ; il "tire"ensuite avec la souris des liaisons entre les entrées et/ou sorties de cet élément fonctionnel et d'autres entrées et ou sorties d'autres éléments déposés dans le graphe ; et il construit petit à petit un graphe de fonctionnement complet qui a une signification parlante , c'est-à-dire facilement intelligible pour le concepteur qui connaît et comprend le langage graphique utilisé. Ces représentations graphiques sont analysées sémantiquement et syntaxiquement par l'interface homme-machine au fur et à mesure de leur mise en place dans le graphe. Les erreurs sémantiques et syntaxiques sont détectées et empêchent l'affichage d'éléments non conformes à des règles prévues dans le langage graphique, ou bien elles donnent lieu à l'affichage de messages d'erreur. Les éléments acceptés à l'affichage, éléments fonctionnels et liaisons, donnent lieu simultanément à l'élaboration, par l'interface homme-machine, d'éléments de programme de fonctionnement de l'automatisme, dans un langage informatique plus ou moins élaboré (C, Ada, assembleur, Basic, Fortran, binaire, langage interprété, etc. ). Le programme complet qui en résulte, représentant le fonctionnement des éléments affichés et les liens entre ces éléments, sera compilé et édité dans un langage binaire directement exécutable par le microcontrôleur de l'automate programmable. Les outils qui assurent la saisie, l'affichage, l'analyse, la traduction, la simulation, et la mise au point de ces représentations graphiques, sont appelés "atelier logiciel d'automatismes" Bien qu'ayant le même objectif, les différents langages graphiques ne sont pas conçus de la même manière et ne se prêtent pas facilement à une utilisation simultanée dans un même automatisme. La nature des éléments fonctionnels est différente, la sémantique est donc différente ; la syntaxe également ; par exemple, le langage LD repose sur l'imitation d'une logique à relais et à senseurs de courant dans des conducteurs électriques ; le langage SFC repose sur l'analogie d'une transmission de jetons dans des portillons commandés ; le langage FBD repose sur l'analogie avec des fonctionnalités électroniques, à la fois logiques et analogiques Il est difficile de combiner dans une même conception des langages qui reposent sur des bases aussi différentes. Les concepteurs d'automatismes qui sont habitués à travailler dans un des langages ont par ailleurs des difficultés à en changer et ne souhaitent pas le faire. C'est par exemple le cas de concepteurs qui travaillent en langage LD. Or le langage LD a des limitations et ne permet pas de réaliser un grand nombre de fonctionnalités. Il serait souhaitable d'accroître les fonctionnalités disponibles dans le langage LD, sans empêcher les concepteurs qui le désirent de faire l'essentiel de leur travail, ou au moins une partie importante de ce travail, dans ce langage auquel ils sont habitués. C'est pourquoi l'invention propose d'incorporer aux outils de conception traditionnellement utilisés en langage FBD des éléments fonctionnels représentés selon le langage LD, mais sans modifier le principe de représentation ni les règles de langage LD pour ces éléments. Les éléments graphiques du langage LD sont reliés entre eux par des liaisons spécifiques, qui seront distinctes sémantiquement des liaisons utilisées pour les éléments du langage FBD ; ces éléments de type LD sont par ailleurs associés, dans le langage LD, à des variables booléennes, et les liaisons entre ces éléments de type LD et les éléments de la représentation FBD consisteront selon l'invention en une transmission de ces valeurs booléennes entre les éléments du langage LD et les entrées-sorties de type booléen des éléments issus du langage FBD ; cette transmission de variable booléenne sera représentée sur l'écran comme une liaison du langage FBD (c'est-àdire semblable aux liaisons entre deux éléments de type FBD). En d'autres mots, l'invention propose un procédé d'élaboration de programmes de fonctionnement d'automatismes par l'intermédiaire de graphes, ce procédé étant caractérisé en ce qu'il comprend la construction sur un même graphe informatique de fonctions élaborées selon la représentation normalisée LD (représentation par analogie de relais de courant, avec contacts et bobinages de commande et de détection) et de fonctions élaborées selon la représentation normalisée FBD (représentation par analogie de fonctions électroniques et de niveaux de tension sur les liaisons), le graphe utilisant deux types de liaisons fonctionnelles entre éléments du graphe pour représenter des transmissions de valeurs booléennes, le premier type de liaison étant réservé à des liaisons entre éléments représentés selon la norme LD, et le deuxième type de liaison étant utilisé d'une part entre des éléments représentés selon la norme FBD et d'autre part entre un élément représenté selon la norme FBD et une entrée ou sortie de variable booléenne associée à un élément représenté selon la norme LD. L'interface homme-machine qui établit le programme de fonctionnement de l'automatisme considérera qu'une liaison entre un élément de la représentation LD et un élément de la représentation FBD signifie que la valeur booléenne associée à l'élément représenté en type LD (soit en entrée soit en sortie de cet élément) est transmise par cette liaison. La variable booléenne associée à un élément de la représentation LD sera considérée comme étant compatible avec une entrée ou sortie de type FBD et une liaison tirée entre l'élément de type LD et un élément de type FBD sera acceptée par l'interface et représentée dans le graphe sous forme d'une liaison de type FBD, comme si l'élément de type LD était un élément de type FBD. L'invention concerne non seulement le procédé qui vient d'être ainsi résumé, mais aussi les moyens de production de programmes qui servent à la mise en oeuvre de ce procédé d'élaboration de programmes. Ces moyens comprennent donc des moyens de représentation de graphes comportant des éléments fonctionnels et des liaisons entre éléments fonctionnels, et des moyens de génération de programmes de fonctionnement associés à la représentation d'un graphe déterminé. Ils sont caractérisés en ce que d'une part les moyens de représentation sont agencés pour - représenter certains éléments fonctionnels selon la norme FBD et d'autres éléments fonctionnels selon la norme LD, - représenter des liaisons d'un premier type entre deux éléments représentés selon la norme LD, - représenter des liaisons d'un deuxième type entre deux éléments représentés selon la norme FBD ou entre un élément représenté selon la norme FBD et un élément représenté selon la norme LD, et d'autre part les moyens de génération de programmes de fonctionnement considèrent les liaisons du deuxième type avec un élément représenté selon la norme LD comme étant une transmission d'une variable booléenne associée à cet élément en provenance de ou à destination d'un élément représenté selon la norme FBD. On simplifie ainsi, pour le concepteur habitué à travailler en langage de type LD, le travail de conception à partir d'un graphe, tout en mettant à sa disposition une plus grande palette d'outils logiciels. Il n'y a pas d'obligation d'intégrer à l'atelier logiciel plusieurs modes de saisie selon le langage utilisé. Le concepteur n'a pas besoin d'ouvrir plusieurs fenêtres de représentation correspondant aux différents langages utilisés. L'intégration des fonctionnalités de liaison entre les deux modes de représentation est très facile puisqu'elle prévoit seulement un type de liaison supplémentaire par rapport à celui qui est standard dans la norme de langage FBD Les étapes d'automatismes représentées par les éléments de la norme LD pourront être exécutées comme si elles relevaient de la norme FBD, et en particulier en mode synchrone, déterministe, cadencé par l'horloge de cadencement des éléments fonctionnels de type FBD. On pourra parler ici de représentation pseudo-FBD, en ce sens qu'elle repose essentiellement sur la représentation FBD mais y adjoint des éléments supplémentaires et liaisons supplémentaires. Ces éléments et liaisons supplémentaires sont gérés comme les autres éléments FBD avec une syntaxe et une sémantique commune d'interconnexion, dans lesquelles on trouvera seulement quelques particularités venant de la représentation de type LD. On notera que cette combinaison de représentations LD et FBD est compatible avec une combinaison de représentations SFC et FBD, de sorte qu'on peut combiner en un même outil logiciel et sur un même graphe (sans passer par des fenêtres différentes) des représentations de type FBD, LD, et SFC. D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description détaillée qui est faite en référence aux dessins annexés dans lesquels : - la figure 1 représente l'écran de l'interface homme-machine au cours de l'élaboration d'un programme d'automatisme ; - la figure 2 représente différents symboles d'éléments fonctionnels représentés dans le langage LD ; - la figure 3 représente un graphe de fonctionnement d'automatisme selon l'invention, combinant des représentations de type LD et des représentations de type FBD. Sur la figure 1, on a représenté un exemple de présentation de l'écran d'un micro-ordinateur au cours de l'élaboration d'un programme par un concepteur. L'interface homme-machine affiche une zone active de graphe 10, une ou plusieurs barres de sélection 12 de menus déroulants permettant notamment - de créer de nouveaux programmes d'automatismes, de les enregistrer à des emplacements choisis, de les appeler pour les modifier, de les imprimer, de les compiler pour les charger dans un automate programmable, etc. - de choisir des options d'affichage sur l'écran : affichage en mode de graphe global, affichage en mode de déroulement pas-à- pas, etc. et une fenêtre 14 de barres de fonction permettant d'élaborer progressivement le graphe en déposant sur la zone active 10 des symboles d'éléments fonctionnels d'automatismes désirés, qui apparaissent dans la barre de fonctions sous forme de symboles 16 évoquant les fonctions désirées. Typiquement, le concepteur élabore le graphe en sélectionnant à l'aide d'une souris, dans la fenêtre 14 de barres de fonctions, une barre de fonctions déterminée parmi plusieurs. Les différentes barres de fonction peuvent être appelées en cliquant sur l'une des indications telles que IN , FBD , SFC , LD , OUT , etc. Les différentes fonctions de la barre sélectionnée s'affichent alors sous forme d'une juxtaposition de symboles 16. Le concepteur sélectionne une fonction en cliquant sur un symbole choisi et fait glisser par la souris ce symbole pour le déposer dans la zone active 10 à un emplacement désiré où il reste, si du moins la fonction envisagée est compatible avec l'emplacement où on l'a fait glisser. L'interface homme-machine s'assure de la compatibilité en fonction des règles syntaxiques qu'il contient. Par exemple une fonction sélectionnée dans la barre de fonctions d'entrée n'est pas acceptée à un emplacement de graphe réservé à une sortie Les différents éléments fonctionnels 18 ainsi placés dans le graphe s'affichent chacun sous forme d'un cadre enfermant un symbole exprimant la fonction (logique ou analogique) exécutée par l'élément fonctionnel ; sur les bords de ce cadre apparaissent généralement des symboles d'entrée 20 et des symboles de sortie 22 (par exemple une flèche entrante vers le cadre pour indiquer une entrée de l'élément 18 et une flèche sortante pour indiquer une sortie). Le concepteur peut cliquer sur le symbole de sortie d'un élément fonctionnel et tirer à l'aide de la souris (clic maintenu enfoncé pendant le tracé de la liaison) une liaison telle que 24 entre ce symbole de sortie et une position de symbole d'entrée d'un autre élément fonctionnel. Le graphe comporte de préférence des emplacements 26 réservés à des fonctions d'entrée de signal sur la partie gauche de la zone active 10, et des emplacements 28 réservés à des fonctions de sortie de signal sur la partie droite. Une des barres de fonction, appelée en cliquant sur la zone IN de la fenêtre 14, représente les différents symboles des éléments fonctionnels pouvant être placés sur un emplacement d'entrée 26 du graphe. Une autre barre de fonction, appelée en cliquant sur la zone OUT de la fenêtre 14, fait apparaître les symboles d'éléments fonctionnels pouvant être placés sur un emplacement de sortie 28 du graphe. D'autres barres de fonctions, logiques ou analogiques, peuvent être appelées en cliquant sur les différents en-têtes disponibles dans la fenêtre ( FBD , SFC , LD notamment). Sur la figure 1, la fenêtre 14 fait apparaître une barre de fonctions de type FBD, comprenant des symboles pour des fonctions logiques, des symboles pour des fonctions analogiques, des symboles pour des fonctions temporelles, etc. Le graphe apparaissant sur la figure, avec ses éléments fonctionnels 18 et ses liaisons 24, est un graphe élaboré selon le langage graphique de type FBD, c'est-à-dire que les éléments fonctionnels sont essentiellement assimilables à des fonctions électroniques et les liaisons entre ces éléments sont assimilables à des transmissions de niveaux de tension, logiques ou analogiques, entre ces éléments. Sur la figure 2, on a rappelé quelques symboles du langage graphique LD, appelé aussi langage à contacts ou ladder , dont on rappelle qu'il est fondé sur une analogie avec des relais commandés par des bobinages et des détecteurs de courant utilisant des bobinages. On se référera à la norme IEC1131-3 précitée pour plus de détails Les liaisons entre éléments de type LD sont représentées chacune sur la figure 2 par un double trait tireté qui relie une sortie d'un élément de type LD à une entrée d'un autre élément de type LD. Chaque élément de type LD possède une entrée et une sortie, à l'exception de deux éléments de terminaison de graphe qui sont la barre d'alimentation gauche qui ne possède qu'une sortie et pas d'entrée, et la barre d'alimentation droite qui possède une entrée mais pas de sortie. La représentation de type LD veut qu'une entrée d'élément représente l'analogie d'un courant entrant et une sortie représente un courant sortant qui est soit égal au courant entrant soit nul, selon la fonction de l'élément considéré et selon la valeur ( ON ou OFF) > ) de la variable booléenne éventuellement associée à l'élément. Il n'y a pas de variable booléenne associée aux barres d'alimentation droite et gauche qui se contentent de constituer les sources d'alimentation des courants qui parcourent les liaisons entre éléments du graphe. On appellera les entrées et sorties de ces éléments respectivement entrée de courant et sortie de courant par analogie avec la notion de relais. L'état de la liaison gauche (entrée) sera ON s'il y a présence d'un courant d'entrée ou OFF en l'absence de courant. De même pour l'état de la liaison droite (sortie) : ON ou OFF selon la présence d'un courant de sortie. Un contact normalement au repos (en anglais normally OFF) est un élément fonctionnel associé à une variable booléenne désignée par TOR (pour Tout-Ou-Rien) de la manière suivante : l'état de la liaison à gauche de l'élément (présence de courant ou absence de courant sur cette liaison) est recopié sur la liaison à droite de l'élément si l'état de la variable associée TOR est ON . Sinon, l'état de la liaison droite est OFF Un contact normalement au travail (en anglais. normally ON) est un élément fonctionnel associé à une variable booléenne TOR de la manière suivante : l'état de la liaison à gauche est recopié sur la liaison droite si l'état de la variable booléenne associée TOR est OFF Sinon, l'état de la liaison droite est OFF . Un contact détecteur de transition positive est un élément fonctionnel associé à une variable TOR de la manière suivante. l'état de la liaison droite est ON d'une évaluation de cet élément à la suivante lorsqu'une transition de OFF à ON de la variable associée TOR est détectée, alors que la liaison gauche est à ON. Dans tous les autres cas, l'état de la liaison droite doit être à OFF. Il existe aussi des contacts détecteurs de transition négative de ON à OFF de la variable associée. Un bobinage est un élément fonctionnel associé à une variable TOR : l'état de la liaison gauche est copié dans la variable TOR et vers la liaison droite. La variable ne sert donc pas à contrôler la liaison droite mais à mesurer l'état de la liaison gauche sans empêcher le passage de courant vers un élément suivant. De même, un bobinage détecteur de transition positive est un élément associé à une variable TOR : l'état de TOR est ON d'une évaluation de l'élément à la suivante lorsqu'une transition de OFF à ON est détectée sur la liaison gauche. L'état de la liaison gauche est toujours copié sur la liaison droite. La figure 3 représente un exemple de graphe de fonctionnement pouvant être réalisé selon l'invention, ce graphe étant converti par l'interface homme-machine en programme d'automatisme correspondant aux fonctions dessinées. Le graphe de la figure 3 mélange des éléments fonctionnels et liaisons définies d'une part selon le langage LD et d'autre part selon le langage FBD. Les éléments fonctionnels d'entrée (par exemple les cinq éléments référencés 40,42, 44,46, 48 sur la gauche du graphe), ont été mis en place par sélection de symboles dans la barre de fonctions IN accessible dans la fenêtre 14 de la figure 1. De même l'élément fonctionnel de sortie 50 a été mis en place grâce à la barre de fonction OUT de de la fenêtre 14. Tous ces éléments sont des éléments adaptés à la représentation selon le langage graphique FBD. Les éléments fonctionnels de type FBD de la surface intérieure du graphe, désignés par les références 60,62, 64,66, sont extraits de la barre de fonctions FBD ou d'autres barres éventuellement accessibles dans la fenêtre 14. Ce sont des éléments du langage graphique FBD Mais d'autres éléments désignés par 70,72 (barres d'alimentation gauche), 74,76 (contacts normalement au repos), 78 (contact normalement au travail), 80 (bobinage), 82 (barre d'alimentation droite) sont des éléments du langage graphique LD. Ces éléments ont ceci de particulier que la variable booléenne TOR qui est associée à chacun d'eux sera considérée - elle sera donc comme une entrée ou sortie booléenne de l'élément ; elle sera donc représentée comme une entrée (flèche entrante) sur laquelle arrive une liaison transportant cette variable pour les éléments dont le comportement est fonction de la variable booléenne associée, ou au contraire comme une sortie d'où part une liaison transportant cette variable, pour les éléments dont la variable booléenne associée est une fonction de l'état d'entrée ou des variations d'état d'entrée de l'élément. Sur la figure 3, les éléments LD désignés par 74,76 et 78 comportent une entrée de variable associée (flèche entrante), tandis que l'élément 80 comporte une sortie de variable associée (flèche sortante). Ces entrées ou sorties de variable associées ne sont pas les entrées de courant et sorties de courant (liaisons gauche et droite) des éléments de type LD, ce sont des entrées ou sorties supplémentaires permettant une liaison avec les éléments de type FBD du graphe. Les éléments de type LD sont extraits de la barre d'outils LD accessible par la fenêtre 14. Ils sont désignés par un clic de souris et déposés dans le graphe à des endroits désirés. Trois sortes de liaison sont prévues sur le graphe - des liaisons 90 de type FBD, représentées en trait continu simple, entre une sortie d'élément de type FBD et une entrée d'un autre élément de type FBD (y compris les entrées et sorties du graphe) ; ces liaisons répondent aux règles syntaxiques du langage graphique FBD ; typiquement on trouve une liaison 90 entre la sortie de l'élément 42 et une des entrées de l'élément 60 ; - des liaisons 100 de type LD, représentées sur la figure par un double trait tireté, entre une sortie d'élément LD et une entrée d'un autre élément LD, les sorties et entrées n'étant pas les variables booléennes associées mais étant les états de courant selon le langage LD, conformément à ce qui a été expliqué à propos de la figure 2 ; typiquement une liaison entre l'élément 74 et l'élément 76 ; - des liaisons 110 transportant une variable booléenne associée à un élément de type LD vers une entrée d'un élément FBD, typiquement une liaison transportant la variable booléenne associée à l'élément 80 vers une entrée de l'élément 66 ; ces liaisons sont représentées par un trait continu simple et se présentent comme des liaisons FBD car elles sont compatibles avec le langage FBO ; - et des liaisons 120 tirées d'une sortie d'un élément de type FBD et transportant une variable booléenne vers l'entrée de variable associée d'un élément de type FBD, typiquement de la sortie de l'élément 60 vers l'entrée de variable booléenne associée à l'élément LD 76. Les liaisons 90 entre les éléments de type FBD répondent aux règles sémantiques et syntaxiques du langage graphique FBD. Par exemple une liaison 90 provenant d'une sortie de type analogique ne peut pas être appliquée à une entrée de type logique. Lorsque le concepteur du graphe essaye de tirer une liaison, cette liaison est décodée par l'interface hommemachine, les interdictions syntaxiques de type FBD sont vérifiées et la liaison ne peut pas s'afficher de manière permanente sur le graphe si elle ne respecte pas une interdiction. Les liaisons 100 entre éléments de type LD répondent aux règles syntaxiques du langage LD. Les liaisons qui ne répondent pas à ces règles ne sont pas affichées et donc pas prises en compte dans le programme d'automatisme. Ainsi, si le concepteur clique sur une sortie de type LD (courant) d'un élément et tire une liaison vers une entrée qui n'est pas de type LD ou vers une entrée d'un élément qui n'est pas un élément de type LD, l'interface homme-machine détecte cette liaison inappropriée et interdit son affichage permanent. Les liaisons 110 et 120 sont de la même manière analysées en direct par l'interface homme-machine dès que le concepteur a tiré une liaison 110 ou 120. Les règles sémantiques sont les mêmes que celles qui sont prévues dans le langage FBD, l'entrée ou la sortie de variable booléenne d'un élément LD étant, pour ces règles, considérée tout simplement comme si elle était une entrée ou une sortie logique d'élément FBD C'est pourquoi les liaisons 110 et 120, bien que spécifiques puisqu'elles relient un élément FBD à un élément LD, seront représentées de préférence exactement comme les liaisons 90. Les liaisons 100 sont de préférence représentées différemment des liaisons 90, par exemple dans une couleur différente sur l'écran, mais on peut aussi envisager qu'elles soient représentées exactement comme les liaisons 90 ; bien entendu, quel que soit la représentation, identique ou différente, les liaisons 100, analysées par l'interface homme-machine, seront traitées différemment des liaisons 100 et donneront lieu à la création d'éléments de programme différents, sujets à des règles différentes. Autrement dit, ce n'est pas parce que la représentation sur l'écran est identique que l'information sur la nature différente de la liaison 90 et de la liaison 100 n'existe pas dans l'interface homme-machine à partir duquel on a tracé les liaisons. Enfin, pour parachever l'utilisation dans un même graphe d'éléments de type FBD et d'éléments de type LD, on prévoit de préférence la possibilité d'afficher sur l'écran un élément d'interconnexion spécifique 130 qui a pour fonction de permettre une liaison directe de plusieurs sorties de type LD. Cet élément se présente sous forme d'un rectangle avec plusieurs entrées et plusieurs sorties et toutes les entrées et toutes les sorties sont réunies entre elles (entrées et sorties en court-circuit si on utilise l'analogie LD de la représentation des états logiques des liaisons 100 par des courants dans ces liaisons). Les entrées et sorties de l'élément 130 sont nécessairement reliées à des liaisons 100. Il n'y a pas de variable booléenne associée à l'élément 130. Certaines entrées et certaines sorties peuvent rester non connectées. Cet élément de d'interconnexion, qui ne serait pas acceptable dans un diagramme FBD et qui ne peut d'ailleurs pas être connecté à des liaisons de type FBD 90,110 ou 120, est utile pour la partie représentée en langage graphique LD. Cet élément peut être sélectionné avec la souris dans une barre de fonctions LD de la fenêtre 14 de la figure 1 De préférence, on peut considérer que la fonction de barre d'alimentation gauche (70) est toujours combinée avec une fonction de contact de type 74 ou 78 par exemple, de sorte que la barre d'outils LD peut comprendre non pas un élément 70 et un élément 74 mais un rectangle regroupant les deux fonctions en cascade, ce rectangle étant connectable à une fonction de type FBD puisqu'il possède une entrée de variable booléenne associée. De même, la barre d'alimentation droite 82 peut être systématiquement incorporée dans un symbole fonctionnel comprenant à la fois cette barre et un bobinage ou une autre fonction comportant une sortie de variable booléenne associée. On a ainsi décrit un outil de conception de programmes d'automatismes qui combine des modes de représentation très différents, reposant sur des sémantiques et des analogies différentes, et ceci grâce à la constitution de liaisons spécifiques représentant le transport depuis des éléments de type FBD ou vers des éléments de type FBD de variables booléennes associées à des éléments de type LD. L'utilisation de concepts de type FBD dans l'environnement du langage LD permet à l'atelier logiciel de conception d'être plus simple et de détecter (comme dans le langage FBD) des erreurs de câblage d'éléments de type LD dès la mise en place d'un nouvel élément dans le graphe et non pas à la fin de la mise en place (comme c'était le cas dans l'utilisation standard du langage LD. Les mécanismes d'exécution peuvent garantir une exécution strictement déterministe en temps réel. REVENDICATIONS 1. Procédé d'élaboration de programmes de fonctionnement d'automatismes déterministes, cohérents et synchrones par l'intermédiaire de graphes temps réel, caractérisé en ce qu'il comprend la construction sur un même graphe informatique de fonctions élaborées selon la représentation normalisée LD (représentation par analogie de relais de courant, avec contacts et bobinages de commande et de détection) et de fonctions élaborées selon la représentation normalisée FBD (représentation par analogie de fonctions électroniques et de niveaux de tension sur les liaisons), le graphe utilisant deux types de liaison fonctionnelles entre éléments du graphe pour représenter des valeurs booléennes, le premier type de liaison (100) étant réservé à des liaisons entre éléments représentés selon la norme LD, et le deuxième type de liaison (90,110, 120) étant utilisé soit entre deux éléments représentés selon la norme FBD (62,64) soit entre un élément représenté selon la norme FBD (60,66) et une entrée ou sortie de variable booléenne associée à un élément représenté selon la norme LD (76), 80). 2. Moyen de production de programmes de fonctionnement d'automatismes par l'intermédiaire de graphes temps réel, comprenant des moyens de représentation de graphes comportant des éléments fonctionnels et des liaisons entre éléments fonctionnels, et des moyens de génération de programmes de fonctionnement associés à la représentation d'un graphe déterminé, caractérisé en ce que d'une part les moyens de représentation sont agencés pour - représenter certains éléments fonctionnels selon la norme FBD (représentation par analogie avec des fonctions électroniques et des niveaux de tension) et d'autres éléments fonctionnels selon la norme LD (représentation par analogie avec des relais et des bobinages de commande ou de détection de courant), - représenter des liaisons d'un premier type (100) entre deux éléments représentés selon la norme LD, - représenter des liaisons d'un deuxième type (90,110, 120) entre deux éléments représentés selon la norme FBD ou entre un élément représenté selon la norme FBD et un élément représenté selon la norme LD, et d'autre part les moyens de génération de programmes de fonctionnement considèrent les liaisons du deuxième type avec un élément représenté selon la norme LD comme étant une transmission d'une variable booléenne associée à cet élément en provenance de ou à destination d'un élément représenté selon la norme FBD.