% Lambda-metoden stegsvarstest % ger inställningsvärden till PI-regulator % % 100% |----------____ Ys Ks=Ys/steg % | / % | / % 63% |-------/ % | /| M=max{L,T} % | / | % | / | l=p*M 1
stability ) % |---|---|----- % <-> L K=T/(Ks(l+L)) % <------> L+T T=T_I % help lambdatuning.m % skriver ut den inledande ASCII-grafiken disp('Tryck på tangent för MENY ...'), pause k=menu('Välj åtgärd','Mata in stegsvar (först)','Variera p'); if (k==1) disp('Mata in värden från stegsvarstest'); steg = input('Stegändringens storlek: '); Ys0 = input('Utstorhetens startvärde (vid 0%): '); Yss = input('Utstorhetens slutvärde (vid 100%): '); Ks = (Yss-Ys0)/steg; % beräkna processens förstärkning L = input('Dödtiden L [s]: '); Ts = input('Tid till 63% av slutvärde L+T [s]: '); T=Ts-L; M=max(L,T); disp('Antag att p = 2 (snabbhet<-->stabilitet)'); p=2; disp('Beräknade värden på K och T_I'); l=p*M; K=T/(Ks*(l+L)) % skriv ut K T_I=T % skriv ut T_I else disp('Ändra parametern p (1...p...3 snabbhet<-->stabilitet'); p=input('Ange nytt p: '); if p<1 p=1; disp('p ska som lägst vara 1'); end if p>3 p=3; disp('p ska som högst vara 3'); end p % skriv ut p disp('Beräknade värden på K och T_I'), l=p*M; K=T/(Ks*(l+L)) % skriv ut K T_I=T % skriv ut T_I end