34
Mali_kontroleri/26 binarni signal ukoliko se nalazi u električnom kolu koje se zatvara (ili otvara) kada se senzor aktivira. Otuda, se senzor mora vezati u električno kolo digitalnog ulaznog modula. Ovo kolo će omogućiti detekciju binarnog signala i prenos odgovarajuće vrednosti u memoriju PLC-a. Na isti način, diskretni izvršni organ mora biti povezan u električno kolo digitalnog izlaznog modula koje omogućava da se digitalni signal koji odgovara vrednosti bita u memoriji prenese na izvršni organ. Prilikom povezivanja digitalnih uređaja neobično je važno da se vodi računa o tome kako je uređaj projektovan, odnosno kakav treba da bude smer električnog signala. U tom smislu razlikuju se dve vrste uređaja: uređaji koji su izvor signala (source device) – povezuju se na pozitivni pol izvora napajanja uređaji koji su prijemnici signala (sinking device) – povezuju se na zajedničku tačku izvora napajanja. Da bi se obezbedila kompatibilnost digitalnih uređaja i PLC-a za koji se oni vezuju, digitalni moduli se takođe proizvode u dve kategorije digitalni U/I izvori - za uređaje koji su projektovani kao prijemnici. digitalna U/I prijemnici - za uređaje koji su projektovani kao izvor. Način vezivanja, ovih uređaja prikazan je na Sl. 2-7 i Sl. 2-8. Pri tome, potrebno je da se istakne da digitalni moduli koji predstavljaju izvor signala moraju u sebi da imaju i izvor napajanja. U tom slučaju, postojanje još jednog spoljnog izvora, je opciono. Za razliku od njih digitalni moduli koji primaju signale nemaju izvor napajanja. To znači da u kolu preko koga se vezuje digitalni uređaj mora da postoji spoljni izvor napajanja. Izvesno je da postoje i digitalni uređaji koji ne pripadaju ni jednoj od ovih kategorija. Tako, na primer, mehanički prekidači mogu da provode struju u oba smera, što znači da se mogu povezati na oba tipa modula. Sa druge strane, uređaji koji imaju neke elektronske komponente zahtevaju da se vodi računa o smeru struje, tako da mogu da se koriste samo sa odgovarajućom vrstom digitalnih U/I modula. SL. 2-7 SPREZANJE DIGITALNIH UREĐAJA KOJI SU PROJEKTOVANI KAO IZVORI SL. 2-8 SPREZANJE DIGITALNIH UREĐAJA KOJI SU PROJEKTOVANI KAO PRIJEMNICI izlazni pin DC COM DC izvor napajanja + - Digitalni izlazni uređaj (izvor) izvor signal VDC DC izlazno kolo (prijemnik)

Pages from plc 1

Embed Size (px)

Citation preview

Page 1: Pages from plc 1

Mali_kontroleri/26

binarni signal ukoliko se nalazi u električnom kolu koje se zatvara (ili otvara) kada se senzor aktivira. Otuda, se senzor mora vezati u električno kolo digitalnog ulaznog modula. Ovo kolo će omogućiti detekciju binarnog signala i prenos odgovarajuće vrednosti u memoriju PLC-a. Na isti način, diskretni izvršni organ mora biti povezan u električno kolo digitalnog izlaznog modula koje omogućava da se digitalni signal koji odgovara vrednosti bita u memoriji prenese na izvršni organ.

Prilikom povezivanja digitalnih uređaja neobično je važno da se vodi računa o tome kako je uređaj projektovan, odnosno kakav treba da bude smer električnog signala. U tom smislu razlikuju se dve vrste uređaja:

• uređaji koji su izvor signala (source device) – povezuju se na pozitivni pol izvora napajanja

• uređaji koji su prijemnici signala (sinking device) – povezuju se na zajedničku tačku izvora napajanja.

Da bi se obezbedila kompatibilnost digitalnih uređaja i PLC-a za koji se oni vezuju, digitalni moduli se takođe proizvode u dve kategorije

• digitalni U/I izvori - za uređaje koji su projektovani kao prijemnici.

• digitalna U/I prijemnici - za uređaje koji su projektovani kao izvor. Način vezivanja, ovih uređaja prikazan je na Sl. 2-7 i Sl. 2-8. Pri tome, potrebno je

da se istakne da digitalni moduli koji predstavljaju izvor signala moraju u sebi da imaju i izvor napajanja. U tom slučaju, postojanje još jednog spoljnog izvora, je opciono. Za razliku od njih digitalni moduli koji primaju signale nemaju izvor napajanja. To znači da u kolu preko koga se vezuje digitalni uređaj mora da postoji spoljni izvor napajanja.

Izvesno je da postoje i digitalni uređaji koji ne pripadaju ni jednoj od ovih kategorija. Tako, na primer, mehanički prekidači mogu da provode struju u oba smera, što znači da se mogu povezati na oba tipa modula. Sa druge strane, uređaji koji imaju neke elektronske komponente zahtevaju da se vodi računa o smeru struje, tako da mogu da se koriste samo sa odgovarajućom vrstom digitalnih U/I modula.

SL. 2-7 SPREZANJE DIGITALNIH UREĐAJA KOJI SU PROJEKTOVANI KAO IZVORI

SL. 2-8 SPREZANJE DIGITALNIH UREĐAJA KOJI SU PROJEKTOVANI KAO PRIJEMNICI

izlazni pin

DC COM

DCizvor napajanja

+

-

Digitalni izlazni uređaj(izvor)

izvor signal

VDC

DC izlazno kolo

(prijemnik)

Page 2: Pages from plc 1

Mali_kontroler/27

2.4. ANALOGNI U/I MODULI Analogni ulazni moduli su kola za

spregu između kontinualnih (analognih) signala koji dolaze od mernih instrumenata i digitalnih (numeričkih) vrednosti kojima su ovi signali prikazani u PLC-u. Analogni izlazni moduli obezbeđuju spregu između numeričkih vrednosti u PLC-u i analognih signala koji predstavljaju ove vrednosti i koji služe za upravljanje izvršnim organima.

U principu jedan modul se spreže sa više spoljnih uređaja, pri čemu se svaka

sprega posmatra kao jedan ulazni ili izlazni kanal. Moduli se međusobno razlikuju po broju i vrsti kanala. Neki moduli su samo ulazni ili samo izlazni, a neki su kombinovani, što znači da imaju i izlazne i ulazne linije.

Svaki modul se smešta u jedan slot na šasiji PLC-a (Sl. 2-9). Otuda se, sa gledišta adresiranja, on tretira isto kao i digitalni modul, s tim što je značenje pinova i broj bitova koji odgovaraju jednom pinu drugačiji. Drugim rečima podaci koji se preko modula unose u računar nalaziće se u određenim lokacijama datoteke ulaza (I), a podaci koji se iznose iz računara, nalaziće se u datoteci izlaza (O).

Broj reči koji odgovara jednom kanalu zavisi od vrste samog modula. U principu se može smatrati da svakom ulaznom ili izlaznom kanalu

odgovara po jedna reč, tako da se adresa kanala formira u skladu sa rednim brojem slota i rednim brojem kanala (Sl. 2-10). Sadržaj odgovarajućih memorijskih lokacija u ovim datotekama menja se u toku ulaznog ili izlaznog sken ciklusa.

2.4.1. ANALOGNI ULAZNI KANAL Nezavisno od toga koliko se

ulaznih kanala nalazi na jednom modulu, modul, po pravilu, ima samo jedan A/D konvertor. U toku ulaznog sken ciklusa, uz pomoć multipleksera, odabira se jedan po jedan ulazni kanal na modulu, izvrši se konverzija signala i on se smešta u odgovarajuću reč u datoteci ulaza.

Imajući u vidu da je merni signal uvek zašumljen, signal koji dolazi preko analognog kanala se posle konverzije propušta kroz digitalni filter koji ima za cilj da odbaci komponente visokih učestanosti koji potiču od šuma. Tip i vrsta ovog ugrađenog filtra zavisi od proizvođača. Kod nekih tipova modula korisniku može sam da podešava parametre filtra. Pored toga, neki analogni moduli pružaju mogućnost korisniku da dobije i informacije o

SL. 2-9 KOMBINOVANI ANALOGNI U/I MODUL

SL. 2-10 ADRESIRANJE ANALOGNIH ULAZA I IZLAZA

SL. 2-11 DIFERENCIJALNA SPREGA ANALOGNOG ULAZA

Page 3: Pages from plc 1

Mali_kontroleri/28

prekoraćenju opsega ili o drugim aspektima rada modula. Vrsta A/D konvertora i njegova rezolucija zavise od tipa modula. U principu oni se

kreću od 12 do 16 bitova. Kod posmatrane klase SLC kontrolera koriste se 16-bitni A/D konvertori. Otuda se svakom ulaznom kanalu pridružuje po jedna memorijska reč. To nadalje znači da se svaki ulazni kanal adresira pomoću adrese oblika I:e.w. U principu, moguće je pristupiti i pojedinom bitu unutar svake od ovih reči, no ti bitovi nemaju nikakvo pojedinačno značenje, pa se ne vidi razlog zašto bi se to radilo.

Analogni davač se vezuje tako što se formira zatvoreno električno kolo. Pri tome, izvor napajanja tog kola može biti u samom modulu ili spolja. Za razliku od digitalnih U/I, kod analognih modula izvor napajanja je veoma često spoljni. Samo električno kolo se zatvara vezivanjem krajeva analognog davača sa pinovima na ploči analognog modula

(Sl. 2-9). Svakom analognom ulaznom kanalu pridružena su 3 pina. Dva pina služe za ulaz signala, dok je treći pin vezan za zajedničku masu na samom modulu. Način njihovog korišćenja zavisi od vrste analognog davača sa koga se signal vodi na kanal. Ako davač ima dva, tri ili četiri izlaza onda se može izvesti diferencijalna sprega davača i modula. Svakom davaču pridružuje se zaseban izvor napajanja i svi kanali su međusobno odvojeni (Sl. 2-11). Za davače koji imaju samo dva ili tri izlaza, može se izvesti veza sa jednim krajem, tako da se električno kolo zatvara preko zajedničke tačke (mase) na samom modulu. U tom slučaju, dovoljan je jedan izvor napajanja za više analognih kanala (Sl. 2-12).

Potrebno je da se istakne da diferencijalna sprega ima bolje karakteristike posebno kad se radi o potiskivanju smetnji koje potiču od napajanja.

Anolgni ulazni kanali su, po pravilu, prilagođeni za standardizovane vrste signala (strujne ili naponske) i to u opsezima koji se najčešće sreću kod različitih analognih davača. Najčešće je modul tako podešen da se postavljanjem internih prekidača može definisati da li će se kanal koristiti za strujni ili naponski signal. Tipični skup signala koji se sreće kod analognih ulaza, zajedno sa njihovim celobrojnim prezentacijama kod 16-bitne konverzije dat je u tabeli T. 2-10.

OPSEG NAPONA/STRUJE CELOBROJNA DECIMALNA REPREZENTACIJA

(DATOTEKA ULAZA) REZOLUCIJA

-10V dc do +10V dc -32768 do +32767

305.176µV 0 do 10V dc 0 do 32767 0 do 5V dc 0 do 16384 1 do 5V dc 3277 do 16384 -20mA do +20mA -16384 do +16384

1.2207µA 0 do 20mA 0 do 16384

4 do 20mA 3277 do 16384

U skladu sa vrednostima iz tabele, očigledno je da se pretvaranje dobijenih vrednosti u odgovarajuće električne veličine može izvršiti prema sledećim formulama

SL. 2-12 SPREGA ANALOGNOG ULAZA SA JEDNIM KRAJEM

T. 2-10 OPSEG ULAZNIH SIGNALA I NJIHOVA KONVERZIJA U CELOBROJNE VREDNOSTI

Page 4: Pages from plc 1

Mali_kontroler/29

ULAZNI NAPON (V) ×=32768

10CELOBROJNA DECIMALNA VREDNOST

ULAZNA STRUJA (mA) ×=16384

20 CELOBROJNA DECIMALNA VREDNOST

Neki analogni moduli pružaju mogućnost da se zahteva da sam modul interno

izvrši konverziju u električne ili inženjerske jedinice. Ukoliko modul nema takvu opciju, konverzija može da se izvrši programski. Problemima transformacije signala biće kasnije, kada se prouči programiranje PLC-a, posvećeno više pažnje.

Napomenimo još, da najveći broj analognih modula interno skenira ulazne kanale i vrši A/D konverziju ulaznih signala daleko češće nego što to zahteva sken ciklus PLC-a. Sve konvertovane vrednosti nalaze se u skupu internih registara PLC-a i bivaju zamenjene sa novim vrednostima posle sledeće konverzije. Sadržaj tih registara, se međutim, prebacuje u odgovarajuće područje datoteke ulaza samo u toku ulaznog sken ciklusa. Ukoliko je korisniku, iz nekog razloga, važno da raspolaže i sa trenutnom vrednošću ulaza na nekom kanalu, on to može da ostvari posebnom programskom naredbom koja će uzeti traženu vrednost iz registra i smestiti je na odgovarajuće mesto u datoteci.

2.4.2. ANALOGNI IZLAZNI KANAL Za razliku od analognih ulaza, svakom analognom izlaznom kanalu pridružen je

poseban D/A konvertor. Pomoću njega se celobrojna vrednost koja se nalazi na odgovarajućem mestu u datoteci izlaza pretvara u strujni ili naponski signal. U principu, moduli se razlikuju po rezoluciji, ali se najčešće sreću konvertori čija je rezolucija 12 do 14 bitova.

Kod posmatrane klase kontrolera koriste se 14-bitni D/A konvertori. Otuda se svakom izlaznom kanalu pridružuje po jedna memorijska reč. To nadalje znači da se svaki izlazni kanal adresira pomoću adrese oblika O:e.w. Pri tome se za smeštanje podatka koristi 14 levih bitova, tako da dva poslednja desna bita nisu u upotrebi. To znači da se po četiri celobrojna podatka koja se međusobno razlikuju samo u vrednosti dva poslednja desna bita (koja odgovaraju stepenima 20 i 21) konvertuju u isti analogni signal kao što je to ilustrovano na Sl. 2-13. To znači da je najmanje značajan bit (LSB) zapravo bit uz 22. Otuda se rezolucija konvertora, odnosno najmanji kvant rezultujućeg analognog signala određuje prema sledećoj relaciji

X X X X X X X X X X X X X X 0 0

20212223242526272829210211212213214215

X X X X X X X X X X X X X X 0 1

X X X X X X X X X X X X X X 1 0

X X X X X X X X X X X X X X 1 1

Celobrojni podatak koji se konvertuje

Najmanja celobrojna vrednost različita od nule: 22 = 4 (ili 5, 6, 7)Najveća celobrojna pozitivna vrednost: 215- 22 = 32764 (ili 32765, 32766, 32767)

SL. 2-13 RELEVANTNI BITOVI KOD 14-TO BITNE A/D KONVERZIJE

Page 5: Pages from plc 1

Mali_kontroleri/30

opseg analognog izlazar 4

opseg celobrojnih vrednosti= ×

Kao i analogni ulazi, i analogni izlazi se prave za standardizovane naponske i strujne signale. Pri tome, za razliku od ulaznih modula, ovde je svaki kanal unapred formiran za prenošenje ili naponskih ili strujnih signala. Tipičan skup signala i način njihovog pretvaranja iz celobrojnih vrednosti u električne signale dat je u tabeli T. 2-11.

U skladu sa podacima iz tablice, vidi se da se konverzija vrednosti može izvršiti prema sledećim relacijama

CELOBROJNA DECIMALNA VREDNOST ×=10

32768 IZLAZNI NAPON (V)

CELOBROJNA DECIMALNA VREDNOST ×=21

32768 IZLAZNA STRUJA (mA)

Pri tome je potrebno zapaziti da će se isti rezultat dobiti i ako se u gornjim relacijama koristi konstanta 32764 umesto 32768. Naime, razlika u rezultatu ogledaće se samo u poslednja dva bita koja se, kao što je već rečeno, ne koriste pri D/A konverziji.

CELOBROJNA DECIMALNA REPEREZENTACIJA (DATOTEKA IZLAZA)

OPSEG NAPONA/STRUJE

REZOLUCIJA

-32768 do +32764 -10V dc do +10V dc

1.2207mV 0 do 32764 0 do 10V dc 0 do 16384 0 do 5V dc

3277 do 16384 1 do 5V dc 0 do 32764 0 do 21mA

2.56348µA 0 do 31208 0 do 20mA 6242 do 31208 4 do 20mA

T. 2-11 OPSEG IZLAZNIH SIGNALA I KONVERZIJA CELOBROJNIH VREDNOSTI U ELEKTRIČNE VELIČINE

2.5. FORMIRANJE PROJEKTA

SL. 2-14 POKRETANJE PROJEKTA I IZBOR PROCESORA

Page 6: Pages from plc 1

Mali_kontroler/31

Formiranje projekta započinje uvek specifikacijom samog kontrolera na kome će se data aplikacija realizovati. To znači da korisnik mora da pruži informaciju o vrsti i tipu procesorskog modula koji će se koristiti, o ulazno izlaznim modulima koji će se postaviti u šasiji i o tipu računarske mreže u koju će taj kontroler biti vezan. Najveći broj proizvođača PLC-ova razvio je i odgovarajući grafički korisnički interfejs koji omogućava korisniku da na veoma jednostavan način izvrši ove operacije. U tom slučaju specifikacija se odvija kroz sistem "prozora" okviru kojih se korisniku nude sve moguće opcije među kojima on odabira onu koja odgovara datoj konfiguraciji.

Za kontrolere tipa SLC500 i MicroLogix na raspolaganju je softverski alat RSLogix500. Pokretanjem ovog alata korisniku se pruža mogućnost da kreira novi projekat ili ažurira već postojeći. Ukoliko se otvara novi projekat onda je kao prvo neophodno da se specificira procesor koji će biti korišćen u kontroleru. Ova specifikacija se obavlja izborom željenog procesora sa liste raspoloživi procesora. Na Sl. 2-14 se vidi izbor procesora SLC 5/03 sa 16K memorije.

SL. 2-15 IZBOR ŠASIJE I U/I MODULA Čim se odabere procesor automatski se otvara prozor koji omogućava dalju

specifikaciju kontrolera i započinjanje pisanja programa. Samo se po sebi razume da je pre formiranja programa neophodno da se definišu ulazni i izlazni moduli čije podatke će program da koristi. Otuda je sledeći korak selekcija opcije IO Configuration, čime se korisniku pruža mogućnost da odabere tip šasije koji želi dakoristi, a zatim da redom odabira ulazno/izlazne module koje će postaviti u slotove 1, 2, itd (Sl. 2-15). Potrebno je

Izbor šasije

Izbor U/I modula u

slotu 1

Page 7: Pages from plc 1

Mali_kontroleri/32

zapaziti da je u slotu 0 već smešten odabrani procesor. Na Sl. 2-16 prikazana je odabrana konfiguracija kontrolera. Budući da je odabrana

šasija koja ima 4 slota, pored procesora definisana su još 3 U/I modula. koji izgled prozora pri definiciji konfiguracije PLC-a iz familije Allen Bradley SLC 500 Modular Controllers. Sa slike se vidi da se u slotu 0 nalazi procesorski modul tipa 5/03, koji u šasiji ima prostor za još tri modula.

Kao što se vidi sa Sl. 2-15 u slotu 1 nalazi se kombinovani digitalni modul sa 6 ulaza i 6 izlaza. Ovaj modul imaće adrese I:1.0/b i O:1.0/b gde je b redni broj bita koji može imati vrednost od 0 do 5. Pri tome, ulazni signali moraju biti jednosmerni u opsegu do 24 V, dok su izlazni signali prilagođeni standardima za upravljanje relejima.

U slotu 2 smešten je modul sa 2 analogna ulazna kanala i 2 analogna izlazna kanala. Ulazni kanali mogu da se koriste za ulaz strujnih signala (-20mA do +20 mA) ili za ulaz naponskih signala (–10V do +10V), što se podešava postavljanjem internih prekidača. Adrese ova dva ulazna kanala su I:2.0 i I:2.1. Oba izlazna kanala daju jednosmerne naponske signale u opsegu od –10V do +10V, dok su adrese ova dva izlaza O:2.0 i O:2.1.

U slotu 3 nalazi se digitalni ulazni modul sa osam ulaza (I:3.0/b , b = 0,1,.. ,7). Ovaj modul prima digitalne signale koji su naizmenični u opsegu do 200/240 V.

SL. 2-16 PRIMER KONFIGURISANJA PLC-A

Tek kada se definiše struktura PLC-a može se početi sa formiranjem programa. Kao što je već rečeno, svaki proizvođač PLC-a razvija i posebni softverski alat koji omogućava da se na izuzetno jednostavan način definiše struktura PLC-a i formira odgovarajući program. Ovaj alat, koji kod najvećeg broja proizvođača korristi grafički interfejs (GUI), omogućava da se PLC emulira na standardnom PC računaru. To zapravo znači da se, sa gledišta korsinika, PC računar na kome je softverski alat instaliran ponaša kao PLC. Korisnik, u fazi definisanja aplikacije, razvijanja i testiranja programa, ima mogućnost da koristi sve opcije i pogodnosti PC računara. Kada je program razvijen on se, posebnom tehnikom, prebaci na PLC (down load programa). Ukoliko PLC ostane i dalje u vezi sa PC računarom, onda se isti softverski alat može koristiti da se pomoću PC-a prati izvršavanje formiranog algoritma i obavljaju eventualne korekcije.

Page 8: Pages from plc 1

Leder_uvod/33

3. LEDER PROGRAMIRANJE

3.1. UVOD U LEDER PROGRAMIRANJE Kao što je već rečeno 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 časovnici 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) (Sl. 3-1).

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. Naime, za vreme programskog skena menjaju se samo vrednosti promenljivih smeštenih u datoteku izlaza (output image file). Tek kasnije, za vreme izlaznog dela sken ciklusa, sve promenljive iz datoteke 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 datoteci ulaza (input image file), 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 skeniranja pojedinog ranga.

3.2. BIT NAREDBE 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. Gledano potpuno opšte 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).

SL. 3-1 LEDER RANG

Page 9: Pages from plc 1

Leder_uvod/34

3.2.1. BIT NAREDBE ZA DEFINISANJE 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) .

• XIC - Examine if closed (ispitivanje da li je kontakt zatvoren)

• XIO - Examine if open (ispitivanje da li je kontakt otvoren)

Nazivi ove dve naredbe potiču od ispitivanja binarnnih signala koji dolaze sa

prekidačkih kola. U tom smislu XIC naredba se odnosi na normalno otvoren prekidač (ima vrednost 1 kada je prekidač pritisnut), dok se XIO naredba odnosi na normalno zatvoren prekidač (ima vrednost 1 kada prekidač niej pritisnut – "ne a").

3.2.2. 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 nardebe nalaze na desnoj strani ranga, što znači da će se one izvršiti samo ako je iskaz (uslov) na levoj strani ranga istinit.

• OTE - Output energize (pobuđivanje izlaza)

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 - Output latch (pamćenje izlaza)

OTL naredbom se adresovani 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

Page 10: Pages from plc 1

Leder_uvod/35

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 - Output unlatch (resetovanje izlaza)

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.

3.2.3. BIT TRIGER NAREDBA

• OSR - One-shot r is ing (uzlazna ivica)

OSR naredba omogućava da se obezbedi izvođenje 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 adresovani 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 da se istakne 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”.

Iza OSR naredbe se može nalaziti samo jedna naredba akcije. (Kod kontrolera tipa SLC 500 i SLC 5/01 OSR naredba se ne sme nalaziti u paralelenim granama na

Page 11: Pages from plc 1

Leder_uvod/36

desnoj strani ranga). Kod kontrolera tipa MicroLogix postoje i ONS i OSF naredbe. ONS naredba ima

isti efekat kao i OSR, što znači da je aktivna pri uzlaznoj ivici signala (promena sa neistinit na istinit), dok je OSF naredba aktivna pri silaznoj ivici (promena sa istinit na neistinit),

3.2.4. PROGRAMSKI SKEN I VREMENSKI DIJAGRAM U toku programskog skena procesor izvršava pojedinačne naredbe, obrađujući

rang po rang od početka pa do kraja programa. U okviru obrade jednog ranga, procesor ispituje stanja bitova u datotekama podataka, određuje vrednost pojedinačnih naredbi uslova, izvršava logičke I i ILI operacije nad tim vrednostima, u skladu sa načinom na koji je formiran desni deo ranga, i kao rezultat tih operacija određuje istinosnu vrednost uslova. Ukoliko je ova vrednost istinit, procesor će izvršiti naredbe koje se nalaze na levoj strani ranga i koje predstavljaju akciju.

U cilju ilustracije izvršavanja leder programa u PLC-u posmatraćemo jedan rang (Sl. 3-2) nekog programa. U okviru ovog ranga ispituje se stanje jedne ulazne linije koja je vezana za nulti pin ulaznog dela kombinovanog U/I modula, smeštenog u slotu 1 PLC-a. Na osnovu stanja ulazne linije generiše se signal na izlaznoj liniji koja je vezana za nulti pin izlaznog

dela istog U/I modula. Na slici Sl. 3-3 prikazan je vremenski dijagram promene signala na ulaznoj liniji, vrednosti bita u input image file-u

koji je pridružen toj liniji, vrednosti bita u output image file-u i signala na izlaznoj liniji koji je sa tim bitom povezan. Pretpostavljeno je da ceo program ima više ulaznih signala i više izlaznih signala čije očitavanje, odnosno generisanje zahteva određeni period vremena za ulazni i izlazni sken interval. Isto tako, pretpostavljeno je i da se program sastoji od više rangova, čija obrada zahteva neki period vremena (programski sken interval).

Potrebno je da se zapazi da se stanje signala na ulaznoj liniji može promeniti u

sken

programa

sken

programa

sken

programa

sken

programa

sken

izlazasken

ulaza

sken

izlazasken

ulaza

sken

izlazasken

ulaza

sken

izlaza

vreme

10 42 3

10 42 3

10 42 3

10 42 3

ulazna

linija

vrednost

bita

I:1/0

vrednost bita

O:1/0

Izlazna linija

43210

sken ciklus 1 sken ciklus2 sken ciklus3 sken ciklus 4

sken

ulaza

SL. 3-2 POSTAVLJANJE IZLAZA U ZAVISNOSTI OD VREDNOSTI ULAZA

SL. 3-3 VREMENSKI DIJAGRAM PROMENE U/I LINIJA I ODGOVARAJUĆEG RANGA

Page 12: Pages from plc 1

Leder_uvod/37

bilo kom trenutku. Međutim, vrednost bita pridružena toj liniji biće promenjena tek u toku prvog ulaznog sken ciklusa koji nastupa posle promene stanja ulazne linije. Za vreme programskog skena vrednost XIC naredbe se određuje na osnovu stanja odgovarajućeg bita, a ne njemu odgovarajućeg ulaznog signala. Otuda je u prvom sken ciklusu vrednost ove naredbe 0 iako je ulazni signal već u stanju logičke jedinice. Međutim, budući da je on promenio stanje tek posle prvog ulaznog skena, ta promena još uvek nije registrovana postavljanjem njemu odgovarajućeg bita, koji je odgovaran za vrednost XIC naredbe. U skladu sa tim, ne izvršava se OTE naredba, pa izlazni bit i njemu odgovarajuća izlazna linija ostaju u stanju 0. Promena na ulazu dovodi do promene ulaznog bita tek u drugom ulaznom sken ciklusu, tako da tek u drugom programskom ciklusu XIC naredba dobija vrednost istinit. Kao rezultat ove vrednosti izvršava se OTE naredba i izlazni bit postavlja na vrednost 1. U toku drugog izlaznog sken ciklusa ova vrednost prenosi se na izlaznu liniju gde se generiše signal koji odgovara logičkoj jedinici.

Kašnjenje između trenutka u kome signal na ulaznoj liniji menja vrednost i trenutka u kome se ta promena registruje postavljanjem odgovarajućeg bita, kao i kašnjenje između trenutka u kome izlazni bit dobija neku vrednost i trenutka kada se ta vrednost pojavi na izlaznoj liniji može se izbeći posebnim neposrednim naredbama, o kojima će kasnije biti više reči.

3.2.5. PRIMERI PR. 3-1 UPRAVLJANJE PALJENJEM SIJALICE

ZADATAK Posmatra se električno kolo (Sl. 3-4) u kome

sijalica S svetli kada je zatvoren prekidač P1 i jedan od prekidača P2 ili P3. Potrebno je da se ovo električno kolo zameni sa PLC-om.

PROJEKTOVANJE SISTEMA Da bi se postavljeni

zadatak rešio neophodno je kao prvo da se ustanovi sa kojom opremom se raspolaže i da se odluči kako će se ona vezati za PLC. Pretpostavimo da imamo tri tastera od kojih su dva normalno otvorena i jedan normalno zatvoren i jedno električno kolo u kome se nalazi sijalica koje se zatvara pomoću releja. Usvojićemo da normalno otvoreni tasteri obavljaju funkciju

prekidača P1 i P3, dok će normalno zatvoren taster obavljati funkciju prekidača P2.

U skladu sa odabranim senzorima i izvršnim organom neophodno je da raspolažemo sa tri digitalna ulaza i jednim digitalnim izlazom. Budući da imamo PLC koji u prvom slotu ima digitalni U/I modul, možemo izvršiti vezivanje opreme. Po prirodi stvari vezaćemo tri tastera za ulazne pinove 0, 1 i 2, dok će rele na izlazu biti vezano za izlazni pin 0. Shodno tome, adrese prekidača P1, P2 i P3 su respektivno I:1/0, I:1/1 i I:1/2, dok je adresa sijalice O:1/0 (Sl. 3-5).

PROGRAMIRANJE Kada je formirana šema vezivanja opreme za PLC, onda se pristupa pisanju leder

programa. U cilju formiranja levog dela ranga treba uočiti da je uslov za paljenje sijalice da se

SL. 3-4 ELEKTRIČNO KOLO

SL. 3-5 SPREZANJE SENZORA I IZVRŠNOG ORGANA SA PLCOM

Page 13: Pages from plc 1

Leder_uvod/38

istovremeno pritisne taster P1 i jedan od tastera P2 ili P3. Budući da su tasteri P1 i P3 normalno otvoreni, pritisak na njih dovodi do zatvaranja odgovarajućih prekidačkih kola, tako da se može detektovati pomoću XIC naredbe, koja će dobiti vrednost istinit kada su vrednosti odgovarajućih bitova u datoteci ulaza (I:1/0 и I:1/2) postavljene na 1. Pritisak na taster P2 koji je normalno zatvoren, dovodi do otvaranja njegovog prekidačkog kola, što znači da se može detektovati pomoću XIO naredbe, koja će dobiti vrednost istinit kada je vrednost odgovarajućeg bita u datoteci ulaza (I:1/1) postavljena na 0. Konačno, kako se nad tasterima 2 i 3 zahteva logička ILI operacija, to odgovarajuće naredbe moraju biti vezane paralelno. Ispunjenost uslova treba da obezbedi da se na izlaznom pinu generiše naponski signal koji će da prouzrokuje paljenje sijalice. Ovaj zahtev se može ostvariti OTE naredbom. U skladu sa time odgovarajući rang leder programa ima izgled kao na Sl. 3-6.

Svakom bitu koji se koristi u leder programu može se pridružiti simboličko ime. U principu nema nikakvih posebnih pravila u pogledu davanja imena. Ipak praksa je pokazala da je pogodno da se ime formira tako da što vernije opisuje fizičko značenje signala na koji se odnosi. Pored toga, u cilju lakše provere ispravnosti programa, pogodno je da se ime formira tako da odgovara stanju pri kome bit koji se ispituje ima vrednost 1. Poštujući taj princip, u ovom primeru je bitu I:1/0 dato ime p1_on (bit I:1/0 ima vrednost 1 kao je P1 pritisnut (on), dok je bitu I:1/1 dato ime p2_off (bit I:1/1 ima vrednost 1 kad je P2 nepritisnut(off). U skladu sa time prva XIC naredba koja ispituje vrednost bita na adresi I:1/0 dobiće vrednost istinit ako bit ima vrednost 1 što znači da taster P1 jeste pritisnut . Isto tako XIO naredba koja ispituje vrednost bita na adresi I:1/1 dobiće vrednost istinit ukoliko bit nema vrednost 1, što znači da taster P2 nije nepritisnut .

SAMODRŽANJE Opisani sistem će ispravno raditi samo dotle dok se odgovarajući tasteri drže pritisnuti.

Naime, čim se taster otpusti on se vraća u normalni položaj i u sledećem sken ciklusu, uslov više neće biti ispunjen, pa će se sijalica ugasiti. Prirodno je međutim da se zahtev postavi tako da sijalica nastavi da svetli i posle otpuštanja tastera.

Postavljeni zadatak može se rešiti tako što će se na neki način upamtiti da je uslov za paljenje sijalice u nekom trenutku bio ispunjen. U tu svrhu može se na izlaznom delu ranga umesto OTE naredbe postaviti OTL naredba koja će obezbediti trajno postavljanje (lečovanje) izlaza (Sl.

SL. 3-6 LEDER PROGRAM KOJI REALIZUJE ELEKTRIČNO KOLO

SL. 3-7 LEDER PROGRAM KOJI TRAJNO POSTAVLJA IZLAZNI BIT ("PAMTI" AKO JE USLOV BIO ISPUNJEN)

Page 14: Pages from plc 1

Leder_uvod/39

3-7). Umesto korišćenjem naredbe OTL isti efekat se može postići i postupkom takozvanog

samodržanja kojim se zadržava vrednost izlazne promenljive i posle prestanka uslova za njeno aktiviranje. Naime, ako se u delu ranga koji predstavlja uslov doda još jedna paralelna grana sa XIC naredbom u kojoj se ispituje upravo bit koji se postavlja kao izlaz tog ranga (Sl. 3-8) onda će, čim se pritiskanjem tastera uslov prvi put ispuni, odgovarajući bit biti postavljen na 1, što znači da će u sledećim sken ciklusima naredba u paralelnoj grani stalno imati vrednost istinit, pa se vrednost izlaznog bita neće menjati sa promenom stanja tastera.

ZAUSTAVLJANJE Potrebno je da se istakne da su poslednja dva primera formirana tako da će sijalica kad se

jedanput upali nastaviti da svetli neograničeno dugo. Da bi se omogućilo i gašenje sijalice neophodno je da sistemu doda još jedan taster (Stop). Pritiskom na ovaj taster, jedanput upaljena sijalica, bi bila isključena. Ako se pretpostavi da je ovaj taster normalno otvoren i da je vezan na pin 3 istog ulaznog modula, onda se postavljeni zadatak može realizovati na način koji je prikazan na slikama Sl. 3-9 i Sl. 3-10. Ovde je, naime na red sa delom ranga kojim se ostvaruje paljenje sijalice, vezan uslov kojim se proverava da li Stop taster nije pritisnu. Sve dok Stop taster nije pritisnut, vrednost tog dela uslova je istinita, dakle on ne utiče na ponašanje sijalice. Kad se Stop taster pritisne, vrednost tog dela uslova postaje neistinita, a budući da je to redni (serijski) uslov, i vrednost celog ranga postaje neistinita. U tom slučaju u programu sa trajnim postavljanjem izlaznog bita uslov u drugom rangu postaje istinit i aktivira naredba OTU (Sl. 3-9). Kod rešenja sa samodržanjem, sama činjenica da u rangu jedan od redno vezanih uslova postaje neistinit dovodi do toga da je uslov neistinit pa se izlazni bit OTE naredbom postavlja na 0 (Sl. 3-10).

SL. 3-8 – LEDER PROGRAM SA POSTUPKOM SAMODRŽANJA

SL. 3-9 – LEDER PROGRAM SA TRAJNIM PAMĆENJEM USLOVA DO PRITISKA STOP TASTERA

Page 15: Pages from plc 1

Leder_uvod/40

Zapazimo da bi ceo problem oko paljenja i gašenja sijalice bio bi rešen rangom koji je prikazan na Sl. 3-6, da su umesto tastera korišćeni dvopoložajni prekidači.

PR. 3-2 PUŠTANJE SISTEMA U RAD

ZADATAK Posmatra se sistem koji počinje da radi kada se pritisne START taster. Sistem nastavlja sa

radom sve dok se ne pritisne stop taster. Istovremeno se zahteva da se prilikom započinjanja rada sistema generiše impulsni signal koji realizuje brzo “zamrzavanje” nekog LED displeja. Potrebno je da se formira leder program koji će podržavati rad opisanog sistema uz pretpostavku da se on pušta u rad pomoću jednog “on/off” motora.

REŠENJE Neka su kola koja sadrže START i STOP taster kao i kolo za pobudu motora vezani za U/I

modul koji je smešten u slotu 1 PLC-a i to na pinove kojima respektivno odgovaraju adrese I:1/0, I:1/1 i O:1/0. Neka je nadalje signal koji upravlja zamrzavanjem displeja vezan za izlazni pin čija je adresa O:1/1. Odgovarajući leder program dat je na Sl. 3-11.

U prvom rangu uslov je ispunjen ako je START taster pritisnut i STOP taster nije pritisnut. U tom slučaju generisaće se signal za start motora i on će biti zalečovan, tako da se njegova vrednost neće menjati ukoliko se zbog otpuštanja START tastera promeni vrednost uslova. Istovremeno će, prilikom pritiska START tastera, OSR naredba detektovati promenu neistinit/istinit što će dovesti do toga da ona u tom sken ciklusu dobije vrednost istinit tako da će se izvršiti OTE naredba kojom se na izlazu O:1/1 generiše potreban impulsni signal. Sve dok se ne pritisne STOP taster, vrednost uslova u drugom rangu biće neistinita, tako da se naredba unletch neće izvršavati. Kada se pritisne STOP taster, uslov u prvom rangu postaje neistinit, što znači da se letch naredba ne izvršava. Međutim, vrednost uslova u drugom rangu postaje istinita, pa se izvršava unletch naredba, i time signal za start motora dobija vrednost “logičke” nule, pa se motor zaustavlja.

SL. 3-10 – LEDER PROGRAM SA SAMODRŽANJEM DO PRITISKA STOP TASTERA

SL. 3-11 – START/STOP LEDER PROGRAM

Page 16: Pages from plc 1

Leder_uvod/41

PR. 3-3 REALIZACIJA SEKVENCE

SL. 3-12 REALIZACIJA SEKVENCE POMERANJA KLIPOVA

Page 17: Pages from plc 1

Leder_uvod/42

ZADATAK Dat je sistem koji sadrži jedan jednosmerni solenoid (A) i dva dvosmerna (B i C). Potrebno

je realizovati sledeću sekvencu pomeranja klipova: A+ B+ C+ B- A- C- . Pri tome se pretpostavlja da su u početnom trenutku svi klipovi uvučeni. Granični prekidači koji indiciraju uvučenost klipa A i B su normalno zatvoreni, dok su svi ostali granični prekidači normalno otvoreni. Sistem se pušta u rad pomoću pritiska na taster i prestaje sa radom kada se jedanput izvrši zahtevana sekvenca.

REŠENJE Jedno moguće rešenje postavljenog zadatka dato je na Sl. 3-12 Realizacija sekvence

pomeranja klipova. Pri tome je pretpostavljeno da su granični prekidači vezani za PLC preko ulaznog modula koji se nalazi u slotu 3 (adrese I:3/b), dok se pobude solenoida dobijaju preko izlaznih linija modula u slotu 1 (adrese O:1/b). Start taster je vezan preko nultog pina modula u slotu 1 (I:1/0).

Interne promenljive kreni (B3:0/0) i kraj (B3:0/2) koriste za otpočinjanje i završetak rada. Interna promenljiva vrati A (B3:0/1) služi za deaktiviranje pobude klipa A, posle čega ga opruga vraća u početni položaj.

Potrebno je da se obrati pažnja na činjenicu da se, da ne bi došlo do slučajnog pomeranja klipova (izazvanog recimo nekim opterećenjem), oni u izvučenom položaju drže pod naponom, sve dok ne dođe trenutak za njihovo uvlačenje. Budući da se stanje graničnih prekidača menja čim se klip pomeri, da bi se obezbedio kontinuitet napajanja koristi se postupak samodržanja (rang 3 i 4).

Zapazimo, takođe, da se stanje prekidača koji indiciraju uvučen položaj klipa ne može ispitivati samo po sebi. Naime ovi prekidači su pritisnuti u početnom stanju, pa je neophodno utvrditi da je došlo do pokreta pre nego što su oni ponovo pritisnuti (rang 5, 6 i7).

3.3. NAREDBE ZA MERENJE VREMENA I PREBROJAVANJE DOGA ĐAJA

3.3.1. ČASOVNIK I BROJAČ Prilikom upravljanja ili nadzora procesa često je potrebno da se neka aktivnost

otpočne ili zaustavi posle određenog vremenskog perioda, ili da se ponovi određeni broj puta. U tom smislu neophodno je da kontroler koji će se koristiti za upravljanje procesom pruži mogućnost za merenje vremena i prebrojavanje događaja. Prebrojavanje događaja obavlja brojač (counter), koji nakon registrovanja unapred zadanog broja događaja generiše odgovarajući signal. Merenje vremena ostvaruje se pomoću časovnika (timer). U suštini časovnik izražava vreme kao multipl određenog osnovnog intervala (vremenska baza). To zapravo znači da časovnik radi kao brojač protoka osnovnih intervala i da nakon isteka određenog, unapred zadanog intervala vremena, generiše odgovarajući signal.

Gledano potpuno opšte merenje protoka vremena i prebrojavanje događaja u okviru kontrolera može se realizovati hardverski pomoću odgovarajućih računarskih komponenti (modula) ili softverski (programski). Hardverska realizacija podrazumeva da kontroler ima posebni modul koji ostvaruje funkciju časovnika i brojača. Korisnik odgovarajućim naredbama definiše parametre modula i u toku izvršavanja programa kontroliše njegov rad. U slučaju softverske realizacije, ovu funkciju ostvaruje posebni programski modul, koji korisnik, po potrebi, uključuje u svoj program i odgovarajućim naredbama upravlja njegovim radom. Sa aspekta načina korišćenja, gotovo da i nema razlike između ove dve realizacije. Razlika se zapravo ogleda samo u funkcionalnom smislu. U principu, ukoliko su časovnik i brojač hardverski realizovani oni svoju funkciju obavljaju autonomno, što znači da ne koriste procesor za svoj rad. Nasuprot tome, softverski realizovani časovnik i brojač, kao i svi drugi programski moduli, za izvođenje svojih funkcija zahtevaju izvesno procesorsko vreme. Budući da je procesor opterećen čitavim nizom poslova, to znači da postoji samo određeno vreme koje on može posvetiti radu časovnika i brojača. Otuda hardverska realizacija, bar u principu, omogućava rad sa manjim intervalima vremena, odnosno bržim ponavljanjem događaja od softverske. Sa druge strane međutim, softverska realizacija omogućava da se definiše i koristi praktično neograničen broj časovnika i brojača, jer se kao jedino ograničenje javlja veličina raspoložive memorije.

Page 18: Pages from plc 1

Leder_uvod/43

U seriji kontrolera SLC 5 časovnici i brojači su realizovani softverski, i koriste se kao naredbe akcije. Kao što je već istaknuto ne postoji nikakvo posebno ograničenje u pogledu njihovog broja. Potrebno je da se naglasi da su za neke od SLC 5 kontrolera, kao i za MicroLogix kontrolere razvijeni i posebni hardverski brojači.

Pri korišćenju časovnika i brojača neophodno je da se definišu sledeći parametri.

• Vremenska baza (t ime base) određuje dužinu osnovnog intervala vremena. Kod fiksnog kontrolera SLC/500 i modularnog SLC 5/01, vremenska baza je definisana kao 0.01 sec. Kod kontrolera SLC 5/02, 5/03 i 5/04 bira se jedna od dve moguće vrednosti: 0.01 sec ili 1.0 sec.

• Zadana vrednost (preset value - PRE) je vrednost kojom se definiše željeni broj osnovnog intervala vremena (čime se određuje ukupno vreme koje časovnik treba da izmeri), odnosno ukupni broj događaja koje brojač treba da registruje pre nego što se generiče signal koji označava da su časovnik ili brojač završili rad. Zadana vrednost za časovnik može da se kreće u intervalu od 0 do +32767, dok se zadana vrednost za brojač kreće u opsegu od -32768 do +32767.

• Akumulirana vrednost (accumulated value - ACC) predstavlja broj osnovnih vremenskih intervala koje je časovnik izbrojao, odnosno broj događaja koje brojač registrovao u nekom trenutku. Kada akumulirana vrednost postane veća ili jednaka od zadane vrednosti časovnik, odnosno brojač, završavaju svoj rad. Opseg dozvoljenih vrednosti za akumuliranu vrednosti isti je kao i za zadanu vrednost.

3.3.2. DATOTEKA PODATAKA O ČASOVNIKU (TIMER DATA FILE) S obzirom da je

časovnik realizovan softverski, parametri koji definišu njegov rad moraju biti smešteni u memoriji kontrolera. Za pamćenje podataka o časovnicima koristi se datoteka podataka broj 4 (timer file – T). U ovoj datoteci može se definisati najviše 256 različitih časovnika. Ukoliko je potrebno da se koristi veći broj časovnika, korisnik može definisati i dodatne datoteke

(korisnički definisane datoteke) čiji su brojevi od 9 do 255. Svakom časovniku pridružuju se po jedan element koji se sastoji se od tri 16-bitne

reči (Sl. 3-13). Potrebno je da se zapazi da redni broj elementa zapravo definiše jedan određeni časovnik unutar jedne datoteke časovnika. Svaki od tri bita stanja, kao i zadana i akumulirana vrednost mogu se posebno adresirati i to bilo na standardan način na koji se formira adresa u bilo kojoj datoteci podataka, bilo preko odgovarajućih simbola. To zapravo znači da su sledeće adrese međusobno ekvivalentne:

Tf:e.1 ili Tf:e.PRE Tf:e.2 ili Tf:e.ACC Tf:e.0/15 ili Tf:e/15 ili Tf:e/EN Tf:e.0/14 ili Tf:e/14 ili Tf:e/TT Tf:e.0/13 ili Tf:e/13 ili Tf:e/DN

SL. 3-13 ELEMENAT DATOTEKE ČASOVNIKA I ADRESIRANJE ČASOVNIKA

Page 19: Pages from plc 1

Leder_uvod/44

3.3.3. NAREDBE ZA RAD SA ČASOVNIKOM Kao što je već rečeno naredbe časovnika su naredbe akcije, što znači da se

nalaze na desnoj strani ranga u leder programu. Postoje tri tipa naredbi kojima se realizuju tri vrste časovnika, i jedna naredba kojom se stanje časovnika resetuje.

Potrebno je da se istakne da se sam časovnik i način njegovog rada definiše preko naredbe koja se uvrštava u leder program. Drugim rečima, kad se u program stavi jedna od moguće tri naredbe i u njoj naznači adresa časovnika u odgovarajućem formatu, onda operativni sistem sam zauzme tri reči u datoteci koja je navedena u adresi.

• Timer on-delay (TON) Kao što je već rečeno,

stavljanjem ove naredbe u leder program automatski se definiše prva vrsta časovnika i zauzimaju tri reči koje čine elemenat broj e u datoteci časovnika broj f. Prilikom formiranja

naredbe specificiraju se i vremenska baza (tx) i zadana vrednost (ns). Akumulirana vrednost (na)se automatski postavlja na 0.

TON naredba započinje rad časovnika (prebrojavanje osnovnih vremenskih intervala) za vreme onog programskog sken ciklusa u kome uslov u rangu u kome se naredba nalazi prvi put postaje istinit (prelaz neistini/istinit – uzlazna ivica). U svakom sledećem sken ciklusu, sve dok je uslov istinit časovnik vrši ažuriranje akumulirane

vrednosti (ACC) u skladu sa proteklim vremenom između dva ciklusa. Kada akumulirana vrednost dostigne zadanu vrednost, časovnik prekida svoj rad i postavlja DN bit na 1. Pri tome, ako u nekom sken ciklusu uslov postane neistinit, časovnik prekida svoj rad i akumulirana vrednost se postavlja na 0, bez obzira da li je časovnik pre toga izmerio zahtevano vreme ili ne.

Bitovi stanja časovnika menjaju se u toku programskog sken ciklusa na sledeći način:

• DN - Timer done bit se postavlja na 1 kada je ACC ≥ PRE. On se

resetuje na 0 kad uslov u rangu postane neistinit.

• EN - Timer enable bit se postavlja na 1 kada je uslov u rangu istinit i resetuje na 0 kada uslov postane neistinit.

• TT - Timer timing bit se postavlja na 1 kada je uslov istinit i ako je ACC ≤ PRE. On se resetuje na 0 kada uslov postane neistinit ili kada se DN bit postavi na 1, odnosno kada se završi merenje vremena.

U vezi sa radom časovnika potrebno je da se zapazi nekoliko činjenica. Pre svega

SL. 3-14 VREMENSKI DIJAGRAM IZVRŠAVANJA TON NAREDBE

Page 20: Pages from plc 1

Leder_uvod/45

časovnik radi samo dok je uslov istinit (signal na ulazu u časovnik je u stanju “on”). Istonosnu vrednost uslova pokazuje EN bit. Drugim rečima, ovaj bit ima vrednost 1 onda kada je uslov istinit i to označava da je rad časovnika omogućen (enable). Kada je uslov neistinit, EN bit ima vrednost 0, što znači da je rad časovnika onemogućen. Međutim, činjenica da EN bit ima vrednost 1 ne mora da znači da časovnik zaista i radi, jer je on mogao i da završi rad zbog isteka zadanog vremena, a da pri tome uslov i nadalje ostane istinit. Rad časovnika indicira TT bit. Naime, taj bit je postavljen na 1 za svo vreme za koje časovnik aktivno meri vreme (timer timing), i postavlja se na 0 kada časovnik ne radi. Konačno, kada je vrednost DN bita 1, onda to znači da je časovnik završio (done) svoj posao, tj. izmerio zadano vreme. Pri tome, DN bit ne govori o tome kada je časovnik završio sa poslom, jer će on ostati na vrednosti 1 sve dok uslov ne postane neistinit. Vremenski dijagram rada časovnika ilustrovan je na Sl. 3-14.

Stanje časovnika se može resetovati posebnom RES naredbom, o čemu će kasnije biti više reči.

• Timer off -delay (TOF) Ovom naredbom se definiše

druga vrsta časovnika i zauzimaju tri reči koje čine elemenat broj e u datoteci časovnika broj f. Prilikom formiranja naredbe specificaraju se i vremenska baza (tx) i zadana

vrednost (ns). Akumulirana vrednost (na)se automatski postavlja na 0. TOF naredba započinje rad časovnika za vreme onog programskog sken ciklusa u

kome uslov u rangu u kome se naredba nalazi prvi put postaje neistinit (prelaz istini/neistinit – silazna ivica). U svakom sledećem sken ciklusu, sve dok je uslov neistinit časovnik vrši ažuriranje akumulirane vrednosti (ACC) u skladu sa proteklim vremenom između dva ciklusa. Kada akumulirana vrednost dostigne zadanu vrednost, časovnik prekida svoj rad. Pri tome, ako u nekom sken ciklusu uslov postane istinit, časovnik prekida svoj rad i akumulirana vrednost se postavlja na 0, bez obzira da li je časovnik pre toga izmerio zahtevano vreme ili ne.

Bitovi stanja časovnika menjaju se u toku programskog sken ciklusa na sledeći način:

• DN - Timer done bit se postavlja na 1 kada je uslov istinit. On se resetuje na 0 kada je uslov neistinit i pri tome je ACC ≥ PRE.

• EN - Timer enable bit se postavlja na 1 kada je uslov istinit, i resetuje na 0 kada je uslov neistinit.

• TT - Timer timing bit se postavlja na 1 kada

je uslov neistinit i pri tome je ACC ≤ PRE. One se

resetuje na nulu kada uslov postane istinit ili kada se DN bit resetuje. U vezi sa radom časovnika potrebno je da se zapazi nekoliko činjenica. Pre svega

SL. 3-15 VREMENSKI DIJAGRAM IZVRŠAVANJA TOF NAREDBE

Zadano

vreme (PRE)

Uslov

EN bit

TT bit

ACC vrednost

DN bit

trenutci obrade ranga

0 10 11 12 13 14 15 16 17 1918 20 21 22 23 24 25 26 27 28 2987654321 9vreme

1

9

8-a

7

6

5

4

2-a

2-b

3

13

12

11

10

14

8-b

sken ciklus

Page 21: Pages from plc 1

Leder_uvod/46

časovnik radi samo dok je uslov neistinit (signal na ulazu u časovnik je u stanju “off”). Istonosnu vrednost uslova pokazuje EN, ali za razliku od TON naredbe, ovde on onemogućava rad časovnika. Drugim rečima, ovaj bit ima vrednost 1 onda kada je uslov istinit i to označava da je rad časovnika onemogućen. Kada je uslov neistinit, EN bit ima vrednost 0, što znači da je rad časovnika omogućen. Međutim, činjenica da EN bit ima vrednost 0 ne mora da znači da časovnik zaista i radi, jer je on mogao i da završi rad zbog isteka zadanog vremena, a da pri tome uslov i nadalje ostane neistinit. Rad časovnika indicira TT bit. Naime, taj bit je postavljen na 1 za svo vreme za koje časovnik aktivno meri vreme (timer timing), i postavlja se na 0 kada časovnik ne radi. Konačno, kada je vrednost DN bita 0, onda to znači da je časovnik završio (done) svoj posao, tj. izmerio zadano vreme. Pri tome, DN bit ne govori o tome kada je časovnik završio sa merenjem vremena, jer će on ostati na vrednosti 0 sve dok uslov ne postane istinit. Vremenski dijagram rada časovnika ilustrovan je na slici Sl. 3-15.

• Retent ive Timer (RTO) Ovom naredbom se definiše treća vrsta časovnika i zauzimaju tri reči koje čine

elemenat broj e u datoteci časovnika broj f. Prilikom formiranja naredbe specificaraju se i vremenska baza (tx) i zadana vrednost (ns). Akumulirana vrednost (na) se automatski postavlja na 0.

RTO naredba razlikuje se od TON naredbe samo po tome što se akumulirana vrednost ne resetuje, već zadržava i onda kada uslov postane neistint (Sl. 3-16). Drugim rečima, ovaj časovnik počinje da radi kada uslov postane istinit, i nastavlja sa radom povećavajući akumuliranu vrednost sve dok je uslov istinit. Kada uslov postane neistinit, časovnik prekida rad, ali se akumulirana vrednost pri tome ne menja. To znači da će kada uslov ponovo postane istinit, časovnik nastaviti sa radom i prethodno izmerenom vremenu (ACC) dodavati nove vrednosti. Na taj

način ovaj časovnik omogućuje da se kumulativno mere intervali vremena u kojima je uslov bio istinit (Sl. 3-16).

Bitovi stanja časovnika menjaju se u toku programskog sken ciklusa na sledeći način:

• DN - Timer done bit se postavlja na 1 kada je ACC ≥ PRE (časovnik je izmerio zadano vreme). On se resetuje na 0 pomoću posebne RES naredbe.

• EN - Timer enable bit se

postavlja na 1 kada je uslov u rangu istinit (rad časovnika je omogućen) i resetuje na 0 kada uslov postane neistinit (rad časovnika je onemogućen).

• TT - Timer timing bit se postavlja na 1 kada je uslov istinit i ako je ACC ≤ PRE (časovnik radi). On se resetuje na 0 kada uslov postane neistinit ili kada se DN bit postavi na 1 (časovnik prestaje sa radom).

SL. 3-16 VREMENSKI DIJAGRAM IZVRŠAVANJA RTO NAREDBE

Page 22: Pages from plc 1

Leder_uvod/47

• Reset naredba (RES) RES naredba je naredba akcije i koristi se

za resetovanje časovnika. Kada je uslov istinit ova naredba se izvršava tako što se u časovniku čija je adresa (ili simboličko ime) a navedena u RES naredbi, resetuju na nulu bitovi DN, TT i EN, kao i

akumulirana vrednost (ACC). S obzirom na način rada očigledno je da se RES naredbe ne sme koristiti za TOF tip časovnika.

3.3.4. NAČIN RADA ČASOVNIKA Sve dok časovnik radi u svakom sken ciklusu povećava se akumulirana vrednost.

Pri tome, iznos za koji će se povećati ACC vrednost zavisi od dužine trajanja sken ciklusa. Naime, kada se prilikom obrade ranga ustanovi da su se stekli uslovi da časovnik počne sa radom onda se istovremeno startuje jedan interni časovnik, koji se ažurira preko prekida (interapta) na svakih 0,01 sec. Broj registrovanih vremenskih intervala se smešta u interni 8-bitni registar (bitovi 0-7 u prvoj reči). Ukoliko je u pitanju časovnik čija je vremenska baza 0,01 sec, onda se u sledećem programskom skenu, kada se naiđe na dati rang, vrednost internog registra, koja zapravo predstavlja interval vremena koji je protekao između dva sukcesivna sken-a, dodaje akumuliranoj vrednosti. Nakon toga se interni registar resetuje na nulu i počinje ponovo da meri vreme do sledećeg skena. Budući da je maksimalna vrednost koju može da ima interni registar oko 2,5 sec (255x0,01), može se očekivati da će tajmer raditi ispravno samo ako sken ciklus ne traje duže od 2,5 sekundi. Ukoliko se tajmer koristi u programu čiji sken ciklus traje duže, onda je neophodno da se ista naredba za časovnik postavi na više mesta u programu čime će se obezbediti da se rangovi koji sadrže taj časovnik obrađuju sa učestanošću koja nije veća od 2,5 sekundi. (Svaki put kada se prođe kroz rang koji sadrži časovnik izvršiće se ažuriranje internog registra i povećati akumulirana vrednost).

Ukoliko časovnik radi sa vremenskom bazom od 1 sekunde obrada časovnika je donekle složenija. Ovde se, naime i dalje koristi interni časovnik koji se ažurira na svakih 0,01 sekundi, ali se pri tome u toku obrade ranga akumulirana vrednost ažurira samo ako je akumulirana vrednost veća ili jednaka od 1 sekunde. Pri tome se akumulurina vrednost uvećava za 1, dok se eventualni ostatak vremena pamti u internom brojaču i na njega se dodaju sledeći inkrimenti od po 0,01 sekunde. Postupak ažuriranja akumulirane vrednosti je takav da se može očekivati da će časovnik raditi ispravno ako sken ciklus ne traje duže od 1,5 sekundi (maksimalni mogući ostatak posle očitavanja je 0,99, što uvećano za 1,5 čini 2,5). Naravno, i ovde se problem ciklusa dužeg trajanja može prevazići stavljanjem naredbe časovnika na više mesta u programu.

Potrebno je da se naglasi da je pri korišćenju časovnika neophodno da se posebna pažnja posveti naredbama za skok. Naime, i ako je trajanje sken ciklusa u dozvoljenim granicama, može se desiti da se nekom od naredbi za skok u jednom ili viče suskcesivnih sken ciklusa preskoči rang koji sadrži časovnik. Jasno je da se u tom slučaju neće vršiti ažuriranje akumulirane vrednosti. To nadalje znači da je neophodno da se obezbedi da u slučaju bilo kakvog programskog skoka, naredba za časovnik ne bude isključena iz obrade u periodu koji je duži od maksimalno dozvoljenog vremena.

Tačnost časovnika (timer accuracy) je pojam koji se odnosi na dužinu vremenskog intervala koji protekne od trenutka kada se časovnik uključi do trenutka kada DN bit indicira da je merenje vremena završeno. Kao što je već istaknuto, za časovnike koji rade sa vremenskom bazom od 0,01 sekunde tačnost je u granicama od ±0,01 sec sve dok sken ciklus ne traje duže od 2,5 sekunde. Časovnici koji rade sa vremenskom bazom od 1 sekunde zadržavaju svoju tačnost ukoliko je programski sken kraći od 1, 5 sec.

Neophodno je da se istakne, međutim, da tačnost rada časovnika ne implicira da će i neki događaj koji je vezan sa časovnikom da bude aktiviran sa istom tačnošću. Aktiviranje događaja se ostvaruje ispitivanjem DN bita. U najvećem broju slučajeva ovaj uslov se ispituje jedanput u okviru sken ciklusa. To nadalje znači da je tačnost aktiviranja

Page 23: Pages from plc 1

Leder_uvod/48

događaja određena trajanjem jednog sken ciklusa.

3.3.5. DATOTEKA PODATAKA O BROJAČU (COUNTER DATA FILE) Budući da je

brojač, isto kao i časovnik, realizovan softverski, parametri koji definišu njegov rad moraju biti smešteni u memoriji kontrolera. Za pamćenje podataka o brojačima koristi se datoteka podataka broj 5 (counter file – C). U ovoj datoteci može se definisati najviše 256 različitih brojača. Ukoliko je potrebno da se koristi veći broj brojača, korisnik može definisati i dodatne datoteke (korisnički definisane datoteke) čiji su brojevi od 9 do

255. Svakom

brojaču pridružuju se po jedan element u odgovarajućoj datoteci, koji se sastoji od tri 16-bitne reč (Sl. 3-17). Postoje dva osnovna tipa brojača brojač unapred (CTU – count up) i brojač unazad (CTD – count down) i oba koriste istu datoteku. Isto kao i kod časovnika i brojaču i pojedinim bitovima mogu se umesto adrese dodeliti simbolička imena.

3.3.6. NAREDBE ZA RAD SA BROJAČEM Naredbe za oba tipa brojača su naredbe akcije, što znači da se smeštaju u desni

deo ranga. Oba brojača broje promenu vrednosti uslova sa neistinit na isitinit (uzlazna ivica). Pri svim ostalim vrednostima uslova, oni zadržavaju prebrojani iznos i čekaju sledeći prelaz. Drugim

rečima, brojači se niti puštaju u rad, niti zaustavljaju. Oni

neprekidno rade i beleže (broje) svaki prelaz istinit/neistinit. Dostizanje zadane vrednosti se signalizira postavljanjem odgovarajućeg bita – done bit (DN) – na 1, ali se brojanje i dalje nastavlja. Prebrojani iznos se može izbrisati jedino posebnom RES naredbom.

Jedina razlika između brojača sastoji se u tome što prvi (CTU) broji unapred od 0 do 32767, i postavlja overflow bit (OV) na 1 kad pređe 32767, dok drugi (CTD) broji unazad, od 0 do –32767, i postavlja underflow bit (UN) kad pređe –32767. Potrebno je zapaziti da se u oba slučaja brojanje nastavlja (Sl. 3-18). Kada pređe 32767, brojač unapred dodavanjem još jednog bita dobija vrednost –32767 (u binarnoj aritmetici drugog

SL. 3-17 ELEMENAT DATOTEKE BROJAČA I ADRESIRANJE BROJAČA

SL. 3-18 KRUŽNI RAD BROJAČA

15 01234567891011121314

DNCDCU

zadana vrednost (PRE)

odbrojana vrednost (ACC)

Reč 0

Reč 2

Reč 1

Adresibilne reči

PRE - preset value (zadana vrednost)

ACC - accumulated value (odbrojana

vrednost)

C /w.e:f b

redni broj

datoteke

4 ili 10-255redni broj elementa

u datoteci

0 - 255

redni broj

reči

u elementu

0 - 2

redni broj

bita u reči

0 - 15

Adresibilni bitovi

CU = bit 15 - counter up enable (indikator

uslova kod brojanja unapred)

CD = bit 14 -counter down enable (indikator

uslova kod brojanja unazad)

DN = bit 13 – done (indikator ostvarenog

zadanog broja)

OV = bit 12 – overflow (brojač unapred prešao

32767)

UN = bit 11 – underflow (brojač unazad prešao

-32768)

UA = bit 10 – indikator ažuriranja brzog

hardverskog brojača (HSC)

OV UN UA

Page 24: Pages from plc 1

Leder_uvod/49

komplementa, sa 16-bitnom reči 32767+1= –32768) i nastavlja da broji unapred od tog broja. Na isti način, kada brojač unazad dostigne vrednost od –32768, oduzimanjem sledećeg bita, brojač dobija vrednost 32767 (u binarnoj aritmetici drugog komplementa, sa 16-bitnom reči –32768-1= 32767) i nastavlja da broji unazad od te vrednosti. To nadalje znači da korisnik sam mora da vodi računa o eventualnom prekoračenju opsega.

• Count up (CTU) Bitovi stanja brojača

menjaju se u toku programskog sken ciklusa na sledeći način:

• OV - Count up overflow bit se postavlja na 1 kada akumulirana vrednost (ACC) prelazi sa 32767

na –32768 (u binarnoj aritmetici drugog komplementa, sa 16-bitnom reči 32767+1= –32768), i nastavlja brojanje unapredi.

• DN - Done bit se postavlja na 1 kada je ACC ≥ PRE;

• CU - Count up enable bit se postavlja na 1 kada je uslov istinit, a resetuje na 0 kada je uslov neistinit ili kada se aktivira odgovarajuća RES naredba.

• Count down (CTD) Bitovi stanja brojača

menjaju se u toku programskog sken ciklusa na sledeći način:

• UN- Count down underflow bit se postavlja na jedan kada akumulirana vrednost (ACC)

prelazi sa – 32768 na 32767 (u binarnoj aritmetici drugog komplementa, sa 16-bitnom reči –32768-1= 32767), i nastavlja da broji unazad od te vrednosti.

• DN - done bit se postavlja na 1 kada je ACC ≤ PRE;

• CD - Count down enable bit se postavlja na 1 kada je uslov istinit, a resetuje na 0 kada je uslov neistinit ili kada se aktivira odgovarajuća RES naredba.

• Reset naredba (RES) RES naredba je naredba akcije i koristi se za

resetovanje brojača. Kada je uslov istinit ova naredba se izvršava tako što se u brojaču čija je adresa (ili simboličko ime) navedeno u RES naredbi, postavljaju na nulu svi indikatorski bitovi, kao i

akumulirana vrednost (ACC).

3.3.7. PRIMERI KORIŠĆENJA ČASOVNIKA I BROJAČA PR. 3-4 EKSCENTAR PRESA

ZADATAK Data je jedna ekscentar presa koja se koristi za izradu zatvarača za flaše. Zatvarači se

proizvode tako što se komad metala stavi na postolje ispod bata prese koji se pomera u vertikalnoj ravni (dole – gore). Bat udara u metal kada dođe u krajnji donji položaj i deformiše ga, odnosno oblikuje na ženjeni način. Za bat prese pričvršćena je poluga čiji je gornji kraj vezan ekscentrično za osovinu prese. Položaj tačke vezivanja odabran je tako da obrtanje osovine prese uzrokuje linearno (vertikalno) pomeranje bata. Pri tome, za vreme za koje osovina prese napravi pun obrt, bat prese pređe put od gornjeg krajnjeg do donjeg krajnjeg položaja i nazad. Obrtanje osovine prese ostvaruje se preko motora čija je osovina vezana sa osovinom prese preko frikcione spojnice. Uprošćeni model opisane prese prikazan je na slici Sl. 3-19.

Page 25: Pages from plc 1

Leder_uvod/50

Na presi radi radnik koji postavlja komad metala ispod bata, zatim aktivira presu, sačeka da ona završi jedan krug, izvadi zatvarač i stavlja novi komad metala.

Potrebno je napraviti sistem koji će pomoću PLC-a upravljati radom prese. Sistem treba da je projektovan tako da obezbedi maksimalnu zaštitu radnika u toku rada.

REŠENJE Polazeći od funkcionalnog

opisa uređaja očigledno je da bi presom trebalo da se upravlja tako što će poslužilac prese na neki način

dati znak za pokretanje bata prese. Tada će frikciona spojnica

spojiti osovinu prese na motor i on će pokrenuti bat. Kada bat napravi jedan puni radni ciklus (gore→dole→gore), spojnica rastavlja motor od prese i presa se zaustavlja.

Iz navedenog opisa željenog rada prese izvesno je da mora da postoji jedan prekidač kojim se motor pušta u rad. Pri tome, postoje dve mogućnosti. Ili da se sa svakom aktivacijom prese motor pokreće i zaustavlja ili da se jedanput pokrenut motor stalno vrti, dok se radom same prese upravlja isključivo preko spojnice. Imajući u vidu da je proces proizvodnje zatvarača serijski proces, ovo drugo rešenje je povoljnije. Budući da je brzina motora konstantna za upravljanje je dovoljan jedan digitalni signal koji ćemo vezati za nulti pin izlaznog dela digitalnog U/I modula u prvom slotu. Simboličko ime ovog signala je "motor_on". Ovaj motor pokretaće se pritiskom na jedan poseban taster "start" i zaustavljati pritiskom na taster "stop". Signale sa ova dva tastera dovodićemo na ulazni deo digitalnog U/I modula i to na pinove 0 i 1.

Radom spojnice upravlja se preko jednog elektromagneta koji, kada ima priključeno napajanje, aktivira frikcionu spojnicu, čime se obrtni momenat motora prenese na osovinu ekscentar-prese. Elektromagnet se napaja jednosmernim naponom od 24V. Otuda nam je neophodan još jedan digitalni izlazni signal. Neka je on vezan za pin 1 izlaznog dela digitalnog U/I modula u prvom slotu i neka je njegovo simboličko ime "spoj_on".

Da bi presom moglo da se upravlja neophodno je da se raspolaže sa informacijom o položaju bata. Ovaj problem ćemo rešiti postavljanjem jednog graničnog prekidača na samu presu i to tako da je on zatvoren kada je presa u gornjem graničnom položaju. Digitalnom signalu sa ovog prekidača daćemo simboličko ime "swggr_on" i dovešćemo ga na drugi pin ulaznog dela U/I modula u prvom slotu.

Preostaje još da rešimo način na koji rukovaoc presom pušta presu u rad. Izvesno je da bi se to moglo rešiti postavljanjem jednog tastera koji se pritisne svaki put kad presa treba da napravi jedan hod. Međutim, ovo rešenje bi moglo ozbiljno da ugrozi bezbednost radnika. Naime, njegov radni proces sastojao bi se u tome što on uzme komad metala, stavi ga ispod prese, pritisne taster, sačeka da presa izvrši jedan puni radni ciklus, izvadi formirani zatvarač i stavi novi komad metala. U želji da se taj proces odvija što brže, rukovaoc presom bi mogao da odluči da jednom rukom pritiska taster, a drugom postavlja materijal ispod prese. Jasno je da bi bio dovoljan samo jedan trenutak nepažnje pa da on ozbiljno povredi ruku. To nadalje znači da je neophodno da se osmisli takav način puštanja prese u rad da je potpuno izvesno da se u tom trenutku nijedna njegova ruka ne nalazi ispod bata. Ovako formulisan zahtev prirodno nameće ideju da se presa pušta u rad pomoću dva prostorno udaljena tastera koji se mogu istovremeno pritisnuti samo sa obe ruke. Postavićemo zato uz presu dva tastera za desnu i levu ruku i signale sa njih dovešćemo na treći i četvrti pin ulaznog dela digitalnog U/I modula u prvom slotu. ("taster_lr_on" i "taster_dr_on").

Budući da je osmišljena potrebna oprema (senzori i izvršni organi) može se pristupiti formiranju samog algoritma upravljanja i pisanju LADDER programa. U tom cilju neophodno je da se reše dva problema. Prvi, jednostavniji, odnosi se na detekciju trenutka kada je presa završila puni ciklus. Jasno je da će, kada je poluga bata u gornjem graničnom položaju, granični prekidač biti pritisnut. Problem je međutim u tome što on to stanje ima i na početku pre bilo kakvog pomeranja bata i na kraju svakog punog ciklusa. Otuda, samo stanje graničnog prekidača ne govori o tome da li je pokret izvršen ili ne. Da bi se ovaj problem prevazišao, uvodi se jedna interna bit promenljiva (u programu označena kao hod) koja se postavlja dok se bat pomera. Na taj način,

SL. 3-19 ŠEMATSKI PRIKAZ EKSCENTAR PRESE

Osovina

motora

Glavna

osovina

motora

Frikciona

spojnica Poluga bata

Ekscentrična

čaura

Bat prese Hod bata

Page 26: Pages from plc 1

Leder_uvod/51

kada se ustanovi da je granični prekidač zatvoren, potrebno je proveriti da li je istovremeno i interni bit (hod) i tek ta dva uslova zajedno ukazuju da je presa završila jedan puni ciklus.

Drugi problem vezan je za ostvarivanje pune zaštite rukovaoca presom. Praksa pokazuje da postavljanjem dva tastera problem i dalje nije rešen. Naime, može se desiti da rukovaoc, zanemarujući sopstvenu bezbednost, odluči da mu je lakše i brže da radi tako što će jedan od dva tastera zaglaviti tako da stalno bude pritisnut, pa će onda jednom rukom pritiskati drugi taster, a drugom menjati materijal. Naš je zadatak, da algoritam osmislimo tako da nateramo rukovaoca presom da sa obe ruke istovremeno pritiska tastere. Jedan od načina da se postavljeni problem

SL. 3-20 LEDER PROGRAM SA TRAJNIM PAMĆENJEM BITA ZA UPRAVLJANJE EKSCENTAR PRESOM

Page 27: Pages from plc 1

Leder_uvod/52

reši je da se uslov za aktiviranje spojnice postavi tako da se ona ne sme aktivirati ako je jedan od tastera stalno pritisnut, odnosno ako između pritiskanja jednog i drugog tastera prođe više od nekog vremenskog intervala. Recimo da je to 500ms.

Dve varijante LADDER programa kojima se realizuje navedeni algoritam prikazane su na Sl. 3-20 i Sl. 3-21.

Posmatrajmo kao prvo program koji koristi naredbe za trajno pamćenje bitova (Sl. 3-20). U toku programskog sken ciklusa obrađuje se rang po rang. Sve dok se ne pritisne "start" taster uslov u rangu 0 neće biti istinit pa motor neće dobiti pobudu. Otuda je potpuno nebitno šta će se dešavati

SL. 3-21 LEDER PROGRAM SA SAMODRŽANJEM ZA UPRAVLJANJE EKSCENTAR PRESOM

Page 28: Pages from plc 1

Leder_uvod/53

u sledećim rangovima jer presa neće raditi. Rang 1 će biti istinit tek kada se pritisne "stop" taster i tada će motor izgubiti pobudu. U međuvremenu rad prese biće diktiran ostalim rangovima programa.

Kada se pritisne taster leve ili desne ruke (ili oba) časovnik će početi da meri vreme. Pri tome, budući da se taster nakon pritiska može i otpustiti, informacija o tome da je on bio pritisnut pamti se trajno u jednom internom bitu, koji se onda u sledećem rangu (broj 3) koristi kao uslov za pokretanje časovnika. Ovde je potrebno zapaziti da bi časovnik neprekidno radio kada bi jedan od tastera bio zaglavljen u pritisnutom položaju, to znači da bi on stalno pokazivao vreme koje je veće od 500ms.

Sledeći rang (broj 4) služi za aktiviranje spojnice. Uslov da bi se spojnica aktivirila je da su oba tastera prititsnuta, da od trenutka pritiska prvog od njih nije proteklo više od 500ms, i da se presa nalazi u gornjem graničnom položaju. Ukoliko je spojnica aktivirana, dolazi do pokreta što znači da se otvara gornji granični prekidač. Kada su ova dva uslova istovremeno istinita, u rangu broj 5 će se postaviti indikator pokreta bata . Konačno, ako je došlo do pokreta i pri tome je gornji granični prekidač zatvoren (hod), u rangu broj 6 se resetuje pobuda spojnice i svi upamćeni bitovi, čime se omogućava izvršavanje sledećeg ciklusa rada prese. (Podsetimo se da za svaku OTL naredbu u programu mora da se stavi i OTU naredba koja će pod datim uslovima resetovati trajno postavljen bit).

Program sa samodržanjem prati istu osnovnu logiku (Sl. 3-21). Razlika je jedino u tome što se ovde u svakom rangu u kome se postavljaju bitovi, pomoću paralelne grane obezbeđuje da uslov bude istinit i kada neki od tastera ili prekidača promeni stanje. Pri tome, da bi se obezbedilo da se ovi bitovi resetuju kada se završi jedan ciklus rada prese uvodi se interna promenljiva "kraj" koja se postavlja na 1 kada se ciklus prese završi. Posle toga, u sledećem programskom sken ciklusu uslovi u svim rangovima biće neistiniti (jer se u njima ispituje promenljiva "kraj").

PR. 3-5 REGULACIJA PROTOKA VAZDUHA

ZADATAK Posmatra se neki ventil čijim radom se upravlja pomoću jednosmernog solenoida (A). Pri

tome, kada se aktvira ventil, pritisak vazduha dostiže željeni nivo u roku od 5 sekundi. Nakon toga, ventilom se može upravljati (pomeranjem klipa solenoida) i to u vremenu od 10 sekundi. Posle isteka 10 sekundi, opruga solenoida vraća klip u početni položaj i zatvara ventil.

REŠENJE Dva moguća rešenja postavljenog problema, od kojih jedno koristi izlaznu naredbu sa

trajnim postavljanjem bita, a drugo postupak samodržanja, prikazana su na Sl. 3-22 i Sl. 3-23. Pretpostavljeno je da se signal sa prekidača za otpočinjanje programa vodi na nulti pin digitalnog ulaza (simboličko ime START_ON), a da se signal na priključak A+ solenoida vodi preko nultog pina digitalnog izlaza (simboličko ime MOVE_APLUS).

Pri analizi programa potrebno je imati na umu da se u svakom sken ciklusu ispituje redom rang po rang. Pri tome, akcija će se izvršiti samo u onim rangovima u kojima je uslov istinit. Tako će na primer, u prvom prolazu biti aktivan samo rang 0 i on će ostati jedini aktivan u svim sledećim sken ciklusima, sve dok ne istekne 5 sekundi.

U sken ciklusu u kome se dostiže 5 sekundi, časovnik PRITISAK će postaviti DN bit, tako da će uslov u rangu 1 biti istinit, pa će on postati aktivan i postaviti MOVE_APLUS na 1. Budući da se ta promenljiva ispituje u rangu 2 i on će postati aktivan u istom sken ciklusu pa će pokrenuti časovnik CONTROL. Uslov u rangu 3 (verzija sa trajnim postavljanjem bita Sl. 3-22) će i dalje biti neistinit, pa se taj rang neće aktivirati.

U narednim sken ciklusima, sve dok ne prođe 10 sekundi biće istinit samo uslov u rangu 2. Konačno, kada časovnik CONTROL izmeri 10 sekundi, on će postaviti svoj DN bit na 1. Odmah zatim, u sledećem rangu u programu sa trajnim postavljanjem bita (Sl. 3-22), bit MOVE_APLUS će biti resetovan i ventil će se zatvoriti. Kod programa sa samodržanjem (Sl. 3-23) to će se desiti tek u sledećem sken ciklusu, kada uslov u paralelnoj grani ranga 2 postane neistinit.

Potrebno je obratiti pažnju na činjenicu da program u kome se koristi samodržanje ima jedan rang manje i to zato što se kod njega u okviru istog ranga ostvaruje i aktiviranje i deaktiviranje signala A+. U programu u kome se koristi trajno postavljanje bita, aktivacija solenoida se postiže u jednom rangu i to na isti način na koji se to ostvaruje kod samodržanja, dok se deaktivacija, prirodno, mora naći u zasebnom rangu. U ovom primeru ta činjenica pojednostavljuje završetak programa, te nije neophodno da se uvodi interna promenljiva koja označava kraj rada.

Page 29: Pages from plc 1

Leder_uvod/54

SL. 3-22 LEDER PROGRAM ZA REGULACIJU PROTOKA VAZDUHA SA TRAJNIM PAMĆENJEM BITA

SL. 3-23 LEDER PROGRAM ZA REGULACIJU PROTOKA VAZDUHA SA SAMODRŽANJEM

Page 30: Pages from plc 1

Leder_uvod/55

PR. 3-6 PALJENJE I GAŠENJE SIGNALNE LAMPE

ZADATAK Pretpostavlja se da postoji neki hidraulicni mehanizam za čiji rad je neophodno da se ulje

zagreje do određene temperature. Pri tome se postizanje zadane temperature detektuje pomoću jednog termo-prekidača koji daje binarni signal kada temperatura postigne željenu vrednost. Za vreme procesa zagrevanja ulja neophodno je da se signalna lampa pali i gasi, čime se indicira da se ulje zagreva. Kada ulje dostigne željenu temperaturu, signalna lampa počinje stalno da svetli.

Sistem se pušta u rad pritiskom na jedan dvopoložajni prekidač.

REŠENJE Pretpostavimo da je prekidač za puštanje sistema u rad vezan za nulti pin ulaznog modula,

tako da ima adresu I:1/0 i neka je njegovo simboličko ime START_ON. Indikator temperature je vezan za prvi pin, tako da je adresa signala I:1/1, i pridruženo simboličko ime KRAJ_GREJANJA. Signalan sijalica je vezana za pin 0 izlaznog modula (adresa O:2/0) i dodeljeno joj je simbolično ime LAMPA_ON.

Jedno moguće rešenje postavljenog zadatka prikazano je na slici Sl. 3-24. Paljenje i gašenje signalne lampe ostvaruje se korišćenjem dva časovnika od kojih je jedan TON tipa (simboličko ime PALI), a drugi TOF tipa (simboličko ime GASI) i koji su vezani tako da, za svo vreme za koje traje grejanje ulja, rade u protiv fazi.

Pre prvog prolaza kroz program nijedan od časovnika ne radi, tako da su njihovi odgovarajući DN bitovi postavljeni na 0 (PALI/DN) odnosno 1 (GASI/DN). U skladu sa time uslov ranga 0 će biti neistinit (PALI/EN=0), te časovnik PALI neće raditi. Uslov ranga 1 će zbog toga biti neistinit i pokrenuće časovnik GASI. Uslov u rangu 2 je neistinit i sijalica ne svetli. Ovakvo stanje trajaće dok časovnik GASI ne izmeri zadano vreme (ovde je usvojeno da to bude 1 sec). Kada protekne 1 sekunda, časovnik GASI je završio rad i njegov DN bit postaje 0. U sledećem sken ciklusu, uslov u rangu 0 će biti istinit (PALI/EN=1) i aktiviraće se časovnik PALI.

SL. 3-24 - LEDER PROGRAM ZA PALJENJE I GAŠENJE SIJALICE

Page 31: Pages from plc 1

Leder_uvod/56

Uslov za rad časovnika GASI je i dalje neistinit, što znači da bi on mogao da radi. Međutim, kako je on izmerio zadano vreme i kako njegov DN bit nije resetovan (resetuje ga promena uslova na istinit), to on neće raditi (GASI/TT=0). Uslov u rangu 2 je istinit, te sijalica svetli. Ovakva situacija ostaće i u svim sledećim sken ciklusima sve dok ne prođe 1 sekunda, kada će da se postavi PALI/DN bit na 1. Uslov u rangu 1 postaje istinit što dovodi do resetovanja GASI/DN bita (postavlja se na 1). Sijalica i dalje svetli. U sledećem sken ciklusu uslov u rangu 0 postaje neistinit

(resetuju se bitovi časovnika PALI). Zbog toga se u rangu 1 aktivira časovnik GASI (GASI/TT=1). Sijalica se gasi u rangu 3 i ceo ciklus se ponavlja.

Potrebno je zapaziti da se svaki od časovnika aktivira pomoću DN bita drugog časovnika. To je ujedno i razlog, zašto časovnici ne mogu biti istog tipa (oba TON ili oba TOF). Naime, u tom slučaju ne bi bilo moguće da se otpočne sa radom, jer bi na početku oba

DN bita imala istu vrednost (0 ili 1). Vremenski dijagram

promene odgovarajućih bitova dat je na Sl. 3-25. Sve dok se ne dostigne željena temperatura, bit označen kao KRAJ_GREJANJA ima vrednost 0, što znači da sijalica svetli samo za ono vreme za koje radi časovnik PALI, odnosno za koje je njegov EN bit postavljen na 1. Kada se dostigne zadana temperatura sijalica će stalno svetleti zahvaljujući samodržanju u rangu 2.

PR. 3-7 MAŠINA ZA PAKOVANJE

ZADATAK Posmatra se jedna mašina koja pakuje konzerve u kutiju i to tako da u kutiji ima tri reda

konzervi, pri čemu u svakom redu ima po 5 konzervi. Mašina radi tako što se pomoću jednog klipa (A) konzerve koje dolaze preko pokretne trake guraju, jedna po jedna, na pomoćno postolje. Kada se na postolje smesti 5 konzervi, onda se one, sve zajedno, pomoću drugog klipa (B) gurnu u kutiju. U skladu sa time, za pakovanje jedne kutije potrebno je da se ostvari sledeća sekvenca pomeranja klipova:

[ (A+ A-)x5 B+ B-]x3

REŠENJE Dva moguća rešenja (sa i bez lečovanja) data su na Sl. 3-26 i Error! Reference source

not found. . U prvom rešenju (Sl. 3-26) je pretpostavljeno da su i klip A koji pomera konzerve i klip B

koji pomera ceo red konzervi dvosmerni solenoidi, što znači da se mora upravljati pokretima u oba smera. Pri tome se signali za napajanje vode preko digitalnih izlaza u prvom slotu, pinovi od 0 do 4 redom za A-, A+, B- i B+. Senzori položaja oba klipa su normalno otvoreni prekidači čiji signali se dovode na digitalni ulaz u prvom slotu i to na pinove od 1 do 4 redom za a-, a+, b- i b+. Taster za otpočinjanje rada vezan je za pin 0. Budući da se početak rada zadaje tasterom, neophodno je da se koristi interna promenljiva koja će pamtiti da je taster u nekom trenutku bio pritisnut. U programu je ta promenljiva označena sa "nije kraj" i ona zapravo utiče na istinitost uslova ranga broj 1 kojim se započinje ceo ciklus pokretanja klipova.

Za brojanje konzervi koristi se programski brojač na adresi C5:1 ("Brojac_5"), dok se za brojanje redova konzervi koristi programski brojač C5:0 ("Brojac_3").

Sam program je veoma jednostavan i njegova logika se može pratiti uz pomoć komentara koji su dati uz svaki rang. Napomenimo, da je dobra programerska praksa da se program opiše detaljnim komentarima. Ovo ne samo da olakšava traženje grešaka pri testiranju programa, već je od neobične koristi i kasnije kada dođe do eventualnih modifikacija programa. Program je realizovan pomoću tehnike samodržanja. Samo se po sebi razume da se zadatak može rešiti i pomoću naredbi za trajno postavljanje bitova.

SL. 3-25. VREMENSKI DIJAGRAM PROMENE INDIKATORSKIH BITOVA ČASOVNIKA

GASI_DN

GASI_TT

GASI_EN

PALI_DN

PALI_TT

PALI_EN

1

2

5

6

8

7

2

3

4

1 sec

1 sec

9

10

11

12

13

1 sec

14

15

svetli svetli

1 sec

sken

ciklus

Page 32: Pages from plc 1

Leder_uvod/57

Page 33: Pages from plc 1

Leder_uvod/58

Kao i kod primera sa upravljanjem ekscentar presom i pri korišćenju solenoida pokazuje se da testiranje stanja prekidača nije dovoljno da bi se pratio njihov rad. Jasno je da je, kada je solenoid potpuno uvučen, njegov prekidač na "-" kraju pritisnut, no on to stanje ima i na početku pre bilo kakvog pomeranja klipa i na kraju svakog punog ciklusa (pomeranje napred – nazad). Drugim rečima, samo stanje prekidača "-" ne govori o tome da li je pokret izvršen ili ne. Da bi se ovaj problem prevazišao, uvodi se jedna interna bit promenljiva (u programu označena kao hod unazad) koja se postavlja dok se klip pomera. Na taj način stanje te promenljive, zajedno sa stanjem prekidača na "-" kraju solenoida ukazuju na to da li je ciklus završen ili ne.

U drugom rešenju (Error! Reference source not found. ) je pretpostavljeno da je klip A dvosmerni solenoid, dok je klip B jednosmerni solenoid, koga opruga vraća u početni položaj čim prestane napajanje njegovog kraja. Pri tome se signali za napajanje vode preko istih pinova kao i u prvom rešenju, s tim što je pin 3 slobodan (nema napajanja za kraj B-). Granični prekidači oba klipa vezani su na isti način, s tim što je su prekidači klipa B realizovani kao normalno zatvoreni kontakti. Program je realizovan pomoću naredbi za trajno pamćenje bitova. Sama logika programa je veoma slična prvom rešenju, tako da nema potrebe da se posebno komentariše.

SL. 3-26 LEDER PROGRAM ZA UPRAVLJANJE MAŠINOM ZA PAKOVANJE KOJA IMA DVA SOLENOIDA SA PO DVA KRAJA

Page 34: Pages from plc 1

Leder_uvod/59

SL. 3-27 LEDER PROGRAM ZA UPRAVLJANJE MAŠINOM ZA PAKOVANJE KOJA IMA JEDAN SOLENOID SA DVA KRAJA I JEDAN SOLENOID SA OPRUGOM