ladder programiranje.pptx

75
LADDER PROGRAMIRANJE Schneider Electric Nikola Danković

Upload: sava-jovanovic

Post on 17-Jul-2016

19 views

Category:

Documents


2 download

TRANSCRIPT

LADDER PROGRAMIRANJESchneider Electric

Nikola Danković

ISTORIJA LADDER DIJAGRAMA Ladder dijagram je vrsta grafičkog jezika koja služi za

programiranje sistema automatskog upravljanja. Koristi se još od II Svetskog rata. Na početku, postojali su samo neki osnovni elementi u

njemu, a to su bili: A-kontakt (normalno otvoreni), B-kontakt (normalno zatvoreni), izlaz tzv. kalem, tajmeri i brojači.

PRIMER DIJAGRAMA OŽIČENJA

UKRATKO O LADDER DIJAGRAMU Ladder dijagrami su slični dijagramima relejne logike

koji su predstavljeni preko relejnih upravljačkih kola. Glavne razlike između Ladder i relejnih dijagrama su

sledeće: svi ulazi su predstavljeni preko simbola kontakata, svi izlazi su predstavljeni preko simbola kalema, numeričke operacije postoje već urađene kao grafički blokovi

Ladder instrukcija.

EKVIVALENTNOST LADDER DIJAGRAMA I RELEJNIH KOLA

RANG LADDER-A Program koji se piše u Ladder jeziku je sastavljen od tzv. rangova

koji zapravo predstavljaju skup grafičkih instrukcija iscrtanih između dve vertikalne linije (Potential bars).

Rangovi se izvršavaju sekvencijalno od strane kontrolera ukoliko nije programski drugačije određeno.

Skup tih grafičkih instrukcija čine: ulazi/izlazi kontrolera (tasteri, prekidači, senzori, releji, LED diode itd.), funkcije kontrolera (tajmeri, brojači itd.), matematičke i logičke operacije (sabiranje, deljenje, AND, XOR itd.), operatori poređenja i druge numeričke operacije (A<B, A=B, pomeranje,

rotiranje itd.), interne promenljive u kontroleru (bitovi, reči itd.).

Ove grafičke instrukcije su međusobno povezane vertikalnim i horizontalnim linijama i mogu imati jedan ili više izlaza i/ili akcija. Rang ne podržava više od jedne grupe povezanih instrukcija.

PRIMERI RANGOVA LADDER-A

PROGRAMSKA MREŽA Svaki rang Ladder-a se sastoji od mreže koju čine sedam vrsta i

jedanaest kolona raspoređenih u dve zone.

ZONE PROGRAMSKE MREŽE Programska mreža Ladder dijagrama je podeljena u dve zone:

Test zona. Sadrži uslove koji se testiraju kako bi se neka akcija sprovela. Ovoj zoni pripadaju kolone od 1-10, i ona sadrži kontakte, funkcijske blokove i komparacione blokove.

Zona akcije. Sadrži izlaz ili operaciju koja će se izvršiti zavisno od rezultata testa uslova u Test zoni. Ovoj zoni pripadaju kolone od 8-11, i sadrži kalemove i operacione blokove.

Obe zone se mogu videti na prethodnom slajdu.

UNOŠENJE INSTRUKCIJA U MREŽU Rang omogućava programsku mrežu veličine 7x11 i ona

počinje sa prvom ćelijom u gornjem levom uglu mreže. Programiranje se zapravo sastoji od unošenja instrukcija

unutar ćelija mreže. Test instrukcije, komparacije, i funkcije se unose u ćelije

i one su poravnjane sa leve strane. Test logika obezbeđuje prolazak ka zoni akcije gde se

unose kalemovi, numeričke operacije, i druge upravljačke instrukcije i one su poravnjane sa desne strane.

Rang se izvršava unutar mreže i to odozgo na dole i s leva u desno. 

SEKCIJE/PODRUTINE I ZAGLAVLJE RANGA Svaka sekcija/podrutina se sastoji od:

zaglavlja sekcije koje se sastoji od broja sekcije, labele sekcije/podrutine, naslova koji dodeljuje korisnik i četiri linija komentara.

sekvenci rangova ispod zaglavlja. Kao dodatak ranga, zaglavlje ranga se nalazi iznad

ranga. Zaglavlje ranga može da sadrži sledeće informacije: broj ranga, labele (%Li), naslov ranga, komentare ranga. 

BLOKOVI LADDER DIJAGRAMA Ladder dijagrami se sastoje od blokova koji opisuju

funkcije kao što su sledeće: kontakti, kalemovi, instrukcije programskog toka, funkcijski blokovi, komparacioni blokovi, operacioni blokovi. 

KONTAKTI, KALEMOVI I PROGRAMSKI TOK Kontakti, kalemovi i instrukcije programskog toka (jump

i call) zauzimaju jednu ćeliju ladder programske mreže. 

FUNKCIJSKI BLOKOVI Funkcijski blokovi su smešteni u test zoni programske

mreže. Blok se mora pojaviti u prvoj vrsti; nijedna instrukcija ili

linija se ne može pojaviti iznad ili ispod funkcijskog bloka.

Sve uslovne instrukcije se nalaze sa strani ulaza funkcijskog bloka, a sve akcione instrukcije sa strane izlaza.

Funkcijski blokovi su vertikalno orijentisani i zauzimaju dve kolone i četiri vrste programske mreže. 

PRIMER FUNKCIJSKOG BLOKA - COUNTER

KOMPARACIONI BLOKOVI Komparacioni blokovi ili blokovi poređenja su smešteni

u test zoni programske mreže. Blok se može pojaviti u bilo kojoj vrsti ili koloni u test zoni i duž celog dela test zone.

Komparacioni blokovi su horizontalno orijentisani i zauzimaju jednu vrstu i dve kolone programske mreže.

OPERACIONI BLOKOVI Operacioni blokovi su smešteni u zoni akcije

programske mreže. Blok se može pojaviti u bilo kojoj vrsti zone akcije.

Instrukcija je poravnjana sa desne strane; pojavljuje se sa desne strane i završava u poslednjoj koloni.

Operacioni blokovi su horizontalno orijentisani i zauzimaju jednu vrstu i četiri kolone programske mreže.

OPERACIONI BLOKOVI Ukoliko je pre zadavanja jednačine definisan simbol,

jednačina će biti prikazana i sa adresama (donje polje) i sa simbolima (gornje polje).

Ovde, adresa %MW2 je prethodno definisana simbolom OPERATE_SWITCH.

GRAFIČKI ELEMENTI LADDER JEZIKA Grafički elementi u vidu kontakata su programirani u test

zoni i zauzimaju jednu ćeliju (jedna vrsta - visina i jedna kolona - širina).

---| |--- NORMALLY OPEN CONTACT Simbol<comment><symbol><address> ---| |--- Normally Open Contact je zatvoren kada je vrednost bita smeštena na

specifičnoj adresi <address> jednaka “1”. Kada je kontakt zatvoren, struja teče kroz kontakt i rezultat logičke operacije je (RLO) = "1".

U suprotnom, ukoliko je stanje signala na specifičnoj adresi <address> jednak "0", kontakt je otvoren. Kada je kontakt otvoren, struja ne teče kroz kontakt i rezultat je (RLO) = "0".

Kada se koriste u serijskoj vezi, , ---| |--- je povezan na RLO bit preko AND logičke operacije. Kada se koriste u paralelnoj vezi, on je povezan na RLO preko OR logičke operacije.

---| |--- NORMALLY OPEN CONTACT - PRIMER Struja teče ukoliko je jedan od ova dva uslova

zadovoljen: stanje signala je “1” na ulazima I0.0 i I0.1, stanje signala je “1” na ulazu I0.2.

---| / |--- NORMALLY CLOSED CONTACT Simbol <comment><symbol><address>---| / |---  Normally Closed Contact je zatvoren kada je vrednost bita smeštena

na specifičnoj adresi <address> jednaka “0”. Kada je kontakt zatvoren, struja teče kroz kontakt i rezultat logičke operacije je (RLO) = "1".

U suprotnom, ukoliko je stanje signala na specifičnoj adresi <address> jednak "1", kontakt je otvoren. Kada je kontakt otvoren, struja ne teče kroz kontakt i rezultat je (RLO) = "0".

Kada se koriste u serijskoj vezi, , ---| / |--- je povezan na RLO bit preko AND logičke operacije. Kada se koriste u paralelnoj vezi, on je povezan na RLO preko OR logičke operacije.

---| / |--- NORMALLY CLOSED CONTACT - PRIMER Struja teče ukoliko je jedan od ova dva uslova

zadovoljen: stanje signala je “1” na ulazima I0.0 i I0.1, stanje signala je “0” na ulazu I0.2.

DETEKCIJA PREDNJE (RASTUĆE) IVICE Ova instrukcija detektuje promenu vrednosti sa 0 na 1. Simbol

DETEKCIJA ZADNJE (OPADAJUĆE IVICE) Isto kao i za prednju, s tim što sada detektuje promenu sa

1 na 0. Simbol

LINK ELEMENTI Grafički link elementi se koriste za unos/brisanje ladder

petlji.

KALEMOVI Grafički elementi kalemova su programirani u zoni akcije i

zauzimaju jednu ćeliju (jedna vrsta – visina, jedna kolona - širina).

---( ) DIRECT COIL Simbol<comment><symbol><address>---( ) Direct Coil radi slično kao kalem kod relejnih kola.

Ukoliko struja dolazi do kalema (RLO = 1), bit na lokaciji <address> je setovan na “1”.

Ukoliko struja ne dolazi do kalema (RLO = 0), bit na lokaciji <address> je setovan na “0”. Izlazni kalem može biti smešten jedino na desnoj strani leder ranga.

---( ) DIRECT COIL - PRIMER Stanje signala izlaza Q4.0 je "1" ukoliko jedan od

sledećih uslova je zadovljen: stanje signala je “1” na ulazima I0.0 i I0.1, stanje signala je “0” na ulazu I0.2.

Stanje signala izlaza Q4.1 je "1" ukoliko jedan od sledećih uslova je zadovljen: stanje signala je “1” na ulazima I0.0 i I0.1 i I0.3, stanje signala je “0” na ulazu I0.2 i “1” na ulazu I0.3.

PRIMER 1: KONTROLISANJE PRENOSNE TRAKE Slika prikazuje prenosnu traku koja se može pokrenuti

električnim putem. Postoje dva tastera na početku trake. S1 za START i S2 za STOP. I na kraju prenosne trake postoje dva tastera S3 za START i S4 za STOP. Moguće je pokrenuti traku sa bilo koje strane. Takođe, senzor S5 stopira traku kada objekat koji se nalazi na traci stigne do kraja.

TABELA ADRESA I SIMBOLA Može se napraviti program za upravljanje transportne

trake koristeći simbole koji reprezentuju različite komponente transportnog sistema.

Mora se napraviti tabela simbola koja će povezati adrese sa simbolima.

LADDER DIJAGRAM – RUNG 0 Pritisnite bilo S1 bilo S3 kako bi se motor pokrenuo.

Memorijska promenljiva služi za prekid rada motora.

LADDER DIJAGRAM – RUNG 1 Pritisnite ili stop taster ili zatvorite normalno otvoreni

kontakt na kraju trake da se motor isključi.

FUNKCIJSKI BLOKOVI - UVOD Grafički elementi funkcijskih blokova su programirani u

test zoni i zauzimaju četiri vrste i dve kolone ćelija. U ovu grupu spadaju tajmeri, brojači, registri itd.

FUNKCIJSKI BLOKOVI - PRIMER Primer jednog od funkcijskih blokova može biti up/down

brojač koji je prikazan na slici.

KARAKTERISTIKA FB-A Ulazi i izlazi ovih blokova se mogu podeliti na Bit

objekte i Word objekte. Bit objekti su oni koji mogu imati samo dve vrednosti, 1

ili 0, a Word objekti su oni koji mogu imati više od dve vrednosti.

Parametri funkcijskih blokova se praktično mogu podeliti u dve grupe: Konfiguracioni parametri bloka. Neki parametri su

dostupni programu, a neki nisu kao što je to slučaj sa npr. vremenskom bazom.

Trenutne vrednosti. Na primer %Ci.V predstavlja trenutnu vrednost brojača i ona se može koristiti za dalje programiranje.

KARAKTERISTIKA FB-A U tabeli su dati parametri funkcijskih blokova tajmera i

brojača i dat je prikaz da li je moguć pristup tim parametrima ili ne.

TAJMERI Postoje nekoliko tipova tajmera:

TON (Timer On-delay). Ovaj tip tajmera se koristi za on-delay akcije, a to su akcije koje treba da se izvrše nakon nekog kašnjenja. Nakon isteka određenog vremena, izlaz tajmera postaje aktivan, a za vreme brojanja je neaktivan.

TOF (Timer Off-delay). Ovaj tip tajmera se koristi za off-delay akcije, a to su akcije koje se izvršavaju neko određeno vreme. Nakon isteka određenog vremena izlaz tajmera postaje neaktivan, a za vreme brojanja je aktivan.

TP (Timer - Pulse). Ovaj tip tajmera se koristi za kreiranje pulsa tačno određenog trajanja.

TAJMERI - PRIMER Na slici je prikazan jedan tajmer tipa TON.

PARAMETRI TAJMERA

TON TIP TAJMERA Vremenski dijagram TON tajmera dat je na slici.

TON TIP TAJMERA Tajmer TON tipa počinje sa brojanjem kada se na ulazu

IN detektuje prednja ivica (1). Trenutna vrednost %TMi.V raste od nule do %TMi.P za

po jedan inkrement kada god prođe jedan impuls vremenske baze TB (2).

Izlaz %TMi.Q je setovan na 1 kada trenutna vrednost dostigne zadatu %TMi.P (3).

Izlaz %TMi.Q ostaje 1 sve dok je na IN ulazu tajmera 1 (4).

Kada se detektuje padajuća ivica na IN ulazu, tajmer se stopira, bez obzira da li je tajmer dostigao zadatu vrednost %TMi.P i %TMi.V se postavlja na nulu (5).

TOF TIP TAJMERA Vremenski dijagram TOF tajmera dat je na slici.

TOF TIP TAJMERA Kao što se može videti sa dijagrama trenutna vrednost

%TMi.V je postavljena na nulu kako se detektuje prednja ivica na IN ulazu, iako tajmer možda trenutno radi (1).

%TMi.Q izlaz je setovan na 1 kada se detektuje prednja ivica na ulazu IN (2).

Tajmer počinje sa brojanjem na padajuću ivicu ulaza IN (3).

Trenutna vrednost %TMi.V raste do %TMi.P za po jedan inkrement za po jedan puls vremenske baze TB (4).

Izlaz %TMi.Q je resetuje na 0 kada trenutna vrednost dostigne zadatu %TMi.P (5).

TP TIP TAJMERA Vremenski dijagram TP tajmera dat je na slici.

TP TIP TAJMERA Tajmer TP tipa počinje sa brojanjem detektovanjem prednje ivice na

IN ulazu (1). Trenutna vrednost %TMi.V se postavlja na nulu ukoliko tajmer već

nije počeo da broji. Izlaz %TMi.Q je setovan na 1 kada se tajmer pokrene (2).

Trenutna vrednost %TMi.V se povećava od 0 do %TMi.P u inkrementima od po jedan, kada god prođe jedan puls vremenske baze (3).

Izlaz %TMi.Q je setovan na 0 kada trenutno stanje dostigne zadatu vrednost %TMi.P (4).

Trenutna vrednost %TMi.V se setuje na 0 kada je vrednost %TMi.V jednaka vrednosti %TMi.P i kada se ulaz IN vraća na nulu (5).

Ovaj tajmer se ne može resetovati. Jednom kada je %TMi.V jednako %TMi.P, i ulaz IN jednak 0, onda je %TMi.V postavljeno na 0 (6).

PRIMER 2: PRIMENA TAJMERA TON tip tajmera počinje sa radom detektovanjem prednje ivice na

ulazu IN. Ovime je početni uslov zadovoljen i tajmer počinje da radi. Dokle god broji vrednost na izlazu Q je jednaka 0. Kada se trenutna vrednost izjednači sa 9999, izlaz Q se setuje na 1. Ukoliko je u međuvremenu došlo do promene signala na ulazu %I0.0 i on postaje 0, tajmer prestaje sa radom i Q se setuje na 0.

KOMPARACIONI BLOKOVI Komparacioni blokovi se na programskoj mreži ubacuju u test zoni i

obično izgledaju kao što je prikazano u tabeli. Vidimo da oni služe za poređenje dva operanda, pri čemu operator

poređenja može biti različit. U zavisnosti od ispunjenosti poređenja izlaz komparacionog bloka može biti 1 ili 0. Jedinica odgovara slučaju kada je komparacija zadovoljena, a nula kada nije.

OPERATORI U tabeli su prikazani svi mogući operatori poređenja, i to modu biti

veće, veće ili jednako, manje, manje ili jednako, jednako i različito.

SINTAKSA KB-A Programiranje komparacionih blokova se svodi na ubacivanje

komparacionog bloka na programsku mrežu a iznad samog bloka vi definišete izraz poređenja koji ima uopšteni oblik:

Operand1 [<,>,<=,>=,=,<>] Operand2 U tabeli je dat prikaz tipova podataka koji se mogu dovesti kao

operandi.

PRIMER 3: PRIMENA KB-A Kao što se može videti sa primera prvi komparacioni blok poredi

vrednost adrese %MW0 sa 100, i ispituje se da li je prvi operand veći od drugog.

Ukoliko jeste, %Q0.3 biće setovano na 1, a ako je manje od 100 %Q0.3 će biti setovano na nulu.

IZLAZNE INSTRUKCIJE (ST, STN, S, R) Ove instrukcije se odnose zapravo na same izlazne

kaleme Ladder dijagrama i u potpunosti odgovaraju direktnom kalemu, inverznom, set i reset kalemu.

PRIMERI IZLAZNIH INSTRUKCIJA

PRIMERI IZLAZNIH INSTRUKCIJA Kao što se može videti sa vremenskog dijagrama

instrukcija ST je aktivna kada je aktivan i ulaz %I0.1 i onda je i izlaz %Q0.3 aktivan.

Funkcija STN je aktivna kada je ulaz %I0.1 neaktivan, što znači da je za to vreme % Q0.2 aktivan.

Funkcija S je aktivna, čim se detektuje prednja ivica, tj. kada ulaz %I0.1 postane aktivan i traje sve dotle dok se ne resetuje. Za to vreme izlaz %Q0.4 je jednak jedinici.

Resetovanje se vrši uz pomoć instrukcije R, koja je aktivna kada ulaz %I0.2 postane aktivan, i u tom trenutku je %Q0.4 jednak nuli.

LOGIČKE AND INSTRUKCIJE (AND, ANDN, ANDR, ANDF) Ovaj tip instrukcija zapravo kreira logičke AND

operacije između operanada (inverznih kontakata, kontakata opadajuće ili rastuće ivice).

Pored operanada tipa ulaza %I, ovde se kao kontakti mogu upotrebiti i izlazi, tj. njihove adrese u vidu kontakata.

PRIMERI LOGIČKIH AND INSTRUKCIJA

PRIMERI LOGIČKIH AND INSTRUKCIJA Vidimo da je izlaz %Q0.3 jednak jedinici onda kada je i jedan i drugi

uslov ispunjen, tj ako su %I0.1 i %M1 aktivni. Instrukcija ANDN se odvija između normalno otvorenog i normalno

zatvorenog kontakta. Izlaz %Q0.2 je aktivan kada je %M2 aktivan, a %I0.2 neaktivan.

Operacija ANDR se odvija između normalno otvorenog kontakta i kontakta za detekciju prednje ivice. Izlaz %Q0.4 je aktivan kada je ispunjen sledeći uslov: Ulaz %I0.3 aktivan i kada se detektuje prednja ivica na ulazu %I0.4 što znači da je signal morao da pređe iz neaktivnog u aktivno stanje. Pošto je izlaz tipa S, onda on ostaje aktivan sve dok se ne resetuje.

Izlaz %Q0.5 je aktivan kada je ispunjen sledeći uslov: Memorijska adresža %M.3 aktivna i kada se detektuje zadnja ivica na ulazu %I0.5 što znači da je signal morao da pređe iz aktivnog u neaktivno stanje. Pošto je izlaz tipa S, onda on ostaje aktivan sve dok se ne resetuje.

LOGIČKE OR INSTRUKCIJE (OR, ORN, ORR, ORF) Ovaj tip instrukcija zapravo kreira logičke OR operacije

između operanada (inverznih kontakata, kontakata opadajuće ili rastuće ivice).

PRIMERI LOGIČKIH OR INSTRUKCIJA

BROJAČ (COUNTER) Brojači su vrsta funkcijskih blokova koji se koristi za

brojanje nekih događaja. Brojači mogu brojati nagore i nadole. Kod Schneider

Ladder programiranja postoji samo Up/Down Counter.

BROJAČ (COUNTER) Trenutna vrednost brojača ima adresu %Ci.V i ona se

povećava ili smanjuje u zavisnosti od ulaza CU ili CD. Zadata vrednost ima adresu %Ci.P i može se kretati u opsegu

od 0 do 9999. Ona se može čitati i upisivati od strane programa.

Ulaz R služi za reset brojača i kada je na tom ulazu aktivan nivo signala brojač tj. njegova trenutna vrednost setuje se na nulu.

Ulaz S služi za setovanje brojača tako što kada je na tom ulazu jedinica, trenutna vrednost se izjednačava sa zadatom %Ci.V=%Ci.P.

Kada se detektuje prednja ivica na ulazu CU trenutna vrednost povećava se za jedan inkrement.

BROJAČ (COUNTER) Kada se detektuje prednja ivica na ulazu CD trenutna

vrednost smanjuje se za jedan inkrement. Izlaz E (empty)sa adresom %Ci.E se setuje na jedinicu

kada dođe do promene trenutne vrednosti brojača sa 0 na 9999, što znači da brojač broji unazad.

Izlaz D sa adresom Ci.D se setuje na 1 kada brojač izbroji tj. kada je %Ci.V=%Ci.P.

Izlaz F (full) sa adresom %Ci.F setuje se na jedinicu, kada %Ci.V pređe sa 9999 na 0. U prevodu znači da je F jednako 1 kada %Ci.V stigne do nule, a resetuje se na 0 kada brojač nastavi sa brojanjem naviše.

NAČIN RADA BROJAČA- BROJANJE NAVIŠE Ukoliko se pojavi prednja ivica na ulazu CU, brojač

počinje da broji naviše i trenutna vrednost %Ci.V se povećava za jedan. Pa onda sa sledećom rastućom ivicom ponovo se povećava za jedan, i tako redom.

Kada se izjednači trenutna vrednost sa zadatom %Ci.V=%Ci.P, izlaz %Ci.D = 1, to označava da je brojač izbrojao zadati broj događaja.

Ukoliko se nastavi sa brojanjem do 9999 tada će trenutna vrednost da pređe sa 9999 na 0 i izlaz %Ci.F se setuje na 1. Nakon toga, ako se nastavi sa brojanjem izlaz %Ci.F resetuje na nulu.

NAČIN RADA BROJAČA-BROJANJE NANIŽE Ukoliko se pojavi prednja ivica na ulazu CD, brojač

počinje da broji naniže i trenutna vrednost %Ci.V se smanjuje za jedan. Pa onda sa sledećom rastućom ivicom ponovo se smanjuje za jedan, i tako redom.

Kada trenutna vrednost pređe sa 0 na 9999, izlaz %Ci.E se setuje na jedinicu.

Nakon toga ako se nastavi sa brojanjem %Ci.E se resetuje a vrednost %Ci.V se nadalje smanjuje sve dok ne dostigne zadatu vrednost kada izlaz %Ci.D postaje jednak jedinici.

NAČIN RADA BROJAČA- BROJANJE NAVIŠE/NANIŽE Ukoliko hoćemo da brojač broji u oba režima, onda on to

radi simultano u zavisnosti od toga koji mu je uslov ispunjen. Princip rada se ne menja.

Jedina specifična situacija je da su istovremeno na oba ulaza detektovane prednje ivice, ali i to je rešeno tako što stanje brojača ostaje nepromenjeno.

Ukoliko na R ulaz se dovede jedinica, trenutna vrednost se setuje na nulu, a i vrednosti %Ci.F, %Ci.D i %Ci.E takođe postaju nula.

Ukoliko se na S ulaz dovede jedinica, trenutna vrednost se izjednačava sa zadatom i %Ci.D je jednako 1.

PRIMER BROJAČA- BROJANJE NAVIŠE

PRIMER BROJAČA- BROJANJE NAVIŠE Vidimo da je njegova zadata vrednost 9999. Svaki impuls na ulazu %I1.2 (kada je bit %M0 setovan

na jedinicu) inkrementuje brojač %C8 za po jedan sve do njene zadate vrednosti ( bit %C8.D=1).

Kada izlaz brojača %C8.D postane aktivan izlaz %Q0.0 takođe ima vrednost jednaku jedinici.

Brojač se resetuje jedinicom na ulazu %I1.1.

PRIMER BROJAČA- BROJANJE NAVIŠE/NANIŽE

PRIMER BROJAČA- BROJANJE NAVIŠE/NANIŽE Ukoliko uzmemo da je zadata vrednost brojača 4, tj.

%C1.P=4, onda će trenutna vrednost rasti od 0 do 3, i opadati od 3 do 0.

Najpre brojač broji naviše jer je po defaultu %M0=0, i kada se dovede jedinica na ulaz %I0.0, stiže rastuća ivica do CU i brojač broji 0,1,2,3.

Kada je izbrojao 4 puta, izlaz %C1.D=1 i to povlači da je %M0=1, automatski CU postaje neaktivan ali je sada aktivan CD.

Sada trenutno stanje brojača je 3,2,1,0 i kada probamo još jednom da izbrojimo dolazi do promene sa 3 na 0 i postaje aktivan izlaz %C1.E i %M0 je ponovo jednako nuli pa se postupak ponavlja.

OPERATOR DODELE (:=) Operator dodele se koristi za dodeljivanje vrednosti

operanda2 operandu1. Sintaksa je sledeća:

Ovaj operator se može primeniti kako na bit stringove tako i na reči.

ZADATAK Kako biste uradili sledeće: Dodeliti vrednost 100

promenljivoj %MW0. Promenljiva %MW1 preuzima vrednost promenljive %MW0, kada je aktivan ulaz %I0.0???

ARITMETIČKE OPERACIJE NAD CELIM BROJEVIMA Ovaj tip instrukcija se koristi kada imamo potrebu za

aritmetičkim operacijama između dva operanda tipa integer, ili barem jednog operanda tipa integer, ili jednog operanda i nekog celog broja.

ARITMETIČKE OPERACIJE NAD CELIM BROJEVIMA Kao što se može videti pored četiri osnovne matematičke

operacije, prisutne su još i operacije: REM – daje ostatak deljenje dva operanda, SQRT – Kvadratni koren nekog operanda, INC – povećava vrednost operanda, DEC – smanjuje vrednost operanda, i ABS – daje apsolutnu vrednost operanda.

SINTAKSA U tabeli je prikazana sintaksa aritmetičkih operacija.

PRIMERI ARITMETIČKIH OPERACIJA