Stáhnout zde

Transkript

Stáhnout zde
Příklady PLC - učitel
Autoři: Ing. Josef Kovář
Ing. Zuzana Prokopová
Ing. Ladislav Šmejkal, CSc.
Partneři projektu:
Rostra s.r.o.
Trimill, a.s.
Výukový materiál byl vytvořen v rámci projektu „Implementace programování PLC automatů dle evropské normy IEC 61 131 do výuky
žáků středních škol“, reg. č. CZ.1.07/1.1.08/01.0016.
Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.
Příklady PLC
-2-
1. příklad: Signál STOP
Kontrolka svítí v případě, že není stisknut spínač STOP.
PROGRAM prgMain
VAR_INPUT
END_VAR
VAR
Spinac : BOOL;
Stop : BOOL;
END_VAR
VAR_OUTPUT
END_VAR
VAR_TEMP
END_VAR
Spinac := not Stop;
END_PROGRAM
2. příklad: Hlídání skladů
a) Siréna zazní v případě, že jeden nebo druhý senzor přítomnosti dává při poplachu signál l.
b) Siréna zazni v případě, že jeden nebo druhý senzor přítomnosti dává při poplachu signál 0.
c) Siréna zazní v případě, že jeden i druhý senzor přítomnosti dává při poplachu signál l.
d) Siréna zazní v případě, že jeden i druhý senzor přítomnosti dává při poplachu signál 0.
3. příklad: Plnění nádrží
a) Tři nádrže jsou napouštěny nezávisle na sobě. Navrhněte bezpečnostní obvod, který vytvoří signál H
v případě, že některý snímač maximální výše hladiny dá při zaplavení signál l.
Příklady PLC
-3-
b) Tři nádrže jsou napouštěny nezávisle na sobě. Navrhněte bezpečnostní obvod, který vytvoří signál H
v případě, že některý snímač maximální výše hladiny dá při zaplavení signál 0.
c) Tři nádrže jsou propojeny do společné výpusti. Stav každé nádrže je hlídán senzorem, který
v přítomnosti kapaliny dává log. l. Navrhněte obvod, který bude signalizovat, že už zbývá jen jedna plná nádrž.
Příklady PLC
-4-
Řešení příkladu 3c) ve strukturovaném textu:
PROGRAM prg3c
VAR_INPUT
END_VAR
VAR
snimac1 : BOOL;
snimac2 : BOOL;
snimac3 : BOOL;
sirena : BOOL;
END_VAR
VAR_OUTPUT
END_VAR
VAR_TEMP
END_VAR
sirena:= (snimac1 and not snimac2 and not snimac3)or
(not snimac1 and snimac2 and not snimac3)or
(not snimac1 and not snimac2 and snimac3);
END_PROGRAM
4. příklad: Bezpečnostní tlačítka
Hlavní stykač odpadne v případě, že je stisknuto kterékoliv z bezpečnostních tlačítek B1, B2, B3.
PROGRAM treti
VAR_INPUT
END_VAR
VAR
BT1 : BOOL;
BT2 : BOOL;
BT3 : BOOL;
HlSt : BOOL;
END_VAR
VAR_OUTPUT
END_VAR
VAR_TEMP
END_VAR
ld
or
or
st
BT1
BT2
BT3
HlSt
END_PROGRAM
Příklady PLC
-5-
5. příklad: Signalizace výšky hladiny
Výška hladiny je snímána dvěma senzory - horním SH a dolním SD , které dávají logickou 1 v případě detekce
vody. Navrhněte logické funkce, které budou rovny jedné v případě:
a) YN - v nádrži poklesla voda pod dolní senzor, horní indikuje stav bez vody
b) YP - oba senzory indikují vodu
c) YS - hladina je mezi oběma senzory
d) YE - horní senzor indikuje vodu, dolní nikoliv
6. příklad: Ovládání lisu
Elektropneumatický ventil, ovládající lis, dostane signál l pro spuštění lisu v případě, že:
a) jsou stisknuta obě tlačítka ručního ovládání nebo právě dva ze tří senzorů přísunu materiálu indikují
přítomnost materiálu (log. l)
b) jsou stisknuta obě tlačítka obouručního ovládání a zároveň senzor přítomnosti polotovaru dává signál l
nebo právě dva ze tří senzorů přísunu materiálu indikují přítomnost materiálu (log. l)
Příklady PLC
-6-
7. příklad: Ovládání tisku
Tiskárna vydá signál l, jestliže senzor přítomnosti papíru dává log. l a současně není aktivní signál Pause.
8. příklad: Chod tří ventilátorů
Navrhněte a realizujte logickou funkci pro signalizaci chodu tří ventilátorů. Signalizace svítí:
a) je-li v chodu právě jeden (libovolný) ventilátor ze tří
b) jsou-li právě dva libovolné ventilátory v chodu
c) jsou-li v chodu nejméně dva ventilátory
Řešení příkladu 8b), 8c) pomocí kontaktních schémat
9. příklad:
a) Ovládání světla ze dvou míst
Navrhněte obvod pro ovládání světla ze dvou míst A, B.
Příklady PLC
-7-
b) Ovládání světla ze tří míst
Navrhněte obvod pro ovládáni světla ze tři míst A, B, C. (Funkci vyjádřete také pomocí XOR).
10. příklad: Kodér
Navrhněte převodník binárního kódu v rozsahu 0-3 na kód jedna ze čtyř, který má dva vstupy A,A() a čtyři
výstupy Y3Y2Y,Yo, z nichž je vždy právě jeden roven log. l.
11. příklad:
Elektrický motor pracuje je-li současně zapnut hlavní vypínač (a) a zároveň osvětlení stroje (b) a není
současně buď nízký stav oleje (c) v převodovce nebo rozpojená spojka (d).
12. příklad:
Petr (z) je vždy doma, když prší (a) a nemá deštník (b) nebo když je zajímavý televizní program (c) a má
čokoládu.
13. příklad:
Žárovku lze rozsvítit není-li vypnut vypínač C a vypínač D a je-li současně sepnut vypínač A nebo B.
14. příklad:
Kabinka ve výtahu se pohybuje jestliže v kabince je alespoň jedna osoba A a sepnutím tlačítka B v kabince
dá povel k spuštění motoru, nebo když není v kabince osoba A a někdo sepnutím tlačítka C výtah přivolá.
Příklady PLC
-8-
15. příklad: Ovládání světel auta
Navrhněte zapojení spínačů světel v osobním automobilu. V autě jsou čtyři spínače: pro zapínání světel: OB
(obrysová), DT (dálková/tlumená), PM (přední mlhovky), ZM (zadní mlhovky). Dále jeden spínač PDT na
přepínání tlumená/dálková světla. Spínače ovládají světla obrysová YOB , tlumená YT, dálková YD, přední
mlhovky YPM, zadní mlhovky YZM. Žádná světla nelze rozsvítit bez zapnutí obrysových světel, zadní mlhovky
lze rozsvítit jen současně s předními, přední mlhovky lze rozsvítit i bez dálkových či tlumených světel.
Varianta pro pokročilé: ve skutečném autě je navíc další spínač pro ovládání světelné houkačky (dálková
světla), která musí fungovat nezávisle na všech spínačích.
16. příklad: Nápojový automat - verze l
Navrhněte a realizujte logickou funkci pro ovládáni nápojového automatu. Stroj obsahuje tyto volby a
signály:
- signál MINCE ze senzoru, je roven l v případě vhození správné mince
- tlačítka VODA, SIRUP, BUBLINKY, při stisku dávají logickou jedničku (s vodou je možno chtít pouze sirup,
bublinky, nebo sirup a bublinky)
- výstupní signály: YK - signál pro spuštění kelímku, YV - ventil pro vodu, YS - dávkování sirupu, YB - ventil pro
kysličník uhličitý (bublinky).
Pozn.: Stroj nesmí reagovat na nesmyslnou kombinaci, např. není MINCE a chceme VODU.
17. příklad: Nápojový automat - verze 2
Navrhněte a realizujte logickou funkci pro ovládání nápojového automatu. Stroj obsahuje tyto volby a
signály:
- signál MINCE ze senzoru, je roven l v případě vhození správné mince
- tlačítka VODA, SIRUP, BUBLINKY, při stisku dávají logickou jedničku (s vodou je možno chtít pouze sirup,
bublinky, nebo sirup a bublinky)
- senzory pro kontrolu přítomnosti vody SV, sirupu SS , plynu SP , kelímků SK
- výstupní signály: Y)( - signál pro spuštění kelímku, Yv - ventil pro vodu, Ys - dávkování sirupu, Yg - ventil pro
kysličník uhličitý, vrácení mince Yp,.
Stroj nesmí reagovat na nesmyslnou kombinaci, např. není MINCE a chceme VODU, ani na požadavek, který
není možno splnit z důvodu chybějící položky, např. plynu. V tom případě je vydán signál pro vrácení mince
Y„,.
18. příklad:
Sestavte dekodér z kódu BCD na 7-segmentový display.
Příklady PLC
-9-
PROGRAM prgMain
VAR_INPUT
END_VAR
VAR
kody : ARRAY [0..9] OF BYTE := [16#3f,16#06,16#5b,16#4f];
cislo : BYTE;
segment : BYTE;
ukazatel : INT;
END_VAR
VAR_OUTPUT
END_VAR
VAR_TEMP
END_VAR
ukazatel:=byte_to_int(cislo); //převedení čísla na typ INT
segment := kody[ukazatel];
END_PROGRAM
19. příklad:
Navrhněte čítač, který čítá do 60. Při této hodnotě se rozsvítí dioda a po 5 sekundách se vypne. Tento děj
se stále opakuje.
PROGRAM treti
VAR_INPUT
END_VAR
VAR
BT1 : BOOL;
BT2 : BOOL;
HlSt : BOOL;
citej : INT;
citac : CTU;
zapni : SR;
END_VAR
VAR_OUTPUT
END_VAR
VAR_TEMP
END_VAR
cal citac( CU:=s13_2, R:=BT1, PV:=20, Q=>BT1, CV=>citej)
ld
citej
eq 5
jmpcn pokr
ld
true
st
BT2
jmp delej
pokr:
ld
false
Příklady PLC
- 10 -
st
BT2
delej:
cal zapni( S1:=BT1, R:=BT2, Q1 =>HlSt)
END_PROGRAM
20. příklad:
Navrhněte stopky, které čítají od 0 do 59. Do obvodu navrhněte 2 tlačítka, kde první bude sloužit
k zastavení a spuštění stopek a druhé k jejich nulování.
Funkční blok T klopný obvod
21. příklad:
Navrhněte čítač, který : při 4 rozsvítí diodu č. 1 a při 8 ji zhasne, při 3 rozsvítí diodu č. 2 a při 9 ji zhasne,
svítí-li obě diody, rozsvítí se dioda č. 3.
22. příklad:
Navrhněte obvod, ve kterém se bude měnit frekvence blikání diody. Po 4. bliknutí se sníží frekvence 2*, po
9. se sníží 4*. Po 11. bliknutí se nastaví původní frekvence. Obvod je možné zastavit pomocí tlačítka.
23. příklad:
Navrhněte čítač, který čítá do 99. Dále navrhněte druhý čítač, který zvýší svoji hodnotu vždy, když se na
prvním čítači objeví 6 (výsledek je 11).
24. příklad:
Navrhněte 8 kanálový multiplexer, který automaticky přepíná vstupy na jeden výstup. K výstupu je
připojena LED dioda.
25. příklad:
Navrhněte program, který bude postupně dokola spínat 8 výstupů (rotace jedna diody).
Řešení na straně 15
Příklady PLC
Řešení příkladu 21 v jazyce LD
- 11 -
Příklady PLC
Řešení příkladu 22 v jazyce LD
- 12 -
Příklady PLC
Řešení příkladu 23 v jazyce LD
- 13 -
Příklady PLC
- 14 -
Řešení přikladu 24 v jazyce LD
Funkční blok pro 8-kanálový multiplexer
VAR_GLOBAL
s16_0 AT %s16.0 : BOOL;
s16_1 AT %S16.1 : BOOL;
s16_2 AT %S16.2 : BOOL;
END_VAR
Příklady PLC
- 15 -
Řešení příkladu 25 v jazyce LD
Řešení příkladu 25 v jazyce LD s využitím procesu P5 (nejdříve musíme definovat úlohu s procesem P5)
26. příklad: Ovládání výtahu
Motor výtahu se rozběhne v případě, že stiskneme některé ze tří tlačítek T1, T2 , T3 výběru patra, není-li
přitom stisknuto tlačítko STOP a dává-li snímač zavření dveří D signál l.
27. příklad:
Navrhněte obvod pro ovládání 3 dopravních pásů dopravní linky. Každý pás bude ovládán samostatně
pomocí tlačítka START a STOP. Obvod musí zajistit blokování dopravníků tak, aby zadní dopravníky nešly
spustit, pokud neběží dopravníky přední. Při vypnutí předního dopravníku se musí zadní dopravníky
zastavit.
Příklady PLC
- 16 -
3
28. příklad:
Sestavte schéma pro ovládání 2 elektromotorů tak, že pouze jen jeden z nich smí být v provozu. K ovládání
každého elektromotoru slouží dvě tlačítka.
Příklady PLC
- 17 -
29. příklad:
Navrhněte obvod pro ovládání elektromotoru, který se uvádí do chodu stiskem tlačítka START. Motor se
zastavuje pomocí dvou koncových spínačů A a B. K zastavení dojde pouze v případě, kdy se sepne nejprve
spínač A a následně spínač B.
Spínač A
Spínač B
30. příklad:
Navrhněte obvod pro ovládání elektromotoru, který se uvádí do chodu stiskem tlačítka START. Motor se
zastavuje pomocí dvou koncových spínačů A a B. K zastavení dojde pouze v případě, kdy se sepne nejprve
spínač A, následně spínač B.
Spínač A
Spínač B
Příklady PLC
- 18 -
Funkční blok pro D-KO (jsou úmyslně uvedeny dvě možnosti řešení – jiná pro SET a jiná pro RESET)
31. příklad:
Navrhněte obvod pro ovládání motoru s přepínáním HVĚZDA – TROJÚHELNÍK.
Pro ovládání se používají tlačítka A – rozběh do hvězdy, B – chod v trojúhelníku. Pro vypnutí tlačítko S.
Princip činnost:
Po stisku tlačítka A se sepne stykač pro zapnutí do hvězdy. Do trojúhelníku lze motor přepnout až po
vypnutí hvězdy tlačítkem S, kterým lze kdykoliv vypnout oba stykače. Podmínkou pro chod v trojúhelníku je
rozběhnutí motoru do hvězdy. Pokud motor běží v trojúhelníku, nelze jej tlačítkem B přepnout do hvězdy.
32. příklad:
Postupné spínání elektromotorů. Máme 4 elektromotory, které se spínají jeden za druhým vždy po časové
prodlevě 2s. Princip činnosti:
Sekvence zapínání začne po stisku tlačítka START. Každý z motorů se dá samostatně vypnout tlačítkem
STOP1 až STOP4. Protože je chod motorů na sobě navzájem závislý, musí při vypnutí jednoho z motorů dojít
i k vypnutí motorů následujících. (Např.: při vypnutí motoru 2 se musí vypnout i motory 3 a 4.)
Příklady PLC
- 19 -
Příklady PLC
- 20 -
33. příklad:
Zapínání elektromotoru přepínačem hvězda trojúhelník. Zapnutí a vypnutí řešte pomocí dvojtlačítka.
Princip činnosti:
Po stisku tlačítka START se sepne 1. stykač (pro hvězdu). Po rozběhu motoru (5s) se odpojí a po uplynutí 2s
se zapne 2. stykač (pro trojúhelník). Motor se vypíná tlačítkem STOP. Pokud je sepnutý 2. stykač, je 1.
stykač blokovaný – nelze jej sepnout. Celou sekvenci je možné opakovat.
34. příklad:
Reverzace motoru s časovou prodlevou. Pro zapnutí slouží tlačítka VPŘED a VZAD. Pro vypnutí tlačítko
STOP. Princip činnosti:
Po stisku VPŘED se sepne 1. stykač a motor běží směrem vpřed. Pokud je stisknuto tlačítko VZAD, 1. stykač
se rozpojí, ale 2. stykač pro zpětný chod lze zapnout až po 5s, kdy se předpokládá, že se motor již neotáčí.
Motor lze kdykoliv vypnout tlačítkem STOP. Celá sekvence platí i pro chod opačný.
35. příklad:
Reverzace motoru s časovou prodlevou. Pro zapnutí slouží tlačítka VPŘED a VZAD. Pro vypnutí tlačítko
STOP. Princip činnosti:
Po stisku VPŘED se sepne 1. stykač a motor běží směrem vpřed. Pokud je stisknuto tlačítko VZAD, 1. stykač
se rozpojí, ale 2. stykač pro zpětný chod se sám sepne až po 5s, kdy se předpokládá, že se motor již neotáčí.
Motor lze kdykoliv vypnout tlačítkem STOP. Celá sekvence platí i pro chod opačný.
Příklady PLC
Řešení příkladu 34 v jazyce LD
- 21 -
Příklady PLC
- 22 -
Řešení příkladu 35 v jazyce LD
36. příklad:
Zapínání elektromotoru přepínačem hvězda trojúhelník s reverzací. Pro zapnutí slouží tlačítka VPŘED a
ZPĚT. Pro vypnutí tlačítko STOP. Princip činnosti:
Příklady PLC
- 23 -
Po stisku tlačítka VPŘED se sepne 1. stykač (pro hvězdu). Po rozběhu motoru (5s) se odpojí a po uplynutí 2s
se zapne 2. stykač (pro trojúhelník). Pokud je stisknuto tlačítko ZPĚT, 2. stykač se rozpojí, ale 3. stykač pro
zpětný chod (pro hvězdu) se sepne až po 5s, kdy se předpokládá, že se motor již neotáčí. Po rozběhu
motoru (5s) se odpojí a po uplynutí 2s se zapne 4. stykač (pro trojúhelník). Motor lze kdykoliv vypnout
tlačítkem STOP. Celá sekvence platí i pro chod opačný.
(Fl_1 = 1 or Vpred = 0)
and
Fl_0 = 0
(Fl_1 = 0 and Vpred = 1)
or
Fl_0 = 1
T > 5s
T < 5s and Stop = 0
Fl_0 := 1, Hv_0 := 1
20
21
(Fl_1 := 1 , Fl_0: = 0
T > 5s
T < 5s
24
(Fl_1 := 0 , Fl_0: = 0
Tr_0 := 0, Hv_0 := 0
Stop= 1
Stop= 1
Hv_0 := 0
RAF_0
Tr_0 := 0
23
22
Vzad = 1
Tr_0 := 1
Vzad = 0 and Stop = 0
(Fl_0 = 1 or Vzad = 0)
and
Fl_1 = 0
T > 5s
T > 2s
(Fl_0 = 0 and Vzad = 1)
or
Fl_1 = 1
T < 2s
T < 5s and Stop = 0
Fl_1 := 1, Hv_1 := 1
30
31
(Fl_0 := 1 , Fl_1: = 0
T > 5s
T < 5s
34
Stop= 1
(Fl_0 := 0 , Fl_1: = 0
Tr_1 := 0, Hv_1 := 0
Stop= 1
Hv_1 := 0
RAF_1
Tr_1 := 0
33
32
Vpred = 1
Tr_1 := 1
Vpred = 0 and Stop = 0
T > 2s
T < 2s
Deklarace globální proměnné pro využití registru S16:
VAR_GLOBAL
s_16 AT %s16 : INT;
END_VAR
// motory se dají vypnout kdykoliv
// reverzace je možná až po přepnutí do trojúhelníku
Příklady PLC
PROGRAM prgPrikl39
VAR_INPUT
END_VAR
VAR
Vpred : BOOL;
Vzad : BOOL;
Stop : BOOL;
Fl_0 : BOOL;
Fl_1 : BOOL;
Tr_0 : BOOL;
Tr_1 : BOOL;
Hv_0 : BOOL;
Hv_1 : BOOL;
RAF_0 : INT := 20;
RAF_1 : INT := 30;
Time_0 : INT;
Time_1 : INT;
END_VAR
VAR_OUTPUT
END_VAR
VAR_TEMP
END_VAR
CASE RAF_0 OF
20 : IF ((Fl_1 = false and Vpred = true) or (Fl_0 =
true))
THEN
Hv_0 := true; Fl_0 := true;
Time_0 := S_16 + 5;
RAF_0 := 21;
END_IF;
21 : IF (S_16 > Time_0)
THEN
Hv_0 := false;
Time_0 := S_16 + 2;
RAF_0 := 22;
END_IF;
IF (Stop = true)
THEN
RAF_0 := 23;
END_IF;
22 : IF (S_16 > Time_0)
THEN
Tr_0 := true;
RAF_0 := 23;
END_IF;
23 : IF (Stop = true)
THEN
Hv_0 := false; Tr_0 := false;
Fl_0 := false; Fl_1 := false;
RAF_0 := 20;
ELSE
IF (Vzad = true)
THEN
- 24 Tr_0 := false;
Time_0 := S_16 + 5;
RAF_0 := 24;
END_IF;
END_IF;
24 : IF (S_16 > Time_0)
THEN
Fl_0 := false; Fl_1 := true;
RAF_0 := 20;
END_IF;
END_CASE;
CASE RAF_1 OF
30 : IF ((Fl_0 = false and Vzad = true) or (Fl_1 = true))
THEN
Hv_1 := true; Fl_1 := true;
Time_1 := S_16 + 5;
RAF_1 := 31;
END_IF;
31 : IF (S_16 > Time_1)
THEN
Hv_1 := false;
Time_1 := S_16 + 2;
RAF_1 := 32;
END_IF;
IF (Stop = true)
THEN
RAF_0 := 33;
END_IF;
32 : IF (S_16 > Time_1)
THEN
Tr_1 := true;
RAF_1 := 33;
END_IF;
33 : IF (Stop = true)
THEN
Hv_1 := false; Tr_1 := false;
Fl_0 := false; Fl_1 := false;
RAF_1 := 30;
ELSE
IF (Vpred = true)
THEN
Tr_1 := false;
Time_1 := S_16 + 5;
RAF_1 := 34;
END_IF;
END_IF;
34 : IF (S_16 > Time_1)
THEN
Fl_1 := false; Fl_0 := true;
RAF_1 := 30;
END_IF;
END_CASE;
END_PROGRAM
Příklady PLC
- 25 -
37. příklad:
Postupné zapínání 4 elektromotorů přepínačem hvězda trojúhelník. Zapnutí a vypnutí řešte pomocí
tlačítek START a STOP. Princip činnosti:
Po stisku tlačítka START se sepne 1. stykač (pro hvězdu). Po rozběhu motoru (5s) se odpojí a po uplynutí 2s
se zapne 2. stykač (pro trojúhelník). Po časové prodlevě 1s se vždy stejným způsobem zapíná další motor.
Motory se vypínají tlačítkem STOP
Graf pro sepnutí jednoho motoru
Deklarace struktury
TYPE
Motor_struct:
STRUCT
StHv : BOOL;
StTr : BOOL;
Del : BOOL;
END_STRUCT;
END_TYPE
Vst = 1
Vyst_0 := 1
20
21
RAF
T > 2s
VAR_GLOBAL
S_16 AT %S16 : INT;
Stop : BOOL;
END_VAR
Funkční blok pro
jednoho motoru
T < 5s
Vst = 0
T > 5s
Vyst_0 := 0
Uz := 1
23
22
Vyst_1 := 1
sepnutí
FUNCTION_BLOCK Zapni
VAR_INPUT
vst : BOOL;
END_VAR
VAR
RAF : INT := 20;
Time_0 : INT;
END_VAR
VAR_OUTPUT
vyst_0 : BOOL;
vyst_1 : BOOL;
Uz : BOOL;
END_VAR
VAR_TEMP
END_VAR
IF Stop
// vypnutí motorů
THEN
vyst_0 := false;
vyst_1 := false;
T < 2s
T > 2s
T < 2s
RAF := 20; //nastavení poč. sekvence
END_IF;
Uz := false;
CASE RAF OF
20 :
IF vst
THEN
vyst_0 := true;
Time_0 := S_16 + 5;
RAF := 21;
END_IF;
21 : IF (S_16 > Time_0)
THEN
vyst_0 := false;
Time_0 := S_16 + 2;
RAF := 22;
END_IF;
22 : IF (S_16 > Time_0)
THEN
vyst_1 := true;
Time_0 := S_16 + 2;
Příklady PLC
- 26 Uz := true;
END_IF;
END_CASE;
RAF := 23;
END_IF;
23 : IF (S_16 > Time_0)
THEN
RAF := 20;
PROGRAM prgPrikl37
END_FUNCTION_BLOCK
//program využívá funkční blok ZAPNI
VAR_INPUT
END_VAR
VAR
motor_0 : Zapni;
motor_1 : Zapni;
motor_2 : Zapni;
motor_3 : Zapni;
Start : BOOL;
StHv_0 : BOOL;
StTr_0 : BOOL;
Del_0 : BOOL;
StHv_1 : BOOL;
StTr_1 : BOOL;
Del_1 : BOOL;
StHv_2 : BOOL;
StTr_2 : BOOL;
Del_2 : BOOL;
StHv_3 : BOOL;
StTr_3 : BOOL;
Del_3 : BOOL;
i
: USINT;
motor : ARRAY [1..4] OF Motor_struct;
END_VAR
VAR_OUTPUT
END_VAR
VAR_TEMP
END_VAR
motor_0 (vst := Start, vyst_0 => StHv_0, vyst_1 => StTr_0, Uz => Del_0);
motor_1 (vst := Del_0, vyst_0 => StHv_1, vyst_1 => StTr_1, Uz => Del_1);
motor_2 (vst := Del_1, vyst_0 => StHv_2, vyst_1 => StTr_2, Uz => Del_2);
motor_3 (vst := Del_2, vyst_0 => StHv_3, vyst_1 => StTr_3, Uz => Del_3);
END_PROGRAM
Příklady PLC
PROGRAM prgPrikl37
VAR_INPUT
END_VAR
- 27 //jinou možností je využití struktury a příkazu FOR
VAR
motor_0 : Zapni;
mot : ARRAY [1..3] OF Zapni;
Start : BOOL;
i
: USINT;
motor : ARRAY [0..4] OF Motor_struct;
END_VAR
VAR_OUTPUT
END_VAR
VAR_TEMP
END_VAR
motor_0 (vst := Start, vyst_0 => Motor[0].StHv, vyst_1 => Motor[0].StTr, Uz => Motor[0].Del);
FOR i := 1 TO 3 DO
mot[i] (vst := Motor[i-1].Del, vyst_0 => Motor[i].StHv, vyst_1 => Motor[i].StTr, Uz => Motor[i].Del);
END_FOR;
END_PROGRAM
38. příklad:
Zapínání elektromotoru přepínačem hvězda trojúhelník s ručním přepínáním. Zapnutí a vypnutí řešte
pomocí tlačítek HVĚZDA, TROJÚHELNÍK, STOP. Princip činnosti:
Po stisku tlačítka HVĚZDA se sepne 1. stykač (pro hvězdu). Motor nejde přepnout do trojúhelníku. Musí se
nejprve vypnout tlačítkem STOP. Tlačítkem TROJÚHELNÍK lze zapnout 2. stykač (pro trojúhelník) jedině
v případě, pokud nejdříve byl sepnut 1. stykač a to do 5s. Motor se vypíná tlačítkem STOP. Celou sekvenci
je možné opakovat.
Hv = 0
Stop = 0
Hv = 1
St_0 := 1
20
21
RAF
Stop= 1
Stop = 1
St_0 := 0
St_1 := 0
T > 5s
23
22
St_1 := 1
Stop = 0
Tr = 1 and T <
T < 5s
Příklady PLC
- 28 -
PROGRAM prgPrikl38
VAR_INPUT
END_VAR
VAR
Stop : BOOL;
St_1 : BOOL;
Tr_0 : BOOL;
Hv_0 : BOOL;
RAF_0 : INT := 20;
Time_0 : INT;
St_0 : BOOL;
END_VAR
VAR_OUTPUT
END_VAR
VAR_TEMP
END_VAR
21 : IF Stop
THEN
St_0 := false;
Time_0 := S_16 + 5;
RAF_0 := 22;
END_IF;
22 : IF (S_16 > Time_0)
THEN
RAF_0 := 20;
END_IF;
IF Tr_0
THEN
St_1 :=1;
RAF_0 := 23;
END_IF;
23 : IF (Stop = true)
THEN
St_1 := false;
RAF_0 := 20;
END_IF;
END_CASE;
END_PROGRAM
CASE RAF_0 OF
20 : IF Hv_0
THEN
St_0 := true;
RAF_0 := 21;
END_IF;
39. příklad:
Reverzace motoru s časovou prodlevou a prodlevou po stisku STOP. Pro zapnutí slouží tlačítka VPŘED a
ZPĚT. Pro vypnutí tlačítko STOP. Princip činnosti:
Po stisku VPŘED se sepne 1. stykač a motor běží směrem vpřed. Pokud je stisknuto tlačítko ZPĚT,
1. stykač se rozpojí, ale 2. stykač pro zpětný chod se sepne až po 5s, kdy se předpokládá, že se
(Fl_0 = 0 and Vpred = 0)
or Fl_1 = 1
(Fl_0 = 1 or Vpred = 1)
and Fl_1 = 0
20
Fl_0 := 0
Fl_1 := 1
(Fl_1 = 0 and Vzad = 0)
or Fl_0 = 1
Zpet = 0
St_0 := 1
Fl_0 := 1
Fl_1 := 0
Fl_0 := 1
RAF_
0
St_1 := 0
Vpred= 1
Zpet = 1
T > 5s
T > 5s
22
22
Stop = 1
T < 5s
St_0 := 1, St_1 := 0
Fl_0 := 1, Fl_1 := 1
Raf_0 := 20
Raf_1 := 30
Stop = 0
21
RAF_1
St_0 := 0
T < 5s
Vpred = 0
St_1 := 1
Fl_1 := 1
20
21
(Fl_1 = 1 or Vzad = 1)
and Fl_0 = 0
20
RAF_
2
Fl_0 := 0, Fl_1 := 0
T > 5s
T < 5s
21
Příklady PLC
- 29 -
motor již neotáčí. Motor lze kdykoliv vypnout tlačítkem STOP. Po stisku tohoto tlačítka nelze
zapnout motor po dobu 5s. Celá sekvence platí i pro chod opačný.
PROGRAM prgPrikl39
VAR_INPUT
END_VAR
VAR
St_0 : BOOL;
St_1 : BOOL;
Vpred : BOOL;
Zpet : BOOL;
Stop : BOOL;
RAF_0 : INT := 20;
RAF_1 : INT := 30;
RAF_2 : INT := 40;
Time_0 : INT;
Fl_0 : BOOL;
Fl_1 : BOOL;
END_VAR
VAR_OUTPUT
END_VAR
VAR_TEMP
END_VAR
CASE RAF_0 OF
20 : IF ((Fl_0 = true or Vpred = true) and (Fl_1 = false))
THEN
St_0 := true; Fl_0 := true;
RAF_0 := 21;
END_IF;
21 : IF (Zpet = true)
THEN
St_0 := false;
Time_0 := S_16 + 5;
RAF_0 := 22;
END_IF;
22 : IF (S_16 > Time_0)
THEN
Fl_0 := false;
Fl_1 := true;
RAF_0 := 20;
END_IF;
END_CASE;
CASE RAF_1 OF
30 : IF ((Fl_1 = true or Zpet = true) and (Fl_0 = false))
THEN
St_1 := true; Fl_1 := true;
RAF_1 := 31;
END_IF;
31 : IF (Vpred = true)
THEN
St_1 := false;
Time_0 := S_16 + 5;
RAF_1 := 32;
END_IF;
32 : IF (S_16 > Time_0)
THEN
Fl_1 := false;
Fl_0 := true;
RAF_1 := 30;
END_IF;
END_CASE;
CASE RAF_2 OF
40 : IF Stop
THEN
St_0 := false;
St_1 := false;
Fl_0 := true;
Fl_1 := true;
Time_0 := S_16 + 5;
RAF_0 := 20;
RAF_1 := 30;
RAF_2 := 41;
END_IF;
41 : IF (S_16 > Time_0)
THEN
Fl_0 := false;
Fl_1 := false;
RAF_2 := 40;
END_IF;
END_CASE;
END_PROGRAM
Příklady PLC
- 30 -
40. příklad:
Po stisknutí tlačítka „Pohyb stolu zapnout" se má stůl brusky začít pohybovat střídavě vlevo až do polohy
dané levým koncovým spínačem a pak vpravo až do polohy dané pravým koncovým spínačem. Po stisknutí
tlačítka „Pohyb stolu vypnout" se má pohyb stolu okamžitě zastavit.
Navrhněte řízení pomocí PA a napište program v jazyku mnemokódů.
VSTUPY A VÝSTUPY
- označení proměnných a definice významů jejich logických hodnot
Vstupní proměnná
Konc.spínač levý
Konc.spínač pravý
Tlačítko zapnout
Tlačítko vypnout
Výstupní proměnná
Motor stolu doleva
Motor stolu doprava
Označení
SL
SP
ZAP
VYP
Význam log. hodnoty
Stůl vlevo: SL=1
Stůl vřavo: SP=1
Stisknuto: ZAP=1
Stisknuto: VYP=1
MOTL
MOTP
MOTL=1: stůl doleva
MOTL=1: stůl doprava
Blokové schéma
Příklady PLC
- 31 -
41. příklad:
Čerpadlo topného oleje pro olejový hořák může být spuštěno a vypnuto dvěma různými tlačítky ze dvou
míst. Čerpadlo lze ovšem spustit jen tehdy, hoří-li pomocný plamének, což indikuje bimetalické čidlo.
Navrhněte program pro PA .
Příklady PLC
- 32 -
VSTUPY A VÝSTUPY
označení proměnných a definice významů jejich logických hodnot
Vstupní proměnná
Spínač č.l
Spínač č.2
Čidlo plaménku
Výstupní proměnná
Čerpadlo
Označení
S1
S2
PP
Význam log. hodnoty
Stisknuto: S1 změní hodnotu
Stisknuto: S2 změní hodnotu
Plamének hoří: PP=1
C
C=l: spustit motor čerpadla
Blokové schéma
Pomocí funkce XOR lze výraz vyjádřit takto:
C = (S1 xor S2) . PP
Příklady PLC
- 33 -
42. příklad:
Agregát je chlazen dvěma ventilátory. Kontrola jejich funkce probíhá pomocí senzorů proudu vzduchu. PA
má realizovat následující kontrolní a indikační funkce:
a) při výpadku libovolného ventilátoru se má rozsvítit optická signalizace
b) při výpadku obou ventilátorů se má navíc rozezvučet akustická signalizace.
Obě hlášení jsou realizována jen tehdy, je-li spuštěn agregát, což je též signalizováno opticky. Navrhněte
pro tuto úlohu program pro PA.
Blokové schéma
Příklady PLC
- 34 -
Algebraické rovnice
ALMO = AG . (V2 + V1)
ALMA = V2 . V1 . AG
KAG = AG
43. příklad:
Ve vodárně jsou instalována tři čerpadla, dvě malá, Cl o výkonu QC1 a C2 o výkonu QC2 a jedno velké C3
o výkonu QC3. Tato čerpadla jsou určena pro běžný provoz. Dále je ve vodárně připraveno jedno záložní
čerpadlo CR. Toto záložní čerpadlo se má uvést do provozu tehdy, jestliže dojde k poruše nčkterého z
čerpadel a fungující čerpadla nedodávají minimální výkon. Provoz všech provozních čerpadel má být
signalizován kontrolkou a spuštění záložního čerpadla ohlášeno zvukovou signalizací. Minimální výkon
pokryje současný provoz obou malých čerpadel nebo provoz velkého a jednoho z malých čerpadel, ale
nepokryje jej provoz samotného velkého čerpadla.
Platí: QC1<QC2<QC3
Navrhněte blokové schéma řízení, sestavte pravdivostní tabulku. Určete logické funkce pro požadované
řídicí funkce. Navrhněte přiřazení proměnných vstupům a výstupům programovatelného automatu,
napište program pro PA.
Příklady PLC
Vstupní proměnná
Motor čerpadla C1
Motor čerpadla C2
Motor čerpadla C3
Výstupní proměnná
Motor záložního čerpadla
Kontrolka čerpadla C1
Kontrolka čerpadla C2
Kontrolka čerpadla C3
Kontrolka čerpadla CR
Akustická signalizace
- 35 Označení
Cl
C2
C3
Význam log. hodnoty
Běží: Cl-1
Běží: C2=l
Běží:C3=l
I
MR
Kl
K2
K3
ZR
ALMA
MR-M:Spustit
Kl = l: Svítí=Motor čerpadla Cl běží
K2^1: Svítí=Motor čerpadla C2 běží
K3=l: Svítí=Motor čerpadla C3 běží
ZR-1: Svítí=Motor čerpadla CR běží
ALMA=1: Zní=motor čerpadla CR běží
44. příklad:
Zboží na válečkové trati má být přesunuto pneumomotorem na další kolmý úsek válečkové trati. Protože
obsluhující personál má na starosti více podobných pracovišť rozmístěných po dílně, může vydat pokyn k
přesunutí ze tří různých stanovišť. Pokyn k přesunutí je realizován přepínačem VÝJEZD. Po přepnutí do
polohy l se pneumotor vysune a přesune zboží na další trať. Při přepnutí do polohy 0 se pneumomotor vrátí
zpět.
Pneumomotor je ovládán
monostabilním elektropneumatickým
rozvaděčem. Pokud je vydán pokyn k
přesunu z jednoho stanoviště, rozsvítí
se na ostatních stanovištích kontrolky
ZÁKAZ (manipulace). Případné povely
k přesunu z dalších stanovišť musí být
ignorovány.
Nakreslete blokové schéma řízení
manipulace na válečkové trati.
Sestavte pravdivostní tabulku.
Příklady PLC
- 36 -
VSTUPY A VÝSTUPY
označení proměnných a definice významů jejich logických hodnot
Vstupní proměnná
Označení
Význam log. hodnoty
Přepínač Výjezd na stanovišti 1
Přepínač Výjezd na stanovišti 2
Přepínač Výjezd na stanovišti 3
Výstupní proměnná
Elektromag. ventil
Kontrolka na stanovišti 1
Kontrolka na stanovišti 2
Kontrolka na stanovišti 3
SI
S2
S3
Poloha 1:S1 = 1
Poloha 1:S2=1
Poloha 1: S3=l
Yl
Kl
K2
K3
Yl=l: Přesunout zboží
Kl = l: svítí=zákaz manipulace
Kl=2: svítí=zákaz manipulace
Kl=3: svítí=zákaz manipulace
45. příklad:
V třídicím automatu jsou testovány rozměry těles tvaru kvádru oproti dorazům. Je přitom snímána hloubka
t, šířka b a výška h. Dalším snímačem je snímána zmagnetizovatelnost materiálu těles (remanentní magnetická indukce). Sledované signály mají tento význam:
hloubka: t =1 rozměr je velký, t = 0 rozměr není velký
šířka: b = 1 rozměr je velký, b = 0 rozměr není velký
výška: h = 1 rozměr je velký, h = 0 rozměr není velký
m = 1 zmagnetizovatelné, m = 0 nezmagnetizovatelné (těleso)
Po odměření jsou výrobky tříděny nejprve
výhybkou x a pak zdvojenou výhybkou y do
jednoho ze čtyř zásobníků 1, 2, 3 nebo 4 (viz
obr). Každá z výhybek má dvě polohy a je
elektricky řízená. V klidovém bezproudovém
stavu jsou výhybky nastaveny doprava.
Tělesa by měla být tříděna podle těchto
kritérií: do zásobníku 1 tělesa, která mají velký
jen jeden rozměr. Všechna plochá tělesa (se
dvěma velkými rozměry a jedním nevelkým
rozměrem) a zároveň zmagnetizovatelná by
měla směřovat do zásobníku 2. Ostatní tělesa
by měla směřovat do zásobníku 4 a zásobník 3 by měl zůstat prázdný.
a) Sestavte úplnou pravdivostní tabulku pro signály t, b, h, m, připište do tabulky polohy x, y výhybek a čísla
cílových zásobníků.
b) Nalezněte pomocí Karnaughových map minimální výstupní funkce pro řídicí proměnné x, y
c) Napište program pro řízení třídicího automatu.
Příklady PLC
- 37 -
46. příklad:
Úchop robotu je na jedné straně vybaven destičkou s maticí 4x4 taktilních (hmatových) čidel s tlakovými
snímači (obr. 1). Robot má uchopovat kulové čepy, pokud možno pomocí středů destiček úchopu, tedy tak,
aby uchopená koule tlačila na čtyři prostřední snímače číslo 6, 7, 10 a 11 (obr. 2). Při jiném úchopu by měl
robot uvolnit sevření úchopu, korigovat polohu ramena s úchopem a opakovat sevření. Podle kombinace
signálů z tlakových snímačů při nesprávném úchopu by měl být generován řídicí signál k uvolnění úchopu
(signál W = 1), řídicí signál ke korekci polohy doprava (signál R = 1), doleva (signál L = 1), nahoru (signál 0 =
1) nebo dolů (signál U = 1).
Polohy snímačů jsou kódovány pomocí čtyř proměnných (signálů) a, b, c, d. Při stlačení některého snímače
v horních dvou řadách (1 až 8) je generován signál a = 1. Stlačením některého snímače v levých dvou
sloupcích se generuje signál b = 1. Stlačením některého snímače ve dvou vnitřních sloupcích se generuje
signál c = 1 a stlačení snímače ve dvou vnitřních řadách generuje signál d = 1 (obr. 2). Robot sevře
chapadla, pokud čep je přítomný na stanovišti. To signalizuje koncový spínač Ks1.
Činnost robotu:
a) Pokud Ks1 = 1, robot sevře čelisti (Sevri = 1)
b) Podle stisku snímačů vyhodnotí, zda je čep ve středu. Pokud ano, pak
- přesune čep na nové stanoviště (Presun = 1)
- pustí jej (Sevri = 0) a vrátí se zpět (Presun = 0)
- mezi jednotlivými úkony je vždy krátká prodleva
- pokračuje od bodu a)
c) Pokud není čep ve středu, pak podle zjištěného signálu provede korekci
- Pustí čep (Sevri = 0)
- Posune chapadla podle kombinace snímačů
- Začíná od bodu a)
Příklady PLC
- 38 -
Obr.1: Úchop robota s taktilními čidly
a
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
Tabulka 1: Pravdivostní tabulka ke cvičení
čidlo č.
W
R L O
b c d
16
0 0 0
1
1 0 0
12
0 0 1
1
1 0 0
15
0 1 0
1
0 0 0
11
0 1 1
0
0 0 0
13
1 0 0
1
0 1 0
9
1 0 1
1
0 1 0
14
1 1 0
1
0 0 0
10
1 1 1
0
0 0 0
4
0 0 0
1
1 0 1
8
0 0 1
1
1 0 0
3
0 1 0
1
0 0 1
7
0 1 1
0
0 0 0
1
1 0 0
1
0 1 1
5
1 0 1
1
0 1 0
2
1 1 0
1
0 0 1
6
1 1 1
0
0 0 0
Obr.2: Uspořádání taktilních čidel
U
dec
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
25
24
17
0
21
20
17
0
24
24
18
0
22
20
18
0
Příklady PLC
- 39 -
Deklarace vstupů a výstupů:
VAR_GLOBAL
Vstupy_X AT Vstupy : BYTE;
Vystupy_X AT Vystupy : BYTE;
S_16 AT %s16 : INT;
END_VAR
Funkční blok pro konverzi kódu tlačítka na výstupy
FUNCTION_BLOCK Matice
VAR_INPUT
END_VAR
VAR
kod : ARRAY [0..15] OF BYTE := [25,24,17,0,21,20,17,0,26,24,18,0,22,20,18,0];
mem : byte;
ukazatel : int;
END_VAR
VAR_OUTPUT
Vyst : byte;
END_VAR
VAR_TEMP
END_VAR
Mem := (Vstupy_X and 16#0f); //nulování horních 4 bitů
ukazatel := byte_to_int(mem);
Vyst := kod [ukazatel];
//převod kódu tlačítka na odpovídající výstupy
END_FUNCTION_BLOCK
Hlavní Program:
PROGRAM prgMain
VAR_INPUT
END_VAR
VAR
RAF_0 : INT := 20;
Time_0 : INT;
Koduj : Matice;
mem : byte;
END_VAR
VAR_OUTPUT
END_VAR
VAR_TEMP
END_VAR
Příklady PLC
- 40 -
CASE RAF_0 OF
20 : IF (Ks_1 = true)
//čep je přítomný na koncovém spínači,
THEN
Sevri := true;
//pak ho sevři
RAF_0 := 21;
END_IF;
21 : Koduj ( vyst => mem);
//dle tlačítka vytvoř kód
IF (mem.4 = false)
THEN
//když je výrobek správně uchycený
Time_0 := S_16 + 2; //tak pokračuj na 22
RAF_0 := 22;
ELSE
Sevri := 0;
//pokud není pak povol výrobek
Time_0 := S_16 + 2;
RAF_0 := 30;
//a pokračuj na 30
END_IF;
22 : IF (S_16 > Time_0)
THEN
Presun := 1;
//po prodlevě přesuň čep
Time_0 := S_16 + 2;
RAF_0 := 23;
END_IF;
23 : IF (S_16 > Time_0)
THEN
Sevri := 0;
Time_0 := S_16 + 2;
RAF_0 := 24;
END_IF;
24 : IF (S_16 > Time_0)
THEN
Presun := 0;
Time_0 := S_16 + 2;
RAF_0 := 25;
END_IF;
25 : IF (S_16 > Time_0)
//návrat na 20
THEN
RAF_0 := 20;
END_IF;
30 : IF (S_16 > Time_0)
THEN
mem.4 := 0;
Vystupy_X := (Vystupy_X or mem); //zapni posun chapadel
Time_0 := S_16 + 2;
RAF_0 := 31;
END_IF;
31 : IF (S_16 > Time_0)
THEN
Vystupy_X := (Vystupy_X and 16#f0); //vypni posun chapadel
RAF_0 := 20;
END_IF;
END_CASE;
END_PROGRAM
Příklady PLC
- 41 -
47. příklad:
Manipulátor pro podávání polotovarů do lisu může uchopený plech natočit do správné polohy otočením
kolem příčné osy o 180° po řídicím signálu w = 1 a (nebo) otočením kolem podélné osy o 180° po řídicím
signálu d = '\. Otáčení kolem obou os může být spuštěno současně. Polotovary mají být podávány do lisu ve
stálém taktu v poloze 1 (obr. 1). Pokud se dostane polotovar ze zásobníku do manipulátoru v nesprávné
poloze, je tato poloha indikována třemi signály a, b, c ze tří bezkontaktních snímačů, a poloha musí být nastavena správně. Bezkontaktní snímač dává signál 0, není-li proti němu výřez. Je třeba navrhnout logický
kombinační obvod, který vyhodnocuje signály a, b, c ze tří snímačů a na základě jejich hodnot dává buď
povely k otáčení, nebo povel s = 1 k zastavení zařízení, neodpovídá-li kombinace signálů a, b, c přítomnosti
správného polotovaru v manipulátoru.
a) Sestavte úplnou (s osmi řádky) pravdivostní tabulku a přiřaďte potřebné výstupní signály a slovní popis
stavu.
b) Nalezněte pomocí Karnaughových map minimální výstupní funkce pro výstupní proměnné w, d, s.
c) Napište program logického řízení otáčení manipulátoru a zastavení.
48.příklad:
1. Na ID panelu nasimulujte čítač, který čítá od 0 do 60.
2. Na panelu nasimulujte čítač, který čítá od počáteční hodnoty do koncové hodnoty. Obě se zadávají
na panelu.
3. Na panelu č.2 nasimulujte hodiny, na kterých zobrazíte minuty, sekundy a milisekundy. Použijte
systémové registry.
49.příklad:
Postupné spínání tří elektromotorů.
a) Sekvence spínání se spouští stiskem tlačítka START. Prodleva mezi sepnutím jednotlivých motorů se
zadává z klávesnice ID panelu.
b) Tento příklad řešte s tím, že délka každé prodlevy se zadává samostatně a může tedy být různě
dlouhá.
Příklady PLC
- 42 -
Řešení příkladu 48a)
51. příklad:
Vytvořte program, pomocí kterého je možné vybrat si oběd na určitý den v týdnu a následně druh obědu
(ze tří možností), nápoj (ze dvou možností) a polévku (ano – ne).
52. příklad:
Navrhněte nápojový automat, kde se na displeji zobrazuje výsledná suma vhozených mincí, je možné zvolit
jeden z pěti nápojů a na závěr se ukáží vrácené mince.
Např. : Vhodí se desetikoruna, nápoj stojí 7Kč, na výstupu se ukáže dvoukoruna a 1Kč.
Příklad blíže vysvětlí vyučující
53. příklad:
Na pět vstupů přicházejí impulzy. V paměti je pět registrů, do kterých se impulzy sumují. Na panelu
zobrazujte jednotlivé sumy. Pokud přijde impulz na 3. vstup, odpovídající displej automaticky vystoupí do
popředí.
Možné alternativy
- po stisku klávesy se uloží suma do paměti i s časem a je možné ji zpětně vyvolat
- nulování jednotlivých registrů
- setřídění a výpis podle velikosti
- výpis maxima
Příklady PLC
- 43 -
54.příklad: Napište program pro řízení automatické linky dle následujících zadání
K2
Přesun2
Přesun1
K5
PÁS2
K3
K4
K6
PÁS3
120cm
PÁS1
V1
V2
K7
V3
K8
K1
V4
K9
START
STOP
I.
1.
2.
3.
4.
5.
Linka se zapíná tlačítkem START
Pokud je obrobek na K1, Pás1 se rozjede
Dojezdem na K2 se zapne Přesun1, rozběhne se Pás2 a Pás1 se vypne.
Dojezdem na K3 se vypne Přesun1.
Pás2 se vypne po najetí na K5.
Zjednodušený graf pro 1. úlohu
Start = 1
1
K5 = 1
K1 = 1
2
Pas1 : = 1
Presun1 : = 1
Pas1 := 0
Pas2 := 1
Pas2 := 0
Presun1 := 0
5
4
K3 = 1
3
K2 = 1
Příklady PLC
PROGRAM prgMain
VAR_INPUT
END_VAR
VAR
RAF : INT := 20;
Start : BOOL;
K1 : BOOL;
K2 : BOOL;
K3 : BOOL;
K5 : BOOL;
PAS_1 : BOOL;
PAS_2 : BOOL;
PAS_3 : BOOL;
Presun_1 : BOOL;
END_VAR
VAR_OUTPUT
END_VAR
VAR_TEMP
END_VAR
CASE RAF OF
20 : IF (Start = true)
THEN
RAF := 21;
END_IF;
- 44 21 : IF (K1 = true)
THEN
PAS_1 := 1;
RAF := 22;
END_IF;
22 : IF (K2 = true)
THEN
PAS_1 := 0;
PAS_2 := 1;
Presun_1 :=1;
RAF := 23;
END_IF;
23 : IF (K3 = true)
THEN
Presun_1 := 0;
RAF := 24;
END_IF;
24 : IF (K1 = true)
THEN
PAS_2 := 0;
RAF := 20;
END_IF;
END_CASE;
END_PROGRAM
II.
1.
2.
3.
4.
5.
6.
Linka se zapíná tlačítkem START
Pokud je obrobek na K1, Pás1 se rozjede
Dojezdem na K2 se zapne Přesun1, rozběhne se Pás2 a Pás1 se vypne.
Dojezdem na K3 se vypne Přesun1.
Dojezdem na K4 se pás na 4s zastaví a opět rozjede.
Pás2 se vypne po najetí na K5.
III.
1. Linka se zapíná tlačítkem START
2. Pokud je obrobek na K1, Pás1 se rozjede
3. Po projetí Zav1 se spustí čítač a zastaví se po projetí Zav2. Z počtu impulzů se vyhodnotí rychlost a
vypíše na displeji
4. Dojezdem na K2 se zapne Přesun1, rozběhne se Pás2 a Pás1 se vypne.
5. Dojezdem na K3 se vypne Přesun1.
6. Dojezdem na K4 se pás na 4s zastaví a opět rozjede.
7. Pás2 se vypne po najetí na K5.
Příklady PLC
- 45 -
PROGRAM prgMain
VAR_INPUT
END_VAR
VAR
RAF : INT := 20;
Start : BOOL;
Stop : BOOL;
K1 : BOOL;
K2 : BOOL;
K3 : BOOL;
K4 : BOOL;
K5 : BOOL;
K6 : BOOL;
K7 : BOOL;
K8 : BOOL;
K9 : BOOL;
V1 : BOOL;
výrobku
V2 : BOOL;
V3 : BOOL;
V4 : BOOL;
// koncové spínače
//vyhození
Zav1 : BOOL; //závora
Zav2 : BOOL;
PAS_1 : BOOL;
PAS_2 : BOOL;
PAS_3 : BOOL;
Presun_1 : BOOL;
Presun_2 : BOOL;
citac_1 : CTU;
citej_1 : INT;
rychlost : INT;
END_VAR
VAR_OUTPUT
END_VAR
VAR_TEMP
END_VAR
CASE RAF OF
20 : IF (Start = true)
THEN
RAF := 21;
END_IF;
21 : IF (K1 = true)
Ukázka možné simulace pomocí prostředí PANEL
THEN
PAS_1 := 1;
RAF := 22;
END_IF;
22 : IF (Zav1 = true) //po projetí závory Zav1 se spustí čítač
THEN
citac_1 (CU := S13_0, R := 0, PV := 500, CV => citej_1);
RAF := 23;
END_IF;
23 : IF (Zav2 = false) //po projetí závory Zav2 se čítání ukončí
THEN
Příklady PLC
- 46 -
citac_1 (CU := S13_0, R := 0, PV := 500, CV => citej_1);
ELSE
RAF := 24;
rychlost := 120*10/citej_1; // rychlost v metrech za sekundu
END_IF;
24 : IF (K2 = true)
THEN
PAS_1 := 0;
PAS_2 := 1;
Presun_1 :=1;
RAF := 25;
END_IF;
25 : IF (K3 = true)
THEN
Presun_1 := 0;
RAF := 26;
END_IF;
26 : IF (K5 = true)
THEN
PAS_2 := 0;
RAF := 20;
END_IF;
END_CASE;
END_PROGRAM
IV.
1. Linka se zapíná tlačítkem START
2. Pokud je obrobek na K1, Pás1 se rozjede
3. Po projetí Zav1 se spustí čítač a zastaví se po projetí Zav2. Z počtu impulzů se vyhodnotí rychlost a
vypíše na displeji
4. Dojezdem na K2 se zapne Přesun1, rozběhne se Pás2 a Pás1 se vypne.
5. Dojezdem na K3 se vypne Přesun1.
6. Po najetí na K4 se Pás2 zastaví a obrobek se ohřívá – zapne se Topení
7. Po ohřátí – indikace vstupem OHREV se Topení vypne, Pás2 se opět rozjede
8. Pás2 se vypne po najetí na K5.
V.
1. Linka se zapíná tlačítkem START
2. Pokud je obrobek na K1, Pás1 se rozjede
3. Po projetí Zav1 se spustí čítač a zastaví se po projetí Zav2. Z počtu impulzů se vyhodnotí rychlost a
vypíše na displeji
4. Dojezdem na K2 se zapne Přesun1, rozběhne se Pás2 a Pás1 se vypne.
5. Dojezdem na K3 se vypne Přesun1.
6. Po najetí na K4 se Pás2 zastaví a obrobek se ohřívá – zapne se Topení
7. Doba, po kterou se obrobek ohřívá se zadává na displeji.
8. Po ohřátí se Topení vypne, Pás2 se opět rozjede
9. Pás2 se vypne po najetí na K5.
VI.
1. Linka se zapíná tlačítkem START
2. Pokud je obrobek na K1, Pás1 se rozjede
Příklady PLC
- 47 -
3. Po projetí Zav1 se spustí čítač a zastaví se po projetí Zav2. Z počtu impulzů se vyhodnotí rychlost a
vypíše na displeji
4. Dojezdem na K2 se zapne Přesun1, rozběhne se Pás2 a Pás1 se vypne.
5. Dojezdem na K3 se vypne Přesun1.
6. Po najetí na K4 se Pás2 zastaví a obrobek se ohřívá – zapne se Topení
7. Teplota, na kterou se má obrobek ohřát se zadává na displeji (max. 90°C). Porovnává se s teplotou,
která je snímána přes analogový převodník na vstupech x1.0 až x1.3 jako číslo 0 až 15 (15 odpovídá
90°C).
8. Po ohřátí se Topení vypne, Pás2 se opět rozjede
9. Pás2 se vypne po najetí na K5.
VII.
1. Linka se zapíná tlačítkem START
2. Pokud je obrobek na K1, Pás1 se rozjede
3. Po projetí Zav1 se spustí čítač a zastaví se po projetí Zav2. Z počtu impulzů se vyhodnotí rychlost a
vypíše na displeji
4. Dojezdem na K2 se zapne Přesun1, rozběhne se Pás2 a Pás1 se vypne.
5. Dojezdem na K3 se vypne Přesun1.
6. Po najetí na K4 se Pás2 zastaví a obrobek se ohřívá – zapne se Topení
7. Doba, po kterou se obrobek ohřívá se zadává na displeji.
8. Po ohřátí se Topení vypne, Pás2 se opět rozjede
9. Dojezdem na K5 se zapne Přesun2, rozběhne se Pás3 a Pás2 se vypne. Přesun2 se vypne po 2s
10. Obrobek , podle zadaného typu (na ID panelu) pokračuje na jeden z koncových spínačů K6 až K9
11. Odpovídající vyhazovák jej vyhodí do příslušného koše
12. Pás3 se zastaví a program najede na bod 2.
13. Linka se zastaví a uvede do počátečního stavu tlačítkem STOP
55.příklad: Navrhněte program pro řízení vstřikolisu.
Funkce vstřikolisu:
* vstřikolis se zapíná tlačítkem START
* pro ohřívání plastu slouží tři topná hnízda
* tlačítkem FORMA se rozběhne následující sekvence:
- najíždí forma
- po najetí se zapne vstřik plastu do formy
- chlazení formy
- odjetí formy do výchozí polohy
Příklady PLC
- 48 Násypka pro
granulát
Topná hnízda
Ochranný
kryt
formy
Vpřed
Zpět
Pohyb formy
Stav0
Stav1
Popis činnosti:
Po stisku tlačítka START (vstup x0.5) se zapnou topná hnízda, která ohřívají granulovaný plast. (výstupy
y0.1, y0.2, y0.3). Teploty pro jednotlivá hnízda se zadávají na ID panelu. Ohřátí plastu na určenou teplotu
signalizují vstupy x1 a to následujícím způsobem:
Předpokládáme, že na vstupy x1 je připojený AD převodník s multiplexerem. Měřené vstupy se přepínají
pomocí výstupů y1.0 a y1.1. Podle binárního čísla na těchto výstupech vstupuje na x1 teplota
odpovídajícího topného hnízda. Rozsah měřené teploty je 0 až 500 oC
Pokud nedojde k vypnutí lisu tlačítkem STOP, plast se musí trvale udržovat na odpovídající teplotě
nezávisle na další činnosti lisu.
Vlastní lisování se může zahájit až po natavení plastu. To je signalizováno prvním dosažením přednastavené
teploty na všech topných hnízdech.
Forma začne najíždět (výstup y0.4) do pozice pro vstřik plastu, je-li stisknuto tlačítko FORMA (vstup x0.6) a
současně je ve výchozí poloze (vstup x0.3).
Uzavření formy v pracovní poloze je signalizováno vstupem x0.4. Po prodlevě 2s se spustí vstřik plastu
(výstup y0.6). Čas vstřiku se zadává z ID panelu. Po ukončení vstřiku se forma chladí (výstup y0.0). Čas
chlazení se opět zadává pomocí ID panelu. Po ochlazení formy se vypne výstup y0.4 a po prodlevě 2s
forma odjíždí do výchozí polohy (výstup y0.5). Vrácení zpět je signalizováno vstupem x0.3. Výstup y0.5 se
vypne a lis je připravený pro opakování cyklu.
Vstřikolis se vypíná tlačítkem STOP (vstup x0.7)
Příklady PLC
- 49 -
Vstupy:
Stav0
Stav1
START
FORMA
STOP
x0.3
x0.4
x0.5
x0.6
x0.7
výchozí poloha formy
pracovní poloha formy
zapnutí vstřikolisu
zahájení cyklu vstřiku
vypnutí vstřikolisu
Teplota
x1
vstup teplot přes AD převodník
Výstupy:
Chlazení
Hnízdo1
Hnízdo2
Hnízdo3
Vpřed
Zpět
Plast
y0.0
y0.1
y0.2
y0.3
y0.4
y0.5
y0.6
ovládání chlazení formy
ovládání ohřevu v místě 1
ovládání ohřevu v místě 2
ovládání ohřevu v místě 3
pohyb formy do pracovní polohy
pohyb formy do výchozí polohy
vstřik plastu
y1.0, y1.1
přepínaní měřených vstupů pro jednotlivé teploty
56.příklad:
Zadání 1
Popis činnosti pračky:
1 - po zapnutí Start začíná pračka napouštět vodu a začíná prát: pravidelné otáčení bubnu vlevo a
vpravo. Rotace bubnu trvá vždy přibližně 5s, mezi reverzací je prodleva 2s..
2 - napouštění se ukončí, když snímač Hladina = log1
3 - po prodlevě 4s se zapíná Topení: teplota se zadává na ID panelu v rozsahu 30 – 90o C
4 - topení vypne po dosažení teploty, která se kontroluje na vstupech x1.0 – x1.3, na ID panelu
naskočí hláška o vypnutí topení
5 - pračka dále pere podle zadaného času na ID panelu: 15s, 20s, 25s, 30s (otáčení bubnu vlevo i
vpravo)
6 - následuje vypouštění vody (8s) - Čerpadlo
7 - po prodlevě 3s se napouští voda pro máchání
8 - doba máchání je 10s
9 - voda se vypouští (viz bod6)
10 - po prodlevě 5s pračka začíná odstřeďovat Odstřeď, odstřeďování trvá 15s
11 - konec činnosti – hláška na ID panelu
!! Trvalé otáčení bubnu vlevo i vpravo je součástí činnosti pračky v bodech 1 až 9
Zadání 2
Na ID panelu se zadává množství prádla: 1/3, 1/2., 2/3, full. Podle zadání se hlídá výška hladiny
vody na vstupech x0.0 a x0.1
Pokud dojde ke snížení hladiny, musí se voda automaticky dopustit
Pokud dojde ke snížení teploty, dojde automaticky k ohřevu na zadanou teplotu
Zadání 3
Zadání 2 plus:
Na ID panelu se zadává počet máchání: 1x, 3x, 5x
Příklady PLC
- 50 -
Na ID panelu se zadává počet otáček pro odstřeďování: 600, 800, 1000, 1200. Každým otáčkám je
přiřazený jeden výstup
!! Pračku lze vypnout přepínačem S0 a po jeho opětovném zapnutí !! musí pračka pokračovat od
cyklu, kde skončila
Start=1
Voda=1
CerpN=1
S25.1=1
4s
CerpN=0
Time=S16+4
0
1
Ohrev=1
3
2
Teplota=1
Start=0
Ohrev=0
Time=S16+60
12
4
Odstred=0
60s
CerpV=0
15s
11
CerpV=1
Time=S16+10
AUT1
Odstred=1
Time=S16+15
3s
5
10
S25.1=0
Time=S16+3
CerpV=0
Time=S16+3
Vlevo=0
Vpravo=0
9
8
Time=S16+10
CerpV=1
10s
6
7
Time=S16+60
CerpN=0
60s
CerpN=1
3s
Voda=1
1s
5s
Vlevo= 1
0
Vpravo= 0
1
AUT2
3
Vlevo= 0
2
Vpravo= 1
5s
1s
10s
Příklady PLC
- 51 -
57. příklad:
Návrh logického obvodu pro ovládání dopravníkového pásu
Text zadání:
Dopravníkový pás je poháněný elektromotorem. Pracovní cyklus je: pohyb vpřed, rychlý pohyb vpřed a
pohyb zpět. Cyklus je řízen pomocí tlačítek START, STOP, a koncových spínačů KS0, KS1, KS2. Otáčky
motoru jsou ovládány sepnutím stykačů S1, S2, S3. Schéma ovládání pohybu pásu je na obr. 1.
VZAD
M
KS0
VPŘED
KS1
KS2
Obr. 1: Schéma ovládání pásu
START
STOP
M –
KS – koncové spínače
START, STOP – tlačítka pro ovládání
motor
Popis a podmínky činnosti dopravníkového pásu:
Výchozím stavem je krajní poloha pásu, která je určena sepnutým spínačem KS0. Stiskem tlačítka START se
sepne první stykač, rotor motoru se roztočí a začne pásem pohybovat směrem vpřed. Po najetí narážky na
koncový spínač KS1 se vypne první stykač. Po uplynutí jedné sekundy je sepnut druhý stykač. Pás se
pohybuje rychlým pohybem vpřed. Tento pohyb se ukončí najetím narážky na koncový spínač KS2. Vypne
se druhý stykač. Po uplynutí pěti sekund sepne třetí stykač. Rotor motoru se roztočí opačným směrem a
pás se pohybuje směrem vzad. Cyklus je ukončen najetím narážky na koncový spínač KS0 – třetí stykač se
vypne.
Činnost po stisku tlačítka STOP:
Pokud se pás pohybuje směrem vpřed, musí se po stisku tlačítka STOP okamžitě zastavit (první nebo druhý
stykač se vypne). Po uplynutí pěti sekund sepne třetí stykač a rotor motoru se roztočí opačným směrem.
Pás se pohybuje směrem vzad. Najetím narážky na koncový spínač KS0 je ukončen pohyb pásu – třetí
stykač se vypne.
Pokud se pás pohybuje směrem vzad, je pohyb ukončen najetím narážky na koncový spínač KS0 – třetí
stykač se vypne.
Bezpečnost provozu je zajištěna splněním této podmínky:
Současně nesmí být sepnuto více než jeden ze stykačů S1, S2, S3.
Příklady PLC
- 52 -
Použitá literatura :
Příklady č. 40 – 44 jsou převzaty z knihy PLC a automatizace 1, autoři : Ladislav Šmejkal, Marie
Martinásková, nakladatelství BEN;
Příklady č. 45 – 47 jsou převzaty z knihy Řízení a regulace pro strojírenství a mechatroniku, autoři Dietmar
Schmid a kol., nakladatelství Europa – Sobotáles cz. S. r. o.;

Podobné dokumenty

příklady PLC

příklady PLC mlhovky lze rozsvítit jen současně s předními, přední mlhovky lze rozsvítit i bez dálkových či tlumených světel. Varianta pro pokročilé: ve skutečném autě je navíc další spínač pro ovládání světeln...

Více

Programování PLC pomocí jazyka ST

Programování PLC pomocí jazyka ST Nejjednodušší POU je funkce, jejíž hlavní charakteristikou je to, že pokud je volána se stejnými vstupními parametry, musí produkovat stejný výsledek (funkční hodnotu). Funkce může vracet pouze jed...

Více

meteorologick zprvy - Časopis Meteorologické zprávy

meteorologick zprvy - Časopis Meteorologické zprávy předpovědní a výstražné služby. V rámci tohoto programu byly všechny profesionální meteorologické stanice vybaveny moderními přístroji na měření oblačnosti a meteorologických jevů a byla dokončena ...

Více

Stáhnout zde

Stáhnout zde rozsvítit bez zapnutí obrysových světel, zadní mlhovky lze rozsvítit jen současně s předními, přední mlhovky lze rozsvítit i bez dálkových či tlumených světel. Varianta pro pokročilé: ve skutečném ...

Více

Návod

Návod Při nastavování odloženého startu se čas konce programu začne zvyšovat po 30 minutách až do 10 hodin a po jedné hodině až do 20 hodin. Konec programu Na displeji se zobrazí nula.

Více

PŘÍRUČKA PROGRAMÁTORA PLC TECOMAT

PŘÍRUČKA PROGRAMÁTORA PLC TECOMAT Prostředí obsahuje textový editor, překladač mnemokódu xPRO, debugger, modul pro komunikaci s PLC, simulátor PLC, konfigurační modul PLC a systém nápovědy. Dále prostředí obsahuje nástroj pro návrh...

Více

plný příspěvek - Fakulta informatiky a managementu

plný příspěvek - Fakulta informatiky a managementu I v tomto akademickém roce bylo provedeno dotazníkové šetření studentů po absolvování 1. semestru studia a předmětu ZMAT1. Byly v něm sledovány postoje ke studiu. Bylo položeno 42 otázek s výběrem ...

Více

pouze režim adaptéru - Rockwell Automation

pouze režim adaptéru - Rockwell Automation Důležité informace pro uživatele Solid-state vybavení má provozní charakteristiky, které se liší od charakteristik vybavení elektromechanického. Safety Guidelines for the Application, Installation...

Více