Umsetzung als SIL (Software-in-the-Loop)
(EN google-translate)
(PL google-translate)
Zur Umsetzung des Reglers mit Beobachter mit einem Software-Regler auf der Grundlage von Scilab, muß das, was zuvor simuliert wurde in Einzelschritten ausgeführt werden.
Grundidee: Es wird zyklisch ein Zeitschritt der Simulation getriggert durch die Hardware ausgeführt und der aktuelle wert der Regelabweichung von außen übergeben.
Umsetzung unter Verwendung der vorhandenen Simulation: Für einen Zeitschritt wird eine kurze Simulation durchgeführt, der folgendes von außen, d.h. von der Hardware, vorgegeben wird:
|
//######## INITIALISIERUNG ######## clear(); R=[0.1028838, 0.0075232, 0.0001731, 0.4205213]; function f = rechteSeite(t,y) sim_phi = y(1,1); //Pixelposition sim_omega = y(2,1); //Pixelgeschwindigkeit "w" sim_alfa = y(3,1); //Pixelbeschleunigung sim_intphi = y(4,1); //Integral von Phi a=36.0; b=326.0; c=115509.0; u = -R*y; //simuliertes y als Grundlage für u. usim = u + 0.01*(real_phi-sim_phi); //Abweichung zw. realem und simul. phi zurückführen. f(1,1) = sim_omega; f(2,1) = sim_alfa; f(3,1) = -a*sim_alfa-b*sim_omega+c*usim; f(4,1) = sim_phi; endfunction //######## INPUT ######## //Vorgaben von aussen, um es leichter von Java aus handhaben zu können, nur ein Zeilen-Vektor: EINGABE = [100,0.1,100,0,0,0]; real_phi = EINGABE(1,1); //von aussen vorgeben, eigentlich ist das hier die Regelabweichung von der aktuellen Ballposition. dauer = EINGABE(1,2); //Zeitschrittweite des zyklischen Aufrufs y0 = EINGABE(1,3:6)'; //Endzustand aus letzter Simulation //######## Simulation ######## //Testweise wie in der Messung simulieren: t=linspace(0,dauer,10); t0=0.0; y=ode(y0,t0,t,rechteSeite); anz=size(y); yout=y(:,anz(1,2))'; u=-R*y; anz=size(u); //uout = u(anz(1,1),anz(1,2)); uout=mean(u); //Mittelwert aus der kurzen Simulation. //######## OUTPUT ######## //Nach der Simulation nach Aussen zurueckgeben: AUSGABE=[uout,yout]; //wird das reale system ausgeregelt?: plot(t,y(1,:)); //sim_phi
Code 0-1: Illustration des Vorhabens mittels eines Quelltextes.
Aufgaben
|
Bild 0-1: Testlauf mit Zustandsregler.
Testlauf mit Zustandsregler.