1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| function acquisition_des_donnees(hObject, eventdata)
taskh.AI_00 = getappdata(handles.figure1, 'taskh.AI_00');
taskh.AI_01 = getappdata(handles.figure1, 'taskh.AI_01');
lib = getappdata(handles.figure1, 'lib');
numSampsPerChan = getappdata(handles.figure1, 'numSampsPerChan');
timeout = getappdata(handles.figure1, 'timeout');
fillMode = getappdata(handles.figure1, 'fillMode');
numchan = getappdata(handles.figure1, 'numchan');
numsample = getappdata(handles.figure1, 'numsample');
v = getappdata(handles.figure1, 'v'); % A mettre à jour
Pe0 = getappdata(handles.figure1, 'Pe0'); % A mettre à jour
Xe0 = getappdata(handles.figure1, 'Xe0'); % A mettre à jour
A = getappdata(handles.figure1, 'A');
B = getappdata(handles.figure1, 'B');
C = getappdata(handles.figure1, 'C');
Q = getappdata(handles.figure1, 'Q');
R = getappdata(handles.figure1, 'R');
Te = getappdata(handles.figure1, 'Te');
Rate = getappdata(handles.figure1, 'Rate');
alarm = getappdata(handles.figure1, 'alarm');
i = getappdata(handles.figure1, 'i');
AI_00(i) = DAQmxReadAnalogF64(lib,taskh.AI_00,numSampsPerChan,timeout,fillMode,numchan,numsample);
AI_01 = DAQmxReadAnalogF64(lib,taskh.AI_01,numSampsPerChan,timeout,fillMode,numchan,numsample);
consigne = ceil((AI_01*200)/10); % Récupération de la consigne en pression
v(i) = (AI_00(i)*3000)/9.8; % A mettre à jour
setappdata(handles.figure1, 'v', v(i));
M = -9.31017e-11*consigne^6+6.00593e-8*consigne^5-1.5198e-5*consigne^4+0.0019509*consigne^3-0.13374218*consigne^2+8.646759932*consigne+21.08686454;
[Peqh(i),Xeqh(i),Yeqh(i),Veqh(i),flag(i)] = KF(Pe0,Xe0,v(i),A,B,C,Q,R,Te,Rate,M,alarm,15);
Pe0 = Peqh(i); % Mise en mémoire de la covariance pour le pas suivant
Xe0 = Xeqh(i); % Mise en mémoire de l'état estimé pour le pas suivant
i = i + 1;
% Mise à jour des sorties du filtre
setappdata(handles.figure1, 'Yeqh', Yeqh(i));
setappdata(handles.figure1, 'Peqh', Peqh(i));
setappdata(handles.figure1, 'Veqh', Veqh(i));
setappdata(handles.figure1, 'Xeqh', Xeqh(i));
setappdata(handles.figure1, 'flag', flag(i));
setappdata(handles.figure1, 'Pe0', Pe0);
setappdata(handles.figure1, 'Xe0', Xe0);
setappdata(handles.figure1, 'i', i); |
Partager