Vous êtes sur la page 1sur 6

Introduction :

Le diagnostic d'un systme physique a comme objectif de prciser dans quel tat se trouve ce systme : tat normal ou tat anormal de fonctionnement. La plupart des mthodes de diagnostic utilisent la connaissance du processus physique reprsent par son modle mathmatique. La redondance analytique, permet de comparer les informations issues de plusieurs capteurs avec celles correspondant aux variables calcules partir des modles ; cette comparaison se traduit par la gnration de variables d'cart appeles rsidus. Quand le processus fonctionne normalement, ces rsidus sont nuls ; leur dviation par rapport la valeur zro est alors significative d'une dfaillance.

Le modle dtat discret de notre systme dordre 3 se dcrit par les quations suivantes:

] ( )

] ( )

( )

( )

] ( )

( )

I.

Dclaration des matrices :

Les matrices de systme : A, B, C. Les matrices daiguillage : L1, L2. Les signaux : - la commande u. - ltat x. - la sortie y. -le dfaut capteur fc. -le dfaut actionneur fa. On va tout dabord rserver un espace de 505 colonnes pour chaque matrices, rempli de zros. On a pris une commande chelon: u { La commande Matlab qui permet de mettre les zros de la matrice u pour toutes lignes et pour les colonnes entre 102 et 505 5 est la suivante : u(:,102:505)=5;

A=[0.5 1 0;0 0.1 0;0 0 0.5]; B=[0 1;1 1;0 -1]; ]; C=[1 0 1;0 1 1]; L1=eye(3); L2=eye(2); u=zeros(2,505);% rserver un espace pour le vecteur u rempli de zros x=zeros(3,505); % rserver un espace pour le vecteur x rempli de zros y=zeros(2,505); % rserver un espace pour le vecteur y rempli de zros fa=zeros(3,505); % rserver un espace pour le vecteur fa rempli de zros fc=zeros(2,505);% rserver un espace pour le vecteur fc rempli de zros u(:,102:505)=5; % craser les zros de la matrice u par 5 entre 102 et 505 Le nombre dchantillons et donn par k=501, dans la rservation on a pris 505 qui dpasse le nombre dchantillons car on a besoin de calcule x (k+1) alors on dpasse la valeur 501, pour viter de prendre des risques.

II.

Calcul des matrices H , G , Ea , Ec , :

H=[C;C*A;C*A*A]; G=[zeros(size(C*B)) zeros(size(C*B)) zeros(size(C*B));C*B zeros(size(C*B)) zeros(size(C*B));C*A*B C*B zeros(size(C*B))]; Ea=[zeros(size(C*L1)) zeros(size(C*L1)) zeros(size(C*L1));C*L1 zeros(size(C*L1)) zeros(size(C*L1));C*A*L1 C*L1 zeros(size(C*L1))]; Ec=[L2 zeros(size(L2)) zeros(size(L2));zeros(size(L2)) L2 zeros(size(L2));zeros(size(L2)) zeros(size(L2)) L2]; omega=null(H','r')' ;% la matrice omega est orthogonale la matrice H .

III.

Calcul de vecteur dtat x et de sortie y :

Apres le calcul des matrices et des vecteurs, nous allons calculer le y(k) et x(k) pour avoir les valeurs des mesures chaque instant de lchantillonnage. for k=1:505 x(:,k+1)=A*x(:,k)+B*u(:,k)+L1*fa(:,k); y(:,k)=C*x(:,k)+L2*fc(:,k); end

IV.

Calculer les signaux U,Y,Fa,Fc :


Pour dterminer lquation de redondance, nous avons calcul les matrices suivantes :

Equation de redondance : Y (K,S) - G (S) U (K,S) =H (S) X (K) + Ea (S) Fa ( K,S) + Ec (S) Fc (K,S)

On a : S=2 Alors les matrices sont : ( ) Y(k,S)=[ ( ( )] ) U(k,S)= [ ( ( ( ) )] ) Fa (k,S)= [ ( ( ( ) )] ) Fc(k,S)= [ ( ( ( ) )] )

H(S)= [

G(S)=[

Ea(S)= [

] Ec(S)= [

On va tout dabord rserver un espace rempli de zros pour Y(k,S), U(k,S), Fa(k,S), et Fc(k,S). Par exemple pour Y(k,S) on rserve un espace, le nombre de ligne est de le nombre de lignes de y multipli par le nombre de lignes de Y(k,S) , et le nombre de colonnes est de 505. Et on fait pareil pour U(k,S) , Fa(k,S) et Fc(k,S).

Y=zeros(6,505); U=zeros(6,505); Fa=zeros(9,505); Fc=zeros(6,505);

Puis on gnre les matrices Y(k,S) , U(k,S) , Fa(k,S) , Fc(k,S). for K=1:502 Y(:,K)=[y(:,K);y(:,K+1);y(:,K+2)]; U(:,K)=[u(:,K);u(:,K+1);u(:,K+2)]; Fa(:,K)=[fa(:,K);fa(:,K+1);fa(:,K+2)]; Fc(:,K)=[fc(:,K);fc(:,K+1);fc(:,K+2)]; end

V.

Calcul du rsidu :

On va calculer le vecteur de parit qui represente le rsidu de deux manires differentes :

Residu1=omega*(Y(k,S) G(S) * U(k,S)) % vecteur de parit sous forme externe (en fonction des donnes connues) Residu2=omega* [(Ea(S) * Fa(k,S)) - (Ec(S) *Fc(k,S))] % vecteur de parit sous forme interne (en fonction des dfauts)

VI.

Tracer les rsidus :

On a utilis la fonction Subplot afin de tracer les Rsidus1 a gauche et les Rsidu2 a droite, et cela pour pouvoir les comparer.

t=0:0.01:5.04 % on a besoin d'all jusqu' 5.04 car t doit avoir la mme taille que celle du Rsidu

subplot(3,2,1);plot(t,Residu1(1,:)),grid xlabel('temps') ylabel('Rsidu sous forme externe 1') subplot(3,2,3);plot(t,Residu1(2,:)),grid xlabel('temps') ylabel('Rsidu sous forme externe 2') subplot(3,2,5);plot(t,Residu1(3,:)),grid xlabel('temps') ylabel('Rsidu sous forme externe 3') subplot(3,2,2);plot(t,Residu2(1,:)),grid xlabel('temps') ylabel('Rsidu sous forme interne 1') subplot(3,2,4);plot(t,Residu2(2,:)),grid xlabel('temps') ylabel('Rsidu sous forme interne 2') subplot(3,2,6);plot(t,Residu2(3,:)),grid xlabel('temps') ylabel('Rsidu sous forme interne 3')

VII.

Excution sans dfaut :

Lexcution du programme sans dfaut est illustre sur la figure suivante:

Figure 1 : graphes du vecteur de parit (Rsidu) sous sa forme externe et interne sans dfaut

Interprtation des graphes : on remarque sur la figure 1 que tous les graphes sont nuls en absence de dfaut capteur et actionneur, cela signifie que le rsidu nont pas de detecter de dfaut.

VIII.

Execution avec dfaut :


Afin de gnrer un dfaut, on va utiliser la fonction Rand de Matlab qui gnre un signal alatoir. Puis on a choisi daffct ce dfaut aux actionneurs entre 200 et 400 et aux capteurs entre 300 et 500. Donc on rajoute les commandes suivantes :

a=rand(505); fa(1,200:400)=a(1,200:400); fc(1,300:500)=a(1,300:500);

Lexcution du programme avec dfaut donne les figures suivantes :

Figure 2 : graphes du vecteur de parit (Rsidu) sous sa forme externe et interne avec dfauts

Interprtation des graphes : on remarque sur la figure 2 que chaque graphes de gauche est identique celui de droite. Donc le vecteur de parit sous la forme externe est gal celui de la forme interne. on remarque aussi que le residu est different de 0 entre t=2 et t=5 et cela correspond la zone o on a affect un dfaut capteur ou actionneur ou les deux en mme temps. On distingue trs bien ces 3 zones : La zone 1 (2<t<3) : on a appliqu un dfaut actionneur. La zone 2 (3<t<4) : on a appliqu un dfaut actionneur et un dfaut capteur en mme temps. La zone 3 (4<t<6) : on a appliqu un dfaut capteur. Donc le rsidu a bien detecter les dfauts capteurs et actionneurs.

Conclusion :
On a appris comment gnrer des quations de redondance analytique partir des quations d'tat d'un systme. La gnration du vecteur de parit permet la dtection dun dfaut capteur et actionneur, ainsi que la prcision de la zone de lapparition des dfauts. Les deux formes du vecteur de parit externe (en fonction des donnes connues) et interne (en fonction des dfauts), donnent les mmes rsultats.