6AA Automatizace Studijní opory k předmětu Ing. Petr Pokorný 1/40 6AA
Obsah: Logické řízení - Boolova algebra... 4 1. Základní logické funkce:... 4 2. Vyjádření Booleových funkcí... 4 3. Zákony a pravidla Booleovy algebry... 5 4. Algebraický zápis fce z tabulky... 8 5. Karnaughovy mapy... 9 a. Minimalizace pomocí Karnaughovy mapy... 9 6. Slovní úlohy... 13 Spojité lineární řízení... 17 a. *.m file (skript)... 17 b. MathScript (Matlab)... 17 7. regulace... 18 8. Laplaceova transformace (přímá a zpětná transformace )... 19 9. Vytvoření přenosové funkce (Matlab):... 21 10. Zadání systému pomocí přenosové fce... 22 11. Zadání systému póly a nulami... 22 12. Impulsní funkce a charakteristika... 22 13. Přechodová funkce a charakteristika... 22 14. Frekvenční funkce a charakteristika... 23 a. Některé funkce pro vykreslování grafů v Matlabu:... 27 Bloková algebra... 28 15. Sériové zapojení... 28 16. Paralelní zapojení... 28 17. Antiparalelní zapojení (Zpětnovazební)... 29 18. Překřížené vazby... 29 Regulace... 32 19. Stabilita regulačního obvodu... 33 20. Nastavení regulátorů metodou Ziegler-Nichols... 35 21. Poloha pólů a nul přenosu... 38 Ing. Petr Pokorný 2/40 6AA
22. Kritéria stability... 40 a. Nyquistovo kritérium... 40 Ing. Petr Pokorný 3/40 6AA
Logické řízení - Boolova algebra 1. Základní logické funkce: 2. Vyjádření Booleových funkcí pravdivostní tabulka Karnaughova mapa (eventuálně jiné mapy) algebraický výraz blokové schéma Ing. Petr Pokorný 4/40 6AA
3. Zákony a pravidla Booleovy algebry ; Ing. Petr Pokorný 5/40 6AA
Příklad 1.1: Zadání: Minimalizujte funkci Řešení: Příklad 1.2: Zadání: y =!x1 * x2 * x3 + x1 *!x2 *!x3 + x1 *!x2 * x3 + x1 * x2 * x3 + x1*x2*!x3 Z 2. a 3. členu vytkneme x1,!x2 a ze 4. a 5. členu vytkneme x1, x2 y =!x1*x2*x3 + x1*!x2*(!x3 + x3) + x1*x2*(!x3 + x3) y =!x1*x2*x3 + x1*!x2 + x1*x2 y =!x1*x2*x3 + x1(!x2 + x2) =!x1*x2*x3 + x1 Absorpční zákon y = x1 + x2*x3 a) Vytvořte pravdivostní tabulku z výsledku minulého příkladu y = x1 + x2*x3 b) Vytvořte blokové schéma ze zadání minulého příkladu Řešení: a) y =!x1 * x2 * x3 + x1 *!x2 *!x3 + x1 *!x2 * x3 + x1 * x2 * x3 + x1*x2*!x3 c) Vytvořte blokové schéma z výsledku minulého příkladu X1 X2 X3 Y 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 Ing. Petr Pokorný 6/40 6AA
b) c) Příklad 1.3: Zadání: Minimalizujte funkci a vytvořte pravdivostní tabulku. Vytvořte blokové schéma v LOGO!Soft. y = x1 + x2 *!x3 +!(!x2* x3) Řešení: y = x1 + x2 *!x3 + x2 +!x3 y = x1 + x2*(!x3+1) +!x3 y = x1 + x2 +!x3 X1 X2 X3 Y 0 0 0 1 0 0 1 0 0 1 0 1 1 0 0 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 Ing. Petr Pokorný 7/40 6AA
max) min) 4. Algebraický zápis fce z tabulky Příklad 1.4: Zadání: Z pravdivostní tabulky vytvořte neminimalizovanou funkci Řešení: X1 X2 X3 Y 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 y = x1 *!x2*!x3 +!x1* x2 * x3 + x1 *!x2* x3 + x1 * x2 *!x3 + x1 * x2 * x3 Po minimalizaci: y = x1 + x2*x3 Ing. Petr Pokorný 8/40 6AA
5. Karnaughovy mapy a. Minimalizace pomocí Karnaughovy mapy dvojice, čtveřice, osmice, Příklad 1.5: Zadání: Z pravdivostní tabulky vytvořte minimalizovanou funkci Algebraické řešení: X1 X2 Y 0 0 0 1 1 1 0 1 1 1 0 1 y = x1 * x2 +!x1 * x2 + x1 *!x2 y = x2 * (x1 +!x1) + x1 *!x2 y = x2 + x1 *!x2 Absorbční zákon: y = x2 + x1 Řešení pomocí Karnaughovy mapy: y = x2 + x1 Příklad 1.6: Zadání: Z pravdivostní tabulky vytvořte minimalizovanou funkci X1 X2 X3 Y 0 0 0 1 0 0 1 0 0 1 0 1 1 0 0 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 Ing. Petr Pokorný 9/40 6AA
Řešení pomocí Karnaughovy mapy: y =!x3 + x1 + x2 Ing. Petr Pokorný 10/40 6AA
Příklad 1.7: Zadání: Z pravdivostní tabulky vytvořte minimalizovanou funkci X1 X2 x3 x4 Y 0 0 0 0 1 0 0 0 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 0 0 0 1 1 1 0 1 1 1 0 0 1 1 Řešení pomocí Karnaughovy mapy: Příklad 1.8: y =!x2 * x4 +!x2 *!x3 +!x1 * x3 * x4 + x1 *!x3 * x4 Zadání: Z pravdivostní tabulky vytvořte minimalizovanou funkci. X1 X2 x3 x4 Y 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 1 1 1 0 1 1 0 0 0 1 1 1 0 1 1 0 0 0 0 1 Ing. Petr Pokorný 11/40 6AA
Řešení pomocí Karnaughovy mapy: y =!x2 *!x3 *!x4 + x4 *!x1 *!x2+ x3 * x1 * x2 + x4 * x1 * x2 Příklad 1.9: Zadání: Z rovnice vytvořte pravdivostní tabulku a minimalizujte. y =!(x1 + x2 + x3) +!x1 * x4 +!x1 * x4 y =!x1 *!x2 *!x3 +!x1 * x4 y =!x1 * (!x2 *!x3 + x4) X1 X2 x3 x4 Y 0 0 0 0 1 0 0 0 1 1 0 1 0 1 1 0 0 1 1 1 0 1 1 1 1 Ing. Petr Pokorný 12/40 6AA
6. Slovní úlohy Příklad 1.10: Zadání: Ze slovního zadání vytvořte pravdivostní tabulku, Karnaughovu mapu a funkci problému. Vytvořte řízení pro dopravník karosérií v automobilovém závodě. Linka obsahuje tlačítko pro spouštění (t), polohové čidlo (p), které linku zastaví při sepnutí, kontrolu chodu dopravníku (r) a alarmové hlášení (a). Řídí se spínání a rozpínání motoru, který pohání dopravník (y). Pokud je dopravník v klidové poloze a je na pozici čidla, pak je možno tlačítkem dopravník spustit. Při nájezdu dopravníku na polohové čidlo se dopravník zastaví. Při jakémkoli alarmovém hlášení se dopravník zastaví a nelze jej při trvání alarmu spustit. Schéma dopravníku: Řešení: Vstupy: Tlačítko Čidlo Chod dop. Alarm Výstup: t p r a y Ing. Petr Pokorný 13/40 6AA
t = x1 p = x2 r = x3 a = x4 y 1 1 0 0 1 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 1 0 1 0 1 Příklad 1.11: Zadání: Ze slovního zadání vytvořte pravdivostní tabulku, Karnaughovu mapu a funkci problému. Aplikujte v LogoSoft. Vytvořte řízení pece. Pec obsahuje 2 termostatická čidla. 1. hlídá teplotu pod 750 C, druhé nad 750 C. Je zde ještě čidlo úniku plynu a čidlo vypnutí/zapnutí přívodu plynu. Pokud je teplota v peci pod 750 C zapne se výstup pro zapálení hořáků, v opačném případě se výstup vypne. Je-li aktivní únik plynu a přívod je otevřen, není možno zapálit hořák. Pokud je přívod plynu uzavřen, pak není možno zapálit hořák. Řešení: X1 - teplota X2 - unik x3 - privod 0 0 1 0 0 1 1 0 1 0 1 1 1 1 0 0 1 1 0 0 1 1 1 0 1 0 0 0 Y - hořák y = x1 *!x2 * x3 Ing. Petr Pokorný 14/40 6AA
Příklad 1.12: Zadání: Ze slovního zadání vytvořte pravdivostní tabulku a funkce problému. Aplikujte v LogoSoft. Řízení teploty ve skleníku pomocí otevírání a zavírání oken a natáčení žaluzií. Systém obsahuje světelné čidlo, které hlídá překročení určité intenzity světla. Teplotní čidlo, které hlídá překročení určité teploty. Motor, který ovládá otevření/zavření oken a motor, který ovládá otevření/zavření žaluzií. Pokud je teplota pod určitou mez, budou okna zavřená a žaluzie otevřené. Pokud bude teplota vysoká a světelné čidlo nesepnuté, pak budou otevřeny žaluzie a okna. Při vysoké teplotě a vysokém slunečním svitu se zavřou žaluzie a otevřou okna. Řešení: X1 - teplota X2 svetl. Y1 - okna 1 1 1 0 0 0 0 1 1 0 1 1 0 1 0 1 Y2 - zaluz y2 =!x2 +!x1 =!(x2 * x1) y1 = x1 Příklad 1.13: Zadání: Automatizace koupelny - aplikujte v LogoSoft. Vytvořte řízení světla a ventilátoru par. Po zapnutí vypínače se rozsvítí koupelnové světlo. Pokud bude světlo svítit déle než 10s, pak se zapne ventilátor par. Po vypnutí světla poběží ventilátor dalších 15s. Pokud bude svítit světlo méně než 10s, pak se ventilátor neaktivuje. Řešení: Ing. Petr Pokorný 15/40 6AA
Vyp. Svetlo 10s Vent. 15s světlo Vent. 0 0 0 0 0 1 0 0 1 0 1 1 0 1 1 1 1 1 1 1 0 1 0 0 1 0 1 1 0 0 0 0 1 0 0 1 0 1 1 0 (pouze ilustrativní pravdivostní tabulka) Ing. Petr Pokorný 16/40 6AA
Spojité lineární řízení a. *.m file (skript) b. MathScript (Matlab) Ing. Petr Pokorný 17/40 6AA
7. regulace Ing. Petr Pokorný 18/40 6AA
8. Laplaceova transformace (přímá a zpětná transformace ) Transformací diferenciální rovnice dostaneme algebraickou rovnici Ing. Petr Pokorný 19/40 6AA
Přenos G(s): Příklad 2.1: Utvořte přenos systému, je-li dána jeho diferenciální rovnice a) y + 4y + 0,5y + 2y = 6u + 3u G(s) = (6s 1 + 3s 0 )/(s 3 + 4s 2 + 0,5s + 2) b) 10y + 5y = u G(s) = (1)/(10s 2 + 5s) c) y = 4u G(s) = 4 Příklad 2.2: K danému přenosu napište diferenciální rovnici systému a) G(s) = (7s 2 + 6s + 2) /(s 3 + 5s 2 + 2s + 8) y + 5y + 2y + 8y = 7u + 6u + 2u b) G(s) = 3s /(s 2 + s + 0,5) y + y + 0,5y = 3u Ing. Petr Pokorný 20/40 6AA
9. Vytvoření přenosové funkce (Matlab): TransferFunction = tf(a,b[,vf]) kde TransferFunction - je název soustavy a,b - jsou řádkové vektory obsahující koeficienty čitatele resp. jmenovatele přenosové funkce volitelně pak lze zadat i vf - je vzorkovací frekvence, pro spojitý systém vf=0 přenos soustavy máme vyjádřen ve tvaru [nuly, poly, k] = tf2zp(a,b) kde nuly - řádkový vektor reprezentující nuly přenosu soustavy poly - řádkový vektor reprezentující póly přenosu soustavy koef - koeficient, číslo kterým je násoben zlomek ve vyjádření přenosu b m /a n a,b - jsou řádkové vektory obsahující koeficienty čitatele resp. jmenovatele přenosové funkce Příklad 2.3: Vytvořte přenosové funkce v Matlabu z předchozích příkladů (5.1, 5.2). Ing. Petr Pokorný 21/40 6AA
10. Zadání systému pomocí přenosové fce tf(a,b[,vf]) 11. Zadání systému póly a nulami [nuly, poly, k] = tf2zp(a,b) 12. Impulsní funkce a charakteristika impulse(s) impulse (s,t) impulse (s1,s2,...,sn) impulse (s1,s2,...,sn,t) kde s systém t konečný čas charakteristiky, nebo vektor vykreslovaných bodů Příklad 2.4: Zadání: Vytvořte impulsní funkci a nakreslete impulsní charakteristiku pro regulační členy o přenosu: 13. Přechodová funkce a charakteristika step(s) step (s,t) step (s1,s2,...,sn) step (s1,s2,...,sn,t) kde s systém t konečný čas charakteristiky, nebo vektor vykreslovaných bodů Ing. Petr Pokorný 22/40 6AA
Příklad 2.5: Zadání: Vytvořte impulsní funkci a nakreslete impulsní charakteristiku pro regulační členy o přenosu: 14. Frekvenční funkce a charakteristika nyquist(s) nyquist(s,w) nyquist(s1,s2,...,sn) nyquist(s1,s2,...,sn,w) kde s systém w konečný úhel charakteristiky, nebo vektor vykreslovaných úhlů Příklad 2.6: Zadání: Systém (regulační člen) je popsán diferenciální rovnicí: Ing. Petr Pokorný 23/40 6AA
Příklad 2.7: Spočtšte frekvenční char. přenosu Řešení: Úhlovou rychlost volíme od 0 do nekonečno. Ing. Petr Pokorný 24/40 6AA
Příklad 2.8: Sestrojte frekvenční, impulsní a přechodovou charakteristiku systému o přenosu % a) aa=1.5; ba=[2 31]; sysa=tf(aa,ba); subplot(1,3,1) impulse(sysa,'b-') subplot(1,3,2) step(sysa,'b-') subplot(1,3,3) nyquist(sysa,'b-') hold on pause(2) % b) aa=1; ba=[1.12 2.9 1]; Ing. Petr Pokorný 25/40 6AA
sysa=tf(aa,ba); subplot(1,3,1) impulse(sysa,'r-') subplot(1,3,2) step(sysa,'r-') subplot(1,3,3) nyquist(sysa,'r-') pause % c) aa=8; ba=[0.16 0.110]; sysa=tf(aa,ba); subplot(1,3,1) impulse(sysa,'g-') subplot(1,3,2) step(sysa,'g-') subplot(1,3,3) nyquist(sysa,'g-') pause % d) aa=[8 0]; ba=[0.16 0.11]; sysa=tf(aa,ba); subplot(1,3,1) impulse(sysa,'c-') Ing. Petr Pokorný 26/40 6AA
subplot(1,3,2) step(sysa,'c-') subplot(1,3,3) nyquist(sysa,'c-') pause a. Některé funkce pro vykreslování grafů v Matlabu: plot(x,y, r* ) subplot(m,n,i) title( název ) xlabel( popis osy X ) ylabel( popis osy Y ) Ing. Petr Pokorný 27/40 6AA
Bloková algebra 15. Sériové zapojení sys = series(sys1,sys2) sys = sys1 * sys2 16. Paralelní zapojení sys = parallel(sys1,sys2) sys = sys1 + sys2 Ing. Petr Pokorný 28/40 6AA
17. Antiparalelní zapojení (Zpětnovazební) sys = feedback(s1,sz) přenos přímé větve / 1 + přenos přímé větve * přenos zpětné větve Pokud ve zpětné vazbě není žádný člen, počítáme s tím, že je tam člen s přenosem rovným jedné. 18. Překřížené vazby Ing. Petr Pokorný 29/40 6AA
Příklad 3.1: Určete výsledný přenos zapojení dle obrázku. a) Ga = G2/(1+G2*G4) Gb = (G1*Ga)/(1+G1*Ga*1) G(s) = Gb * G3 b) Gz= (G5 + G6) *(G7/1+G7*G8) * G9 Ga = (G2* G3) /(1 + G2 * G3 * Gz) G(s) = G1 * Ga * G4 c) Ing. Petr Pokorný 30/40 6AA
Přechodová char. G(s) = 1,5/s U(s) = L{etha} = 1/s Y(s) = G(s) * U(s) = 1,5/s 2 Ing. Petr Pokorný 31/40 6AA
Regulace a) proporcionální neboli P regulátor b) integrační neboli I regulátor c) proporcionálně-integrační neboli PI regulátor d) proporcionálně-derivační neboli PD regulátor e) proporcionálně-integračně-derivační neboli PID regulátor Přenos regulátoru: Ing. Petr Pokorný 32/40 6AA
19. Stabilita regulačního obvodu Stabilita je základní a nevyhnutelnou podmínkou správné funkce regulačního obvodu. Regulační obvod je stabilní, jestliže po svém vychýlení z rovnovážného stavu a odstranění vzruchu, který vychýlení způsobil, je schopen se ustálit v rovnovážném stavu. Ing. Petr Pokorný 33/40 6AA
Přenos rozpojeného obvodu (bez zpět. vazby): Charakteristická rovnice obvodu: => Kořeny rovnice 1 + G 0 (s) = 0 Regulační obvod je stabilní, mají-li všechny kořeny charakteristické rovnice záporné reálné části neboli leží v levé komplexní polorovině. Aby byl regulační obvod stabilní, musí být všechny koeficienty charakteristické rovnice kladné. Tato podmínka je nutná (ale nepostačující). Příklad 4.1: Sestavte charakteristickou rovnici regulačního obvodu a na základě ní určete stabilitu tohoto obvodu. Je dán přenos regulované soustavy i PID regulátoru Řešení: G 0 (s) = (96s 2 + 12s + 3) /(6s 2 + 2s) 96s 2 + 12s + 3 + 6s 2 + 2s = 0 102s 2 + 14s + 3 = 0 K = -0,0686 +- 0.157j Ing. Petr Pokorný 34/40 6AA
20. Nastavení regulátorů metodou Ziegler-Nichols Základní myšlenkou metody je přivést obvod na hranici stability a) Vyřadíme int. a der. složky regulátoru T i, T d 0 (respektive r -1 0, r 1 0) b) Měníme zesílení r 0 do doby hranice stability (=> kritické zesílení r 0k ) c) Kritická perioda T k d) Příklad 4.2: Nastavte regulátor systému na obrázku r0=0.5 * 0.75; Gs = tf([1],[1 1.5 0.5 0]) Gr = tf([r0],[1]) Gz = tf(1,1) G00 = Gs * Gr; G0 = feedback(g00, Gz) step(g0) Ing. Petr Pokorný 35/40 6AA
Příklad 4.3: Metodou Ziegler-Nicholsovou určete optimální nastavení regulátorů P, PI, PD a PID pro regulovanou soustavu podle obrázku Řešení: a) Vyřazení složky I,D b) Vytvoření charakteristické rovnice rozpojeného systému G 0 = G s * G r G 0 = r0 /(s 3 + 3s 2 + 2s) Char.rov = s 3 + 3s 2 + 2s + r0 = 0 c) Výpočet r 0k z char. rovnice d) Kritická perioda kmitů Rovnat nule se musí reálná i imaginární část T k = 2*pi/ω T k = 4,44s Gr = e) Ing. Petr Pokorný 36/40 6AA
Příklad 4.4: Metodou kritického zesílení (Z-N metodou) vypočtěte optimální seřízení regulátor PID pro soustavu s přenosem. Po výpočtu konstant regulátoru ověřte, zda je regulace stabilní. Výpočty ověřte v Matlabu: Řešení: a) Výpočet rozpojeného obvodu G 0 (s) = G r (s)*g s (s) = M(s)/N(s); G 0 (s) = r 0 * s + r 0 / s(2s+1)(3s+1) b) G(r) = (r 0 *Ti*Td*s 2 + r 0 *Ti*s + r 0 ) / Ti*s c) Carakteristická rovnice reg. obvodu: M(s) + N(s) = 0 r 0 * s + r 0 + s(2s+1)(3s+1) = 0 6s 3 + 5s 2 + s(r 0 + 1) + r 0 = 0 d) Zjištění zesílení na mezi stability r 0k, dle Hurwitzova kritéria (Hurwitzův determinant je roven nule: H 2 = 0) Ing. Petr Pokorný 37/40 6AA
H2 = [ 5, r 0 ; 6, r 0 +1 ] = 0 => r 0k = 5 e) na mezi stability má charakteristická rovnice dvojici ryze imaginárních komplexně sdružených kořenů s 1,2 = ± jω krit, určíme ω krit dosazením r 0krit a s 1,2 do charakteristické rovnice. Reálná část a imaginární část charakteristické rovnice se musí rovnat nule. RE: o2 = 1 ; o1 = -1 IM: o2 = 1 ; o1 = -1 ; RE = 0 => ω 1krit ; IM = 0 => ω 2krit ; f) Tkrit = 2π / ω 1krit g) 21. Poloha pólů a nul přenosu V levé komplexní polorovině jsou stabilní póly a nuly V pravé polorovině jsou nestabilní póly a nuly Stabilní nula způsobuje překmit a nestabilní nula způsobuje podkmit. Ing. Petr Pokorný 38/40 6AA
Stabilita systému: Dynamický systém je stabilní, když všechny jeho póly mají zápornou reálnu část. Systém je na hranici stability, když má alespoň jeden pól s nulovou reálnou částí. Systém je nestabilní, když má alespoň jeden pól s kladnou reálnou částí. Periodicita: Systém je periodický (kmitavý), když má komplexní póly Pokud má systém jen reálné póly, potom je aperiodický (nekmitavý). Jiné vlastnosti: čím jsou póly dále od imaginární osy, tím je přechodový děj více tlumen a tím je kratší nuly blíže k imaginární ose než póly => převládá derivační složka póly v počátku => integrační charakter systému nuly v počátku => derivační charakter systému Ing. Petr Pokorný 39/40 6AA
Vykreslení pólů a nul v Matlabu: pzmap(a,b) kde a,b - jsou řádkové vektory obsahující koeficienty čitatele resp. jmenovatele přenosové funkce Zjištění pólů a nul ze systému v Matlabu: [nuly, poly, k] = tf2zp(a,b) kde nuly - řádkový vektor reprezentující nuly přenosu soustavy poly - řádkový vektor reprezentující póly přenosu soustavy koef - koeficient, číslo kterým je násoben zlomek ve vyjádření přenosu b m /a n a,b - jsou řádkové vektory obsahující koeficienty čitatele resp. jmenovatele přenosové funkce 22. Kritéria stability a. Nyquistovo kritérium Regulační obvod je stabilní, jestliže kritický bod [-1, 0] leží vlevo od frekvenční charakteristiky rozpojeného obvodu G 0 (jω) pro frekvence ω od 0 do +inf Ing. Petr Pokorný 40/40 6AA