You are on page 1of 24

Uvod u Leder programiranje PLC-a

Ako se PLC posmatra kao mikroprocesorski sistem, što on i jeste, onda bi se moglo očekivati
da se za njegovo programiranje koriste standardni programski jezici. Međutim, ako se pođe
od činjenice da je PLC projektovan kao namenski mikroprocesorski sistem za upravljanje i
nadzor rada nekog procesa, i da u skladu sa tim ima poseban operativni sistem koji
obezbeđuje periodično ponavljanje ciklusa, onda je logično očekivati da je za njegovo
programiranje razvijen i poseban programski jezik. Kao št
To je već ranije istaknuto, PLC je početno razvijen sa idejom da zameni relejne sisteme. To
znači da se očekivalo da on realizuje odgovarajuću vremensku sekvencu logičkih operacija.
Pored toga, uspešna primena PLC-a u praksi, zahtevala je i da se njegovo programiranje
prilagodi tehnici koja je svim korisnicima relejnih sistema dobro poznata. Iz svih ovih razloga,
za projektovanje PLC-ova razvijen je programski jezik zasnovan na leder (lestvičastim)
dijagramima – leder programski jezik.

Jedna programska linija leder jezika sastoji se iz niza grafičkih simbola (programskih naredbi)
koji predstavljaju različite logičke elemente i druge komponente kao što su tajmeri i brojači,
koji su poređani duž horizontalne linije – rang (rung) – koja je na oba kraja spojena sa dvema
vertikalnim linijama. Prema tome, leder dijagram ima izgled lestvica, odakle potiče i njegov
naziv (ladder – lestvice).

Svaki rang leder dijagrama sastoji se iz dva dela. Na levoj strani ranga nalazi se uslov izražen
u formi kontaktne (prekidačke) logike, dok se na desnoj strani ranga nalazi akcija koja treba
da se izvrši ukoliko je uslov ispunjen (true-istinit) (Slika br.1).

• Uslov – U osnovi, grafički simboli na levoj strani ranga odnose se ili na stanja signala koji
predstavljaju fizičke ulaze PLC-a, i čije su vrednosti tokom ulaznog dela sken ciklusa
smeštene u input image file, ili na stanja internih promenljivih, čije su vrednosti smeštene u
odgovarajućim datotekama. Svaki simbol predstavlja jednu unarnu binarnu operaciju kojoj
je pridružena odgovarajuća tablica istinitosti. Uz grafički simbol naznačava se i adresa
promenljive koja predstavlja operand. Pri ispitivanju istinitosti uslova smatra se da se nad
svim simbolima u jednoj liniji (redna, serijska veza) obavlja logička “I” operacija. To znači da
je uslov istinit ukoliko je svaki pojedinačni iskaz istinit. Na levoj strani ranga dozvoljena su i
granjanja (paralelene veze). Pri ispitivanju istinitosti uslova paralelene veze se tretiraju kao
logička “ILI” operacija. To znači da će iskaz predstavljen nizom paralelnih grana biti istinit,
ako bar jedna od grana sadrži istinit iskaz. Potrebno je da se istakne da leva strana ranga
može biti formirana i tako da na njoj nema ni jednog simbola. U tom slučaju smatra se da je
uslov koji se na taj način definiše uvek istinit.

• Akcija – Grafički simboli na desnoj strani ranga odnose se ili na fizički izlaz (promenljive
smeštene u output image file, koje će biti prenete na izlaze kontrolera u toku izlaznog dela
sken ciklusa) ili na interne promenljive, čije su vrednosti smeštene u odgovarajućim
datotekama. Svaki simbol predstavlja jednu naredbu koja se izvršava ako je uslov na desnoj
strani istinit. Uz simbol se naznačava i adresa promenljive čija se vrednost menja prilikom
izvršavanja naredbe, ili koja na bilo koji drugi način učestvuje u realizaciji naredbe (npr.
otpočinjanje ili zaustavljanje neke aktivnosti, skok na neki drugi rang, poziv potprograma
itd.). Serijska veza na desnoj strani ranga nije dozvoljena, dok paralelna veza označava da se
više različitih naredbi izvršavaju kao rezultat ispitivnja istinitosti jednog istog uslova.

U literaturi je uobičajeno da se i simboli koji označavaju uslov i simboli koji označavaju


akciju označavaju kao naredbe. Otuda je neophodno da se istakne suštinska razlika između
naredbi uslova i naredbi akcije. Naime, izvršavanje naredbi uslova obavlja se tako što se u
zavisnosti od vrednosti operanda, prema pridruženoj tablici istinitosti, naredbi dodeljuje
vrednost (0 ili 1). Dakle, naredbe uslova se izvršavaju u svakom sken ciklusa i rezultat
njihovog izvođenja je vrednost naredbe. Za razliku od toga naredbama akcije se ili dodeljuje
vrednost nekoj promenljivoj ili izvršava neka druga aktivnost. Ove naredbe se izvršavaju
samo ako je uslov koji im prethodi istinit (dodeljena mu je vrednost 1). Pri tome se samim
naredbama akcije ne dodeljuje nikakva vrednost.

Leder program se izvršava u toku programskog dela sken ciklusa i to tako što se obrađuje
rang po rang u nizu kako su oni definisani. U svakom rangu ispituje se istinitost uslova i
ukoliko je uslov istinit izvršavaju se odgovarajuće naredbe u desnom delu ranga. To znači da
promenljive na desnom delu ranga mogu menjati svoju vrednost samo jedanput u toku sken
ciklusa, i to upravo onda kada se odgovarajući rang ispituje. Potrebno je zapaziti, međutim,
da ukoliko se promenljiva na desnoj strani ranga odnosi na fizički izlaz, vrednost izlaza neće
biti promenjena u istom trenutku vremena.

Za vreme programskog skena menjaju se samo vrednosti promenljivih smeštenih u slici


izlaza. Tek kasnije, za vreme izlaznog dela sken ciklusa, sve promenljive iz slike izlaza biće
prenete na odgovarajuće izlazne linije. Ista stvar važi i za ulazne promenljive. Drugim rečima,
za vreme programskog skena ispitivanje istinitosti uslova odnosi se na vrednosti
promenljivih u slici ulaza, koje su tu upisane za vreme ulaznog dela sken ciklusa koji je
prethodio programskom skenu, a ne na trenutne vrednosti promenljivih na ulaznim
linijama. Naravno, svi uslovi i naredbe koji su vezani za interne promenljive izvršavaju se u
trenutku skaniranja pojedinog ranga.
Slika br.1 Leder rang

Bit naredbe su, kao što samo ime kaže naredbe čiji su operandi bitovi. Sa gledišta lokacije
operanada, to znači da se oni najčešće nalaze u datoteci 3 (bit file), digitalnim ulaznim ili
izlaznim datotekama (input image file 1 ili output image file 0) ili u korisničkim datotekama
bit tipa. Pored toga, adresirani operand može da se nalazi i u bilo kojoj drugoj datoteci u
okviru koje je moguće adresirati pojedini bit. Za vreme programskog skena u okviru bit
naredbi ispituje se stanje pojedinog bita, ili se njegova vrednost postavlja na 1 (set) ili na 0
(reset).

Bit naredbe zadefinisanje uslova

Ove naredbe se postavljaju na levoj strani ranga i definišu uslov koji se odnosi na stanje bita
čija je adresa definisana u naredbi. Kao rezultat izvođenja naredba dobija istinosnu vrednost
true (istinit) ili false (neistinit).

Nazivi ove dve naredbe potiču od ispitivanja binarnih signala koji dolaze sa prekidačkih kola.
U tom smislu XIC naredba se odnosi na normalno otvoren prekidač, dok se XIO naredba
odnosi na normalno zatvoren prekidač.
Bit naredbe za postavljanje vrednosti izlaza

Ovim naredbama se bitu čija je adresa navedena u naredbi dodeljuje vrednost 1 ili 0.
Podsetimo se da se ove nardbe nalaze na desnoj strani ranga, što znači da će se one izvršiti
samo ako je iskaz (uslov) na levoj strani ranga istinit.

Potrebno je da se zapazi da se ovom naredbom vrednost bita čija je adresa “a” može
promeniti samo jedanput za vreme sken ciklusa. Ova vrednost ostaće neizmenjena sve do
sledećeg sken ciklusa, kada će se pri skeniranju odgovarajućeg ranga ponovo ispitati uslov i
izvesti odgovarajuća akcija.

OTL naredbom se adresirani bit može isključivo postaviti na 1. Naime za razliku od OTE
naredbe kojom se vrednost bita može postavljati na 0 ili 1 svaki put kad se rang skenira, kod
OTL naredbe vrednost bita se postavlja (lečuje) na 1 u prvom skenu u kome je uslov istinit.
Nakon toga ova naredba postaje neosetljiva na istinosnu vrednost uslova. To znači da će
vrednost bita ostati neizmenjena bez obzira na to kako se menja vrednost uslova.
OTU naredbom se adresovani bit može isključivo postaviti na 0. Pri tome, vrednost bita se
postavlja (lečuje) na 0 u prvom skenu u kome je uslov ispunjen. Nakon toga ova naredba
postaje neosetljiva na vrednost uslova.

Potrebno je da se istakne da se OTL i OUT naredba koriste uvek u paru, pri čemu se u obe
naredbe adresira isti bit.

Bit triger naredba

OSR naredba omogućava da se obezbedi izvodjenje neke akcije samo jedanput. Potrebno je
da se istakne da je ovo specifična naredba koja istovremeno pripada i kategoriji uslova i
kategoriji akcije. Naime ova naredba se postavlja u rangu između dela koji predstavlja uslov i
dela koji predstavlja akciju. Kada se u toku sken ciklusa detektuje da je uslov promenio svoju
vrednost sa neistinit na istinit (uzlazna ivica) onda OSR naredba takođe dobija vrednost
istinit (što ovu naredbu svrstava u kategoriju naredbi uslova). Istovremeno se i bitu čija je
adresa pridružena toj naredbi dodeljuje vrednost 1 (po čemu se ova naredba svrstava i u
kategoriju akcija). Obe ove vrednosti ostaju nepromenjene do sledećeg sken ciklusa, kada
naredba dobija vrednost neistinit, dok se adresirani bit postavlja na vrednost 0 ili 1 u
zavisnosti od vrednosti uslova. U narednim sken ciklusima vrednost naredbe ostaje
nepromenjena sve dok se u uslovu (koji predstavlja ulaz u OSR) ponovo ne detektuje prelaz
“neistinit/istinit”.

Potrebno je istaći da bit čija je adresa pridružena ovoj naredbi ne predstavlja vrednost
naredbe. Naime, ovaj bit se koristi kao interna promenljiva i služi za pamćenje vrednosti
uslova koji prethodi OSR naredbi. Vrednost ovog bita je 1 ako je uslov istinit, odnosno 0 ako
je uslov neistinit. U tom smislu, sa aspekta dodeljivanja vrednosti bitu čija se adresa navodi u
OSR naredbi, ova naredba je identična sa OTE naredbom. Navedeni bit se može nalaziti u
bilo kojoj bit-adresibilnoj datoteci izuzev datoteke ulaza i izlaza.

Vrednost koju dobija OSR naredba koristi se kao uslov za izvođenje naredbe akcije koja se
nalazi na desnoj strani ranga (neposredno iza OSR naredbe). Shodno tome, naredba akcije
biće izvršavana po jedanput pri svakom prelazu uslova “neistinit/istinit”.

Napomena: Iza OSR naredbe se može nalaziti samo jedna naredba akcije.

SIMATIC Manager – Softver koji


omogućava detaljno konfigurisanje
mreže
SIMATIC Manager je softver kompanije Siemens koji nam omogućuje detaljnu konfiguraciju
mreže (sa osnovnom mrežom kao i sa podmrežama), posmatranje varijabli, njihovo
”forsiranje” kao i unošenje programskog koda u jednom od ponuđenih jezika: STL-asembler
tj. jezik nižeg nivoa, SCL-jezik višeg nivoa koji je sličan Pascal-u, LADDER-program grafički
orjentisan i sličan relejnim šemama, FBD-takođe grafički jezik vrlo pogodan za praćenje toka
signala, S7-GRAPH jezik koji se zasniva na crtanju grafa toka procesa, pogodan za tehnološke
inženjere. Ovaj program omogućava i otklanjanje grešaka (debug koda).
Slika br.1 Ilustracija primene SIMATIC
Manager-a

Otvaranjem projekta u SIMATIC Manager-u, dobija se osnovni prozor u čijem desnom delu
se sa Insert New Object postavlja nova stanica, SIMATIC 300 Station.
Slika br.2 Izbor SIMATIC 300 stanice

Sa dvoklikom na navedenu stanicu, otvara se prozor za hardversko konfigurisanje HW


Config. U folderu SIMATIC 300 biramo opciju RACK-300 koja omogućava izbor šine (rail) na
koju postavljamo željeni PLC: CPU 314C-2DP pod oznakom 6ES7 314-6CF02-0AB0, opcija
CPU-300.
Slika br.3 Izbor tipa CPU PLC-a i šine (rail)

Nakon odabira tipa CPU modula automatski se otvara prozor za podešavanje parametara
PROFIBUS mreže, odabrano je: adresa master stanice 2, tip profila DP, brzina
prenosa informacija 1.5Mbps, adrese ulaznih portova 124 do 126 i izlaznih 124 do 125.
Slika br.4 Podešavanje PROFIBUS komunikacije

Nakon obavljenih podešavanja prikazanih na Slici br.4 prozor HW Config-a prikazuje


raspored modula master uređaja (U slot br.1 je naknadno ubačen napojni modul PS 307 2A,
u slot br.2 CPU 314C-2DP, itd.) i kao i simbol za DP master sistem.
Slika br.5 Prikaz modula master uređaja

FC302 i EM277 PROFIBUS DP modul dodajemo nakon odabira master uređaja i parametara
PROFIBUS komunikacije, potrebno je u mrežu dodati sve slave uređaje. Ukoliko se željeni
uređaji ne nalaze u hardver katalogu, koji se nalazi na desnoj strani HW Config prozora,
potrebno ih je naknadno ubaciti instaliranjem tzv. GSD fajlova (device database files). GSD
fajl sadrži sve potrebne podatke za podešavanje komunikacije željenog slave uređaja. Ovi
fajlovi se mogu naći na sajtu proizvođača čiji uređaj želimo da povežemo u PROFIBUS mrežu.

Nakon instaliranja potrebnog GSD fajla Options>Install GSD file u hardverskom katalogu se
pojavljuje ikona željenog slave uređaja, u ovom slučaju je to FC302 koga uvodimo u
hardversku konfiguraciju jednostavnim prevlačenjem i priključenjem na PROFIBUS mrežu.
Slika br.6 Izbor FC302 slave uređaja i PPO2 objekta

Adresa FC302 je podešena na 3, izabran je tip komunikacionog objekta PPO 2, modul


konzistentan, koji sadrži parametarski i procesni deo, tako da je moguće izvršiti promenu
parametara frekventnog regulatora i prikupiti podatke o procesu. Izbor PPO objekta u
master konfiguraciji je automatski snimljen u frekventnom regulatoru i može se pročitati u
par.9-22 frekventnog regulatora.

Dvoklikom na ikonu FC302 sa slike br.6, dobijemo prozor kao na slici br.7 u kom se može
postaviti sadržaj PPO telegrama, PCD oblast. Obavezno je potrebno dozvoliti
autokonfigurisanje FC302.
Slika br.7 Izbor sadržaja PCD dela

Parametri P915/0 do P915/9 su procesni podaci koje master PLC CPU 314C-2DP upisuje u
slave FC302. Oni mogu biti vrednosti ramp up i ramp down time, limit brzine i momenta, itd.
slika br.7 (Master to Slave). Vrednosti parametara koje PLC šalje su smeštene u delu njegove
memorije koja predstavlja tabličnu sliku procesnih izlaza, tzv. PQW oblast su prikazane na
slici br.8.

Parametri P916/0 do P916/9 su procesni podaci koje master PLC CPU 314C-2DP čita sa
slave-a FC302, kao npr. trenutne vrednosti brzine, struje, frekvencije itd. Slika br.8 (Slave to
Master). Vrednosti parametara koje PLC prima su smeštene u delu njegove memorije koja
predstavlja tabličnu sliku procesnih ulaza, tzv. PIW oblast.
Slika br.8
Ulazna i izlazna memorijska slika PLC-a

Nakon izvršene konfiguracije slave uređaja FC302 za rad na PROFIBUS mreži, potrebno je
dodati drugi slave uređaj EM 277 PROFIBUS DP modul. Kao što je pomenuto, ovaj modul
omogućava priključenje S7-200 PLC-a na PROFIBUS mrežu u funkciji slave uređaja. Pre
podešavanja parametara ovog modula za rad u PROFIBUS mreži, potrebno je objasniti način
komunikacije između master uređaja, PLC-a S7-300, i slave uređaja PLC-a S7-200 sa dodatim
modulom EM 277.

Svrha PROFUBUS DP konekcije je razmena podataka, gde master uređaj igra glavnu ulogu.
Podaci koje master šalje slave-u su označeni kao izlazni podaci (Output data), dok su podaci
koje slave šalje master-u su označeni kao ulazni podaci (Input data). Podaci koji stižu u slave
uređaj su takođe označeni kao izlazni (Output) iako oni predstavljaju ulazne podatke slave-a.
Takođe podaci koji se vraćaju master-u su označeni kao ulazni (inputs) iako oni predstavljaju
izlazne podatke slave-a. Na Slici br.9 je prikazan memorijski model koji opisuje razmenu
podataka između master S7-300 i slave S7-200 CPU 224XP uređaja korišćenjem EM 277
Profibus DP modula.
Slika br.9 Princip
razmene podataka između mastera CPU 314C- 2DP i slave-a CPU 224 XP preko EM
277modula

Kao što je prikazano na slici br.9 master šalje podatke iz njegove izlazne oblasti (output
area) u izlazni bafer (output buffer) slave-a (Receive mailbox). Iz ulaznog bafera (input buffer)
slave-a (Send mailbox) master preuzima podatke i smešta ih u njegovu ulaznu oblast (input
area). Izlazni i ulazni bafer S7-200 PLC-a su smešteni u njegovu V memorijsku oblasti
(Variable memory). Ulazna i izlazna oblast S7-300 PLC-a je smeštena u PI i PQ memorijsku
oblast, respektivno.

Da bi omogućili komunikaciju između master-a i slave-a moraju se prvo definisati adrese,


odnosno veličina memorijskih oblasti za prijem i slanje podataka na obe strane. Veličina
memorijskih oblasti zavisi od količine podataka koja će se prenositi. Za potrebe realizovanog
pogona izabrano je 4 word-a za slanje i 4 worda za prijem podataka (4 Word Out/4 Word In),
slika br.10 (EM 277 modul se ne nalazi u HW katalogu, pa je potrebno instalirati njegov GSD
fajl, koga predhodno treba preuzeti sa Siemens-ovog sajta, adresa modula je podešena na 4
pomoću obrtnih prekidača). Moglo se izabrati i 8 bytes out/8 bytes in ili 8 byte buffer I/O, jer
je u pitanju ista količina podataka koja se prenosi, jedina je razlika u konzistentnosti
podataka. U izabranoj konfiguraciji 8 baytes dozvoljeno je izvršenje korisničkog interapta u
CPU tokom prenosa podataka, dok je u konfiguraciji 4 word dozvoljeni izvršenje korisničkog
interapta jedino između word-ova. U konfiguraciji 8 bayte buffer je onemogućeno izvršenje
korisničkog interapta u CPU tokom prenosa ove količine podataka.

Podešavanje startne adrese izlaznog bafera (Receive malbox) slave-a vrši se iz prozora koji
se otvara dvoklikom na EM 277 modul, Slika 46. Upisom broja 1000 u polje I/O Offset in V-
memory definišemo startnu adresu izlaznog bafera na lokaciji VB 1000. Pošto je izabrana
konfiguracija od 4 word-a za slanje i prenos slave automatski postavlja veličinu izlaznog
bafera na 4 worda, odnosto 8 bajta, što znači da je krajnja adresa izlaznog bafera (Receive
malbox) slave-a VB 1007, startna adresa ulaznog bafera (Send mailbox) VB 1008, a krajnja VB
1015, kao što je prikazano na slici br.9.
Slika br.10 Insertovanje drugog slave uređaja, EM 277 modula i podešavanje startne adrese
Output baffer-a S7-200 PLC-a

Potrebno je napomenuti da programer određuje startnu adresu output baffer-a slave


uređaja, koju master šalje slave-u prilikom njegove konfiguracije. Slave koristi ovu
informaciju za podešavanje svojih Send i Receive memorijskih oblasti.
Podešavanje startne adrese ulazne i izlazne oblasti (Input and Output area) master-a vrši se
iz prozora koji se otvara dvoklikom na polje 4 Word Out/4 Word In koje je slektovano u
donjoj polovini HW Config prozora kao slici br.11. Startne adrese Output i Input oblasti su
podešene na 10 (PQ 10 i PI 10 respektivno), dok se krajnje adrese ovih oblasti same
generišu, jer su veličine ovih oblasti poznate, i one iznose PQ 17 i PI 17.

Slika br.11 Podešavanje startnih adresa Input i Output blasti S7-300 PLC-a
Potrebno je izvršiti podešavanje MPI komunikacije koja predstavlja vezu između PC
računara i S7-300 PLC-a. Podešavanja MPI komunikacije vrše se isključivo iz programa
NetPro koga pokrećemo iz HW Config prozora. Iz NetPro prozora moguće je vršiti i sva
podešavanja vezana za PROFIBUS, ali u slučaju PROFIBUS-a inicijalna podešavanja kao što su
izbor modula u okviru slave uređaja i PPO tipa moraju se obaviti u HW Config-u.

Podešavanje MPI komunikacije

Podešavanje MPI mreže (podrazumeva se da je u Simatic Manageru/Options>Set PG/PC


Interface komunikacija podešena na PC Adapter (MPI)), se vrši njenim obeležavanjem u
NetPro prozoru i izborom iz menija Edit>Object Properties. Brzinu prenosa podataka treba
postaviti na 187.5 kbit/s, što je ujedno i najveća moguća brzina za MPI komunikaciju. Moguće
je i, ukoliko je to potrebno, posebno podesiti svaki uređaj koji je partner u komunikaciji.
Koršćene stanice su simbolički prikazane u vidu blokova, dok su PROFIBUS i MPI protokoli
simbolički predstavljni linijama. Konačan izgled podešavanja u alatu NetPro prikazan je na
slici br.12.
Slika br.12 Podešavanja u NetPro alatu

Posle svega potrebno je kompajlirati i snimiti navedena podešavanja, pritiskom na


odgovarajuće dugme u HW konfiguratoru. Posle toga konfiguraciju je iz HW config potrebno
download-ovati u PLC S7-300. Time se automatski ima da podešavanja koja su snimljena u
PLC-u budu direktno preko PROFIBUS-a preneta i u FC302 (što se lako može proveriti npr.,
proverom par.P9-15 direktno na njegovom displeju) i u S7-200 PLC ( što se lako može
primetiti signaliziranjem diode DX MODE na EM 277 modulu- signalizira trenutak kada EM
277 DP modul ulazi u mod razmene podataka sa master-om S7-300 i ostaje uključena sve
dok traje razmena podataka).

You might also like