P5 Filtrage des indicateurs numériques de diagnostic : Différence entre versions
(→Rapport) |
(→Rapport) |
||
(3 révisions intermédiaires par le même utilisateur non affichées) | |||
Ligne 18 : | Ligne 18 : | ||
[[Fichier:GV2014.jpg|400px|center|Le générateur de vapeur]] | [[Fichier:GV2014.jpg|400px|center|Le générateur de vapeur]] | ||
− | + | ==Travail à réaliser == | |
Tout procédé industriel nécessitant une supervision logicielle, cette dernière est effectuée pour notre système sous Matlab/Simulink ainsi que dSpace. Cette supervision se base sur les données recueillis à partir des capteurs implantés sur le système, pour prévenir d'un dysfonctionnement ou d'un problème. | Tout procédé industriel nécessitant une supervision logicielle, cette dernière est effectuée pour notre système sous Matlab/Simulink ainsi que dSpace. Cette supervision se base sur les données recueillis à partir des capteurs implantés sur le système, pour prévenir d'un dysfonctionnement ou d'un problème. | ||
Ligne 26 : | Ligne 26 : | ||
Malheureusement les signaux envoyés par les capteurs sont bruités, et la dérivation numérique de ces signaux-là ne fait qu'empirer les choses. Dans le cadre de notre PFE, on essaiera de filtrer ces bruits-là, et donc de rendre la détection de défauts plus fiable et efficace. | Malheureusement les signaux envoyés par les capteurs sont bruités, et la dérivation numérique de ces signaux-là ne fait qu'empirer les choses. Dans le cadre de notre PFE, on essaiera de filtrer ces bruits-là, et donc de rendre la détection de défauts plus fiable et efficace. | ||
− | + | == Problématique == | |
Le principe de la supervision et la détection d'erreur a partir des équations régissant le fonctionnement du système. Les anomalies détectées au niveaux de ces équations est ce qu'on appelle des erreurs. Les erreurs sont calculées a partir des variables composants les équations suivies ou surveillées. En vue du fait que la supervision effectué sur ce système se base sur les valeurs des différentes grandeurs physiques, l'utilisation de capteur joue un rôle primordial dans notre étude ainsi le traitement des signaux obtenue constitue une grande partie de notre travail. | Le principe de la supervision et la détection d'erreur a partir des équations régissant le fonctionnement du système. Les anomalies détectées au niveaux de ces équations est ce qu'on appelle des erreurs. Les erreurs sont calculées a partir des variables composants les équations suivies ou surveillées. En vue du fait que la supervision effectué sur ce système se base sur les valeurs des différentes grandeurs physiques, l'utilisation de capteur joue un rôle primordial dans notre étude ainsi le traitement des signaux obtenue constitue une grande partie de notre travail. | ||
− | + | == Traitement de signal == | |
− | + | === Moyenne glissante === | |
Ligne 67 : | Ligne 67 : | ||
[[Fichier:Rep_freq_courbe.png |center|alt=Réponse fréquentielle de la moyenne glissante]] | [[Fichier:Rep_freq_courbe.png |center|alt=Réponse fréquentielle de la moyenne glissante]] | ||
− | + | === Moyenner pour palier aux parasites restantes=== | |
Ligne 79 : | Ligne 79 : | ||
[[Fichier:Im.png |center|alt= méthode de filtrage]] | [[Fichier:Im.png |center|alt= méthode de filtrage]] | ||
− | + | == Détection du niveau d'erreur == | |
La détection d'erreur étant faite ainsi que le traitement du signal , la deuxième partie de notre travail consiste a déterminer le niveau de l'erreur. Pour mieux comprendre le problème, l’exemple d'une fuite dans un réservoir est l'exemple parfait mais aussi la première partie de notre travail. Certes notre système de supervision permet la détection de n'importe quel fuite même la plus petite. Il est intéressant de déterminer le niveau de la fuite au niveau du réservoir. Plus la fuite est grande plus l'erreur le sera, le but de notre travail et de déterminer des paliers d'erreur permettant de connaitre le niveau de l'erreur. | La détection d'erreur étant faite ainsi que le traitement du signal , la deuxième partie de notre travail consiste a déterminer le niveau de l'erreur. Pour mieux comprendre le problème, l’exemple d'une fuite dans un réservoir est l'exemple parfait mais aussi la première partie de notre travail. Certes notre système de supervision permet la détection de n'importe quel fuite même la plus petite. Il est intéressant de déterminer le niveau de la fuite au niveau du réservoir. Plus la fuite est grande plus l'erreur le sera, le but de notre travail et de déterminer des paliers d'erreur permettant de connaitre le niveau de l'erreur. | ||
Ligne 85 : | Ligne 85 : | ||
La premier partie consiste a modéliser les niveaux de fuite possible sous la forme d’équation a implémenter au niveau de notre système de supervision. | La premier partie consiste a modéliser les niveaux de fuite possible sous la forme d’équation a implémenter au niveau de notre système de supervision. | ||
+ | |||
+ | == Isolation des erreurs == | ||
+ | |||
+ | |||
+ | Les méthodes basées sur l’identification de paramètres visent à estimer la cohérence entre les paramètres du modèle de bon fonctionnement du système et les paramètres du modèle du système identifié en temps réel. Elles travaillent dans l’espace de structure et sont donc plus pertinentes d’une défaillance liée à une modification structurelle du système. Elles facilitent ainsi l’opération de diagnostic dans le cas où les paramètres du modèle présentent une signification physique immédiate vis-à-vis du processus. | ||
+ | |||
+ | Les écarts ou les résidus constituent une signature, un identificateur d’une défaillance. Le processus de diagnostic consiste à comparer les relevées sur le processus physique à une bibliothèque de signatures théoriques, représentatives de défaillances identifiées afin de localiser l’origine de la défaillance et de l’identifier finement. Il est donc nécessaire de disposer également d’un ou plusieurs modèles de défauts. | ||
+ | |||
+ | Il est possible de procéder, a l’image du raisonnement humain en diagnostic, en faisant un parallèle entre l’expérience des défaillances déjà rencontrées, leurs effets et les résidus relevés dans la situation présente. Pour cette stratégie on parle de Matching. On obtient alors à partir de cette opération une matrice ( Fault Signature Matrix). | ||
+ | |||
+ | |||
+ | (Ici Image de Fault signature Matrix) | ||
+ | |||
+ | La mise en place d’une telle matrice nous permet de parler de notion de détectabilité et isolabilité. Il est donc possible de relever les erreurs décelable mais aussi celles qui sont isolable. | ||
+ | |||
+ | Détectabilité | ||
+ | |||
+ | Une erreur E_j est detectable si il existe au moins un des scalaires de son vecteur est different de zero | ||
+ | |||
+ | Isolabilité | ||
+ | |||
+ | Une erreur Ej est isolable si celle-ci a un vecteur different des autres erreurs en plus du fait qu’elle soit détectable | ||
+ | |||
+ | |||
+ | On place un ‘1’ si la variable fait partie des valeurs de l’équation Arr et un ‘0’ dans le cas contraire. Ceci nous permet de déterminer les erreurs détectable et ceux qui sont isolable afin de mettre en place une stratégie de supervision adéquate aux données dont on dispose. | ||
+ | |||
+ | Il est donc possible à l’aide de ce tableau de mettre en place un programme qui à travers la matrice peut déduire ou isoler l’erreur. Dans le cas du réservoir le script peut s’écrire de la manier suivante : | ||
+ | |||
+ | Après la mise en place du script permettant la détection des erreurs ainsi que l’isolation de ces derniers. Une interface d’affichage sur Dspace a était mise en place afin de faciliter la compréhension des données obtenue. Le dernier point étudié et la configuration des seuils de détection. Ce travail permet de détecter le moment de déclenchement des résidus afin de permettre l’utilisation du script. Pour cela un block simulink a était créer. Celui-ci permet d’envoyer un signal binaire au script mise en place après un dépassement des seuils. | ||
+ | |||
+ | (Ici Image block simulink) | ||
+ | |||
+ | Le filtrage effectué dans la première partie du projet a facilité ce travail. Etant donnée la netteté des signaux la mise en place de seuil a était plus facile. | ||
==Rapport== | ==Rapport== | ||
− | [[Fichier: | + | [[Fichier:Rapport_Z.pdf]] |
+ | ==Video== | ||
+ | Lien Youtube:https://www.youtube.com/watch?v=wHaKUxxFIS0&feature=youtu.be |
Version actuelle datée du 24 février 2015 à 08:18
Sommaire
Introduction
Présentation du système
Notre travail se réalise, sur un générateur de vapeur couramment appelé GV, qui est l’une des composantes principales des réseaux électriques thermiques et nucléaires. Le principe de fonctionnement d’un générateur de vapeur est de pomper une eau à température ambiante d’un réservoir et de la porter ébullition à haute pression. Une fois cette eau portée à ébullition, la vapeur commence à s’échapper sous pression et fait tourner le groupe turbo-alternateur, qui se compose d’une turbine couplée à un alternateur.
Le système se compose donc de :
• Un réservoir qui contient une eau à température ambiante
• Des pompes pour pomper l’eau du réservoir
• Une chaudière pour porter l’eau à ébullition
• Le groupe turbo-alternateur
Travail à réaliser
Tout procédé industriel nécessitant une supervision logicielle, cette dernière est effectuée pour notre système sous Matlab/Simulink ainsi que dSpace. Cette supervision se base sur les données recueillis à partir des capteurs implantés sur le système, pour prévenir d'un dysfonctionnement ou d'un problème.
[interface de supervision]
Malheureusement les signaux envoyés par les capteurs sont bruités, et la dérivation numérique de ces signaux-là ne fait qu'empirer les choses. Dans le cadre de notre PFE, on essaiera de filtrer ces bruits-là, et donc de rendre la détection de défauts plus fiable et efficace.
Problématique
Le principe de la supervision et la détection d'erreur a partir des équations régissant le fonctionnement du système. Les anomalies détectées au niveaux de ces équations est ce qu'on appelle des erreurs. Les erreurs sont calculées a partir des variables composants les équations suivies ou surveillées. En vue du fait que la supervision effectué sur ce système se base sur les valeurs des différentes grandeurs physiques, l'utilisation de capteur joue un rôle primordial dans notre étude ainsi le traitement des signaux obtenue constitue une grande partie de notre travail.
Traitement de signal
Moyenne glissante
On peut voir sur les images que les signaux obtenue sont difficilement utilisable dans le cadre d'une supervision optimal. Le but de la supervision étant la détection d'un front montant au niveau des erreurs, le bruit observé sur les signaux obtenue prouve bien l'impossibilité de l'application de cette tache.
Un filtrage est indispensable pour le bon fonctionnement du système de supervision. Les filtres de première ordre étant obsolète pour un bruit d'une telle envergure, le moyen le plus utilisé dans ce cas la est l'utilisation d'un moyennage statistique supprimant les fluctuations transitoires de façon à en souligner les tendances à plus long terme. Le moyenneur le plus efficace et le plus utilisé est ce qu'on appelle une moyenne glissante. Cette moyenne est dite mobile parce qu'elle est recalculée de façon continue, en utilisant à chaque calcul un sous-ensemble d'éléments dans lequel un nouvel élément remplace le plus ancien ou s'ajoute au sous-ensemble.
Plus exactement et de manière plus mathématiques et moins empirique, la moyenne glissante est un filtre numérique avec des coefficients qui peuvent être identiques ou pas, selon notre besoin. Dans le cas de coefficients on donne la même importance à tous les échantillons, mais dans le cas de coefficients différents on accorde une importance différente à chacun des échantillons. L'utilisation de l'un ou de l'autre diffère selon le besoin, dans notre cas on accordera la même importance à tous les échantillons et donc on utilisera une moyenne glissante à coefficients égaux.
On choisira donc comme coefficient :
La valeur donc de la kième valeur est donc :
En terme de fonction de transfert (en z), on obtient donc la fonction suivante :
La réponse fréquentielle de ce filtre est donc :
Ce qui est une réponse fréquentielle d'un filtre passe-bas, et ce qui nous aidera donc à éliminer les bruits comme on l'a cité de façon empirique plus haut.
Le résultat obtenue est assez extraordinaire, en vue de l'envergure du bruit on a choisit d'utiliser deux moyenne glissante ce qui rend le filtrage plus efficace comme expliqué auparavant. On voit sur l'image que le signal est plus lisse et donc mieux adapté a la détection des erreurs.
Lors des essaies effectués on a remarqué que par exemple pour une fuite assez faible le capteur a du mal a détecter la bonne valeur du niveau d'eau dans le réservoir variant au tour d'une certain valeur ce qui implique une variation de l'erreur en cas d'une faible fuite.
Le signal dans ce cas la se trouve alors bruité du fait de la faible précision du capteur. Dans ce cas la le bruit est d'une fréquence assez faible ce qui rend l'utilisation de la moyenne glissante assez peu utile. Etant donné la puissance de ce type de filtre, et le faible signal obtenue lors des petites fuites, la moyenne glissante risque d'effacer le signal recherché en essayant de filtrer ce dernier.
Malgré l'efficacité de la moyenne glissante, le problème de repliement spectral se pose néanmoins. Car vu la courbe de la réponse fréquentielle (cf : courbe ci-dessous), certains signaux ne sont absolument pas filtrés (gain 0dB). Ce qui explique la présence de certains bruits qui n'ont pas été éliminés.
Moyenner pour palier aux parasites restantes
Pour palier a ce problème, on a créer un moyenneur assez ressemblant a la moyenne glissante, utilisant le bock simulink "mean" donnant la moyenne des valeur obtenue a chaque front montant. La moyenne étant contrôler par un signal extérieur le but du travail est de trouvé le signal permettant d'avoir un signal exploitable.
Il est possible d'utiliser un signal carre qui nous permettra de définir une certaine durée ( la période du bruit) avant calcul de la moyenne. En vue de la non-homogénéité du bruit, fréquentiellement parlant, le signal carrée peut être une solution au problème mais non la plus adapté.
Le signal approprié a la commande du moyenneur est le signal lui même. En vue de la faible fréquence du signal il est possible d'utilisé ce dernier pour notre commande. Cela se résume en un calcul de la moyenne entre deux front montant du signal ce qui permettra avoir la moyenne de chaque variation du signal est donc avoir un bon fonctionnement du filtre étant donné que celui-ci s'adapte a n'importe quel type de signal étant donnée qu'on utilise le signal même, contrairement a l'utilisation d'un signal carrée qui reste fixe quelques soit le signal a filtré.
Détection du niveau d'erreur
La détection d'erreur étant faite ainsi que le traitement du signal , la deuxième partie de notre travail consiste a déterminer le niveau de l'erreur. Pour mieux comprendre le problème, l’exemple d'une fuite dans un réservoir est l'exemple parfait mais aussi la première partie de notre travail. Certes notre système de supervision permet la détection de n'importe quel fuite même la plus petite. Il est intéressant de déterminer le niveau de la fuite au niveau du réservoir. Plus la fuite est grande plus l'erreur le sera, le but de notre travail et de déterminer des paliers d'erreur permettant de connaitre le niveau de l'erreur.
La premier partie consiste a modéliser les niveaux de fuite possible sous la forme d’équation a implémenter au niveau de notre système de supervision.
Isolation des erreurs
Les méthodes basées sur l’identification de paramètres visent à estimer la cohérence entre les paramètres du modèle de bon fonctionnement du système et les paramètres du modèle du système identifié en temps réel. Elles travaillent dans l’espace de structure et sont donc plus pertinentes d’une défaillance liée à une modification structurelle du système. Elles facilitent ainsi l’opération de diagnostic dans le cas où les paramètres du modèle présentent une signification physique immédiate vis-à-vis du processus.
Les écarts ou les résidus constituent une signature, un identificateur d’une défaillance. Le processus de diagnostic consiste à comparer les relevées sur le processus physique à une bibliothèque de signatures théoriques, représentatives de défaillances identifiées afin de localiser l’origine de la défaillance et de l’identifier finement. Il est donc nécessaire de disposer également d’un ou plusieurs modèles de défauts.
Il est possible de procéder, a l’image du raisonnement humain en diagnostic, en faisant un parallèle entre l’expérience des défaillances déjà rencontrées, leurs effets et les résidus relevés dans la situation présente. Pour cette stratégie on parle de Matching. On obtient alors à partir de cette opération une matrice ( Fault Signature Matrix).
(Ici Image de Fault signature Matrix)
La mise en place d’une telle matrice nous permet de parler de notion de détectabilité et isolabilité. Il est donc possible de relever les erreurs décelable mais aussi celles qui sont isolable.
Détectabilité
Une erreur E_j est detectable si il existe au moins un des scalaires de son vecteur est different de zero
Isolabilité
Une erreur Ej est isolable si celle-ci a un vecteur different des autres erreurs en plus du fait qu’elle soit détectable
On place un ‘1’ si la variable fait partie des valeurs de l’équation Arr et un ‘0’ dans le cas contraire. Ceci nous permet de déterminer les erreurs détectable et ceux qui sont isolable afin de mettre en place une stratégie de supervision adéquate aux données dont on dispose.
Il est donc possible à l’aide de ce tableau de mettre en place un programme qui à travers la matrice peut déduire ou isoler l’erreur. Dans le cas du réservoir le script peut s’écrire de la manier suivante :
Après la mise en place du script permettant la détection des erreurs ainsi que l’isolation de ces derniers. Une interface d’affichage sur Dspace a était mise en place afin de faciliter la compréhension des données obtenue. Le dernier point étudié et la configuration des seuils de détection. Ce travail permet de détecter le moment de déclenchement des résidus afin de permettre l’utilisation du script. Pour cela un block simulink a était créer. Celui-ci permet d’envoyer un signal binaire au script mise en place après un dépassement des seuils.
(Ici Image block simulink)
Le filtrage effectué dans la première partie du projet a facilité ce travail. Etant donnée la netteté des signaux la mise en place de seuil a était plus facile.
Rapport
Video
Lien Youtube:https://www.youtube.com/watch?v=wHaKUxxFIS0&feature=youtu.be