FR 3000631 A1 20140704 FR 1262907 A 20121228 Système de commande à propagation d'états d'au moins deux composants interconnectés. L'invention a pour domaine technique l'automatisation de systèmes, et plus particulièrement l'automatisation des systèmes complexes tels que ceux permettant le contrôle et la commande des équipements d'une centrale thermique. L'automatisation de systèmes complexes permet de propager des ordres, des informations, des défauts ou de diagnostics grâce à des règles configurables de propagation encapsulées dans les composants et dispositifs. L'automatisation de systèmes complexes est actuellement particulièrement coûteuse aussi bien en temps, de par la puissance de traitement informatique requise, qu'en coût de développement, mise en place et d'évolution de tels systèmes. Il existe un besoin pour un système de commande simple permettant l'automatisation d'un système complexe. Un objet de l'invention est un système de commande d'au moins deux composants interconnectés. Chaque composant comprend au moins un attribut de fonctionnement, chaque composant étant apte à échanger au moins un attribut de fonctionnement avec un autre composant en émission et/ou en réception. Chaque composant comprenant en outre une règle apte à modifier au moins un attribut de fonctionnement du composant en fonction d'au moins un autre attribut de fonctionnement du composant et/ou d'au moins un attribut de fonctionnement d'au moins un autre composant. Un attribut de fonctionnement peut être choisi par exemple parmi un état, un défaut ou une information. Un état peut être une représentation du fonctionnement d'un composant, par exemple, marche, arrêt, veille. Un défaut peut être un signal de réponse d'un capteur sur le fonctionnement du composant lorsque la valeur mesurée par le capteur se situe hors d'une zone de fonctionnement prédéterminée. Une information peut être une donnée relative au composant, par exemple une mesure de capteur. Les attributs et les règles peuvent être déterminés préalablement à la connexion des composants. Une règle d'un composant peut comprendre au moins une table de vérité liant en entrée au moins un attribut de fonctionnement avec en sortie au moins un autre attribut de fonctionnement. Une règle peut comprendre au moins une relation booléenne ou mathématique entre des attributs. Une règle peut être uniquement apte à modifier au moins un attribut de fonctionnement du composant en fonction d'au moins un autre attribut de fonctionnement du composant et/ou d'au moins un attribut de fonctionnement d'au moins un autre composant. Une règle peut être apte à modifier au moins un attribut de fonctionnement du composant en fonction d'au moins un autre attribut de fonctionnement du composant et/ou d'au moins un attribut de fonctionnement d'au moins un autre composant, et réciproquement. Deux composants peuvent être reliés par une liaison unidirectionnelle ou bidirectionnelle en fonction des règles relatives à leurs attributs de fonctionnement. Chaque composant peut comprendre au moins un lien fonctionnel avec au moins un autre composant. Les composants peuvent former une installation de production d'énergie électrique. Un autre objet de l'invention est un procédé de commande d'au moins deux composants interconnectés, comprenant les étapes suivantes : on définit au moins un attribut de fonctionnement pour chaque composant, on échange au moins un attribut de fonctionnement d'un composant avec un autre composant en émission et/ou en réception, on applique une règle afin de relier au moins un attribut de fonctionnement du composant avec au moins un autre attribut de fonctionnement du composant et/ou avec au moins un attribut de fonctionnement d'au moins un autre composant. D'autres buts, caractéristiques et avantages apparaîtront à la lecture de la description suivante donnée uniquement en tant qu'exemple non limitatif et faite en référence aux dessins annexés sur lesquels : - la figure 1 illustre un premier mode de réalisation permettant la propagation hiérarchique d'ordres, - les figures 2 et 3 illustrent le contenu des règles de deux composants, et - la figure 4 illustre un autre mode de réalisation permettant la propagation hiérarchique d'ordres et la propagation de défauts. On définit les termes suivants. Une règle désigne une relation par table de vérité, booléenne, mathématique ou logique entre deux éléments. Une loi de propagation est un ensemble de règles qui caractérisent un fonctionnement d'automatisme à implémenter, par exemple une loi de propagation des arrêts automatiques d'une installation. Par propagation, on entend la transmission d'un signal portant des données interprétables ou générées par un composant au moins aux composants en connexion directe avec le composant transmettant. La propagation couvre également la transmission des signaux au-delà des composants en connexion directe avec le composant transmettant. Par transmission, on entend émission, réception et/ou répétition. Un attribut de fonctionnement peut être choisi parmi un état, un défaut, ou une information. Un état peut prendre un nombre fini de valeurs déterminées avant la connexion du composant avec les autres composants. Dans le cas d'une turbine, il peut s'agir de Marche, Arrêt, ou Veille. Un défaut est défini également avant la connexion du composant avec les autres composants. Un défaut peut prendre généralement deux valeurs booléennes, vrai ou faux, selon que le défaut est présent ou non. Un défaut peut être par exemple lié à la constatation d'une valeur de température au-delà d'une référence. Une information est une valeur généralement mesurée ou estimée. Une information est par exemple une mesure de température ou de pression. Un système de commande peut être mis en oeuvre de façon robuste grâce à une conception orientée objet avec des règles de propagation complètement automatisées et modulables. Pour cela, on crée une bibliothèque d'objets automates pour accueillir les mécanismes de règles. Alternativement, si les objets automates existent déjà, ils peuvent alors être modifiés. Lors de la création, les objets automates sont préparés à accueillir des règles de propagation. Chaque objet de la structure possède un mécanisme intégré pour permettre la création d'interconnexions automatiques. Le mécanisme peut, par exemple, proposer par défaut un système de règles par table de vérité encapsulée dans chaque objet avec quatre objets interconnectés pour quatre modes internes de propagation. Cette table peut induire des ordres de propagations d' états : si « Syst » en ml alors mettre par exemple « Sous Syst a » en ma2. Alternativement, l'état d'un objet peut être propagé aux autres objets qui réagissent alors en modifiant leur propre état : si « Syst » en ml alors par exemple « Sous Syst a » se met en ma2. L'implémentation et la stratégie des mécanismes de règles restent des choix arbitraires suivant la problématique du système à automatiser. Les règles peuvent être aussi des décisions booléennes ou des relations mathématiques. Cette réflexion est essentielle pour assurer une grande offre de règles de propagation. Ensuite, on délimite le système automatisé pour choisir une structure fonctionnelle. En d'autres termes, cela revient à déterminer une structure comprenant un ensemble de systèmes et de sous-systèmes ayant des liens fonctionnels évidents. Par exemple, un système global peut être une centrale électrique, comprenant plusieurs sous-systèmes pour la production électrique tels que les turbines, des alternateurs, et des sous-systèmes pouvant comprendre des systèmes de rang inférieur par exemple l'alimentation en carburant, en lubrification, air comprimé, etc... Le niveau de détail reste un choix arbitraire, toutefois il faut respecter une hiérarchie fonctionnelle : le système ou sous-système peut représenter une usine comme une simple vanne. Toutefois, un système simple sera, à priori, plus facilement optimisé. La facilité d'optimisation dépend du niveau de détail souhaité pour son contrôle. Il s'agit donc de trouver un compromis entre le niveau de détail et l'effet du niveau de détail sur les résultats de la commande. On relie les objets automates en fonction des liens fonctionnels déterminés par la structure issue de la deuxième étape. En d'autres termes, on fait correspondre un objet automate à chaque système et sous-système. Les liens fonctionnels sont créés selon les règles qui les relient. Les règles peuvent être uni ou bi directionnelles. On détermine les règles de propagation de chaque objet dans le cadre du système automatisé défini au-dessus. Par exemple, si on considère un objet de rang élevé appelé système, duquel dépend un objet de rang moins élevé appelé sous- système, on définit les règles suivantes : Si le système est en mode de fonctionnement « Marche » alors le sous-système passe en mode de fonctionnement « Démarre ». Cette règle permet de propager un ordre de démarrage du système à son sous-système. En extrapolant à une usine électrique, on donne l'ordre de démarrer l'usine, et tous ses composants s'activent, par exemple chaque générateur de l'usine. Si le système est dans l'état « Défaut Dl » alors le sous-système est dans l'état « Défaut D2 ». Cette règle permet de propager un défaut d'un sous-système au système duquel il dépend. En extrapolant à une usine électrique, on signale un défaut dans l'usine, si un capteur d'un alternateur de l'usine présente un défaut. Ensuite, on réalise l'adaptation et la vérification des liens fonctionnels. En d'autres termes, on implémente les règles décrites dans l'étape précédente dans les différents objets de la structure. Enfin, on s'assure que tous les liens fonctionnels nécessaires sont existants. Concrètement un lien fonctionnel entre deux objets correspond à une connexion dans l'automate entre ces deux objets. Alternativement, plusieurs composants peuvent être munis de règles, puis interconnectés. Le sens des interconnexions dépend des règles les reliant. Elles peuvent être unies ou bidirectionnelles. Les attributs de fonctionnement de chaque composant peuvent être propagés dans le réseau ainsi créé. A la réception d'un attribut de fonctionnement, un composant identifie de quel autre composant l'attribut a été reçu, puis détermine l'existence d'une règle reliant un changement de cet attribut de fonctionnement pour le composant identifié avec un changement d'au moins un de ses propres attributs. Les règles sont ainsi formées en dehors d'un lien fonctionnel direct, par exemple dans le cadre de règles physiques ou thermodynamiques. Par exemple, si la température du combustible est inférieure à un seuil, on peut activer des réchauffeurs. Sinon, le démarrage de la turbine devra attendre. Dans tous les cas, les attributs de fonctionnement sont émis et reçus périodiquement par chacun des composants, les règles étant évaluées lors de chaque période entre deux émissions/réceptions. Alternativement, les composants peuvent fonctionner en mode asynchrone, une partie des composants bénéficiant d'une synchronisation avec une première horloge, une autre partie des composants étant synchronisés avec une deuxième horloge ou fonctionnant en mode totalement asynchrone, les attributs de fonctionnement étant émis ou reçus lors de leur disponibilité, les règles étant évaluées lors du changement d'un attribut de fonctionnement. Plusieurs exemples de mode de réalisation spécifiques vont être maintenant décrits. La figure 1 illustre un premier mode de réalisation qui consiste en la propagation hiérarchique d'ordres entre objets selon leurs lois de programmation depuis les objets de rangs hiérarchiques élevés jusqu'aux objets de rangs hiérarchiques inférieurs (En langue anglaise, une propagation « Top Down »). Par exemple, on définit un système global 1 comprenant trois modes de fonctionnement : Marche/Arrêt/Attente. On définit un premier système 2 comprenant deux modes de fonctionnement : Purge/Normal. On définit un premier sous-système 5 comprenant deux modes de fonctionnement : Démarrage/Veille. Une première loi de fonctionnement peut être formalisée par l'ensemble de règles logiques suivantes : Si le système global 1 reçoit un ordre « Marche » alors le système 2 passe en mode de fonctionnement « Normal ». Si le système global 1 reçoit un ordre « Arrêt» alors le système 2 passe en mode de fonctionnement « Purge». Une deuxième loi de fonctionnement peut être formalisée par l'ensemble de règles logiques suivantes : Si le système 2 reçoit un ordre de « Purge » alors le sous- système 5 passe en mode de fonctionnement « Veille ». Si le système 2 reçoit un ordre de « Normal» alors le sous-système 5 passe en mode de fonctionnement « Démarrage». Ainsi, les ordres du système global 1 sont transmis aux systèmes dépendants 2,3,4,5,6 dans lesquels ils déclenchent des ordres prédéterminés. L'ensemble peut être codifié dans une règle ou table de vérité référencée la implémentée dans le système global 1. Les lois relatives au système 2 peuvent également être codifiées dans une règle référencée 2a. Les figures 2 et 3 illustrent le contenu des règles respectivement la et 2a. Les règles définies ci-dessus peuvent être configurées en tant que tables logiques dans chaque système et sous système. Un système émet, en fonction des commandes reçues, une commande à destination d'au moins un des sous-systèmes dépendant de lui. Le nombre et le type de commande pouvant être reçues par le système sont limités et prédéterminés lors de la conception. De même, le nombre et le type de commandes pouvant être émis à destination de chaque sous-système sont également limités et prédéterminés lors de la conception. Les systèmes et sous-systèmes sont ensuite reliés en fonction des communications d'ordres prédéterminées dans chaque table. Un deuxième mode de réalisation consiste en la propagation hiérarchique d'ordres entre objets selon leurs lois de programmation depuis les objets de rangs hiérarchiques inférieurs jusqu'aux objets de rangs hiérarchiques supérieurs (En langue anglaise, une propagation « Bottom Up »). Ce deuxième mode de réalisation est similaire au premier dans la mesure où des états de différents systèmes ou composants sont reliés entre eux au sein d'une règle telle qu'une table de vérité. Il est en différé de par le sens de propagation des défauts, provenant généralement des sous-systèmes et se propageant vers le système global. De plus, la signalisation d'un défaut peut s'avérer fondamentale dans les stratégies de réalisation d'automatismes. Les actions de protections peuvent être initiées et des stratégies de replis automatisées. Egalement, on peut configurer un système ou un composant pour émettre un signal relatif à un défaut soit en fonction de conditions externes de déclenchement, notées CondExt soit en fonction de défauts propagés via les autres systèmes et composants. Une même table peut également comprendre des conditions de temporisation ou de durée. Par exemple, un défaut doit être actif pendant trois secondes avant que la commande prédéfinie soit émise. Un autre exemple est que deux défauts différents doivent apparaître pour qu'une commande prédéfinie soit émise. L'application de cette loi de propagation des défauts implique l'ajout de connexions supplémentaires et l'ajout de sens de propagations additionnels sur des connexions déjà existantes. La figure 4 illustre de telles modifications par l'ajout d'une connexion entre le système 4 et le sous-système 6 et par l'ajout d'un sens de communications sur les connexions entre le système 2 et le sous- système 6, et entre le système global 1 et le système 4. Les règles illustrées par les figures 2 et 3 sont replacées ici dans le contexte de plusieurs composants ou systèmes coopérants, d'autres règles référencées 4a et 6a étant également présentes. La figure 4 illustre également que les liaisons entre deux composants peuvent être unidirectionnelles (liaison entre les composants référencés 2 et 5) ou bidirectionnelles (liaison entre les composants référencés 2 et 6) selon les règles reliant les attributs de fonctionnement des composants. Bien qu'un changement systématique de nom d'un défaut ou d'une commande soit décrit au-dessus, on peut remarquer qu'un défaut peut être propagé dans la structure avec un nom identique. Un troisième mode de réalisation consiste en la modification d'un système existant. Comme on l'a vu ci-dessus, les lois de propagation comprennent et émettent un nombre limité et prédéterminé de commandes, dépendant notamment des liaisons de communication présentes entre les systèmes. Il est toutefois possible d'ajouter au moins une loi de propagation et/ou au moins un état à au moins un système en fonctionnement en ajoutant des connexions supplémentaires en fonction des lois de propagation ajoutées. Alternativement, on peut remplacer une connexion directe entre un premier système et un deuxième système par plusieurs lois de propagation installées dans des systèmes reliant le premier système au deuxième système, permettant ainsi de propager une commande ou un défaut entre le premier et le deuxième système. Si l'on reprend l'exemple précédent avec les lois de propagation hiérarchique déjà implémentées entre le système global, le premier système, le sous-système du premier système, le deuxième système et le sous-système du deuxième système, on peut par exemple rajouter un nouveau mode « Repli » au premier système. Le premier système possède dorénavant trois modes de fonctionnement soit : Purge/Normal/Repli. On peut alors ajouter la loi de fonctionnement suivante : Si le premier système passe en mode « Repli » alors le système global reçoit une commande « Attente ». L'ajout de ce mode de fonctionnement et de la loi de fonctionnement ci-dessus implique une modification des communications entre le premier système et le système global. La connexion relative aux ordres entre le système global et le premier système était à sens unique, depuis le système global vers le premier système. L'ajout de la loi de fonctionnement implique un changement de la connexion relative aux ordres entre le système global et le premier système d'une connexion à sens unique vers une connexion à double sens. On notera que l'on peut limiter la lecture des tables de vérité dans un sens ou dans l'autre, ce qui implique une propagation exclusivement « Top-Down » ou « Bottom Up ». Par ailleurs, la description ci-dessus a été donnée en relation avec des tables de vérité. Toutefois, l'homme du métier pourra utiliser d'autres types de relations afin de formaliser les différentes lois d'un système, notamment des formules algébriques, des lois conditionnelles, etc. Les systèmes décrits sont implicitement automatiques. Un ordre étant émis en fonction d'une commande reçue. Toutefois, tout ou partie des différents systèmes peut être manuelle, de sorte que l'intervention d'un individu soit nécessaire afin d'autoriser l'émission de l'ordre prédéterminé. REVENDICATIONS1. Système de commande d'au moins deux composants interconnectés, caractérisé par le fait que : chaque composant comprend au moins un attribut de fonctionnement, chaque composant étant apte à échanger au moins un attribut de fonctionnement avec un autre composant en émission et/ou en réception, chaque composant comprenant en outre une règle apte à modifier au moins un attribut de fonctionnement du composant en fonction d'au moins un autre attribut de fonctionnement du composant et/ou d'au moins un attribut de fonctionnement d'au moins un autre composant. 2. Système de commande selon la revendication 1, dans lequel un attribut de fonctionnement est choisi parmi un état, un défaut ou une information. 3. Système de commande selon la revendication 2, dans lequel un état est une représentation du fonctionnement d'un composant. 4. Système de commande selon l'une quelconque des revendications 2 ou 3, dans lequel un défaut est un signal de réponse d'un capteur sur le fonctionnement du composant lorsque la valeur mesurée par le capteur se situe hors d'une zone de fonctionnement prédéterminée. 5. Système de commande selon l'une quelconque des revendications 2 à 4, dans lequel une information est une donnée relative au composant, notamment une mesure de capteur. 6. Système de commande selon l'une quelconque des revendications précédentes, dans lequel les attributs et les règles sont déterminés préalablement à la connexion des composants. 7. Système de commande selon l'une quelconque des revendications précédentes, dans lequel une règle d'un composant comprend au moins une table de vérité liant en entrée au moins unattribut de fonctionnement avec en sortie au moins un autre attribut de fonctionnement. 8. Système de commande selon l'une quelconque des revendications précédentes, dans lequel une règle comprend au moins une relation booléenne ou mathématique entre des attributs. 9. Système de commande selon l'une quelconque des revendications précédentes, dans lequel une règle est uniquement apte à modifier au moins un attribut de fonctionnement du composant en fonction d' au moins un autre attribut de fonctionnement du composant et/ou d'au moins un attribut de fonctionnement d'au moins un autre composant. 10. Système de commande selon l'une quelconque des revendications 1 à 7, dans lequel une règle est apte à modifier au moins un attribut de fonctionnement du composant en fonction d'au moins un autre attribut de fonctionnement du composant et/ou d'au moins un attribut de fonctionnement d'au moins un autre composant, et réciproquement. 11. Système de commande selon l'une quelconque des revendications précédentes dans lequel deux composants sont reliés par une liaison unidirectionnelle ou bidirectionnelle en fonction des règles relatives à leurs attributs de fonctionnement. 12. Système de commande selon l'une quelconque des revendications précédentes, dans lequel chaque composant comprend au moins un lien fonctionnel avec au moins un autre composant. 13. Système de commande selon l'une quelconque des revendications précédentes, dans lequel les composants forment une installation de production d'énergie électrique. 14. Procédé de commande d'au moins deux composants interconnectés, caractérisé par le fait qu'il comprend les étapes suivantes : on définit au moins un attribut de fonctionnement pour chaque composant,on échange au moins un attribut de fonctionnement d'un composant avec un autre composant en émission et/ou en réception, on applique une règle afin de relier au moins un attribut de fonctionnement du composant avec au moins un autre attribut de fonctionnement du composant et/ou avec au moins un attribut de fonctionnement d'au moins un autre composant.