FR 2824936 A1 20021122 FR 0106682 A 20010516 La présente invention concerne un système de diagnostic réalisé à partir de l'observation d'un ou de plusieurs signaux issus d'un process à surveiller. Ce système de diagnostic est implanté dans un automate programmable et peut s'appliquer à tout ensemble d'automatisme comportant un automate programmable destiné à piloter ou surveiller un process dans le domaine des automatismes industriels, des automatismes du bâtiment ou du contrôle/commande des réseaux électriques de distribution. L'invention concerne également un procédé de diagnostic mis en _uvre dans un tel système de diagnostic. Les process automatisés sont généralement pilotés et surveillés par des automates programmables dont le rôle est notamment de faire l'acquisition d'informations issues du process (signaux d'entrées), d'exécuter un programme application en utilisant ces informations de façon à délivrer des ordres et commandes en direction du process (signaux de sorties). Désormais, pour une meilleure surveillance de tels process automatisés, on demande souvent des systèmes capables de faire du diagnostic notamment du diagnostic prédictif, c'est-à-dire capables d'anticiper l'apparition d'une défaillance ou d'un défaut. Ces systèmes permettent en effet d'une part de faciliter la planification et l'optimisation des opérations de maintenance et d'autre part de minimiser les risques d'arrêts ou d'incidents pour le process, contribuant ainsi à la sécurité et à l'efficacité de l'automatisme. Cependant, un diagnostic prédictif fiable est souvent lourd à réaliser car il peut nécessiter une sélection délicate parmi les nombreux paramètres du process à surveiller ainsi qu'une utilisation d'algorithmes complexes nécessaires pour modéliser le process de façon satisfaisante. Cette modélisation fait alors appel à des moyens informatiques importants qui sont difficilement intégrables dans des automates programmables, tant du point de vue de leur puissance de traitement que de leur capacité mémoire. Par ailleurs, les langages informatiques qui sont généralement employés pour mettre en _uvre ces algorithmes, sont très différents des langages habituels utilisés dans les automatismes, comme ceux répondant à la norme IEC1131 3. L'invention a donc pour but de concevoir un système de diagnostic qui soit facilement incorporable dans un automate programmable. De plus, le système vise à faire du diagnostic prédictif sur un process non modélisable mathématiquement. Pour cela, le résultat du diagnostic sera lié à l'observation d'un ou plusieurs signaux simples du process, sur lesquels sera effectué un apprentissage et sur lesquels on cherchera à reconna^tre des évolutions permettant de prévoir l'apparition d'un événement ou d'un défaut du process. En fonction des signaux observés et des échantillons sélectionnés, un tel système sera également capable d'évaluer une probabilité de présence d'un défaut entre par exemple une valeur minimale correspondant à un fonctionnement normal du process surveillé et une valeur maximale correspondant à un défaut avéré dans le process surveillé. La partie nécessaire à l'observation et à la détection est nécessairement embarquée dans l'automate programmable. La partie apprentissage, qui utilisera un algorithme de détection déterminé sur la base de donnces observoes, pourra aussi être embarquée dans l'automate programmable si celui-ci dispose des capacités suffisantes, mais pourra aussi être embarquée dans un équipement informatique différent apte à communiquer avec l'automate programmable afin de ne pas surcharger l'unité de traitement ou la mémoire de l'automate programmable. Dans ce cas, la pa rtie apprentissage s'interface rait avec l'opérateu r par d es moyens de dialogue connectés à l'automate. Pour cela, I'invention décrit un système de diagnostic réalisé à partir d'une information observée provenant d'un process surveillé par un automate programmable. Celui-ci est doté d'au moins une unité de traitement pour exécuter un programme application mémorisé dans des moyens de mémorisation de l'automate programmable. Le système de diagnostic selon l'invention se caractérise par le fait qu'il comporte, dans les moyens de mémorisation, un module d'observation exécuté par l'unité de traitement de l'automate programmable, recueillant en entrée l'information observée pour lui appliquer un traitement d'observation en vue de délivrer en sortie une information traitée, représentative de l'information observée, à destination d'un module d'apprentissage. L'information observée comprend un ou plusieurs signaux analogiques eVou digitaux fournis par des moyens de détection raccordés à l'automate programmable. Le système de diagnostic selon l'invention comporte également, dans les moyens de mémorisation, un module de détection exécuté par l'unité de traitement de I'automate programmable, recueillant en entrée l'information observée pour lui appliquer un traitement de détection comprenant une fonction de diagnostic issue du module d'apprentissage, afin de délivrer en sortie un résultat de diagnostic. Le module d'observation et le module de détection sont intégrés dans le programme application sous la forme d'un ou de plusieurs blocs fonctions au sens de la norme IEC1131-3. Ces blocs fonctions peuvent être eux-mêmes écrits dans un des langages définis par la norme IEC1131-3, ou dans un autre langage, par exemple en langage C. L'invention décrit aussi un procédé de diagnostic prédictif mis en _uvre par un tel système de diagnostic. Le procédé comporte une étape d'observation dans laquelle le module d'observation effectue la lecture de l'information observoe, lui applique un traitement d'observation et transmet au module d'apprentissage une information traitée, une étape d'apprentissage dans laquelle le module d'apprentissage élabore une fonction de diagnostic à partir des informations traitées, une étape de chargement dans laquelle le module d'apprentissage transfère dans le module de détection la fonction de diagnostic élaborée, une étape d'exploitation dans laquelle le module de détection effectue la lecture de l'information observée, lui applique un traitement de détection comprenant la fonction de diagnostic et délivre en sortie un résultat de diagnostic. D'autres caractéristiques et avantages vont apparatre dans la description détaillée qui suit en se référant à un mode de réalisation donné à titre d'exemple et représenté par les dessins annexés sur lesquels: - la figure 1 représente un schéma fonctionnel du système de diagnostic selon l'invention, - la figure 2 montre les étapes du procédé de diagnostic mis en _uvre dans l'invention, - la figure 3 détaille l'étape de simulation du procédé de diagnostic. En référence à.la figure 1, un automate programmable 10 comporte de façon connue au moins une unité de traitement 11 susceptible d'exécuter un programme application mémorisé dans des moyens de mémorisation 12 de l'automate programmable 10. Ce programme application a notamment pour fonction de piloter et de surveiller un process 1, par exemple appartenant au domaine des automatismes industriels, des automatismes du bâtiment ou au contrôle/commande des réseaux électriques de distribution. L'automate programmable 10 comprend un ou plusieurs coupleurs d'entréss/sorties, non représentés sur la figure 1, d'une part pour faire l'acquisition d'informations d'entrée (par exemple de type Tout ou Rien, analogique ou de comptage) en provenance de capteurs du process 1 et d'autre part pour délivrer des ordres et commandes de sortie en direction de préactionneurs et actionneurs du process 1. L'automate programmable 10 peut aussi être équipé de coupleurs ou d'autres moyens de communication permettant de le raccorder à tout équipement tiers tel qu'un terminal de dialogue ou un réseau ou un équipement informatique. Les moyens de mémorisation 12 sont constitués par de la mémoire volatile et non volatile, par exemple de la mémoire RAM, de la mémoire FLASH ou de la mémoire REPROM ou par tout autre moyen de mémorisation tel que des cartes 1 0 PCMCIA. Le programme application d'un automate programmable 10 est généralement écrit dans un ou plusieurs langages d'automatisme lesquels intogrent en particulier des schémas à contacts (Ladder Diagram), des schémas séquentiels (Sequential Function Chart), des blocs fonctions (Function Block) ou du langage textuel. Ces langages d'automatisme sont avantageusement conformes à la norme IEC1131-3, de façon à faciliter la programmation par un concepteur automaticien ne matrisant pas forcément les langages informatiques. Le système de diagnostic décrit dans la présente invention comporte un module d'observation 30 qui est exécuté par l'unité de traitement 11 de l'automate programmable 10. Ce module d'observation 30 est mémorisé dans les moyens de mémorisation 12. Il peut se présenter sous la forme d'un ou plusieurs blocs fonctions au sens de la norme IEC1131-3, de façon à être avantageusement intégré dans le programme application de l'automate programmable 10. Le module d'observation 30 recueille en entrée une information observée 5, issue du process 1 à surveiller, par l'intermédiaire de coupleur(s) d'entrées de l'automate programmable 10. L'information observée 5 comprend préférentiellement un ou plusieurs signaux analogiques eVou digitaux, fournis par des moyens de détection 4 destinés à la surveillance du process 1. Ces moyens de détection 4 peuvent être constitués par un ou plusieurs capteurs raccordés à l'automate programmable 10 et chargés de faire des acquisitions de mesures ou d'états relatifs au process 1. L'information observée 5 fait généralement l'objet d'un traitement préliminaire 13, de façon à effectuer un filtrage, un étalonnage, une mise à l'échelle ou autre sur cette information brute. Le traitement préliminaire peut être effectué par du matériel intagré ou non à l'automate programmable 10 ou par des moyens logiciels 13 mémorisés dans les moyens de mémorisation 12, comme il est indiqué dans l'exemple de la figure 1. L'information observée 5 issue de ce traitement préliminaire 13 est ens uite envoyée au mod ule d 'observation 30 ainsi q u'au modu le de détection 20. Le module d'observation 30 comprend un traitement d'observation 31 qui est appliqué à l'information observée 5 en vue de fournir en sortie du module d'observation une information traitée 35 représentative de l'information observée 5. En fonction du type d'application, le traitement d'observation 31 peut inclure notamment une fonction de datation d'événements pour adjoindre un horodatage précis à l'information l O observée 5 ou une fonction de mise en forme exploitable des données. L'information traitée 35 est envoyée à destination d'un module apprentissage qui la mémorise. Selon une première variante de l'invention représentée en figure 1, le module apprentissage 40 est exécuté dans un équipement distinct de l'automate programmable 10, par exemple dans un équipement informatique de type PC. Cet équipement informatique doit alors être capable de communiquer avec l'automate programmable 10, par l'intermédiaire d'un coupleur ou d'un autre moyen de communication de l'automate programmable 10. Selon u ne second e variante éq uivalente non rep rése ntée su r l es fig ures, il est également possible d'embarquer le module apprentissage 40 dans l'automate programmable 10. Le module apprentissage 40 est alors intégré par exemple dans l'unité centrale de l'automate programmable, dans un coupleur métier ou dans un coprocesseur spécifique de l'automate programmable 10, doté d'une unité de traitement et de moyens de mémorisation propres et d'une interface de dialogue opérateur, la communication entre le coupleur métier et l'automate programmable se faisant alors par le bus fond de panier de l'automate. Le choix entre l'une ou l'autre variante se fera notamment en fonction de la puissance de l'automate programmable et de sa capacité à recevoir un module apprentissage 40. Le mod u le apprentissage 40 effectue une mémorisatio n des don nées fou rnies par les informations traitées 35 reçues. Un opérateur a alors la possibilité de visualiser les données ainsi mémorisées grâce à une interface de dialogue opérateur adaptée. L'opérateur sélectionne des séquences de données qu'il estime être en relation avec le diagnostic recherché, pour construire un échantillon de référence. Le diagnostic recherché peut indifféremment étre soit la détection d'un fonctionnement anormal au niveau du process à surveiller, soit un calcul de probabilité d'un fonctionnement normal, soit et de manière préférentielle la détection d'une future apparition d'événement(s) ou de défaut(s), éventuellement triés par types, fournissant ainsi un diagnostic prédictif du process. Le nombre de séquences de données à sélectionner est dépendant du diagnostic recherché et du type d'algorithme mis en _uvre pour la détection dans le module apprentissage. L'information traitée 35 peut étre ainsi observée en continu ou pendant une ou plusieurs périodes de temps déterminées (appelées fenétres temporelles d'observation) qui dépendent du process observé et qui sont choisies par l'utilisateur comme un paramètre du module d'observation 30. Quand l'échantillon est jugé satisfaisant par rapport au process à surveiller et à l'algorithme utilisé pour la détection, I'opérateur demande le calcul par le module apprentissage 40 d'une fonction de diagnostic 45, laquelle sera ensuite transférée dans les moyens de mémorisation 12 de l'automate programmable 10. L'algorithme mis en _uvre dans le module apprentissage 40 pour élaborer la fonction de diagnostic est un algorithme de type apprentissage numérique, c'est-à-dire qui utilise des données numériques préalablement observées. Cet algorithme peut étre sélectionné parmi une bibliothèque de plusieurs algorithmes accessibles au module apprentissage 40. Par exemple, I'algorithme choisi intogre une technologie basée sur des réseaux neuronaux ou une technologie basée sur de la logique floue. Le nombre d'échantillons nécessaires, le mode de calcul, le process de validation de la fonction de diagnostic, dépendent de la technologie de l'algorithme choisi. Le calcul de la fonction de diagnostic 45 peut nécessiter des moyens informatiques importants qui ne sont pas forcément compatibles avec les moyens d'un automate programmable 10. Un des avantages de l'invention est donc de permettre à un automate programmable simple de faire un diagnostic prédictif mettant en _uvre un algorithme éventuellement complexe, sans avoir nécessairement les contraintes engendrées par le calcul et la mise au point de la fonction de diagnostic dans l'unité de traitement 11. Un autre avantage de l'invention est de donner la possibilité d'utiliser des logiciels à apprentissage existants et disponibles sur des équipements informatiques de type PC, en fonction de la technologie de l'algorithme choisi, pour générer la fonction de diagnostic 45. Le système de diagnostic comporte également un module de détection 20 qui est exécuté par l'unité de traitement 11. Ce module de détection 20 est mémorisé dans les moyens de mémorisation 12. Il peut se présenter sous la forme d'un ou plusieurs blocs fonctions au sens de la norme IEC1131-3, de façon à être avantageusement intégré dans le programme application de l'automate programmable 10. De façon équivalente, le module de détection 20 pourrait aussi être intégré avec le module d'observation 30 dans un même bloc fonction. Le rôle du module de détection 20 est de lire l'information observée 5 issue du process 1, de lui appliquer un traitement de détection 21 de façon à délivrer en sortie un résultat de diagnostic 25. Le traitement de détection 21 inclut la fonction de diagnostic 45 élaborée et chargée à partir du module apprentissage 40 dans les moyens de mémorisation 12. La mémorisation de la fonction de diagnostic 45 peut se faire sous plusieurs formes, par exemple celle d'une fonction compilée pour s'exécuter sur l'automate, ou sous la forme de termes d'une fonction polynomiale incluse dans le traitement de détection 21. Le résultat de diagnostic 25 est transmis à un module d'exploitation du résultat 50 et peut se présenter sous la forme d'un message, d'une valeur déterminée donnée à une ou plusieurs variable(s), ou sous une autre forme utilisable par le module d'exploitation du résultat 50. Celui-ci est susceptible de faire une action prédéfinie à la réception du résultat de diagnostic. Comme action prédéfinie, on peut prévoir la signalisation d'une alarme, I'élaboration d'une commande, I'envoi d'un message, etc... Le module d'exploitation du résultat 50 se situe indifféremment à l'extérieur ou à l'intérieur de l'automate programmable 10. En référence à la figure 2, le système de diagnostic ainsi décrit met en _uvre un procédé de diagnostic prédictif qui comporte les étapes suivantes. À Une étape d'observation A dans laquelle le module d'observation 30 effectue la lecture de l'information observée 5 nécessaire pour pouvoir réaliser le diagnostic souhaité sur le process 1. Généralement, la lecture physique d'une information 5 provenant du process 1 est effectuée par un coupleur d'entrces/sorties qui inscrit la valeur mesurée dans une mémoire vive d'entrées/sorties de l'automate programmable 10. Dans ce cas, le module d'observation 30 vient lire le contenu de cette mémoire d'entrées/sorties. L'information observée 5 est constituée par un ou plusieurs signaux dont on estime que l'évolution est susceptible de permettre le diagnostic souhaité. Le module d'observation 30 applique à cette information observoe 5 le traitement d'observation 31 pour transmettre au module apprentissage 40 une information traitée 35. À Une étape d'apprentissage B dans laquelle le module apprentissage 40 élabore une fonction de diagnostic 45 à partir d'une pluralité d'informations traitées 35 mémorisées dans le module apprentissage 40 en utilisant un algorithme de détection sélectionné. Durant cette étape, I'assistance d'un opérateur est nécessaire pour choisir les bonnes informations traitées à prendre en compte pour le diagnostic souhaité. À Une étape de chargement C dans laquelle la fonction de diagnostic 45 élaborée par le module apprentissage 40 est transférée dans les moyens de mémorisation 12 de l'automate programmable 10 et est intagrée dans le module de détection 20 de façon à pouvoir être exécutée par l'unité de traitement 11. À Une étape d'exploitation D dans laquelle le module de détection 20 effectue la lecture de l'information observée 5, via la mémoire d'entrées/sorties. Un traitement de détection 21 comprenant la fonction de diagnostic 45 est appliquée à cette information observée 5 de façon à délivrer en sortie un résultat de diagnostic 25 au module d'exploitation du résultat 50. Cette étape d'exploitation D correspond au fonctionnement opérationnel du système de diagnostic. Le procédé comporte également une étape de simulation E, indiquée à la figure 3, permettant de tester l'exécution du module de détection 20 de l'automate programmable 10 en particulier lors de phases de mises au point. Durant cette étape E, le module apprentissage 40 envoie au module de détection 20 un échantillon de test 6, cet échantillon 6 remplaçant l'information observée 5 issue du process 1 et étant généralement choisi par l'opérateur. Le traitement de diagnostic 21 est appliqué à cet échantillon de test 6 en vue de délivrer un résultat de test du diagnostic 26 qui est ensuite analysé. Il est donc possible de simuler des situations particulières qui pourraient survenir au niveau du process 1, d'étudier le comportement du module de détection 20 dans ces cas précis, sans perturber le fonctionnement du process, facilitant ainsi énormément la mise au point du système de diagnostic. Grâce à un mode de fonctionnement préférentiel, les modules d'observation et de détection 20 peuvent être exécutés en parallèle par l'unité de traitement 11, ces deux modules ayant accès aux mêmes informations observées 5 lues dans la mémoire d'entrées/sorties après le traitement préliminaire 13, et à condition qu'une première fonction de diagnostic 45 ait déjà été chargée dans le module de détection 20. Ainsi, pendant que le système de diagnostic est dans un fonctionnement opérationnel, le module apprentissage 40 peut continuer à recevoir des informations traitées 35 de façon à ce qu'un opérateur puisse continuer à affiner la fonction de diagnostic ou à trouver de nouvelles séquences de données en relation avec un diagnostic recherché. Ceci procure une importante souplesse d'utilisation à l'invention décrite donnant ainsi à l'opérateur une grande facilité pour utiliser mais surtout pour améliorer et affiner le système de diagnostic même lorsque celui-ci est opérationnel, sans perturber l'exploitation du process automatisé. L'étape d'observation A et l'étape d'apprentissage B peuvent être permanentes ou encadrées dans des fenêtres temporelles d'observation configurées par l'opérateur au niveau du module apprentissage 40. Selon une variante, les modules d'observation 30 et de détection 20 sont intégrables dans un coupleur métier de l'automate programmable 10, muni d'une unité de traitement propre, de moyens de mémorisation propres et d'un accès à la mémoire d'entrées/sorties de l'automate programmable. Ce coupleur métier étant capable d'exécuter les modules d'observation 30 et de détection 20, cela permet alors de décharger l'unité de traitement 11 de l'automate programmable 10. Il est bien entendu que l'on peut, sans sortir du cadre de l'invention, imaginer d 'a utres va ria ntes et perfection nements de déta il et de même envisager l'em ploi de moyens équivalents. REVENDICATIONS 1. Système de diagnostic réalisé à partir d'une information observée (5) provenant d'un process (1) qui est surveillé par un automate programmable (10) doté d'au moins une unité de traitement (11) pour exécuter un programme application mémorisé dans des moyens de mémorisation (12) de l'automate programmable (10), caractérisé par le fait que le système de diagnostic comporte dans les moyens de mémorisation (12): À un module d'observation (30), exécuté par l'unité de traitement (11), recueillant en entrée l'information observée (5) pour lui appliquer un traitement d'observation (31) en vue de délivrer en sortie une information traitée (35), représentative de l'information observée (5), à destination d'un module d'apprentissage (40), À un module de détection (20), exécuté par l'unité de traitement (11), recueillant en entrée l'information observée (5) pour lui appliquer un traitement de détection (21) comprenant une fonction de diagnostic (45) issue du module d'apprentissage (40), afin de délivrer en sortie un résultat de diagnostic (25). 2. Système de diagnostic selon la revendication 1, caractérisé par le fait que I'information observée (5) comprend un ou plusieurs signaux analogiques eVou digitaux fournis par des moyens de détection (4) raccordés à l'automate programmable (10). 3. Système de diagnostic selon la revendication 1, dans lequel le programme application de l'automate programmable (10) est écrit dans un ou plusieurs langages conformes à la norme IEC1131-3, caractérisé par le fait que le module d'observation (30) et le module de détection (20) sont intégrés dans le programme application sous la forme d'un ou de plusieurs blocs fonctions au sens de la norme IEC1131-3. 4. Système de diagnostic selon la revendication 3, caractérisé par le fait que le module apprentissage (40) est exécuté dans un équipement informatique distinct de l'automate programmable (10), apte à communiquer avec l'automate programmable (10). 5. Système de diagnostic selon la revendication 3, caractérisé par le fait que le module apprentissage (40) est embarqué dans l'automate programmable (10). 6. Système de diagnostic selon la revendication 3, caractérisé par le fait que le traitement d'observation (31) comporte une fonction de datation d'événements. 7. Système de diagnostic selon la revendication 3, caractérisé par le fait que le module apprentissage (40) élabore la fonction de diagnostic (45) en utilisant un algorithme basé sur des réseaux neuronaux. 8. Système de diagnostic selon la revendication 3, caractérisé par le fait que le module apprentissage (40) élabore la fonction de diagnostic (45) en utilisant un algorithme basé sur de la logique floue. 9. Procédé de diagnostic prédictif mis en _uvre par un système de diagnostic selon l'une des revendications précédentes, caractérisé par le fait que le procédé comporte: À Une étape d'observation (A) dans laquelle le module d'observation (30) effectue la lecture de l'information observée (5), lui applique un traitement d'observation (31) et transmet au module d'apprentissage (40) une information traitée (35), représentative de l'information observée (5), À Une étape d'apprentissage (B) dans laquelle le module d'apprentissage (40) élabore une fonction de diagnostic (45) à partir d'une pluralité d'informations traitées (35), À Une étape de chargement (C) dans laquelle le module d'apprentissage (40) transfère la fonction de diagnostic élaborce (45) dans le module de détection (20), À Une étape d'exploitation (D) dans laquelle le module de détection (20) effectue la lecture de l'information observoe (5), lui applique un traitement de détection (21) comprenant la fonction de diagnostic (45) et délivre en sortie un résultat de diagnostic (25). 10. Procédé de diagnostic prédictif selon la revendication 9, caractérisé par le fait que le procédé comprend également une étape de simulation (E) dans laquelle le module de détection (20) reçoit en entrée un échantillon de test (6) provenant du module d'apprentissage (40), applique à cet échantillon de test (6) le traitement de détection (21) et délivre en sortie un résultat de test du diagnostic (26). 11. ProcAdA de diagnostic prAdlif salon la revendicaton 9, caractdsA par le Wit que l'Atape d'obseatlon (A) et l'Atape d'exploitation (D) peuvent s'exAcuteF en