Leder programiranje
• Rang• Bit naredbe
– XIC– XIO– OTL– OUT– OSR
• Osnovna primena bit naredbi• Start/Stop kolo
Leder programiranje
• Leder programski jezik– Programski jezik za programiranje PLC-ova– Zasnovan na leder (lestvičastim)
dijagramima– Prilagođen tehnici koja je poznata
korisnicima relejnih sistema– Grafički jezik
Leder dijagram
START_ONI:1
6
KRENI
0
B3:0
KRAJB3:0
2
( )B3:0
KRENI
0
SEKVENCA: A+ B+ C+ B- A- C- (A ima oprugu, B i C nemaju)SWA- u SWC- N/C; SWA+, SWC+, SWB+ i SWB- N/OPočetni položaj: SWA-, SWB- i SWC-
0000
Ako je dat start, kreni A- i drži ga sve dok se ne završi B-
KRENIB3:0
0
VRATI_AB3:0
1
( )O:2
MOVE_A+
0
0001
SWA+_ONI:1
1
SWC+_ONI:1
5
( )O:2
MOVE_B+
1
0002
Kad je završen A+, kreni B+ i drži ga sve dok se ne završi C+
SWB+_ONI:1
4
SWA-_OFFI:1
0
( )O:2
MOVE_C+
3
0003
Kad je završen B+, kreni C+ i drži ga sve dok se ne završi A-
SWC+_ONI:1
5
( )O:2
MOVE_B-
2
0004
Kad je završen C+, kreni B- i ostavi ga sa tim napajanjem
MOVE_B-O:2
2
SWB-_ONI:1
2
( )B3:0
VRATI_A
1
0005
Kad je završen B-, daj dozvolu da se ukine A+
SWA-_OFFI:1
0
( )O:2
MOVE_C-
4
0006
Kad je završen A-, kreni C- i ostavi ga sa tim napajanjem
SWC-_OFFI:1
4
( )B3:0KRAJ
2
0007
Kad je završen C-, indiciraj KRAJ
(END)0008
Rang
Naredbe
Komentar
Uslov
Akcija
Rang
• Rang - jedna linija leder dijagrama• Sastoji se iz dva dela:
– Uslov– Akcija
uslov akcija
x1 x2 x3
x4 x5
Y1
Definiše uslov pod kojim će biti izvršena akcija
Uslov• Uslov - logički iskaz koji može biti tačan ili netačan.• Sadrži jednu ili više redno-paralelno povezanih naredbi• Naredbe uslova su:
– Unarne - primenjuju se na jednu promenljivu, čija adresa je navedena uznad naredbe (npr. fizički ulaz PLC-a)
– Binarne - rezultat je 0 ili 1 (tačno ili netačno)• Redna veza naredbi - logičko I (tačno ako je svaki pojedinačni uslov
tačan)• Paralelna veza naredbi - logičko ILI (tačno ako je barem jedan uslov
tačan)• Uslov koji ne sadrži ni jednu naredbu je uvek tačan.
uslov akcija
x1 x2 x3
x4 x5
Y1
Naredba uslova
Adresa promenljive
Akcija
• Izvršava se samo ako je uslov tačan.• Odnosi se na pobudu izlaza (ili postavljanje interne
promenljive)• Serijska veza nije dozvoljena !• Paralelna veza je dozvoljena - izvršavaju se sve
paralelne naredbe akcije
uslov akcija
x1 x2 x3
x4 x5
Y1
Naredba akcije
Adresa promenljive
Naredba uslova v.s. naredba akcije
• Naredba uslova– U zavisnosti od vrednosti operanda, a shodno
pridruženoj tablici istinitosti, naredbi uslova se dodeljuje vrednost (0 ili 1) - vrednost naredbe
• Naredba akcije– Izvršavaju se samo ako je uslov koji im prehtodi tačan
(dodeljena mu je vrednost 1)– Dodeljuju vrednost nekoj promenljivoj ili izvršavaju
neki drugu akciju
Izvršenje leder programa
• Izvršava se u programskom delu sken ciklusa• “Rang po rang” - u nizu kako su postavljeni u
dijagramu.• U svakom rangu, prvo se odredi vrednost
uslova, a onda, ako je uslov tačan (=1), izvrši se akcija.
• Za vreme programskog skena menjaju se samo vrednosi u slici izlaza, koje će tek u izlaznom skenu biti prenešene na fizičke izlaze
Bit naredbe
• Osnovne naredbe leder jezika• Njihovi operandi su bitovi (najčešće iz slike
ulaza/izlaza ili bit datoteke - B, ali i u bilo kojoj drugoj datoteci koja dozvoljava pristup bitovima)
• Ukupno 6 naredbi:– 2 naredbe uslova– 3 naredbe akcije– + 1 koja se može svrstati i u uslov i u akciju
Bit naredbe za definisanje uslova- XIC -
• XIC - Examine if closed (ispitivanje da li je kontakt zatvoren)
akcijaa
Stanje bita "a"Vrednost XIC
naredbe
0 False
1 True
adresa bita
Tablica istinitostiGrafički simbol
a
Položaj u rangu
• Uslov je tačan ako bit adresiran naredbom ima vrednost 1, inače je netačan
• Odnosi se na normalno otvoren kontakt - uslov je tačan ako je normalno otvoren kontakt zatvoren
Bit naredbe za definisanje uslova- XIO -
• XIO - Examine if open (ispitivanje da li je kontakt otvoren)
• Uslov je tačan ako bit adresiran naredbom ima vrednost 0, inače je netačan
• Odnosi se na normalno zatvoren kontakt - uslov je tačan ako je normalno zatvoren kontakt otvoren
akcijaa
Stanje bita "a"Vrednost XIC
naredbe
0 True
1 False
adresa bita
Tablica istinitostiGrafički simbol
a
Položaj u rangu
Bit naredbe za postavljanje vrednosti izlaza
• OTE - Output energize (pobuđivanje izlaza)
uslova
Ako je vrednost uslova
Bit na adresi "a" dobija vrednost
True 1 (set)
False 0 (reset)
adresa bita
AkcijaGrafički simbol
a
Položaj u rangu
• Ako je uslov koji prethodi naredbi tačan, bit adresiran naredbom (a) dobija vrednost 1, inače dobija vrednost 0.
• Vrednost bita a se postavlja u trenutku izvršenja ranga i ostaje neizmenjena do sledećeg sken ciklusa
Bit naredbe za postavljanje vrednosti izlaza
• OTL - Output latch (pamćenje izlaza)
• Ako je uslov tačan, bit adresiran naredbom se isključivo postavlja na 1 (lečuje).
• Nakon toga, naredba postaje neosetljiva na uslov, a vrednost adresiranog bita ostaje 1 bez obzira kako se menja vrednost uslova.
uslova
Ako je vrednost uslova
Bit na adresi "a" dobija vrednost
True 1 (set)
False nepromenjena
adresa bita
AkcijaGrafički simbol
a
Položaj u rangu
LL
Bit naredbe za postavljanje vrednosti izlaza
• OTU - Output unlatch (resetovanje izlaza)
• Ako je uslov tačan, bit adresiran naredbom se isključivo postavlja na 0 (resetuje).
• Nakon toga, naredba postaje neosetljiva na uslov, a vrednost adresiranog bita ostaje 0 bez obzira kako se menja vrednost uslova.
uslova
Ako je vrednost uslova
Bit na adresi "a" dobija vrednost
True 0 (reset)
False nepromenjena
adresa bita
AkcijaGrafički simbol
a
Položaj u rangu
UU
OTL i OTU
• OTL i OUT naredba se koriste uvek u paru, pri čemu se u obe naredbe adresira isti bit.
• Zajedno, nihova funkcija je ekvivalentna funkciji SR leča• Situacija kada su Uslov 1 i Uslov 2 istovremeno tačni nije
dozvoljena !
Uslov 1
a
Uslov 2
a
L
U
QS
R
Uslov 1
Uslov 2
a
OTL, OTU v.s. OTE
a
a
L
U
b
X
Y
X
a
b
X
Y
Bit triger naredba - OSR
• OSR - One-shot rising (uzlazna ivica)
Ako je uslov
True
False
a
OSR
Vrednost naredbe je
True, u sken ciklusu u komeuslov postaje istinit
False, u ostalim skenciklusima
uslov
Bit na adresi"a" dobijavrednost
set (1)
reset (0)
akcija
a
OSR
Tablica istinitosti
adresa bita
• Između uslova i akcije
• Obezbeđuje da se akcija izvrši samo jedanput, onda kada se uslov menja sa netačno na tačno (sa 0 na 1 - uzlazna ivica)
• Bit pridružen naredbi pamti vrednost uslova koji prethodi naredbi
OSR
bX
OSRa
b
a
XTrajanje sken ciklusa
PLC + Leder
0
1
2
3
4
5
6
7
Masa
Ulaznimodul
0
1
2
3
4
5
6
7
Masa
Izlaznimodul
( )Ulaz 1 Izlaz 1
Lader program
Zvono
+ +
Jednostavni primeri
( )
Sigurnosni prekidač 1 Motor
Sigurnosni prekidač 2Senzor
( )
Prekidač na glavnom ulazu Zvono
Prekidač na sporednom ulazu
I2 I5
I1
I9
I7
( )O1
O1 = (I1+I2·I5+I9) ·I7
NO i NC kontakti
P1
P2
P3B
Električno kolo
I:1/0 I:1/1
I:1/2
O:1/0P1_pritisnut P2_nepritisnut
P3_pritisnut
Sijalica_on
Ekvivalentan leder dijagram
I:1/0 I:1/1
I:1/2
O:1/0P1_pritisnut P2_nepritisnut
P3_pritisnut
Sijalica_on
L
Sijalica prati ispunjenost uslova
Sijalica se pali kad je uslov tačan
I:1/0 I:1/1
I:1/2
O:1/0P1_pritisnut P2_nepritisnut
P3_pritisnut
Sijalica_on
O:1/0Sijalica_on
NO i NC kontakti
I:1/0 I:1/1
I:1/2
O:1/0P1_pritisnut P2_nepritisnut
P3_pritisnut
Sijalica_on
L
Sijalica se pali kad je uslov tačan (ali, nikada se ne gasi!)
I:1/0 I:1/1
I:1/2
O:1/0P1_pritisnut P2_nepritisnut
P3_pritisnut
Sijalica_on
O:1/0Sijalica_on
I:1/0 I:1/1
I:1/2
O:1/0P1_pritisnut P2_nepritisnut
P3_pritisnut
Sijalica_on
I:1/3Stop_pritisnut
I:1/3
Stop_pritisnut
O:1/0Sijalica_o
n
L
U
Neophodan je dodatni taster za gašenje sijalice:
NC kontakti - iz razloga veće bezbednosti
Da se umesto NC koristi NO kontakt, prekid veze (žice) koja povezuje prekidač i PLC bi ostao neprimećen !
( )Prekidac Alarm
Logičke operacije u leder jeziku
a
by
a b y
a
by
a
b
y
a y
a y
I, ILI, NEI, ILI, NE
NI
a
by
a
by
x
a b x
x y
a
b
y
a
b
y
1)
2)
NILIa
by
a
by
x
a
b
x
x y
a
b
y
a b y
1)
2)
I-ILI mreža
a
b
c
d
y
a b y
c d
Kombinaciona mrežaab
cd
xy
zw
ab
cd
f f
a
b
c
d
x y z
x
y
z
w
w f
Primer• Ventilator procesora radi ako su ispunjeni
sledeći uslovi:1. Ulaz 1 je isključen (OFF)
2. Uključen je ulaz 2 ili ulaz 3 (ili oba)
3. Ulazi 5 i 6 su uključeni
4. Uključen je barem jedan od ulaza 7, 8 i 9.
IN1
IN2
IN3
IN4
IN5
IN6IN7IN8
P
PrimerIN1
IN2
IN3
IN4
IN5
IN6IN7IN8
P
IN6 P
IN7
IN8
IN5IN4IN3
IN2
IN1
PrimerL
MN
Q
R
S
L
M
N
Q R
R X
X
S
Start/Stop kolo
• Princip samodržanja
( )Start Stop Y1
Y1
Nakon što je pobuđen, izlaz drži samog sebe u pobuđenom stanju (Start više nije neophodan)
Starttaster
Stoptaster
MPLC
Ukiljucuje motor
Iskljucuje motor
Y1
Start/Stop kolo
• Relizacija u relejnoj tehnici
START STOP
A1
A2
M
Rele
Start/Stop kolo
• Realizacija pomoću OTL i OTU naredbi
(L)Start Y1
(U)Stop Y1
(L)Start Y1
(U)Stop Y1
Stop
Rešava problem istovremenog pritiska
na Start i Stop
Napred-nazad kolo• F za napred (M1 - ON, M2 - OFF)• R za nazad (M1 - OFF, M2 - ON)• STOP za stop• Nagla promena smera nije dozvoljena
– F → R treba F → STOP → R – R → F treba R → STOP → F
M2 M1
NAPRED
NAZAD
PLC
F(NO)
R(NO)
STOP(NC)
Tasteri
Napred-nazad kolo
• Leder dijagram
M1STOP F M2
M1
M2STOP R M1
M2
Zaključavanje
Samodržanje
Napred-nazad kolo
• Šema veze
Signal Ulaz/Izlaz
Adresa
STOP Ulaz I:1/0
F Ulaz I:1/1
R Ulaz I:1/2
M1 Izlaz O:2/0
M2 Izlaz O:2/1
Com01234567
Ulaznimodul
Com01234567
Izlaznimodul
V
STOP
F
R
M1
M2
V
Slot 1 Slot 2
Napred-nazad kolo
• Leder dijagram sa fizičkim adresama ulaza i izlaza
I:1
0
I:1
0
I:1
1O:2
0
O:2
0
O:2
1
O:2
1
O:2
0
I:1
1O:2
1
Višestruko start-stop kolo
• Zadatak: Sistem za ventilaciju u nekoj hal se može uključivati/isključivati sa tri različita mesta. Na svakom mestu postoji start i stop taster. Start tasteri su sa normalno otvorenim (NO), a stop sa normalno zatvorenim (NC) kontaktima. Kreirati leder dijagram.
VSTART_1
START_2
START_3
STOP_1 STOP_2 STOP_3
V
Upravljanje hidrauličnim cilindrom (zadatak)
• Hidrauličnim cilindrom se upravlja pomoću dva jednosmerna solenoida, A i B. Solenoid A upravlja ventilom za dovod komprimovanog vazduha kojim se cilindar izvlači, dok slolenoid B upravlja ventilom za ˝dovod˝ vakuuma kojim se cilindar uvlači.
• GMIN i GMAX su granični prekidači, za indikaciju krajnjeg uvučenog (GMIN) i krajnjeg izvučenog položaja cilindra.
• Izvlačenje cilindra se startuje tasterom PUSH, a uvlačenje tasterom PULL (oba NO tipa). Cilindar se uvek izvlači do krajnje izvučene pozicije (GMAX) kada se ukida dovod komprimovanog vazduha. Slično, cilindar se uvek uvlači do krajnje uvučene pozicije (GMIN), kada se ukida ˝dovod˝ vakuuma.
• Realizovati leder dijagram. Obezbediti da oba ventila nikada ne budu istovremeno otvorena.
GMAX
GMIN
“vakum”vazduh
SolA SolBPUSH PULL
Upravljanje hidrauličnim cilindrom (zadatak)
GMAX
GMIN
“vakum”vazduh
SolA SolBPUSH PULL
PUSH GMAX
SolA
SolB SolA
PULL GMIN
SolB
SolA SolB