PLC Sekvenční logika
RS Klopný obvod (paměť) Přivedením log. 0 na vstup S (set) se nastaví Q = 1 Q zůstane 1 i po změně vstupu S na log.1 (pamatuje si stav) Přivedením log. 0 na vstup R (reset) se nastaví Q = 0 Q zůstane 0 i při změně vstupu R na log. 1
Instrukce SET a RES Funkci RS obvodu by šlo realizovat programem, ale jsou k dispozici přímo instrukce jako např. SET a RES SET – podmíněné nastavení proměnné na log 1 (pokud je v zásobníku nenulová hodnota RES – podmíněné nastavení na log 0 (pokud je v zásobníku nenulová hodnota) LD prom SET stav
Příklad 1 - Zadání Ovládání motoru tlačítky Stisknutím tlačítka START se zapne motor. Po uvolnění tlačítka zůstane zapnutý. Tlačítkem STOP se vypne. V programu definujte také výstup pro rozsvícení kontrolky „zapnuto“ (přidejte na panel příslušný objekt).
Řešení příkladu 1 - program Použité proměnné: zap, vyp – vstupy od tlačítek START a STOP pom_zap – simuluje kontrolku signalizující zapnutý stav
Příklad 1 - panel Na panelu bude: Tlačítka Start a Stop napojená na proměnné zap a vyp. „kontrolka“ signalizující stav motoru napojená na proměnnou pom_zap. Jméno: zap Text v 1: Stisk Text v 0: Nestisk Jméno: pom_zap Text v 1: Sviti Text v 0: nesviti Chráněná: Ano
Příklad 1 – spuštění programu V menu Program klepněte na Přeložit. Překlad by měl proběhnout bez chyb. V menu PLC klepněte na Run. Odpovězte Ano na dotaz zda vyslat kód. Zvolte např. Studený pro typ restartu PLC. Nyní uvidíte, že panel zobrazuje výchozí hodnoty proměnných, které jsme zadali v polích „hodnota pro nastavení“. Poklepejte na tlačítko START. Rozsvítí se kontrolka. Tlačítko nezůstane „stisknuté“, protože program jej okamžitě resetuje (instrukce res zap), kontrolka ale svítí.
Příklad 1 - Úkoly Rozšiřte program následovně: Přidejte „motor“, který se bude zapínat a vypínat Přidejte vypínač „Central Stop“, jehož stisknutím se vše vypne. Aby bylo možno motor znovu zapnout, musí se nejprve tento vypínač deaktivovat – dalším poklepáním myší Nápověda: LD central RES motor ; atd. vypnutí kontrolky, reset tlačítek start… JMD konec ; původní kód ;ovládání tlačítky konec: E 0 Nová instrukce: JMD – skok, když na vrcholu zásobníku je nenulová hodnota.
Úkol 2 - vozíček Vytvořte program pro řízení vozíku jeřábu: Vozík je poháněn dvěma motory, jedním pro pohyb vlevo a druhým pro pohyb vpravo (motorl, motorp). Poloha vozíku je simulována číslem 0 až 10, kde 0 = zcela vlevo; 10 = zcela vpravo. Po dojetí do krajní polohy se vozík musí zastavit V nápovědě Mosaic se podívejte na instrukce: INR DCR EQ GT LT JMD JMC Vyjděte z příkladu 1 Přidejte spínače pro nastavení směru. Stiskem se nastaví směr. Po stisku START pak vozík jede nastaveným směrem
Úkol 2 - nápověda #reg byte pozice #reg bit motorp, motorl #def vpravo X0.3 #def vlevo X0.4 Kód zapnutí motorů P 0 ; Zde kód z příkladu 1, který nastaví pom_zap po stisku tlač. Start ; Pokud jsou stisknuty oba směry současně, přednost má vpravo ld vpravo and vlevo ; pokud obě res vlevo ; resetuje směr vlevo, ponechá vpravo ; pokud neni zapnuto, nebo není ani jeden směr, oba motory zastavit ldc pom_zap ldc vlevo anc vpravo or res motorp res motorl jmd konec ; pokud je zapnuto, zapnout motor příslušného směru... ld pom_zap and vpravo; pokud zapnuto a směr vpravo set motorp; zapni pravý motor a… res motorl; …vypni levý ; totéž pro levý motor... konec: ; navestí od vyhodnocení central stop na začátku programu E 0 Nové proměnné: vlevo, pravo – spínače směru motorp, motorl – simulace motorů
Úkol 2 – simulace pohybu vozíku P 6 LDC motorp ANC motorl JMDKonec6; nejede-li ani jeden motor… LD motorp JMD roste LD pozice; Pohyb VLEVO EQ 0; nemuze za levy okraj JMD Konec6 DCR pozice JMP Konec6 roste: ; Pohyb VPRAVO LD pozice GT 9; test praveho okraje JMD Konec6 INR pozice Konec6: E 6 Poznámka P6 je program spouštěný s periodou 3,2 s Kód napsaný mezi P6 a E6 bude tedy proveden každé 3,2s. Další program: P5 – perioda 400 ms Kód pro posun vozíku Zvětšuje nebo zmenšuje obsah proměnné pozice podle toho, zda je zapnut levý nebo pravý motor.
Úkol 2 - panel Jméno: pozice Formát: bez znaménka Chráněná: Ano Jméno: vlevo Formát: bit Text v 1: Stisk Text v 0: Nestisk Jméno: motorp Formát: bit Text v 1: jede Text v 0: nejede Chráněná: Ano Jméno: motorl Formát: bit Text v 1: jede Text v 0: nejede Chráněná: Ano
Úkol 2 – spuštění programu Spusťte program Poklepáním na spínač směru zvolte směr vpravo. Spínač zůstane sepnutý Poklepejte na tlačítko Start. Pravý motor by se měl spustit. Obsah pozice se bude zvětšovat. Pozor, inkrementace je pomalá, hodnota se zvětší o 1 vždy po 3,2 s.
Konec