Start a stop motoru

O čem to je

Na každém stroji je zelené tlačítko START a červené STOP. Stiskneš START, motor se rozběhne a běží, i když tlačítko pustíš. Stiskneš STOP a motor se zastaví. Přesně tohle se v PLC naprogramuje během pár minut – a je to základ skoro každého programu.

Připomenutí: PLC je průmyslový řídicí počítač. Čte vstupy (tlačítka, snímače), vykoná program a podle výsledku nastaví výstupy (stykače, ventily, kontrolky).

Nové pojmy

Kontaktní schéma (LD, Ladder Diagram)Grafický jazyk pro PLC, který vypadá jako elektrické schéma s relé. Vlevo je „napájecí“ svislá čára, vpravo cívka. Když vede cesta přes kontakty, cívka je sepnutá.Řádek: kontakt START → cívka MOTOR.
Spínací kontakt (NO)V programu --| |--. Propustí signál, když je proměnná rovna 1.--| |-- START propustí, když je vstup START zapnutý.
Rozpínací kontakt (NC)V programu --|/|--. Propustí signál, když je proměnná rovna 0. Odpovídá logické negaci (NOT).--|/|-- PORUCHA propustí, dokud porucha není.
CívkaV programu --( )--. Zapíše do proměnné výsledek řádku: 1, když k ní vede cesta, jinak 0.--( )-- MOTOR zapne výstup motoru.
SamodrženíZapojení, kdy výstup „drží sám sebe“: kontakt výstupu je paralelně k tlačítku START, takže po puštění tlačítka cesta pořád vede.Motor běží dál i po puštění START.

Logika v kontaktech

FunkceJak se zapojí v LDVýsledek je 1, když…
AND (a zároveň)dva kontakty za sebou (sériově)oba propouštějí
OR (nebo)dva kontakty vedle sebe (paralelně)propouští aspoň jeden
NOT (negace)rozpínací kontaktproměnná je 0

Program start/stop krok za krokem

Tlačítko START (spínací v poli) připoj na vstup, např. %I0.0.
Tlačítko STOP zapoj ve skutečnosti jako rozpínací, na vstup %I0.1. Když není stisknuté, vstup je 1.
Řádek programu: kontakt START paralelně s kontaktem MOTOR (samodržení), za nimi sériově kontakt STOP, na konci cívka MOTOR %Q0.0.
STOP je v programu spínací kontakt --| |--: propouští, dokud vstup je 1, tedy dokud STOP nikdo nemačká.
Stisk STOP → vstup 0 → cesta se přeruší → motor stojí. Totéž se stane při přetržení vodiče.

Proč tak složitě? Kdyby STOP bylo spínací tlačítko a vodič se přetrhl, stisk STOP by nic neudělal a motor by nešel zastavit. Rozpínací STOP je bezpečný při poruše vodiče.

✗STOP tlačítko je rozpínací, tak ho i v programu nakreslím jako rozpínací kontakt --|/|--.
✓Fyzicky rozpínací STOP se v programu kreslí jako spínací kontakt --| |--.

Nestisknutý rozpínací STOP dává na vstup 1. Rozpínací kontakt v programu by pak cestu přerušil a motor by nešel nikdy spustit.

Priorita vypnutíKdyž jsou stisknuté START i STOP zároveň, motor musí stát. V našem řádku je STOP sériově za celou paralelní větví, takže vyhraje.Takovému zapojení se říká samodržení s přednostním vypnutím.

Časovače a čítače

Časovač TON (zpoždění zapnutí)Výstup Q se zapne, až když je vstup IN zapnutý nepřetržitě po nastavený čas PT. Při vypnutí IN se Q hned vypne.Ventilátor se zapne 5 s po zapnutí ohřevu.
Čítač CTU (čítání nahoru)Každá náběžná hrana na vstupu (změna 0 → 1) zvýší hodnotu CV o 1. Když CV dosáhne předvolby PV, výstup Q se zapne. Vstup R čítač vynuluje.Po 12 lahvích na dopravníku se zapne balicí stroj.
Napiš logiku: lis smí sjet, jen když obsluha drží obě tlačítka T1 a T2 a zároveň je zavřený kryt (snímač KRYT = 1).
Potřebuju AND všech tří. V LD dám tři spínací kontakty T1, T2, KRYT za sebe a na konec cívku LIS. Ve ST: LIS := T1 AND T2 AND KRYT;
Na dopravníku je snímač krabic. Po 10 krabicích má zablikat kontrolka a čítač se vynuluje tlačítkem RESET. Co nastavíš?
Použiju CTU: vstup CU = snímač krabic, PV = 10, R = tlačítko RESET. Výstup Q (zapne se při CV = 10) vede na kontrolku. Čítač počítá jen náběžné hrany, takže jedna krabice se nezapočítá víckrát.
V LD: sériově = AND, paralelně = OR, rozpínací kontakt = NOT. Start/stop se dělá samodržením se STOP sériově (přednost vypnutí); fyzicky rozpínací STOP je v programu spínací kontakt. TON zpožďuje, CTU počítá.

Jazyky a bloky

O čem to je

Recept na bábovku můžeš zapsat větami, nakreslit jako obrázkový návod nebo jako tabulku kroků. Program pro PLC se také dá zapsat několika způsoby. Mezinárodní norma říká, které to jsou, aby se programátoři domluvili napříč výrobci.

Připomenutí: PLC je průmyslový řídicí počítač, který v cyklu čte vstupy, vykonává program a zapisuje výstupy.

Nové pojmy

IEC 61131-3Mezinárodní norma pro programovací jazyky PLC. Používá ji Siemens, B&R, Beckhoff, Rockwell i další výrobci (s vlastními drobnými odchylkami).Program v ST z jednoho prostředí se dá často s malými úpravami přenést jinam.
Proměnná typu BOOLProměnná, která má jen hodnotu TRUE (1) nebo FALSE (0).Motor : BOOL;
Funkční blokHotová „krabička“ s vstupy a výstupy, která si pamatuje svůj stav mezi cykly. Patří sem časovače, čítače a klopné obvody.Blok TON má vstupy IN, PT a výstupy Q, ET.
Náběžná hranaOkamžik, kdy se signál změní z 0 na 1. Sestupná hrana je změna z 1 na 0.Stisk tlačítka = náběžná hrana, puštění = sestupná.

Pět jazyků normy

ZkratkaNázevJak vypadáKdy se hodí
LDkontaktní (žebříčkové) schémakontakty a cívkybitová logika, pro elektrikáře
FBDschéma funkčních blokůbloky AND, OR spojené čaramilogika, regulace
STstrukturovaný texttext podobný Pascaluvýpočty, smyčky, složité algoritmy
ILseznam instrukcířádky jako assemblerzastaralý, v nové verzi normy (2013) vyřazen
SFCsekvenční funkční diagramkroky a přechodypostupné děje, sekvence
  • AND v LD – kontakty v sérii
  • OR v LD – kontakty paralelně
  • NOT v LD – rozpínací kontakt --|/|--
  • SR – klopný obvod s převahou nastavení (SET)
  • RS – klopný obvod s převahou nulování (RESET)
  • TOF – zpoždění vypnutí

Než budeš číst dál, otoč si kartičky a zkus si odpověď říct nahlas.

Klopné obvody SR a RS

Klopný obvod (bistabilní prvek)Funkční blok, který si pamatuje stav. Vstup S (set) ho nastaví na 1, vstup R (reset) na 0. Když jsou oba 0, drží poslední stav.Náhrada samodržení: S = START, R = STOP.

Co když jsou S i R současně 1? U bloku SR vyhraje nastavení (výstup 1), u bloku RS vyhraje nulování (výstup 0). Pro STOP motoru se volí RS, protože vypnutí musí mít přednost.

Časovače a čítače

BlokCo dělá
TONzpoždění zapnutí: Q = 1, až IN trvá déle než PT
TOFzpoždění vypnutí: Q = 1 hned s IN, vypne se až PT po vypnutí IN
TPimpulz: náběžná hrana IN vyrobí na Q impulz délky PT
CTUčítá nahoru; Q = 1, když CV ≥ PV; R nuluje
CTDčítá dolů; LD nahraje PV do CV; Q = 1, když CV ≤ 0
Ventilátor má po vypnutí stroje dobíhat ještě 30 s. Který časovač použiješ a jak ho nastavíš?
Potřebuju, aby výstup zůstal zapnutý ještě nějakou dobu po vypnutí vstupu. To je TOF: IN = stroj běží, PT = T#30s, Q = ventilátor.
Ve ST zapiš start/stop motoru, kde STOP_OK je 1, když STOP není stisknuté.
Motor := (Start OR Motor) AND STOP_OK; Závorka je paralelní větev se samodržením, AND se STOP_OK je sériový kontakt. Když STOP_OK = 0, výsledek je 0 bez ohledu na START – vypnutí má přednost.
✗TON a TOF dělají totéž, jen se jinak jmenují.
✓TON zpožďuje zapnutí výstupu, TOF zpožďuje jeho vypnutí.

U TON výstup čeká po zapnutí vstupu. U TOF výstup sepne hned a čeká až po vypnutí vstupu.

IEC 61131-3 má jazyky LD, FBD, ST, SFC a vyřazený IL. Paměť stavu dávají funkční bloky: SR (přednost set), RS (přednost reset), časovače TON, TOF, TP a čítače CTU, CTD.