SEMINARSKI RAD. Primena tajmera, brojača i pomeračkih registara u PLC-ovima. Projekat: Student:

Σχετικά έγγραφα
UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka

3.1 Granična vrednost funkcije u tački

OSNOVI ELEKTRONIKE VEŽBA BROJ 1 OSNOVNA KOLA SA DIODAMA

Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju

PRAVA. Prava je u prostoru određena jednom svojom tačkom i vektorom paralelnim sa tom pravom ( vektor paralelnosti).

Elementi spektralne teorije matrica

Iskazna logika 3. Matematička logika u računarstvu. novembar 2012

Teorijske osnove informatike 1

Računarska grafika. Rasterizacija linije

nvt 1) ukoliko su poznate struje dioda. Struja diode D 1 je I 1 = I I 2 = 8mA. Sada je = 1,2mA.

III VEŽBA: FURIJEOVI REDOVI

STATIČKE KARAKTERISTIKE DIODA I TRANZISTORA

DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović

numeričkih deskriptivnih mera.

Elektrotehnički fakultet univerziteta u Beogradu 17.maj Odsek za Softversko inžinjerstvo

Hardverska struktura plc-a

Računarska grafika. Rasterizacija linije

INTELIGENTNO UPRAVLJANJE

IZVODI ZADACI ( IV deo) Rešenje: Najpre ćemo logaritmovati ovu jednakost sa ln ( to beše prirodni logaritam za osnovu e) a zatim ćemo

Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A

Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama.

Strukture podataka i algoritmi 1. kolokvij 16. studenog Zadatak 1

PARCIJALNI IZVODI I DIFERENCIJALI. Sama definicija parcijalnog izvoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je,

41. Jednačine koje se svode na kvadratne

VJEŽBE 3 BIPOLARNI TRANZISTORI. Slika 1. Postoje npn i pnp bipolarni tranziostori i njihovi simboli su dati na slici 2 i to npn lijevo i pnp desno.

SISTEMI NELINEARNIH JEDNAČINA

IZRAČUNAVANJE POKAZATELJA NAČINA RADA NAČINA RADA (ISKORIŠĆENOSTI KAPACITETA, STEPENA OTVORENOSTI RADNIH MESTA I NIVOA ORGANIZOVANOSTI)

Operacije s matricama

Zavrxni ispit iz Matematiqke analize 1

Osnovne teoreme diferencijalnog računa

2log. se zove numerus (logaritmand), je osnova (baza) log. log. log =

Ispitivanje toka i skiciranje grafika funkcija

Algoritmi zadaci za kontrolni

2 tg x ctg x 1 = =, cos 2x Zbog četvrtog kvadranta rješenje je: 2 ctg x

18. listopada listopada / 13

Poglavlje 7. Blok dijagrami diskretnih sistema

IZVODI ZADACI (I deo)

OSNOVI ELEKTRONIKE VEŽBA BROJ 2 DIODA I TRANZISTOR

Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu

Kaskadna kompenzacija SAU

ELEKTROTEHNIČKI ODJEL

M086 LA 1 M106 GRP. Tema: Baza vektorskog prostora. Koordinatni sustav. Norma. CSB nejednakost

Otpornost R u kolu naizmjenične struje

MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15

Funkcija prenosa. Funkcija prenosa se definiše kao količnik z transformacija odziva i pobude. Za LTI sistem: y n h k x n k.

Konstruisati efikasan algoritam znači dati skup preciznih uputstava kako doći do rešenja zadatog problema Algoritmi se mogu opisivati:

Novi Sad god Broj 1 / 06 Veljko Milković Bulevar cara Lazara 56 Novi Sad. Izveštaj o merenju

RAČUNSKE VEŽBE IZ PREDMETA POLUPROVODNIČKE KOMPONENTE (IV semestar modul EKM) IV deo. Miloš Marjanović

Linearna algebra 2 prvi kolokvij,

FAKULTET PROMETNIH ZNANOSTI

Verovatnoća i Statistika I deo Teorija verovatnoće (zadaci) Beleške dr Bobana Marinkovića

5. Karakteristične funkcije

FTN Novi Sad Katedra za motore i vozila. Teorija kretanja drumskih vozila Vučno-dinamičke performanse vozila: MAKSIMALNA BRZINA

APROKSIMACIJA FUNKCIJA

Obrada signala

Slika 1.1 Tipičan digitalni signal

radni nerecenzirani materijal za predavanja R(f) = {f(x) x D}

XI dvoqas veжbi dr Vladimir Balti. 4. Stabla

Linearna algebra 2 prvi kolokvij,

OSNOVI ELEKTRONIKE. Vežbe (2 časa nedeljno): mr Goran Savić

MATEMATIKA 2. Grupa 1 Rexea zadataka. Prvi pismeni kolokvijum, Dragan ori

IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f

Dvanaesti praktikum iz Analize 1

KVADRATNA FUNKCIJA. Kvadratna funkcija je oblika: Kriva u ravni koja predstavlja grafik funkcije y = ax + bx + c. je parabola.

PRIMJER 3. MATLAB filtdemo

PARNA POSTROJENJA ZA KOMBINIRANU PROIZVODNJU ELEKTRIČNE I TOPLINSKE ENERGIJE (ENERGANE)

5 Ispitivanje funkcija

Riješeni zadaci: Nizovi realnih brojeva

a M a A. Može se pokazati da je supremum (ako postoji) jedinstven pa uvodimo oznaku sup A.

MEHANIKA FLUIDA. Isticanje kroz otvore sa promenljivim nivoom tečnosti

Pravilo 1. Svaki tip entiteta ER modela postaje relaciona šema sa istim imenom.

Tranzistori s efektom polja. Postupak. Spoj zajedničkog uvoda. Shema pokusa

RIJEŠENI ZADACI I TEORIJA IZ

Pismeni ispit iz matematike Riješiti sistem jednačina i diskutovati rješenja sistema u zavisnosti od parametra: ( ) + 1.

Matematička analiza 1 dodatni zadaci

KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI. NEUTRALNI ELEMENT GRUPOIDA.

IV. FUNKCIJE I STRUKTURA PREKIDAČKIH MREŽA IV.1 OSNOVNI POJMOVI IV.2 LOGIČKI ELEMENTI IV.3 STRUKTURA KOMBINACIONIH MREŽA IV.4 MEMORIJSKI ELEMENTI

Elementi elektronike septembar 2014 REŠENJA. Za vrednosti ulaznog napona

Konstruisanje. Dobro došli na... SREDNJA MAŠINSKA ŠKOLA NOVI SAD DEPARTMAN ZA PROJEKTOVANJE I KONSTRUISANJE

Antene. Srednja snaga EM zračenja se dobija na osnovu intenziteta fluksa Pointingovog vektora kroz sferu. Gustina snage EM zračenja:

INTEGRALNI RAČUN. Teorije, metodike i povijest infinitezimalnih računa. Lucija Mijić 17. veljače 2011.

ASIMPTOTE FUNKCIJA. Dakle: Asimptota je prava kojoj se funkcija približava u beskonačno dalekoj tački. Postoje tri vrste asimptota:

Sume kvadrata. mn = (ax + by) 2 + (ay bx) 2.

HEMIJSKA VEZA TEORIJA VALENTNE VEZE

PLC. Industrijski sistemi i protokoli vežbe

Mašinsko učenje. Regresija.

Sortiranje prebrajanjem (Counting sort) i Radix Sort

IZVODI ZADACI (I deo)

Univerzitet u Nišu Građevinsko-arhitektonski fakultet. Informatika2. 4. Ciklična algoritamska struktura 5. Jednodimenzionalno polje.

SKUPOVI I SKUPOVNE OPERACIJE

Drugi zakon termodinamike

Algoritmi i strukture podataka - 1.cas

Inženjerska grafika geometrijskih oblika (5. predavanje, tema1)

21. ŠKOLSKO/OPĆINSKO/GRADSKO NATJECANJE IZ GEOGRAFIJE GODINE 8. RAZRED TOČNI ODGOVORI

OM2 V3 Ime i prezime: Index br: I SAVIJANJE SILAMA TANKOZIDNIH ŠTAPOVA

Programmable Logic Controller PLC

Neka su A i B proizvoljni neprazni skupovi. Korespondencija iz skupa A u skup B definiše se kao proizvoljan podskup f Dekartovog proizvoda A B.

radni nerecenzirani materijal za predavanja

Induktivno spregnuta kola

1 Afina geometrija. 1.1 Afini prostor. Definicija 1.1. Pod afinim prostorom nad poljem K podrazumevamo. A - skup taqaka

Transcript:

Univerzitet u Nišu Elektronski fakultet Katedra za elektroniku Mikroprocesorski sistemi SEMINARSKI RAD Projekat: Primena tajmera, brojača i pomeračkih registara u PLC-ovima Student: Milan Gikić Br. indeksa 9596 u Nišu, jun, 2008.godine

Sadržaj: 1. Programibilni logički kontroleri...4 1.1. Šta je programibilni logički kontroler...5 1.2. Relejna lestvičasta logika...6 1.2.1. Elektromehaničko rele...7 1.2.2. Relejno upravljački sistemi...8 1.3. PLC sistem...11 1.4. PLC tipovi...15 1.4.1. Rack/slot adresno bazirani PLC-ovi...15 1.4.2. Tag zasnovani PLC-ovi...16 1.4.3. Soft PLC-ovi ili PC zasnovano upravljanje...16 1.5. Programiranje ladder logike PLC-a...17 1.5.1. PLC rešenje...17 1.5.2. Princip rada ladder logike...19 1.5.3. Alternativno rešenje...20 1.6. Prednosti PLC-ova...23 2. Tajmeri, brojači i pomerački registri...24 2.1. Tajmeri...24 2.1.1. Tipovi tajmera...24 2.1.2. Programibilni tajmeri...25 2.1.2.1.Redosled operacija (Sequencing)...26 2.1.2.2.Kaskadni (redni) tajmeri...27 2.1.2.3.On-Off ciklični tajmer...28 2.1.3. Off-delay tajmeri...28 2.1.4. Impulsni tajmeri...30 2.1.5. Primeri programiranja...31 2.2. Brojači...33 2.2.1. Tipovi brojača...33 2.2.2. Programiranje...33 2.2.2.1.Primena brojača...35 2.2.3. Brojanje naviše i naniže...37 2.2.4. Tajmeri sa brojačima...38 2.2.5. Programator...39 2.3. Pomerački registri...42 2.3.1. Pomerački registri...42 2.3.2. Ladder programi...43 2.3.2.1.Sekvencijalna primena...45 2.3.2.2.Održavanje razmaka između predmeta...46 2.4. Manipulisanje podacima...48 2.4.1. Registri i bitovi...48 2.4.2. Manipulisanje podacima...49 2.4.2.1.Pomeranje podataka...49 2.4.2.2.Poređenje podataka...50 2.4.3. Aritmetičke funkcije...52 2.4.3.1.Aritmetičke operacije...52 2.4.4. Zatvorena upravljačka petlja...53 2.4.4.1.Načini kontrole...54 2.4.4.2.PID kontrola kod PLC-a...55 3. Mikrokontroler AT89S8253...56 3.1. Karakteristike mikrokontrolera AT89S8253...56 3.2. Opis mikrokontrolera AT89S8253...56 2

3.3. Konfiguracija i opis pinova...57 3.4. Blok dijagram...60 3.5. Tajmeri/Brojači...61 4. Hardverska realizacija...64 5. Softverska realizacija...70 5.1. Korišćenje programa Keil uvision 3...70 5.2. Definisanje projektnog zadatka...72 5.3. Programiranje softvera...73 5.4. Softverski kod...73 5.5. Flash-ovanje mikrokontrolera...84 5.6. Algoritam za program LED...87 6. Laboratorijska vežba...89 6.1. Zadatak laboratorijske vežbe...89 6.2. Laboratorijska vežba...89 7. Zaključak...90 8. Literatura...91 9. Biografija...92 3

1 Programibilni logički kontroleri Proizvodi firme Allen Bradley Tipična arhitektura 4

1.1 Šta je programibilni logički kontroler Definicija: Programibilni logički kontroleri (PLC- Programmable Logic Controller) su industrijski kontroleri specijalne namene koji se koriste za upravljanje različitih tipova fabričkih mašina i sistema. Alternativna definicija bi bila: PLC je specijalizovan elektronski uredjaj zasnovan na jednom ili većem broju mikroprocesora koji se koriste za upravljenje industrijskih mašina. Pojam "industrijski" ukazuje da su PLC-ovi u suštini računari koji su projektovani da rade u fizičko- i električko-nepovoljnim ambijentalnim uslovima koji su tipični za proizvodnju u industriji (veća-vlažnost, više nečistoća, povećana temperatura, električne smetnje od motora, i dr.). Prvobitno, PLC-ovi su se nazivali programibilni kontroleri (PC- Programmable Controller), ali je kasnije, medju inženjerima i projektantima, skraćenica PC postala široko korišćena za personalni računar (PC- Personal Computer). PC i PLC imaju neke osobine koje su zajedničke, ali i mnoge koje ih čine različitim. Obe arhitekture su slične i baziraju se na osnovnoj ploči (motherboard) na koju se nalazi procesor, memorija i interfejs elektronika za spregu sa ulazno-izlaznim modulima. U principu PLC ne poseduje fiksnu memoriju tipa kruti disk ili removable memoriju kakvi su flopi diskovi, CD-ROM-ovi, i dr, nego ima ugradjeno poloprovodničku ROM ili RAM memoriju u koju se čuvaju program i podaci. Takodje PLC-ovi nemaju monitor, ali koriste HMI (Human Machine Interface) tipa ravan displej koji se koristi za prikaz procesa ili statusa mašine. Obično PC izvršava veći broj zadataka, dok PLC-ovi obavljaju samo jedan zadatak, koji je namenjen za upravljanje procesima ili mašinama. 5

1.2 Relejna lestvičasta logika Nezavisno od impozantnog napretka koji je zadnjih četiri decenija učinjen na polju elektronike automatizacija u industriji i dan danas se zasniva na relejima koji se koriste za upravljanje sekvencom operacija u mašinama. Sekvencijalni upravljački sistemi nazvani relejna-lestvičasta logika (relay ladder logic) su dugo godina, sve do pojave prvih PLC-ova, bili jedini upravljački sistemi koji su se koristili u industriji. Šta više, zbog velikog iskustva i akumuliranog znanja u eksploataciji i proizvodnji relejne logike, prvobitni PLC-ovi su bili projektovani da podsećaju na relejnu-logiku. Da bi shvatili kako PLC obavlja svoj zadatak, neophodno je dobro razumeti rad releja i relejno-lestvičaste logike. Na slici 1 prikazano je pet tipova releja i identifikovani su svi delovi ove elektromehaničke komponente. Slika 1 Elektromehanički releji 6

1.2.1 Elektromehaničko rele Kao što je prikazano na slici 1 rele čine sledeće tri komponente: 1. elektromagnet- to je magnet koji se kreira (formira) prolaskom struje kroz žice namotane oko gvozdenog jezgra. 2. armatura- to je obešena metalna ploča koja se nalazi iznad kalema. Ploča se privlači ka elektromagnetu kada se kalem aktivira (pobudi). Kada kalem nije aktiviran, opruga udaljava armaturu od kalema. 3. kontakti- kreiraju jedan električni put izmedju normalno-zatvorenih kontakata (NC Normally Closed contacts), a drugi električni put preko normalno-otvorenih kontakata (NO- Normally Open conatcts) kada je kalem aktiviran (armatura naniže). Na slici 1 a) prikazano je jedno-polno-dvo-položajno rele (SPDT- single pole double throw). Ovo rele ima jedan zajednički kontakt (single pole ili armatura) i dve pozicije, NC i NO, koje se nazivaju throws. Kada kalem nije aktiviran, opruga zadržava (povlači) armaturu u poziciju naviše. U ovoj poziciji ostvaruje se direktna veza (nulta otpornost) izmedju common kontakta i NC kontakta. Kada se kalem aktivira, armatura se privlači naniže pri čemu se prekida veza sa NC kontaktom. U ovoj poziciji ostvaruje se direktna veza izmedju common kontakta i NO kontakta. Izolator (insulator) koji je deo armature koristi se da izoluje električno-prekidačke-kontakte releja od ostatka relejnih komponenata. Na slici 1 b) prikazane su jedno-polne-jedno-položajne (SPST- single pole single throw) relejne konfiguracije. Na slici 2 ilustrovane su različite šematske prezentacije releja sa slike 1. Simboli relejnih kontakata koji se koriste kao šematske prezentacije elektronskih kola razlikuju se u odnosu na one simbole koji se koriste kod šema koje srećemo kod upravljanja. Simbol NOkontakt čine dve paralelne linije, koje ukazuju na otvoreno kolo, dok simbol NC-kontakt ima dve paralelne linije precrtane jednom linijom koja ukazuje na zatvoreni kontakt. Slika 2 Standardni simboli za jedno-polne releje sa dva kontakta Na tržištu se danas nude releji različitog oblika i obima u odnosu na broj kontaktnih konfiguracija. Na slici 3 a) prikazano je SPST rele sa elektronskim simbolom na levoj strani, a upravljačkim simbolom na desnoj strani. Na slikama 3 b) i 3 c) dati su simboli za dvo-polnodvo-položajni (2PDT- two-pole-double throw) i tro-polni-dvo-položajni (3PDT- three pole double throw) releji. Isprekidana linija ukazuje da kalem releja istovremeno aktivira sve skupove kontakata, NC i NO, releja. 7

Slika 3 Releji sa većim brojem polova i kontakata 1.2.2 Relejno upravljački sistemi Da bi pokazali na koji način se releji koriste za upravljanje radom mašine analiziraćemo jedan jednostavan upravljački problem. Rezervoar, skiciran na slici 4 a), puni se preko električno upravljanog ventila, a prazni se preko pumpe koja se pobudjuje motorom. Upravljanje radom ventila i pumpe mora da zadovolji sledeće kriterijume: a) pumpa može da radi samo kada je ulazni ventil rezervoara otvoren, b) ulazni ventil se može otvoriti kada pumpa radi ili ne radi. 8

Slika 4 Upravljanje punjenjem i pražnjenjem rezervoara Električna šema data na slici 4 b) ilustruje rešenje koje se odnosi na problem upravljanja. Isto rešenje, ali koje umesto elektronske-šematske-simbole koristi sada upravljačko-šematske-simbole prikazano je na slici 4 c). Ovaj način prezentacije upravljanja se naziva relejno-lestvičasti-dijagram (relay ladder logic diagram ili two-wire diagram). Princip rada šeme sa slike 4 se odvija na sledeći način: 1. Kada se prekidač S1 ručnim putem postavi u poziciji zatvoreno elektromagnetno rele A se aktivira 2. Kada se rele aktivira (slika 4 b), polovi A1 i A2 prelaze od NC pozicija u NO pozicije. Na slici 4 c), kontakti A1 i A2 su zatvoreni što znači da su ispunjeni uslovi za punjenje rezervoara. 3. Na slici 4 c), promena stanja kontakta A2 omogućava da se otvori ulazni ventil i obezbedi protok tečnosti u rezervoar. 4. Promena stanja kontakta A2 ne uzrokuje neposrednu akciju. 5. Ručnim zatvaranjem prekidača S2 obezbedjen je uslov da pumpa radi. 9

Kao što smo već napomenuli upravljački-tip simbola za komponente u upravljačkoj konfiguraciji se naziva relejno-lestvičasti (ladder) logički dijagram. Kod ovih dijagrama (vidi sliku 4) postoje dve vertikalne linije, jedna na levoj strani označena sa L1, a druga na desnoj strani označena sa L2. Pri tome L1 se obično naziva left power rail a koristi se za dovod vrućeg-pola od izvora napajanja (faza kod AC napajanja, ili "+" pol kod DC napajanja), a L1 koju nazivamo right power rail, predstavlja povratna linija (nula ili neutral kod AC napajanja, a masa kod DC napajanja). Na slici 4 b) motor je direktno povezan na prekidač i kontakte releja. Ipak treba naglasiti da se ovakvo rešenje sreće samo kod industrijsko-upravljačkih aplikacija koje su tipične za korišćenje motora malih snaga. Na slici 4 c) prikazano je jedno preferirano rešenje koje koristi specijalno-rele za start motora (identifikovano kao M1), nazvano kontaktor, koje je namenjeno da komutira (prekida/uključuje) napajanje motora pumpe. Kontaktori uključuju/isključuju visok-napon i struju za pobudu motora. Na slici 4 d) prikazani su normalno otvoreni M1 kontakti kontaktora motora koji je povezan na napajanje. Za zaštitu rada motora koriste se dva skupa kontakta od preopterećenja (overload) koje nazivamo OL kontakte. Termička preoterećenja su nacrtana izmedju kontakta i motora na slici 4 d), a opterećenja kontaktora su nacrtana na prečagi lestvice (ladder rung) izmedju kalema M i linije za napajanje L2. Dogovorno, samo OL kontakti se prikazuju na prečagi u lestvici, i to tako da se crta samo jedna za svaki skup polova. 10

1.3 PLC sistem Na slici 5 prikazan je blok dijagram PLC sistema. Slika 5 Blok dijagram PLC sistema Srce PLC-a je PLC-procesor. Procesor je okružen ulaznim modulima na levoj strani slike 5, izlaznim modulima na desnoj, i napajanjem sa gornje strane. Programiranje PLC-a se može obaviti na sledeća tri načina: a) manuelno pomoću ručnog programera; b) direktno preko povezane PC mašine; i c) pomoću računara preko mrežne konekcije. PLC komunicira sa ulazno-izlaznim uredjajima preko ulazno-izlaznih (U/I) modula. S obzirom da je broj U/I uredjaja koji se povezuju na PLC sistem dosta veliki, specifičan, i raznorodan u odnosu na njihov princip rada, to znači da će biti veliki broj i U/I modula koji se povezuju na procesor. Zadnjih desetak godina sve je izrazitija tendencija da se PLC-procesor spreže sa U/I uredjajima preko mrežnih konekcija formirajući na taj način, na nivou fabrike ili objekta upravljanja, lokalne računarske mreže (LAN- Local Area Network). Ovakvim načinom povezivanja moguće je daljom nadgradnjom ostvariti vezu sa svetskom mrežom Internet. 11

Kod sistema automatskog upravljanja koji su većeg obima, PLC blokovi se montiraju u rack-ove (vidi sliku 6). Rack obezbedjuje podršku za mehaničku montažu kao i podršku za sve električne interkonekcije. Pored toga rack se koristi za realizaciju interfejsa za prenos podataka izmedju svih PLC modula, koji za potrebe prenosa podataka koriste strukturu magistrale tipa backplane. (Backplane koristi bakarne provodnike, preko kojih se prenosi napajanje do modula, a takodje poseduje i magistralu za razmenu i prenos podataka izmedju modula i procesora. Moduli se ubaciju u rack pri čemu u rack-u svaki zauzme odgovarajuće mesto. Broj slotova u rack-u je obično ograničen i odredjen brojem i tipovima modula). Slika 6 PLC rack i pogled na backplane PLC procesor obavlja sva logička i aritmetička izračunavanja, a realizuje se pomoću nekog mikroprocesora ili mikrokontrolera. Blok za napajanje obezbedjuje energiju za sve moduke koji se ubacuju u rack. Uredjaj za programiranje se koristi za unos i download-ovanje programa, ili za editovanje postojećih programa u PLC. U/I interfejs koji se koristi kod PLC-a može da ima jedan od sledeća dva oblika: a) fiksni- ovi tipovi se realizuju kao mikro-plc sistemi kod kojih su sve funkcije integrisane u jedinstvenu jedinicu. Broj U/I portova, u okviru svakog modula, je fiksiran i ne može se menjati. b) modularni- ovi tipovi U/I interfejsa (vidi sliku 6) koriste rack u kome se smeštaju U/I moduli tako da broj i tip U/I modula može da varira. 12

Ulaznim interfejsima se ostvaruje veza izmedju PLC-procesora i spoljnih uredjaja koji se koriste za merenje (procenu) fizičkih i električnih veličina okoline. Ulazni uredjaji najčešće imaju ugradjeno prekidače, senzore, pojačavače i drugu elektroniku kondicionerskog tipa.. Ovi uredjaji se često nazivaju field uredjaji (instaliraju se na licu mesta procesa) što ukazuje da oni nisu deo (ne pripadaju) PLC-ovog hardvera. Komunikacioni moduli (vidi sliku 5) ostvaruju vezu izmedju PLC-procesora i drugih računarsko-kontrolisanih mašina i uredjaja koji dele iste podatke i zahteve za daljinskim upravljanjem sa PLC-sistemom. Na slici 7, islustracije radi, prikazan je način sprezanja sa različitim tipovima mreža uključujući DeviceNet,ControlNet, Ethernet/IP, SERCOS interfejs, Smart I/O interfejs, i ASCII I/O interfejs. Slika 7 Komunikacione mrežne opcije kod PLC upravljačkih sistema DeviceNet- je jevtina komunikaciona mreža koja na PLC povezuje pametne (smart) ili inteligentne U/I field uredjaje kakvi su senzori ili aktuatori. Smart field uredjaj obično u svoju elektroniku ima ugradjeno mikroprocesor ili mikrokontroler. ControlNet- je otvoreni mrežni standard koji je sa aspekta hijerarhijskog upravljanja nivo iznad DeviceNet-a. Dok je primarna funkcija DeviceNet-a podredjena umrežavanju U/I uredjaja, ControNet koristi mrežni model tipa proizvodjač-potrošač za potrebe efikasne razmene informacije kod vremenskokritičnih aplikacija u sistemima upravljanja. 13

Ethernet/IP (IP se odnosi u ovom slučaju na Industrijski Protokol)- je otvoreni mrežni standard koji koristi prednosti koje se nude od strane Ethernet komunikacionih uredjaja i fizičkog medijuma za prenos podataka. SERCOS interfejs (Serial Real-time Communication System)- je digitalna pokretna upravljačka mreža koja predstavlja interfejs za pokretne upravljačke module kod PLCa sa servo-motorom preko optičkog kabla. Smart I/O interfejsi- proizvodjači PLC-ova koriste privatne mrežne protokole preko kojih se ostvaruje komunikacija sa U/I uredjajima (tipično je to za DataHighway-vidi sliku 7). Remote Racks- sa ciljem da se ostvari distribuirano upravljanje kod velikih i složenih upravljačkih sistema, proizvodjači PLC-ova nude remote-rack mogućnost. U konkretnom slučaju PLC procesor preko odgovarajućeg komunikacionog modula šalje komande udaljenom uredjaju. ASCII I/O interfejs- prenos podataka se ostvaruje preko standardnih interfejsa kakvi su RS 232, RS 422 i dr. 14

1.4 PLC tipovi U zavisnosti od operativnih karakteristika PLC-ovi se mogu grupisati u sledeće kategorije: a. rack ili adresno-zasnovani sistemi; b. tag- zasnovani sistemi; i c. soft-plc-ovi ili PC-zasnovani sistemi. Ukazaćemo sada u kratkim crtama na osnovne osobine pomenutih PLC-ova. 1.4.1 Rack/slot adresno-bazirani PLC-ovi PLC sistem prikazan na slici 6 predstavlja jedan tipičan rack/slot adresno-bazirani sistem kod koga slot lokacije ulazno-izlaznih modula u rack-u definišu PLC adrese ulaznoizlaznih signala koji su povezani na taj modul. Fizički, ulazno-izlazni moduli, standardno, se smeštaju u rack-u desno u odnosu na procesor. Tipovi uredjaja koji su povezani na PLC kao i tipovi signala koji oni generišu (signali mogu biti AC, DC, diskretni, analogni, naponski ili strujni), diktiraju tipove ulazno-izlaznih kartica (modula) koje se smeštaju u slotove. U principu, ulazno-izlazni moduli obavljaju sledeće dve funkcije: ostvaruju korektnu spregu (mehaničku i električnu) sa uredjajima koji su locirani na licu mesta procesa (field device) kondicioniraju signal (u električnom smislu- vrše pojačanje, filtriranje od smetnji, i dr.). Nivo signala koji je prisutan na svakom ulazu predstavlja se unutar PLC-a kao promenljiva, a označava se slovom I iza koga sledi adresa referentnog broja. Naglasimo da nezavisno od toga što svaki proizvodjač rack/slot adresno-zasnovanih sistema koristi različite adresne šeme, ipak adresa se odredjuje na osnovu: 1. tipa prisutnog modula (ulazni, I, izlazni, O); 2. rack/slot broj u kome se taj modul ubacuje; i 3. terminalni broj koji se koristi za konektiranje. Ilustracije radi, sledeća sintaksa se koristi za adresiranje diskretnih ulaza kod Allen- Bradley SLC 500 sistema: I: (rack/slot_broj)/(terminal_broj) Slovo I ukazuje da se radi o ulazu, simbol ":" predstavlja delimiter koji razdvaja tip modula (I- ulazni, a O-izlazni) od broja slot modula; simbol "/" je delimiter koji razdvaja broj slot modula od terminal broja, tj. broja priključka. ########################################################################### Primer 1 Kod Allen-Bradley SLC 500 sistema (vidi sliku 6 b)) koji koristi rack/slot zasnovano adresiranje odrediti: a) adresu diskretnog ulaznog signala povezan na terminal 5 DC-ulaznog modula u slotu 2. b) adresu diskretnog izlaznog field uredjaja povezan na terminal 12 AC izlaznog modula u slotu 5. Odgovor a) I: 2/5 b) O: 5/12 ########################################################################### 15

Kompanija Mitsubishi kod svojih PLC-ova ulazima dodeljuje adrese X400,X401,X402, i td., a izlazima Y430,Y431,Y432, i td. Toshiba koristi sličan sistem. Kod Siemens SIMATC S5, ulazi i izlazi su ofredjeni u grupama od po 8. Svaka grupa od 8 se naziva bajt, a svaki ulaz ili izlaz u okviru 8 nazivamo bit. Ulazima i izlazima se dodeljuju adrese koje se izražavaju u funkciji broja bajta i bita, efektivno ofdredjujući na taj način broj modula iza koga sledi broj terminala. Pri tome, broj modula je razdvojen od broja terminala simbolom ".". Sledeća notacija objašnjava ovaj način adresiranja: I=ulaz Q=izlaz } X YY. Z broj bita broj bajta Tako na primer notacija I0.1 se odnosi na bit 1 bajt 0, a Q2.0 predstavlja izlaz bit 0 bajta 2. Postoje kompanije koje kod adresiranja koriste sledeću notaciju. Slovom A se označava ulaz, a slovom B izlaz. Notaciju A.3.02 se odnosi na ulaz na terminalu 02 modula 3, a B5.12 na izlaz na terminalu 12 modula 5. 1.4.2 Tag zasnovani PLC-ovi Tag-zasnovani PLC-ovi se koriste kod svih adresno zasnovanih modela PLC-ova. Tipično su to PLC-ovi iz familije Control-Logix kompanije Allen Bradley, ili neki slični PLC-ovi kompanija Telemecanique i Siemens. Tag ime koje se koristi kod ovih sistema je isto kao i promenljiva deklarisana kod viših programskih jezika kakav je C. Kod ovog tipa adresnih sistema, ulazima i izlazima field uredjaja, u trenutku projektovanja sistema upravljanja, dodeljuju se imena promenljivih (variable names). Kompanija Allen Bradley koristi termin tag umesto variable. Kasnije ime promenljive (variable) ili tag se dodeljuje ulazno-izlaznom modulu i specifičnom terminal broju. Tag je jedina referenca koja se koristi kada se razvija program koristeći se (pomoću) PLC-ovog ladder logičkog programa. Kada se tag-ovi ili variable-e definišu, deklariše se i tip podataka koji se prestavlja od strane tag-a. 1.4.3 Soft PLC-ovi ili PC-zasnovano upravljanje PC-bazirani upravljački sistemi, alternativno nazvani soft PLC-ovi, predstavljaju emulaciju PLC-a koja se izvodi softverom PC-mašine. Ova implementacija koristi industrijsku PC-mašinu, U/I karticu za spregu sa field uredjajem, i aplikacioni softver koji čini da se PC-mašina ponaša kao PLC. Jedan drugi tip implementacije koristi standardni PLC sa industrijskim PC-modulom smešten u jednom od PLC rack-slotova. Kod ove verzije PC ima pristup backplane-u a time i svim U/I modulima u PLC rack-u. Soft PLC rešenje koriste jednu od pomenute dve implementacije. U principu soft PLC-ovi predstavljaju dobar projektanski izbor kod onih rešenja gde se zahteva velika memorija za čuvanje podataka, intezivnije matematičke manipulacije u toku upravljanja procesom, kao i grafički prikaz procesa. 16

1.5 Programiranje ladder logike PLC-a Ladder logika je grafička programska tehnika koja se koristi kod kreiranja programa za upravljanje radom PLC-ova. Relejno logičko rešenje za upravljanje radom pumpe, problem prikazan na slici 8 a) i b), sličan je PLC-ovom ladder logičkom programu koji se koristi za rešavanje istog problema. Ipak jedna suptilna razlika između ova dva načina koja se odnose na upravljanje radom sistema često stvara konfuziju koja je posebno izrazita kod neiskusnih korisnika PLC-ova. Zbog ovoga, sa ciljem da se otklone ove nedoumice ukazaćemo u tekstu koji sledi na osnovne razlike između ova dva koncepta. 1.5.1 PLC rešenje Kada se ladder logičko rešenje koje se odnosi na upravljanje radom punjenja rezervoara sa slike 8 a) zameni PLC programom, field uređaj i dalje ostaje prisutan ali se eliminiše mehaničko rele. Field uređaj je opšti naslov za sve tipove ulaznih uređaja i izlaznih aktuatora. Izlazni aktuatori kod PLC sistema su mehanički, pneumatički, hidraulički, ili električni uređaji koji uzrokuju neko mehaničko pokretanje kao odziv na električni pobudni signal. Slika 8 Upravljački sistem za kontrolu rada rezervoara Na slici 9 prikazano je kako se prekidači i aktuatori povezuju kod PLC-a. Naglasimo da se ulazni prekidači (ilustrovani korišćenjem standardnog simbola za selektor prekidač) povezuju na PLC-ov ulazni modul, a aktuatori se vezuju na izlazni modul. Završnice ulaznih i izlaznih modula identifikuju se terminalnim brojevima. Tako na primer, prekidači se povezuju na terminale 1 i 2 ulaznog modula a solenoidi pumpe su povezani na slične terminalne brojeve izlaznog modula. Sa slike 9 se vidi da su PLC procesor i program locirani između ulaznih i izlaznih modula. 17

Slika 9 PLC rešenje za upravljanje radom pumpe iz problema sa slike 8 PLC ladder logički program kojim se ostvaruje isto logičko upravljanje kao i kalem na slici 8 b) prikazano je na slici 9 b). Upoređivanjem slike 8 b) sa slikom 9 b) mogu se identifikovati sličnosti ali i razlike, a one su sledeće: 1. upravljačko kolo sa slike 9 b) postoji u formi fizičkih komponenata i žica, dok ladder logički program kod slike 9 b) egzistira samo kao skup instrukcija i logičkih iskaza koji su smešteni u memoriji. 2. mehaničko rele u relejnoj logici zamenjeno je softverom ili virtuelnim relejom (CR1) u PLC ladder logici. Softver ili virtuelno rele postoji samo u memoriji PLC-a. 3. izlaz PLC-ove prečage [-( )-] u literaturi se često naziva kalem (coil) ali ne treba ga koristiti kada se pozivamo na PLC-ov ladder izlaz. Bolji termin je diskretna izlazna instrukcija koja je u suštini bit koji samo egzistira u memoriji. 4. svaka prečaga (rung) kod PLC-ove ladder logike predstavlja logički iskaz koji se softverski izvršava sa ulazime na levoj i izlazima na desnoj strani prečage. Ako su ulazi true, tada će i izlaz biti true ili aktivan. Tako na primer, ako je instrukcija I1 (- -) true (prisutna je neprekidnost veze) tada će i izlaz CR1 biti aktivan. Treba imati u vidu da je ovo virtuelni tok, dok aktuelni tok ne postoji. Ako je CR1 aktivan tada će ulazna instrukcija sa adrese CR1 u prečagi 01 biti true pa će izlaz O1 biti aktivan. Ulazna instrukcija I1 biće true ako je prekidač S1 zatvoren pa je napon prisutan na terminalu 1 ulaznog modula. Ako je ulaz O1 aktivan, tada terminal 1 izlaznog modula se postavlja na potenciajlu mase čime je obezbeđen uslov da se propusti struja kroz solenoid (turn on solenoid value). 5. broj virtuelnih releja, izlaznih instrukcija, i referenciranih ulaznih instrukcija kod PLC ladder logike je ograničen jedino obimom PLC memorije, dok je broj kontakata kod mehaničkog releja ograničen brojem polova koji postoji kod izabranog releja. 6. ulazne i izlazne instrukcije kod PLC ladder logike na direktni način ne predstavljaju prekidače i aktuatore. PLC-ove ulazne instrukcije su logički simboli koji su pridruženi 18

ulaznim signalima (naponski) prisutni na terminalima ulaznog modula. Izlazni simbol se pridružuje signalu (naponu) koji će biti prisutan (predstavljen) na aktuatoru koji se povezuje na izlazni modul. 7. ulazni i izlazni uređaji imaju svoje posebne izvore za napajanje koji su izolovani od napajanja PLC procesora. Rešenje prikazano na slici 9 se koristi da ukaže da se kod PLC-ovih rešenja field uređaji sprežu sa PLC-ovim ulaznim i izlaznim modulima, a da PLC-ov logički povezuje ulazne uređaje na izlazne preko ladder logičkog programa. PLC-ovi ladder logički ulazi se nazivaju instrukcije a ne kontakti iz razloga što se ulazne instrukcije predstavljaju binarnim vrednostima koje se čuvaju u memoriji PLC-a. Drugim rečima, svim simbolima u relejno logičkom dijagramu odgovaraju stvarne (realno postojeće) komponente i kontakti koji su prisutni u sistemu upravljanja, dok se ulazni (- -) i izlazni (-( )-) simboli instrukcija kod PLC-ove ladder logike predstavljaju samo vrednostima koje su smeštene (čuvaju) u PLC-ovoj memoriji. 1.5.2 Princip rada ladder logike PLC rešenje sa slike 9 b) ima tri prečage (rungs) sa ulaznim instrukcijama na levoj strani a izlaznim instrukcijama na desnoj. Ulazne instrukcije u prečagama 00 i 02 imaju adrese-podataka za I1 i I2, tako da naponi prisutni na ulaznim terminalima 1 i 2 određuju da li su stanja ovih instrukcija true ili false. Naponi na ulaznim terminalima se postavljaju u zavisnosti od toga u kojim pozicijama se nalaze spoljašni prekidači S1 i S2 na slici 9 a). Ulazna instrukcija na prečagi 01 je kontrolisana uslovom koji definiše virtuelno rele CR1. Izlazne instrukcije na prečagama 01 i 02 imaju adrese-podataka za O1 i O2, tako da njihova stanja, koja mogu biti true ili false, određuju stanja, on ili off, izlaznih uređaja koji su povezani na izlazne terminale 1 i 2. Tako na primer, ako je O1 aktivan, tada kroz kalem solenoida teče struja, tj. on je aktivan (turned on). Izlaz prečage 00, CR1, je virtuelno rele sa ulaznim instrukcijama koje ga referenciraju u prečagama 01 i 02. Ako je izlaz CR1 aktivan tada sve instrukcije koje su pridružene tom virtuelnom releju su true. Rad ladder logike se može sumirati na sledeći način: a) prečaga 00 : izlazna instrukcija CR1 je aktivna jer je ulazna instrukcija I1 true (na ulaznom terminalu 1 prisutan je napon jer je prekidač S1 zatvoren). Ako je CR1 aktivan tada obe ulazne instrukcije pridružene izlazu CR1 u prečagama 01 i 02 su aktivne. b) prečaga 01 : izlazna instrukcija O1 je aktivna jer je ulazna instrukcija CR1 true. Ako je O1 aktivan tada je kalem solenoida u stanju on i ulazni ventil za protok-fluida je otvoren. c) prečaga 02 : izlazna instrukcija O2 je aktivna samo ako su obe ulazne instrukcije CR1 i I2 true. Ako je izlaz O2 aktivan tada kontaktor pumpe motora povezan na izlaznom terminalu 2 je on i pumpa je uključena. To znači da bi pumpa radila potrebno je da izlaz CR1 bude true (prekidač S1 je zatvoren a ulazni ventil otvoren) i prekidač S2 zatvoren (prekidač za upravljanje radom pumpe je on). Kao zaključak koji se odnosi na programiranje i način sprezanja PLC-a sa slike 9 mogli bi da kažemo sledeće: 1. ulazni field uređaji, prekidači i senzori, se povezuju na terminalima ulaznog uređaja 2. izlazni field uređaji se povezuju na terminalima izlaznog modula 19

3. ulazne instrukcije sa adresama za svaki field uređaj se nalaze na levoj strani ladder logičke prečage, a izlaznim instrukcijama sa odgovarajućim adresama za svaki izlazni field uređaj se nalaze na desnoj strani prečage. Na istoj prečagi se mogu paralelizirati. 4. virtuelni releji, i kombinacije ulaznih instrukcija se smeštaju na ladder prečagama sa ciljem da se ostvari željena kontrola izlaza. 1.5.3 Alternativno rešenje Na slici 10 prikazano je alternativno rešenje ladder logike sa slike 9. Uočimo da je virtuelno rele, CR1, izbačeno i da multipl ulazne instrukcije čija je adresa I1 su iskorišćene da se ostvari isto logičko upravljanje. Kod relejnog ladder logičkog rešenja, slika 8 b), selektorski prekidač field uređaja koji kontroliše rad ventila ima samo jedan skup kontakata. Jedan (single) kontakt kontroliše dva različita uređaja tako da je potrebno instalirati rele sa dva prekidačka kontakta (2PST). Nasuprot tome, instrukcija I1 kod PLC ladder logike ne predstavlja fizički kontakt nego je virtuelni koji se kreira u memoriji. Jedinstveni kontakt od prekidača ventila S1 obezbeđuje ulazni uslov na terminalu 1 (napon može biti prisutan ili ne). Skoro neograničeni broj instrukcija I1 se može koristiti kod PLC ladder logike, i svaka biće true ako je S1 u stanje on. Broj ovih instrukcija je ograničen obimom memorije. Alternativno rešenje prikazuje da postoji veći broj rešenja za izvođenje upravljanja, ali je pri tome samo jedno optimalno. Sa dve prečage kod alternativnog rešenja, koristi se manje memorije, a i izvršenje programa je brže. Slika 10 Alternativno ladder logičko rešenje za problem rada jedne pumpe ########################################################################### ### Primer Kod upravljanja radom punjenja / pražnjenja rezervoara sa slike... i slike 9 koristi se i druga pumpa koja se uključuje kod pražnjenja rezervoara. Ova pumpa biće u stanje on ako su true sledeći uslovi: (1) ulazni ventil je otvoren; (2) pumpa 1 je on, i (3) selektor prekidač 2 nove pumpe 2 je zatvoren. Izvesti neophodne promene u relejno logičkom rešenju sa slike... i PLC rešenju sa slike 9. Odgovor 20

Druga pumpa kao i selektor-prekidač pumpe mora biti dodat (ugrađen) kod obe varijante izvođenja, PLC-a i relejno logičkog rešenja. Druge promene, kod fizičkog sistema, koje se odnose na PLC rešenje prikazano na slici 11 a) nisu potrebne. Ipak, na slici 11 b) prikazane su tri glavne izmene koje je potrebno izvesti kod relejno-logičkog rešenja, a to su: (1) treba ugraditi novo rele sa tri dvopoložajna kontakta (three double throw poles); (2) da se zameni prvobitni jedno-polni kontrolni prekidač pumpe sa dvo-polnim tipom; i (3) da se obave ekstenzivne (brojne) modifikacije u relejno kontrolnom ožičavanju. Uporediti sada novo relejno ladder logičko rešenje ilustrovano na slici 11 b) i PLC ladder logičko rešenje prikazano na slici 12 a). ########################################################################### ### Slika 11 Rešenje sa dve pumpe koje koristi PLC i relejnu ladder logiku 21

Slika 12 PLC ladder logičko rešenje za rad sa dve pumpe 22

1.6 Prednosti PLC-ova Kod sistema upravljanja baziranih na PLC-ovima jedino fizičko ožičavanje u sistemu predstavljaju interfejsi (sprege) koji se izvode između ulaznih i izlaznih field uređaja i ulaznih i izlaznih PLC-ovih modula. Svi elementi ladder programskih prečaga, kao što su virtuelni releji, instrukcije za virtuelne releje, ulazne instrukcije field uređaja, i izlazne instrukcije, postoje samo u softveru i čuvaju se u memoriji PLC-a. Kao rezultat ovakve koncepcije PLC ladder logika ima veći broj prednosti u odnosu na konvencionalnu relejnu logiku, a koje se ogledaju u sledećem: 1. jednostavnije i preglednije ožičavanje 2. jednostavnije i preglednije ožičavanje 3. veća pouzdanost mehanički releji i elektro-mehanički uređaji su daleko nepouzdanije komponente u odnosu na softver 4. efikasnije je održavanje i brže se nalaze kvarovi 5. off-line programiranje ranije PLC-ovi su se programirali preko specijalnih programskih kontrolera koji su bili isporučivani od strane proizvođača. Današnji sistemi koriste mikroračunare, obično PC mašine, kao mašine za programiranje. Nova programska softverska sredstva omogućuju da se program za PLC razvije na samoj PC mašini, zatim testira pomoću emulatorskog softvera i pronađu greške u programiranju pre nego što se instalira softver u PLC-u. Nove verzije softvera omogućavaju da se PLC download-uje preko serijske konekcije, ili preko Internet-a. Kod najvećeg broja aplikacija, programiranje za datu aplikaciju se obavlja koristeći hardverske i softverske resurse PC mašine dok se sam proces programiranja izvršava na taj način što se program upisuje u memoriju PLC-a. Ovaj proces se naziva off-line programiranje, a omogućava da se PLC programira bez da se on vadi iz rack-a, tj. odstranjuje od procesa upravljanja. 6. on-line programiranje ovaj način programiranja omogućava programeru da edituje ladder logičke prečage (rungs) dok PLC izvršava program. Promene se izvode u specijalnom on-line režimu rada, a kada su promene u potpunosti obavljene nova ladder logika postaje aktivni deo tekućeg ladder programa. 7. širi krug aplikacija PLC softver podržava širi opseg analognih i diskretnih aplikacija na koje nailazimo kod upravljanja u industrijskim postrojenjima. 8. niske cene i male dimenzije cena i gabarit PLC-a su značajno smanjeni zadnjih 10 godina. Recimo, cena jednog mikro-plc-a je reda $300. 9. mogućnosti upravljanja PLC-a zahvaljujući ugradnji savremenih VLSI IC-ova a i sve efikasnijeg softvera mogućnosti novijih verzija PLC-ova su zaista impresivne. Pored ostalog omogućeno je kreiranje mrežno-distribuirano upravljanje i povezivanje na Internet. 23

2 TAJMERI, BROJAČI I POMERAČKI REGISTRI 2.1 TAJMERI U mnogim kontrolnim zadacima postoji potreba za kontrolisanjem vremena. Na primer, motor ili pumpa mogu biti kontrolisani tako da rade u određenom vremenskom intervalu, ili možda da se uključe posle određenog vremenskog intervala. PLC-ovi zbog toga imaju tajmere kao ugrađene komponente. Tajmeri broje delove sekunde ili sekunde koristeći unutrašnji takt CPU-a. Ovo poglavlje pokazuje kako takvi tajmeri kogu biti programirani da izvršavaju kontrolne zadatke. 2.1.1 Tipovi tajmera Proizvođači PLC-ova se razlikuju po tome kako bi tajmeri trebali biti programirani i na osnovu toga kako oni mogu biti razmatrani. Uopšteni pristup je razmatranje tajmera koji se ponašaju kao relei sa namotajima koji prilikom pobuđivanja otvaraju ili zatvaraju kontakte posle nekog zadatog vremena. Tajmer je stoga tretiran kao izlaz za prečagu sa kontrolom koja se izvodi preko parova kontakta (Slika 2.1.1(a)). Neki tretiraju tajmer kao blok za kašnjenje, koji kada se ubaci u prečagu zakasni signale na izlazu te prečage (Slika 2.1.1(b)). Slika 2.1.1 Razmatranje tajmera Postoji nekoliko različitih oblika tajmera koji se mogu da naći kod PLC-ova. Kod malih PLC-ova oni su najčešće u jednom obliku, on-delay tajmeri. Ovo su tajmeri koji nastupaju posle određenog vremenskog kašnjenja (Slika 2.1.2(a)). Off-delay tajmeri su uključeni u fiksnom vremenskom periodu pre isključivanja (Slika 2.1.2(b)). Drugi tip tajmera koji se javlja je pulse (impulsni) tajmer. Ovaj tajmer se uključuje ili isključuje u fiksnom vremenskom periodu (Slika 2.1.2(c)). Slika 2.1.3 prikazuje simbole IEC 1131-3 standarda za tajmere. TON se koristi da označi on-delay, TOF off-delay, a TP pulse tajmere. On-delay se takođe predstavlja kao T-0, a off-delay kao 0-T. 24

Slika 2.1.2 Tajmeri: (a) On-delay, (b) Off-delay, (c) Pulse Slika 2.1.3 IEC 1131-1 standardi. BOOL predstavlja Bulovski ulaz/izlaz, tj. on/off. IN je izlaz. ET je ukupno vreme izlaza. PT je ulaz korišćen da označi vreme. Vreme za koje je tajmer podešen se označava kao zadato vreme a podešeno je u umnošcima korišćene vremenske baze. Neke vremenske baze su tipično 10 ms, 100 ms, 1 s, 10 s i 100 s. Stoga zadata vrednost 5 sa vremenskom bazom 100 ms je vreme od 500 ms. Radi olakšanja, kada se tajmeri pomilju u ovom tekstu, koristi se vremenska baza od 1 s. 2.1.2 Programibilni tajmeri Svi PLC-ovi, generalno, imaju delay-on tajmere, a mali PLC-ovi imaju samo ovaj tip tajmera. Slika 2.1.4(a) prikazuje ladder dijagram sa prečagama koji obuhvata delay-on tajmer. Slika 2.1.4(a) je tipično Mitsubishi. Tajmer je kao rele sa namotajem koji je pobuđen kada se javlja ulaz In 1 (prečaga 1). On zatim zatvara, posle nekog zadatog vremena kašnjenja, njegove kontakte na prečagi 2. Stoga se izlaz javlja posle nekog zadatog vremena kada se javi ulaz In 1. Slika 2.1.4(b) prikazuje tajmer kao kašnjenje u prečagi, a ne kao rele, što primenjuje Siemens. Kada se signal na startnom ulazu tajmera menja od 0 ka 1, tajmer startuje i radi u programiranom vremenu, dajući svoj izlaz na izlazni namotaj. Izlaz vrednosti vremena (TV) se može iskoristiti za određivanje iznosa preostalog vremena u bilo kom trenutku. Ulazni signal na ulazu za resetovanje resetuje tajmer bilo da radi ili ne. Tehnike za unošenje vrednosti zadatog vremena se razlikuju. Često se zahteva unošenje komande konstante K praćene vremenskim intervalom u umnošcima korišćene vremenske baze. Slika 2.1.4(c), (d) i (e), prikazuju ladder dijagrame Telemecanique, Toshiba i Allen-Bradley. S je Bulovski startni ulaz. TV je trajanje specifikacije vremena. R je Bulovski reset. BI je sadašnja vremenska vrednost u binarnoj reči. BCD je sadašnja vremenska vrednost u BCD reči. Q je Bulovski izlaz, i predstavlja stanje tajmera. 25

Bit dozvole EN je podešen na 1 kada postoji logička linija za vreme. Done bit prikazuje stanje tajmera i podešen je na 1 kada je akumulirana vrednost jednaka zadatoj vrednosti. Slika 2.1.4 Tajmeri: (a) Mitsubishi, (b) Siemens, (c) Telemecanique, (d) Toshiba, (e) Allen-Bradley 2.1.2.1 Redosled operacija (Sequencing) Kao ilustacija korišćenja tajmera, razmatramo ladder dijagram prikazan na slici 2.1.5(a). Kada je ulaz In 1 uključen, izlaz Out 1 se uključuje. Kontakti povezani sa ovim izlazom, zatim uključuju tajmer. Kontakti tajmera će se zatvoriti posle nekog zadatog vremenskog kašnjenja, u ovom slučaju 5.5 s. Kada se ovo desi, izlaz Out 2 se uključuje. Stoga, prateći ulaz In 1, Out 1 se uključuje i posle 5.5 s uključuje se Out 2. Ovo ilustruje kako se može postići vremenski raspored izlaza. Slika 2.1.5(b) prikazuje istu operaciju gde je format korišćen od strane PLC proizvođača tajmera takav da pokreće kašnjenje signala. Slika 2.1.5 Redosled izlaza Slika 2.1.6 prikazuje dve verzije kako tajmeri mogu biti korišćeni da pokrenu tri izlaza, npr. tri motora, po definisanom redosledu posle pritiskanja start dugmeta. U slučaju (a) tajmeri su programirani kao kalemovi, dok u slučju (b) oni su programirani kao kašnjenja. Kada se start dugme pritisne postoji jedan izlaz iz unutrašnjeg relea IR1. On baferuje startni 26

ulaz. On takođe pokreće oba tajmera, T1 i T2, i motor 1. Kada zadato vreme za tajmer T1 protekne onda se njegovi kontakti zatvaraju i motor 2 se uključuje. Kada zadato vreme za tajmer T2 protekne onda se njegovi kontakti zatvaraju i motor 3 se uključuje. Sva tri motora sa zaustavljaju pritiskajući dugme stop. Dok se ovo posmatra kao kompletan program, koristi se instrukcija end. Slika 2.1.6 Redosled operacija motora 2.1.2.2 Kaskadni (redni) tajmeri Tajmeri mogu biti povezani zajedno, i koristi se termin kaskadni da se pruži duže vreme kašnjenja od onog koje je moguće sa samo jednim tajmerom. Slika 2.1.7(a) prikazuje ladder dijagram za takav raspored. Stoga trebamo imati tajmer 1 sa vremenom kašnjenja 999 s. Ovaj tajmer se uključuje kada postoji ulaz na In 1. Kada vreme od 999 s istekne, kontakti za tajmer 1 se zatvaraju. Tako onda startuje tajmer 2. On ima kašnjenje od 100 s. Kada ovo vreme istekne, kontakti tajmera 2 se zatvaraju i postoji izlaz iz Out 1. Stoga se izlaz javlja 1099 s posle ulaza Out 1. Slika 2.1.7(b) prikazuje Mitsubishi verziju ovog ladder dijagrama i programske naredbe za ovu ladder. Slika 2.1.7 Kaskadni (redni) tajmeri 27

2.1.2.3 On-Off ciklični tajmer Slika 2.1.8 prikazuje kako on-delay tajmeri mogu biti korišćeni za stvaranje on-off cikličnog tajmera. Tajmer je dizajniran da uključi izlaz za 5 s, onda isključi za 5 s, onda uključi za 5 s, onda isključi za 5 s, i tako redom. Kada postoji ulaz na In 1 i kada su njegovi kontakti zatvoreni, tajmer 1 startuje. Tajmer 1 je podešen da kasni 5 s. Posle 5 s, uključuje se tajmer 2 i izlaz Out 1. Tajmer 2 ima kašnjenje od 5 s. Posle 5 s, kontakti tajmera 2, koji su obično zatvoreni, otvaraju se.ovo rezultuje da tajmer 1, u prvoj prečagi, biva isključen. Ovo onda prouzrokuje da se njegovi kontakti u drugoj prečagi otvaraju i isključuju tajmer 2. Ovo rezultuje da kontakti tajmera 2 nastavljaju da imaju uobičajen zatvoren položaj i tako ulaz na In 1 uzrokuje da ciklus počinje sve iznova. Slika 2.1.8 On-off ciklični tajmer Slika 2.1.9 prikazuje kako će gornji ladder dijagram izgledati u korišćenom formatu sa tajmerom razmatranim kao kašnjenje a ne kao namotaj. Ovo bi bilo, na primer, kod Siemens i Toshiba. Kada se ulaz In 1 zatvara, tajmer T1 startuje. Posle isteka njegovog zadatog vremena, javlja se izlaz na Out 1 i tajmer T2 startuje. Posle isteka njegovog zadatog vremena, javlja se izlaz na unutrašnjem releu IR1. Ovaj otvara njegove kontakte i zaustavlja izlaz iz Out 1. Ovaj onda isključuje tajmer T2. Potpuni ciklus može se zatim ponavljati. Slika 2.1.9 On-off ciklični tajmer 2.1.3 Off-delay tajmeri Slika 2.1.10 prikazuje kako on-delay tajmer može biti korišćen za stvaranje off-delay tajmera. Sa jednim takvim rasporedom, kada postoji trenutan ulaz na In 1, oba, izlaz Out 1 i tajmer se uključuju. Budući da je ulaz baferovan od strane kontakata Out 1, izlaz ostaje da bude uključen. Posle zadatog vremena kašnjenja tajmera, kontakti tajmera, koji su obično 28

zatvoreni, otvaraju se i isključuju izlaz. Stoga izlaz startuje kao uključen i ostaje uključen sve dok ne protekne vreme kašnjenja. Slika 2.1.10 Off delay tajmer Neki PLC-ovi imaju, osim on-delay tajmera, ugrađene i off-delay tajmere i stoga nije potrebno koristiti on-delay tajmer za izgradnju off-delay tajmera. Slika 2.1.11 ilustruje ovo za Siemens PLC, dajući ladder dijagram i listu naredbi. Zapazimo da se kod ovog proizvođača tajmer posmatra kao kašnjenje u prečagi, a ne kao rele. U pravougaonom simbolu koji se koristi za tajmer, 0 prethodi T i ozančava da je on-delay tajmer. Slika 2.1.11 Off delay tajmer Kao ilustracija korišćenja off-delay tajmera, razmotrimo Allen-Bradley program prikazan na slici 2.1.12. TOF se koristi da naznači da je to off-delay, a ne on-delay (TON) tajmer. Vremenska baza je podešena na 1:0 što je 1 s. Podešenost je na 10 tako da je tajmer posešen na 10 s. Slika 2.1.12 Upotreba jednog off-delay tajmera 29

U prvoj prečagi, izlaz tajmera je uzet od EN (za uključivanje) kontakata. Ovo znači da ne postoji vreme kašnjenja između ulaza na I:012/01 i EN izlaza. Kao rezultat EN kontakti u prečagi 2 se zatvaraju odmah gde se nalazi I:012/01 ulaz. Stoga javlja se izlaz O:013/01 odmah posle pojave ulaza I:012/01. TT kontakti u prečagi 3 se napajaju upravo za vreme dok tajmer radi. Zbog toga što je tajmer off-delay tajmer, on je uključen 10 s pre nego se isključi. Stoga TT kontakti će se zatvoriti kada se podešeno vreme od 10 s pokrene. Dakle izlaz O:012/02 je uključen za ovo vreme od 10 s. DN kontakti koji su obično zatvoreni, se otvaraju posle 10 s i stoga izlaz O:013/03 se javlja posle 10 s. DN kontakti koji su obično otvoreni, zatvaraju se posle 10 s i tako izlaz O:013/04 odlazi posle 10 s. 2.1.4 Impulsni tajmeri Impulsni tajmeri se koriste da stvore konačno vreme trajanja izlaza od nekog započetog ulaza. Slika 2.1.13(a) ladder dijagram za sistem koji će dati izlaz na Out 1 za prethodno zadatu konačnu dužinu vremena dok postoji ulaz na In 1, tajmer koji obuhvata jedan namotaj. Postoje dva izlaza za ulaz In 1. Kada postoji ulaz na In 1, postoji izlaz iz Out 1 i tajmer startuje. Kada prethodno zadato vreme protekne kontakti tajmera se otvaraju. On isključuje izlaz. Stoga izlaz ostaje uključen u vremenu koje je specificirao tajmer. Slika 2.1.13 Impulsni-on tajmer Slika 1.13(b) prikazuje ekvivalentan ladder dijagram slici 2.1.13(a) ali primenjuje tajmer koji izaziva kašnjenje u vremenu koje je potrebno signalu da se pojavi na izlazu. Na slici 2.1.13, impulsni tajmer je imao izlaz uključen od strane ulaza za prethodno zadato vreme, a onda se isključuje. Slika 2.1.14 prikazuje drugi impulsni tajmer koji uključuje izlaz za prethodno zadato vreme posle prekidanja ulaza. On koristi tajmer i dva unutrašnja relea. Kada postoji ulaz na In 1, unutrašnji rele IR 1 se napaja. Tajmer neće startovati u ovom trenutku jer obično zatvoreni In 1 kontakti su otvoreni. Zatvaranje kontakata IR 1 znači da se unutrašnji rele IR 2 napaja. Ne postoji, međutim, izlaz iz Out 1 u ovoj fazi jer, na dnu prečage, imamo otvorene kontakte na In 1. Kada se prekine ulaz na In 1, oba unutrašnja relea ostaju napojeni i tajmer startuje. Posle podešenog vremena, kontakti tajmera, koji su obično zatvoreni, otvaraju se i isključuju IR 2. On naizmenice isključuje IR 1. On takođe na dnu prečage isključuje izlaz Out 1. Stoga izlaz je isključen za vreme dok je uključen ulaz, onda biva uključen za unapred određenu dužinu vremena. 30

Slika 2.1.14 Impulsni tajmer on, kada je izlaz prekinut 2.1.5 Primeri programiranja Razmotrimo program (slika 2.1.15) koji može biti korišćen za uključivanje ili isključivanje svetla dok se javlja neki izlaz. Stoga treba da imamo oba, tajmer 0 i tajmer 1 podešeni na 1 s. Kada se javi izlaz, onda tajmer 0 startuje i uključuje se posle 1 s. Ovaj zatvara kontakte tajmera 0 i startuje tajmer 1. Ovaj se uključuje posle 1 s i, na taj način, isključuje tajmer 0. Na taj način on isključuje i sebe. Sijalica je jedino uključena kada je tajmer 0 uključen i tako imamo program koji uključuje i isključuje sijalicu dok postoji izlaz. Slika 2.1.15 Treperenje svetla Kao ilustracija programiranja koje uključuje tajmere razmatramo semafor koji daje sekvencu crveno, crveno i žuto, zeleno, žuto, a zatim se ponavlja. Jednostavan sistem može samo imati sekvencu koja se vremenski okida, gde se sva moguća stanja javljaju u sekvenci u fiksnom vremenskom intervalu. Slika 2.1.16 prikazuje sekvencijalni funkcijski dijagram i mogući ladder program za datu sekvencu. 31

Slika 2.1.16 Sekvenca semafora 32

2.2 BROJAČI Brojači su dati kao ugrađeni elementi u PLC-ovima i omogućavaju brojanje pojavljivanja ulaznih signala.ovo je potrebno gde moramo brojati objekte kao npr. kada oni prolaze duž prenosne trake, ili broji obrtaje osovine, ili broj ljudi koji prolaze kroz vrata. Ovo poglavlje opisuje kako takvi brojači mogu biti programirani. 2.2.1 Tipovi brojača Brojač je podešen na neku zadatu vrednost i kada se prihvati ova vrednost ulaznih impulsa on će promeniti stanje kontakata. Stoga obično otvoreni kontakti bi bili zatvoreni, a zatvoreni bi bili otvoreni. Postoje dva tipa brojača, mada PLC-ovi ne moraju imati oba tipa. Ovi su brojači naniže i brojači naviše. Brojači naniže broje naniže od zadate vrednosti do nule, tj. događaji se oduzimaju od podešene vrednosti. Kada brojač dostigne nulu njegovi kontakti menjaju stanje. Većina PLC-ova nude brojanje naniže. Brojači naviše broje od nule do zadate vrednosti, tj. događaji se sabiraju sve dok broj ne dostigne zadatu vrednost. Kada brojač dostigne podešenu vrednost njegovi kontakti menjaju stanje. Različiti proizvođači PLC-ova se ophode prema brojačima na različite načine. Neki broje naniže (CTD) ili naviše (CTU), i resetuju odnosno tretiraju brojač kao da je namotaj relea odnosno izlaz prečage. Na ovaj način brojači se mogu razmatrati kao da se sastoje od dva osnovna elementa: jedan namotaj relea za brojanje ulaznih impulsa i jedan za resetovanje brojača, odgovarajući kontakti brojača koji se koriste u drugim prečagama. Slika 2.2.1(a) ilustruje ovo. Mitsubishi je primer ovakvog tipa proizvođača. Drugi tretiraju brojač kao međublok u prečagi iz koje signali izlaze kada je brojanje završeno. Slika 2.2.1(b) ilustruje ovo. Siemens je primer ovakvog tipa proizvođača. Slika 2.2.1 Oblici predstavljanja brojača. Kod (a) RST je reset. Kod (b), predstavljanje IEC 1131-3, CD je ulaz brojanja naniže, LD je za učitavanje ulaza, PV je za zadatu vrednost, CV je trenutna vrednost brojanja, CU je ulaz brojanja naviše i R je za ulaz resetovanja 2.2.2 Programiranje Slika 2.2.2 prikazuje osnovno brojačko kolo. Kada postoji ulazni impuls na In 1, brojač se resetuje. Kada postoji ulaz na In 2, brojač počinje sa brojanjem. Ako je brojač podešen za, recimo, 10 impulsa, onda kada 10-ti impuls bude primljen na In 2, kontakti brojača će se zatvoriti i postojaće izlaz iz Out 1. Ako u bilo kom trenutku za vreme brojanja postoji ulaz na In 1, brojač će se resetovati i počeće sve izpočetka i brojaće 10 impulsa. 33

Slika 2.2.2 Osnovni program brojača Slika 2.2.3(a) prikazuje kako će gornji program, i njegova lista naredbi izgledati kod Mitsubishi PLC-a. Resetovanje i brojanje elemenata su ujedinjeni u jednu celinu obuhvatajući dve prečage. Može se posmatrati pravougaonik koji obuhvata dva brojačka ( ) izlaza na slici 2.2.2. Brojna vrednost je podešena od strane K programske naredbe. Slika 2.3(b) prikazuje isti program kod Siemens PLC-a. Sa ovim ladder programom, brojač se razmatra kao element kašnenja u izlaznoj liniji ( kao na slici 2.2.1(a)). Brojač resetuje ulaz I0.1 i broji impulse sa ulaza I0.0. CU označava brojač sa brojanjem naviše, a CD označava brojač sa brojanjem naniže. Podešena vrednost brojača je označena brojem LKC. Slika 2.2.3(c) je program za Toshiba a slika 2.2.3(d) za Allen-Bradley. Slika 2.2.3 (a) Mitsubishi, (b) Siemens, (c) Toshiba, (d) Allen-Bradley programi 34

2.2.2.1 Primena brojača Kao ilustracija primene brojača razmatramo problem prolaska objekata duž transportne trake, a prolazak pojedinačnog objekta se registruje preko prekida svetlosnog zraka koji putuje prema fotoelektričnoj ćeliji, a posle određenog broja šalje se signal koji obaveštava da je premašen podešen broj i traka se zaustavlja. Slika 2.2.4(a) prikazuje osnovne elemente Siemens programa koji se koristiti. Signal za resetovanje omogućuje resetovanje brojača i ponovo startovanje brojanja. Signal podešavanja se koristi za aktiviranje brojača. Slika 2.2.4(b) prikazuje osnovne elemente Allen-Bradley programa. Kada brojač premaši zadatu vrednost završni bit je 1 i javlja se O:013/01 izlaz, a odgovarajući kontakti su otvoreni i traka se zaustavlja. Slika 2.2.4 (a) Siemens, (b) Allen-Bradley program za brojanje Kao sledeću ilustraciju primene brojača razmotrimo problem kontrole mašine koja se zahteva za usmeravanje 6 konzervi duž putanje gde se pakuju u paketu, a zatim 12 konzervi duž druge putanje za pakovanje u drugi paket (slika 2.2.5). Ravan deflektora se može kontrolisati fotoćelijskim senzorom koji daje izlaz svaki put kada konzerva prođe. Stoga broj impulsa iz senzora se mora brojati i iskoristiti za kontrolu deflektora. Slika 2.2.6 prikazuje ladder program koji se može koristiti. Korišćeno je Mitsubishi označavanje. Slika 2.2.5 Uređaj za brojanje Slika 2.2.6 Ladder program za uređaj sa slike 2.2.5 35

Kada postoji impulsni ulaz na X400, oba brojača su resetovana. Ulaz za X400 može biti taster koji se koristi za pokretanje trake. Ulaz koji se broji je X401. Ovo može biti ulaz iz fotoćelijskog senzora koji detektuje prisustvo konzervi koje prolaze duž trake. C460 počinje brojanje posle zatvaranja X400. Kada je C460 izbrojao 6 objekata,zatvara svoje kontakte i daje izlaz ka Y430. Ovo može biti solenoid koji se koristi za aktiviranje deflektora da skrene objekte u jedan ili drugi boks. Stoga deflektor može biti u poziciji koja prvo propušta 6 konzervi u 6-to paketni boks, a zatim se deflektor pomera da omogući prolaz konzervama u 12-to paketni boks. Kada C460 stopira brojanje on zatvara svoje kontakte i omogućuje startovanje brojanja kod C461. C461 broji 12 impulsa ka X401 i zatim zatvara svoje kontakte. Ovo dovodi do resetovanja oba brojača i ceo proces se može ponoviti. Brojači se mogu koristiti da osiguraju da se određeni deo sekvence ponavlja određeni broj puta. Ovo je ilustrovano programom koji sledi a koji je dizajniran da omogući trocilindričnom sklopu sa duplim solenoidom (slika 2.7(a)) da da sekvencu A+, A-, A+, A-, A+, A-, B+, C+, B-, C-. Sekvenca A+, A- se ponavlja tri puta pre nego što se javi B+, C+, B-, C-. Možemo koristiti brojač za izvođenje ovog ponavljanja. Slika 2.7(b) prikazuje mogući program. Brojač dozvoljava da se B+ javi samo posle prijema tri ulaza koji su tri A- signali. Slika2.2.7 (a) Trocilindrični sistem, (b) program 36

2.2.3 Brojanje naviše i naniže Moguće je programirati brojače koji imaju mogućnost da broje naviše i da broje naniže. Razmotrimo zadatak brojenja proizvoda kako dolaze na pokretnu traku i kako je napuštaju, ili možda automobile kako ulaze na parkiralište i kako ga napuštaju. Izlaz se okida ako broj objekata/automobila koji ulaze je neki broj veći od broja koji napuštaju, tj. broj na parkiralištu je dostigao vrednost zasićenja. Izlaz može biti osvetljeni znak Nema praznih mesta. Pretpostavimo da koristimo brojač naviše za objekte koji ulaze i brojač naniže za objekte koji izlaze. Slika 2.2.8(a) prikazuje osnovni oblik ladder programa za takvu jednu primenu. Kada objekat uđe, on daje impuls na ulazu In 1. Ovaj povećava sadržaj brojača za jedan. Stoga svaki objekat koji uđe povećava akumuliran sadržaj za jedan. Kada jedan objekat odlazi on daje ulaz na In 2. Ovaj oduzima broj za jedan. Stoga se svaki objekat koji napušta oduzima od akumuliranog sadržaja za jedan. Kada akumulirana vrednost premaši zadatu vrednost, izlaz Out 1 se uključuje. Slika 2.2.8(b) prikazuje implementaciju ovog programa sa Allen-Bradley programom. Slika 2.2.8 (a) Korišćenje borjača naviše i naniže, (b) Allen-Bradley program Brojači naviše naniže su dostupni kao jedinstvene celine. Slika 2.2.9 prikazuje IEC 1131-3 stardadni znak. Brojač ima dva ulaza CU i CD i broji naviše broj impulsa detektovanih na ulazu CU i broji naniže broj impulsa detektovanih na ulazu CD. Ako ulaz brojača dostigne nulu, QD izlaz prelazi u stanje on i brojanje naniže se zaustavlja. Ako brojanje dostigne maksimalnu vrednost PV, QU izlaz prelazi u stanje on i brojanje naviše se zaustavlja. CV je vrednost sadržaja brojača. LD se može koristiti za podešavanje izlaza brojača CV sa vrednošću PV. Reset R briše ulaz brojača na nulu. Slika 2.2.9 IEC 1131-3 standardni znak za brojače naviše-naniže 37

Slika 2.2.10 prikazuje kako gornji sistem može izgledati kod Siemens PLC-a i odgovarajuću listu programskih naredbi. CU je ulaz za brojanje naviše, a CD za brojanje naniže. R je reset. Podešena vrednost akomulatora se učitava preko F0.0, i ovo je neki unutrašnji rele. Slika 2.2.10 Brojanje naviše i naniže kod Siemens PLC-a 2.2.4 Tajmeri sa brojačima Tipičan tajmer može brojati do 16 binarnih bita podataka, što odgovara 32767 osnovnih vremenskih jedinica. Stoga, ako imamo vremensku bazu od 1 s, onda maksimalno vreme sa kojim može raditi tajmer je upravo preko 546 minuta ili 9.1 sat. Ako je vremenska baza 0.1 s onda je maksimalno vreme 54.6 minuta ili malo kraće od jednog sata. Spajanjem tajmera sa brojačem, mogu se brojati duža vremena. Slika 2.2.11 ilustruje ovo sa Allen- Bradley programom. Ako tajmer ima vremensku bazu od 1 s i zadatuu vrednost od 3600, onda on može brojati do jedan sat. Kada se ulaz I:012/01 aktivira, tajmer počinje da povećava vreme za jednu sekundu. Kada vreme dostigne zadatu vrednost od jednog sata, DN bit se podesi na 1 i brojač se poveća za 1. DN bit podešen na 1 takođe resetuje tajmer i tajmer počinje da meri vreme ispočetka. Kada opet dostigne zadato vreme od jednog sata, DN bit se ponovo podešava na 1 i brojač se povećava za 1. Kod brojača sa podešenom zadatom vrednosti na 24, DN bit brojača se podesi na 1 kada brojanje premaši 24 i izlaz O:013/01 se uključuje. Stoga imamo tajmer koji je u stanju da broji sekunde za vreme jednog dana i koji će biti sposoban da uključi neki uređaj posle 24 sata. Slika 2.2.11 Korišćenje brojača da proširi opseg tajmera 38

2.2.5 Programator Cilindrični programator je oblik brojača koji se koristi za kontrolu redosleda. On zamenjuje mehanički cilindrični programator koji se koristio za kontrolu mašina koje imaju stepenasti niz ponavljanja operacija. Jedan oblik mehaničkog cilindričnog programatora se sastoji od cilindra iz kojeg viri nekoliko klinova (slika 2.2.12). Kada se cilindar rotira, kontakti u liniji sa klinovima bivaju zatvoreni kada klin udari u njih i otvaraju se kada klin prođe. Stoga, za raspored prikazan na slici 2.2.12, dok cilindar rotira, u prvom koraku klin za izlaz 1 se aktivira, u drugom koraku klin za treći izlaz, u trećem koraku klin za drugi izlaz, i tako dalje. Različiti izlazi se mogu kontrolisati od strane klinova smeštenih na različitim odstojanjima duž cilindra. Drugi oblik se sastoji od niza čvorova na istoj osovini, a oblik čvorova se koristi da uključi i isključi kontakte. Slika 2.2.12 Cilindrični programator PLC programator sadrži glavni brojač koji ima opseg zadatog brojanja koji odgovaraju različitim koracima i tako, kako napreduje sa brojanjem, kada se premaši svaka zadata vrednost može se iskoristiti za kontrolu izlaza. Svaki korak u redosledu brojanja se odnosi na određeni izlaz ili grupu izlaza. Izlazi su unutrašnji relei, i bivaju korišćeni za kontrolu spoljašnjih izlaznih uređaja. Pretpostavimo da želimo da izlaz 1 bude uključen 5 s posle startovanja i ostane uključen dok ne dostigne 10 s, izlaz 2 da se uključi za 10 s i ostane uključen dok ne bude 20 s, izlaz 3 da se uključi za 15 s i ostane uključen dok ne bude 25 s, itd. Možemo predstaviti ove zahteve vremenskim sekvencijalnim dijagramom, slika 2.2.13 koji prikazuje zahtevanu vremensku sekvencu. Slika 2.2.13 Vremenski dijagram Možemo transformisati vremenski dijagram u oblik cilindrične sekvence. Uzimajući da svaki korak cilindrične sekvence traje 5 s dobijamo dijagram prikazan u tabeli 2.2.1. Stoga u prvom koraku zahtevamo da izlaz 1 bude uključen i da ostane uključen dok ne pređemo na korak 2. U drugom koraku zahtevamo da izlaz bude uključen i da ostane uključen dok ne 39

pređemo na korak 4. U trećem koraku zahtevamo da izlaz 3 bude uključen i da ostane uključen dok ne pređemo na korak 5. U petom koraku zahtevamo da izlaz 4 bude uključen i da ostane uključen dok ne pređemo na korak 6. Tabela 2.2.1 Zahtevi programatora Kod PLC-a, kao što je Toshiba, programator se podešava uključivanjem Step Sequence Initialize (STIZ) funkcijskog bloka R500 (slika 2.2.14). Ovaj podešava korak za 1 i R501. Ovaj rele onda uključuje izlaz Y020. Sledeći korak je uključivanje R502. On uključuje izlaz Y021 i takođe delay-on tajmer tako da R503 nije uključen dok tajmer ima pauzu. Onda R503 uključuje Y022 i takođe sledeći korak u sekvenci. Slika 2.2.14 Programator kod Toshiba PLC-ova 40

Kod Allen-Bradley oblika PLC-a programator se programira korišćenjem sekvence binarnih reči u obliku zahtevanih izlaza, na primer onih u tabeli 2.2.1. Stoga mi bi imali sledeću sekvencu reči stavljenu u program korišćenjem uređaja za programiranje. 41

2.3 POMERAČKI REGISTRI Pojam registar se koristi za elektronski uređaj u kome se podaci mogu čuvati. Unutrašnji rele je takav uređaj. Pomerački registar je nekoliko unutrašnjih relea grupisanih zajedno koji omogućuje pomeranje memorisanih bitova sa jednog relea na drugi. Ovo poglavlje govori o pomeraačkim registrima i kako oni mogu biti korišćeni gde se zahteva redosled operacija ili da obeleži posebne delove u sistemu proizvodnje. 2.3.1 Pomerački registri Registar je nekoliko unutrašnjih relea zajedno grupisanih, obično 8, 16 ili 32. Svaki unutrašnji rele je ili otvoren ili zatvoren, i ova stanja bivaju označena kao 0 i 1. Pojam bit se koristi za svaki takav binarni digit. Prema tome, ako imamo osam unutrašnjih relea u registru možemo sačuvati osam 0/1 stanja. Stoga možemo imati: Unutrašnji relei 1 2 3 4 5 6 7 8 i svaki rele može zapamtiti jedan on-off signal pa je stanje registra u nekom trenutku: 1 0 1 1 0 0 1 0 tj. rele 1 je uključen, rele 2 je isključen, rele 3 je uključen, rele 4 je uključen, rele 5 je isključen, itd. Takvo uređenje se naziva 8-mo bitni registar. Registri mogu da se koriste za smeštanje podataka iz ulaznih izvora drugačijih od jednostavnih on-off uređaja kao što su prekidači. Kod pomeračkih registara moguće je pomerati smeštene bitove. Pomerački registri zahtevaju tri ulaza, jedan da učita podatke na prvo mesto u registru, jedan kao naredba za pomeranje podataka za jedno mesto i jedan za resetovanje ili čišćenje registra od podataka. Da bi ilustrovali ovo, razmotrimo sledeću situaciju gde počinjemo sa 8-mo bitnim registrom sa sledećim stanjem: 1 0 1 1 0 0 1 0 Pretpostavimo da sada primimo ulazni signal 0. Ovo je ulazni signal na prvom unutrašnjem releu. Ulaz 0 1 0 1 1 0 0 1 0 0 1 0 1 1 0 0 1 Prelivanje 0 Stoga grupa unutrašnjih relea koji su inicijalno bili on, off, on, on, off, off, on, off su sada off, on, off, on, on, off, off, on. Zajedničko grupisanje unutrašnjih relea koji formiraju pomerački registar se radi automatski so strane PLC-a kada je funkcija pomeračkog registra izabrana. Kod Mitsubishi PLC-a, ovo se radi koristeći programski kod SFT (shift) na osnovu broja unutrašnjih relea koji treba da bude prvi u registarskom nizu. Ovo onda prouzrokuje blok relea, koji počinje od tog početnog broja, a koji je rezervisan za pomerački registar. 42

2.3.2 Ladder programi Razmotrimo 4-oro bitni pomerački registar i kako on može biti predstavljen u ladder programu (slika 2.3.1(a)). Ulaz In 3 se koristi da resetuje pomerački registar, tj. postavlja sve vrednosti na 0. Ulaz In 1 se koristi kao ulaz prvog unutrašnjeg relea u registar. Ulaz In 2 se koristi da pomeri stanja unutrašnjeg relea za 1. Svaki od unutrašnjih relea u registru, tj. IR 1, IR 2, IR 3 i IR 4, je povezan na jedan izlaz, a to su Out 1, Out 2, Out 3 i Out 4. Slika 2.3.1 Pomerački regisrar Pretpostavimo da smo počeli sa dovođenjem ulaza na In 3. Svi unutrašnji relei su onda posešeni na 0 i tako stanja četiri unutrašnja relea IR 1, IR 2, IR 3 i IR 4 su 0, 0, 0, 0. Kada se In 1 trenutno zatvori postoji 1 ulaz u prvi rele. Stoga stanja unutrašnjih relea IR 1, IR 2, IR 3 i IR 4 su sada 1, 0, 0, 0. Kontakti IR 1 se zatvaraju i stoga imamo izlaz na Out 1. Ako sada dovedemo ulaz na In 2, 1 je pomeren sa prvog relea na drugi. Stanje unutrašnjih relea je sada 0, 1, 0, 0. Sada nemamo ulaz sa Out 1 ali imamo izlaz na Out 2. Ako dovedemo drugi ulaz na In 2, pomeramo stanja relea za jedno mesto, i dobijamo 0, 0, 1, 0. Izlazi 1 i 2 su sada isključeni ali Out 3 je uključen. Ako dovedemo neki drugi ulaz na In 2 ponovo pomeramo stanje relea za jedan i imamo 0, 0, 0, 1. Stoga sada, izlazi 1, 2, i 3 su isključeni i izlaz 4 biva uključen. Kada se neki drugi ulaz dovede na In 2 pomeramo stanja relea za jedan i imamo 0, 0, 0, 0 sa 1 prekoračenjem koji biva izgubljen. Svi izlazi su onda isključeni. Stoga efekat redosleda ulaza na In 2 daje redosled izlaza Out 1, praćen sa Out 2, praćen sa Out 3, praćen sa Out 4. Slika 2.3.1(b) prikazuje redosled signala. Slika 2.3.2 prikazuje Mitsubishi verziju gornjeg ladder programa i pridruženu listu naredbi. Umesto tri odvojena izlaza za resetovanje, izlaz i pomeranje, Mitsubishi pomerački registar se pojavljuje u programu kao jedan funkcijski boks, kao što je prikazano na slici. Kod Mitsubishi pomeračkog registra, M140 je adresa prvog relea u registru. 43

Slika 2.3.2 Mitsubishi program Slika 2.3.3 prikazuje ladder program za pomerački registar za Toshiba PLC. Kod Toshiba R016 je adresa prvog relea u registru. (08) pokazuje da postoji osam takvih relea. D se koristi za ulaz podataka, S za pomeranje ulaza, E za dozvolu ili resetovanje ulaza i Q za izlaz. Slika 2.3.3 Pomerački registar 44

Slika 2.3.4 prikazuje IEC 1131-3 standardni znak za pomerački registar. Vrednost koja se pomera je na ulazu IN a broj pomeranja je na ulazu N. Slika 2.3.4 IEC 1131-3 znak za pomerački registar Slika 2.3.5 prikazuje Siemens znak za pomerački registar. Ako je ulaz dozvole EN 1, funkcija pomeranja se izvršava i ENO je onda 1. Ako je EN 0, funkcija pomeranja se ne izvršava i ENO je 0. Pomeračka funkcija SHL_W pomera sadržaje reči na ulazu IN bit po bit ulevo za broj specificiran na ulazu N. Pomerena reč je na izalzu Out. Slika 2.3.5 Znak pomeračkog registra za Siemens 2.3.2.1 Sekvencijalna primena Razmotrimo zahteve za program za dva dvostruka solenoidna cilindra, sa postavljenim rasporedom kao što je prikazano na slici 2.3.6(a), da dobijemo sekvencu A+, B+, A-, B-. Slika 2.3.6(b) prikazuje program za ostvarivanje ove sekvence koristeći pomerački registar. 45

Slika 2.3.6 Sekvencijalni cilindri 2.3.2.2 Održavanje razmaka između predmeta Do sada smo prikazali kako se pomerački registri mogu koristiti za sekvenciranje. Druga primena je za održavanje razmaka između predmeta. Na primer, semzor se može koristiti da detektuje neispravne predmete koji se kreću duž pokretne trake i za održavanje razmaka između predmeta tako da kada dostigne odgovarajuću tačku mehanizam za izbacivanje se aktivira da ga ukloni sa pokretne trake. Slika 2.3.7 ilustruje ovo uređenje i tip ladder programa koji se može koristiti. 46

Slika 2.3.7 Održavanje razmaka između neispravnih predmeta Svaki put kada se otkrije neispravan predmet, impulsni signal se javlja na ulaz X400. On unosi 1 u pomerački registar na unutrašnjem releu M140. Kada se predmeti pomeraju, dali neispravni ili ne, postoji impuls na ulazu X401. On pomera 1 duž registra. Kada 1 dospe na unutrašnji rele M144, on aktivira izlaz Y430 i mehanizam za izbacivanje uklanja neispravan predmet sa transportne trake. Kada je predmet uklonjen javlja se ulaz na X403. On se koristi da resetuje mehanizam tako da se ne izbacuju nadalje predmeti sve dok se signal za izbacivanje ne javi na M144. On to čini dajući izlaz na unutrašnji rele M100 koji baferuje ulaz X403 i isključuje izlaz za izbacivanje Y430. Ovo su samo osnovni elementi sistema. Praktični sistem obuhvata druge unutrašnje relee kako bi se osiguralo da je mehanizam za izbacivanje isključen kada se ispravni predmeti kreću duž pokretne trake i takođe da onemoguće ulaz na X400 kada se javlja pomeranje. 47

2.4 MANIPULISANJE PODACIMA Tajmeri, brojači i pojedinačni unutrašnji relei rade sa pojedinačnim bitovima, tj. sa pojedinačnim on-off signalima. Pomerački registri sadrže nekoliko bitova koji su spojeni sa grupom unutrašnjih relea. Blok podataka u registru je manipulisan. Ovo poglavlje je o PLC operacijama sadržavajući blokove podataka predstavljajući vrednost, i takvi blokovi se nazivaju reči. Blok podataka je potreban kad trebamo predstavljati brojeve a ne jedini on-off ulaz. Manipulisanje podacima se sastoji od radnji kretanja ili prenošenja numeričkih informacija smeštenih iz jedne memorijske lokacije u drugu, poređenje vrednosti podataka i izvršavanje jednostavne aritmetičke opreacije. Na primer, može biti potrebno uporediti numeričku vrednost sa podešenom vrednošću i pokrenuti postupak ako je stvarna vrednost manja od podešene vrednosti. 2.4.1 Registri i bitovi Registar je tamo gde podatak može biti sačuvan. Kod PLC-a postoji nekoliko takvih registara. Svaki registar podataka može smestiti binarnu reč od obično 8 ili 16 bitova. Broj bitova određuje veličinu broja koji može biti smešten. Binarni sistem koristi samo dva simbola, 0 i 1. Stoga možemo imati 4-oro bitni broj 1111. Ovo je decimalni broj 15. Stoga 4-oro bitni registar može sačuvati broj između 0 i 15. 8-mo bitni registar može sačuvati pozitivan broj između 0 i 255. 16-to bitni registar može sačuvati pozitivan broj između 0 i 2 16-1 tj. 65535. Stoga 16-to bitna reč se može koristiti za pozitivne brojeve u opsegu od 0 do +65535. Ako se zahtevaju negativni brojevi, najznačajniji bit se koristi da predstavi znak, 1 predstavlja negativan broj i 0 pozitivan broj i format korišćen za negativne brojeve je dvojični komplement. Dvojični komplement je način pisanja negativnih brojeva tako da kada saberemo +5 i -5 dobijamo 0. Stoga u ovom formatu, 1011 predstavlja negativan broj -5 i 0101 pozitivan broj +5; 1011 + 0101 = 0000 sa (1) koja se za 4-oro bitni broj gubi. Format binarnog koda za decimalne cifre (BCD) se često koristi kod PLC-ova kada su povezani na uređaje kao što su digitalni displeji. Kod prirodnog binarnog broja ne postoji jednostavna veza između razdvojenih znakova decimalnog broja i ekvivalentnog binarnog broja. Mora se aritmetički određivati broj iz jednog brojnog sistema u drugi. Kod binarno kodiranog decimalnog sistema, svaki decimalni broj je predstavljen, redom, 4-oro bitnim binarnim brojem (četiri je najmanji broj binarnih bitova koji daje decimalni broj veći od 10, tj. 2 n >10). Da ilustrujemo ovo, razmotrimo decimalni broj 123. 3 je predstavljena 4-oro bitnim binarnim brojem 0011, 2 4-oro bitnim brojem 0010 i 1 kao 0001. Stoga binarni kodirani decimalni broj od 123 je 0001 0010 0011. Binarni kod za decimalne cifre je pogodan sistem za korišćenje kod spoljašnjih uređaja koji su podešeni za decimalni format, npr. dekadni prekidači i digitalni displeji. Zato 4-oro binarni bitovi se mogu koristiti za svaki decimalni broj. PLC-ovi zbog toga često imaju ulaze ili izlaze koji mogu biti programirani da konvertuju binarni kod za decimalne cifre od spoljašnih ulaznih uređaja u binarni oblik potreban unutar PLC-a i od binarnog oblika koji se koristi u PLC-u u binarno kodirani decimalni oblik za spoljašne izlazne uređaje. Tasterski prekidač sa vraćanjem se naširoko koristi kao sredstvo za manuelno unošenje BCD podataka u PLC. On ima četiri kontakata koji mogu biti otvoreni ili zatvoreni da daju 4-oro binarne bitove koji predstavljaju decimalni broj (slika 2.4.1). Kontakti se otvaraju ili zatvaraju rotiranjem točka koristeći taj taster. Koristeći nekoliko ovakvih prekidača, podaci mogu biti unešeni u BCD formatu. 48

Slika 2.4.1 Tasterski prekidač sa vraćanjem 2.4.2 Manipulisanje podacima Slede primeri instrukcija za manipulisanje podacima koji se mogu naći kod PLC-a. 2.4.2.1 Pomeranje podataka Strukturalni tekstualni program unosa za MOVE operaciju je :- sa adresama odredišta koje su prvo date i onda posle :- vrednost koja će biti pomerena na odredište, tj. Result:-value Kod ladder programa, slika 2.4.2 ilustruje zajedničku vežbu korišćenja jedne prečage ladder programa ta svaku operaciju pomeranja, prikazujući oblik korišćen od strane tri proizvođača, Mitsubishi, Allen-Bradley i Siemens. Za prikazanu prečagu, kada postoji ulaz na u prečagi, pomeranje se javlja sa adrese označenog izvora na adresu označenog odredišta. Za manipulisanje podacima kod ovih PLC-ova, tipičan ladder program sadrži instrukcije za rad sa podacima, izvornu adresu (S) sa koje se uzimaju podaci i odrdišnu adresu (D) na koju se pomeraju. Ovakav pristup korišćen od strane nekih proizvođača, npr. Siemens, se odnosi na pomeranje podataka kao dve odvojene naredbe, učitavajući podatak iz izvora u akumulatoru i onda prenose podatke iz akumulatora na odredište. Slika 2.4.2(c) prikazuje Siemens znak za MOVE funkciju. Podatak se pomera iz IN ulaza na OUT izlaz kada je EN odobren. Slika 2.4.2 Pomeranje podataka: (a) Mitsubishi, (b) Allen-Bradley (c) Siemens Premeštanje podataka može biti prenošenje zadate vrednosti u tajmeru ili brojaču, ili memorisanje vrednosti tajmera ili brojača u neki registar, ili podaci iz ulaza u registar ili iz registra na izlaz. Slika 2.4.3 prikazuje prečagu, u Allen-Bradley formatu, koji može biti korišćen da prenese broj zadržan na adresi N7:0 u zadati tajmer T4:6 kada su uslovi na ulazu 49

te prečage ispunjeni. Prenos podataka iz akumulirane vrednosti u brojaču na registar imaće adresu izvora oblika C5:18.ACC i adresu odredišta u obliku N7:0. Prenos podataka sa ulaza na registar može imati izvornu adresu oblika I:012 i odredišnu adresu oblika N7:0. Prenos podataka iz registra na izlaz može imati izvornu adresu oblika N7:0 i odredišnu adresu oblika O:030. Slika 2.4.3 Pomeranje broja na zadati tajmer 2.4.2.2 Poređenje podataka Naredbe poređenja podataka omogućuju da se uporede dve vrednosti podataka u PLCu. Stoga on može porediti digitalnu vrednost pročitanu iz nekog ulaznog uređaja sa drugom vrednošću sadržanu u registru. Na primer, možda želimo da neki posao bude pokrenut kada sa senzora temperature dobijemo digitalnu vrednost koja je manja od podešene vrednosti sačuvane u registru podatka u PLC-u. PLC-ovi, generalno, mogu upoređivati za manje od (< ili LD ili LES), jednako (= ili = = ili EQ ili RQU), manje ili jednako od ( ili <= ili LE ili LEQ), veće od (> ili GT ili GRT), veće ili jednako od ( ili >= ili GE ili GEQ) i nije jednako ( ili <> ili NE ili NEQ). Zagrade oko svakog termina označavaju uobičajeno izražavanje koji se koristi u programiranju. Kao ilustracija, strukturni tekst bi izgledao: (*Provera da je pritisak bojlera P2 manji od pritiska P1*) Izlaz:- P2<P1; Kod ladder programa, za poređenje podataka tipična naredba će sadržati naredbu prenosa podataka, adresu izvora (S) odakle je podatak pristigao za poređenje i adresu odredišta (D) podataka sa kojim se vrši poređenje. Naredbe obično korišćene za upoređivanje su termini prikazani u gornjeim zagradama. Slika 2.4.4 prikazuje tipove oblika korišćene od strane dva proizvođača koristeći oblik poređenja veće od. Slični oblici se koriste za druge oblike poređenja. Na slici 2.4.4(a) je oblik poređenja koji koristi Mitsubishi, S označava izvor vrednosti podataka za poređenje i D odredište ili vrednost sa kojom se poređenje treba uraditi. Stoga ako je vrednost izvora veća od vrednosti odredišta, izlaz je 1. Na slici 2.4.4(b) koristi se Allen-Bradley oblik. Ovde izvor podataka biva poređen ako je dat kao akumulirana vrednost u tajmeru 4.0 i podatak sa kojim on biva poređen je broj 400. Slika 2.4.4(c) prikazuje Siemens oblik. Vrednosti koje će biti poređene su na ulazima In 1 i In 2 a rezultat poređenja je na izlazu i biva 1 ako je poređenje uspešno u protivnom je 0. R se koristi da označi realne brojeve, tj. brojeve sa pokretnom tačkom, I se koristi za celobrojne, tj. brojeve sa fiksnom tačkom koji sadrže 16 bitova, i D za brojeve sa fiksnom tačkom koji sadrže 32 bita. Oba ulaza trebaju biti istog tipa podataka, npr. REAL. 50

Slika 2.4.4 Poređenje veće od : (a) Mitsubishi, (b) Allen-Bradley, (c) Siemens Kao ilustracija korišćenja takvog poređenja, razmotrimo zadatak sviranja alarma ako senzor prikaže da se temperatura podigla preko neke vrednosti, recimo 100 o C. Alarm se oglašava za vreme dok temperatura ne padne ispod 90 o C. Slika 2.4.5 prikazuje ladder dijagram koji se može koristiti. Kada podizanje temperature postane jednako ili veće od 100 o C, onda element poređenja veće od daje 1 na izlazu i tako podešava unutrašnji rele. Tada postoji izlaz. Ovaj izlaz baferuje element poređenja veće od i tako izalz postaje aktivan, čak i kada temperatura padne ispod 100 o C. Izlaz se ne isključuje sve dok na izlazu ne bude manje od 90 o C i dok se ne resetuje unutrašnji rele. Slika 2.4.5 Program za alarm Drugi primer korišćenja poređenja je kada je, recimo, potrebno da četiri izlaza u nizu budu startovana, tj. izlaz 1 startuje kada je početni prekidač zatvoren, praćen neko vreme kasnije izlazom 2, neko vreme kasnije izlazom 3 i neko vreme kasnije izlazom 4. Mada ovo može biti urađeno korišćenjem tri tajmera, druga mogućnost je korišćenje jednog tajmera sa elementima veći od ili jednako. Slika 2.4.6 prikazuje mogući ladder dijagram. Slika 2.4.6 Sekvencijalno uključivanje 51

Kada se kontakti X401 zatvore, izlaz Y430 startuje. Takođe i tajmer startuje. Kada akumulirana vrednost tajmera pređe 5 s onda element veće od ili jednako uključuje Y431. Kada akumulirna vrednost tajmera pređe 15 s onda element veće od ili jednako uključuje Y433. Kada tajmer dostigne 25 s onda njegovi kontakti uključuju Y433. 2.4.3 Aritmetičke funkcije Većina PLC-ova obezbeđuje BCD u binarnu i binarnu u BCD konverziju za korišćenje kada ulaz tasterski prekidač sa vraćanjem ili izlaz na decimalni displej. Slika 2.4.7(a) prikazuje tipičan oblik naredbi za korišćenje u takvim situacijama, a slika 2.4.7(b) oblika korišćen od strane Siemens. Slika 2.4.7 Konverzije: (a) BCD u binarnu i binarna u BCD, (b) BCD u celobrojnu i celobrojna u BCD 2.4.3.1 Aritmetičke operacije Neki PLC-ovi su opremljeni za izvršavanje samo aritmetičkih operacija sabiranja i oduzimanja, drugi za četiri osnovne aritmetičke operacije sabiranja, oduzimanja, množenja i deljenja, dok ostali mogu ostvariti ove i niz drugih funkcija kao što je eksponencijalna. Operacije sabiranja i oduzimanja se koriste da izmene vrednost podataka zadržanih u registrima. Na primer, ovo može biti upravo podešavanje očitavanja ulaza ili možda dobijanje vrednosti oduzimanjem vrednosti dva senzora ili promena zadatih vrednosti korišćenih od strane tajmera i brojača. Množenje može biti korišćeno da umnoži neki ulaz pre možda njegovog sabiranja ili oduzimanja od drugog. Načini na koje su PLC-ovi programirani da izvrše takve operacije variraju. Allen- Bradley u nekom od svojih PLC-ova koristi naredbu izračunavanja (CPT). Ovo je izlazna naredba koja izvršava definisane operacije i onda upisuje rezultate u naznačenim odredišnim mestima. Slika 2.4.8 prikazuje format naredbe. Kada je naredba izračunavanja na ekranu programiranja, odredište se prvo unosi, a zatim izraz. Stoga možemo imati odredište T4:1.ACC i izraz (N7:1 + N10:1)*3.5. Znak * se koristi za množenje. Izraz znači da se vrednosti N7:1 dodaje vrednost N10:1. Ovaj zbir se onda množi sa 3.5. Rezultat se onda šalje na odredište koje je akumulisana vrednost u tajmeru 4.1. Slika 2.4.8 Allen-Bradley format 52

Slika 2.4.9 prikazuje osnovni oblik Siemens naredbi za aritmetičke funkcije. Kod celobrojnih funkcija koriste se ADD_1 za sabiranje, SUB_1 za oduzimanje, MUL_1 za množenje i DIV_1 za deljenje sa količnikom kao rezultatom. Aritmetičke funkcije se izvršavaju ako imamo 1 na ulazu UN. Slika 2.4.9 Siemens oblik 2.4.4 Zatvorena upravljačka petlja Može se kontrolisati temperatura sobe uključujući električnu grejalicu. Grejalica će zagrejati sobu do maksimalne temperature koja je mogući rezultat razlike brzine kojom grejalica greje sobu i brzine kojom soba gubi toplotu. Ovo se označava kao otvorena upravljačka petlja u kojoj ne postoji povratna veza ka grejalici koja bi modifikovala brzinu kojom se greje soba. Da bi uradili ovo potreban nam je termostat koji može biti podešen da uključi grejalicu kada je temperatura sobe ispod zahtevane vrednosti i isključuje je kada pređe iznad. Postoji povratna veza informacije o temperaturi u ovom sistemu i kao što je to nazvano zatvorena upravljačka petlja. Zatvorena upravljačka petlja neke promenljive, npr. kontrola temperature u sobi, je postignuta upoređivanjem stvarne vrednosti za promenljive sa podešenom željenom vrednošću i onda dajući izlaz, kao što je uključivanje grejača, da smanji razliku. Slika 2.4.10 ilustruje ovo pomoću blok dijagrama. Stvarna vrednost promenljive se poredi sa podešenom vrednošću i dobijeni signal predstavlja razliku ili grešku. Kontroler onda uzima ovaj signal razlike i daje izlaz na aktuatoru da da odgovor za korekciju neusaglašenosti. Takav sistem se naziva zatvorena upravljačka petlja. Slika 2.4.10 Zatvorena upravljačka petlja Slika 2.4.11 prikazuje raspored koji može biti korišćen kod PLC-ova koristeći za vežbanje zatvorene upravljačke petlje. Pretpostavlja se da su aktuator i merena vrednost analogni i stoga zahtevaju prevođenje u digitalni; stoga su prikazane jedinice analogni u digitalni i digitalni u analogni konverzija. 53

Slika 2.4.11 PLC za Zatvorenu upravljačku petlju 2.4.4.1 Načini kontrole Kod proporcionalne kontrole, kontroler daje izlaz na aktuatoru koji je proporcionalan razlici između stvarne vrednosti i podešene vrednosti promenljive, tj. greške (slika 2.4.12(a)). Takav oblik kontrole može biti dat od strane PLC-a sa osnovnom aritmetikom. Podešena vrednost i stvarna vrednost su najčešće analogni i stoga se konvertuju u digitalni a zatim stvarna vrednost se oduzima od podešene vrednosti i razlika se množi nekom konstantom, proporcionalna konstanta K p, da da izlaz, koji posle prevođenja u analogni je korekcioni signal koji se dovodi na aktuator: Izlaz kontrolera = K p x greška Slika 2.4.12 Kontrole: (a) proporcionalna, (b) integralna, (c) izvedena Proporcionalna kontrola ima nedostatak zbog inherentnih vremenskih kašnjenja u sistemu, korekcioni signal koji se dovodi na aktuator uzrokuje oscilovanje promenljive oko podešene vrednosti. Ono što je potrebno je korekcioni signal koji je smanjen kada se promenljiva približava podešenoj vrednosti. Ovo je postignuto PID kontrolom, kontroler dajući signal korekcije koji je izračunat od proporcionalnog elementa, izraz P, element koji se odnosi na prethodnu vrednost promenljive, integral I, i element koji se odnosi na brzinu promene promenljive, izvod D. Kod integralne kontrole izlaz kontrolera ja proporcionalan integralu greške sa vremenom, tj. površina ispod grafika greške (slika 2.4.12 (b)). Izlaz kontrolera = K 1 x integral funkcije greške Kod izvedene kontrole izlaz kontrolera je proporcionalan brzini promene greške, tj. nagiba funkcije greške (slika 2.4.12(c)): Izlaz kontrolera = K D x procena promene greške Izraz tuning se koristi za određivanje optimalne vrednosti za K P, K 1 i K D da bude korišćen za pojedinačnu kontrolu sistema. Vrednost K D /K P se naziva izvedeno vreme T D, vrednost K P /K 1 vreme integraljenja T I i postoje termini K p, T D i T I koji su uopšteno specificirani. 54

2.4.4.2 PID kontrola kod PLC-a Mnogi PLC-ovi obezbeđuju PID izračunavanje da bi odredili izlaz kontrolera kao standardnu rutinu. Sve ovo je onda neophodno za prenos željenih parametara, tj. vrednosti K P, K 1 i K D i mesta ulaz/izlaz u rutinu preko PLC programa. Slika 2.4.13 prikazuje IEC 1131-3 standardni znak za funkciju PID kontrole. Kada je AUTO podešen funkcijski blokovi računaju izlaznu vrednost XOUT potrebnu da dovedu promenljivu bliže zahtevanoj podešenoj vrednosti. Slika 2.4.13 IEC 1131-3 standardni znak 55

3 MIKROKONTROLER AT89S8253 3.1 Karakteristike mikrokontrolera AT89S8253 Kompatibilan je sa Microsoft-51 procesorom 12KB fleš memorija 2KB EEPROM memorija 64-bajtna korisnička matrica Napon napajanja od 2.7V do 5.5 V Frekvencija od 0 do 24 MHz Memorijsko zaključavanje u 3 nivoa 256 x 8-bitni unutrašnji RAM 32 I/O linije za programiranje Tri 16-bitna Tajmera/Brojača 9 generatora prekida Poboljšani UART serijski port sa centriranjem detekcije greške i automatskim prepoznavanjem adrese Poboljšani SPI serijski interfejs Male snage napajanja Uspostavljanje prekida u niskom režimu rada Programabilni tajmeri Dvostruki pokazivač podataka Isključivanje pomoću znaka (Power-off Flag) Fleksibilni ISP programator (Page mode: 64 byte/page za kodnu memoriju, 32 byte/page za memoriju podataka) 4-nivo poboljšani kontrolor prekida Programabilna x2 clock opcije Unutrašnji Power-on Reset 42-pin PDIP model kućišta za redukovanje EMS emisije Zelena (Pb/Holide-free) opcija kućišta 3.2 Opis mikrokontrolera AT89S8253 AT89S8253 je CMOS 8-bitni mikrokontroler visokih performansi, male potrošnje snage, sa 12 KB fleš memorijom I 2 KB EEPROM memorijom. Uređaj je napravljen korišćenjem Atmelovu tehnologiju postojane memorije velike gustine I kompatibilan je se industrijskim standardom MCS-51. Reprogramiranje memorije je moguće pomoću SPI serijskog ulaza ili pomoću konvencionalnog programatora memorija. Kombinovanjem različitih 8-bitnih CPU-a sa ugrađenom programibilnom fleš memorijom na monolitnom čipu, ATMEL AT89S8253 je snažan mikrokontroler koji obezbeđuje visoku fleksibilnost i sa niskom cenom je našao veliku primenu kod mnogih kontrolnih aplikacija. AT89S8253 uključuje standardne osobine poput 12 KB fleš memorije, 2 KB EEPROM, 256 B RAM memorije, 32 I/O linije, programibilni clock/tajmer, dvostruki pokazivač, tri 16 bit-na clock/counter, 6 vektorske arhitekture prekida sa 2 nivoa, potpuni serijski ulaz, eksterni sopstveni oscilator I električno kolo sata. U stvari AT89S8253, uz pomoć statičke logike, se koristi za operacije niskih frekvencija, potpomognut sa 2 softverska moda. IDLE mod zaustavlja CPU dok dopuštajući RAM, clock/counter, serijski port I sistem prekida se koriste za nastavak funkcionisanja. Niski mod čuva RAM sadržaj ali I zamrzava oscilator isključujući sve ostale funkcije u kolu sve dok naide sledeći spoljašnji prekid ili hardverski reset. 56

FLASH memorija se moze menjati pomoću serijskog SPI pristupa. Zadržavanje Reset opcije SPI omogućava da memorija bude upisana ili pročitana od stane bita koji su bili aktivni. 3.3 Konfiguracija i opis pinova Slika 3.3.1 40P6-40-lead PDIP Port 1 (od 1 do 8) Ovaj port je 8-bitni dvosmerni ulazno-izlazni port sa neprekidnim unutrašnjim napajanjem. Izlazne posebne memorijske lokacije PORT1 mogu pobuditi 4 TTL logicka kola. Kada je 1 s upisana na port 1 pinovi su na visokom nivou uz pomoć unutrašnjeg neprekidnog napajanja i mogu se koristiti kao ulazi. Početna ulazna struja je Iul=150µA zbog unutrašnjeg neprekidnog napajanja. Neki PORT 1 pinovi mogu imati i druge dodatne funkcije P.1.0 i P.1.1 mogu služiti kao 2 spoljašnja TIMER/COUNTER ulaza (P 1.0/T2) i 2. aktivni ulaz (P 1.1/T2 EX) CLOCK/COUNTER respektivno. Osim toga P 1.4, P 1.5, P 1.6, P 1.7 mogu služiti za pomoćne portove. DATA INPUT/OUTPUT i CLOCK INPUT/OUTPUT pinovi su prikazani u tabeli: Pin porta Razne funkcije P1.0 T2 (spoljni brojački ulaz do tajmera/brojača 2), izlaz takta P1.1 T2EX (triger hvatanja/punjenja tajmera/brojača 2 i kontrola smera) P1.5 MOSI (koriste se za programiranje u sistemu) P1.6 MISO (koriste se za programiranje u sistemu) P1.7 SCK (koriste se za programiranje u sistemu) 57

Reset 9 Visok logički nivo na ovom ulazu resetuje sve interne registre (registre dovodi u stanje 00000000), sa sledećim izuzecima: - P0, P1, P2 i P3 (izlazni registri svih spoljnih portova) se dovode u stanje 11111111 - SBUF se ne menja - SP se dovodi u stanje 00000111 (07h) - Neki bitovi u registrima IP, IE i PCON fizički ne postoje, pa tako ne mogu ni da se resetuju Port 3 (od 10 do 17) Ovo je 8 bit-ni dvosmerni I/O port sa neprekidnim unutrašnjim napajanjem. PORT 3 pomoćne memorije mogu pobuditi 6 TTL ulaza. Kada se upisuju podaci na PORT3 ovaj PORT dosta energije vuče od unutrašnjeg neprekidnog napajanja i tada se mogu koristiti ulazi. Kod ovih ulaza uz pomoć spoljašnjeg napajanja struja je tipično 150 µa zbog slabog unutrašnjeg napajanja. PORT 3 takođe prihvata i pojedine kontrolne signale za programiranje FLASH memorije. PORT3 takođe predstavlja i servis specijalnih promenljivih osobina AT89S 8253 koji su prikazani u tabeli. Ako se koristi kao univerzalni ulaz ili izlaz, po svemu je sličan portu 1, ali na svakoj nožici ima još po neku specijalnu funkciju: Pin porta Razne funkcije P3.0 RXD (serijski ulaz za asinhronu komunikaciju (mod 1, 2 i 3) ili serijski izlaz za sinhronu komunikaciju (mod 0)) P3.1 TXD (serijski izlaz za asinhronu komunikaciju (mod 1, 2 i 3) ili taktni (clock) izlaz sa sinhronu komunikaciju (mod 0)) P3.2 INT0 (ulaz za prekid (interapt) 0) P3.3 INT1 (ulaz za prekid (interapt) 1) P3.4 T0 (spoljnji ulaz tajmera 0) P3.5 T1 (spoljnji ulaz tajmera 1) P3.6 WR (signal za upis u spoljnu memoriju) P3.7 RD (signal za čitanje iz spoljne memorije) Pinovi 18 i 19 Izlaz i ulaz internog oscilatora. Ako se koristi kvarc-kristal za stabilizaciju učestanosti oscilatora (to je najčešći slučaj), on se vezuje za ove dve nožice, s tim što na svaku nožicu (prema masi) treba dodati po jedan kondenzator od 20-40pF. Ovo je potrebno da bi se sprečilo oscilovanje na nekom višem harmoniku. Opseg uëestanosti je od 1 do 12 MHz, a izrađuju se i mikrokontroleri koji rade i na znatno višim frekvencijama. Pin 20 Masa Port 2 (od 21 do 28) ili adrese (A8 A15) Port 2 je 8 bit-ni dvosmerni I/O port sa unutrašnjim neprestanim napajanjem. Izlazne pomoćne memorije PORT-a 2 mogu prihvatiti/napajati 6 TTL ulaza. Kada je 1 s na ulazu porta 2 on je na visokom nivou uz pomoć neprekidnog unutrašnjeg napajanja i mogu se koristiti kao ulazi. Kod ovih ulaza tipična ulazna stuja je 150 µa zbog slabog unutrašnjeg neprekidnog napajanja. PORT 2 emituje adrese visokih naredbi u toku donošenja podataka od spoljašnje memorije i u toku prihvatanja podataka iz spoljašnje memorije koje koriste 16- bitne adrese (MOVX i DPTR). U ovom slucaju PORT2 kada emituje 1 s koristi jako unutrašnje napajanje. U toku prihvatanja podataka iz spoljašnje memorije tada PORT 2 korist 8bit-ne adrese (MOVX i RI). PORT2 takođe ima i specijalne funkcije registra. PORT 2 takođe prihvata adresne bitove visokog zahteva i neke kontrolne signale u toku programiranja i potvrde FLASH memorije. 58

Ako se koristi mikrokontroler sa internim ROM-om i nema spoljnjeg ROM-a ili RAM-a, mogu se koristiti sve linije ovog porta kao univerzalni ulazi ili izlazi. Ako se koristi spoljna memorija, onda su ovo visoki adresni izlazi, od A8 do Al5. U tom slučaju, čak i ako se koriste samo neke adrese, preostale nožice ovog porta ne mogu da se koriste kao ulazi ili izlazi. NAPOMENA: Svi pinovi u PORT 1 i PORT 2 kao i pinovi PORT 3 (izuzev P32 INTO 1 P 3.3 INT 1) imaju sopstveno nepekidno napajanje koje je nedostupno u POWER- DOWN modu. Pinovi P 3. 2 (INTO) i P 3.3 (INT 1) su aktivni podjednako i u POWER - DOWN modu (da bi mogli da potrazuju prekide za izlaz iz POWER-DOWN modu) uz stalno uključeno unutrašnje napajanje. Pin 29 PSEN {Program Store Enable (aktiviranje spoljašnjeg ROM-a)} Omogućuje čuvanje programa. PSEN čita strobe za programiranje spoljašnje memorije. Kada AT89S8253 izgubi kod od izlazne memorije programa, PSEN je aktivan dvostruko u toku svakog ciklusa mašine izuzev 2PSEN u toku svakog prihvatanja podataka od spoljašnje memorije. Normalno se ovaj izlaz spaja sa CS ili OE ulazom na spoljnom EPROM-u, jer ga mikrokontroler aktivira (dovodi na nizak nivo) svaki put kad čita bajt iz programske memorije (za kontrolu spoljašnjeg RAM-a se koriste druge nožice). Pin 30 - ALE/PROG: Address Latch Enable (Upis u adresni registar) Omogućuje blokiranje podataka. ALE/PROG je ustvari izlaz koji blokira niske bajt adrese u toku prihvatanja spoljašnje memorije. Ovaj pin je takođe ulazni impuls programa u (PROG) u toku programiranja FLASH-a. U normalnom radu ALE traje 1/6 frekvencije oscilovanja i može biti upotrebljen za spoljašnji counter i clock. Važno je međutim da je ALE impuls preskočen u toku svakog prihvatanja podataka iz spoljašnje memorije. ALE operacija može biti onemogućena postavljanjem bita 0 AUX R SFR na lokaciju 8EH. Sa umetanjem bita, ALE je aktivan samo u toku MOVX ili MOVC instrukcije. Postavljanjem ALE disable, bit nema efekta na mikrokontroler u spoljašnjem izvršnom modu. Da bi se sve funkcije spakovale u standardno kućište od samo 40 nožica, pribegnuto je multipleksiranju nekih signala. Tako je port P0 dobio dve funkcije, izlazne adrese A0-A7 i ulaz/izlaz podataka D0-D7. Pre svakog očitavanja programa iz spoljne memorije ili prozivanja RAM-a mikrokontroler na P0 prosleđuje niži bajt adresnog registra i aktivira izlaz ALE. Spoljni registar na visok nivo ALE memoriše stanje P0, a izlazi ovog registra se koriste kao A0-A7. U drugom delu mašinskog ciklusa mikrokontrolera P0 se koristi kao magistrala podataka (Data Bus). Pin 31 - EA: External Access (Spoljni pristup) Ako je ovaj ulaz nizak, mikrokontroler će sve instrukcije čitati iz spoljnog ROM-a. Port 0 (od 32 do 39) ili adrese (A0 do A7) Slično portu P2, i port P0 može da se koristi kao univerzalni ulaz i izlaz samo ako se ne koristi spoljna memorija Ako se koristi, tada je P0 adresni izlaz za A0-A7 kad je ALE visok, a magistrala podataka (Data Bus) kada je ALE nizak. Pin 40 VCC Napajanje +5V 59

3.4 Blok dijagram Na slici 3.4.1 prikazan je blok dijagram mikrokontrolera AT89S8253. Ovde se vide komponente kao što su aritmetičko-logička jedinica (ALU) sa parom registara (TMP1, TMP2) za privremeno upisivanje podataka, akumulator (ACC) sa pomoćnim registrom B, statusni registar (PSW), registar naredbi sa dekoderom, programski brojač (PC) i registar za inkrementiranje (povećanje za 1) programskog brojaća (PC-incrementer). Slika 3.4.1 Blok dijagram mikrokontrolera AT89S8253 Pomoćni registar B, koji se naziva multiplikativnim registrom, s1uži za smeštanje drugog operanda za aritmetičke operacije množenja i deljenja Posle izvršene operacije množenja iii deljenja u njemu se nalazi viši bajt rezultata množenja ili ostatak deljenja, respektivno Zajedno sa ACC pomoćni registar B čini registarski par. Pokazivač steka (SP- Stack Pointer) s1uži za adresiranje vrha (najviše lokacije) stek memorije Ovaj registar se inkrementira prilikom upisivanja podataka u stek a dekrementira prilikom čitanja podataka iz ove memorije. DPTR praktično sadrži dva registra: DPH(Data pointer High) i DPL(Data pointer Low). Njegov zadatak je da drži 16-bitnu adresu. Može biti iskorišćen kao 16-bitni registar i kao dva nezavisna 8-bitna registra. Obično se koristi za privremeno pamćenje podataka. 60

Mikrokontroler AT89S53 poseduje 4 prihvatna registra (LATCH-a) za čuvanje stanja izlaza na portovima P0, P1, P2 i P3. Serial data bufer (SBUF) s1uži za upis podatka koji se ša1je i čitanje podatka koji se prima preko serijske veze. Registarski parovi (TH0,TL0), (TH1,TL1) i (TH2,TL2) su 16-bitni brojački registri za brojač 0,1 i 2 respektivno. Registarski par (RCAP2H,RCAP2L) su capture registri za Timer 2 capture-mode. U ovom modu u odzivu transmisije AT89S52 T2EX pinu, TH2 i TL2 su kopirani u RCAP2H i RCAP2L. Timer 2 takođe ima 16-bitni auto-reload mode i RCAP2H i RCAP2L zadržavaju reloadveličinu za ovaj mod. Za kontrolu i upisivanje statusa prilikom prekida za tajmere, brojače i za serijski prenos podataka koriste se registri specijalne namene IP, IE, TMOD, TCON, T2CON, T2MOD, SCON i PCON. 3.5 Tajmeri/brojači Mikrokonroler AT89S53 sadrži tri tajmersko-brojačka registra. Prva dva zajednička su za sve modele iz familije 8051, dok je treći dodat modelima 8052. Označavaju se kao tajmeri 0,1 i 2. Sva tri registra se mogu konfigurisati da rade i kao tajmeri i kao brojači. U projektnom zadatku korišćen je tajmer 2, više informacija o tajmerima 0 i 1 može se naći na zvaničnom internet sajtu Atmel-a (www.atmel.com). Kao što je ranije rečeno, u projekrnom zadatku korišćen je tajmer 2. Tajmer 2 je 16- bitni Tajmer/Brojač koji može podjednako da radi i kao tajmer i kao brojač. Ovo se odreduje selekcijom bita CP/T2 u registru specijalne namene T2CON. Tajmer/Brojač registar dat je na sl. 3.5.1. Tajmer 2 se razlikuje od prethodna dva tajmera jer ovaj tajmer ima dva 8-bitna registra. TH2 i TL2 su vezana serijski i formiraju 16-bitni brojački registar. Druga dva, RCAP2H i RCAP2L takođe su vezana serijski, i njihova glavna uloga zahvat "capture " sadržaja brojačkog registra. 61

Slika 3.5.1 Tajmer/Brojač registar Glavna prednost ove organizacije ogleda se u jednostavnoj zameni mesta podataka jednostavno instrukcijom i ne zahteva dodatne programske akrobacije. Takođe i ovaj tajmer ima nekoliko različitih modova rada. Tajmer 2 se kontroliše registrom T2CON (Slika 3.5.2), a u tabeli 3.5.1 objašnjen je svaki njegov bit. Slika 3.5.2 T2CON-Tajmer/Brojač kontrolni registar Simbol Funkcija TF2 Indikator stanja prekoračenja tajmera 2 i on se automatski aktivira kada brojač detektuje prekoračenje. Da bi registar mogao da detektuje naredno prekoračenje, ovaj bit se mora izbrisati softverski. Ako su aktivirani bitovi RCLK=1 ili TCLK=1, prekoračenje nema efekta na TF2 EXF2 Ovaj bit se automatski aktivira kada se desi transfer iz brojača u bafer ili obrnuto. Ako je aktiviran, on generiše prekid, ukoliko nije postavlja se bit DCEN u T2MOD-u. EXF2 se briše softverski. RCLK Prihvatni okidni impuls. Kada je na jedinici koristi impulse prekoračenja Tajmera 2, a kada je na nuli impulse prekoračenja Tajmera 1. TCLK Prenosni okidni impuls. Takođe kada je na jedinici serijski port koristi impulse prekoračenja Tajmera 2 a kaka je na nuli impulse prekoračenja Tajmera 1. EXEN2 Spoljašnje aktiviranje tajmera 2. Kada je EXEN2=1 vrši se reloadovanje Tajmera 2 koje može bit ili izazvano opadajućom ivicom na spoljnjem ulazu T2EX. Kada je EXEN2=0 Tajmer 2 ignoriše događaje na T2EX. TR2 Kontrola start-1/stop-0 za Tajmer 2. Logočka jedinica staruje rad tajmera. C/T2 Selekcija tajmera ili brojača. C/T2 = 0 interni brojač (osc/12), C/T2 = 1 eksterni brojač događaja (okidanje zadnjom ivicom). CP/RL2 Selekcija stanja Capture/Reload. CP/RL2 = 1 javlja se captures stanje pri negativnom prenosu T2EX ako je EXEN2=1. Kada je CP/RL2 = 0 javlja se auto-reload stanje, bez obzira na prekoračenje Tajmera 2 ili negativnom prenosu na T2EX kada EXEN2=1. Kada je bilo koji RCLK=1 ili TCLK=1, ovi bitovi su onemogućeni i Tajmer 2 je prinuđen da auto-reload-uje prekoračenje na Taj meru 2. Tabela 3.5.1 62

Tajmer 2 ima tri operativna moda: capture, auto-reload i generator brzine bauda koji su selektovani bitovima u T2CON registru a prikazani su na sl.3.5.3. RCLK+TCLK CP/RL2 TR2 MODE 0 0 1 16-bit Auto-reload 0 1 1 16-bit Capture 1 X 1 Baud Rate Generator X X 0 (Off) Slika 3.5.3 Operativni modovi tajmera 2 Tajmer 2 kao izvor taktovanja može da koristi sistemski clock, sistemski clock podeljen sa 12 i opadajuću ivicu na spoljnem ulazu (T2 pin). U tkzv. capture modu (modu 0) negativna ivica na spoljnjem ulaznom pinu T2EX izaziva prepisivanje trenutne vrednosti tajmera 2 (TH2 i TL2) u registre RCAP2H i RCAP2L. Ovaj mod je jako koristan kod aplikacija u kojima je potrebno meriti vremenske intervale do pojave nekog dogadaja. 16-bitni registri (TH2+TL2) drže broj od koga počinje da se broji. Postavljanjem bita TR2 na jedinici u registru TCON startuje se tajmer, svaki dolazeći impuls povećava vrednost za jedan. Kada se oba registra napune, impulsi prouzokuju prekoračenje (decimalna vrednost 65536), tada se resetuju i počinju da broje od nule. U modu auto-reload (Up or Down Counter) - (mod 1) Tajmer 2 se može isprogramirati da radi kao up/down brojač ukoliko je konfugurisan u auto-reload režimu. Ovo mogućnost je prozvana DCEN (Down Counter Enable) a ovaj bit se nalazi u specijalnom registru T2MOD. Kada je aktiviran bit DCEN, Tajmer 2 broji gore ili dole zavisno od vrednosti T2EX pina. Kada tajmer odbroji, postavlja se odgovarajući marker, tajmer se reload-uje tako što se u njegove registre prepisuje vrednost iz registara RCAP2H i RCAP2L i automatski restartuje. U modu 2, tajmer dva odreduje brzinu serijskog prenosa podataka preko UART-a, jer on određuje stopu prenosa (baud rate). Naime, Tajmer 2 u ovom modu radi isto kao i u modu auto-reload, stim što po odbrojavanju se ne postavlja fleg niti se generiše zahtev za prekid, već taj događaj služi kao takt za seriski prenos (i za slanje i za prijem nezavisno). U ovom modu opadajuća ivica na spoljnjem ulazu T2EX nema nikakvog uticaja na serijski prenos, već taj pin može biti iskorišćen kao izvor zahteva za dodatni spoljni prekid. Detaljniji opis tajmera 2 kao i mikrokontrolera AT89S8253 može se naći na zvaničnom internet sajtu Atmel-a (www.atmel.com), kao i na datashit-u (AT89S8253.pdf) priloženom na CD-u. 63

4 Hardverska realizacija Za realizaciju hardvera u ovom projektnom zadatku korišćena je ranije realizovana ploca (PCB ploča) na kojoj je smešten mikrokontroler i većina elemenata, kao i raster ploča sa prekidačima i diodama koje služe za vizuelnu demonstraciju projekta. Blok šema elemenata smeštenih na PCB ploči data je na slici 4.1, dok su layout gornje i donje strane PCB ploče dati na slikama 4.2 i 4.3 respektivno. Slika 4.1 Blok šema elemenata smeštenih na PCB ploči 64

Slika 4.2 Layout gornje strane PCB-a 65

Slika 4.3 Layout donje strane PCB-a 66

Blok šema elemenata smeštenih na raster ploči data je na slici 4.4. Slika 4.4 Blok šema elemenata smeštenih na raster ploči 67

Spisak komponenti korišćenih za realizaciju ovog projekta dati su u tabeli 4.1. Naziv komponente Količina 1. µc AT89S8253 1 2. Podnožje 40-to pinsko DIP 1 3. Oktalni bafer 74HC373 1 4. Podnožje 20-to pinsko DIP 1 5. Kristal-oscilator f=11.0592 MHz 1 6. Linearni naponski regulator 7805 1 7. Gratz-ov spoj 1 8. Mrežni trafo 220/12 1 9. Keramički kondenzator 22pF 2 10. Keramički kondenzator 100nF 4 11. Elektrolitski kondenzator 2.2µF 1 12. Elektrolitski kondenzator 10µF 1 13. Elektrolitski kondenzator 47µF 1 14. Otpornik 10kΩ 8 15. Otpornik 33Ω 8 16. Otpornik 4.7kΩ 2 17. LED dioda zelena 8 18. LED dioda crvena 1 19. Push button dvopinski 1 20. Push button četvoropinski 8 21. Switch-er (4 kontakta) 1 22. Click-clack prekidač 1 23. Hladnjak za lin. nap. generator 7805 1 Tabela 4.1 Spisak korišćenih komponenti 68

Napajanje mikrokontrolera je ostvareno klasičnom procedurom i komponentama kao i kod drugih kontrolera. Naizmenični napon napajanja iz mreze 220V se preko transformatora tansformiše na 9V pa zatim ispravlja preko greca i kondenzatora. Posle toga se signal vodi na stabilizator napona realizovan kao IC LM 7805 i takav signal se vodi na procesor i ostale digitalne periferne uredjaje i služi kao napajanje konstantnom vrednošću napona. Električna šema izvora napajanja je data na sledećoj slici: Slika4.5 Šema napajanja Izgled realizovanog hardvera prikazan je na slici 4.5. Slika 4.5 Izgled realizovanog hardvera 69

5 Softverska realizacija 5.1 Korišćenje programa Keil uvision 3 Program za realizaciju projektnog zadatka je napisan u Keil uvision 3 IDE-u. Klikom na ikonicu ovg programa koja se nalazi na desktopu otvara se prozor prikazan na slici 5.1. Slika 5.1 Pokretanje programa Keil uvision 3 Definisanje novog projekta obavlja se na sledeći način: levim klikom miša na padajući meni Project biramo NewuVision Project koji posle unošenja imena snimamo u odrešeni folder na računaru. Ovaj postupak je prikazan na slici 5.2. Slika 5.2 70

Nakon snimanja otvara se prozor Select Device for Target u kome biramo Atmel a zatim AT89S8253 i onda Ok. Ovaj postupak je prikazan na slici 5.3. Posle ovoga otvara se prozor Copy Standard 8051 Code to Project Folder and Add File to Project gde izabiramo No. Slika 5.3 Poslednji korak je kreiranje Text editora što se postiže na sledeći način: levi klik miša na padajući meni File odakle biramo New posle čega se otvara Text editor (Text 1), koji zatim snimamo odabirom Save as iz padajućeg menija File. Snimanje se vrši tako što za programe koji se pišu u C51 jeziku posle imena stavljamo ekstenziju.c, dok za programe pisane u A51 jeziku stavljamo ekstenziju.src. Slika 5.4 prikazuje izgled otvorenog Text editora. Slika 5.4 71

Kada završimo sa pisanjem dela programa, pointer miša postavimo na Source Group 1, zatim biramo Add Files to Group Source Group 1, klikom na njega dodajemo dati fajl. Na isti način kreiramo sve fajlove potrebne za projektni zadatak. Nakon pisanja programa i uspešnog testiranja, ikonicom Rebuild all target files kreira se hex fajl koji je prethodno čekiran kao izlazna opcija (Output options). Slika 5.5 prikazuje izgled jednog dela programa pisanog u programu Keil uvision 3. Slika 5.5 5.2 Definisanje projektnog zadatka Na hardveru, konkretno na raster ploči, postoje osam push button-a (označenih sa P1, P2, P3, P4, P5, P6, P7 i P8 respektivno), kao i osam zelenih LED dioda (označenih sa D1, D2, D3, D4, D5, D6, D7 i D8 respektivno). Za projektni zadatak upotrebljeno je pet push button-a i svih osam LED dioda. Projektni zadatak je definisan u sledećih pet koraka: kada se pritisne push button P1, dioda D1 se pali i svetli 2 s i onda se gasi; kada se pritisne push button P2, posle 5 s dioda D2 se pali i svetli 2 s nakon čega se gasi; kada se pritisne push button P3 i drži se pritisnutim, dioda D3 svetli, a kada se pusti dioda se gasi; kada se pet puta pritisne push button P4, dioda D4 se pali, a kada se ponovo pet puta pritisne push button P4, dioda D4 se gasi; kada se pritisne push button P5, onda se naizmenično pale diode P5, P6, P7, P8, pa zatim opet P5, P6, P7, P8, i ovaj ciklus se ponavlja dokle god se ponovo ne pritisne push button P5 i neko kratko vreme zadrži pritisnutim. 72

5.3 Programiranje softvera Pre uključivanja sistema, korisnik hardverski pomoću click-clack prekidača, koji se nalazi na raster ploči hardvera, odabira režim rada, odnosno projektni zadatak. Ovo je urađeno tako što nakon dela programa inicijalizacije softver ispituje stanje pina P3.0. Ukoliko je na pinu P3.0 1 softver ulazi u deo programa projektnog zadatka paljenja i gašenja dioda (LED program), a u slučaju da je na pinu P3.0 0 akrivira se deo programa koji je vezan za stepenišno osvetljenje, odnosno deo programa koji se odnosi na laboratorijsku vežbu o čemu će više reči biti u poglavlju 7 ovog rada. Program za deo projektnog zadatka koji se odnosi na paljenje i gašenje LED dioda je urađen na asemblerskom jeziku A51, dok je program za deo projektnog zadatka stepenišno osvetljenje urađen na programskom jeziku C51. Razlozi zbog čega je to ovako urađeno su sledeći: 1. Brojač od 3600 tajmerskih prekida ima heksadecimalnu vrednost E10 pa ga je lakše predstaviti promenljivom tipa Integer (16-to bitna vrednost), a nešto teže asemblerskim jezikom koji uglavnom radi sa 8-o bitnim registrima, i 2. veliki broj uslovnih koraka koje je lakše realizovati sa switch-case strukturom. 5.4 Softverski kod Napisani program startuje sa glavnim programom (main), napisanim u C51 jeziku, u kome je proces inicijalizacije i ispitivanja pina P3.0. Za P3.0=1 aktivira se softver koji realizuje projektni zadatak paljenja i gašenja dioda što je u programu pokriveno fajlovim main.c, main_led.src i delay.src. Delovi programa kojima je je pokrivena laboratorijska vežba su main.c, svetlo_zgrada.c i prekid_3min.c. Izgled napisanog programa prikazan je u tekstu koji sledi: ############################################################## //***********Projekat***************// // // //------------verzija 1.0-----------// ////////////////////////////////////// //*Deo programa, u Keil-u označen kao fajl main.c u kome se vrši ispitivanje pina P3.0*// #include <Definicija.h> #include <REG8253.H> extern code Init_Timer2(); extern code Wait(); extern code Floor_Light(); sbit Taster = P3^0; bit Status_modul; void main (void) { Init_Timer2(); Diode = 0x00; 73

while (1) { if (Taster==0) { Status_modul =1; Floor_Light(); while ( (Tasteri == 0xff)); //while (!(Tasteri & 0x00) ); } else { Status_modul = 0; Wait(); } } } //*Deo programa, u Keil-u označen kao fajl main_led.src koji se odnosi na paljenje i gašenje dioda*// $NOMOD51 #include <REG8253.H> #include <Definicija.h> ; /*************************************************************************/ //NOVA VREDNOST JE 3F23hex odnosno 16163 dec odnosno 49 373 * 1,0127 us = 50000,0371 us == 50 ms #define MSB_reload_value 0x4B za generisanje vremenskog prekida na 50 ms */ #define LSB_reload_value 0xFD za generisanje vremenskog prekida na 50 ms */ //#define MSB_reload_value 0x3F za generisanje vremenskog prekida na 50 ms */ //#define LSB_reload_value 0x23 za generisanje vremenskog prekida na 50 ms */ /* msb reload value /* lsb reload value /* msb reload value /* lsb reload value #define Led_dioda_1_vreme 40 diodu D1*/ /*vreme od 40*50ms = 2s za #define Led_dioda_2_vreme 100 /*vreme od 100*50ms = 5s za diodu D2 nakon detektovanja da je taster pritisnut*/ #define Led_dioda_2_vreme_svetli 40 /*vreme od 40*50ms = 2s za diodu D2*/ /////////////////////////////////////////////////////////////////////////// EXTRN CODE (DELAY,Prekid_3_min) EXTRN BIT (Status_modul) 74

PUBLIC Init_Timer2, Wait Flegovi segment bit Magacin segment idata rseg Magacin stack: DS 10 rseg Flegovi LED1: dbit 1 LED2: dbit 1 LED3: dbit 1 LED4: dbit 1 LED5: dbit 1 LED6: dbit 1 LED7: dbit 1 LED8: dbit 1 cseg at 002bh jmp Timer2_Interrupt /*Procedura za ispitivanje statusa Tastera definisana kroz petlju sto pruza mogucnost generisanja procedure za bilo koji Taster i odgovarajucu diodu*/ Wait: Wait1: Pritisnut: jnb Taster_5,$ mov a,tasteri cjne a,#0xff,taster_pritisnut jmp Wait1 jnb Taster_5,Wait Ret /*Ispitivanje koji je Taster pritisnut i preduzimanje odogovarajuceg algoritma za dati taster*/ Taster_pritisnut: Ispitaj_1: Ispitaj_2: Ispitaj_3: jb Taster_1,Ispitaj_2 jnb Taster_1,$ setb Led_1 setb TR2 setb LED1 mov R3,#Led_dioda_1_vreme jmp Idle jb Taster_2,Ispitaj_3 jnb Taster_2,$ setb TR2 setb LED2 mov R3,#Led_dioda_2_vreme jmp Idle jb Taster_3,Ispitaj_4 setb Led_3 jnb Taster_3,$ clr Led_3 75

Ispitaj_4: Gasenje: jb Taster_4,Ispitaj_5 jb LED4,Gasenje inc R0 jnb Taster_4,$ cjne R0,#5,Wait setb LED4 mov r0,#0 setb Led_4 jmp Wait inc R0 jnb Taster_4,$ cjne R0,#5,Wait clr LED4 mov r0,#0 clr Led_4 Ispitaj_5: Next: Ispitaj_6: Setajuca: mov r0,#0 jb Taster_5,Ispitaj_6 jnb Taster_5,$ inc r4 cjne r4,#2,next mov r4,#0 jb Taster_5, Wait //jmp Wait call Setajuca jmp Wait setb Led_5 mov r6,#0x07 mov r7,#0xd0 call DELAY clr Led_5 call Pritisnut setb Led_6 mov r6,#0x07 mov r7,#0xd0 call DELAY clr Led_6 call Pritisnut setb Led_7 mov r6,#0x07 mov r7,#0xd0 call DELAY clr Led_7 call Pritisnut setb Led_8 mov r6,#0x07 mov r7,#0xd0 call DELAY clr Led_8 call Pritisnut jmp Setajuca /*************************************************************************/ Init_Timer2: mov TH2,#MSB_reload_value ; /* Init msb_value */ mov TL2,#LSB_reload_value ; /* Init lsb_value */ mov RCAP2H,#MSB_reload_value ;/* reload msb_value */ mov RCAP2L,#LSB_reload_value ;/* reload lsb_value */ setb EA ;/* interupt enable */ 76

setb ET2 ; /* enable timer2 interrupt */ ret /*************************************************************************/ Timer2_Interrupt: Next_code: clr TF2 //ubaciti kod za stepenisno svetlo tako sto //ce da se koristi flag koji ce da se postavi //na 1 kada se koristi C kod jnb Status_modul,Next_code call Prekid_3_min jmp Kraj jnb LED1,Ispitaj_LED2 djnz R3,Kraj clr LED1 clr Led_1 clr Led_2 clr TR2 jmp Kraj Ispitaj_LED2: jnb LED2,Kraj djnz R3,Kraj clr LED2 mov R3,#Led_dioda_2_vreme_svetli setb Led_2 setb LED1 jmp Kraj Kraj: reti /*************************************************************************/ Idle: mov PCON,#0x01 jb LED1, Idle jmp Wait /*************************************************************************/ end //*Deo programa, u Keil-u označen kao fajl delay.src koji se odnosi na paljenje i gašenje dioda*// NAME EXAMPLE?PR?_DELAY_LOOP_Wait?EXAMPLE SEGMENT CODE PUBLIC DELAY RSEG?PR?_DELAY_LOOP_Wait?EXAMPLE DELAY: CLR A MOV R5,A MOV R4,A?C0001: SETB C MOV A,R5 77

SUBB A,R7 MOV A,R4 SUBB A,R6 JNC?C0007 CLR A MOV R3,A MOV R2,A?C0004: INC R3 CJNE R3,#00H,?C0008 INC R2?C0008: MOV A,R3 XRL A,#079H ORL A,R2 JNZ?C0004?C0003: INC R5 CJNE R5,#00H,?C0009 INC R4?C0009: SJMP?C0001?C0007: RET END //*Deo programa, u Keil-u označen kao fajl svetlo_zgrada.c koji se odnosi na stepenišno osvetljenje*// /*Zgrada ima 8 spratova. Kada se na nekom do spratova, recimo X-tom spratu, pritisne prekidac, svetlo se pali na X-tom, na X+1, na X+2, na X-1, i na X-2. Svetlo gori 3 minuta. Ako se u meðuvremenu pritisne prekidac na nekom drugom spratu, onda se svetlo pali na tom spratu i na dva sprata iznad i na dva sprata ispod. Ukoliko na nekom do spratova vec gori svetlo a obuhvacen je pritiskanjem drugog prekidaca onda se njegovo trajanje svetla resetuje na novih 3 minuta. Na spratovima na kojima gori svetlo a obuhvaceni su prvim pritiskom prekidaca a nisu obuhvaceni drugim pritiskom prekidaca svetlo gori dok ne istekne prvih 3 minuta (oni se ne resetuju). */ #include <REG8253.H> #include <Definicija.h> //extern code Loop_Delay(void); void Section1(void); void Section2(void); void Section3(void); void Section4(void); void Section5(void); void Section6(void); void Section7(void); void Section8(void); 78

unsigned char Temp; int data Broj; bit Status_flag; bit Status_flag_1; void Floor_Light (void) { //TR2 = 0; if (Tasteri!= 0xff) { Temp = ~Tasteri; switch(temp) { case 1: Section1(); break; case 2: Section2(); break; case 4: Section3(); break; case 8: Section4(); break; case 16: Section5(); break; case 32: Section6(); break; case 64: Section7(); break; case 128: Section8(); break; } } } void Section1(void) { if (Status_flag ==1) { while ((P2_0 == 0)); P1 = 0x07; Broj = 1; //LEDStatus = 0x07; Status_flag_1 =1; Status_flag =0; // Loop_Delay(); // Tasteri = 0xff; 79

} else { while ((P2_0 == 0)); P1 =0x07; Status_flag =1; TR2 = 1; //Tasteri = 0xff; } } void Section2(void) { if (Status_flag ==1) { while ((P2_1 == 0)); P1 = 0x0f; Broj = 2; Status_flag_1 =1; Status_flag =0; //Loop_Delay(); //Tasteri = 0xff; } else { while ((P2_1 == 0)); P1 =0x0f; Status_flag =1; TR2 = 1; //Tasteri = 0xff; } //LEDStatus = 0x0f; } void Section3(void) { if (Status_flag ==1) { while ((P2_2 == 0)); P1 = 0x1f; Broj = 3; Status_flag_1 =1; Status_flag =0; //Loop_Delay(); //Tasteri = 0xff; } else { while ((P2_2 == 0)); P1 =0x1f; Status_flag =1; TR2 = 1; //Tasteri = 0xff; } //LEDStatus = 0x1f; } void Section4(void) { if (Status_flag ==1) { while ((P2_3 == 0)); P1 = 0x3e; 80

Broj = 4; Status_flag_1 =1; Status_flag =0; //Loop_Delay(); //Tasteri = 0xff; } else { while ((P2_3 == 0)); P1 =0x3e; Status_flag =1; TR2 = 1; //Tasteri = 0xff; } //LEDStatus = 0x3e; } void Section5(void) { if (Status_flag ==1) { while ((P2_4 == 0)); P1 = 0x7c; Broj = 5; Status_flag_1 =1; Status_flag =0; //Loop_Delay(); //Tasteri = 0xff; } else { while ((P2_4 == 0)); P1 =0x7c; Status_flag =1; TR2 = 1; //Tasteri = 0xff; } //LEDStatus = 0x7c; } void Section6(void) { if (Status_flag ==1) { while ((P2_5 == 0)); P1 = 0xf8; Broj = 6; Status_flag_1 =1; Status_flag =0; //Loop_Delay(); //Tasteri = 0xff; } else { while ((P2_5 == 0)); P1 =0xf8; Status_flag =1; TR2 = 1; //Tasteri = 0xff; } //LEDStatus = 0xf8; } 81

void Section7(void) { if (Status_flag ==1) { while ((P2_6 == 0)); P1 = 0xf0; Broj = 7; Status_flag_1 =1; Status_flag =0; //Loop_Delay(); //Tasteri = 0xff; } else { while ((P2_6 == 0)); P1 =0xf0; Status_flag =1; TR2 = 1; //Tasteri = 0xff; } //LEDnew = 0xf0; } void Section8(void) { if (Status_flag ==1) { while ((P2_7 == 0)); P1 = 0xe0; Broj = 8; Status_flag_1 =1; Status_flag =0; //Loop_Delay(); //Tasteri = 0xff; } else { while ((P2_7 == 0)); P1 =0xe0; Status_flag =1; TR2 = 1; //Tasteri = 0xff; } //LEDnew = 0xe0; } //*Deo programa, u Keil-u označen kao fajl prekid_3min.c koji se odnosi na stepenišno osvetljenje*// #include <Definicija.h> #include <REG8253.H> extern data Diode_old; extern data Broj; extern bit Status_flag; extern bit Status_flag_1; int Counter_1; int Counter_2; 82

void Prekid_3_min (void) { // static unsigned char tab[8]={0x07,0x0f,0x1f,0x3e,0x7c,0xf8,0xf0,0xe0}; // unsigned char *point; // point = tab; if (Status_flag_1 ==1) { if (++Counter_1 == 3600) { switch(broj) { case 1: P1 = 0x07; Counter_1 = 0; break; case 2: P1 = 0x0f; Counter_1 = 0; break; case 3: P1 = 0x1f; Counter_1 = 0; break; case 4: P1 = 0x3e; Counter_1 = 0; break; case 5: P1 = 0x7c; Counter_1 = 0; break; case 6: P1 = 0xf8; Counter_1 = 0; break; case 7: P1 = 0xf0; Counter_1 = 0; break; case 8: P1 = 0xe0; Counter_1 = 0; break; //Section1(); //Section2(); //Section3(); //Section4(); //Section5(); //Section6(); //Section7(); //Section8(); } //P1 = *(point + Broj - 1); */ } else if (++Counter_2 == 3600) { P1 = 0; Counter_2 = 0; Counter_1 = 0; TR2 = 0; 83

} } else if (++Counter_1 == 3600) { P1 = 0; Counter_1 = 0; TR2 = 0; } } ########################################################################### 5.5 Flash-ovanje mikrokontrolera Nakon denerisanja hex fajla u Keil-u aktiviramo softver Microcontroller ISP Software firme Atmel (ISP In System Programator) i vršimo izbor mikrokontrolera, što je ilustrovano slikama 5.5.1 i 5.5.2 respektivno. Slika 5.5.1 Izbor mikrokontrolera se vrši u meniju Options 84

Slika 5.5.2 Izbor mikrokontrolera AT89S8253 Na slici 5.5.3 prikazan je izgled bafera pre učitavanja koda. Slika 5.5.3 Izgled bafera pre učitavanja koda 85

Nakon učitavanja hex fajla bafer će imati izgled prikazan na slici 5.5.4. Slika 5.5.4 Izgled bafera nakon učitavanja koda Sledeći koraci podrazumevaju eventualno podešavanje bitova zaključavanja (Lock bits) kojima se softverski štiti kod, programiranje (upis) koda (Write), verifikaciju (Verification) itd. Poslednje dve operacije se nalaze meniju Instructions. Posle toga, moguće je izabrati (selektovati) opciju Auto Program (meni Instructions) kojom će se sadržaj bafera programa prepisati u mikrokontroler. 86

5.6 Algoritam za program LED 87