Documente Academic
Documente Profesional
Documente Cultură
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.
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.
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.
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.
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)
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).
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 :
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.
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.
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.
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.