You are on page 1of 250

PROGRAMABILNI LOGIKI KONTROLERI

SRBIJANKA TURAJLI

BEOGRAD, 2011



SADRAJ
1. PROGRAMABILNI LOGIKI KONTROLER (PLC) ............................................ 1
1.1. OSNOVNE KARAKTERISTIKE PLC-A ....................................................................... 1
1.1.1. Robusnost i modularnost ................................................................................................. 1
1.1.2. Operativni sistem PLC-a .................................................................................................. 3
1.2. PROGRAMIRANJE PLC-A...................................................................................... 7
1.2.1. Uvod ................................................................................................................................ 7
1.2.2. Leder dijagrami ................................................................................................................ 8
1.2.3. Dijagrami funkcijskih blokova .......................................................................................... 9
1.2.4. Strukturiani tekst ............................................................................................................ 10
1.3. DIJAGRAMI SEKVENCIJALNIH FUNKCIJA ................................................................12
2. MALI LOGIKI KONTROLERI ..................................................................... 15
2.1. ARHITEKTURA MALIH KONTROLERA ......................................................................15
2.1.1. Osnovne karakteristike .................................................................................................. 15
2.1.2. Organizacija RAM memorije kontrolera SLC 500 i MicroLogix ..................................... 16
2.2. ORGANIZACIJA DATOTEKA PODATAKA ..................................................................17
2.2.1. Tipovi promenljivih i datoteka ........................................................................................ 17
2.2.2. Element datoteke ........................................................................................................... 18
2.2.3. Kreiranje datoteke i zauzee memorije ......................................................................... 19
2.2.4. Indirektno adresiranje .................................................................................................... 21
2.2.5. Indeksno adresiranje ..................................................................................................... 21
2.2.6. Adresiranje datoteka ...................................................................................................... 22
2.2.7. Programske konstante ................................................................................................... 23
2.3. DISKRETNI U/I MODULI ........................................................................................23
2.3.1. Ulazno/izlazni modul ...................................................................................................... 23
2.3.2. Sprezanje U/I modula sa kontrolerom ........................................................................... 24
2.3.3. Vezivanje digitalnih ureaja za digitalni modul .............................................................. 25
2.4. ANALOGNI U/I MODULI ........................................................................................27
2.4.1. Analogni ulazni kanal ..................................................................................................... 27
2.4.2. Analogni izlazni kanal .................................................................................................... 29
2.5. FORMIRANJE PROJEKTA ......................................................................................30
3. LEDER PROGRAMIRANJE ......................................................................... 33
3.1. UVOD U LEDER PROGRAMIRANJE .........................................................................33
3.2. BIT NAREDBE .....................................................................................................33
3.2.1. Bit naredbe za definisanje uslova .................................................................................. 34
3.2.2. Bit naredbe za postavljanje vrednosti izlaza ................................................................. 34
3.2.3. Bit triger naredba ........................................................................................................... 35
3.2.4. Programski sken i vremenski dijagram .......................................................................... 36
3.2.5. Primeri ........................................................................................................................... 37
3.3. NAREDBE ZA MERENJE VREMENA I PREBROJAVANJE DOGAAJA ............................42
3.3.1. asovnik i broja ........................................................................................................... 42
3.3.2. Datoteka podataka o asovniku (Timer data file) .......................................................... 43
3.3.3. Naredbe za rad sa asovnikom ..................................................................................... 44
3.3.4. Nain rada asovnika .................................................................................................... 47
3.3.5. Datoteka podataka o brojau (Counter data file) ........................................................... 48
3.3.6. Naredbe za rad sa brojaem ......................................................................................... 48
3.3.7. Primeri korienja asovnika i brojaa .......................................................................... 49
4. LEDER NAREDBE ZA OPERACIJE NAD PODACIMA ...................................... 61
4.1. NAREDBE ZA OPERACIJE NAD PODACIMA ..............................................................61
4.2. NAREDBE ZA POREENJE....................................................................................61
4.3. MATEMATIKE NAREDBE .....................................................................................63
4.3.1. Opte napomene ........................................................................................................... 63


4.3.2. Pregled matematikih naredbi ....................................................................................... 65
4.4. NAREDBE ZA MANIPULACIJU SA NUMERIKIM PODACIMA ....................................... 71
4.5. NAREDBE ZA KONVERZIJU .................................................................................. 73
4.6. NAREDBA ZA PREMETANJE BAJTOVA ................................................................. 76
4.7. PRIMERI KORIENJA NAREDBI ZA MATEMATIKE OPERACIJE ................................ 76
5. NAREDBE ZA RAD SA DATOTEKAMA PODATAKA ........................................ 87
5.1. OPTE NAPOMENE ............................................................................................. 87
5.2. NAREDBE ZA KREIRANJE DATOTEKE .................................................................... 88
5.3. NAREDBE ZA TRANSLACIJU BITOVA ...................................................................... 88
5.4. NAREDBE ZA SEKEVENCIJALNU OBRADU PODATAKA ............................................. 90
5.4.1. Naredbe za sekvencijalni rad sa datotekama ................................................................ 90
5.5. NAREDBE ZA FORMIRANJA STEKA ........................................................................ 94
6. NAREDBE ZA UPRAVLJANJE IZVRAVANJEM PROGRAMA........................... 99
6.1. OPTE NAPOMENE ............................................................................................. 99
6.2. NAREDBA ZA SKOK ............................................................................................. 99
6.3. POTPROGRAMI ................................................................................................ 100
6.4. PROMENA TOKA SKEN CIKLUSA ......................................................................... 101
6.5. AURIRANJE ULAZNIH I IZLAZNIH PODATAKA ....................................................... 102
6.6. SISTEM PREKIDA (INTERRUPT) .......................................................................... 103
6.6.1. Tipovi prekida i hijerarhijski nivoi ................................................................................. 104
6.6.2. User Fault Routine ....................................................................................................... 105
6.6.3. DII Discrete Input Interrupt ........................................................................................ 109
6.6.4. STI Selectable timed interrupt .................................................................................. 113
6.6.5. I/O Prekid ..................................................................................................................... 118
7. NAREDBA ZA REALIZACIJU PROPORCIONOLNO-INTEGRALNO-
DIFERENCIJALNOG ZAKONA UPRAVLJANJA (PID) .......................................... 121
7.1. JEDNAINA PIDA ............................................................................................. 121
7.2. SKALIRANJE MERNIH I UPRAVLJAKIH SIGNALA ................................................... 122
7.3. PID NAREDBA ................................................................................................. 124
7.4. PRIMERI KORIENJA PIDA .............................................................................. 128
8. NAREDBE ZA KOMUNIKACIJU SLCA ....................................................... 137
8.1. NAREDBE ZA RAD SA ASCII KARAKTERIMA ........................................................ 137
8.1.1. ASCII naredbe za manipulaciju karakterima ............................................................... 138
8.1.2. ASCII naredbe za komunikaciju .................................................................................. 139
8.1.3. Primeri korienja ASCII naredbi ................................................................................. 143
8.2. NAREDBE ZA KOMUNIKACIJU SLCA U MREI ....................................................... 148
8.2.1. Format naredbi za komunikaciju .................................................................................. 148
8.2.2. SLC kontroler kao odredini ureaj (500CPU) ............................................................ 149
8.2.3. Odredini ureaj je 485CIF (emulator PLC-2) ............................................................. 152
8.2.4. Komunikacija preko Eterneta ....................................................................................... 155
8.2.5. Indikatori statusa .......................................................................................................... 156
8.2.6. Izvravanje message naredbe ..................................................................................... 158
8.2.7. Primeri korienja mesage naredbi ............................................................................. 160
9. KOMUNIKACIJA SLC-A .......................................................................... 167
9.1. KONFIGURISANJE KOMUNIKACIONIH KANALA SLC KONTROLERA .......................... 167
9.1.1. Konfiguracija kanala 0 ................................................................................................. 168
9.1.2. Opte specifikacije mree ............................................................................................ 169
9.2. DH-485 MREA ............................................................................................... 169
9.3. DH+ MREA .................................................................................................... 171
9.4. ETERNET MREA .............................................................................................. 173
9.4.1. Konfiguracija Eternet mree ........................................................................................ 173


9.4.2. Dijagnostika datoteka ................................................................................................ 176
9.5. RS-232 INTERFEJS .......................................................................................... 176
9.6. DF1 PUNI DUPLEKS PROTOKOL (POINT-TO-POINT) .............................................. 178
9.6.1. Konfiguracija kontrolera ............................................................................................... 178
9.6.2. Dijagram toka procesa ................................................................................................. 179
9.6.3. Dijagnostika datoteka ................................................................................................ 179
9.7. DF1 POLU-DUPLEKS PROTOKOL ........................................................................ 180
9.7.1. DF1 polu-dupleks standardni master protokol ............................................................. 181
9.7.2. DF1 poludupleks - message based mode ................................................................... 187
9.7.3. DF1 polu-dupleks slave protokol ................................................................................. 188
9.8. KORIENJE MODEMA ZA DF1 PROTOKOLE........................................................ 190
9.8.1. Vezivanje kontrolera sa modemom ............................................................................. 191
9.8.2. Upravljanje slanjem i primanjem poruka ..................................................................... 192
9.8.3. Komunikacija preko telefonskih linija ........................................................................... 193
9.9. ASCII KOMUNIKACIONI PROTOKOL ..................................................................... 195
A. DIGITALNI SENZORI I DIGITALNI IZVRNI ORGANI ...................................... 199
B. ELEMENTI RAUNARSKIH KOMUNIKACIJA ............................................... 203
B.1. OSNOVE RAUNARSKIH KOMUNIKACIJA .................................................................. 203
B.1.1. Ureaji za prenos podataka ........................................................................................ 204
B.1.2. Komunikacioni kanali .................................................................................................. 205
B.1.3. Protokol ....................................................................................................................... 207
B.1.4. Sedmoslojni OSI model ............................................................................................... 208
B.1.5. Standardi fizikih veza ................................................................................................ 209
B.2. KOMUNIKACIONE MREE ....................................................................................... 211
B.2.1. WAN mree ................................................................................................................. 211
B.2.2. Komponente LAN-a ..................................................................................................... 211
B.2.3. Topologija LAN mrea ................................................................................................. 213
B.2.4. Tehnike upravljanja radom mree i metode pristupa mrei ........................................ 213
C. INDUSTRIJSKE (UPRAVLJAKE) RAUNARSKE MREE ............................. 217
C.1. NIVOI KOMUNIKACIJA PRI UPRAVLJANJU PROCESOM ................................................ 217
C.2. STRUKTURA UPRAVLJAKIH MREA ........................................................................ 218
C.3. INDUSTRIJSKE MAGISTRALE ................................................................................... 220
C.4. MREE I PROTOKOLI ZA MASTER/SLAVE KOMUNIKACIJU ........................................... 221
C.4.1. Udaljeni U/I ureaji (remote I/O) ................................................................................. 221
C.4.2. Standardni master/slave protokoli............................................................................... 222
C.5. MREZE I PROTOKOLI KOJI RADE NA PRINCIPU RAZMENE ZETONA .............................. 223
C.5.1. DH485 mrea .............................................................................................................. 223
C.5.2. ControlNet mrea ........................................................................................................ 224
C.6. MREE I PROTOKOLI KOJI RADE NA PRINCIPU VIESTRUKOG EMITOVANJA ................. 225
C.6.1. DeviceNet (CAN Bus) mrea ...................................................................................... 225
C.6.2. Ethernet (CSMA/CD) .................................................................................................. 226
C.7. BEINA KOMUNIKACIJA PREKO GSM MREE ......................................................... 227
D. SCADA SUPERVISORY CONTROL AND DATA ACQUISITION ................. 231
D.1. OD TELEMETRIJE DO SCADA-E ............................................................................. 231
D.2. PRIMENA RAUNARA U REALIZACIJI NADZORNO UPRAVLJAKIH SISTEMA .................. 233
D.3. NADZORNO-UPRAVLJAKI SISTEM SCADA SISTEM............................................... 234
D.4. SCADA SISTEMI HARDVER I FIRMVER .................................................................. 236
D.4.1. Udaljene stanice (RTU Remote Terminal Units) ......................................................... 236
D.4.2. Centralna stanica ........................................................................................................ 237
D.4.3. Komunikacija ............................................................................................................... 238
D.5. PROJEKTOVANJE SCAD-E SCADA SOFTVER ...................................................... 239
D.6. OPERATORSKI TERMINALI ...................................................................................... 242
PLC_uvod/1


1. PROGRAMABILNI LOGIKI KONTROLER (PLC)
1.1. OSNOVNE KARAKTERISTIKE PLC-A
1.1.1. ROBUSNOST I MODULARNOST
Prema standardizaciji Udruenja proizvoaa elektrine opreme (The National
Electrical Manufacturers Association -NEMA) programabilni logiki kontroler je definisan
kao:
Digitalni elektronski ureaj koji koristi programabilnu memoriju za
pamenje naredbi kojima se zahteva izvoenje specifinih funkcija, kao to
su logike funkcije, sekvenciranje, prebrojavanje, merenje vremena,
izraunavanje, u cilju upravljanja razliitim tipovima maina i procesa preko
digitalnih i analognih ulazno-izlaznih modula.
Nastanak i razvoj PLC-a vezuje se za poetke mikroraunarske industrije. Imajui
u vidu relativno skromne mogunosti prvih mikroprocesora nije ni udno da je PLC
prvobitno je zamiljen kao specijalizovani raunarski ureaj koji se moe programirati tako
da obavi istu funkciju kao i niz logikih ili sekvencijalnih elemenata koji se nalaze u nekom
relejnom ureaju ili automatu.
Oekivalo se da e trite spremno
prihvatiti mogunost da relejne
ormane koji su u to vreme korieni
kao osnovni elementi u automatizaciji
pogona zameni malim fleksibilnim i
razumno jeftinim mikroraunarskim
kontrolerima. Da bi to moglo da se
ostvari bilo je neophodno da novi
kontroler u svim aspektima nadmai
relejnu realizaciju. To zapravo znai
da je kontrolor morao da bude
robustan u odnosu na krajnje
nepovoljne klimo-tehnike uslove koji
vladaju u industrijskom okruenju
(promena temperature, vlanost,
praina, vibracije, itd.). Pored toga,
imajui u vidu razliite dimenzije
pogona kojima se upravlja u smislu
broja ulaznih i izlaznih signala koji se obrauju od kontrolera se zahtevalo da bude
modularan tako da se u svakom pojedinanom sluaju njegova konfiguracija moe
primeriti zahtevima na procesu.
Kao rezultat ovih zahteva od samog poetka funkcionalna organizacija PLC-a
osmiljena je na nain prikazan na (Sl. 1-1). Procesorski modul sadri centralnu jedinicu i
memoriju. U okviru ovog modula smetaju se i program i podaci i odatle se upravlja radom
celog sistema. Ulazni moduli sadre digitalne i analogne ulaze preko kojih se primaju
signali sa senzora i druge merne opreme. Upravljaki i indikatorski signali koji se
izraunavaju u PLC-u, prenose se na izvrne organe preko izlaznih modula koji sadre
digitalne i analogne izlaze. Za svaki kontroler razvijen je irok spektar razliitih ulaznih i
izlaznih modula to je omoguilo da se u svakoj situaciji odabere optimalni broj i vrsta
modula.
Sa razvojem mikroraunara dolo se i do formiranja ureaja koji obavljaju sloenije
ulazno/izlazne funkcije, kao to su brojai, merna oprema sa ugraenom obradom signala
(tzv, "pametna" merna oprema), PID regulatori, drajveri step motora, operatorski paneli
itd. Ovi ureaji zaokrueni su kao specijalni U/I moduli koji se takoe mogu prikljuiti na
SL. 1-1 FUNKCIONALNI BLOK DIJAGRAM PLC-A
PLC_uvod/2

PLC.

U poetnoj fazi PLC je bio zamiljen kao au
nadzire njegov rad. Time je zaokruena hardverska struktu
PLC se sastoji iz asije (rack)
PLC-a i za elementarne funkcije upravljanja i nadzora pristupilo se razvoju malih mikro
mikroprocesora omoguio je postepeno proirenje obima i vrsta operacija koje PLC moe
da obavi. Tako su PLC-u poverene i sloene funkcije direktnog digitalnog upravljanja kao i
supervajzorskog upravljanja, koje su do tada bile realizovane ili direktno hardverski ili
pomou otvorenih PC raunara.
koji bi objedinio funkcionalnost
koje u oblasti upravljanja otvara kori
stvorena platforma koja omogu
sekvencijalnog upravljanja, upravljanja procesima, drajverima i kretanjem.
klasinih PLC-ova ovi kontroleri
izvrava programski kod i servisira naredbe za prenoenje poruka, dok drugi
komunikaciju sa lokalnim i udaljenim U/I jedinicama, kao i razmenu podataka preko
mree. Ove operacije se obavljaju potpuno nezavisno od rada prvog procesora, to zna
da je proces komunikacije asinhron u odnosu na izvravanje samog programa.
SL. 1-2 IZGLED PLC-A
SL. 1-3 FAMILIJA ALLEN BRADLEY
SL. 1-4 FAMILIJA ALLEN BRADLEY
MICROLOGIX KONTROLERA
etnoj fazi PLC je bio zamiljen kao autonoman ureaj koji realizuje
sekvencijalno upravljanje radom jednog dela
pogona, maine, postrojenja ili proizvodne linije.
Kasnije se pojavio i zahtev da PLC bude deo
distribuiranog upravljakog sistema koji bi
upravljao i nadzirao rad celog pogona. Da
ostvarilo bilo je neophodno da se razviju posebni
komunikacioni moduli koji obezbe
raunarskim ureajima u mrei i/ili operatorskim
terminalima preko kojih se PLC programira i
Time je zaokruena hardverska struktura PLC-a.
asije (rack) koja ima odreeni broj slotova u koji se stavljaju
pojedini moduli. Dva slota u asiji
zauzimaju ureaj za napajanje i
procesorski modul, dok je raspored
modula u preostalim slotovima
pravilu proizvoljan
zavisnosti od broja modula, PLC
moe imati i vie od jedne asije.
Tipian izgled PLC
odgovarajuih modula prikazan je
na (Sl. 1-3).
Sa hardverske ta
gledita razvoj PLC-
dva smera. Sa jedne strane
uoavajui mogunost kori
i za elementarne funkcije upravljanja i nadzora pristupilo se razvoju malih mikro
kontrolera ija cena bi opravdavala njihovu
ugradnju na mestima gde su istu funkciju
obavljali i jednostavni elektronski sklopovi.
mikrokontroleri (Sl. 1-4) imaju svu fleksibilnost,
modularnost i jednostavnost veih PLC
i irok spektar mogunosti vezivanja u razli
industrijske mree. Kljuna razlika je u manjim
dimenzijama i nioj ceni. U tom smislu oni
postepeno potiskuju iz primene PLC
dimenzija u svim aplikacijama u kojima se ne
zahteva preterano veliki broj ulaznih i izlaznih
linija.
Sa druge strane, tehnoloki razvoj
io je postepeno proirenje obima i vrsta operacija koje PLC moe
u poverene i sloene funkcije direktnog digitalnog upravljanja kao i
supervajzorskog upravljanja, koje su do tada bile realizovane ili direktno hardverski ili
unara. Time je zapravo otvoreno pitanje projektovanja PLC
funkcionalnost klasinih programabilnih logikih kontrolera i mogu
koje u oblasti upravljanja otvara korienje otvorenih PC raunara. Na taj na
stvorena platforma koja omoguava jednostavno objedinjavanje i realizaciju
og upravljanja, upravljanja procesima, drajverima i kretanjem.
ova ovi kontroleri esto imaju dva procesorska modula.
izvrava programski kod i servisira naredbe za prenoenje poruka, dok drugi
sa lokalnim i udaljenim U/I jedinicama, kao i razmenu podataka preko
mree. Ove operacije se obavljaju potpuno nezavisno od rada prvog procesora, to zna
da je proces komunikacije asinhron u odnosu na izvravanje samog programa.
RADLEY SLC 500 KONTROLERA
RADLEY
OGIX KONTROLERA
aj koji realizuje
sekvencijalno upravljanje radom jednog dela
pogona, maine, postrojenja ili proizvodne linije.
Kasnije se pojavio i zahtev da PLC bude deo
kog sistema koji bi
upravljao i nadzirao rad celog pogona. Da bi se to
ostvarilo bilo je neophodno da se razviju posebni
obezbeuju spregu sa
ajima u mrei i/ili operatorskim
preko kojih se PLC programira i
u koji se stavljaju
va slota u asiji
aj za napajanje i
procesorski modul, dok je raspored
modula u preostalim slotovima, po
(Sl. 1-2). U
zavisnosti od broja modula, PLC
moe imati i vie od jedne asije.
an izgled PLC-a i
ih modula prikazan je
Sa hardverske take
-ova se odvijao u
dva smera. Sa jedne strane
nost korienja
i za elementarne funkcije upravljanja i nadzora pristupilo se razvoju malih mikro-
opravdavala njihovu
na mestima gde su istu funkciju
obavljali i jednostavni elektronski sklopovi. Ovi
imaju svu fleksibilnost,
ih PLC-ova, kao
nosti vezivanja u razliite
na razlika je u manjim
dimenzijama i nioj ceni. U tom smislu oni
PLC-ove srednjih
dimenzija u svim aplikacijama u kojima se ne
zahteva preterano veliki broj ulaznih i izlaznih
Sa druge strane, tehnoloki razvoj
io je postepeno proirenje obima i vrsta operacija koje PLC moe
u poverene i sloene funkcije direktnog digitalnog upravljanja kao i
supervajzorskog upravljanja, koje su do tada bile realizovane ili direktno hardverski ili
Time je zapravo otvoreno pitanje projektovanja PLC-a
kih kontrolera i mogunosti
unara. Na taj nain je
ava jednostavno objedinjavanje i realizaciju
og upravljanja, upravljanja procesima, drajverima i kretanjem. Za razliku od
. Jedan od njih
izvrava programski kod i servisira naredbe za prenoenje poruka, dok drugi obavlja
sa lokalnim i udaljenim U/I jedinicama, kao i razmenu podataka preko
mree. Ove operacije se obavljaju potpuno nezavisno od rada prvog procesora, to znai
da je proces komunikacije asinhron u odnosu na izvravanje samog programa. Pored
PLC_uvod/3

procesorskih modula u asiji kontrolera nalaze se lokalni U/I moduli kao i komunikacioni
interfejs moduli. Pored toga, ova familija kontrolera omoguava da se ostvari vea
fleskibilnost sistema postavljanjem vie kontrolera u jednu asiju, povezivanjem vie
kontrolera preko mree ili povezivanjem udaljenih U/I modula preko viestruke U/I mree
(Sl. 1-5). Po pravilu, svi U/I moduli ovakvih kontrolera imaju sposobnost viestrukog
emitovanja podataka (multicast). To znai da vie ureaja moe da primi iste podatke koje
je emitovao jedan ureaj.

SL. 1-5 PLC KONTROLER ALLEN BRADLEY CONTROLLOGIX

1.1.2. OPERATIVNI SISTEM PLC-A
Sken ci kl us
Kao t o se vi di , PLC se razl i kuj e od raunarskog si st ema opt e namene
po t ome t o nema spol j nu memori j u (di skove), kao i ni z st andardne
ul azno/ i zl azne opr eme. Pored t oga, nj egov oper at i vni si st em j e
j ednost avni j i i prua komparat i vno manj e mogunost i od raunara opt e
namene. Zapravo, PLC j e konci pi ran i pr oj ekt ovan za j edan rel at i vno uzan
i j asno def i ni san obi m posl ova vezani h za nadzor i upravl j anj e poj edi ni m
ureaj i ma, t o j e rezul t oval o u nj egovoj i zuzet noj ef i kasnost i i
j ednost avnost i . U i zvesnom smi sl u, podruj e pri mene PLC- a i st o j e kao i
za speci j al i zovane mi kroraunarske kont rol er e i l i si gnal procesore. Kl j una
razl i ka l ei u i nj eni ci da kori enj e PLC-a ne zaht eva od kori sni ka got ovo
ni kakvo predznanj e o arhi t ekt uri
mi kroraunarski h si st ema. Drugi m rei ma,
kori sni k PLC-a j e u naj veoj moguoj meri
osl oboen reavanj a razl i i t i h probl ema
vezani h za i st o raunarski aspekt , kao t o
su promena i l i dodavanj e U/ I j edi ni ca,
vezi vanj e u raunar sku mreu, kori enj e
si st ema preki da, razmene podat aka i
sl i no, t ako da moe da se u punoj meri
koncent ri e na proj ekt ovanj e same
apl i kaci j e.
Moe se slobodno rei da se PLC od svih
drugih raunarskih ureaja sline namene razlikuje
po svom operativnom sistemu, koji je skrojen tano
za odreenu vrstu primene. Naime, pretpostavlja se
da e u svojoj osnovnoj formi, PLC biti korien za
realizaciju izvesnih funkcija koje periodino
preslikavaju signale sa merne opreme u signale koji
se prenose na aktuatore. Otuda se od PLC-a oekuje da periodino oitava (unosi)
signale sa senzora, izvrava odreen broj aritmetiko-logikih operacija (u skladu sa
zadanom funkcijom) iji rezultati se prenose na izvrne organe ili neke druge indikatorske
SL. 1-6 SKEN CIKLUS PLC-A
2
.

p
r
o
g
r
a
m
s
k
i

s
k
e
n
PLC_uvod/4

ureaje. Pored toga, sa istom ili nekom drugom uestanou, PLC treba da odrava
komunikaciju (razmenjuje podatke) sa nekim drugim raunarskim sistemima u mrei.
Polazei od ovog zahteva, operativni sistem PLC-a projektovan je tako da, u toku rada
sistema, automatski obezbedi ciklino ponavljanje navedenih aktivnosti (Sken ciklus) kao
to je to ilustrovano na Sl. 1-6.
Sken ciklus zapoinje
sa ulaznim skenom u okviru
koga PLC oitava sadraj
ulaznih linija (registara ulaznih
modula). Oitani podaci se
prenose u odreeno podruje
memorije slika ulaza. Zatim
se aktivira programski sken u
okviru koga procesor izvrava
programske naredbe kojima su
definisane odgovarajue
aritmetiko-logike funkcije.
Podaci (operandi) koji se
koriste u programskim
naredbama uzimaju se iz
memorije i to iz podruja
oznaenog kao slika ulaza
(ako su operandi ulazni
podaci) ili iz podruja gde se smetaju interne promenljive. Rezultati obrade se smetaju u
posebno podruje memorije slika izlaza. Ovde je vano da se istakne da se pri
izvravanju programskih naredbi ne uzimaju podaci direktno sa ulaznih modula, niti se
rezultati direktno iznose na izlazne module, ve program razmenjuje podatke iskljuivo sa
memorijom (Sl. 1-7) . Po zavretku programskog skena, operativni sistem PLC-a aktivira
izlazni sken u okviru koga se podaci iz slike izlaza prenose na izlazne linije (registre
izlaznih modula). etvrti deo sken ciklusa komunikacija - namenjen je realizaciji
razmene podataka sa ureajima koji su preko mree povezani sa PLC-om. Nakon toga,
operativni sistem dovodi PLC u fazu odravanja u okviru koje se auriraju interni asovnici
i registri, obavlja upravljanje memorijom kao i niz drugih poslova vezanih za odravanje
sistema, o kojima korisnik i ne mora da bude informisan. U zavisnosti od tipa procesora
kao i broja ulaznih i izlaznih linija, ulazni i izlazni sken ciklus izvravaju se u vremenu reda
mili sekundi. Trajanje programskog skena, svakako zavisi od veliine programa. Osnovni
sken ciklus moe biti modifikovan pomou zahteva za prekid ili nekih drugih specijalnih
programskih naredbi o kojima e kasnije biti vie rei.
Postojanje sken ciklusa obezbeuje periodino automatsko izvravanje
programskih naredbi nad podacima koji se primaju sa procesa na koji je kontroler vezan.
Ovde treba imati na umu da se sve programske naredbe izvre po jedanput i to sa
podacima koji su neposredno pre toga smeteni u sliku ulaza. Zatim se rezultati obrade
prenose kao komande na proces i ceo ciklus zapoinje iz poetka. Posmatrano sa te
take gledita moe se rei da se od korisnika PLC-a oekuje da, u zavisnosti od
aplikacije koju namerava da razvije, izvri izbor ulaznih, izlaznih komunikacionih i
specijalnih modula, dakle da odabere strukturu PLC-a i da formira program obrade
podataka. Sve ostale aktivnosti obavljae i nadzirati operativni sistem PLC-a.
Potrebno je da se istakne da se ova osnovna logika rada PLC-a esto pogreno
posmatra kao dovoljna za realizaciju direktnog digitalnog upravljanja. Razlog za to je
injenica da se i kod upravljanja u zatvorenoj povratnoj sprezi zahteva periodino
prikupljanje podataka, realizacija jednog algoritamskog koraka, izraunavanje trenutne
vrednosti upravljanja i njeno prenoenje na proces. Meutim, uprkos istom redosledu
operacija kljuna razlika je u pogledu periode ponavljanja.
Pre svega, perioda sken ciklusa se ne moe definisati, ve je ona automatski
odreena zbirnim trajanjem svih podciklusa. Pored toga, za razliku od ulaznog i izlaznog
SL. 1-7 RAZMENA PODATAKA ZA VREME SKEN CIKLUSA
3
izlazni sken
1
ulazni
sken
i
z
l
a
z
n
i

m
o
d
u
l
i
slika
ulaza
interne
promenljive
memorija
slika
izlaza
2
programski sken
program
4 i 5
komunikacija i odravanje
u
l
a
z
n
i

m
o
d
u
l
i
PLC_uvod/5

skena koji imaju fiksno vreme trajanja jer uvek opsluuju isti broj ulaznih ili izlaznih linija,
trajanje programskog sken ciklusa zavisi od duine konkretnog algoritamskog koraka kroz
koji se prolazi. Razliito trajanje koraka moe da bude uslovljeno razliitim programskim
granama u koje se ulazi u zavisnosti od, na primer, vrednosti nekog od ulaznih signala. U
tom smislu sken ciklus nema nuno konstantnu periodu ponavljanja, ve ona moe da
varira u granicama odreenim trajanjem najkrae i najdue grane programa. Konano, i
trajanje komunikacionog podciklusa zavisi od broja poruka koje se u nekom trenutku
prenose.
Direktno digitalno upravljanje zahteva da sistem radi sa nekom utvrenom
periodom odabiranja, koja je pri tome najee znaajno vea od srednje periode
skeniranja. To praktino znai da je za realizaciju upravljanja i dalje neophodno da se
koristi signal prekida ili neki drugi mehanizam koji e obezbediti da se algoritamski korak
izvrava u tano utvrenim trenucima vremena. Jedina prednost koju prua korienje
PLC-a sastoji se u tome to su merenja ve prikupljena i nalaze se u memoriji, kao i to je
dovoljno da se izraunato upravljanje smesti na odgovarajue mesto u memoriji. Prenos
na izvrne organe bie obavljen automatski u okviru izlaznog sken ciklusa. Ovaj postupak
je ilustrovan na Sl. 1-8.

SL. 1-8 ILUSTRACIJA RAZLIKE IZMEU SKEN CIKLUSA I CIKLUSA DDC ALGORITMA

Mul t i t aski ng operat i vni si st em
Iako sken ciklus ostaje i dalje u osnovi rada svakog PLC-a, savremeni kontroleri
namenjeni sloenijim zadacima imaju i sloeniji operativni sistem. Ovaj sistem pripada
kategoriji preemptivnih, multitasking operativnih sistema. Svaki zadatak (task) ima svoj
nivo prioriteta i zahtev za njegovo izvoenje prekida izvoenje zadataka koji imaju manji
prioritet (princip preemptivnosti). Jedan zadataka moe da sadri jedan ili vie programa
koji ukljuuju jedan ili vie potprograma. Zadaci mogu biti konfigurisani kao kontinualni,
periodini i uslovljeni dogaajem. U sistemu moe da postoji samo jedan kontinualni
zadatak koji ima najnii nivo prioriteta. On se izvrava unutar raspoloivog procesorskog
vremena u kome su svi periodini zadaci u stanju "spavanja" i u kome nije nastupio ni
jedan dogaaj koji bi pokrenuo neki od zadataka uslovljenih dogaajem.
Kao to je reeno, svi zadaci, izuzev kontinualnog, izvravaju se u skladu sa
nivoom prioriteta koji im je dodeljen. U principu, zadatak koji treba da se izvrava zato to
je dolo vreme njegovog periodinog izvoenja, ili zato to je registrovan dogaaj kojim je
on uslovljen prelazi u aktivno stanje. Svi aktivni zadaci nalaze se u redovima ekanja koji
se formiraju na svakom nivou prioriteta. U jednom trenutku samo red najvieg prioriteta
ima pristup procesoru. To znai da zadaci vieg prioriteta prekidaju izvoenje zadataka
nieg prioriteta, odnosno da red ekanja aktivnih zadataka ne moe da pone da se
prazni sve dok redovi ekanja zadataka na nivoima viim od njega nisu u potpunosti
ispranjeni. Aktivni zadaci koji su istog prioriteta, odnosno koji se nalaze u istom redu
ekanja, izvravaju se po round robin principu i to tako to se svakome od njih dodeljuje
procesor u nekom unapred definisanom vremenskom intervalu (time slice). Ukoliko
zadatak ne zavri svoj rad u tom intervalu on se vraa kao poslednji u red ekanja, dok
zadatak koji je bio prvi u redu zauzima procesor i poinje izvravanje (Sl. 1-9).
PLC_uvod/6



SL. 1-9 IZVRAVANJE ZADATAKA PO NIVOIMA PRIORITETA

PR. 1-1

SL. 1-10 VREMENSKI DIJAGRAM IZVRAVANJA ZADATAKA
Pretpostavimo da su zadaci imaju parametre koji su prikazani u tabeli.
Kontinualni zadatak ima uvek najnii prioritet i on se izvrava kada nijedan drugi zadatak
nije aktivan. Procenat nerasporeenih komunikacija od 20%, oznaava da se kontinualni zadatak
ZADATAK PRIORITET PERIOD TRAJANJE
Z1 ZADATAK 1 PERIODIAN 1 8 ms 1MS
Z2 - ZADATAK 2 USLOVLJEN DOGAAJEM 2 1 MS
Z3 - ZADATAK 3 - PERIODIAN 4 12 ms 2 MS
Z4 ZADATAK 4 - PERIODIAN 7 5 ms 1 MS
CM NERASPOREENA KOMUNIKACIJA 8 20% 1 MS
KN - KONTINUALNI ZADATAK 20 MS
PLC_uvod/7

prekida posle svakih 4ms trajanja, posle ega sledi 1ms nerasporeenih komunikacija. Uz
pretpostavku da dogaaj kojim je uslovljen zadatak Z1 nastupa u 24. i 45. ms, vremenski dijagram
izvravanja ovih zadataka imae izgled kao na Sl. 1-10.

Potrebno je da se istakne da se u svemu to je reeno pojam izvravanja zadatka
zapravo odnosi na jedan algoritamski korak koji e se obaviti u okviru jednog
programskog sken ciklusa. Drugim reima multitasking se zapravo odvija na nivou
programskog sken ciklusa, dok se ulazni i izlazni sken ciklus i dalje realizuju kao i kod
malih kontrolera. To je ujedno i razlog zato kod ovih kontrolera najee postoje dva
procesora. Jedan od njih je zaduen za U/I sken i on ciklino uzima podatke sa mernih
ureaja i smeta ih u memoriju (ulazni sken) i prenosi podatke iz memorije na izlazne
ureaje (izlazni sken). Drugi procesor obavlja programski sken u skladu sa multitasking
principima.
1.2. PROGRAMIRANJE PLC-A
1

1.2.1. UVOD
Ako se PLC posmatra kao mikroraunarski sistem, to on sasvim sigurno i jeste,
onda bi se moglo oekivati da se za njegovo programiranje koriste standardni programski
jezici. Meutim, ako se poe od injenice da je PLC projektovan kao namenski
mikroraunarski sistem za upravljanje i nadzor rada nekog procesa, i da u skladu sa tim
ima poseban operativni sistem koji obezbeuje periodino ponavljanje sken ciklusa, onda
je logino oekivati da je za njegovo programiranje razvijen i poseban programski jezik.
Dodatni motiv za razvoj posebnog jezika bila je i injenica da je PLC poetno
razvijen sa idejom da zameni relejne sisteme. To znai da se oekivalo da on realizuje
odgovarajuu vremensku sekvencu logikih operacija. Pri tome, uspena primena PLC-a
u praksi, zahtevala je i da se njegovo programiranje prilagodi tehnici koja je svim
korisnicima relejnih sistema dobro poznata.
Specifinost projektovanja relejnih sistema ogleda se u tome to je potrebno da se
utvrdi nain grafikog predstavljanja vremenske sekvence logikih operacija. Klasini
logiki dijagrami su izuzetno korisni za prikazivanje relacija izmeu elemenata
kombinacione logike. Meutim, oni ne pruaju mogunost za prikazivanje razliitih
ulazno/izlaznih promenljivih kao funkcija vremena. Sa druge strane, vremenski dijagrami
su izuzetno pogodni za prikazivanje odnosa pojedinih promenljivih u toku vremena, ali ne
omoguavaju da se prikae logika koja uslovljava te odnose. U cilju spajanja obe vrste
prikazivanja, za projektovanje relejnih sistema razvijeni su leder (lestviasti) dijagrami.
Projektovanje PLC-ova je, dakle, podrazumevalo da se za njih mora razviti i
odgovarajui programski jezik zasnovan na leder dijagramima leder programski jezik.
Ovaj jezik je dominantan kada se radi o programiranju manjih PLC-ova. Za sloenije
zadatke, meutim, razvijeni su i drugi programski jezici, koji se esto sreu samo na
veim kontrolerima. U osnovi svi jezici se mogu podeliti u etiri kategorije.
Leder dijagrami namenjeni izvoenju niza, prvenstveno, logikih operacija,
kreiranju i slanju poruka, ispitivanju stanja kontrolera u mrei, kao i operacijama
koje bi trebalo da izvode operateri u sluaju detektovanja i otklanjanja izvesnih
greaka.
Dijagrami funkcijskih blokova namenjeni realizaciji kontinualnih procesa,
upravljanju drajverima i upravljanju u zatvorenoj sprezi.
Struktuiran tekst namenjen realizaciji sloenih matematikih operacija, obradi
ASCII nizova i protokola, kao i obradi specijalnih tabela podataka.
Dijagrami sekvencijalnih funkcija namenjeni sloenom hijerarhijskom upravljanju

1
Pri ilustraciji razliitih programskih jezika korieni su jezici razvijeni za Allen Bradley kontrolere (Logix500 i
Logix5000)
PLC_uvod/8

niza sekvencijalnih operacija koje se sreu kod upravljanja arnim procesima,
nadzora i upravljanja stanjem mainskih grupa, repetitivnom sekvencijalnom
upravljanju, upravljanju kretanjem itd.
U principu prva tri jezika ukljuuju repertoar naredbi kojima se obavljaju
jednostavnije logike i matematike operacije. Ona su namenjena klasinom
programiranju upravljanja u zatvorenoj sprezi, sekvencijalnog upravljanja i obradi
datoteka podataka. U tom smislu ovi jezici se u velikoj meri mogu alternativno koristiti za
realizaciju pojedinih programskih rutina. Kod nekih kontrolera, svaki od ovih jezika ostavlja
mogunost korisniku i da sam kreira niz naredbi koje postaju sastavni deo repertoara.
Dijagrami sekvencijalnih funkcija namenjeni su, meutim, potpuno drugaijoj
filozofiji koncipiranja i programiranja upravljanja i nadzora. Oni omoguavaju da se ceo
proces podeli u niz segmenata. U svakom od segmenata se onda, uz pomo klasinih
jezika programira niz operacija koje u njoj treba da se izvre.
U poslednje vreme, za PLC-ove se razvija jo jedan sloen jezik namenjen
upravljanju fazama kroz koje prolazi neki proces.
Nezavisno od jezika kojim je program napisan on se realizuje kada je zadatak
kome je on pridruen aktivan. U principu programi se izvode tako to se obavi jedan sken
ciklus kroz sve naredbe programa. Zatim se izvoenje prekida i prelazi na sledei
program, ili sledei zadatak.
1.2.2. LEDER DIJAGRAMI
Jedna programska linija leder jezika sastoji se iz niza grafikih simbola
(programskih naredbi) koji
predstavljaju razliite logike
elemente i druge komponente
kao to su asovnici i brojai,
koji su poreani du
horizontalne linije rang (rung)
koja je na oba kraja spojena
sa dvema vertikalnim linijama.
Prema tome, leder dijagram ima
izgled lestvica, odakle potie i
njegov naziv (ladder lestvice).
Svaki rang leder dijagrama sastoji se iz dva dela. Na levoj strani ranga nalazi se
uslov izraen u formi kontaktne (prekidake) logike, dok se na desnoj strani ranga nalazi
akcija koja treba da se izvri ukoliko je uslov ispunjen (true) (Sl. 1-11).
Uslov U osnovi, grafikim simbolima na levoj strani ranga ispituje se istinosna vrednost
promenljivih koje su pridruene tim simbolima. Svaki simbol predstavlja jednu unarnu ili
binarnu operaciju kojoj je pridruena odgovarajua tablica istinitosti. Uz grafiki simbol
naznaava se i promenljiva koja predstavlja operand. Pri ispitivanju istinitosti uslova
smatra se da se nad svim simbolima u jednoj liniji (redna, serijska veza) obavlja logika
I operacija. To znai da je uslov istinit ukoliko je svaki pojedinani iskaz istinit. Na levoj
strani ranga dozvoljena su i granjanja (paralelne veze). Pri ispitivanju istinitosti uslova
paralelne veze se tretiraju kao logika ILI operacija. Otuda e iskaz predstavljen nizom
paralelnih grana biti istinit, ako bar jedna od grana sadri istinit iskaz. Potrebno je da se
istakne da leva strana ranga moe biti formirana i tako da na njoj nema ni jednog
simbola. U tom sluaju smatra se da je uslov koji se na taj nain definie uvek istinit.

Akcija Grafiki simbol na desnoj strani ranga predstavlja jednu naredbu koja se
izvrava ako je uslov na desnoj strani istinit. Uz simbol se naznaava i promenljiva ija
se vrednost menja prilikom izvravanja naredbe. Serijska veza na desnoj strani ranga
nije dozvoljena, dok paralelna veza oznaava da se vie razliitih naredbi izvravaju kao
rezultat ispitivanja istinitosti jednog istog uslova. Nema ogranienja u pogledu broja
paralelnih grana na strani uslova.
SL. 1-11 RANG LEDER PROGRAMA
PLC_uvod/9


Leder program se izvrava u toku programskog sken ciklusa i to tako to se
obrauje rang po rang u nizu kako su oni definisani. U svakom rangu ispituje se istinitost
uslova i ukoliko je uslov istinit izvravaju se odgovarajue naredbe akcije. Ako se
naredbom akcije dodeljuje neka vrednost promenljive, onda e se tom prilikom ta vrednost
promeniti. Potrebno je zapaziti, meutim, da ukoliko se promenljiva u naredbi akcije
odnosi na fiziki izlaz, vrednost izlaza nee biti promenjena u istom trenutku vremena.
Izlazi e biti promenjeni tek u izlaznom sken ciklusu kada se vrednosti promenljivih iz
memorije prenesu na odgovarajue izlazne module.
Leder program kreira se pomou odgovarajueg programskog grafikog alata o
kome e kasnije biti vie rei.
1.2.3. DIJAGRAMI FUNKCIJSKIH BLOKOVA
Funkcijski blok realizuje funkciju preslikavanja ulaznih promenljivih na izlazne
promenljive, kao to je to ilustrovano na Sl. 1-12. Dozvoljeni broj ulaza i izlaza zavisi od
odreene funkcije preslikavanja. Ulazne promenljive mogu biti bilo koji promenljive u
programu, ili izlazi drugih blokova. Vrednosti ovih promenljivih se obrauju u funkcijskom
bloku. Rezultati obrade se prenose na izlazne promenljive. Broj razliitih funkcija koje su
na raspolaganju zavisi od tipa kontrolera. U principu, nezavisno od tipa kontrolera, svaki
blok ima poseban ulaz (Enable_In) koji slui za blokiranje, odnosno deblokiranje rada
bloka. Na taj nain, funkcija koju blok obavlja bie izvrena samo ako je uslov kojim se
generie signal Enable_In ispunjen.

SL. 1-12 PROGRAM ZA REALIZACIJU OPERACIJE = + c (a b) b
Obrada ul azni h si gnal a
Ulazni podaci koji se specificiraju pomou IREF bloka ne menjaju se u toku jednog
sken ciklusa. Naime, kontroler aurira ove podatke samo na poetku svakog sken ciklusa
programa, odnosno u toku ulaznog sken ciklusa
Zat vorena povr at na sprega


SL. 1-13 PROGRAM ZA REALIZACIJU ZATVORENE PETLJE = + c (a c) b
Ukoliko su blokovi povezani tako da obrazuju zatvorenu povratnu spregu nee biti
mogue da se odredi redosled izvoenja operacija. U cilju prevazilaenja ovog problema
koristi se poseban indikator pretpostavljene raspoloivosti podatka (Assume Data
Available Indicator). Postavljanjem ovog indikatora na ulaz nekog bloka indicira se da e
a
0.0 Bl ok_1
ADD
...
Add
SourceA
SourceB
Dest
0.0
Bl ok_2
MUL
...
Mul ti pl y
SourceA
SourceB
Dest
0.0
b
0.0
c
Blok_2
2
MUL
...
Mul ti ply
SourceA
SourceB
Dest
0.0
Bl ok_1
1
ADD
...
Add
SourceA
SourceB
Dest
0.0
a
0.0
b
0.0
c
PLC_uvod/10

on koristiti vrednost koju je ulazna promenljiva imala u prethodnom sken ciklusu, kao to
je to ilustrovano na Sl. 1-13, gde je indikator postavljen na drugi ulaz (SourceB) u bloku
Blok_1. Time se izraz = + c (a c) b , posmatran kao vremenska funkcija izraunava kao
1
= +
t t t t
c (a c ) b .
U principu, kada se radi o zatvorenoj sprezi, indikator se postavlja na jednoj taki u
petlji, ime se zapravo unosi neophodno vremensko kanjenje. U protivnom dolazi do
situacije u kojoj je nemogue odrediti redosled izraunavanja.
Krei r anj e j edi ni nog kanj enj a
Kanjenje u jednom sken ciklusu izmeu dva bloka moe se ostvariti ubacivanjem
indikatora pretpostavljene raspoloivosti podatka (Sl. 1-14).

SL. 1-14 PROGRAM ZA REALIZACIJU JEDININOG KANJENJA
1
= + =
t t t t t
x a b ; d x
1.2.4. STRUKTURIANI TEKST
Struktuiran tekst je tekstualni programski jezik koji sadri niz komponenti kojima se
formiraju programske naredbe. Jedna programska naredba sadri promenljive, simbol za
pridruivanje, izraze, naredbe i konstrukte. Sve naredbe se zavravaju znakom "taka
zapeta" (;). Interpretator naredbi nije osetljiv na velika i mala slova.
Komentari se oznaavaju pomou dve kose crte (//), ako su istom redu u kome je i
naredba ili ako se proteu kroz vie redova kao (*komentar*), odnosno /*komentar*/
Pridruivanje vrednosti vri se pomou znaka jednakosti kome prethodi dvotaka
ime promenljive := izraz;
pri emu i na levoj i na desnoj strani moraju biti promenljive istog tipa.
Nad operandima mogu da se definiu aritmetiki, logiki ili relacioni izrazi.
Ari t met i ki i zraz
Aritmetiki izraz se formira kombinacijom operanada, operatora elementarnih
matematikih operacija: +, -, *, **, / i funkcija, koje se identifikuju preko koda i izraza koji
se navodi u zagradama.
Logi ki i zr az
Logiki izraz se formira pomou logikih operatora: & ili AND, OR, XOR, NOT.
Rezultat operacije, odnosno vrednost izraza je logika
promenljiva koja ima jednu od sledee dve vrednosti,
istinit (1) ili neistinit (0).
Rel aci oni i zraz
Relacionim izrazima uspostavlja se odnos
izmeu promenljivih. Rezultat je promenljiva koja ima
vrednost 1 (istinit) ako je relacija zadovoljena, odnosno
0 (neistinit) ako relacija nije zadovoljena. Otuda se
relacioni izraz moe koristiti kao operand u logikom
izrazu.
Za formiranje ovih izraza na raspolaganju su
sledei relacioni operatori: =, <, >, <=, >=, <>
(nejednako).
Operaci j e nad bi t ovi ma
Neki tipovi kontrolera omoguavaju da se
a
0.0
b
0.0
SQR_01
SQR
...
Square Root
Source Dest
0.0
Bl ok_04
ADD
...
Add
SourceA
SourceB
Dest
0.0
d
Nivo Operacija
1 ()
2 funkcija (...)
3 **
4 - (negacija)
5 NOT
6 *, /, MOD
7 +, -
8 <, >, <=, >=
9 =, <>
10 & (AND)
11 XOR
12 OR
T. 1-1 HIJERARHIJA OPERACIJA
PLC_uvod/11

logike operacije izvode nad pojedinim bitovima promenljive.
Sve operacije koje se mogu koristiti pri formiranju izraza grupisane su u
hijerarhijske nivoe (T. 1-1). Vrednost izraza se izraunava tako to se kao prvo izvravaju
operacije koje su na najviem hijerarhijskom nivou. Ukoliko ima vie operacija koje su na
istom nivou, one se izvravaju sa leva u desno.
Operacija MOD predstavlja deljenje po modulu (rezultat je ostatak deljenja dva
broja). Otuda ona, iako se zapravo definie kao funkcija, ima drugaiji hijerarhijski poloaj
u odnosu na ostale funkcije.
Jedan niz naredbi koji je na raspolaganju u okviru leder ili FB programskih jezika
moe se koristiti i u tekst programima. U principu naredba se programira navoenjem
koda i operanada u zagradama.
KOD (operandi meusobno razdvojeni zapetama);
Pored toga na raspolaganju je i jedan broj konstrukta u okviru kojih se koriste
naredbe.

I F. . . THEN Usl ovno i zvr avanj e gr upe nar edbi
IF bulovski_izraz THEN
PROGRAMSKA NAREDBA;
;
ELSIF bulovski_izraz THEN
PROGRAMSKA NAREDBA;
;
ELSE
PROGRAMSKA NAREDBA;
;
END_IF;

CASE. . . OF Ar i t met i ki skok na gr upu nar edbi
CASE aritmetiki_izraz OF
LABELA1: PROGRAMSKA NAREDBA;
;
LABELA2: PROGRAMSKA NAREDBA;
;
LABELA3: PROGRAMSKA NAREDBA;
;
ELSE
PROGRAMSKA NAREDBA;
;
;
END_CASE;

Naredba se izvrava tako to se izrauna vrednost aritmetikog izraza i u
zavisnosti od nje skoi na onu labelu koja sadri tu vrednost. Ukoliko postoji mogunost
da aritmetiki izraz ima i neku vrednost koja nije navedena meu labelama, pogodno je da
se stavi ELSE deo naredbe koji se u tom sluaju izvrava.
FOR. . . DO - Pet l j a
FOR brojac := pocetna_vrednost
TO krajnja_vrednost
BY korak
DO
PROGRAMSKA NAREDBA;
IF bulovski_izraz THEN
EXIT;
END_IF;
END_FOR;

Pri korienju petlje treba imati na umu da ona, na izvestan nain prekida
opciono
opciono
opciono
PLC_uvod/12

izvravanje svih drugih naredbi. Naime, ona se u jednom skenu izvodi sve do kraja petlje.
Ukoliko se eli izlaz iz petlje i pre nego to broja stigne do krajnje vrednosti moe
da se koristi EXIT naredba kombinovana sa nekim uslovom.
WHI LE. . . DO Usl ovna pet l j a
WHILE bulovski izraz DO
PROGRAMSKA NAREDBA;
IF bulovski_izraz_1 THEN
EXIT;
END_IF;
END_WHILE;

REPEAT. . . UNTI L Usl ovna pet l j a
REPEAT DO
PROGRAMSKA NAREDBA;
IF bulovski_izraz_1 THEN
EXIT;
END_IF;
UNTIL bulovski izraz
END_REPEAT;
1.3. DIJAGRAMI SEKVENCIJALNIH FUNKCIJA
Dijagram sekvencijalnih funkcija (SFC) omoguava grafiko predstavljanje toka
procesa, odnosno prikazivanje svih stanja kroz koje proces prolazi. U principu, program
se sastoji od niza stanja (Step) koje ine funkcionalne celine u okviru kojih se obavlja niz
aktivnosti (Action). Prelaz u sledee stanje (Transition) dozvoljen je kada se steknu
predefinisani uslovi, kao to je to ilustrovano na Sl. 1-15.
Potrebno je da se istakne da se SFC dijagram razlikuje od drugih programa po
tome to u okviru njega nalazi niz aktivnosti (programskih celina) koje se ciklino skeniraju
sve dok je SFC dijagram aktivan. To znai da, za razliku od drugih programa, kod koga se
ciklino skeniraju sve linije koda, unutar SFC dijagrama postoje delovi koji se repetitivno
skeniraju i izvravaju, pre nego to se pree na sledee funkcionalne celine. Otuda se on
koristi za organizaciju sistema u smislu formiranja funkcionalnih celina, kao i za
programiranje upravljanja sistemom kroz niz sekvencijalnih koraka.
U principu kada operativni sistem, ako je SFC kontinualni zadatak, ili neki
potprogram zaponu izvravanje SFC dijagrama, SFC program aktivira odreen broj
stanja
2
i izvri jedno skeniranje svih aktivnosti svih aktivnih stanja i zatim vraa kontrolu
operativnom sistemu ili pozivnom programu. Ukoliko izvravanje SFC dijagrama nije
zavreno, ovaj program ostaje i dalje aktivan i nastavlja da se izvrava u skladu sa ranije
opisanom multitask filozofijom. Budui da su neka od stanja ostala i dalje aktivna, ona e
pri sledeem ulazu u SFC dijagram nastaviti da se izvravaju. Kada se stanje zavri,
odnosno kada se uslov ispuni prelazi se na sledee stanje.
Stanje (Step) predstavlja jednu funkcionalnu celinu koja ukljuuje aktivnosti koje se
odvijaju u odreenom intervalu vremena, u odreenoj fazi procesa ili u odreenom
podsistemu. Kada se u toku izvravanja programa doe do bloka stanja on postaje
aktivan i sve pridruene aktivnosti se ciklino skeniraju sve dok se ne ispuni uslov koji
oznaava da proces treba da pree u sledeu fazu (Sl. 1-16). To zapravo znai da stanje,
po pravilu, obuhvata aktivnosti koje dovode do promene u sistemu (dovoenje nekih
delova do mainske grupe, zagrevanje procesa, dodavanje sastojaka, zatvaranje ventila
itd.).
Aktivnosti u okviru stanja su zasebni programi koji se formiraju na jednom od
raspoloivih programskih jezika.

2
Pri zapoinjanju SFC dijagrama aktiviraju se sva stanja koja se nalaze u paralelnoj sprezi na poetku
dijagrama.
opciono
opciono
PLC_uvod/13


SL. 1-15 ILUSTRACIJA DIJAGRAMA SEKVENCIJALNIH FUNKCIJA

SL. 1-16 BLOK EMA STANJA
... -
Inicij ali zaci ja
P1 ... motor_on
motor.2 :=1;
D
3
... pumpa_on
pumpa.3 :=1;
... i ni _done
Inicijalizacija.DN
... +
upravl j anj e_motori ma
... +
upravl j anj e_pumpama
ACTION -
aktivnosti u okvi ru STEP-a
STEP -
funkci onal na
cel i na (stanje)
... ni je_kraj
not vreme_dn
... kraj
vreme_dn
... gotovo
um_dn & up_dn
... +
vreme
Stop
BRANCH -
usl ovno granjanj e
TRANSITION -
prel az na sl edeci STEP,
ako j e uslov i spunj en
ACTION -
paralel no i zvrsavanj e
dve cel i ne
ACTION -
vrati se nazad
nij e_kraj
A4
Branch
A2
PLC_uvod/14


PR. 1-2
Na slici su prikazane dve aktivnosti
pridruene stanju Inicijalizacija.
Aktivnost motor_on ukljuuje jednu tekst
naredbu kojom se bit broj 2 promenljive motor
postavlja na vrednost 1.
Aktivnost pumpa_on se ona izvrava tako
to se logika promenljiva pumpa_on postavlja na
vrednost 1.


Svaki prelaz (transition) identifikuje se pomou imena jedne
bulovske promenljive, recimo prelaz (Sl. 1-18). Prelaz se izvrava tako
to se ispituje uslov koji se navodi pri specifikaciji prelaza. Ukoliko je
uslov istinit promenljivoj prelaz se dodeljuje vrednost 1, a ukoliko je
neistinit promenljiva dobija vrednost 0. Ako je vrednost promenljive 1
zavrava se stanje koje prethodi prelazu i aktivira se sledee stanje ili
vie sledeih stanja, ako su ona vezana paralelno.
Uslov se moe izraziti kao logiki izraz ili kao skok na potprogram
u kome se izraunava uslov.
U principu izvravanje SFC dijagrama zavrava se kada se naie
na elemenat STOP. Ukoliko se, meutim, ovaj elemenat nalazi samo u
jednoj od paralelnih grana onda se samo ta grana zavrava, dok ostale
nastavljaju regularno izvravanje.


... -
Ini ci jal izaci j a
N ... motor_on radi
0
motor.2 :=1;
B N ... pumpa_on
SL. 1-18 PRELAZ
SL. 1-17 ILUSTRACIJA AKTIVNOST I
SL. 1-19 STOP
ELEMENT
kraj
... prel az
a&b&c
Mali_kontroler/15

2. MALI LOGIKI KONTROLERI
3

2.1. ARHITEKTURA MALIH KONTROLERA
2.1.1. OSNOVNE KARAKTERISTIKE
Kao to je ve istaknuto mali logiki kontroleri sadre jedan centralni procesorski
modul i odreeni broj U/I modula. Pored toga, ovi kontroleri imaju i jedan ili vie
komunikacionih modula koji omoguavaju njihovo povezivanje na odgovarajue
industrijske mree.
Svi mali kontroleri imaju funkcionalno isti operativini sistem koji realizuje sken
ciklus u okviru koga se redom izvravaju ulazni sken, programski sken, izlazni sken,
komunikacija i odravanje. Potrebno je ipak da se istakne da se sken ciklus u delu
komunikacija, odnosno u nainu na koji se realizuje komunikacija razlikuje od proizvoaa
do proizvoaa.
Procesorski modul sadri centralnu procesorsku jedinicu (CPU) i memoriju.
Centralna jedinica obuhvata aritmetiko-logiku jedinicu (ALU), registre i upravljaku
jedinicu. U funkcionalnom smislu centralna jedinica se bitno ne razlikuje od centralne
jedinice bilo kog mikroraunara opte namene. Glavna razlika se ogleda u repertoaru
naredbi koje su na raspolaganju. Naime, budui da je logiki kontroler namenjen jednoj
odreenoj klasi primena bilo je prirodno da se i repertoar naredbi primeri operacijama koje
se u tim uslovima zahtevaju.
Osnovne karakteristike procesorskog modula izraavaju se preko sledeih
elemenata.
Memor i j a(RAM) - je okarakterisana svojom veliinom, mogunou proirenja i
konfigurisanja za smetanja programa ili podataka.
U/ I t ake - su okarakterisane najveim brojem lokalnih U/I adresa koje podrava
procesor u toku ulaznog i izlaznog skena, kao i mogunou proirenja preko udaljenih
U/I. (Pod udaljenim U/I podrazumeva se posebna asija koja sadri U/I module koji
razmenjuju podatke sa PLC-om).
Komuni kaci one opci j e - odnose se na raznovrsnost ureaja za spregu
(komunikaciong interfejsa) koji podravaju razliite topologije mrea i razliite
komunikacione protokole.
Opci j e t raj nog pamenj a - odnose se na raspoloivost razliitih tipova
memorijskih EPROM modula koji obezbeuju trajno pamenje podataka.
Perf ormansa - se specificira preko vremena programskog skeniranja potrebnog za
1Kbajt programa, preko vremena potrebnog za ulazni i izlazni sken, kao i vremena
izvravanja jedne bit naredbe.
Programi ranj e - se specificira u odnosu na broj razliitih mainskih naredbi, kao i na
vrstu raspoloivih programskih jezika.
Da bi se razumelo puno znaenje pojma "mali" kontroler u tabeli T. 2-1 su
prikazani osnovni podaci AB malih kontrolera familije SLC500 i MicroLogix. Potrebno je da
se napomene da su kontroleri MicroLogix razvijeni znatno kasnije od SLC-a. U tom smislu
oni predstavljaju manje ali bre i jeftinije kontrolere. Broj U/I linija koje oni podravaju je
znatno manji, ali im je funkcionalnost poveana ugraivanjem brzog brojaa impulsa na
ulazu, kao i generatora povorke impulsa ili irinski modulisanih impulsa na izlazu. Pored
toga, kontroleri MicroLogix imaju i vee komunikacione mogunosti o emu e kasnije biti
vie rei.


3
Iako su mali kontroleri svih proizvoaa u funkcionalnom smislu praktino isti, bilo je neophodno da se
izlaganje osnovnih karakteristika, arhitekture i programiranja vee za jednu konkretnu familiju kontrolera.
Ovde je odabrano da to budu kontroleri SLC (Small Logic Controler) i MicroLogix koje proizvodi Allen
Bradley, u sastavu kompanije Rockwell Automation.
Mali_kontroleri/16

SLC500
SLC 5/01 SLC 5/02 SLC 5/03 SLC 5/04 i 5/05
Memorija (rei)
Program/Podaci
1K Pr ili 4K Pod
4K Pr ili 16K Pod

4K Pr ili 16K Pod

12K / 4K
12K /4K
28K / 4K
60K / 4K
Lokalni U/I 3940 taaka 4096 taaka 4096 taaka 4096 taaka
Udaljeni U/I nema
Kapacitet zavisi od vrste napajanja i veliine programske memorije
- maksimum 4096 ulaza i 4096 izlaza -
Trajno pamenje
EEPROM ili
UVPROM
EEPROM ili
UVPROM
Fle EPROM Fle EPROM
Tipino vreme
programskog skena

8 ms/K

4.8 ms/K

1 ms/K

0.9 ms/K
Izvravanje
bit naredbe
4 s 2.4 s 0.44 s 0.37 s
Broj naredbi 52 71 99 99


MICROLOGIX MLx 1000 MLx 1100 MLx 1200 MLx 1400 MLx 1500
Memorija (rei)
Program/podaci
1K 4K / 4K 4K / 2K
10K / 10K
konfigurabilno
10K / 4K(max)
konfigurabilno
Ugraeni digitalni
U/I
32 bez
analognih
10 U/ 6 I 24 U/ 16 I 20U / 12I 16 U/ 12 I
Ugraeni analogni
U/I
20 digitalnih +
5 analognih
2 ulaza nema 4 ulaza /2 izlaza nema
Lokalno U/I
proirenje
nema
4 modula (do
64 diskretnih
U/I)
6 modula (do
96 diskretnih
U/I ili analogni)
7 modula (do
112 diskretnih
U/I)
16 modula (do
256 diskretnih
U/I ili analogni)
Brzi broja 1x6.6kHz 1x40kHz 1x20kHz 6x100kHz 2x20kHz
Generator
povorke impulsa
ili irinski
modulisanih
nema
2x40kHz/
2x40kHz
1x20kHz
3x100kHz/
3x40kHz
2x20kHz
Tipino vreme
programskog
skena
1.5 ms za program od 400 naredbi
Izvravanje bit
naredbe
0.9 s
T. 2-1 PREGLED OSNOVNIH KARAKTERISTIKA MALIH KONTROLERA
2.1.2. ORGANIZACIJA RAM MEMORIJE KONTROLERA SLC 500 I MICROLOGIX
Operativni sistem kontrolera, koji realizuje sken cikluse, upravlja i zauzeem RAM
memorije, koja je organizovana na poseban nain. U principu, RAM meorija se deli na
programske datoteke (program files ) i datoteke podataka (data files ). Skup programa i
datoteka podataka koje su formirane za jednu aplikaciju ini processor file (procesorsku
datoteku). Ona sadri sve naredbe, podatke i specifikaciju modula koji su relevantni za
datu aplikaciju, odnosno korisniki program. Procesorska datoteka ini jednu celinu koja
se moe prenositi sa jednog procesorskog modula na drugi, sa odnosno na EPROM
memorijski modul, kao i operatorski terminal. To zapravo znai da se jedna aplikacija
moe razviti na jednom sistemu i zatim u celini preneti i koristiti na drugom sistemu.

Mali_kontroler/17

Programske dat ot eke
Programske datoteke sadre,informacije o samom kontroleru, glavni korisniki
program i potprograme. Svaka aplikacija (procesorska datoteka) mora da ima
sledee tri programske datoteke:
o Sistemski program (System Program) datoteka 0 - sadri razliite informacije o
samom sistemu kao to su tip procesora, konfiguracija U/I modula, ime procesorske
datoteke, lozinku i niz drugih relevantnih podataka.
o Datoteka 1 (Reserved) datoteka rezervisana za potrebe operativnog sistema
o Glavni leder program (Main Ladder Program) datoteka 2 program koji formira sam
korisnik i u okviru koga se definie niz operacija koje SLC treba da izvede.
o Leder potprogram (Subroutine Ladder Program) datoteke 3 do 255 korisniki
potprogrami koji se aktiviraju u skladu sa naredbama za njihovo pozivanje koje se
nalaze u glavnom programu.
Dat ot eke podat aka
Datoteke podataka sadre podatke koji se obrauju pomou naredbi leder
programa. Pri tome se pod pojmom podaci podrazumevaju konvertovane (numerike)
vrednosti signala koji se preko ulazno/izlaznih modula unose u kontroler, ili se iz
kontrolera prenose na izlazne ureaje, kao i interne promenljive koje se koriste kao
operandi u razliitim operacijama. Datoteke podataka organizovane su u skladu sa tipom
promenljivih koje sadre. To zapravo znai da jedna datoteka sadri samo jedan tip
(vrstu) podataka. Jedna procesorska datoteka moe da ima najvie 256 datoteka
podataka.
2.2. ORGANIZACIJA DATOTEKA PODATAKA
2.2.1. TIPOVI PROMENLJIVIH I DATOTEKA
Osnovna karakteristika datoteke podataka je njen tip. Kao to je ve istaknuto tip
datoteke, zapravo ukazuje na vrstu promenljivih koje se u njoj pamte. To nadalje
podrazumeva da tip datoteke ujedno odreuju i njenu organizaciju, koja zavisi od vrste
podatka i usvojenog naina za njegovo prikazivanje u raunaru.

TIP BROJ NAZIV OPIS
O 0 Izlaz (Output)
Sadri sliku izlaza; sadraj datoteke se prenosi na izlazne
linije za vreme izlaznog skena.
I 1 Ulaz (Input)
Sadri sliku ulaza; u ovu datoteku se za vreme ulaznog skena
smetaju vrednosti sa ulaznih linija.
2 S Status
Sadri podatke vezane za rad kontrolera. Pregled znaenja
pojedinih bitova u ovoj datoteci dat je u posebnom dodatku
3 B Bit Sadri interne promenljive bit tipa
4 T
asovnik
(Timer)
Sadri podatke koji se koriste za interne asovnike
5 C
Broja
(Counter)
Sadri podatke koji se koriste za interne brojae
6 R
Upravljanje
(Control)
Sadri dodatne parametre neophodne za izvravanje jednog
broja naredbi
7 N
Celobrojna
(Integer)
Sadri podatke celobrojnog tipa (16 bitni brojevi u opsegu
32768 do 32767)
8 F
Realna
(Floating point)
sadri podatke predstavljene u tehnici pokretnog zareza kao
32-bitne brojeve od 1.1754944e-38 do 3.40282347e+38.
Samo za kontroleri SLC 5/03 i vie, kao i MicroLogix.
Mali_kontroleri/18

9 - 255
Korisnike
datoteke
Korisnike datoteke tipa B, T, C, R, N, F; pored toga
SLC (SLC 5/03 i vie): St - string, A - ASCII.
MicroLogix: ST, L-Long words (celobrojna 32 bita), MG-
Message, PD-PID naredba itd.
Pored toga datoteka 9 se moe koristiti i kao komunikacioni
interfejs, o emu e kasnije biti vie rei.

T. 2-2 DATOTEKE PROMENLJIVIH
Jedna datoteka se oznaava pomou rednog broja, koji jednoznano odreuje
mesto te datoteke u nizu datoteka podataka koje se nalaze u jednoj procesorskoj datoteci
i slova kojim se identifikuje tip datoteke. Prvih 9 datoteka imaju unapred definisan tip koji
ne moe da se menja (T. 2-2). Tipove preostalih datoteke korisnik sam odabira i definie u
skladu sa aplikacijom koju razvija.
Specijalni U/I moduli imaju takoe memoriju u kojoj se, pored ostalog, nalaze i
njima pridruene datoteke. One se kod kontrolera SLC oznaavaju kao M0 i M1 datoteke,
i njihova organizacija zavisi od specifinosti pojedinog modula.

2.2.2. ELEMENT DATOTEKE
Osnovna jedinica datoteke je jedan element. Svaki elemenat se satoji iz nekoliko
16-bitnih rei. Broj rei koje ine jedan element zavisi od tipa datoteke, odnosno vrste
podataka koji se u nju smetaju.
Kao to je ve istaknuto, podaci koji su smeteni u datotekama predstavljaju
operande (promenljive) koje se koriste u pojedinim programskim naredbama. Svaka od
ovih promenljivih ima definisanu logiku adresu. Pri tome, adrese omoguavaju da se
pozove ne samo elemenat u celini, ve i njegov deo. To znai da se mogu adresirati
pojedine rei u okviru elementa ili pojedini bitovi u okviru rei. Budui da su podaci u
izvesnom smislu hijerarhijski organizovani: 1 elemenat sadri nekoliko rei, a 1 re 16
bitova, to su i odgovarajue adrese struktuirane po istom hijerahijskom principu. Pojedine
rei i bitovi u nekim datotekama imaju i pridruene akronime, to dodatno olakava
njihovo korienje. Napomenimo i
da se svakom elementu, rei ili bitu
u okviru elementa, u fazi formiranja
aplikacije moe dodeliti i simboliko
ime.
Sve adrese se formiraju tako
to se odreuje relativni poloaj
(nulti, prvi, drugi,...) u odnosu na
poetak grupe kojoj adresa pripada.
Za elemente to je poloaj u odnosu
na poetak datoteke, za re u
odnosu na poetak elementa, a za
bit u odnosu na poetak rei u kojoj
se bit nalazi (Sl. 2-1). Izuzetno, bit se moe adresirati i preko relativnog poloaja u odnosu
na poetak elementa.
Adresa elementa u principu, svaki element u okviru datoteke se identifikuje
pomou njegovog relativnog poloaja u odnosu na poetak datoteke (nulti, prvi, drugi,
element).
Duine elemenata u pojedinim datotekama date su u tabeli T. 2-3. Potrebno je da
se istakne da se teorijski u svakoj datoteci mogu adresirati i elemenat u celini i njegove
rei i bitovi. U tabeli su, meutim, navedene samo one adrese koje sa aspekta vrste
podatka i naina organizacije datoteke imaju smisla. Podrazumeva se pri tome da je:
adresirani bit 0 b 15
adersirani element 0 e 255
Moe se uoiti da su iz tabele T. 2-3 izostavljene ulazne i izlazne datoteke (I i O).
SL. 2-1 FORMAT ADRESE
Mali_kontroler/19

Ovo je uinjeno zato to one donekle odstupaju od navedenog pravila. Naime, kao to e
se kasnije videti, kod ovih datoteka elementi mogu biti duine od jedne ili dve rei, to
zavisi od tipa U/I modula. Element ovih datoteka je zapravo odreen slotom u asiji u koji
se modul postavlja.
TIP
DATOTEKE
DUINA
ELEMENTA
ADRESIRA SE
B, N, A 1 re
bit b - Xf:e/b ;
element e Xf:e
F 2 rei element e Xf:e
T, C, R 3 rei
bit b u rei 0 Xf:e.0/b ; (indikatori stanja su bitovi rei 0)
re w Xf:e.w ; w = {1,2}, promenljive su u reima 1 ili 2
St 42 rei
bit b u rei w Xf:e.w/b
re w - Xf:e.w ; 0 w 41
element e Xf:e
U cilju ilustracije organizacije datoteka posmatrajmo binarnu datoteku. Maksimalna
veliina ove datoteke iznosi 256 elemenata. Svaki elemenat je jedna 16-bitna re, to
znai da ova datoteka moe imati najvie 4096 bitova. U skladu sa izloenim nainima
adresiranja, jedan bit moe biti adresiran pomou rednog broja elementa (0 - 255) i
rednog broj bita u okviru elementa (0 15) ili pomou rednog broja bita u okviru datoteke
(0 4095), kao to je to ilustrovano u tabeli T. 2-4 bit oznaen sa * je jedanaesti bit u
drugom elementu, odnosno etrdesetetvrti bit u celoj datoteci. Prema tome njegova
adresa je B3:2/11 ili B3/44. Iz tabele se takoe vidi da je mogue da se adresira i ceo
element ove datoteke.
ADRESA ELEMENTA
ADRESE POJEDINIH
BITOVA
DATA FILE 3 BIT FILE
BITOVI
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B3:0
B3:0/0 B3:0/15
B3/0 B3/15


B3:1
B3:1/0 B3:1/15
B3/16 B3/31

B3:2
B3:2/0 B3:2/15
B3/32 B3/47
*

: : :: : : : : : : : : : : : : : : : : :
B3:255
B3:255/0 ... B3:255/15
B3/4080 B3/4095

T. 2-4 DATOTEKA 3 BIT

Potrebno je da se zapazi da e u svakoj datoteci tipa bit koju korisnik sam definie adrese
biti iste, s tim to e se umesto broja datoteke (3) staviti broj koji korisnik pridruuje svojoj
datoteci (9 - 255).
O organizaciji ostalih datoteka bie rei kasnije kada se budu opisivali moduli ili
funkcije koje su sa njima povezane.
2.2.3. KREIRANJE DATOTEKE I ZAUZEE MEMORIJE
Jedna datoteka podataka zauzima memorijski prostor koji obuhvata niz susednioh
rei. Broj rei koje zauzima jedna datoteka odreen je najveom adresom elementa te
datoteke koji se koristi u programskim naredbama. Naime, sa izuzetkom datoteke statusa
S, koja se kreira automatski, sve ostale datoteke podataka ne postoje a priori same po
sebi, ve se formiraju u toku kreiranja programa i to navoenjem odgovarajue adrese u
programu.
Prvo navoenje broja datoteke inicijalizuje njeno kreiranje. Pri tome tip datoteke
koji je naveden u adresi odreuje broj rei koje se pridruuju jednom elementu, dok
T. 2-3 VELIINE ELEMENATA POJEDINIH DATOTEKA
Mali_kontroleri/20

adresa elementa
Prvo navoenje broja datoteke inicijalizuje njeno kreiranje. Pri tome tip datoteke
koji je naveden u adresi odreuje broj rei koje se pridruuju jednom elementu, dok
adresa elementa odreuje niz konsekutivnih elemenata za koje se u memoriji rezervie
prostor. Taj niz poinje od nule, a zavrava se sa adresom elementa koja je navedena u
naredbi. Ako se kasnije pojavi vea adresa elementa iste datoteke onda se prethodno
rezervisani prostor proiri tako da ukljui i tu adresu.
Pretpostavimo da se u programskim naredbama pojavljuju redom adrese
operanada F8:3, F8:1 i
F8:5. U tom sluaju,
pri kreiranju prve
naredbe rezervisae
se memorijski prostor
za datoteku 8 i zauzeti
ukupno 8 rei
(elementi 0,1,2 i 3 ;
svaki element po dve
rei). Kada se kasnije
naie na adresu F8:1,
ona nee
prouzrokovati nikakve
promene u zauzeu
memorije, jer je
memorijski prostor za
taj element ve
zauzet. Meutim,
adresa F8:5, dovee
do poveanja
zauzetog prostora na
ukupno 12 rei (6
elemenata), kao to je
to ilustrovano na slici
Sl. 2-2. Ovde je
takoe pretpostavljeno
da su pre nailaska na
pomenute tri naredbe,
nekim drugim naredbama ve kreirane datoteka N7 i korisnika datoteka 9, kojoj je
pridruen tip B.
Potrebno je da se istakne da veliina datoteke nije odreena stvarnim brojem
elemenata koji se koriste, ve najveem adresom. U posmatranom primeru se tako koriste
samo tri elementa datoteke 8, ali je zauzet prostor za 6 elemenata. To nadalje znai, da
se paljivim izborom adresa elemenata moe ostvariti uteda u zauzetom memorijskom
prostoru.
Kao to je ve reeno, dozvoljeno je kreiranje najvie 256 datoteka podataka.
Samo se po sebi razume da e broj kreiranih datoteka zavisiti od promenljivih koje
korisnik definie u programu. Pri tome sve kreirane datoteke reaju se u nizu jedna iza
druge. U formiranoj aplikaciji, datoteke podataka zauzimaju jedan neprekidan memorijski
prostor. Redni brojevi ovih datoteka poreani su u rastuem nizu, ali ne moraju da ine
kontinualni niz.
Operativni sistem kontrolera dozvoljava da se datoteke podataka kreiraju i
direktno, a ne preko naredbi u kojima se navode adrese operanada. U tu svrhu koristi se
posebna procedura memory map function, koja omoguuje da se rezervie odgovarajui
prostor i u njega direktno upiu podaci. Ista procedura omoguava i da se obrie grupa
elemenata u nekoj definisanoj datoteci ili cela datoteka, naravno samo uz uslov da se ne
koriste u programu.
SL. 2-2 PROMENA ZAUZEA RAM MEMORIJE PRI OBRAIVANJU NAREDBI
Mali_kontroler/21

2.2.4. INDIREKTNO ADRESIRANJE
U nekim sluajevima poeljno je da se omogui da se ista naredba izvri sa
razliitim promenljivim. Koja od promenljivih e se koristiti moe zavisiti od nekih spoljnih
uslova, rezultata nekog izraunavanja i sl. Radi pojednostavljenja realizacije ovakvih
aplikacija kontroleri SLC 5/03 i SLC 5/04 omoguavaju korienje indirektnog adresiranja.
U principu indirektno adresiranje se realizuje tako to se navodi adresa
promenljive iji sadraj predstavlja adresu promenljive (operanda) nad kojom se vri neka
operacija. U skladu sa time promenom sadraja navedene promenljive menja adresa
operanda.
Adresa promenljive sadri broj datoteke (f), broje elementa (e), broj rei(w) i broj
bita (b). Svaki od ovih podataka moe biti indirektno adresiran navoenjem adrese
promenljive koja sadri traeni podatak. Pri tome, budui da su svi ovi podaci celi brojevi,
jasno je da promenljiva ija se adresa navodi mora biti celobrojnog tipa, duine 1 rei.
Shodno tome, za indirektno adresiranje mogu se koristiti promenljive iz datoteke tipa N, ili
posebne promenljive iz datoteka tipa T ili C (ACC i PRE), odnosno datoteke tipa R (LEN i
POS). Indirektna adresa specificira se navoenjem promenljive koja sadri adresu u
uglastim zagradama, kao to je to ilustrovano u tabeli T. 2-5.

INDIREKTNA ADRESA
INDIREKTNO SE
ADRESIRA
AKO JE VREDNOST N7:e = 13,
ADRESIRANA PROMENLJIVA JE
N[N7:e]:e1 broj datoteke N13:e1 elemenat e1 u datoteci 13 tipa N
Ff:[N7:e] broj elementa Ff:13 elemenat 13 u datoteci f tipa F
Stf:e.[N7:e] broj rei Stf:e.13 re 13 elementa e u datoteci f tipa St
Bf:e/[N7:e] broj bita Bf:e/13 bit 13 elementa e u datoteci f tipa B
St[N7:e]:[N7:e].[N7:e]
broj datoteke,
elementa i rei
St13:13.13 re 13 elementa 13 u datoteci 13 tipa St

Imajui u vidu injenicu da se pri indirektnom adresiranju, adresa promenljive
odreuje tek za vreme izvoenja programa, potrebno je i ovde voditi rauna o zauzimanju
memorije i moguem prekoraenju granica.
2.2.5. INDEKSNO ADRESIRANJE
Pored direktnog adresiranja promenljive, kod kontrolera SLC 5/02 i viih
dozvoljeno je i indeksno adresiranje. Indeksnim adresiranjem se mesto u memoriji na
kome se nalazi jedna promenljiva definie relativno u odnosu na poloaj neke druge
promenljive. Pomeraj (ofset) promenljive sadran je u 25. rei datoteke 2 (status file) tako
da je adresa rei koja sadri pomeraj S:24. Ovaj nain adresiranja je izuzetno pogodan
ako je potrebno da se manipulie sa nizom uzastopnih promenljivih.
Indeksno adresiranje promenljive ostvaruje se navoenjem simbola # neposredno ispred
adrese promenljive koja predstavlja bazu u odnosu na koju se izraunava indeksna
adresa. Pomeraj moe biti pozitivan ili negativan. . On se izraava u broju elemenata koje
treba dodati baznoj adresi. Izuzetno, kod datoteka tipa string, pomeraj se izraava u
reima. Tipovi promenljivih koje se mogu indeksno adresirati, kao i znaenje
odgovarajueg pomeraja dati su u tabeli T. 2-6.
Potrebno je obratiti panju na injenicu da se za sve razliite indeksne adrese koje
se ele koristiti, pomeraj mora nalaziti u istoj rei (S:24). Isto tako, neke naredbe prilikom
izvoenja, koriste tu re i unitavaju njen prethodni sadraj. Otuda je neobino vano da
se pre korienja indeksne adrese obezbedi da se u lokaciji S:24 nae odgovarajui,
eljeni pomeraj. Konano, napomenimo da se prilikom servisiranja prekida, sadraj
lokacije S:24 uva.
T. 2-5 PRIMERI INDIREKTNOG ADRESIRANJA
Mali_kontroleri/22

T. 2-6 INDEKSNO ADRESIRANJE
U skladu sa onim to je reeno o nainu kreiranja datoteka, treba uoiti da
indeksno adresiranje moe da prouzrokuje izvesne
probleme. Naime, veliina datoteke odreena je
najveom adresom koja se neposredno navodi u
programu, i pri tome nema naina da se u toku
prevoenja programa ustanovi da li e sve indeksne
adrese biti unutar zauzetog prostora. Drugim reima,
postoji opasnost da pomeraj bude takav da
indeksna adresa premai najveu adresu koja je
eksplicitno navedena u programu, to bi
prouzrokovali prekoraenje donje ili gornje granice
datoteke (Sl. 2-3). Da bi se ovo izbeglo, neophodno
je da se pri kreiranju datoteke definie najvea
adresa do koje indeksno adresiranje moe da
dosegne. Isto tako, preveliki negativni pomeraj
mogao bi da dovede do prekoraenja donje granice
datoteke.
Prekoraenje granica datoteke samo po sebi
ne mora da ima negativne posledice, sve dotle dok
je korisnik svestan da do toga moe da doe i vodi
rauna o tipu susednih datoteka. U tom smislu
korisnuku se prua mogunost da izabere da li eli
da dozvoli ili zabrani prekoraenje granica. Ukoliko
je prekoraenje zabranjeno, a do njega doe u toku
izvoenja programa, signalizirae se greka.
Napomenimo i da je prekoraenje granica
dozvoljeno kod kontrolera SLC 5/02 samo ako se
indeksno adresiranje ne koristi u datotekama tipa: O,
I ili S. Isto tako, prekoraenje granica nije dozvoljeno kod kontrolera SLC 5/03 i viih
ukoliko se indeksno adresiranje koristi u datotekama tipa St.
2.2.6. ADRESIRANJE DATOTEKA
Pri realizaciji nekih algoritama, postoji potreba da se istovremeno ili na neki ureen
nain operie sa nizom podataka koji je smeten u nekoj datoteci, ili sa datotekom u
celini. U tu svrhu koristi se takoe indeksno adresiranje, ali se programski sistem sam
stara o adekvatnoj promeni sadraja indeksnog registra. Naime, ukoliko se radi sa nizom
podataka u datoteci onda se taj niz specificira tako to se definie bazna adresa #fn:e gde
je prvi ili nulti elemenat niza, to zavisi od konkretne programske naredbe. Istovremeno se
na odgovarajui nain definie i duina niza. Rad sa podacima iz niza se odvija uz
korienje indeksnog registra, s tim to, za razliku od naredbi u kojima se koristi indeksna
adresa, korisnik ne mora da vodi rauna o sadraju indeksnog registra. Vano je jedino da
se ima na umu da sve naredbe za rad sa datotekama menjaju sadraj indeksnog registra.
TIP DATOTEKE
(PROMENLJIVE)
INDEKSNA ADRESA
POMERAJ (S:24)
IZRAEN U
AKO SE BAZNA PROMENLJIVA
NALAZI U RAM-U NA ADRESI 200, I
S:24=6 ADRESA PROMENLJIVE JE
O-output; I-input;
B-bit
#O:e ; #I:e ; #Bf:e elementima (1 re) 206
N-integer #Nf:e elementima (1 re) 206
F-floating point #Ff:e elementima (2 rei) 212 i 213
St-string #Stf:e.w reima 206
T-timer; C-counter
(ACC i PRE)
#Tf:e.ACC ; #Tf:e.PRE
#Cf:e.ACC ; #Cf:e.PRE
elementima (3 rei) 219 ; 220 (2. i 3. re elementa)
R-control (LEN i
POS)
#Rf:e.LEN ; #Rf:e.POS elementima (3 rei) 219 : 220 (2. i 3. re elementa)
SL. 2-3 INDEKSNA ADRESA #N7:3
Mali_kontroler/23

2.2.7. PROGRAMSKE KONSTANTE
Pored promenljivih koje se smetaju u datotekama podataka, u pojedinim
programskim naredbama dozvoljeno je korienje i programskih konstanti, brojnih
vrednosti koje se definiu pri formiranju aplikacije i ne mogu se programski menjati.
Programska konstanta se definie tako to se na mestu predvienom za adresu
promenljive (operanda), direktno navede odgovarajua brojna vrednost. Celobrojna brojna
vrednost je 16 bitna re, dok realna vrednost zauzima 2 rei. Celobrojna brojna vrednost
se moe zadati u dekadnom brojnom sistemu ili kao heksadecimalna, oktalna ili binarna
konstanta (T. 2-7). Pored toga, konstanta se moe definisati i kao ASCII podatak sa 4
karaktera, pri emu svaki karakter zauzima 1 bajt. Ako se konstanta ne specificira u
dekadnom brojnom sistemu onda se ona definie sa prefiksom & i odgovarajuim slovom
koje ukazuje na nain predstavljanja konstante.

NAZIV SPECIFIKACIJA OPSEG
celobrojna
konstanta
direktno navoenje vrednosti -32768 do +32767
realna konstanta
direktno navoenje vrednosti, koja sadri
decimalnu taku
1.1754944e-38 do
3.40282347e+38
heksadecimalnia
konstanta
&H &H0000 do &HFFFF
oktalna konstanta &O &O000000 do &177777
binarna konstanta &B
&B0000000000000000 do
&B1111111111111111
ASCII konstanta &A
2.3. DISKRETNI U/I MODULI
2.3.1. ULAZNO/IZLAZNI MODUL
Uprkos injenici da diskretni senzori i aktuatori koji se nalaze na nekom procesu ili
postrojenju mogu imati veoma
razliite tehnike karakteristike,
zahtev koji se postavlja pri
njihovom vezivanju za kontroler je
uvek isti. Naime, od kontrolera se
oekuje da obezbedi konverziju
digitalnog (binarnog) signala koji
dolazi sa senzora u numeriku
vrednost 0 ili 1 i da taj podatak
smesti kao jedan bit na
odgovarajue mesto u memoriji, ili
da oita numeriku vrednost
(sadraj) nekog bita u memoriji, da
ga konvertuje u binarni signal koji
se vodi na aktuator. Ova injenica
omoguila je projektovanje i izradu
tipiziranih U/I kola koja su u stanju
da obrauju gotovo sve signale
koji se sreu kod industrijske
merne opreme i izvrnih organa.
Pored toga, nekoliko U/I kola su grupisana zajedno i ine Diskretni U/I modul, ija veza sa
T. 2-7 - SPECIFIKACIJA PROGRAMSKIH KONSTANTI
SL. 2-4 DIGITALNI U/I MODUL
Mali_kontroleri/24

kontrolerom se ostvaruje jednostvanim ubacivanjem u odgovarajui slot na asiji.
Izgled tipinog U/I modula prikazan je na Sl. 2-4. Na prednjoj ploi U/I modula
nalazi se odreeni broj pinova (terminal points) za koje se vezuju izlazi sa mernih
instrumenata, odnosno ulazi u izvrne organe. Svaki pin je zapravo ulazna ili izlazna taka
odgovarajueg kola za spregu sa kontrolerom. U skladu sa time svaki pin se identifikuje
svojim tipom (ulaz ili izlaz) i brojem koji odreuje poloaj U/I kola u okviru modula, i koji
zapravo predstavlja adresu pina. Opis pinova dat je na unutranjoj strani vrata na modulu.
Pored U/I pinova, na prednjoj ploi modula nalaze se i pinovi koji su interno povezani sa
napajanjem (DC ili AC), sa zajednikom (nultom) takom i sa zemljom. Nain sprezanja
pojedinog ureaja sa modulom zavisi od specifinosti samog ureaja, kao i karakteristika
modula. Detaljna ema sprege vezivanja data je uz svaki modul.
Za vreme rada U/I modula, stanje svakog pina se prikazuje na odgovarajuem
LED indikatoru. Indikator koji je povezan sa ulaznim pinom svetli ako je ulazni signal u
stanju logike jedinice. Indikator povezan sa izlaznim pinom svetli ako je, kao rezultat
obrade programa, na izlazni pin postavljena logika jedinica.
Postoje tri tipa U/I modula: ulazni, izlazni i kombinovani ulazno/izlazn modul. Oni
se izrauju sa razliitim gustinama pinova (4, 8, 16 i 32 pina po modulu) i mogu se
sprezati sa AC, DC i TTL naponskim nivoima. Detaljnija specifikacija U/I modula data je u
Dodatku UI.
Kao to se vidi na Sl. 2-4 U/I moduli se smetaju u slotove na asiji. Maksimalni
broj modula koji se moe direktno povezati sa jednim kontrolerom, zavisi od veliine asije
i broja slobodnih slotova. Budui da svaki slot ima svoju adresu unutar asije, to znai da
je samim stavljanjem modula u slot odreena i njegova adresa. Konano, kao to je ve
istaknuto, i svaki pin unutar jednog modula ima svoju adresu. U skladu sa time svaki pin
ima u okviru kontrolera jedinstvenu adresu, koja je odreena adresom slota u koji se
modul postavlja i adresom pina unutar modula. Potrebno je da se naglasi da je adresa
pina odreena automatski stavljanjem modula u asiju kontrolera i da se ne moe
programski menjati.
2.3.2. SPREZANJE U/I MODULA SA KONTROLEROM
Vrednost binarnog signala koji dolazi na ulazni pin nekog U/I modula oitava se za
vreme ulaznog dela sken ciklusa. U
zavisnosti od toga da li oitana
vrednost predstavlja logiku nulu ili
jedinicu formira se odgovarajua
vrednost bita (0 ili 1) i upisuje na
mesto u datoteci 0 koje odgovara
adresi ulaznog pina. Isto tako,
vrednost bita koji treba da se
prenese na izlazni pin kontrolera
kao binarni signal, nalazi se u
datoteci 1. Za vreme izlaznog dela
sken ciklusa ova vrednost se oitava, konvertuje u odgovarajui signal i prenosi na izlazni
pin ija adresa odgovara mestu u datoteci na kome se nalazi posmatrani bit.
Svakom modulu koji nema vie od 16 pinova pridruuje se po jedna 16-bitna re u
datoteci 0 odnosno 1. Ako modul ima manje od 16 pinova, onda se ne koriste svi bitovi u
pridruenoj rei. Ako modul im 32 pina, njemu se pridruuju dve susedne 16-bitne rei. Pri
tome, redni broj rei koja e biti pridruena modulu zavisi od slota u kome se modul
nalazi. Format adresiranja prikazan je na Sl. 2-5.

PR. 2-1
Da bi se ilustrovao nain povezivanja adresa modula sa odgovarajuim datotekama
posmatrae se kontroler koji se sastoji iz jedne asije sa 7 slotova koja je povezana sa asijom od
10 slotova kao to je to ilustrovano na Sl. 2-6 Konfiguracija kontrolera. Kao to se vidi prva asija
SL. 2-5 FORMAT ADRESA BINARNIH U/I SIGNALA
Mali_kontroler/25

sadri procesorski modul u slotu 0; kombinovani U/I modul sa 6 ulaza i 6 izlaza u slotu 1; ulazni
modul sa 32 ulazna pina u slotu 2 itd. U drugoj asiji koriste se samo prva etiri slota, dok se
preostali slotovine koriste.

SL. 2-6 KONFIGURACIJA KONTROLERA
Struktura datoteka 0 i 1 koje odgovaraju datoj konfiguraciji prikazana je u tabelama T. 2-8 i
T. 2-9.
SLOT -
U/I tip
(pinovi)
ADRESA
REI
ADRESE BITOVA
DATOTEKA 0 IZLAZ
BITOVI
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 - OUT (0-5) O:1 O:1/0 O:1/5 NE KORISTI SE
3 - OUT (0-15) O:3 O:3/0 O:3/15
4 OUT (0-7)
O:4
O:4/0 O:4/7
NE KORISTI SE

5 OUT (0-15)
O:5
O:5/0 O:5/15

5 OUT (16-32) O:5.1 O:5.1/0 ...O:5.1/15
9 OUT (0-15) O:9 O:9/0 O:9/15
10 OUT (0-15) O:10 O:10/0 O:10/15
SLOT -
U/I tip
(pinovi)
ADRESA
REI
ADRESE BITOVA
DATOTEKA 1 ULAZ
BITOVI
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 - IN (0-5) I:1 I:1/0 I:1/5 NE KORISTI SE
2 - IN (0-15) I:2 I:2/0 I:2/15
2 IN (16-32) I:2.1 I:2.1/0 I:2.1/15
4 IN (0-7)
I:4
I:4/0 I:4/7
NE KORISTI SE
6 IN (0-15) I:6 I:6/0 I:6/15
7 IN (0-15) I:7 I:7/0 I:7/15
8 IN (0-7) I:8 I:8/0 I:8/7 NE KORISTI SE
Potrebno je da se sitakne da su I i O datoteke jedine dve datoteke kod kojih elementi nisu
poreani u neprekidnom nizu i kod kojih su elementi promenljive duine. U ovom primeru tako
posle elementa O:1, kao susedna re u memoriji nalazi se element O:3. Isto tako posle elementa
O:5 koji zauzima dve rei dolazi elemnat O:9 koji zauzima jednu re. Ovo je, naravno, prirodna
posledica injenice da su redni brojevi elemenata vezani za slotove, a da je njihova duina
odreena brojem pinova na modulu. Neophodno je, meutim da se to ima na umu prilikom
korienja indeksnog adresiranja ili pri radu sa nizovima podataka. Naime, kao to je ve istaknuto,
kod datoteka ovog tipa indeksna adresa se odreuje tako to se baznoj adresi dodaje sadraj
indeksnog registra, pri emu je pomeraj izraen u reima. To znai da redni broj rei na koju
pokazuje indeksni registar ne mora biti, a najee i nije jednak rednom broju elementa datoteke.
Ako se u posmatranom primeru kao indeksna adresa definie #I:2, ako se podatak ija je bazna
adresa I:2 nalazi u memoriji na adresi 200, i ako je sadraj indeks registra S:24=3, onda e biti
adresirana memorijska lokacija 203 na kojoj se prema T. 2-9 nalazi element I:6. Zapazimo da kada
bi se pri istom zauzeu memorije i sadraju indeks registra koristila indeksna adresa #N:2, onda bi
adresirani elemenat, na lokaciji 203, bio N:5.

2.3.3. VEZIVANJE DIGITALNIH UREAJA ZA DIGITALNI MODUL
Samo se po sebi razume da e digitalni senzor moi da generie odgovarajui
T. 2-8 ORGANIZACIJA DATOTEKE 0
T. 2-9 - ORGANIZACIJA DATOTEKE 1
Mali_kontroleri/26

binarni signal ukoliko se nalazi u elektrinom kolu koje se zatvara (ili otvara) kada se
senzor aktivira. Otuda, se senzor mora vezati u elektrino kolo digitalnog ulaznog modula.
Ovo kolo e omoguiti detekciju binarnog signala i prenos odgovarajue vrednosti u
memoriju PLC-a. Na isti nain, diskretni izvrni organ mora biti povezan u elektrino kolo
digitalnog izlaznog modula koje omoguava da se digitalni signal koji odgovara vrednosti
bita u memoriji prenese na izvrni organ.
Prilikom povezivanja digitalnih ureaja neobino je vano da se vodi rauna o
tome kako je ureaj projektovan, odnosno kakav treba da bude smer elektrinog signala.
U tom smislu razlikuju se dve vrste ureaja:
ureaji koji su izvor signala (source device) povezuju se na pozitivni pol izvora
napajanja
ureaji koji su prijemnici signala (sinking device) povezuju se na zajedniku taku
izvora napajanja.
Da bi se obezbedila kompatibilnost digitalnih ureaja i PLC-a za koji se oni vezuju,
digitalni moduli se takoe proizvode u dve kategorije
digitalni U/I izvori - za ureaje koji su projektovani kao prijemnici.
digitalna U/I prijemnici - za ureaje koji su projektovani kao izvor.
Nain vezivanja, ovih ureaja prikazan je na Sl. 2-7 i Sl. 2-8. Pri tome, potrebno je
da se istakne da digitalni moduli koji predstavljaju izvor signala moraju u sebi da imaju i
izvor napajanja. U tom sluaju, postojanje jo jednog spoljnog izvora, je opciono. Za
razliku od njih digitalni moduli koji primaju signale nemaju izvor napajanja. To znai da u
kolu preko koga se vezuje digitalni ureaj mora da postoji spoljni izvor napajanja.
Izvesno je da postoje i digitalni ureaji koji ne pripadaju ni jednoj od ovih
kategorija. Tako, na primer, mehaniki prekidai mogu da provode struju u oba smera, to
znai da se mogu povezati na oba tipa modula. Sa druge strane, ureaji koji imaju neke
elektronske komponente zahtevaju da se vodi rauna o smeru struje, tako da mogu da se
koriste samo sa odgovarajuom vrstom digitalnih U/I modula.



SL. 2-7 SPREZANJE DIGITALNIH UREAJA KOJI SU PROJEKTOVANI KAO IZVORI
SL. 2-8 SPREZANJE DIGITALNIH UREAJA KOJI SU PROJEKTOVANI KAO PRIJEMNICI
izlazni pin
DC
COM
DC
izvor
napajanja
+
-
Digitalni izlazni
ureaj
(izvor)
izvor signal
VDC
DC izlazno
kolo
(prijemnik)
Mali_kontroler/27

2.4. ANALOGNI U/I MODULI
Analogni ulazni moduli su kola za
spregu izmeu kontinualnih (analognih)
signala koji dolaze od mernih
instrumenata i digitalnih (numerikih)
vrednosti kojima su ovi signali prikazani u
PLC-u. Analogni izlazni moduli
obezbeuju spregu izmeu numerikih
vrednosti u PLC-u i analognih signala koji
predstavljaju ove vrednosti i koji slue za
upravljanje izvrnim organima.
U principu jedan modul se spree
sa vie spoljnih ureaja, pri emu se svaka
sprega posmatra kao jedan ulazni ili izlazni kanal. Moduli se meusobno razlikuju po broju
i vrsti kanala. Neki moduli su samo ulazni ili samo izlazni, a neki su kombinovani, to
znai da imaju i izlazne i ulazne linije.
Svaki modul se smeta u jedan slot na
asiji PLC-a (Sl. 2-9). Otuda se, sa gledita
adresiranja, on tretira isto kao i digitalni modul,
s tim to je znaenje pinova i broj bitova koji
odgovaraju jednom pinu drugaiji. Drugim
reima podaci koji se preko modula unose u
raunar nalazie se u odreenim lokacijama
datoteke ulaza (I), a podaci koji se iznose iz
raunara, nalazie se u datoteci izlaza (O).
Broj rei koji odgovara jednom kanalu zavisi od
vrste samog modula. U principu se moe
smatrati da svakom ulaznom ili izlaznom kanalu
odgovara po jedna re, tako da se adresa kanala formira u skladu sa rednim brojem slota
i rednim brojem kanala (Sl. 2-10). Sadraj odgovarajuih memorijskih lokacija u ovim
datotekama menja se u toku ulaznog ili izlaznog sken ciklusa.
2.4.1. ANALOGNI ULAZNI KANAL
Nezavisno od toga koliko se
ulaznih kanala nalazi na jednom
modulu, modul, po pravilu, ima samo
jedan A/D konvertor. U toku ulaznog
sken ciklusa, uz pomo multipleksera,
odabira se jedan po jedan ulazni kanal
na modulu, izvri se konverzija signala i
on se smeta u odgovarajuu re u
datoteci ulaza.
Imajui u vidu da je merni signal
uvek zaumljen, signal koji dolazi preko
analognog kanala se posle konverzije
proputa kroz digitalni filter koji ima za
cilj da odbaci komponente visokih
uestanosti koji potiu od uma. Tip i
vrsta ovog ugraenog filtra zavisi od
proizvoaa. Kod nekih tipova modula
korisniku moe sam da podeava
parametre filtra. Pored toga, neki
analogni moduli pruaju mogunost
korisniku da dobije i informacije o
SL. 2-9 KOMBINOVANI ANALOGNI U/I MODUL
SL. 2-10 ADRESIRANJE ANALOGNIH ULAZA I
IZLAZA
SL. 2-11 DIFERENCIJALNA SPREGA ANALOGNOG ULAZA
Mali_kontroleri/28

prekoraenju opsega ili o drugim aspektima rada modula.
Vrsta A/D konvertora i njegova rezolucija zavise od tipa modula. U principu oni se
kreu od 12 do 16 bitova. Kod posmatrane klase SLC kontrolera koriste se 16-bitni A/D
konvertori. Otuda se svakom ulaznom kanalu pridruuje po jedna memorijska re. To
nadalje znai da se svaki ulazni kanal adresira pomou adrese oblika I:e.w. U principu,
mogue je pristupiti i pojedinom bitu unutar svake od ovih rei, no ti bitovi nemaju nikakvo
pojedinano znaenje, pa se ne vidi razlog zato bi se to radilo.
Analogni dava se vezuje tako to se formira zatvoreno elektrino kolo. Pri tome,
izvor napajanja tog kola moe biti u samom modulu ili spolja. Za razliku od digitalnih U/I,
kod analognih modula izvor napajanja je veoma esto spoljni. Samo elektrino kolo se
zatvara vezivanjem krajeva analognog davaa sa pinovima na ploi analognog modula
(Sl. 2-9). Svakom analognom
ulaznom kanalu pridruena su 3
pina. Dva pina slue za ulaz signala,
dok je trei pin vezan za zajedniku
masu na samom modulu. Nain
njihovog korienja zavisi od vrste
analognog davaa sa koga se signal
vodi na kanal. Ako dava ima dva, tri
ili etiri izlaza onda se moe izvesti
diferencijalna sprega davaa i
modula. Svakom davau pridruuje
se zaseban izvor napajanja i svi
kanali su meusobno odvojeni (Sl.
2-11). Za davae koji imaju samo
dva ili tri izlaza, moe se izvesti veza
sa jednim krajem, tako da se
elektrino kolo zatvara preko
zajednike take (mase) na samom
modulu. U tom sluaju, dovoljan je
jedan izvor napajanja za vie
analognih kanala (Sl. 2-12).
Potrebno je da se istakne da diferencijalna sprega ima bolje karakteristike posebno kad
se radi o potiskivanju smetnji koje potiu od napajanja.
Anolgni ulazni kanali su, po pravilu, prilagoeni za standardizovane vrste signala
(strujne ili naponske) i to u opsezima koji se najee sreu kod razliitih analognih
davaa. Najee je modul tako podeen da se postavljanjem internih prekidaa moe
definisati da li e se kanal koristiti za strujni ili naponski signal. Tipini skup signala koji se
sree kod analognih ulaza, zajedno sa njihovim celobrojnim prezentacijama kod 16-bitne
konverzije dat je u tabeli T. 2-10.
OPSEG NAPONA/STRUJE
CELOBROJNA DECIMALNA
REPREZENTACIJA
(DATOTEKA ULAZA)
REZOLUCIJA
-10V dc do +10V dc -32768 do +32767
305.176V
0 do 10V dc 0 do 32767
0 do 5V dc 0 do 16384
1 do 5V dc 3277 do 16384
-20mA do +20mA -16384 do +16384
1.2207A 0 do 20mA
0 do 16384
4 do 20mA 3277 do 16384
U skladu sa vrednostima iz tabele, oigledno je da se pretvaranje dobijenih
vrednosti u odgovarajue elektrine veliine moe izvriti prema sledeim formulama
SL. 2-12 SPREGA ANALOGNOG ULAZA SA JEDNIM KRAJEM
T. 2-10 OPSEG ULAZNIH SIGNALA I NJIHOVA KONVERZIJA U CELOBROJNE VREDNOSTI
Mali_kontroler/29

ULAZNI NAPON (V) =
32768
10
CELOBROJNA DECIMALNA VREDNOST
ULAZNA STRUJA (mA) =
16384
20
CELOBROJNA DECIMALNA VREDNOST

Neki analogni moduli pruaju mogunost da se zahteva da sam modul interno
izvri konverziju u elektrine ili inenjerske jedinice. Ukoliko modul nema takvu opciju,
konverzija moe da se izvri programski. Problemima transformacije signala bie kasnije,
kada se proui programiranje PLC-a, posveeno vie panje.
Napomenimo jo, da najvei broj analognih modula interno skenira ulazne kanale i
vri A/D konverziju ulaznih signala daleko ee nego to to zahteva sken ciklus PLC-a.
Sve konvertovane vrednosti nalaze se u skupu internih registara PLC-a i bivaju
zamenjene sa novim vrednostima posle sledee konverzije. Sadraj tih registara, se
meutim, prebacuje u odgovarajue podruje datoteke ulaza samo u toku ulaznog sken
ciklusa. Ukoliko je korisniku, iz nekog razloga, vano da raspolae i sa trenutnom
vrednou ulaza na nekom kanalu, on to moe da ostvari posebnom programskom
naredbom koja e uzeti traenu vrednost iz registra i smestiti je na odgovarajue mesto u
datoteci.
2.4.2. ANALOGNI IZLAZNI KANAL
Za razliku od analognih ulaza, svakom analognom izlaznom kanalu pridruen je
poseban D/A konvertor. Pomou njega se celobrojna vrednost koja se nalazi na
odgovarajuem mestu u datoteci izlaza pretvara u strujni ili naponski signal. U principu,
moduli se razlikuju po rezoluciji, ali se najee sreu konvertori ija je rezolucija 12 do 14
bitova.

Kod posmatrane klase kontrolera koriste se 14-bitni D/A konvertori. Otuda se
svakom izlaznom kanalu pridruuje po jedna memorijska re. To nadalje znai da se svaki
izlazni kanal adresira pomou adrese oblika O:e.w. Pri tome se za smetanje podatka
koristi 14 levih bitova, tako da dva poslednja desna bita nisu u upotrebi. To znai da se po
etiri celobrojna podatka koja se meusobno razlikuju samo u vrednosti dva poslednja
desna bita (koja odgovaraju stepenima 2
0
i 2
1
) konvertuju u isti analogni signal kao to je
to ilustrovano na Sl. 2-13. To znai da je najmanje znaajan bit (LSB) zapravo bit uz 2
2
.
Otuda se rezolucija konvertora, odnosno najmanji kvant rezultujueg analognog signala
odreuje prema sledeoj relaciji
X X X X X X X X X X X X X X 0 0
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
2
10
2
11
2
12
2
13
2
14
2
15
X X X X X X X X X X X X X X 0 1
X X X X X X X X X X X X X X 1 0
X X X X X X X X X X X X X X 1 1
Celobrojni podatak koji se konvertuje
Najmanja celobrojna vrednost razliita od nule: 2
2
= 4 (ili 5, 6, 7)
Najvea celobrojna pozitivna vrednost: 2
15
- 2
2
= 32764 (ili 32765, 32766, 32767)
SL. 2-13 RELEVANTNI BITOVI KOD 14-TO BITNE A/D KONVERZIJE
Mali_kontroleri/30

opseg analognog izlaza
r 4
opseg celobrojnih vrednosti
=
Kao i analogni ulazi, i analogni izlazi se prave za standardizovane naponske i
strujne signale. Pri tome, za razliku od ulaznih modula, ovde je svaki kanal unapred
formiran za prenoenje ili naponskih ili strujnih signala. Tipian skup signala i nain
njihovog pretvaranja iz celobrojnih vrednosti u elektrine signale dat je u tabeli T. 2-11.
U skladu sa podacima iz tablice, vidi se da se konverzija vrednosti moe izvriti
prema sledeim relacijama
CELOBROJNA DECIMALNA VREDNOST =
10
32768
IZLAZNI NAPON (V)
CELOBROJNA DECIMALNA VREDNOST
=
21
32768
IZLAZNA STRUJA (mA)
Pri tome je potrebno zapaziti da e se isti rezultat dobiti i ako se u gornjim relacijama
koristi konstanta 32764 umesto 32768. Naime, razlika u rezultatu ogledae se samo u
poslednja dva bita koja se, kao to je ve reeno, ne koriste pri D/A konverziji.
CELOBROJNA DECIMALNA
REPEREZENTACIJA
(DATOTEKA IZLAZA)
OPSEG
NAPONA/STRUJE
REZOLUCIJA
-32768 do +32764 -10V dc do +10V dc
1.2207mV
0 do 32764 0 do 10V dc
0 do 16384 0 do 5V dc
3277 do 16384 1 do 5V dc
0 do 32764 0 do 21mA
2.56348A 0 do 31208 0 do 20mA
6242 do 31208 4 do 20mA
T. 2-11 OPSEG IZLAZNIH SIGNALA I KONVERZIJA CELOBROJNIH VREDNOSTI U ELEKTRINE VELIINE
2.5. FORMIRANJE PROJEKTA


SL. 2-14 POKRETANJE PROJEKTA I IZBOR PROCESORA
Mali_kontroler/31

Formiranje projekta zapoinje uvek specifikacijom samog kontrolera na kome e
se data aplikacija realizovati. To znai da korisnik mora da prui informaciju o vrsti i tipu
procesorskog modula koji e se koristiti, o ulazno izlaznim modulima koji e se postaviti u
asiji i o tipu raunarske mree u koju e taj kontroler biti vezan. Najvei broj proizvoaa
PLC-ova razvio je i odgovarajui grafiki korisniki interfejs koji omoguava korisniku da
na veoma jednostavan nain izvri ove operacije. U tom sluaju specifikacija se odvija
kroz sistem "prozora" okviru kojih se korisniku nude sve mogue opcije meu kojima on
odabira onu koja odgovara datoj konfiguraciji.
Za kontrolere tipa SLC500 i MicroLogix na raspolaganju je softverski alat
RSLogix500. Pokretanjem ovog alata korisniku se prua mogunost da kreira novi
projekat ili aurira ve postojei. Ukoliko se otvara novi projekat onda je kao prvo
neophodno da se specificira procesor koji e biti korien u kontroleru. Ova specifikacija
se obavlja izborom eljenog procesora sa liste raspoloivi procesora. Na Sl. 2-14 se vidi
izbor procesora SLC 5/03 sa 16K memorije.











SL. 2-15 IZBOR ASIJE I U/I MODULA
im se odabere procesor automatski se otvara prozor koji omoguava dalju
specifikaciju kontrolera i zapoinjanje pisanja programa. Samo se po sebi razume da je
pre formiranja programa neophodno da se definiu ulazni i izlazni moduli ije podatke e
program da koristi. Otuda je sledei korak selekcija opcije IO Configuration, ime se
korisniku prua mogunost da odabere tip asije koji eli dakoristi, a zatim da redom
odabira ulazno/izlazne module koje e postaviti u slotove 1, 2, itd (Sl. 2-15). Potrebno je
Izbor asije
Izbor U/I modula u
slotu 1
Mali_kontroleri/32

zapaziti da je u slotu 0 ve smeten odabrani procesor.
Na Sl. 2-16 prikazana je odabrana konfiguracija kontrolera. Budui da je odabrana
asija koja ima 4 slota, pored procesora definisana su jo 3 U/I modula. koji izgled prozora
pri definiciji konfiguracije PLC-a iz familije Allen Bradley SLC 500 Modular Controllers. Sa
slike se vidi da se u slotu 0 nalazi procesorski modul tipa 5/03, koji u asiji ima prostor za
jo tri modula.
Kao to se vidi sa Sl. 2-15 u slotu 1 nalazi se kombinovani digitalni modul sa 6
ulaza i 6 izlaza. Ovaj modul imae adrese I:1.0/b i O:1.0/b gde je b redni broj bita koji
moe imati vrednost od 0 do 5. Pri tome, ulazni signali moraju biti jednosmerni u opsegu
do 24 V, dok su izlazni signali prilagoeni standardima za upravljanje relejima.
U slotu 2 smeten je modul sa 2 analogna ulazna kanala i 2 analogna izlazna
kanala. Ulazni kanali mogu da se koriste za ulaz strujnih signala (-20mA do +20 mA) ili za
ulaz naponskih signala (10V do +10V), to se podeava postavljanjem internih
prekidaa. Adrese ova dva ulazna kanala su I:2.0 i I:2.1. Oba izlazna kanala daju
jednosmerne naponske signale u opsegu od 10V do +10V, dok su adrese ova dva izlaza
O:2.0 i O:2.1.
U slotu 3 nalazi se digitalni ulazni modul sa osam ulaza (I:3.0/b , b = 0,1,.. ,7). Ovaj
modul prima digitalne signale koji su naizmenini u opsegu do 200/240 V.

SL. 2-16 PRIMER KONFIGURISANJA PLC-A
Tek kada se definie struktura PLC-a moe se poeti sa formiranjem programa.
Kao to je ve reeno, svaki proizvoa PLC-a razvija i posebni softverski alat koji
omoguava da se na izuzetno jednostavan nain definie struktura PLC-a i formira
odgovarajui program. Ovaj alat, koji kod najveeg broja proizvoaa korristi grafiki
interfejs (GUI), omoguava da se PLC emulira na standardnom PC raunaru. To zapravo
znai da se, sa gledita korsinika, PC raunar na kome je softverski alat instaliran ponaa
kao PLC. Korisnik, u fazi definisanja aplikacije, razvijanja i testiranja programa, ima
mogunost da koristi sve opcije i pogodnosti PC raunara. Kada je program razvijen on
se, posebnom tehnikom, prebaci na PLC (down load programa). Ukoliko PLC ostane i
dalje u vezi sa PC raunarom, onda se isti softverski alat moe koristiti da se pomou PC-
a prati izvravanje formiranog algoritma i obavljaju eventualne korekcije.
Leder_uvod/33

3. LEDER PROGRAMIRANJE
3.1. UVOD U LEDER PROGRAMIRANJE
Kao to je ve reeno jedna programska linija leder jezika sastoji se iz niza
grafikih simbola (programskih naredbi) koji predstavljaju razliite logike elemente i
druge komponente kao to su asovnici i brojai, koji su poreani du horizontalne linije
rang (rung) koja je na oba kraja
spojena sa dvema vertikalnim
linijama. Prema tome, leder
dijagram ima izgled lestvica, odakle
potie i njegov naziv (ladder
lestvice).
Svaki rang leder
dijagrama sastoji se iz dva dela. Na
levoj strani ranga nalazi se uslov
izraen u formi kontaktne (prekidake)
logike, dok se na desnoj strani ranga nalazi akcija koja treba da se izvri ukoliko je uslov
ispunjen (true) (Sl. 3-1).
U literaturi je uobiajeno da se i simboli koji oznaavaju uslov i simboli koji
oznaavaju akciju oznaavaju kao naredbe. Otuda je neophodno da se istakne sutinska
razlika izmeu naredbi uslova i naredbi akcije. Naime, izvravanje naredbi uslova obavlja
se tako to se u zavisnosti od vrednosti operanda, prema pridruenoj tablici istinitosti,
naredbi dodeljuje vrednost (0 ili 1). Dakle, naredbe uslova se izvravaju u svakom sken
ciklusa i rezultat njihovog izvoenja je vrednost naredbe. Za razliku od toga naredbama
akcije se ili dodeljuje vrednost nekoj promenljivoj ili izvrava neka druga aktivnost. Ove
naredbe se izvravaju samo ako je uslov koji im prethodi istinit (dodeljena mu je vrednost
1). Pri tome se samim naredbama akcije ne dodeljuje nikakva vrednost.
Leder program se izvrava u toku programskog dela sken ciklusa i to tako to se
obrauje rang po rang u nizu kako su oni definisani. U svakom rangu ispituje se istinitost
uslova i ukoliko je uslov istinit izvravaju se odgovarajue naredbe u desnom delu ranga.
To znai da promenljive na desnom delu ranga mogu menjati svoju vrednost samo
jedanput u toku sken ciklusa, i to upravo onda kada se odgovarajui rang ispituje.
Potrebno je zapaziti, meutim, da ukoliko se promenljiva na desnoj strani ranga odnosi na
fiziki izlaz, vrednost izlaza nee biti promenjena u istom trenutku vremena. Naime, za
vreme programskog skena menjaju se samo vrednosti promenljivih smetenih u datoteku
izlaza (output image file). Tek kasnije, za vreme izlaznog dela sken ciklusa, sve
promenljive iz datoteke izlaza bie prenete na odgovarajue izlazne linije. Ista stvar vai i
za ulazne promenljive. Drugim reima, za vreme programskog skena ispitivanje istinitosti
uslova odnosi se na vrednosti promenljivih u datoteci ulaza (input image file), koje su tu
upisane za vreme ulaznog dela sken ciklusa koji je prethodio programskom skenu, a ne
na trenutne vrednosti promenljivih na ulaznim linijama. Naravno, svi uslovi i naredbe koji
su vezani za interne promenljive izvravaju se u trenutku skeniranja pojedinog ranga.
3.2. BIT NAREDBE
Bit naredbe su, kao to samo ime kae naredbe iji su operandi bitovi. Sa gledita
lokacije operanada, to znai da se oni najee nalaze u datoteci 3 (bit file), digitalnim
ulaznim ili izlaznim datotekama (input image file 1 ili output image file 0) ili u korisnikim
datotekama bit tipa. Pored toga, adresirani operand moe da se nalazi i u bilo kojoj drugoj
datoteci u okviru koje je mogue adresirati pojedini bit. Gledano potpuno opte za vreme
programskog skena u okviru bit naredbi ispituje se stanje pojedinog bita, ili se njegova
vrednost postavlja na 1 (set) ili na 0 (reset).
SL. 3-1 LEDER RANG
Leder_uvod/34

3.2.1. BIT NAREDBE ZA DEFINISANJE USLOVA
Ove naredbe se postavljaju na levoj strani ranga i definiu uslov koji se odnosi na
stanje bita ija je adresa definisana u naredbi. Kao rezultat izvoenja naredba dobija
istinosnu vrednost true (istinit) ili false (neistinit) .

XI C - Exami ne i f cl osed (ispitivanje da li je kontakt zatvoren)


XI O - Exami ne i f open (ispitivanje da li je kontakt otvoren)

Nazivi ove dve naredbe potiu od ispitivanja binarnnih signala koji dolaze sa
prekidakih kola. U tom smislu XIC naredba se odnosi na normalno otvoren prekida (ima
vrednost 1 kada je prekida pritisnut), dok se XIO naredba odnosi na normalno zatvoren
prekida (ima vrednost 1 kada prekida niej pritisnut "ne a").
3.2.2. BIT NAREDBE ZA POSTAVLJANJE VREDNOSTI IZLAZA
Ovim naredbama se bitu ija je adresa navedena u naredbi dodeljuje vrednost 1 ili
0. Podsetimo se da se ove nardebe nalaze na desnoj strani ranga, to znai da e se one
izvriti samo ako je iskaz (uslov) na levoj strani ranga istinit.
OTE - Out put energi ze (pobuivanje izlaza)

Potrebno je da se zapazi da se ovom naredbom vrednost bita ija je adresa a
moe promeniti samo jedanput za vreme sken ciklusa. Ova vrednost ostae neizmenjena
sve do sledeeg sken ciklusa, kada e se pri skeniranju odgovarajueg ranga ponovo
ispitati uslov i izvesti odgovarajua akcija.
OTL - Out put l at ch (pamenje izlaza)

OTL naredbom se adresovani bit moe iskljuivo postaviti na 1. Naime za razliku
od OTE naredbe kojom se vrednost bita moe postavljati na 0 ili 1 svaki put kad se rang
Leder_uvod/35

skenira, kod OTL naredbe vrednost bita se postavlja (leuje) na 1 u prvom skenu u kome
je uslov istinit. Nakon toga ova naredba postaje neosetljiva na istinosnu vrednost uslova.
To znai da e vrednost bita ostati neizmenjena bez obzira na to kako se menja vrednost
uslova.
OTU - Out put unl at ch (resetovanje izlaza)

OTU naredbom se adresovani bit moe iskljuivo postaviti na 0. Pri tome, vrednost
bita se postavlja (leuje) na 0 u prvom skenu u kome je uslov ispunjen. Nakon toga ova
naredba postaje neosetljiva na vrednost uslova.
Potrebno je da se istakne da se OTL i OUT naredba koriste uvek u paru, pri emu
se u obe naredbe adresira isti bit.
3.2.3. BIT TRIGER NAREDBA
OSR - One-shot ri si ng (uzlazna ivica)

OSR naredba omoguava da se obezbedi izvoenje neke akcije samo jedanput.
Potrebno je da se istakne da je ovo specifina naredba koja istovremeno pripada i
kategoriji uslova i kategoriji akcije. Naime ova naredba se postavlja u rangu izmeu dela
koji predstavlja uslov i dela koji predstavlja akciju. Kada se u toku sken ciklusa detektuje
da je uslov promenio svoju vrednost sa neistinit na istinit (uzlazna ivica) onda OSR
naredba takoe dobija vrednost istinit (to ovu naredbu svrstava u kategoriju naredbi
uslova). Istovremeno se i bitu ija je adresa pridruena toj naredbi dodeljuje vrednost 1
(po emu se ova naredba svrstava i u kategoriju akcija). Obe ove vrednosti ostaju
nepromenjene do sledeeg sken ciklusa, kada naredba dobija vrednost neistinit, dok se
adresovani bit postavlja na vrednost 0 ili 1 u zavisnosti od vrednosti uslova. U narednim
sken ciklusima vrednost naredbe ostaje nepromenjena sve dok se u uslovu (koji
predstavlja ulaz u OSR) ponovo ne detektuje prelaz neistinit/istinit.
Potrebno je da se istakne da bit ija je adresa pridruena ovoj naredbi ne
predstavlja vrednost naredbe. Naime, ovaj bit se koristi kao interna promenljiva i slui za
pamenje vrednosti uslova koji prethodi OSR naredbi. Vrednost ovog bita je 1 ako je uslov
istinit, odnosno 0 ako je uslov neistinit. U tom smislu, sa aspekta dodeljivanja vrednosti
bitu ija se adresa navodi u OSR naredbi, ova naredba je identina sa OTE naredbom.
Navedeni bit se moe nalaziti u bilo kojoj bit-adresibilnoj datoteci izuzev datoteke ulaza i
izlaza.
Vrednost koju dobija OSR naredba koristi se kao uslov za izvoenje naredbe
akcije koja se nalazi na desnoj strani ranga (neposredno iza OSR naredbe). Shodno
tome, naredba akcije bie izvravana po jedanput pri svakom prelazu uslova
neistinit/istinit.
Iza OSR naredbe se moe nalaziti samo jedna naredba akcije. (Kod kontrolera
tipa SLC 500 i SLC 5/01 OSR naredba se ne sme nalaziti u paralelenim granama na
Leder_uvod/36

desnoj strani ranga).
Kod kontrolera tipa MicroLogix postoje i ONS i OSF naredbe. ONS naredba ima
isti efekat kao i OSR, to znai da je aktivna pri uzlaznoj ivici signala (promena sa neistinit
na istinit), dok je OSF naredba aktivna pri silaznoj ivici (promena sa istinit na neistinit),
3.2.4. PROGRAMSKI SKEN I VREMENSKI DIJAGRAM
U toku programskog skena procesor izvrava pojedinane naredbe, obraujui
rang po rang od poetka pa do kraja programa. U okviru obrade jednog ranga, procesor
ispituje stanja bitova u datotekama podataka, odreuje vrednost pojedinanih naredbi
uslova, izvrava logike I i ILI operacije nad tim vrednostima, u skladu sa nainom na koji
je formiran desni deo ranga, i kao rezultat tih operacija odreuje istinosnu vrednost
uslova. Ukoliko je ova vrednost istinit, procesor e izvriti naredbe koje se nalaze na levoj
strani ranga i koje predstavljaju akciju.
U cilju ilustracije izvravanja leder programa u PLC-u posmatraemo jedan rang
(Sl. 3-2) nekog programa. U okviru ovog ranga
ispituje se stanje jedne ulazne linije koja je
vezana za nulti pin ulaznog dela kombinovanog
U/I modula, smetenog u slotu 1 PLC-a. Na
osnovu stanja ulazne linije generie se signal na
izlaznoj liniji koja je vezana za nulti pin izlaznog
dela istog U/I modula. Na slici Sl. 3-3 prikazan
je vremenski dijagram promene signala na
ulaznoj liniji, vrednosti bita u input image file-u
koji je pridruen toj liniji, vrednosti bita u output image file-u i signala na izlaznoj liniji koji je
sa tim bitom povezan. Pretpostavljeno je da ceo program ima vie ulaznih signala i vie
izlaznih signala ije oitavanje, odnosno generisanje zahteva odreeni period vremena za
ulazni i izlazni sken interval. Isto tako, pretpostavljeno je i da se program sastoji od vie
rangova, ija obrada zahteva neki period vremena (programski sken interval).

Potrebno je da se zapazi da se stanje signala na ulaznoj liniji moe promeniti u
sken
programa
sken
programa
sken
programa
sken
programa
sken
izlaza
sken
ulaza
sken
izlaza
sken
ulaza
sken
izlaza
sken
ulaza
sken
izlaza
vreme
1 0 4 2 3
1 0 4 2 3
1 0 4 2 3
1 0 4 2 3
ulazna
linija
vrednost
bita
I:1/0
vrednost bita
O:1/0
Izlazna linija
4 3 2 1 0
sken ciklus 1 sken ciklus2 sken ciklus3
sken ciklus 4
sken
ulaza
SL. 3-2 POSTAVLJANJE IZLAZA U ZAVISNOSTI
OD VREDNOSTI ULAZA
SL. 3-3 VREMENSKI DIJAGRAM PROMENE U/I LINIJA I ODGOVARAJUEG RANGA
Leder_uvod/37

bilo kom trenutku. Meutim, vrednost bita pridruena toj liniji bie promenjena tek u toku
prvog ulaznog sken ciklusa koji nastupa posle promene stanja ulazne linije. Za vreme
programskog skena vrednost XIC naredbe se odreuje na osnovu stanja odgovarajueg
bita, a ne njemu odgovarajueg ulaznog signala. Otuda je u prvom sken ciklusu vrednost
ove naredbe 0 iako je ulazni signal ve u stanju logike jedinice. Meutim, budui da je on
promenio stanje tek posle prvog ulaznog skena, ta promena jo uvek nije registrovana
postavljanjem njemu odgovarajueg bita, koji je odgovaran za vrednost XIC naredbe. U
skladu sa tim, ne izvrava se OTE naredba, pa izlazni bit i njemu odgovarajua izlazna
linija ostaju u stanju 0. Promena na ulazu dovodi do promene ulaznog bita tek u drugom
ulaznom sken ciklusu, tako da tek u drugom programskom ciklusu XIC naredba dobija
vrednost istinit. Kao rezultat ove vrednosti izvrava se OTE naredba i izlazni bit postavlja
na vrednost 1. U toku drugog izlaznog sken ciklusa ova vrednost prenosi se na izlaznu
liniju gde se generie signal koji odgovara logikoj jedinici.
Kanjenje izmeu trenutka u kome signal na ulaznoj liniji menja vrednost i trenutka
u kome se ta promena registruje postavljanjem odgovarajueg bita, kao i kanjenje
izmeu trenutka u kome izlazni bit dobija neku vrednost i trenutka kada se ta vrednost
pojavi na izlaznoj liniji moe se izbei posebnim neposrednim naredbama, o kojima e
kasnije biti vie rei.
3.2.5. PRIMERI
PR. 3-1 UPRAVLJANJE PALJENJEM SIJALICE
ZADATAK
Posmatra se elektrino kolo (Sl. 3-4) u kome
sijalica S svetli kada je zatvoren prekida P
1
i jedan od
prekidaa P
2
ili P
3
. Potrebno je da se ovo elektrino kolo
zameni sa PLC-om.




PROJEKTOVANJE SISTEMA
Da bi se postavljeni
zadatak reio neophodno je kao
prvo da se ustanovi sa kojom
opremom se raspolae i da se
odlui kako e se ona vezati za
PLC. Pretpostavimo da imamo tri
tastera od kojih su dva normalno
otvorena i jedan normalno
zatvoren i jedno elektrino kolo u
kome se nalazi sijalica koje se
zatvara pomou releja.
Usvojiemo da normalno otvoreni
tasteri obavljaju funkciju
prekidaa P
1
i P
3
, dok e
normalno zatvoren taster obavljati
funkciju prekidaa P
2
.
U skladu sa odabranim senzorima i izvrnim organom neophodno je da raspolaemo sa tri
digitalna ulaza i jednim digitalnim izlazom. Budui da imamo PLC koji u prvom slotu ima digitalni
U/I modul, moemo izvriti vezivanje opreme. Po prirodi stvari vezaemo tri tastera za ulazne
pinove 0, 1 i 2, dok e rele na izlazu biti vezano za izlazni pin 0. Shodno tome, adrese prekidaa
P
1
, P
2
i P
3
su respektivno I:1/0, I:1/1 i I:1/2, dok je adresa sijalice O:1/0 (Sl. 3-5).
PROGRAMIRANJE
Kada je formirana ema vezivanja opreme za PLC, onda se pristupa pisanju leder
programa.
U cilju formiranja levog dela ranga treba uoiti da je uslov za paljenje sijalice da se
SL. 3-4 ELEKTRINO KOLO
SL. 3-5 SPREZANJE SENZORA I IZVRNOG ORGANA SA PLCOM
Leder_uvod/38

istovremeno pritisne taster P
1
i jedan od tastera P
2
ili P
3
. Budui da su tasteri P
1
i P
3
normalno
otvoreni, pritisak na njih dovodi do zatvaranja odgovarajuih prekidakih kola, tako da se moe
detektovati pomou XIC naredbe, koja e dobiti vrednost istinit kada su vrednosti odgovarajuih
bitova u datoteci ulaza (I:1/0 I:1/2) postavljene na 1. Pritisak na taster P
2
koji je normalno
zatvoren, dovodi do otvaranja njegovog prekidakog kola, to znai da se moe detektovati
pomou XIO naredbe, koja e dobiti vrednost istinit kada je vrednost odgovarajueg bita u datoteci
ulaza (I:1/1) postavljena na 0. Konano, kako se nad tasterima 2 i 3 zahteva logika ILI operacija,
to odgovarajue naredbe moraju biti vezane paralelno. Ispunjenost uslova treba da obezbedi da se
na izlaznom pinu generie naponski signal koji e da prouzrokuje paljenje sijalice. Ovaj zahtev se
moe ostvariti OTE naredbom. U skladu sa time odgovarajui rang leder programa ima izgled kao
na Sl. 3-6.

Svakom bitu koji se koristi u leder programu moe se pridruiti simboliko ime. U principu
nema nikakvih posebnih pravila u pogledu davanja imena. Ipak praksa je pokazala da je pogodno
da se ime formira tako da to vernije opisuje fiziko znaenje signala na koji se odnosi. Pored toga,
u cilju lake provere ispravnosti programa, pogodno je da se ime formira tako da odgovara stanju
pri kome bit koji se ispituje ima vrednost 1. Potujui taj princip, u ovom primeru je bitu I:1/0 dato
ime p1_on (bit I:1/0 ima vrednost 1 kao je P1 pritisnut (on), dok je bitu I:1/1 dato ime p2_off (bit
I:1/1 ima vrednost 1 kad je P2 nepritisnut(off). U skladu sa time prva XIC naredba koja ispituje
vrednost bita na adresi I:1/0 dobie vrednost istinit ako bit ima vrednost 1 to znai da taster P
1

jeste pritisnut. Isto tako XIO naredba koja ispituje vrednost bita na adresi I:1/1 dobie vrednost
istinit ukoliko bit nema vrednost 1, to znai da taster P
2
nije nepritisnut.
SAMODRANJE
Opisani sistem e ispravno raditi samo dotle dok se odgovarajui tasteri dre pritisnuti.
Naime, im se taster otpusti on se vraa u normalni poloaj i u sledeem sken ciklusu, uslov vie
nee biti ispunjen, pa e se sijalica ugasiti. Prirodno je meutim da se zahtev postavi tako da
sijalica nastavi da svetli i posle otputanja tastera.

Postavljeni zadatak moe se reiti tako to e se na neki nain upamtiti da je uslov za
paljenje sijalice u nekom trenutku bio ispunjen. U tu svrhu moe se na izlaznom delu ranga umesto
OTE naredbe postaviti OTL naredba koja e obezbediti trajno postavljanje (leovanje) izlaza (Sl.
SL. 3-6 LEDER PROGRAM KOJI REALIZUJE ELEKTRINO KOLO
SL. 3-7 LEDER PROGRAM KOJI TRAJNO POSTAVLJA IZLAZNI BIT ("PAMTI" AKO JE USLOV BIO ISPUNJEN)
Leder_uvod/39

3-7).
Umesto korienjem naredbe OTL isti efekat se moe postii i postupkom takozvanog
samodranja kojim se zadrava vrednost izlazne promenljive i posle prestanka uslova za njeno
aktiviranje. Naime, ako se u delu ranga koji predstavlja uslov doda jo jedna paralelna grana sa
XIC naredbom u kojoj se ispituje upravo bit koji se postavlja kao izlaz tog ranga (Sl. 3-8) onda e,
im se pritiskanjem tastera uslov prvi put ispuni, odgovarajui bit biti postavljen na 1, to znai da
e u sledeim sken ciklusima naredba u paralelnoj grani stalno imati vrednost istinit, pa se vrednost
izlaznog bita nee menjati sa promenom stanja tastera.

ZAUSTAVLJANJE
Potrebno je da se istakne da su poslednja dva primera formirana tako da e sijalica kad se
jedanput upali nastaviti da svetli neogranieno dugo. Da bi se omoguilo i gaenje sijalice
neophodno je da sistemu doda jo jedan taster (Stop). Pritiskom na ovaj taster, jedanput upaljena
sijalica, bi bila iskljuena. Ako se pretpostavi da je ovaj taster normalno otvoren i da je vezan na pin
3 istog ulaznog modula, onda se postavljeni zadatak moe realizovati na nain koji je prikazan na
slikama Sl. 3-9 i Sl. 3-10. Ovde je, naime na red sa delom ranga kojim se ostvaruje paljenje sijalice,
vezan uslov kojim se proverava da li Stop taster nije pritisnu. Sve dok Stop taster nije pritisnut,
vrednost tog dela uslova je istinita, dakle on ne utie na ponaanje sijalice. Kad se Stop taster
pritisne, vrednost tog dela uslova postaje neistinita, a budui da je to redni (serijski) uslov, i
vrednost celog ranga postaje neistinita. U tom sluaju u programu sa trajnim postavljanjem
izlaznog bita uslov u drugom rangu postaje istinit i aktivira naredba OTU (Sl. 3-9). Kod reenja sa
samodranjem, sama injenica da u rangu jedan od redno vezanih uslova postaje neistinit dovodi
do toga da je uslov neistinit pa se izlazni bit OTE naredbom postavlja na 0 (Sl. 3-10).


SL. 3-8 LEDER PROGRAM SA POSTUPKOM SAMODRANJA
SL. 3-9 LEDER PROGRAM SA TRAJNIM PAMENJEM USLOVA DO PRITISKA STOP TASTERA
Leder_uvod/40




Zapazimo da bi ceo problem oko paljenja i gaenja sijalice bio bi reen rangom koji je
prikazan na Sl. 3-6, da su umesto tastera korieni dvopoloajni prekidai.

PR. 3-2 PUTANJE SISTEMA U RAD
ZADATAK
Posmatra se sistem koji poinje da radi kada se pritisne START taster. Sistem nastavlja sa
radom sve dok se ne pritisne stop taster. Istovremeno se zahteva da se prilikom zapoinjanja rada
sistema generie impulsni signal koji realizuje brzo zamrzavanje nekog LED displeja. Potrebno je
da se formira leder program koji e podravati rad opisanog sistema uz pretpostavku da se on
puta u rad pomou jednog on/off motora.
REENJE
Neka su kola koja sadre START i STOP taster kao i kolo za pobudu motora vezani za U/I
modul koji je smeten u slotu 1 PLC-a i to na pinove kojima respektivno odgovaraju adrese I:1/0,
I:1/1 i O:1/0. Neka je nadalje signal koji upravlja zamrzavanjem displeja vezan za izlazni pin ija je
adresa O:1/1. Odgovarajui leder program dat je na Sl. 3-11.

U prvom rangu uslov je ispunjen ako je START taster pritisnut i STOP taster nije pritisnut.
U tom sluaju generisae se signal za start motora i on e biti zaleovan, tako da se njegova
vrednost nee menjati ukoliko se zbog otputanja START tastera promeni vrednost uslova.
Istovremeno e, prilikom pritiska START tastera, OSR naredba detektovati promenu neistinit/istinit
to e dovesti do toga da ona u tom sken ciklusu dobije vrednost istinit tako da e se izvriti OTE
naredba kojom se na izlazu O:1/1 generie potreban impulsni signal. Sve dok se ne pritisne STOP
taster, vrednost uslova u drugom rangu bie neistinita, tako da se naredba unletch nee izvravati.
Kada se pritisne STOP taster, uslov u prvom rangu postaje neistinit, to znai da se letch naredba
ne izvrava. Meutim, vrednost uslova u drugom rangu postaje istinita, pa se izvrava unletch
naredba, i time signal za start motora dobija vrednost logike nule, pa se motor zaustavlja.

SL. 3-10 LEDER PROGRAM SA SAMODRANJEM DO PRITISKA STOP TASTERA
SL. 3-11 START/STOP LEDER PROGRAM
Leder_uvod/41


PR. 3-3 REALIZACIJA SEKVENCE


SL. 3-12 REALIZACIJA SEKVENCE POMERANJA KLIPOVA
Leder_uvod/42


ZADATAK
Dat je sistem koji sadri jedan jednosmerni solenoid (A) i dva dvosmerna (B i C). Potrebno
je realizovati sledeu sekvencu pomeranja klipova: A+ B+ C+ B- A- C- . Pri tome se pretpostavlja
da su u poetnom trenutku svi klipovi uvueni. Granini prekidai koji indiciraju uvuenost klipa A i
B su normalno zatvoreni, dok su svi ostali granini prekidai normalno otvoreni. Sistem se puta u
rad pomou pritiska na taster i prestaje sa radom kada se jedanput izvri zahtevana sekvenca.
REENJE
Jedno mogue reenje postavljenog zadatka dato je na Sl. 3-12 Realizacija sekvence
pomeranja klipova. Pri tome je pretpostavljeno da su granini prekidai vezani za PLC preko
ulaznog modula koji se nalazi u slotu 3 (adrese I:3/b), dok se pobude solenoida dobijaju preko
izlaznih linija modula u slotu 1 (adrese O:1/b). Start taster je vezan preko nultog pina modula u
slotu 1 (I:1/0).
Interne promenljive kreni (B3:0/0) i kraj (B3:0/2) koriste za otpoinjanje i zavretak rada.
Interna promenljiva vrati A (B3:0/1) slui za deaktiviranje pobude klipa A, posle ega ga opruga
vraa u poetni poloaj.
Potrebno je da se obrati panja na injenicu da se, da ne bi dolo do sluajnog pomeranja
klipova (izazvanog recimo nekim optereenjem), oni u izvuenom poloaju dre pod naponom, sve
dok ne doe trenutak za njihovo uvlaenje. Budui da se stanje graninih prekidaa menja im se
klip pomeri, da bi se obezbedio kontinuitet napajanja koristi se postupak samodranja (rang 3 i 4).
Zapazimo, takoe, da se stanje prekidaa koji indiciraju uvuen poloaj klipa ne moe
ispitivati samo po sebi. Naime ovi prekidai su pritisnuti u poetnom stanju, pa je neophodno
utvrditi da je dolo do pokreta pre nego to su oni ponovo pritisnuti (rang 5, 6 i7).
3.3. NAREDBE ZA MERENJE VREMENA I PREBROJAVANJE DOGAAJA
3.3.1. ASOVNIK I BROJA
Prilikom upravljanja ili nadzora procesa esto je potrebno da se neka aktivnost
otpone ili zaustavi posle odreenog vremenskog perioda, ili da se ponovi odreeni broj
puta. U tom smislu neophodno je da kontroler koji e se koristiti za upravljanje procesom
prui mogunost za merenje vremena i prebrojavanje dogaaja. Prebrojavanje dogaaja
obavlja broja (counter), koji nakon registrovanja unapred zadanog broja dogaaja
generie odgovarajui signal. Merenje vremena ostvaruje se pomou asovnika (timer). U
sutini asovnik izraava vreme kao multipl odreenog osnovnog intervala (vremenska
baza). To zapravo znai da asovnik radi kao broja protoka osnovnih intervala i da nakon
isteka odreenog, unapred zadanog intervala vremena, generie odgovarajui signal.
Gledano potpuno opte merenje protoka vremena i prebrojavanje dogaaja u
okviru kontrolera moe se realizovati hardverski pomou odgovarajuih raunarskih
komponenti (modula) ili softverski (programski). Hardverska realizacija podrazumeva da
kontroler ima posebni modul koji ostvaruje funkciju asovnika i brojaa. Korisnik
odgovarajuim naredbama definie parametre modula i u toku izvravanja programa
kontrolie njegov rad. U sluaju softverske realizacije, ovu funkciju ostvaruje posebni
programski modul, koji korisnik, po potrebi, ukljuuje u svoj program i odgovarajuim
naredbama upravlja njegovim radom. Sa aspekta naina korienja, gotovo da i nema
razlike izmeu ove dve realizacije. Razlika se zapravo ogleda samo u funkcionalnom
smislu. U principu, ukoliko su asovnik i broja hardverski realizovani oni svoju funkciju
obavljaju autonomno, to znai da ne koriste procesor za svoj rad. Nasuprot tome,
softverski realizovani asovnik i broja, kao i svi drugi programski moduli, za izvoenje
svojih funkcija zahtevaju izvesno procesorsko vreme. Budui da je procesor optereen
itavim nizom poslova, to znai da postoji samo odreeno vreme koje on moe posvetiti
radu asovnika i brojaa. Otuda hardverska realizacija, bar u principu, omoguava rad sa
manjim intervalima vremena, odnosno brim ponavljanjem dogaaja od softverske. Sa
druge strane meutim, softverska realizacija omoguava da se definie i koristi praktino
neogranien broj asovnika i brojaa, jer se kao jedino ogranienje javlja veliina
raspoloive memorije.
Leder_uvod/43

U seriji kontrolera SLC 5 asovnici i brojai su realizovani softverski, i koriste se
kao naredbe akcije. Kao to je ve istaknuto ne postoji nikakvo posebno ogranienje u
pogledu njihovog broja. Potrebno je da se naglasi da su za neke od SLC 5 kontrolera, kao
i za MicroLogix kontrolere razvijeni i posebni hardverski brojai.
Pri korienju asovnika i brojaa neophodno je da se definiu sledei parametri.
Vremenska baza (t i me base) odreuje duinu osnovnog intervala vremena. Kod
fiksnog kontrolera SLC/500 i modularnog SLC 5/01, vremenska baza je definisana kao
0.01 sec. Kod kontrolera SLC 5/02, 5/03 i 5/04 bira se jedna od dve mogue vrednosti:
0.01 sec ili 1.0 sec.
Zadana vr ednost (pr eset val ue - PRE) je vrednost kojom se definie eljeni broj
osnovnog intervala vremena (ime se odreuje ukupno vreme koje asovnik treba da
izmeri), odnosno ukupni broj dogaaja koje broja treba da registruje pre nego to se
generie signal koji oznaava da su asovnik ili broja zavrili rad.
Zadana vrednost za asovnik moe da se kree u intervalu od 0 do +32767, dok se
zadana vrednost za broja kree u opsegu od -32768 do +32767.
Akumul i r ana vrednost (accumul at ed val ue - ACC) predstavlja broj osnovnih
vremenskih intervala koje je asovnik izbrojao, odnosno broj dogaaja koje broja
registrovao u nekom trenutku. Kada akumulirana vrednost postane vea ili jednaka od
zadane vrednosti asovnik, odnosno broja, zavravaju svoj rad.
Opseg dozvoljenih vrednosti za akumuliranu vrednosti isti je kao i za zadanu vrednost.
3.3.2. DATOTEKA PODATAKA O ASOVNIKU (TIMER DATA FILE)
S obzirom da je
asovnik realizovan
softverski, parametri
koji definiu njegov rad
moraju biti smeteni u
memoriji kontrolera. Za
pamenje podataka o
asovnicima koristi se
datoteka podataka broj
4 (timer file T). U ovoj
datoteci moe se
definisati najvie 256
razliitih asovnika.
Ukoliko je potrebno da
se koristi vei broj
asovnika, korisnik
moe definisati i
dodatne datoteke
(korisniki definisane datoteke) iji su brojevi od 9 do 255.
Svakom asovniku pridruuju se po jedan element koji se sastoji se od tri 16-bitne
rei (Sl. 3-13). Potrebno je da se zapazi da redni broj elementa zapravo definie jedan
odreeni asovnik unutar jedne datoteke asovnika. Svaki od tri bita stanja, kao i zadana i
akumulirana vrednost mogu se posebno adresirati i to bilo na standardan nain na koji se
formira adresa u bilo kojoj datoteci podataka, bilo preko odgovarajuih simbola. To
zapravo znai da su sledee adrese meusobno ekvivalentne:
Tf:e.1 ili Tf:e.PRE
Tf:e.2 ili Tf:e.ACC
Tf:e.0/15 ili Tf:e/15 ili Tf:e/EN
Tf:e.0/14 ili Tf:e/14 ili Tf:e/TT
Tf:e.0/13 ili Tf:e/13 ili Tf:e/DN
SL. 3-13 ELEMENAT DATOTEKE ASOVNIKA I ADRESIRANJE ASOVNIKA
Leder_uvod/44

3.3.3. NAREDBE ZA RAD SA ASOVNIKOM
Kao to je ve reeno naredbe asovnika su naredbe akcije, to znai da se
nalaze na desnoj strani ranga u leder programu. Postoje tri tipa naredbi kojima se
realizuju tri vrste asovnika, i jedna naredba kojom se stanje asovnika resetuje.
Potrebno je da se istakne da se sam asovnik i nain njegovog rada definie preko
naredbe koja se uvrtava u leder program. Drugim reima, kad se u program stavi jedna
od mogue tri naredbe i u njoj naznai adresa asovnika u odgovarajuem formatu, onda
operativni sistem sam zauzme tri rei u datoteci koja je navedena u adresi.
Ti mer on-del ay (TON)
Kao to je ve reeno,
stavljanjem ove naredbe u leder
program automatski se definie prva
vrsta asovnika i zauzimaju tri rei
koje ine elemenat broj e u datoteci
asovnika broj f. Prilikom formiranja
naredbe specificiraju se i vremenska baza (tx) i zadana vrednost (ns). Akumulirana
vrednost (na)se automatski postavlja na 0.
TON naredba zapoinje rad asovnika (prebrojavanje osnovnih vremenskih
intervala) za vreme onog programskog sken ciklusa u kome uslov u rangu u kome se
naredba nalazi prvi put postaje istinit (prelaz neistini/istinit uzlazna ivica). U svakom
sledeem sken ciklusu, sve dok je uslov istinit asovnik vri auriranje akumulirane
vrednosti (ACC) u skladu
sa proteklim vremenom
izmeu dva ciklusa.
Kada akumulirana
vrednost dostigne
zadanu vrednost,
asovnik prekida svoj rad
i postavlja DN bit na 1.
Pri tome, ako u nekom
sken ciklusu uslov
postane neistinit,
asovnik prekida svoj rad
i akumulirana vrednost
se postavlja na 0, bez
obzira da li je asovnik
pre toga izmerio
zahtevano vreme ili ne.
Bitovi stanja
asovnika menjaju se u
toku programskog sken
ciklusa na sledei nain:
DN - Timer done bit
se postavlja na 1 kada
je ACC PRE. On se
resetuje na 0 kad uslov u rangu postane neistinit.
EN - Timer enable bit se postavlja na 1 kada je uslov u rangu istinit i resetuje na 0
kada uslov postane neistinit.
TT - Timer timing bit se postavlja na 1 kada je uslov istinit i ako je ACC PRE. On se
resetuje na 0 kada uslov postane neistinit ili kada se DN bit postavi na 1, odnosno kada
se zavri merenje vremena.
U vezi sa radom asovnika potrebno je da se zapazi nekoliko injenica. Pre svega
SL. 3-14 VREMENSKI DIJAGRAM IZVRAVANJA TON NAREDBE
Leder_uvod/45

asovnik radi samo dok je uslov istinit (signal na ulazu u asovnik je u stanju on).
Istonosnu vrednost uslova pokazuje EN bit. Drugim reima, ovaj bit ima vrednost 1 onda
kada je uslov istinit i to oznaava da je rad asovnika omoguen (enable). Kada je uslov
neistinit, EN bit ima vrednost 0, to znai da je rad asovnika onemoguen. Meutim,
injenica da EN bit ima vrednost 1 ne mora da znai da asovnik zaista i radi, jer je on
mogao i da zavri rad zbog isteka zadanog vremena, a da pri tome uslov i nadalje ostane
istinit. Rad asovnika indicira TT bit. Naime, taj bit je postavljen na 1 za svo vreme za koje
asovnik aktivno meri vreme (timer timing), i postavlja se na 0 kada asovnik ne radi.
Konano, kada je vrednost DN bita 1, onda to znai da je asovnik zavrio (done) svoj
posao, tj. izmerio zadano vreme. Pri tome, DN bit ne govori o tome kada je asovnik
zavrio sa poslom, jer e on ostati na vrednosti 1 sve dok uslov ne postane neistinit.
Vremenski dijagram rada asovnika ilustrovan je na Sl. 3-14.
Stanje asovnika se moe resetovati posebnom RES naredbom, o emu e
kasnije biti vie rei.
Ti mer of f -del ay (TOF)
Ovom naredbom se definie
druga vrsta asovnika i zauzimaju tri
rei koje ine elemenat broj e u
datoteci asovnika broj f. Prilikom
formiranja naredbe specificaraju se i
vremenska baza (tx) i zadana
vrednost (ns). Akumulirana vrednost (na)se automatski postavlja na 0.
TOF naredba zapoinje rad asovnika za vreme onog programskog sken ciklusa u
kome uslov u rangu u kome se naredba nalazi prvi put postaje neistinit (prelaz
istini/neistinit silazna ivica). U svakom sledeem sken ciklusu, sve dok je uslov neistinit
asovnik vri auriranje akumulirane vrednosti (ACC) u skladu sa proteklim vremenom
izmeu dva ciklusa. Kada akumulirana vrednost dostigne zadanu vrednost, asovnik
prekida svoj rad. Pri tome, ako u nekom sken ciklusu uslov postane istinit, asovnik
prekida svoj rad i akumulirana vrednost se postavlja na 0, bez obzira da li je asovnik pre
toga izmerio zahtevano vreme ili ne.
Bitovi stanja
asovnika menjaju se u
toku programskog sken
ciklusa na sledei
nain:
DN - Timer done bit
se postavlja na 1 kada
je uslov istinit. On se
resetuje na 0 kada je
uslov neistinit i pri tome
je ACC PRE.
EN - Timer enable
bit se postavlja na 1
kada je uslov istinit, i
resetuje na 0 kada je
uslov neistinit.
TT - Timer timing bit
se postavlja na 1 kada
je uslov neistinit i pri tome
je ACC PRE. One se
resetuje na nulu kada uslov postane istinit ili kada se DN bit resetuje.
U vezi sa radom asovnika potrebno je da se zapazi nekoliko injenica. Pre svega
SL. 3-15 VREMENSKI DIJAGRAM IZVRAVANJA TOF NAREDBE
Zadano
vreme (PRE)
Uslov
EN bit
TT bit
ACC vrednost
DN bit
trenutci obrade ranga
0 10 11 12 13 14 15 16 17 19 18 20 21 22 23 24 25 26 27 28 29 8 7 6 5 4 3 2 1 9
vreme
1
9
8-a
7
6
5
4
2-a
2-b
3
13
12
11
10
14
8-b
sken ciklus
Leder_uvod/46

asovnik radi samo dok je uslov neistinit (signal na ulazu u asovnik je u stanju off).
Istonosnu vrednost uslova pokazuje EN, ali za razliku od TON naredbe, ovde on
onemoguava rad asovnika. Drugim reima, ovaj bit ima vrednost 1 onda kada je uslov
istinit i to oznaava da je rad asovnika onemoguen. Kada je uslov neistinit, EN bit ima
vrednost 0, to znai da je rad asovnika omoguen. Meutim, injenica da EN bit ima
vrednost 0 ne mora da znai da asovnik zaista i radi, jer je on mogao i da zavri rad zbog
isteka zadanog vremena, a da pri tome uslov i nadalje ostane neistinit. Rad asovnika
indicira TT bit. Naime, taj bit je postavljen na 1 za svo vreme za koje asovnik aktivno
meri vreme (timer timing), i postavlja se na 0 kada asovnik ne radi. Konano, kada je
vrednost DN bita 0, onda to znai da je asovnik zavrio (done) svoj posao, tj. izmerio
zadano vreme. Pri tome, DN bit ne govori o tome kada je asovnik zavrio sa merenjem
vremena, jer e on ostati na vrednosti 0 sve dok uslov ne postane istinit. Vremenski
dijagram rada asovnika ilustrovan je na slici Sl. 3-15.
Ret ent i ve Ti mer (RTO)
Ovom naredbom se definie trea vrsta asovnika i zauzimaju tri rei koje ine
elemenat broj e u datoteci
asovnika broj f. Prilikom formiranja
naredbe specificaraju se i
vremenska baza (tx) i zadana
vrednost (ns). Akumulirana vrednost
(na) se automatski postavlja na 0.
RTO naredba razlikuje se od
TON naredbe samo po tome to se akumulirana vrednost ne resetuje, ve zadrava i
onda kada uslov postane neistint (Sl. 3-16). Drugim reima, ovaj asovnik poinje da radi
kada uslov postane istinit, i nastavlja sa radom poveavajui akumuliranu vrednost sve
dok je uslov istinit. Kada uslov postane neistinit, asovnik prekida rad, ali se akumulirana
vrednost pri tome ne menja. To znai da e kada uslov ponovo postane istinit, asovnik
nastaviti sa radom i prethodno izmerenom vremenu (ACC) dodavati nove vrednosti. Na taj
nain ovaj asovnik
omoguuje da se
kumulativno mere
intervali vremena u
kojima je uslov bio
istinit (Sl. 3-16).
Bitovi stanja
asovnika menjaju se u
toku programskog sken
ciklusa na sledei
nain:
DN - Timer done bit
se postavlja na 1 kada
je ACC PRE
(asovnik je izmerio
zadano vreme). On se
resetuje na 0 pomou
posebne RES naredbe.
EN - Timer
enable bit se
postavlja na 1 kada je uslov u rangu istinit (rad asovnika je omoguen) i resetuje na 0
kada uslov postane neistinit (rad asovnika je onemoguen).
TT - Timer timing bit se postavlja na 1 kada je uslov istinit i ako je ACC PRE
(asovnik radi). On se resetuje na 0 kada uslov postane neistinit ili kada se DN bit
postavi na 1 (asovnik prestaje sa radom).
SL. 3-16 VREMENSKI DIJAGRAM IZVRAVANJA RTO NAREDBE
Leder_uvod/47

Reset naredba (RES)
RES naredba je naredba akcije i koristi se
za resetovanje asovnika. Kada je uslov istinit ova
naredba se izvrava tako to se u asovniku ija je
adresa (ili simboliko ime) a navedena u RES
naredbi, resetuju na nulu bitovi DN, TT i EN, kao i
akumulirana vrednost (ACC). S obzirom na nain rada oigledno je da se RES naredbe
ne sme koristiti za TOF tip asovnika.
3.3.4. NAIN RADA ASOVNIKA
Sve dok asovnik radi u svakom sken ciklusu poveava se akumulirana vrednost.
Pri tome, iznos za koji e se poveati ACC vrednost zavisi od duine trajanja sken ciklusa.
Naime, kada se prilikom obrade ranga ustanovi da su se stekli uslovi da asovnik pone
sa radom onda se istovremeno startuje jedan interni asovnik, koji se aurira preko
prekida (interapta) na svakih 0,01 sec. Broj registrovanih vremenskih intervala se smeta
u interni 8-bitni registar (bitovi 0-7 u prvoj rei). Ukoliko je u pitanju asovnik ija je
vremenska baza 0,01 sec, onda se u sledeem programskom skenu, kada se naie na
dati rang, vrednost internog registra, koja zapravo predstavlja interval vremena koji je
protekao izmeu dva sukcesivna sken-a, dodaje akumuliranoj vrednosti. Nakon toga se
interni registar resetuje na nulu i poinje ponovo da meri vreme do sledeeg skena.
Budui da je maksimalna vrednost koju moe da ima interni registar oko 2,5 sec
(255x0,01), moe se oekivati da e tajmer raditi ispravno samo ako sken ciklus ne traje
due od 2,5 sekundi. Ukoliko se tajmer koristi u programu iji sken ciklus traje due, onda
je neophodno da se ista naredba za asovnik postavi na vie mesta u programu ime e
se obezbediti da se rangovi koji sadre taj asovnik obrauju sa uestanou koja nije
vea od 2,5 sekundi. (Svaki put kada se proe kroz rang koji sadri asovnik izvrie se
auriranje internog registra i poveati akumulirana vrednost).
Ukoliko asovnik radi sa vremenskom bazom od 1 sekunde obrada asovnika je
donekle sloenija. Ovde se, naime i dalje koristi interni asovnik koji se aurira na svakih
0,01 sekundi, ali se pri tome u toku obrade ranga akumulirana vrednost aurira samo ako
je akumulirana vrednost vea ili jednaka od 1 sekunde. Pri tome se akumulurina vrednost
uveava za 1, dok se eventualni ostatak vremena pamti u internom brojau i na njega se
dodaju sledei inkrimenti od po 0,01 sekunde. Postupak auriranja akumulirane vrednosti
je takav da se moe oekivati da e asovnik raditi ispravno ako sken ciklus ne traje due
od 1,5 sekundi (maksimalni mogui ostatak posle oitavanja je 0,99, to uveano za 1,5
ini 2,5). Naravno, i ovde se problem ciklusa dueg trajanja moe prevazii stavljanjem
naredbe asovnika na vie mesta u programu.
Potrebno je da se naglasi da je pri korienju asovnika neophodno da se
posebna panja posveti naredbama za skok. Naime, i ako je trajanje sken ciklusa u
dozvoljenim granicama, moe se desiti da se nekom od naredbi za skok u jednom ili vie
suskcesivnih sken ciklusa preskoi rang koji sadri asovnik. Jasno je da se u tom sluaju
nee vriti auriranje akumulirane vrednosti. To nadalje znai da je neophodno da se
obezbedi da u sluaju bilo kakvog programskog skoka, naredba za asovnik ne bude
iskljuena iz obrade u periodu koji je dui od maksimalno dozvoljenog vremena.
Tanost asovnika (timer accuracy) je pojam koji se odnosi na duinu vremenskog
intervala koji protekne od trenutka kada se asovnik ukljui do trenutka kada DN bit
indicira da je merenje vremena zavreno. Kao to je ve istaknuto, za asovnike koji rade
sa vremenskom bazom od 0,01 sekunde tanost je u granicama od 0,01 sec sve dok
sken ciklus ne traje due od 2,5 sekunde. asovnici koji rade sa vremenskom bazom od 1
sekunde zadravaju svoju tanost ukoliko je programski sken krai od 1, 5 sec.
Neophodno je da se istakne, meutim, da tanost rada asovnika ne implicira da
e i neki dogaaj koji je vezan sa asovnikom da bude aktiviran sa istom tanou.
Aktiviranje dogaaja se ostvaruje ispitivanjem DN bita. U najveem broju sluajeva ovaj
uslov se ispituje jedanput u okviru sken ciklusa. To nadalje znai da je tanost aktiviranja
Leder_uvod/48

dogaaja odreena trajanjem jednog sken ciklusa.
3.3.5. DATOTEKA PODATAKA O BROJAU (COUNTER DATA FILE)
Budui da je
broja, isto kao i
asovnik, realizovan
softverski, parametri
koji definiu njegov
rad moraju biti
smeteni u memoriji
kontrolera. Za
pamenje podataka o
brojaima koristi se
datoteka podataka
broj 5 (counter file
C). U ovoj datoteci
moe se definisati
najvie 256 razliitih
brojaa. Ukoliko je
potrebno da se koristi
vei broj brojaa,
korisnik moe
definisati i dodatne
datoteke (korisniki
definisane datoteke)
iji su brojevi od 9 do
255.
Svakom
brojau pridruuju
se po jedan element u odgovarajuoj datoteci, koji se sastoji od tri 16-bitne re (Sl. 3-17).
Postoje dva osnovna tipa brojaa broja unapred (CTU count up) i broja unazad (CTD
count down) i oba koriste istu datoteku. Isto kao i kod asovnika i brojau i pojedinim
bitovima mogu se umesto adrese dodeliti simbolika imena.
3.3.6. NAREDBE ZA RAD SA BROJAEM
Naredbe za oba tipa brojaa su naredbe akcije, to znai da se smetaju u desni
deo ranga. Oba brojaa broje
promenu vrednosti uslova sa
neistinit na isitinit (uzlazna
ivica). Pri svim ostalim
vrednostima uslova, oni
zadravaju prebrojani iznos i
ekaju sledei prelaz. Drugim
reima, brojai se niti
putaju u rad, niti
zaustavljaju. Oni
neprekidno rade i belee (broje) svaki prelaz istinit/neistinit. Dostizanje zadane vrednosti
se signalizira postavljanjem odgovarajueg bita done bit (DN) na 1, ali se brojanje i
dalje nastavlja. Prebrojani iznos se moe izbrisati jedino posebnom RES naredbom.
Jedina razlika izmeu brojaa sastoji se u tome to prvi (CTU) broji unapred od 0
do 32767, i postavlja overflow bit (OV) na 1 kad pree 32767, dok drugi (CTD) broji
unazad, od 0 do 32767, i postavlja underflow bit (UN) kad pree 32767. Potrebno je
zapaziti da se u oba sluaja brojanje nastavlja (Sl. 3-18). Kada pree 32767, broja
unapred dodavanjem jo jednog bita dobija vrednost 32767 (u binarnoj aritmetici drugog
SL. 3-17 ELEMENAT DATOTEKE BROJAA I ADRESIRANJE BROJAA
SL. 3-18 KRUNI RAD BROJAA
15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
DN CD CU
zadana vrednost (PRE)
odbrojana vrednost (ACC)
Re 0
Re 2
Re 1
Adresibilne rei
PRE - preset value (zadana vrednost)
ACC - accumulated value (odbrojana
vrednost)
C / w . e : f b
redni broj
datoteke
4 ili 10-255
redni broj elementa
u datoteci
0 - 255
redni broj
rei
u elementu
0 - 2
redni broj
bita u rei
0 - 15
Adresibilni bitovi
CU = bit 15 - counter up enable (indikator
uslova kod brojanja unapred)
CD = bit 14 -counter down enable (indikator
uslova kod brojanja unazad)
DN = bit 13 done (indikator ostvarenog
zadanog broja)
OV = bit 12 overflow (broja unapred preao
32767)
UN = bit 11 underflow (broja unazad preao
-32768)
UA = bit 10 indikator auriranja brzog
hardverskog brojaa (HSC)
OV UN UA
Leder_uvod/49

komplementa, sa 16-bitnom rei 32767+1= 32768) i nastavlja da broji unapred od tog
broja. Na isti nain, kada broja unazad dostigne vrednost od 32768, oduzimanjem
sledeeg bita, broja dobija vrednost 32767 (u binarnoj aritmetici drugog komplementa,
sa 16-bitnom rei 32768-1= 32767) i nastavlja da broji unazad od te vrednosti. To
nadalje znai da korisnik sam mora da vodi rauna o eventualnom prekoraenju opsega.
Count up (CTU)
Bitovi stanja brojaa
menjaju se u toku programskog
sken ciklusa na sledei nain:
OV - Count up overflow bit se
postavlja na 1 kada akumulirana
vrednost (ACC) prelazi sa 32767
na 32768 (u binarnoj aritmetici drugog komplementa, sa 16-bitnom rei 32767+1=
32768), i nastavlja brojanje unapredi.
DN - Done bit se postavlja na 1 kada je ACC PRE;
CU - Count up enable bit se postavlja na 1 kada je uslov istinit, a resetuje na 0 kada je
uslov neistinit ili kada se aktivira odgovarajua RES naredba.
Count down (CTD)
Bitovi stanja brojaa
menjaju se u toku programskog
sken ciklusa na sledei nain:
UN- Count down underflow bit
se postavlja na jedan kada
akumulirana vrednost (ACC)
prelazi sa 32768 na 32767 (u binarnoj aritmetici drugog komplementa, sa 16-bitnom
rei 32768-1= 32767), i nastavlja da broji unazad od te vrednosti.
DN - done bit se postavlja na 1 kada je ACC PRE;
CD - Count down enable bit se postavlja na 1 kada je uslov istinit, a resetuje na 0 kada
je uslov neistinit ili kada se aktivira odgovarajua RES naredba.
Reset naredba (RES)
RES naredba je naredba akcije i koristi se za
resetovanje brojaa. Kada je uslov istinit ova
naredba se izvrava tako to se u brojau ija je
adresa (ili simboliko ime) navedeno u RES naredbi,
postavljaju na nulu svi indikatorski bitovi, kao i
akumulirana vrednost (ACC).
3.3.7. PRIMERI KORIENJA ASOVNIKA I BROJAA
PR. 3-4 EKSCENTAR PRESA
ZADATAK
Data je jedna ekscentar presa koja se koristi za izradu zatvaraa za flae. Zatvarai se
proizvode tako to se komad metala stavi na postolje ispod bata prese koji se pomera u vertikalnoj
ravni (dole gore). Bat udara u metal kada doe u krajnji donji poloaj i deformie ga, odnosno
oblikuje na enjeni nain. Za bat prese privrena je poluga iji je gornji kraj vezan ekscentrino
za osovinu prese. Poloaj take vezivanja odabran je tako da obrtanje osovine prese uzrokuje
linearno (vertikalno) pomeranje bata. Pri tome, za vreme za koje osovina prese napravi pun obrt,
bat prese pree put od gornjeg krajnjeg do donjeg krajnjeg poloaja i nazad. Obrtanje osovine
prese ostvaruje se preko motora ija je osovina vezana sa osovinom prese preko frikcione
spojnice. Uproeni model opisane prese prikazan je na slici Sl. 3-19.
Leder_uvod/50

Na presi radi radnik koji
postavlja komad metala ispod bata,
zatim aktivira presu, saeka da ona
zavri jedan krug, izvadi zatvara i
stavlja novi komad metala.
Potrebno je napraviti sistem
koji e pomou PLC-a upravljati
radom prese. Sistem treba da je
projektovan tako da obezbedi
maksimalnu zatitu radnika u toku
rada.
REENJE
Polazei od funkcionalnog
opisa ureaja oigledno je da bi
presom trebalo da se upravlja tako
to e posluilac prese na neki nain
dati znak za pokretanje bata
prese. Tada e frikciona spojnica
spojiti osovinu prese na motor i on e pokrenuti bat. Kada bat napravi jedan puni radni ciklus
(goredolegore), spojnica rastavlja motor od prese i presa se zaustavlja.
Iz navedenog opisa eljenog rada prese izvesno je da mora da postoji jedan prekida
kojim se motor puta u rad. Pri tome, postoje dve mogunosti. Ili da se sa svakom aktivacijom
prese motor pokree i zaustavlja ili da se jedanput pokrenut motor stalno vrti, dok se radom same
prese upravlja iskljuivo preko spojnice. Imajui u vidu da je proces proizvodnje zatvaraa serijski
proces, ovo drugo reenje je povoljnije. Budui da je brzina motora konstantna za upravljanje je
dovoljan jedan digitalni signal koji emo vezati za nulti pin izlaznog dela digitalnog U/I modula u
prvom slotu. Simboliko ime ovog signala je "motor_on". Ovaj motor pokretae se pritiskom na
jedan poseban taster "start" i zaustavljati pritiskom na taster "stop". Signale sa ova dva tastera
dovodiemo na ulazni deo digitalnog U/I modula i to na pinove 0 i 1.
Radom spojnice upravlja se preko jednog elektromagneta koji, kada ima prikljueno
napajanje, aktivira frikcionu spojnicu, ime se obrtni momenat motora prenese na osovinu
ekscentar-prese. Elektromagnet se napaja jednosmernim naponom od 24V. Otuda nam je
neophodan jo jedan digitalni izlazni signal. Neka je on vezan za pin 1 izlaznog dela digitalnog U/I
modula u prvom slotu i neka je njegovo simboliko ime "spoj_on".
Da bi presom moglo da se upravlja neophodno je da se raspolae sa informacijom o
poloaju bata. Ovaj problem emo reiti postavljanjem jednog graninog prekidaa na samu presu i
to tako da je on zatvoren kada je presa u gornjem graninom poloaju. Digitalnom signalu sa ovog
prekidaa daemo simboliko ime "swggr_on" i doveemo ga na drugi pin ulaznog dela U/I
modula u prvom slotu.
Preostaje jo da reimo nain na koji rukovaoc presom puta presu u rad. Izvesno je da bi
se to moglo reiti postavljanjem jednog tastera koji se pritisne svaki put kad presa treba da napravi
jedan hod. Meutim, ovo reenje bi moglo ozbiljno da ugrozi bezbednost radnika. Naime, njegov
radni proces sastojao bi se u tome to on uzme komad metala, stavi ga ispod prese, pritisne taster,
saeka da presa izvri jedan puni radni ciklus, izvadi formirani zatvara i stavi novi komad metala.
U elji da se taj proces odvija to bre, rukovaoc presom bi mogao da odlui da jednom rukom
pritiska taster, a drugom postavlja materijal ispod prese. Jasno je da bi bio dovoljan samo jedan
trenutak nepanje pa da on ozbiljno povredi ruku. To nadalje znai da je neophodno da se osmisli
takav nain putanja prese u rad da je potpuno izvesno da se u tom trenutku nijedna njegova ruka
ne nalazi ispod bata. Ovako formulisan zahtev prirodno namee ideju da se presa puta u rad
pomou dva prostorno udaljena tastera koji se mogu istovremeno pritisnuti samo sa obe ruke.
Postaviemo zato uz presu dva tastera za desnu i levu ruku i signale sa njih doveemo na trei i
etvrti pin ulaznog dela digitalnog U/I modula u prvom slotu. ("taster_lr_on" i "taster_dr_on").
Budui da je osmiljena potrebna oprema (senzori i izvrni organi) moe se pristupiti
formiranju samog algoritma upravljanja i pisanju LADDER programa. U tom cilju neophodno je da
se ree dva problema. Prvi, jednostavniji, odnosi se na detekciju trenutka kada je presa zavrila
puni ciklus. Jasno je da e, kada je poluga bata u gornjem graninom poloaju, granini prekida
biti pritisnut. Problem je meutim u tome to on to stanje ima i na poetku pre bilo kakvog
pomeranja bata i na kraju svakog punog ciklusa. Otuda, samo stanje graninog prekidaa ne
govori o tome da li je pokret izvren ili ne. Da bi se ovaj problem prevaziao, uvodi se jedna interna
bit promenljiva (u programu oznaena kao hod) koja se postavlja dok se bat pomera. Na taj nain,
SL. 3-19 EMATSKI PRIKAZ EKSCENTAR PRESE
Osovina
motora
Glavna
osovina
motora
Frikciona
spojnica
Poluga bata
Ekscentrina
aura
Bat prese
Hod bata
Leder_uvod/51

kada se ustanovi da je granini prekida zatvoren, potrebno je proveriti da li je istovremeno i interni
bit (hod) i tek ta dva uslova zajedno ukazuju da je presa zavrila jedan puni ciklus.

Drugi problem vezan je za ostvarivanje pune zatite rukovaoca presom. Praksa pokazuje
da postavljanjem dva tastera problem i dalje nije reen. Naime, moe se desiti da rukovaoc,
zanemarujui sopstvenu bezbednost, odlui da mu je lake i bre da radi tako to e jedan od dva
tastera zaglaviti tako da stalno bude pritisnut, pa e onda jednom rukom pritiskati drugi taster, a
drugom menjati materijal. Na je zadatak, da algoritam osmislimo tako da nateramo rukovaoca
presom da sa obe ruke istovremeno pritiska tastere. Jedan od naina da se postavljeni problem
SL. 3-20 LEDER PROGRAM SA TRAJNIM PAMENJEM BITA ZA UPRAVLJANJE EKSCENTAR PRESOM
Leder_uvod/52

rei je da se uslov za aktiviranje spojnice postavi tako da se ona ne sme aktivirati ako je jedan od
tastera stalno pritisnut, odnosno ako izmeu pritiskanja jednog i drugog tastera proe vie od
nekog vremenskog intervala. Recimo da je to 500ms.

Dve varijante LADDER programa kojima se realizuje navedeni algoritam prikazane su na
Sl. 3-20 i Sl. 3-21.
Posmatrajmo kao prvo program koji koristi naredbe za trajno pamenje bitova (Sl. 3-20). U
toku programskog sken ciklusa obrauje se rang po rang. Sve dok se ne pritisne "start" taster uslov
u rangu 0 nee biti istinit pa motor nee dobiti pobudu. Otuda je potpuno nebitno ta e se deavati
SL. 3-21 LEDER PROGRAM SA SAMODRANJEM ZA UPRAVLJANJE EKSCENTAR PRESOM
Leder_uvod/53

u sledeim rangovima jer presa nee raditi. Rang 1 e biti istinit tek kada se pritisne "stop" taster i
tada e motor izgubiti pobudu. U meuvremenu rad prese bie diktiran ostalim rangovima
programa.
Kada se pritisne taster leve ili desne ruke (ili oba) asovnik e poeti da meri vreme. Pri
tome, budui da se taster nakon pritiska moe i otpustiti, informacija o tome da je on bio pritisnut
pamti se trajno u jednom internom bitu, koji se onda u sledeem rangu (broj 3) koristi kao uslov za
pokretanje asovnika. Ovde je potrebno zapaziti da bi asovnik neprekidno radio kada bi jedan od
tastera bio zaglavljen u pritisnutom poloaju, to znai da bi on stalno pokazivao vreme koje je vee
od 500ms.
Sledei rang (broj 4) slui za aktiviranje spojnice. Uslov da bi se spojnica aktivirila je da su
oba tastera prititsnuta, da od trenutka pritiska prvog od njih nije proteklo vie od 500ms, i da se
presa nalazi u gornjem graninom poloaju. Ukoliko je spojnica aktivirana, dolazi do pokreta to
znai da se otvara gornji granini prekida. Kada su ova dva uslova istovremeno istinita, u rangu
broj 5 e se postaviti indikator pokreta bata . Konano, ako je dolo do pokreta i pri tome je gornji
granini prekida zatvoren (hod), u rangu broj 6 se resetuje pobuda spojnice i svi upameni bitovi,
ime se omoguava izvravanje sledeeg ciklusa rada prese. (Podsetimo se da za svaku OTL
naredbu u programu mora da se stavi i OTU naredba koja e pod datim uslovima resetovati trajno
postavljen bit).
Program sa samodranjem prati istu osnovnu logiku (Sl. 3-21). Razlika je jedino u tome to
se ovde u svakom rangu u kome se postavljaju bitovi, pomou paralelne grane obezbeuje da
uslov bude istinit i kada neki od tastera ili prekidaa promeni stanje. Pri tome, da bi se obezbedilo
da se ovi bitovi resetuju kada se zavri jedan ciklus rada prese uvodi se interna promenljiva "kraj"
koja se postavlja na 1 kada se ciklus prese zavri. Posle toga, u sledeem programskom sken
ciklusu uslovi u svim rangovima bie neistiniti (jer se u njima ispituje promenljiva "kraj").

PR. 3-5 REGULACIJA PROTOKA VAZDUHA
ZADATAK
Posmatra se neki ventil ijim radom se upravlja pomou jednosmernog solenoida (A). Pri
tome, kada se aktvira ventil, pritisak vazduha dostie eljeni nivo u roku od 5 sekundi. Nakon toga,
ventilom se moe upravljati (pomeranjem klipa solenoida) i to u vremenu od 10 sekundi. Posle
isteka 10 sekundi, opruga solenoida vraa klip u poetni poloaj i zatvara ventil.
REENJE
Dva mogua reenja postavljenog problema, od kojih jedno koristi izlaznu naredbu sa
trajnim postavljanjem bita, a drugo postupak samodranja, prikazana su na Sl. 3-22 i Sl. 3-23.
Pretpostavljeno je da se signal sa prekidaa za otpoinjanje programa vodi na nulti pin digitalnog
ulaza (simboliko ime START_ON), a da se signal na prikljuak A+ solenoida vodi preko nultog
pina digitalnog izlaza (simboliko ime MOVE_APLUS).
Pri analizi programa potrebno je imati na umu da se u svakom sken ciklusu ispituje redom
rang po rang. Pri tome, akcija e se izvriti samo u onim rangovima u kojima je uslov istinit. Tako
e na primer, u prvom prolazu biti aktivan samo rang 0 i on e ostati jedini aktivan u svim sledeim
sken ciklusima, sve dok ne istekne 5 sekundi.
U sken ciklusu u kome se dostie 5 sekundi, asovnik PRITISAK e postaviti DN bit, tako
da e uslov u rangu 1 biti istinit, pa e on postati aktivan i postaviti MOVE_APLUS na 1. Budui da
se ta promenljiva ispituje u rangu 2 i on e postati aktivan u istom sken ciklusu pa e pokrenuti
asovnik CONTROL. Uslov u rangu 3 (verzija sa trajnim postavljanjem bita Sl. 3-22) e i dalje biti
neistinit, pa se taj rang nee aktivirati.
U narednim sken ciklusima, sve dok ne proe 10 sekundi bie istinit samo uslov u rangu 2.
Konano, kada asovnik CONTROL izmeri 10 sekundi, on e postaviti svoj DN bit na 1. Odmah
zatim, u sledeem rangu u programu sa trajnim postavljanjem bita (Sl. 3-22), bit MOVE_APLUS
e biti resetovan i ventil e se zatvoriti. Kod programa sa samodranjem (Sl. 3-23) to e se desiti
tek u sledeem sken ciklusu, kada uslov u paralelnoj grani ranga 2 postane neistinit.
Potrebno je obratiti panju na injenicu da program u kome se koristi samodranje ima
jedan rang manje i to zato to se kod njega u okviru istog ranga ostvaruje i aktiviranje i
deaktiviranje signala A+. U programu u kome se koristi trajno postavljanje bita, aktivacija solenoida
se postie u jednom rangu i to na isti nain na koji se to ostvaruje kod samodranja, dok se
deaktivacija, prirodno, mora nai u zasebnom rangu. U ovom primeru ta injenica pojednostavljuje
zavretak programa, te nije neophodno da se uvodi interna promenljiva koja oznaava kraj rada.

Leder_uvod/54




SL. 3-22 LEDER PROGRAM ZA REGULACIJU PROTOKA VAZDUHA SA TRAJNIM PAMENJEM BITA
SL. 3-23 LEDER PROGRAM ZA REGULACIJU PROTOKA VAZDUHA SA SAMODRANJEM
Leder_uvod/55



PR. 3-6 PALJENJE I GAENJE SIGNALNE LAMPE
ZADATAK
Pretpostavlja se da postoji neki hidraulicni mehanizam za iji rad je neophodno da se ulje
zagreje do odreene temperature. Pri tome se postizanje zadane temperature detektuje pomou
jednog termo-prekidaa koji daje binarni signal kada temperatura postigne eljenu vrednost. Za
vreme procesa zagrevanja ulja neophodno je da se signalna lampa pali i gasi, ime se indicira da
se ulje zagreva. Kada ulje dostigne eljenu temperaturu, signalna lampa poinje stalno da svetli.
Sistem se puta u rad pritiskom na jedan dvopoloajni prekida.
REENJE
Pretpostavimo da je prekida za putanje sistema u rad vezan za nulti pin ulaznog modula,
tako da ima adresu I:1/0 i neka je njegovo simboliko ime START_ON. Indikator temperature je
vezan za prvi pin, tako da je adresa signala I:1/1, i pridrueno simboliko ime KRAJ_GREJANJA.
Signalan sijalica je vezana za pin 0 izlaznog modula (adresa O:2/0) i dodeljeno joj je simbolino
ime LAMPA_ON.
Jedno mogue reenje postavljenog zadatka prikazano je na slici Sl. 3-24. Paljenje i
gaenje signalne lampe ostvaruje se korienjem dva asovnika od kojih je jedan TON tipa
(simboliko ime PALI), a drugi TOF tipa (simboliko ime GASI) i koji su vezani tako da, za svo
vreme za koje traje grejanje ulja, rade u protiv fazi.

Pre prvog prolaza kroz program nijedan od asovnika ne radi, tako da su njihovi
odgovarajui DN bitovi postavljeni na 0 (PALI/DN) odnosno 1 (GASI/DN). U skladu sa time uslov
ranga 0 e biti neistinit (PALI/EN=0), te asovnik PALI nee raditi. Uslov ranga 1 e zbog toga biti
neistinit i pokrenue asovnik GASI. Uslov u rangu 2 je neistinit i sijalica ne svetli. Ovakvo stanje
trajae dok asovnik GASI ne izmeri zadano vreme (ovde je usvojeno da to bude 1 sec). Kada
protekne 1 sekunda, asovnik GASI je zavrio rad i njegov DN bit postaje 0. U sledeem sken
ciklusu, uslov u rangu 0 e biti istinit (PALI/EN=1) i aktivirae se asovnik PALI.
SL. 3-24 - LEDER PROGRAM ZA PALJENJE I GAENJE SIJALICE
Leder_uvod/56

Uslov za rad asovnika GASI je i dalje neistinit, to znai da bi on mogao da radi. Meutim,
kako je on izmerio zadano vreme i kako njegov DN bit nije resetovan (resetuje ga promena uslova
na istinit), to on nee raditi (GASI/TT=0). Uslov u rangu 2 je istinit, te sijalica svetli. Ovakva
situacija ostae i u svim sledeim sken ciklusima sve dok ne proe 1 sekunda, kada e da se
postavi PALI/DN bit na 1. Uslov u rangu 1 postaje istinit to dovodi do resetovanja GASI/DN bita
(postavlja se na 1). Sijalica i dalje svetli. U sledeem sken ciklusu uslov u rangu 0 postaje neistinit
(resetuju se bitovi asovnika
PALI). Zbog toga se u rangu
1 aktivira asovnik GASI
(GASI/TT=1). Sijalica se gasi
u rangu 3 i ceo ciklus se
ponavlja.
Potrebno je zapaziti
da se svaki od asovnika
aktivira pomou DN bita
drugog asovnika. To je
ujedno i razlog, zato
asovnici ne mogu biti istog
tipa (oba TON ili oba TOF).
Naime, u tom sluaju ne bi
bilo mogue da se otpone sa
radom, jer bi na poetku oba
DN bita imala istu
vrednost (0 ili 1).
Vremenski dijagram
promene odgovarajuih bitova dat je na Sl. 3-25. Sve dok se ne dostigne eljena temperatura, bit
oznaen kao KRAJ_GREJANJA ima vrednost 0, to znai da sijalica svetli samo za ono vreme za
koje radi asovnik PALI, odnosno za koje je njegov EN bit postavljen na 1. Kada se dostigne
zadana temperatura sijalica e stalno svetleti zahvaljujui samodranju u rangu 2.

PR. 3-7 MAINA ZA PAKOVANJE
ZADATAK
Posmatra se jedna maina koja pakuje konzerve u kutiju i to tako da u kutiji ima tri reda
konzervi, pri emu u svakom redu ima po 5 konzervi. Maina radi tako to se pomou jednog klipa
(A) konzerve koje dolaze preko pokretne trake guraju, jedna po jedna, na pomono postolje. Kada
se na postolje smesti 5 konzervi, onda se one, sve zajedno, pomou drugog klipa (B) gurnu u
kutiju. U skladu sa time, za pakovanje jedne kutije potrebno je da se ostvari sledea sekvenca
pomeranja klipova:
[ (A+ A-)x5 B+ B-]x3
REENJE
Dva mogua reenja (sa i bez leovanja) data su na Sl. 3-26 i Error! Reference source
not found..
U prvom reenju (Sl. 3-26) je pretpostavljeno da su i klip A koji pomera konzerve i klip B
koji pomera ceo red konzervi dvosmerni solenoidi, to znai da se mora upravljati pokretima u oba
smera. Pri tome se signali za napajanje vode preko digitalnih izlaza u prvom slotu, pinovi od 0 do 4
redom za A-, A+, B- i B+. Senzori poloaja oba klipa su normalno otvoreni prekidai iji signali se
dovode na digitalni ulaz u prvom slotu i to na pinove od 1 do 4 redom za a-, a+, b- i b+. Taster za
otpoinjanje rada vezan je za pin 0. Budui da se poetak rada zadaje tasterom, neophodno je da
se koristi interna promenljiva koja e pamtiti da je taster u nekom trenutku bio pritisnut. U programu
je ta promenljiva oznaena sa "nije kraj" i ona zapravo utie na istinitost uslova ranga broj 1 kojim
se zapoinje ceo ciklus pokretanja klipova.
Za brojanje konzervi koristi se programski broja na adresi C5:1 ("Brojac_5"), dok se za
brojanje redova konzervi koristi programski broja C5:0 ("Brojac_3").
Sam program je veoma jednostavan i njegova logika se moe pratiti uz pomo komentara
koji su dati uz svaki rang. Napomenimo, da je dobra programerska praksa da se program opie
detaljnim komentarima. Ovo ne samo da olakava traenje greaka pri testiranju programa, ve je
od neobine koristi i kasnije kada doe do eventualnih modifikacija programa. Program je
realizovan pomou tehnike samodranja. Samo se po sebi razume da se zadatak moe reiti i
pomou naredbi za trajno postavljanje bitova.
SL. 3-25. VREMENSKI DIJAGRAM PROMENE INDIKATORSKIH BITOVA
ASOVNIKA
GASI_DN
GASI_TT
GASI_EN
PALI_DN
PALI_TT
PALI_EN
1
2
5
6
8
7
2
3
4
1 sec
1 sec
9
10
11
12
13
1 sec
14
15
svetli svetli
1 sec
sken
ciklus
Leder_uvod/57





Leder_uvod/58


Kao i kod primera sa upravljanjem ekscentar presom i pri korienju solenoida pokazuje se
da testiranje stanja prekidaa nije dovoljno da bi se pratio njihov rad. Jasno je da je, kada je
solenoid potpuno uvuen, njegov prekida na "-" kraju pritisnut, no on to stanje ima i na poetku
pre bilo kakvog pomeranja klipa i na kraju svakog punog ciklusa (pomeranje napred nazad).
Drugim reima, samo stanje prekidaa "-" ne govori o tome da li je pokret izvren ili ne. Da bi se
ovaj problem prevaziao, uvodi se jedna interna bit promenljiva (u programu oznaena kao hod
unazad) koja se postavlja dok se klip pomera. Na taj nain stanje te promenljive, zajedno sa
stanjem prekidaa na "-" kraju solenoida ukazuju na to da li je ciklus zavren ili ne.
U drugom reenju (Error! Reference source not found.) je pretpostavljeno da je klip A
dvosmerni solenoid, dok je klip B jednosmerni solenoid, koga opruga vraa u poetni poloaj im
prestane napajanje njegovog kraja. Pri tome se signali za napajanje vode preko istih pinova kao i u
prvom reenju, s tim to je pin 3 slobodan (nema napajanja za kraj B-). Granini prekidai oba klipa
vezani su na isti nain, s tim to je su prekidai klipa B realizovani kao normalno zatvoreni kontakti.
Program je realizovan pomou naredbi za trajno pamenje bitova. Sama logika programa je veoma
slina prvom reenju, tako da nema potrebe da se posebno komentarie.

SL. 3-26 LEDER PROGRAM ZA UPRAVLJANJE MAINOM ZA PAKOVANJE KOJA IMA DVA SOLENOIDA SA PO
DVA KRAJA
Leder_uvod/59




SL. 3-27 LEDER PROGRAM ZA UPRAVLJANJE MAINOM ZA PAKOVANJE KOJA IMA JEDAN SOLENOID SA DVA
KRAJA I JEDAN SOLENOID SA OPRUGOM
Plc_math/61


4. LEDER NAREDBE ZA OPERACIJE NAD PODACIMA
4.1. NAREDBE ZA OPERACIJE NAD PODACIMA
U realizaciji razliitih algoritama esto je potrebno da se izvre odreena
izraunavanja, da se prenesu odgovarajue poruke ili da se u zavisnosti od vrednosti
nekih parametara promeni algoritam obrade. U osnovi svih navedenih aktivnosti nalaze
se promenljive podaci koji predstavljaju operande ili rezultate u razliitim matematikim
ili logikim operacijama.
operandi
Kao to je ve reeno, promenljive se u memoriji kontrolera pamte kao numeriki
podaci ili alfanumeriki podaci stringovi. Numeriki podaci se pri tome mogu pamtiti kao
celobrojne vrednosti (integers) ili decimalni brojevi prikazani u tehnici pokretnog zareza
(floating point). Razliiti tipovi numerikih podataka smetaju se u datoteke podataka
odgovarajueg tipa.
Celobrojni podaci smetaju se u datoteke tipa N, to znai da je njihova adresa
oblika Nn:w, gde je n broj datoteke (7 ili bilo koji broj od 9 do 255), a w redni broj rei u
datoteci (0 do 255). Realni podaci smetaju se u datoteke tipa F, to znai da je njihova
adresa oblika Fn:w, gde je n broj datoteke (8ili bilo koji broj od 9 do 255), a w redni broj
rei u datoteci (0 do 255).
U principu, operandi mogu biti promenljive iz bilo koje datoteke. Potrebno je uoiti,
meutim, da iako se dozvoljava korienje bit-adresibilnih datoteka (B,I,O), podaci
smeteni u njima se u ovim operacijama mogu koristiti samo kao cele rei (elementi), to
znai da se operacija ne moe izvoditi nad pojedinim bitovima. Pored toga, u datotekama
asovnika i brojaa (T i C) mogu se kao operandi koristiti samo druga i trea re elementa
koje predstavljaju akumuliranu vrednost (ACC) i zadanu vrednost (PRE). Konano, kao
operandi se mogu javiti i neke promenljive iz kontrolne datoteke (R). O znaenju i ulozi
ovih promenljivih bie rei kasnije.
Pri adresiranju promenljivih moe se, pored direktnog adresiranja, koristiti i
indeksno i indirektno adresiranje.
Pored promenljivih, operandi u pojedinim operacijama mogu biti i programske
konstante nepromenljive veliine koje se definiu eksplicitnim navoenjem vrednosti u
okviru naredbe. Pri tome, nije dozvoljeno da oba operanda budu programske konstante.
Samo se po sebi razume da se programska konstanta ne moe koristiti kao rezultat.
operaci j e
Operacija koja treba da se izvri nad operandima definie se u okviru naredbe.
Najvei broj ovih naredbi pojavljuju se kao naredbe akcije. Ovo je sasvim prirodno ako se
ima u vidu da je glavna svrha ovih naredbi da se obavi neka aritmetika ili logika
operacija nad operandima i dobijeni rezultat upamti kao odgovarajua promenljiva.
Drugim reima, sam proces izraunavanja predstavlja jednu akciju, ije izvravanje moe
biti uslovljeno istinosnom vrednou nekog uslova koji se nalazi u levom delu ranga.
Izuzetak su jedino naredbe za poreenje, koje opet, po svojoj prirodi, proveravaju da li je
neka relacija izmeu operanada ispunjena ili nije odnosno da li njena vrednost istinita ili
neistinita. Shodno tome, takve naredbe moraju biti naredbe uslova, tako da je rezultat
njihovog izvoenja istinosna vrednost naredbe.
4.2. NAREDBE ZA POREENJE
Naredbe za poreenje su naredbe uslova. U okviru ovih naredbi proverava se
istinosna vrednost relacije izmeu dva operanda. Kao rezultat provere naredba dobija
vrednost istinit ili neistinit.
Jedna grupa naredbi za poreenje ima oblik kao to je to prikazano na Sl. 4-1. U
Plc_math/62

tabeli T. 4-1 dat je pregled svih naredbi za poreenje iz ove grupe. Potrebno je da se
istakne da je prvi operand je uvek promenljiva, dok drugi operand moe biti ili promenljiva
ili
progra
mska
konsta
nta.

Kod
naredbe
Ime naredbe
relacija
istinita ako je neistinita ako je
EQU Equal (jednako) A = B A B
NEQ Not equal (nejednako) A B A = B
LES Less than (manje) A < B A > B
LEQ Less than or equal (manje ili jednako) A B A B
GRT Greater than (vee) A > B A < B
GEQ Greater than or equal (vee ili jednako) A B A B

Pored navedenih naredbe meu naredbama za poreenje postoje i sledee dve
naredbe.
MEQ - masked comparison for equal (ispitivanje jednakosti pojedinih bitova)




Ova naredba slui za poreenje delova pojedinih rei. Naime na poloaju onih
bitova koji ne uestvuju u poreenju (maskirani bitovi) u maski se stavljaju nule. Ostali
bitovi maske, koji odgovaraju bitovima koji se porede (nemaskirani bitovi), se postavljaju
na 1. Ukoliko su bitovi operanda i reference koji nisu maskirani meusobno jednaki
naredba ima vrednost istinit. U protivnom ona ima vrednost neistinit. Pri definisanju
maske, pogodno je koristiti heksadecimalnu konstantu ili promenljivu.
LI M Limit test (ispitivanje granica)
LIM naredbom se proverava da li se vrednost operanda Test nalazi unutar datih
granica. Ako je donja granica manja od gornje granice, vrednost naredbe je istinita ako
operand pripada segmentu koji odreuju granice. Potrebno je obratiti panju na injenicu
da donja granica moe biti i vea od gornje granice. U tom sluaju naredba je istinita
ako se operand nalazi izvan granica ili na njima, a neistinita ako operand pripada intervalu
koji odreuju granice.
Ako je operand test konstanta, onda obe granice moraju biti adrese promenljivih.
SL. 4-1 OPTI IZGLED NAREDBE ZA POREENJE
T. 4-1 GRUPA NAREDBI ZA POREENJE
SL. 4-2 NAREDBA ZA POREENJE POJEDINIH BITOVA
Plc_math/63

Meutim, ukoliko je test adresa promenljive, onda granice mogu biti bilo adrese
promenljivih bilo konstante.




4.3. MATEMATIKE NAREDBE
4.3.1. OPTE NAPOMENE
Kako im i samo ime kae, matematike naredbe slue za realizaciju razliitih
operacija nad operandima. Ove naredbe su naredbe akcije i u najveem broju sluajeva
imaju dva operanda. Izvravanjem naredbe obavlja se zahtevana matematika operacija
nad operandima i dobija rezultat ija se vrednost pamti. Operandi mogu biti programske
promenljive ili konstante, s tim to oba operanda ne mogu biti konstante.
POSTAVLJANJE INDIKATORSKIH BITOVA
Tok izvoenje zahtevane operacije u smislu prekoraenja dozvoljenog opsega
brojeva, prenosa, pokuaja deljenja sa nulom itd, moe se pratiti preko vrednosti
indikatorski bitova u datoteci 2 (Status), koje se automatski postavljaju kad se naredba
izvrava. Pri tome se postavljaju sledei bitovi.
S: 0/ 0 Carr y bi t (C) Ovaj bit se postavlja na 1 kada pri obavljanju operacije
dolazi do prenosa bita iz najvie, 15. lokacije, u protivnom bit C ima vrednost 0. Sa
aspekta korisnika, vrednost ovog bita je od znaaja ako se operacije izvode nad
celobrojnim pozitivnim vrednostima. U tom sluaju, ako je bit C postavljen na 1, onda to
znai da je prilikom sabiranja dobijen rezultat koji ima vie od 16 bitova, ili da je od
manjeg broja oduzet vei broj.
S: 0/ 1 Overf l ow bi t (V) Ovaj bit se postavlja na vrednost 1 onda kada je rezultat
matematike operacije premaio dozvoljeni opseg brojeva., ili ako je operacijom
zahtevano deljenje sa nulom, u protivnom vrednost bita V je 0. Oigledno je da se ovaj
bit zapravo koristi pri izvoenju matematikih operacija nad celobrojnim ili realnim
vrednostima. Pri tome, ako su operandi celobrojne promenljive i pri izvoenju operacije
doe do prekoraenja opsega, onda se kao rezultat dobija ili gornja (32767) ili donja
granica opsega (-32768). Napomenimo, da se negativni brojevi i kod celobrojnih i kod
realnih promenljivih predstavljaju u tehnici drugog komplementa.
S: 0/ 2 Zero bi t (Z) Ovaj bit se postavlja na vrednost 1 ako je rezultat zahtevane
operacije jednak nuli, u protivnom Z bit ima vrednost 0.
S: 0/ 3 Si gn bi t (S) Ovaj bit se postavlja na vrednost 1 ako je rezultat matematike
operacije negativan, (odnosno ako bit 15 rezultata ima vrednost 1), u protivnom
vrednost bita S je nula.
SL. 4-3 NAREDBA ZA PROVERU GRANICA
Plc_math/64

S: 5/ 0 Overf l ow t rap bi t Ovaj bit se postavlja na 1 onda kada je overflow bit V bit
postavljen na 1. Pri tome, ako se vrednost bita S:5/0 ne resetuje na nulu, pre zavretka
programskog sken ciklusa, operativni sistem e signalizirati da je dolo do popravljive
greke (kod greke 0020). Izraz popravljiva, zapravo oznaava da nee doi do prekida
rada programa, ve se samo korisniku skree panja da negde u zahtevanim
operacijama ima problema, jer rezultati premauju dozvoljeni opseg brojeva.
IZVOENJE OPERACIJA CELOBROJNOG MNOENJA I DELJENJA
MATEMATIKI REGISTAR S:13 I S:14
Ako su operandi celobrojne promenljive duine 1 rei (16 bita) i ako se zahteva
njihovo mnoenje onda
rezultat ima 32 bita. Budui
da rezultat treba da se
upamti, ponovo kao
celobrojna promenljiva,
onda je jasno da se
postavlja pitanje ta raditi
sa eventualnim vikom
bitova koji se nalaze na
pozicijama od 16 pa
navie. Da bi se omoguio
ispravan rad i u ovom
sluaju, koriste se dve
rei datoteke 2 (Status)
i to na S:13 i S:14 koje
predstavljaju 32-bitni matematiki registar. Naime, prilikom izvoenja mnoenja, rezultat
se dobija u matematikom registru i to tako to re na adresi S:13 sadri prvih (manje
znaajnih) 16 bitova rezultata, dok S:14 sadri preostalih (vie znaajnih) 16 bitova
rezultata. Pri tome, se donji, manje znaajni, deo rezultata istovremeno smeta i na
adresu koja je u naredbi navedena kao promenljiva u kojoj se uva rezultat Sl. 4-4.
Korisnik, tako ima mogunost da proverom overflow bita V ustanovi da li je prilikom
mnoenja dobijen rezultat koji vei od 15 bitova, i ako jeste moe nekom programskom
naredbom obezbediti da se i sadraj rei S:14 upamti na nekoj adresi. Naravno, u tom
sluaju korisnik treba da obezbedi i da se resetuje overflow trap bit, jer e u protivnom
dobiti poruku o greci.
Kod deljenja celih
brojeva neminovno dolazi
do situacije u kojoj se
pojavljuje ostatak deljenja.
Naredba celobrojnog
deljenja izvodi se tako to
se rezultat zaokrui i
smeta u adresu koja je u
naredbi navedena kao
promenljiva u kojoj se uva
rezultat. Pri tome se
nezaokrueni, ceo deo
rezultata pamti u rei
S:14, dok se ostatak
pamti u rei S:13 (Sl.
4-5).
Sadraj matematikog registra ostaje neizmenjen sve do izvoenja sledee
programske naredbe koja ga koristi.
32-BITNO SABIRANJE I ODUZIMANJE BIT S:2/14
SL. 4-4 REALIZACIJA OPERACIJE MNOENJA
SL. 4-5 REALIZACIJA OPERACIJE DELJENJA
Plc_math/65

Procesori SLC 5/02 (poev od serije C) i vii omoguavaju da se realizuje
sabiranje i oduzimanje 32-bitnih podataka. Ovo se ostvaruje postavljanjem bita S:2/14 na
vrednost 1.
Kao to je ve reeno, ukoliko kod celobrojnih operacija doe do prekoraenja
opsega, onda se kao rezultat dobijaju donja ili gornja granica opsega. Meutim, ukoliko je
bit S:2/14 postavljen na 1, onda e detekcija prekoraenja (postavljanje overflow bita na
1) prouzrokovati samo da se prvih, najmanje znaajnih 16 bitova rezultata, bez ikakvog
zaokruivanja, prenese na adresu koja je u naredbi oznaena kao promenljiva za uvanje
rezultata. Na taj nain je korisniku ostavljena mogunost, da po dve susedne rei koristi
kao jednu jedinstvenu vrednost (jedan podatak) i da odgovarajuim programskim
naredbama obrauje deo po deo podatka. Korisnik, takoe mora da vodi rauna da pre
isteka sken ciklusa resetuje overflow bit.
O ovoj tehnici bie kasnije vie rei kada se bude ilustrovalo korienje
matematikih naredbi.
4.3.2. PREGLED MATEMATIKIH NAREDBI
U odnosu na broj operanada i tip operacije koja se izvrava, matematike naredbe
se mogu podeliti u nekoliko grupa.
ARITMETIKE I LOGIKE BINARNE OPERACIJE
Opti oblik naredbe za aritmetike i logike binarne operacije dat je na Sl. 4-6, dok
je u tabeli T. 4-2 dat prikaz svih naredbi iz ove grupe.

Kod Ime naredbe Operacija
Postavlja indikatorske bitove
C bit V bit (ako je S:2/14=0) Z bit S bit
ADD Add (sabiranje) d = a + b uvek 0 1 za d izvan opsega 1 za d=0 1 za d<0
SUB Subtract (oduzimanje) d = a b uvek 0 1 za d izvan opsega 1 za d=0 1 za d<0
MUL Multiply (mnoenje) d = ab uvek 0 1 za d izvan opsega 1 za d=0 1 za d<0
DIV Divide (deljenje) d = a/b uvek 0
1 za d izvan opsega, i
deljenje sa 0
1 za d=0 1 za d<0
XPY X to the power of Y d = x
y
uvek 0 1 za d izvan opsega 1 za d=0 1 za d<0
AND And (logiko i)
d = ab
bit po bit
uvek 0 uvek 0 1 za d=0 1 za d<0
OR Or (logiko ili)
d = ab
bit po bit
uvek 0 uvek 0 1 za d=0 1 za d<0
XOR
Exclusive OR
(ekskluzivno ili)
d = ab
bit po bit
uvek 0 uvek 0 1 za d=0 1 za d<0

Primedba: U naredbi XPY ukoliko eksponent (y) nije ceo broj, vrednost izraza se
rauna prema relaciji d=2
(ylog
2
x)
. To znai da ukoliko je osnova (x) negativna, eksponent
mora da bude ceo broj. Ukoliko ovaj uslov nije ispunjen V bit se postavlja na 1.

PR. 4-1 CELOBROJNO SABIRANJE SA DVOSTRUKOM TANOU
Operandi: Prvi operand smeten je u rei B3:1, dok je drugi operand celobrojna vrednost dvostruke
tanosti, tako da je donjih 16 bitova smeteno u rei na adresi B3:2, a gornjih 16 na adresi B3:3.
SL. 4-6 OPTI OBLIK NAREDBE ZA ARITMETIKE I LOGIKE BINARNE OPERACIJE
T. 4-2 - PREGLED NAREDBI ZA ARITMETIKE I LOGIKE BINARNE OPERACIJE
Plc_math/66

Rezultat takoe ima dvostruku tanost i pamti se na istom mestu gde i drugi operand.
Algoritam: Donjih 16 bitova se dobija direktno naredbom za sabiranje ADD (Sl. 4-7). Pri tome da bi
se spreilo da se rezultat postavi na graninu vrednost treba postaviti bit S:2/14 na 1.
Prilikom realizacije naredbe za sabiranje mogua su tri sluaja:
zbir prvog operanda i donjih 16
bitova drugog operanda ima
manje od 17 bitova operacija je
zavrena (B3:3 se ne menja)
zbir prvog operanda i donjih 16
bitova drugog operanda ima vie
od 16 bitova ovo se identifikuje
uz pomo C bita i taj bit prenosa
treba dodati rei koja sadri
gornjih 16 bitova rezultata
prvi operand je negativan broj
taj broj smeten u tehnici
drugog komplementa
primenjenoj na 16 bitova, a u
dvostrukoj tanosti drugi komplement treba da se primeni na 32 bita (to bi dovelo do toga da su
svih gornjih 16 bitova jedinice koje bi trebalo sabrati sa rei drugog operanda koja sadri gornjih
16 bitova). Otuda sledi da se rezultat koriguje tako to se toj rei drugog operanda dodaje broj iji
su svih 16 bitova 1. Budui da ovaj broj predstavlja drugi komplement broja 1, to znai da je
potrebno da se od druge rei drugog operanda oduzme 1.
Da bi se lake razumela logika programa, svi mogui sluajevi i ilustrovani su na primeru
etvorobitnih brojeva (Sl. 4-8). Leder program za sabiranje sa dvostrukom tanou dat je na Sl.
4-9.





1 0
1
1 0
1 0 0 0 0 0 1
ADD
-7
3
-4
0 0 1 1 0 0 0 1
C=0
1 1 1 1

28
1 SUB
0 0 1 1 0 0 0 0
16
12 rezultat
19
(9)
8. bitni 4. bitni
SL. 4-7 ALGORITAM SABIRANJA
SL. 4-8 SABIRANJE SA DVOSTRUKOM TANOU (ETVOROBITNI BROJEVI)
Plc_math/67




UNARNE OPERACIJE
SL. 4-9 REALIZACIJA SABIRANJA SA DVOSTRUKOM TANOU
SL. 4-10 OPTI OBLIK NAREDBE ZA UNARNE OPERACIJE
Plc_math/68

U grupu unarnih operacija svrstane su i aritmetike i logike unarne operacije, ali i
biblioteke funkcije jedne promenljive. Sve ove naredbe imaju isti opti oblik (Sl. 4-10).
Pregled svih naredbi dat je u tabeli T. 4-3.

Kod Ime naredbe Operacija
Postavlja indikatorske bitove
C bit
V bit (ako je
S:2/14=0)
Z bit S bit
NEG Negate (negacija) d = -a
0 za
d=0 ili
V=1
1 za d izvan opsega
(samo ako je a=-
32768)
1 za d=0 1 za d<0
NOT Not (komplement)
d = a
bit po bit
uvek 0 uvek 0 1 za d=0 1 za d<0
DDV
Double divide
(deljenje 32-bitnog
celog broja iz mat.
reg. sa 16-bitnim
operandom)
d = reg/a
(rezultat
zaokruen)
uvek 0 1 za d izvan opsega 1 za d=0 1 za d<0
SQR
Square Root
(kvadratni koren)
a d = uvek 0 1 za d izvan opsega 1 za d=0 1 za d<0
ABS
Absolute (apsolutna
vrednost)
d =|a| uvek 0 1 samo za =-32768 1 za d=0 uvek 0
SIN Sine d = sin(a) uvek 0 1 za d izvan opsega 1 za d=0 1 za d<0
COS Cosine d = cos(a) uvek 0 1 za d izvan opsega 1 za d=0 1 za d<0
TAN Tangent d = tg(a) uvek 0 1 za d izvan opsega 1 za d=0 1 za d<0
ASN Arc Sine d = arcsin(a) uvek 0 1 za d izvan opsega 1 za d=0 1 za d<0
ACS Arc Cosine d = arccos(a) uvek 0 1 za d izvan opsega 1 za d=0 1 za d<0
ATN Arc Tangent d = artg(a) uvek 0 1 za d izvan opsega 1 za d=0 1 za d<0
LN
Natural log
(prirodni logaritam)
d = ln(a) uvek 0 1 za d izvan opsega 1 za d=0 1 za d<0
LOG
Log to the base 10
(dekadni logaritam)
d = log(a) uvek 0 1 za d izvan opsega 1 za d=0 1 za d<0

Primedba: Prilikom izraunavanja funkcija proverava se da li se operand nalazi u
oblasti definisanosti funkcije. Ukoliko to nije sluaj, izraunavanje se ne vri, i V-bit se
postavlja na 1.

SLOENE MATEMATIKE NAREDBE
CPT Compute (izraunavanje aritmetikog izraza)

Pri formiranju izraza koriste se promenljive, konstante i sledei operatori:
ili NEG (unarni minus), +, ,* , | ili DIV, ** ili XPY, SQR, ABS, SIN, COS, TAN, ASN,
ACS, ATN, LN, LOG, NOT, AND, OR, XOR, TOD, FRD, DEG, RAD. (Znaenje nekih od
navedenih simbola bie objanjeno kasnije).
Prilikom izvoenja naredbe, odnosno izraunavanja izraza postavljaju se sledei
bitovi:
C bit, S bit i Z bit se postavljaju u zavisnosti od rezultata poslednje operacije u
izrazu. V bit se postavlja svaki put kada pri izraunavanju izraza doe do prekoraenja
T. 4-3 - PREGLED NAREDBI ZA UNARNE OPERACIJE
Plc_math/69

vrednosti.
SCP Scale with parameters (parametarsko skaliranje podatka)
Ovom naredbom se ostvaruje linearno preslikavanje ulazne promenljive, prema relaciji
( ) . scaled_min input_min. - input
input_min. - input_max.
. scaled_min - . scaled_max
put scaled_out + =
Potrebno je da se istakne da se u ovoj
naredbi pojmovi najmanja i najvea vrednost
ulaza i rezultata zapravo koriste samo za
odreivanje dve take kroz koje se provlai
prava linija koja odreuje preslikavanje (Sl.
4-11). To znai da vrednost ulazne promenljive
ne mora biti unutar intervala odreenog sa
(input_min., input_max.), niti da vrednost
input_min. mora biti manja od input_max.
Prilikom izvoenja naredbe, odnosno
izraunavanja izraza postavljaju se sledei
bitovi:
C bit se uvek resetuje na nulu.
V bit se postavlja na 1 ako je u toku
izraunavanja dolo do prekoraenja dozvoljenog opsega brojeva..
Z bit se postavlja na 1 ako je rezultat jednak nuli.
S bit se postavlja na 1 ako je rezultat negativan.

SCL - Scale data (skaliranje podatka)

Ova naredba je veoma slina naredbi
SCP, jer se i pomou nje ostvaruje linearno
skaliranje promenljive. Razlika je, zapravo
samo u nainu definisanja parametara
skaliranja, odnosno prave linije . Skaliranje
ulaza se izvodi prema sledeoj relaciji:
Offset Source
10000
Rate
Dest + =
Prilikom izvoenja naredbe, odnosno
izraunavanja izraza postavljaju se sledei
bitovi:
C bit je rezervisan za potrebe operativnog sistema
SL. 4-11 GRAFIKA ILUSTRACIJA SKALIRANJA
(SCP)
SL. 4-12 GRAFIKA ILUSTRACIJA SKALIRANJA
(SCL)
( )
1 1
1 2
1 2
y x - x
x - x
y - y
y + =
s
k
a
l
i
r
a
n
a

v
r
e
d
n
o
s
t
b x
10000
a
y + =
r
e
z
u
l
t
a
t
b
Plc_math/70

V bit se postavlja na 1 ako je u toku izraunavanja dolo do prekoraenja
dozvoljenog opsega brojeva.
Z bit se postavlja na 1 ako je rezultat jednak nuli.
S bit se postavlja na 1 ako je rezultata negativan.

RMP Ramp instruction (generisanje signala)

Ovom naredbom generie se vremenski signal odreenog oblika. Vrednost koja se
izraunava pri skeniranju ranga (ako je uslov istinit) jednaka je amplitudi signala u tom
vremenskom trenutku. Naredba omoguava da se generiu etiri razliite funkcije:
Linearna nagibna rastua funkcija (nagibni signal)
Rastui parabolini signal (ubrzanje)
Opadajui parabolini signal (usporenje)
"S" funkcija




Vreme izraava kao multipl osnovne jedinice koja se moe definisati kao 0.01 sec
ili 1 sec. Signali ne mogu trajati due od nekog utvrenog vremenskog intervala t
s
.
Naredba se izvrava svaki put kada je uslov istinit. Pri tome se aurira vrednost
vremena i primenom odgovarajue relacije odredi vrednost signala na izlazu (y). Kada je
uslov neistinit, vreme se ne aurira i vrednost izlaza se ne izraunava. Prilikom sledeeg
a
s
a b
y
t
t
) y y ( y + =

'
> > +

.
|

'


+

.
|

'


=
s s a
2
s
s
a b
s a
2
s
a b
t t 2 / t y
t
t t
2 1 ) y y (
2 / t t 0 y
t
t
2 ) y y (
y
a
2
s
a b
y
t
t
) y y ( y +

=
a
2
s
s
a b
y
t
t t
1 ) y y ( y +


=
SL. 4-13 FUNKCIJE KOJE SE GENERIU RMP NAREDBOM
Plc_math/71

prelaza uslova sa neistinitog na istinit vreme e biti aurirano u odnosu na poslednju
vrednost koju je imalo.
Pri svakoj promeni uslova auriranje se ostvaruje sa tanou od 1 (jedinica
vremena) ili 1(vreme
sken ciklusa), ukoliko
je vreme sken ciklusa
vee od jedinice
vremena (0.01sec ili 1
sec). Kao i kod
asovnika i ovde ja za
taan rad neophodno
da vremenski interval
izmeu dva sken
ciklusa ne bude vei od
1.5 sekunde.
Parametri
signala se specificiraju
u upravljakom bloku
koji je celobrojna datoteka (tip N) duine sedam elemenata kao to je to prikazano na Sl.
4-14.
Ova naredba je izuzetno pogodna za generisanje upravljakog signala kod runog
voenja procesa.
4.4. NAREDBE ZA MANIPULACIJU SA NUMERIKIM PODACIMA
Naredbe za manipulaciju sa podacima slue za definisanje vrednosti promenljivih
ili za odreene izmene u formi prezentacije podataka. U tom smislu one se ne razlikuju
bitno od matematikih naredbi. Naime, nema nikakve sumnje da se matematikim
naredbama takoe vri odreena manipulacija sa podacima. Izdvajanjem ovih naredbi u
posebnu grupu se zapravo eli naglasiti specifinost oblika same naredbe i obrade
podataka koja se njima vri.
NAREDBE ZA POSTAVLJANJE VREDNOSTI
CLR Clear (postavi na nulu)
Bitovi C, V i S se postavljaju na 0, dok se bit Z postavlja na 1.
MOV Move (postavljanje vrednosti promenljive)


SL. 4-14 ZNAENJE POJEDINIH REI I BITOVA U UPRAVLJAKOM BLOKU
Plc_math/72

MVM Masked move (postavljanje vrednosti pojedinih bitova)
Maskiranim bitovima,
koji se ne prenose u dest u
maski odgovaraju vrednosti 0,
dok nemaskiranim bitovima
odgovaraju vrednosti 1 (Error!
Reference source not
found.). U obe naredbe (MOV
i MVM) bitovi C i V se
postavljaju na 0. Bitovi Z i S se
postavljaju na 1 ukoliko je rezultat nula odnosno negativan.

PR. 4-2 GENERISANJE TESTERASTOG SIGNALA
Testerasti signal se moe generisati sukcesivnim ponavljanjem izvoenja RMP naredbe.
Budui da se generisanje signala prekida kada vreme koje se meri od poetka rada RMP naredbe
dostigne vrednost koja odgovara zadanom vremenu trajanja signala, to znai da ova naredba nee
vie generisati signal ak i ako je uslov u rangu istinit. Ukoliko se eli ponovno generisanje istog
signala neophodno je da se, kada je RMP generisao ceo signal (DN=1) ili kada je dolo do greke
u specifikaciji parametara (ER=1), vreme resetuje na nulu, odnosno da se sadraj druge rei
odgovarajueg upravljakog bloka postavi na nulu. Opisani postupak moe se realizovati pomou
dva ranga u lestviastom programu (Sl. 4-16).

Pri formiranju programa bilo je neophodno i da se definiu vrednosti pojedinih rei u
upravljakom bloku koji je smeten od poetne adrese N7:0. Odabrano je da se generie nagibni
signal (kod 00, bitovi 0 i 1 u rei N7:0) sa vremenskom bazom od 1 sekunde (kod 1, bit 4 u rei
N7:0). Otuda re nula u upravljakom bloku ima decimalnu vrednost 16. Trajanje signala je
postavljeno na 100 sekundi (N7:1). Poetno vreme je nula (N7:3), dok je krajnje vreme 100 (N7:4).
U skladu sa tim, rei u upravljakom bloku imaju vrednosti prikazane na Sl. 4-17.





SL. 4-15 IZVRAVANJE MASKIRANE MOVE NAREDBE
SL. 4-16 GENERISANJE TESTERASTOG SIGNALA
Plc_math/73




4.5. NAREDBE ZA KONVERZIJU


Kod Ime naredbe Operacija
Postavlja indikatorske bitove
C bit V bit Z bit S bit
DEG
Radians to degrees
(radiani u stepene)
d = (180/) a
(pretvara radiane u
stepene)
uvek 0
1 za prekoraenje
opsega
1 za
d=0
1 za d<0
RAD
Degrees to radians
(stepenei u radiane)
d = (/180) a
(pretvara stepene u
radiane)
uvek 0
1 za prekoraenje
opsega
1 za
d=0
1 za d<0
TOD
To BCD
(u BCD kod)
pretvara 16-bitni ceo broj u
4-oro cifreni BCD broj
uvek 0 1 za d > 9999
1 za
d=0
1 za d<0
FRD
A.1.1. From BCD
(iz BCD koda)
pretvara 4-oro cifreni BCD
broj u 16-bitni ceo broj
uvek 0
1 ako a nije BCD
ili je d > 32767
1 za
d=0
uvek 0
DCD
Decode 4 to 1 of 16
(dekodiranje 4 16)
dekodira prva 4 bita
operanda u ceo broj iji
samo 1 bit ima vrednost 1
ne menja bitove
ENC
Encode 1 of 16 to 4
(kodiranje 16 4)
kodira operand (ceo broj)
iji samo 1 bit ima vrednost
1 u poslednja 4 bita
rezultata
uvek 0
1 ako operand
nije ispravan
(ne postavlja
S:5/0)
1 za
d=0
uvek 0
Po svojoj funkciji ove naredbe vre razliite oblike konverzije poev od fizikih
veliina (konverzija ugaonih stepeni u radijane i obratno), preko naina prezentacija
podatka (konverzija binarne prezentaciju u binarno kodiranu decimalnu prezentaciju), do
kodiranja i dekodiranja binarnih podataka. Zajedniko za sve naredbe je njihov opti oblik
(Sl. 4-18). Pregled svih naredbi iz ove grupe dat je u tabeli T. 4-4.
BCD kod (Binary coded decimal) je kd kod koga se svaka decimalna cifra predstavlja
pomou jednog etvorocifrenog binarnog broja, kao to je to ilustrovano na Sl. 4-19.
(Samo se po sebi razume da je decimalni broj predstavljen u raunaru kao binarni
podatak). Ukoliko se kao celobrojni podatak u BCD naredbi unese negativan broj,
konvertovae se njegova apsolutna vrednost.
SL. 4-17 GENERISANI TESTERASTI SIGNAL I IZGLED UPRAVLJAKE DATOTEKE N7
SL. 4-18 OPTI OBLIK NAREDBI ZA KONVERZIJU
T. 4-4 PREGLED NAREDBI ZA KONVERZIJU PODATAKA
Plc_math/74

Postoji mogunost da se
pomou TOD i FRD naredbi
konvertuju i celi decimalni
brojevi koji imaju vie od 4 cifre
(najvei ceo broj je 32768). U
tom sluaju u naredbi TOD treba
kao adresa rezultata dest da se
stavi matematiki registar S:13,
S:14. Prilikom izvravanja
naredbe dobijeni BCD kod bie
smeten u rei S:13 i u prva
etiri bita rei S:14. Potrebno je
da se istakne da e se tom prilikom V- bit postaviti na vrednost 1.
Kod kontrolera SLC 5/01 dest u BCD naredbi, odnosno source u FRD naredbi
mora biti matematiki registar, dok kod ostalih kontrolera to moe biti adresa rei bilo koje
datoteke. Po prirodi konverzije, source u BCD naredbi, odnosno dest u FRD naredbi treba
da bude celobrojna promenljiva.
Kod kontrolera SLC 5/01 dest u BCD naredbi, odnosno source u FRD naredbi
mora biti matematiki registar, dok kod ostalih kontrolera to moe biti adresa rei bilo koje
datoteke. Po prirodi konverzije, source u BCD naredbi, odnosno dest u FRD naredbi treba
da bude celobrojna promenljiva.

PR. 4-3 KONVERZIJA IZ BCD KODA
Korienje FRD naredbe pretpostavlja da svaki bajt operanda predstavlja BCD kodiranu
cifru. Meutim pri radu mernih ureaja koji daju BCD kod moe se dogoditi da u toku promene
veliine koja se meri izlaz ureaja ima podatak koji ne predstavlja BCD cifru. Ako se FRD naredba
izvodi ba u tom trenutku postavie se V bit. Da bi se to izbeglo, pri korienju ove naredbe vri se
filtracija mernog podatka i to tako da se porede dve uzastopne vrednosti izmerene veliine. Ukoliko
su one iste, to znai da nema nagle promene podatka, pa se moe smatrati da su svi bajtovi BCD
kodirane cifre. Ukoliko se oni, meutim razlikuju, osnovano je pretpostaviti da neki bajt ne sadri
BCD cifru, pa se u skladu sa time konverzija ne vri.


Opisani postupak ilustrovan je na primeru uitavanja podatka sa BCD meraa iji se signal
dovodi na re 0 u slotu 1 (adersa I:1.0, simbolicko ime bcd_merac). Ovaj podatak se pamti u rei
N7:1 (bcd_podatak), koja se u sledeem sken ciklusu poredi sa novo uitanim podatkom. Tek ako
su oba podatka identina izvrava se FRD naredba i rezultat se smeta u N7:2 (dec_podatak).
Budui da u prvom sken ciklusu nije mogue poreenje podataka, poreenje se vri tek od drugog
SL. 4-19 ILUSTRACIJA BCD KODA
SL. 4-20 KONVERZIJA IZ BCD KODA
Plc_math/75

sken ciklusa. Ovo se postie ispitivanjem stanja indikatorskog bita u statusnoj datoteci S. Naime,
petnaesti bit prve rei (S:1/15) ima vrednost 1 samo u prvom sken ciklusu. Otuda i potie njegovo
simboliko ime first_pass (Sl. 4-20).

PR. 4-4 KONVERZIJA U BCD KOD
Celobrojni podatak smeten na adresi N7:3 treba da se konvertuje u BCD kod i preko
digitalnog izlaza prenese na BCD svetlei displej. Budui da originalni podatak moe imati najvie
pet cifara, konvertovani BCD podatak se smeta u matematiki registar. Pretpostavlja se da se u
slotovima 4 i 5 nalaze dva 16. bitna digitalna izlaza. Donje etiri cifre podatka prebacuju se na izlaz
O:4, dok se peta cifra prebacuje na O:5.
Ovaj zadatak moe da se realizuje pomou dve MOV naredbe. Pri tome budui da se iz
gornjeg dela matematikog registra koristi samo jedan bajt neophodno je da se realizuje maskirano
prenoenje podataka (Sl. 4-21).
U posmatranom primeru pretpostavljeno je da je poetni podatak 32760. U rangu 0,
sadraj odredinog registra se prikazuje u heksadecimalnom formatu (koji odgovara BCD kodu) i
vide se prve etiri cifre (registar S:13). U rangovima 1 i 2 usvojen je decimalni prikaz podataka.
Binarni broj koji odgovara decimalnom podatku 10080 je 0010 0111 0110 0000, odnosno
odgovarajui heksadecimalni broj je 2760h.


Dekodi r anj e 4 16 (DCD) je postupak u kome se etvorobitni numeriki podatak
koji moe imati vrednost u opsegu od 0 do 15, pretvara (dekodira) u 16-bitni numeriki
podatak i to tako to se u njemu na 1 postavlja onaj bit iji redni broj u rei odgovara
numerikom podatku koji se konvertuje (Sl. 4-22). U ovoj naredbi koriste se samo prva
etiri bita promenljive source, to znai da se preostali bitovi mogu koristiti u bilo koje
druge svrhe.
SL. 4-21 FORMIRANJE BCD IZLAZNIH SIGNALA
Plc_math/76

Ova naredba je pogodna kada se eli multipleksiranje podataka kod ureaja kao
to su viepoloajni prekida, tastatura i sl.
Kodi ranj e 16 4 ( ENC) je postupak u kome se 16 bitni podatak iji samo jedan bit
ima vrednost 1, pretvara (kodira) u etvorobitni podatak i to tako to se redni broj bita
ija je vrednost 1, a koji se kree u opsegu od 0 do 15, zapisuje kao etvorocifreni
binarni broj (Sl. 4-22). Ukoliko je
u promenljivoj source vie od
jednog bita postavljeno na 1,
kodiranje e se izvriti prema
bitu koji ima najmanji redni broj
od svih bitova koji imaju
vrednost 1. U tom sluaju i V
bit e biti postavljen na 1, ali
matematiki bit prekoraenja
(S:5/0) nee dobiti vrednost 1.
Ova naredba je pogodna kada se eli multipleksiranje podataka kod ureaja kao
to su viepoloajni prekida, tastatura i slino.
4.6. NAREDBA ZA PREMETANJE BAJTOVA
SWP Swap (zamena bajtova)
Ovom naredbom
se zamenjuju vrednosti
prvog i drugog bajta u
rei. Adresa operanda
(source) mora biti
indeksna adresa, dok se
broj rei kojima se
zamenjuju bajtovi
(length) zadaje kao
celobrojna programska
konstanta. Pri tome broj rei ne moe biti vei od duine elementa. U principu, operandi
mogu biti smeteni u bilo kojoj datoteci, ali se najee ova naredba koristi za
manipulaciju nizom podataka (datoteka tipa STRING). Naravno, i ovde je duina
ograniena veliinom elementa.
Ako je formirana datoteka tipa STRING, duine elemenata od 6 rei, i ako se
pretpostavi da je sadraj prvog elementa, takav da bajtovi sadre ASCII kodove prvih 12
slova abecede:
ab | cd | ef | gh | ij |kl
tada e SWP naredba u kojoj se kao source adresira taj elemenat, i koja ima duinu
(length) jednaku 4 promeniti sadraj tog elementa u:
ba | dc | fe | hg | ji | lk
4.7. PRIMERI KORIENJA NAREDBI ZA MATEMATIKE OPERACIJE
PR. 4-5 IZRAUNAVANJE RASTOJANJA I NAGIBA
ZADATAK
Pravougaone koordinate (x,y) koje odreuju poloaj nekog objekta smetene su u memoriji
PLC-a u datoteci realnih podataka F8, na adresama F8:0 i F8:1. Ovim lokacijama pridruena su
SL. 4-22 ILUSTRACIJA DCD I ENC NAREDBE
SL. 4-23 ILUSTRACIJA SWAP NAREDBE NA DUINI OD JEDNE REI

REENJE
Na Sl. 4-25 i Sl. 4-26
koristi elementarne naredbe za pore
prvom reenju koriena su dva mogu
Za koordinatu x se proverava da li je izvan opsega, dok se za koordinatu y proverava da li je unutar
opsega. Samo se po sebi razume da su ob
u tome to indikatorski bitovi imaju suprotna zna
koriste u ostalim rangovima. U drugom reenju koristi se LIM naredba za proveru granica.

SL. 4-24 GRAFIKA ILUSTRACIJA
POTREBNIH IZRAUNAVANJA
2 2
y x + ++ + = == =

= == =
x
y
arctg
simbolika imena x i y. Ukoliko su obe koordinate u
opsegu od 700m do 1400m na osnovu njih se izra
rastojanje do objekta (
2
y x + =
radijus zaklapa sa apscisnom osom (
4-24).
Dobijeni podaci se smetaju u memoriju PLC
na adrese F8:2 i F8:3, ija su simboli
Ukoliko je bilo koja od koordinata izvan opsega pali se
kontrolna sijalica, koja je vezana u elektri
nultog pina izlaznog dela digitalnog U/I modula u slotu 1
(adresa O:1/0, simboliko ime sijalica
Potrebno je formirati program za PLC koji
realizovati zahtevanu operaciju.




26 prikazana su dva mogua reenja ovog problema, od kojih prvo
koristi elementarne naredbe za poreenje i matematike naredbe, a drugo s
ena su dva mogua naina ispitivanja da li su koordinate
se proverava da li je izvan opsega, dok se za koordinatu y proverava da li je unutar
opsega. Samo se po sebi razume da su oba naina provere potpuno ekvivalentna. Jedina je razlika
u tome to indikatorski bitovi imaju suprotna znaenja, o emu mora da se vodi ra
koriste u ostalim rangovima. U drugom reenju koristi se LIM naredba za proveru granica.

ILUSTRACIJA
Plc_math/77
. Ukoliko su obe koordinate u
opsegu od 700m do 1400m na osnovu njih se izraunava
2
y ), kao i ugao koji
radijus zaklapa sa apscisnom osom ( ) x / y ( arctg = (Sl.
Dobijeni podaci se smetaju u memoriju PLC-a
ija su simbolika imena ro i alfa.
Ukoliko je bilo koja od koordinata izvan opsega pali se
kontrolna sijalica, koja je vezana u elektrino kolo preko
nultog pina izlaznog dela digitalnog U/I modula u slotu 1
sijalica).
Potrebno je formirati program za PLC koji e
a reenja ovog problema, od kojih prvo
ke naredbe, a drugo sloenije naredbe. U
ina ispitivanja da li su koordinate y datim granicama.
se proverava da li je izvan opsega, dok se za koordinatu y proverava da li je unutar
ina provere potpuno ekvivalentna. Jedina je razlika
emu mora da se vodi rauna kada se oni
koriste u ostalim rangovima. U drugom reenju koristi se LIM naredba za proveru granica.

Plc_math/78



SL. 4-25 LEDER PROGRAM ZA IZRAUNAVANJE RASTOJANJA I UGLA KOJI KORISTI ELEMENTARNE NAREDBE
Plc_math/79



PR. 4-6 TRANSFORMACIJE ULAZNIH ANALOGNIH SIGNALA
ZADATAK
Posmatra se jedan radarski sistem za praenje objekata koji odreuje pravougaone
koordinate objekta u opsegu od 250m do 1700m i generie strujne signale u opsegu od 4mA do 20
mA. Signali sa radara dovode se u PLC preko ulaznog dela analognog U/I modula koji se nalazi u
slotu 2. Pri tome su signali vezani za nulti i prvi ulazni kanal tako da se nakon A/D konverzije
celobrojna vrednost koja odgovara koordinati x smeta na adresu I:2.0, a koordinati y na adresu i
I:2.1.
Potrebno je formirati program za PLC koji e konvertovane vrednosti pretvoriti u fizike
veliine i smestiti u memoriju PLC-a u datoteku realnih podataka F8, na adrese F8:0 i F8:1. Ovim
lokacijama pridruena su simbolika imena x i y. Pri tome, sistem se puta u rad pomou start/stop
prekidaa, koji je vezan za nulti pin ulaznog dela digitalnog U/I modula u slotu 1 (adresa I:1.0/0,
simboliko ime start). Prekida je normalno otvoren, tako da sistem radi sve dok je prekida
pritisnut.


SL. 4-26 LEDER PROGRAM ZA IZRAUNAVANJE RASTOJANJA I UGLA
Plc_math/80

TRANSFORMACIJE ANALOGNIH ULAZNIH SIGNALA
Pre nego to se pristupi reavanju postavljenog zadatka razmotriemo u optem sluaju
problem konverzije analognih ulaznih signala. Kao to je ve istaknuto analogni signali koji dolaze
sa mernih instrumenata su
standardizovani elektrini
signali koji reprezentuju neke
fizike veliine. Ovi signali se
prilikom A/D konverzije
pretvaraju u celobrojne
vrednosti, koje se zatim mogu
dalje pretvoriti u odgovarajue
fizike veliine. Drugim reima
signal prolazi kroz niz
transformacija (Sl. 4-27) koje
sve zavise od granica
signala u svakoj fazi
transformacije, te se mogu definisati na potpuno opti nain.
Transformacija fizike veliine v u elektrini signal e ovu transformaciju obavlja sam merni
instrument koji meri neku fiziku veliinu u opsegu (v
min
, v
max
) i proizvodi signal e (strujni ili
naponski) u opsegu (e
min
, e
max
). Funkcionalna zavisnost izmeu veliina v i e zavisi od tipa
instrumenta i odreena je nekom poznatom funkcijom e=f(v). Najee je ova relacija linearna
tako da je
max min
min min
max min
e e
e (v v ) e
v v

= +


Transformacija elektrinog signala e u celobrojnu vrednost c ovu transformaciju obavlja A/D
konvertor koji signale koji su u opsegu (u
min
, u
max
) pretvara u celobrojne vrednosti u opsegu (c
min
,
c
max
). Veza izmeu ovih veliina je linearna i odreena je relacijom
max min
min min
max min
c c
c (e u ) c
u u

= +

,
Kao to je ve ranije istaknuto, za standardizovane signale granice celobrojnih vrednosti
dobijaju se direktno iz tablica konverzije za dati tip analognog modula.
Zapazimo da opseg mernog signala (e
min
, e
max
) ne mora biti jednak opsegu signala sa
kojim radi A/D konvertor (u
min
, u
max
), ali je izvesno da mora biti sadran u njemu. To nadalje znai
da moraju biti zadovoljene sledee relacije
u
min

min
< e
max
u
max

Transformacija celobrojne vrednosti c u fiziku veliinu v ovu transformaciju, po pravilu, korisnik
obavlja sam. U principu odgovarajua relacija zavisi od samog instrumenta i dobija se preko
inverzne funkcije
1
e f (v) v f (e)

= = , pri emu se veliina e dobija inverznom transformacijom


iz celobrojne veliine c
max min
min min
max min
u u
e (c c ) u
c c

= +


Ukoliko je funkcija f linearna tada se fizika veliina odreuje prema relaciji
max min
min min
max min
v v
v (e e ) v
e e

= +


Konano, ukoliko su granice elektrinog signala e i granice A/D konvertora jednake,
odnosno ako je
u
min
=
min
< e
max
= u
max
tada se fizika veliina moe odrediti direktno na osnovu celobrojne vrednosti iz relacije
max min
min min
max min
v v
v (c c ) v
c c

= +


REENJE
Na osnovu svega to je reeno o transformacijama ulaznog signala sada se moe pristupiti
reavanju postavljenog zadatka. Ovde su fizike veliine koordinate objekta h i u, koje radar prati u
opsegu od 250m do 1700m. To znai da su granice fizikih signala x
min
= y
min
= 250 i x
max
= y
max
=
1700. Nadalje, budui da radar generie strujni signal opsega od 4mA do 20mA to je e
min
= 4mA, a
SL. 4-27 TRANSFORMACIJE ANALOGNIH ULAZNIH SIGNALA
Plc_math/81

e
max
= 20mA. Ako se pogledaju karakteristike analognog U/I modula u slotu 3 videe se da on ovaj
strujni signal konvertuje u celobrojne vrednosti opsega od 3277 do 16384. To znai da je c
min
=
3277, a c
max
=16384. Uzimajui u obzir sve to je reeno o transformaciji signala, kao i injenicu da
radar generie standardni strujni signal ije granice odgovaraju granicama A/D konvertora, fizike
veliine koje odgovaraju izmerenim koordinatama mogu se odrediti preko relacije
.
x x
y y
1700 250
x (c 3277) 250 0,11c 112, 53
16384 3277
1700 250
y (c 3277) 250 0,11c 112, 53
16384 3277

= + =

= + =


gde c
x
i c
y
predstavljaju celobrojne vrednosti koje su dobijene A/D konverzijom i koje su, u toku
ulaznog sken ciklusa smetene na adresama I:2.0 i I:2.1.

Obe relacije se mogu realizovati bilo matematikim naredbama bilo korienjem posebne
naredbi za skaliranje. U programu (Sl. 4-28) je koriena naredba za skaliranje sa parametrima
(SCP). Pri tome, da bi se ilustrovao postupak inicijalizacije promenljivih, minimalna i maksimalna
vrednost celobrojne promenljive definiu se posebnim naredbama u nultom rangu. Samo se po
sebi razume da to nije neophodno i da se one mogu direktno zadati kao konstante u SCP naredbi
kao to je to uraeno sa minimalnom i maksimalnom vrednou fizike veliine.
SL. 4-28 LEDER PROGRAM KOJIM SE TRANSFORMIU ANALOGNI SIGNALI U FIZIKE VELIINE
Plc_math/82

Da se naredbe za definisanje vrednosti parametara ne bi izvravale u svakom
programskom sken ciklusu, kao uslov je korien "bit prvog prolaza" (S2:1/15). Ovaj bit se nalazi u
sistemskoj datoteci i njega sam procesor postavlja na 1 pre prvog sken ciklusa i resetuje na nulu
po zavretku prvog sken ciklusa. Otuda se, korienjem ovog bita uvek moe izdvojiti deo
programskih rangova u kojima se obavlja inicijalizacija svih promenljivih.


PR. 4-7 TRANSFORMACIJA IZLAZNIH ANALOGNIH SIGNALA
ZADATAK
Podaci o rastojanju i nagibnom uglu nekog objekta nalaze se u memoriji PLC-a na
adresama F8:2 (simboliko ime ro) i F8:3 (simboliko ime alfa). Poznato je da su ovi podaci
izraunati na osnovu izmerenih pravougaonih koordinata objekta koje se kreu u opsegu od 700m
do 1400m. Ovi podaci se koriste kao referentni signali za jedan sistem za protiv-gradnu odbranu i
potrebno je da se oni prenesu na ulaz tog sistema kao naponski signali u opsegu od 2V do 8V.
Ulazi protiv-gradnog sistema vezani su preko izlaznog dela analognog U/I modula koji se nalazi u
slotu 3. Ulaz koji prima informaciju o rastojanju vezan je preko nultog kanala (adresa O3:0,
simboliko ime ro_out). Informacija o uglu dolazi preko prvog kanala (adresa O3:1, simboliko ime
alfa _out). Pri tome je ureaj za upravljanje uglom podeen tako da prima informaciju o procentu
ugla koji treba da ostvari u odnosu na maksimalni ugao (kome odgovara napon od 8V).
Formirati leder program kojim se realizuje ovaj zadatak.
TRANSFORMACIJE IZLAZNOG SIGNALA
Kao i kod ulaznog signala oigledno je da je i pri formiranju izlaznog signala neophodno da
se izvri jedan broj transformacija (Sl. 4-29).

Transformacija fizike veliine v u elektrinu veliinu e ovu transformaciju obavlja sam korisnik
U sutini analogni izlazni signal je najee neka fizika veliina koja predstavlja
upravljaki signal u nekom sistemu. Ova veliina je, po pravilu, linearno srazmerna nekom
elektrinom (strujnom ili naponskom) signalu koji predstavlja pobudni signal za odgovarajui izvrni
organ. Pretpostavljajui da se fiziki signal kree u opsegu (v
min
, v
max
), a da je njemu odgovarajui
elektrini signal u opsegu (e
min
, e
max
), fizika veliina v se transformie u elektrinu veliinu e
prema relaciji
max min
min min
max min
e e
e (v v ) e
v v

= +


Naglasimo i da se analogni izlazi esto definiu kao procenat od maksimalne aktivnosti
izvrnog organa tako da 0% odgovara veliini e
min
, a 100% odgovara veliini e
max
. U tom sluaju
transformacija se izvodi prema relaciji
max min
min min
min
e e
e (v(%) v (%)) e
100 v (%)

= +


Transformacija elektrine veliine e u celobrojnu vrednost c ovu transformaciju obavlja korisnik
Da bi analogni izlazni modul mogao da generie zahtevani elektrini signal on mora dobiti
odgovarajuu celobrojnu vrednost. Budui da se za celobrojne vrednosti koje su u opsegu (c
min
,
c
max
) generiu elektrini signali u opsegu (u
min
, u
max
) oigledno je da e signalu e odgovarati
celobrojna vrednost koja se dobija prema relaciji
SL. 4-29 TRANSFORMACIJE ANALOGNIH IZLAZNIH SIGNALA
Plc_math/83

max min
min min
max min
c c
c (e u ) c
u u

= +


Konano, ukoliko su granice signala e i u jednake, odnosno ako je
u
min
=
min
< e
max
= u
max
tada se celobrojna vrednost moe dobiti direktno iz relacije
max min
min min
max min
c c
c (v v ) c
v v

= +

,
odnosno
max min
min min
min
c c
c (v(%) v (%)) c
100 v (%)

= +


Transformacija celobrojne vrednosti c u elektrini signal obavlja D/A konvertor sam
REENJE
Na osnovu svega to je reeno o transformacijama analognih izlaznih signala, oigledno je
da je kao prvo potrebno da se odrede granice fizikih veliina na osnovu kojih se generiu analogni
signali.
Polazei od granica izmerenih pravougaonih koordinata za koje se vri izraunavanje
rastojanja i ugla
700 x 1400, i 700 y 1400,
kao i relacija koje povezuju rastojanje i ugao sa pravougaonim koordinatama
2 2
y
x y ; arctg
x

= + =



vidi se da su minimalna i maksimalna vrednost rastojanja i ugla
2 2 2 2
min min min max max max
max min
min max
max min
(m) x y , (m) x y
x x
(rad) arctg , (rad) arctg
y y
= + = +

= =



Poto minimalne vrednosti. treba da budu
predstavljene signalima od e
min
=2V, a maksimalne vrednosti
signalima od e
max
=8V, sledi da se za vrednost rastojanje (m)
odgovarajui naponski signal moe dobiti prema relaciji

min
max min
8 2
e ( ) 2

= +


S obzirom na prirodu izvrnog organa, veliinu ugla
(rad) treba prvo pretvoriti u procenat od maksimalne
vrednosti ugla
p
max
(%) 100


Elektrini signal koji odgovara vrednosti ugla dobija se
prema relaciji
p pmin
pmin
8 2
e ( (%) (%)) 2
100 (%)

= +


Ove veliine nadalje treba transformisati u celobrojne
vrednosti koje e D/A konvertor da pretvori u odgovarajue
naponske signale. Podsetimo se da se za dati analogni U/I
modul naponski signal u opsegu od od 0V do 10V konvertuje u ceo broj u opsegu od 0 do 32764.
U skladu sa time odgovarajue granine vrednosti su
u
min
=0V, u
max
=10V, c
min
=0, c
max
=32764
tako da se konverzija vri prema sledeim relacijama
32764 0 32764 0
c (e 0) 0 ; c (e 0) 0
10 0 10 0


= + = +


Da bi se lake razumela struktura programa koji realizuje opisani algoritam na Sl. 4-30 je
dat pregled simbolikih imena i adresa internih promenljivih koje se koriste u leder programu (Sl.
4-31).
SL. 4-30 ADRESE I SIMBOLIKA
IMENA INTERNIH PROMENLJIVIH
Plc_math/84





Plc_math/85





SL. 4-31 LEDER PROGRAM ZA FORMIRANJE ANALOGNIH IZLAZNIH SIGNALA
Plc_math/86

Plc_nizovi/87

5. NAREDBE ZA RAD SA DATOTEKAMA PODATAKA
5.1. OPTE NAPOMENE
Naredbe za rad sa datotekama namenjene su manipulaciji sa nizom podataka koji
su smeteni u sukcesivnim elementima neke datoteke. U principu poetak niza ne mora
biti prvi element datoteke, ali niz mora poeti od nultog bita, nulte rei nekog od
elemenata u datoteci. Kraj niza podataka ne mora biti na kraju elementa, to znai da se
niz moe zavriti i u nekoj od rei elementa, ali se u tom sluaju preostali bitovi i/ili rei do
kraja tog elementa ne mogu da koriste.
Za rad sa nizom podataka neophodno je da se definie bazna adresa od koje niz
poinje. Bazna adresa mora biti poetak jednog elementa datoteke, to znai da je ona
oblika #fn:e i da kao indeksna adresa, uz uslov da je sadraj indeksnog registra S:24
jednak nuli, pokazuje na nulti bit, nulte rei tog elementa (#fn:e.0/0). U zavisnosti od
konkretne naredbe, sam niz podataka poinje ili od bazne adrese ili od elementa ija je
adresa za 1 vea od bazne adrese.
Pored bazne adrese, potrebno je da se specificira i duina niza, kojom se definie
broj podataka u nizu. U zavisnosti od vrste naredbe ovaj broj moe biti izraen u bitovima,
reima ili elementima. Pri tome se mora voditi rauna da svi podaci koji su obuhvaeni
zadanom duinom niza budu unutar datoteke koja je navedena kao bazna adresa. Ukoliko
se to ne potuje, programski sistem e detektovati znaajnu greku (major error).
U principu, ako se poznaju bazna adresa i duina niza mogue je odrediti i adresu
poslednjeg elementa u nizu. Izuzetak su jedino nizovi u datotekama tipa I i O, kod kojih
naredni elemenat ne mora imati redni broj koji je za 1 vei od prethodnog, i kod kojih
elementi ne moraju biti iste duine. Ukoliko se eli rad sa nizovima iz ovih datoteka onda
je neophodno da se pri definisanju duine posebno obrati panja na raspored U/I modula
u slotovima kontrolera.
Potrebno je da se istakne da kod ove vrste naredbi postoji jedna terminoloka
nepreciznost. Naime, esto se niz podataka sa kojima se u nekoj od naredbi operie
oznaava kao datoteka. U izvesnom smislu, taj naziv je ispravan jer nema nikakve sumnje
da niz podataka smeten u nekom povezanom podruju memorije predstavlja datoteku.
Meutim, kod kontrolera je pojam datoteke pre svega vezan za podruje u koje se
smetaju odreene vrste podataka i koje se identifikuje odreenom adresom kojom se
precizira tip datoteke i njen broj. Takva, osnovna datoteka moe sada da sadri vie
grupa podataka (datoteka) sa kojima se operie u naredbama za rad sa datotekama
podataka. Teorijski, ove grupe podataka mogu ak i da se meusobno preklapaju, i ako je
teko zamisliti aplikaciju u kojoj bi to imalo smisla. Bitno je jedino da sve pojedinane
grupe podataka (datoteke) ija je bazna adresa definisana preko elemenata osnovne
datoteke budu smetene unutar te iste osnovne datoteke.
Sve naredbe iz ove grupe koriste pointer koji ukazuje na adresu pojedinog podatka
u grupi. Ako je naredba takva da se pri svakom izvravanju obrauje drugi podatak iz
niza, onda se vrednost pointera pamti u upravljakoj datoteci (tipa R), to znai da se
svakom nizu podataka pridruuje jedan elemenat te datoteke. Nad jednim istim nizom
podataka moe da se izvrava vie razliitih tipova naredbi koje se nalaze u razliitim
rangovima, ili se isti tip naredbi vezan za isti niz podataka, moe nai u vie razliitih
rangova u programu. Od korisnika se, pri tome, oekuje da ima na umu da se prilikom
izvravanja svake od ovih naredbi menja vrednost pointera i da vodi rauna da jednom od
tih naredbi ne pokvari eljeni efekat druge naredbe.
Sve naredbe iz ove grupe koriste indeksni registar S:24, to znai da je posle
njihovog izvravanja, sadraj tog registra promenjen.

Plc_nizovi/88

5.2. NAREDBE ZA KREIRANJE DATOTEKE
COP Copy file (kopiranje datoteke)
FLL Fil file (punjenje datoteke)
Ove naredbe se izvravaju ukoliko je uslov istinit i to tako to se elementima
datoteke dest pridruuju odreene vrednosti. Pri tome se pri izvravanju COP naredbe
ove vrednosti uzimaju iz neke druge datoteke, oznaene kao source. Podaci se prenose u
rastuem nizu, to znai da se vrednost prvog podatka koji se nalazi na baznoj adresi u
datoteci source prenosi na prvo mesto (na baznu adresu) u datoteci dest i tako dalje.
Ukupan broj podataka koji se prenosi jednak je zadanoj duini length. Meutim, prilikom
izvravanja FLL naredbe jedan isti podatak, koji se nalazi na adresi source se prenosi u
sve elemente odredine datoteke i to poev od bazne adrese #fn:e zakljuno sa adresom
#fn:(e+length-1). Naravno da se pri tome podrazumeva da je izvorni podatak istog tipa
(odnosno zauzima isti broj rei) kao i element odredine datoteke. Budui da su obe ove
naredbe tipa akcije, one se izvravaju svaki put kada je uslov istinit.
Ukoliko su elementi odredine datoteke rei, onda je maksimalna dozvoljena
duina length 128. Kada se radi sa datotekama iji je element dugaak 2 rei,
maksimalna dozvoljena duina je lengt h 64, dok je za datoteke duine tri rei,
maksimalna duina length 42. Kod datoteka tipa String, duina ne moe biti vea od
duine jednog elementa (42 rei).
U sluaju kada su odredine datoteke tipa T,C i R, treba voditi rauna ta e se
staviti u prvu re elementa gde se nalaze indikatorski bitovi. Naime postavljanje nekih od
ovih bitova na 1 ili na 0, moe prouzrokovati krajnje nepredvidive efekte prilikom
izvravanja naredbi za koje su ti elementi vezani.
Potrebno je da se istakne da se pomou COP naredbe moe ostvariti i translacija
itavog niza podataka unazad za odreeni broj mesta. Ovo se ostvaruje tako to se obe
adrese veu za istu datoteku, s tim to se kao source adresa definie adresa koja je vea
od bazne adrese odredita dest za iznos koji odgovara broju mesta za koji se vri
translacija. Ukoliko se eli translacija unapred (u smislu rastuih adresa) onda je to
mogue da se ostvari samo ako je razlika izmeu odredine i izvorne adrese vea od
duine niza podataka. U protivnom, ako taj uslov nije ispunjen, doi e do preklapanja
podataka i deo niza podataka e biti izgubljen.
Nakon izvoenja ovih naredbi indeks registar S:24 se postavlja na 0.
5.3. NAREDBE ZA TRANSLACIJU BITOVA
BSL Bit shift left (translacija bitova u levo)
BSR Bit shift right (translacija bitova u desno)

Plc_nizovi/89

Naredbe za translaciju bitova su naredbe akcije. Meutim, one se izvode samo
kada se uslov menja sa neistinit na istinit. Prilikom izvravanja naredbe niz od length
bitova koji je smeten u datoteci fn, poev od nultog bita u elementu e, se translatorno
pomera za jedno mesto u levo (BSL) odnosno u desno (BSR), pri emu se na upranjeno
mesto smeta bit ija je adresa fn:w/b dok se prvi (BSR), odnosno poslednji (BSL) bit niza
prebacuje u indikatorski bit UL (Sl. 5-1). Posle izvoenja ove naredbe indeksni registar
S:24 se postavlja na nulu.
Potrebno je da se istakne
da kod svih datoteka, izuzev
datoteke tipa String, duina niza
moe da bude vea od duine
elementa. Drugim reima, niz
moe da se protee preko vie
elemenata, ali ne sme da
prekorai granicu datoteke.
Ukoliko se to dogodi, ER bit se
postavlja na jedan i na kraju
ciklusa se indicira da je dolo do
znaajne greke. Bitovi koji
pripadaju jednom elementu, ali ne
ine sastavni deo niza (ostatak od
kraja niza do kraja elementa) ne
mogu da se koriste.
Svakoj datoteci (file) koja se navodi u okviru jedne od ovih naredbi pridruuje se
po jedan elemenat
upravljake datoteke
tipa R. U okviru
elementa pamte se
indikatorski bitovi i
duina niza. Pri tome
se moe koristiti
sistemska upravljaka
datoteka broj 6, ili
korisnika datoteka
(brojevi od 9 do 255).
Jedan elemenat ove datoteke, koji se odnosi na BSR i BSL naredbu ima izgled kao na
slici Sl. 5-2. Potrebno je zapaziti da se duina niza koje se pomera moe menjati u toku
rada programa, jednostavnim korienjem neke od naredbi za promenu podataka u kojoj
se kao odredina adresa navodi Rn:1. Naravno, pri tome treba voditi rauna da se ne
prekorai maksimalna duina niza.
Ukoliko se kao duina niza zada 0 (len 0), naredba se izvodi tako to se zadani bit
smeta u UL.
Bitovi stanja u elementu datoteke R menjaju se na sledei nain:
EN Enable bit se postavlja na 1 kada uslov prelazi sa neistinit na istinit. Postavljanje
ovog bita prouzrokuje da se izvri zahtevano pomeranje niza bitova u levo ili u desno za
jedno mesto. Pri svakom sledeem prolazu kroz ovaj rang, sve dok je uslov istinit, EN bitr
zadrava vrednost 1, ali se pomeranje bitova ne vri. Kada uslov postane neistinit, EN bit
se resetuje na nulu.
DN Done bit se postavlja na 1 kada se niz bitova pomeri za jedno mesto, kada uslov
postrane neistinit vrednost ovog bita se resetuje na nulu.
ER Error bit se postavlja na 1 ukoliko se pri izvravanju naredbe detektuje neka
nepravilnost (duina je negativan broj ili premauje veliinu datoteke) i ako se ne resetuje
pre kraja sken ciklusa, javlja se znaajna greka. Kada uslov postane neistinit vrednost
SL. 5-1 IZVOENJE NAREDBI ZA POMERANJE BITOVA
SL. 5-2 ELEMENT UPRAVLJAKE DATOTEKE ZA BSL I BSR NAREDBU
Plc_nizovi/90

ovog bita se resetuje na nulu.
UL Unload bit posle pomeranja sadri poslednji bit poetnog niza, kod pomeranja u
levo, odnosno prvi bit kod pomeranja u desno.
S obzirom na nain na koji se izvrava ova naredba, oigledno je da se rotacija
niza moe ostvariti tako to e se kao bit address staviti ili adresa UL-bita, ili adresa prvog
(BSR) odnosno poslednjeg (BSL) bita u nizu.
Ukoliko se eli da se u okviru jednog sken ciklusa izvri pomeranje za vie mesta,
to se moe ostvariti pomou programskog ciklusa, koji e omoguiti da se ista naredba
(pomeranje za jedno mesto) izvri vie puta. O nainu formiranja ciklusa bie kasnije vie
rei.
5.4. NAREDBE ZA SEKEVENCIJALNU OBRADU PODATAKA
Jedan od izuzetno estih zadataka pri upravljanju procesima je sekvencijalno
upravljanje. Ovim upravljanjem se izvrnim organima na procesu zadaje niz naredbi
binarnog tipa (ukljui/iskljui, napred/nazad, kreni/stani i sl.) koje se smenjuju u vremenu,
pri emu svaka aktivnost traje odreeni, unapred definisani interval vremena, ili dok se ne
detektuje nastanak nekog dogaaja. Bitno obeleje ovog naina upravljanja je da je
sekvenca unapred potpuno odreena i da se niz aktivnosti moe definisati kao sukcesivan
niz binarno kodiranih rei, kod kojih se svaki bit odnosi na pojedini izvrni organ, koji je
vezan za kontroler preko odgovarajueg digitalnog izlaznog modula. Kako se proces
odvija, tako se na izlazni modul prenosi re po re iz upravljake sekvence.
Budui da prelazak sa jedne aktivnosti na drugu moe da bude uslovljen stanjem u
pojedinim delovima procesa, to znai da je neophodno da se, pod odreenim uslovima,
oitavaju stanja indikatora na procesu i porede sa unapred definisanim stanjima. U
zavisnosti od rezultata poreenja, odluuje se da li je dolo vreme za sledeu aktivnost.
Kada je odgovor potvrdan, onda je izvesno da proces ulazi u sledeu fazu, te da se
nadalje stanje mora porediti sa drugim nizom vrednosti koji ukazuje na zavretak sledee
faze. Dakle, i ovde je mogue da se svi parametri koji uestvuju u poreenju, urede u
jedan niz binarno kodiranih rei, i da se stanje procesa, koje se uitava preko digitalnih
ulaznih modula poredi sa odgovarajuom rei iz niza.
Nema nikakve sumnje da bi se opisane operacije mogle izvesti
kombinovanjem naredbi za unoenje i iznoenje digitalnih podataka, naredbi za
poreenje i tehnike indirektnog ili indeksnog adresiranja. Meutim, poto je
potreba za ovim operacijama izuzetno izraena, predviene su dve posebne
naredbe kojima se one u celosti mogu realizovati. Obe naredbe su naredbe akcije
5.4.1. NAREDBE ZA SEKVENCIJALNI RAD SA DATOTEKAMA
U okviru ovih naredbi bar jedan od operanada je datoteka u kojoj se nalazi niz
podataka. Pri tome se dozvoljava rad samo sa onim datotekama iji elementi su duine
jedne rei. Adrese pojedinih podataka odreuju se pomou bazne adrese koja se definie
u naredbi i pointera koji predstavlja upravljaki parametar, ija se vrednost menja u toku
ponovljenih izvravanja naredbe. Pri tome se adresa operanda dobija kao zbir bazne
adrese i vrednosti pointera. U naredbama se definie poetna vrednost pointera kao i
ukupna duina niza.
Ako neka aplikacija zahteva da se sekvencijalna obrada izvri nad podacima koji
su dui od 16 bitova, onda se ti podaci moraju podeliti na vie datoteka. Tada se u
svakom rangu na izlazu kao naredbe akcije mogu paralelno staviti vie istih naredbi
kojima se adresiraju sve definisane datoteke.
Svakoj datoteci koja se specificira u okviru neke sekvencijalne naredbe pridruuje
se po jedan elemenat upravljake datoteke R. U okviru ovog elementa pamte se
indikatorski bitovi, kao i vrednost pointera i duina same datoteke. O formatu jednog
elementa ove datoteke bie kasnije vie rei.
Prilikom izvravanja ovih naredbi menja se sadraj indeksnog registra. Nakon
Plc_nizovi/91

zavretka naredbe, sadraj indeksnog registra jednak je vrednosti pointera.
Potrebno je da se naglasi da se ove naredbe ne izvode uvek na isti nain. Naime,
samo kada se uslov u rangu menja sa neistinit na istinit menja se vrednost pointera i on
ukazuje na drugi podatak. Meutim, ako uslov posle toga ostane i dalje istinit, pointer ne
menja vrednost ve se naredba izvrava sa podatkom koji je uzet pri poslednjoj promeni
pointera.
SQL Sequencer Load (sekvencijalno punjenje datoteke)

Svaki put kada se uslov menja sa neistinit na istinit, ova naredba se izvrava tako
to se vrednost pointera povea za 1 i podatak koji je odreen kao source prenese u
datoteku file na onu adresu na koju pokazuje pointer. Na taj nain se pri svakom
sledeem izvravanju naredbe menja sadraj sledee rei u nizu. Ukoliko se kao source
adresa navede konstanta onda se ceo niz postavlja na istu vrednost. Ako je source
adresa promenljiva (fn:s), onda svaka re niza dobija vrednost koju promenljiva ima u
trenutku izvoenja naredbe. Meutim, ako se kao source adresa navede datoteka (#fn:s),
onda se ta adresa uzima kao bazna adresa izvorne datoteke, to znai da se pri izvoenju
naredbe podatak uzima sa one adrese na koju u izvornoj datoteci pokazuje pointer. Pri
tome se podrazumeva da obe datoteke imaju istu duinu, definisanu kao length.
Pri sledeim sken ciklusima, za svo vreme za koje uslov ostaje istinit, vrednost
pointera se ne menja, ve se isti, prethodno odreeni, podatak prenosi u promenljivu
oznaenu sa dest.
SQO Sequencer output (sekvencijalno upravljanje)

Svaki put kada
se uslov menja sa
neistinit na instinit, ova
naredba se izvrava
tako to se vrednost
pointera (position)
povea za 1 i uzme
ona re iz datoteke file
(#fn:w) na koju
pokazuje pointer. Ta
re se filtrira kroz
masku mask i rezultat
filtracije se prenosi u
promenljivu oznaenu
sa dest. Ako je kao
dest navedena
SL. 5-3 - ILUSTRACIJA IZVRAVANJA SQO NAREDBE
Plc_nizovi/92

datoteka #fn:d onda e se rezultat upisati u onu re te datoteke na koju pokazuje pointer
(Sl. 5-3). Isto tako, ako je kao mask navedena datoteka #fn:m onda i maska prestaje da
bude fiksna, ve se svaki put kao maska uzima ona re iz datoteke na koju pokazuje
pointer. Potrebno je zapaziti da se u rei koja oznaena sa dest menjaju samo oni bitovi
koji su nemaskirani (odgovarajui bitovi maske su postavljeni na 1).
Pri sledeim sken ciklusima, za svo vreme za koje uslov ostaje istinit, vrednost
pointera se ne menja, ve se isti, prethodno odreeni, podatak prenosi u promenljivu
oznaenu sa dest.
SQC Sequencer compare (sekvencijalno poreenje)





Svaki put kada se
uslov menja sa neistinit
na instinit, SQC naredba
se izvrava tako to se
vrednost pointera
(position) povea za 1 i
uzme ona re iz datoteke
#fn:w na koju pokazuje
pointer. Ta re se poredi
sa filtriranim podatkom
koji sadri promenljiva
oznaena kao source i rezultat poreenja se upisuje u odgovarajui indikatorski bit.
Filtracija podatka vri se pomou maske mask i to tako da u poreenju uestvuju samo
oni bitovi kojima u maski odgovara vrednost bita 1 (nemaskirani bitovi). Ako je kao source
navedena datoteka #fn:s onda e se podaci koji uestvuju u poreenju uzimati iz one rei
te datoteke na koju pokazuje pointer (Sl. 5-4). Isto tako, ako je kao mask navedena
datoteka #fn:m onda i maska prestaje da bude fiksna, ve se svaki put kao maska uzima
ona re iz datoteke na koju pokazuje pointer.
Pri sledeim sken ciklusima, za svo vreme za koje uslov ostaje istinit, vrednost
pointera se ne menja, ve se isti, prethodno odreeni, podatak (source) uzima kao
podatak za poreenje.
DATOTEKA R CONTROL
Naredbama za
sekvenciranje pridruuju
se indikatorski bitovi i
upravljaki parametri.
Ove informacije se
smetaju u upravljaku
datoteku tipa R. Pri tome
se moe koristiti
sistemska upravljaka
datoteka broj 6, ili
SL. 5-4 - ILUSTRACIJA IZVRAVANJA SQC NAREDBE
SL. 5-5 - ELEMENAT UPRAVLJAKE DATOTEKE ZA SQL, SQO I SQC
NAREDBU
Plc_nizovi/93

korisnika datoteka (brojevi od 9 do 255). Jedan elemenat ove datoteke, koji se odnosi na
SQO i SQC naredbu ima izgled kao na Sl. 5-5.
Bitovi stanja u elementu datoteke R menjaju se na sledei nain:
EN Enable bit se postavlja na 1 kada uslov prelazi sa neistinit na istinit. Postavljanje
ovog bita prouzrokuje da se izvri naredba i vrednost pointera povea za 1. Pri svakom
sledeem prolazu kroz ovaj rang, sve dok je uslov istinit, EN bit zadrava vrednost 1, ali
se vrednost pointera ne menja, ve se naredba izvrava sa istom vrednou pointera.
Kada uslov postane neistinit, EN bit se resetuje na 0.
DN Done bit se postavlja na 1 kada vrednost pointera, posle niza izvoenja SQL, SQO
ili SQC naredbe, doe do kraja niza u zadanoj datoteci. Ovaj bit e biti resetovan na 0 tek
u onom sken ciklusu u kome uslov, poto je prethodno postao neistinit, ponovo postaje
istinit (kada se EN-bit ponovo postavi na 1).
ER Error bit se postavlja na 1 kada se u programu detektuje negativna vrednost
pointera, ili negativna ili nulta vrednost duine niza. Ako se ovaj bit ne resetuje pre kraja
sken ciklusa nastae znaajna greka.
FD Found bit se postavlja na 1 ako je rezultat poreenja u SQC naredbi istinit. Drugim
reima ovaj bit ukazuje na to da su nemaskirani bitovi podataka jednaki odgovarajuim
bitovima u datoteci referentnih vrednosti.
LENGTH I POSITION
Promenljive length se pamti u prvoj rei datoteke R i predstavlja broj rei koji se
nalazi u nizu u jednoj sekvencijalnoj datoteci. Maksimalna vrfednost duine je 255. Pri
definisanju duine, potrebno je voditi rauna o injenici da navedena adresa rei w u
datoteci #fn:w zapravo predstavlja nultu, poetnu poziciju. To znai da se za datu duinu
len u datoteci koristi zapravo len+1 re. Ovo se naravno odnosi i na mask, source i dest
ukoliko su u naredbi specificirane kao datoteke.
Vrednost pointera, oznaena kao position, pamti se u drugoj rei datoteke R.
Poetna vrednost pointera se definie pri specifikaciji naredbe. Vrednost pointera se kree
od 1 do len i ukazuje na rei u datoteci od fn:(w+1) do fn:(w+len+1). Kada pointer stigne
do poslednje rei u datoteci, postavlja se DN-bit na 1 i pri tome se u prvom sledeem sken
ciklusu u kome uslov ima prelaz sa neistinit na istinit (isti ciklus u kome se resetuje DN-bit)
vrednost pointera automatski vraa na 1. Pri definiciji poetne vrednosti pointera potrebno
je obratiti panju na injenicu da se ona povea za 1 pre prvog izvoenja naredbe.
Ako se kao poetna vrednost pointera definie 0, onda e pri izvoenju SQC
naredbe obrada poeti od rei u datoteci ija je adresa fn:(w+1). Meutim kod SQO
naredbe nain izvoenja operacije zavisi od istinitosti uslova u prvom sken ciklusu. Ako je
uslov istinit naredba se izvrava poev od nulte rei, ija je adresa fn:(w+0). Meutim, ako
je uslov neistinit, izvravanje naredbe se odlae sve dok uslov ne postane istinit i tada se
uzima prva re, ija je adresa w+1.
Konano, vano je da se istakne da se prilikom eventualne programske promene
duine i pozicije mora voditi rauna da se ne prekorai veliina definisanog niza u
datoteci.
RESETOVANJE PARAMETARA
Ukoliko se iz nekog razloga eli prekinuti
sekvencijalno upravljanje ili poreenje, to se
moe ostvariti pomou RES naredbe u kojoj se
navodi adresa nulte rei elementa datoteke R koji
je vezan za naredbu iji se rad eli resetovati
Rf:e. RES naredbom se vrednosti svih indikatorskih bitova, izuzev FD-bita, postavljaju na
0. Istovremeno se i vrednost pointera postavlja na 0 (ova vrednost e se poveati na 1 pre
prvog sledeeg izvoenja naredbe).
Plc_nizovi/94

5.5. NAREDBE ZA FORMIRANJA STEKA
U raunarskoj terminologiji stek oznaava niz podataka koji se sekvencijalno puni i
prazni. Naime, stek se formira u nekom podruju memorije i to tako to se definie
poetna adresa steka i pointer steka se postavi na tu poetnu adresu. Svaki put kada se
podatak unese u stek, vrednost pointera poraste za 1, tako da on uvek ukazuje na
sledeu slobodnu lokaciju. U pogledu uzimanja podataka iz steka postoje dva principa:
LI FO st ek (Last i n l ast out ) je stek kod koga se podatak uzima sa vrha steka,
odnosno kod koga se kao prvo uzima podatak koji je poslednji smeten u stek. Vrednost
pointera se pri tome smanjuje za 1, ali se poloaj preostalih podataka ne menja.
FI FO st ek (Fi rst i n f i rst out ) je stek kod koga se podatak uzima sa dna steka,
odnosno kao prvo uzima podataka koji je prvi stavljen na stek, pri emu se svi preostali
podaci transliraju za jedno mesto na dole prema dnu steka, dok se memorijsko mesto
koje je zauzimao podatak na vrhu steka postavlja na 0. Istovremeno se i vrednost
pointera smanjuje za 1.
S obzirom na izloeni princip formiranja steka, oigledno je da za svaki tip steka
moraju postojati odvojene naredbe. Pri tome se one javljaju u paru (za punjenje i
pranjenje steka). U okviru naredbe mora da se definie bazna adresa steka, poetna
vrednost pointera, kao i maksimalna duina steka. Svakom steku koji se specificira u
okviru neke naredbe se pridruuje po jedan elemenat upravljake datoteke. U ovom
elementu postavljaju se odreeni indikatorski bitovi, a takoe se pamti i vrednost pointera,
kao i duina steka.
Naredbe za punjenje i pranjenje steka su naredbe akcije, ali se izvode samo
onda kada se uslov menja sa neistinit na istinit.
PUNJENJE STEKA
LFL LIFO load (punjenje LIFO steka)
FFL FIFO load (punjenje FIFO steka)

Ove naredbe se izvravaju svaki put kada se uslov menja sa neistinit na istinit, i to
tako to se podatak ija je adresa navedena kao source, prenese na poloaj u steku koji
je odreen pointerom. Nakon toga se vrednost pointera povea za 1. Ovaj postupak je
ilustrovana na slici Sl. 5-6, gde su prikazana tri uzastopna izvravanja bilo koje od ove dve
naredbe. Pri tome je pretpostavljeno da je bazna adresa steka locirana na memorijskoj
SL. 5-6 - ILUSTRACIJA IZVRAVANJA NAREDBI LFL I FFL ZA PUNJENJE STEKA
Plc_nizovi/95

adresi 200, i da su u steku, pre izvravanja ovih naredbi ve smetena dva podatka (a i
b).

I ako obe naredbe za punjenje steka rade na isti nain, one se mogu koristiti samo
za punjenje odgovarajueg tipa steka. Drugim reima ne moe se LFL naredbom puniti
FIFO stek i obratno. U principu, kao poetna pozicija pointera moe da se zada bilo koja
vrednost, ali je prirodno da ona bude nula, odnosno da se stek puni od bazne adrese.
Prilikom izvoenja ovih naredbi menja se sadraj indeksnog registra S:24 i to tako
to on dobija vrednost pointera pre otpoinjanja izvravanja naredbe.

PRANJENJE STEKA
LFU LIFO unload (pranjenje LIFO steka)
FFU FI FO unl oad ( pranj enj e FI FO st eka)
Ove naredbe se izvravaju svaki put kada se uslov menja sa neistinit na istinit, i to
tako to se vrednost pointera smanji za 1 i uzme podataka sa vrha steka (LFU), odnosno
sa dna steka (FFU) i prenese na adresu koja je navedena kao dest. Ovaj postupak je
ilustrovana na Sl. 5-8 i Sl. 5-7, gde su prikazana tri uzastopna izvravanja ovih naredbi.
Pri tome je pretpostavljeno da je bazna adresa steka locirana na memorijskoj adresi 200.

a
e
d
c
b
a
d
c c
b b
a
pointer=3
200
201
204
203
202
pointer=4 pointer=2
dest
pointer=5 pointer=4 pointer=3 pre
u toku i posle
izvoenja
UNLOAD LIFO
naredbe
prva LFU
naredba
treaLFU
naredba
druga LFU
naredba
bazna adresa
steka
Stek
pre posle
prve LFU
naredbe
205
SL. 5-7 - ILUSTRACIJA IZVRAVANJA NAREDBE ZA PRANJENJA LIFO STEKA
Plc_nizovi/96



U toku izvravanja ovih naredbi menja se vrednost indeksnog registra S:24 i to
tako da on sadri vrednost koju pointer ima nakon izvravanja naredbe.

DATOTEKA R CONTROL
Naredbama za rad
sa stekom pridruuju se
indikatorski bitovi i
upravljaki parametri. Ove
informacije se smetaju u
upravljaku datoteku tipa
R. Pri tome se moe
koristiti sistemska
upravljaka datoteka broj
6, ili korisnika datoteka
(brojevi od 9 do 255).
Jedan elemenat ove
datoteke, koji se odnosi na naredbe za rad sa stekom ima izgled kao na slici Sl. 5-9.
Bitovi stanja u elementu datoteke R menjaju se na sledei nain:
EN Enable bit se postavlja na 1 kada uslov u rangu koji sadri FFL ili LFL naredbu za
punjenje steka, prelazi sa neistinit na istinit. Postavljanje ovog bita prouzrokuje da se
izvri naredba. Pri svakom sledeem prolazu kroz ovaj rang, sve dok je uslov istinit,
vrednost EN bita ostaje 1, ali se naredba ne izvrava. Kada uslov postane neistinit, EN
bit se resetuje na 0.
EU Enable bit se postavlja na 1 kada uslov u rangu koji sadri FFU ili LFU naredbu za
pranjenje steka, prelazi sa neistinit na istinit. Postavljanje ovog bita prouzrokuje da se
izvri naredba. Pri svakom sledeem prolazu kroz ovaj rang, sve dok je uslov istinit,
vrednost EU bita ostaje 1, ali se naredba ne izvrava. Kada uslov postane neistinit, EU
bit se resetuje na 0.
DN Done bit se postavlja na 1 kada vrednost pointera doe do vrha steka (odnosno
kada on ukazuje na prvu sledeu adresu iznad vrha steka). Ovaj bit indicira da je stek pun
i sve dotle dok je njegova vrednost 1, naredbe za punjenje steka se nee izvravati, bez
SL. 5-8 - ILUSTRACIJA IZVRAVANJA NAREDBE ZA PRANJENJA FIFO STEKA
SL. 5-9 - ELEMENAT R DATOTEKE ZA LFL, FFL, LFU I FFU NAREDBU
Plc_nizovi/97

obzira na to to bi prema uslovu u rangu trebalo da se izvre. Ovaj bit e biti resetovan na
0 tek nakon izvravanja naredbe za pranjenje steka, ime u steku ostaje upranjeno
jedno mesto.
EM Empty bit se postavlja na 1 kada vrednost pointera ukazuje na dno steka, odnosno
kada je stek prazan. Sve dotle dok je vrednost ovog bita 1, naredbe za pranjenje steka
se nee izvravati, bez obzira na to to bi prema uslovu u rangu trebalo da se izvre.
Plc_nizovi/98


Plc_flow/99

6. NAREDBE ZA UPRAVLJANJE IZVRAVANJEM PROGRAMA
6.1. OPTE NAPOMENE
U principu kada PLC pone sa radom (ue u tzv Run mode) on zapoinje sken
ciklus koji se sastoji iz ulaznog sken ciklusa, programskog sken ciklusa, izlaznog sken
ciklusa, komunikacionog ciklusa i odravanja. Pri tome se u okviru programskog sken
ciklusa obrauje rang po rang u redosledu u kome su oni napisani.
Razliite aplikacije mogu zahtevati da se redosled izvoenja leder programa, pod
odreenim uslovima, promeni. Isto tako moe biti potrebno da se program privremeno
prekine, da se pojedine aktivnosti suspenduju, da se stanja nekih veliina resetuju ili da se
usled nastanka nekih dogaaja preduzimaju i neke druge aktivnosti. Svi ovi efekti mogu
se ostvariti posebnim naredbama za upravljanje izvravanjem programa.
6.2. NAREDBA ZA SKOK
Leder program se izvrava u okviru programskog sken ciklusa i to tako to se
obrauje rang po rang u redosledu u kome su oni napisani u programu. U samom
procesoru postoji jedan registar, koji igra ulogu pokazivaa (pointera), koji sadri
memorijsku adresu sledeeg ranga u programu koji treba da se obradi. U svakom rangu
ispituje se istinitost uslova i ako je on istinit izvravaju se naredbe akcije. Kod nekih
aplikacija, meutim, neophodno je da se, pod odreenim uslovima odstupi od normalnog
toka programa, tako to se preskae jedan niz naredbi ili se neki niz naredbi ciklino
ponavlja odreeni broj puta. Ovakvi zahtevi mogu se ostvariti pomou naredbi za skok.
LBL - naredba
Sve dotle dok se naredbe programa izvravaju u
redosledu u kome su napisane nema nikakve potrebe da se
pojedini rangovi posebno oznae. Meutim, ukoliko se od
programa oekuje da omogui skok na neku naredbu, onda je
neophodno da se omogui da se jedna odreena naredba
identifikuje na nedvosmislen nain. Identifikacija naredbe ostvaruje se pomou
simbolikog imena labele koja se kao naredba uslova postavlja na prvo mesto u rangu .
Labela se definie kao decimalni broj koji se kree od 0 do 999. U jednom programu moe
se definisati najvie 256 razliitih labela. Samo se po sebi razume da se jedna labela,
budui da predstavlja simboliko ime ranga, moe nalaziti u samo jednom rangu.
Iako labela ima grafiki simbol naredbe uslova njoj se ne pridruuju nikakvi bitovi
ije bi stanje odreivalo istinosnu vrednost naredbe. Pri izvoenju programa smatra se da
je naredba uvek istinita.
JMP Jump (skok)
Ova naredba je naredba akcije, to znai da se
izvrava ukoliko je uslov istinit. Naredba se izvodi tako to se
menja vrednost pointera tako da on ukazuje na memorisjku
adresu na kojoj se nalazi rang ija je labela naznaena u JMP
naredbi. To zapravo znai da se vri skok na rang koji sadri
datu labelu, i od njega se nastavlja izvravanje programa. Vie razliitih JMP naredbi
mogu koristiti istu labelu.
U principu skok se moe izvriti unapred ili unazad u odnosu na rang u kome se
nalazi JMP naredba. Ukoliko se skok unazad kombinuje sa brojaem ili nekim uslovom
moe se ostvariti programska petlja. Prilikom formiranja petlje treba voditi rauna da se
ukupno vreme skeniranja ne produi preko unapred definisane gornje granice trajanja
jednog programskog sken ciklusa. Ukoliko se to dogodi procesor e prijaviti greku i
obustaviti rad.
Plc_flow/100

6.3. POTPROGRAMI
Veoma esto u okviru neke aplikacije javlja se potreba da se jedna ista sekvenca
naredbi ponovi vie puta na razliitim mestima u programu. Nesumnjivo je da se ovo
moe reiti i tako to e se dati niz programskih rangova ponoviti onoliko puta koliko to
aplikacija zahteva, ali e se na taj nain nepotrebno zauzimati memorijski prostor. Da bi
se to izbeglo, dati niz rangova formira se samo jedanput kao potprogram (subroutine), koji
se poziva na izvravanje na vie mesta u leder programu.
POZIV POTPROGRAMA
JSR Jump to Subroutine (skok na potprogram)
Ova naredba je naredba akcije. Ukoliko je
uslov istinit JSR naredba prouzrokuje prekid u
normalnom izvravanju leder programa i
ostvaruje skok na potprogram ije je simboliko
ime (broj programske datoteke) naveden kao
adresa u JSR naredbi. Izvravanje programa
nastavlja se od prvog ranga potprograma.
FORMIRANJE I IDENTIFIKACIJA PODPROGRAMA
SBR Subroutine (potprogram)
Potprogram je zasebna celina leder programa koja se mora formirati u okviru
posebne programske datoteke. Broj te datoteke (3
255) predstavlja istovremeno i simboliko ime
potprograma. SBR naredba se koristi da bi se
naznailo da programska datoteka predstavlja
potprogram. Ova naredba formalno pripada kategoriji
naredbi uslova, to znai da se postavlja na levu
stranu ranga. Pri tome ona se mora definisati kao prva naredba, prvog ranga u
programskoj datoteci u okviru koje se definie potprogram. Budui da SBR naredba
predstavlja identifikator potprograma njoj se ne pridruuju nikakvi bitovi ije bi stanje
odreivalo istinosnu vrednost naredbe. Pri izvoenju programa smatra se da je naredba
uvek istinita.
U principu, u okviru potprograma izdvaja se jedna programska celina (procedura)
koja se ponavlja na vie mesta u programu, ime se, kao to je ve reeno, tedi na
potrebnom memorijskom prostoru. Pored toga, kod sloenijih aplikacija, pogodno je da se
pojedine logike celine izdvoje u potprograme, ime se znaajno poveava preglednost
programa. i olakava njegovo testiranje.
Pri korienju potprograma treba voditi rauna o injenici da e se svi bitovi
digitalnih izlaza kojima se upravlja u okviru potprograma menjati samo onda kada se
potprogram pozove.
ZAVRETAK POTPROGRAMA
RET return (povratak)
END End (kraj)
Poslednji rang svakog potprograma, kao i
glavnog programa, sadri samo jednu naredbu
akcije END naredbu. Pri tome, u delu za uslov
nema nikakve naredbe, to znai da se ovaj rang
izvrava u svakom programskom sken ciklusu.
Izvravanje END naredbe u potprogramu ima za
posledicu da se promeni vrednost pointera sledeeg ranga i to tako da on ukazuje na prvi
rang koji se nalazi neposredno iza JSR naredbe kojom je ostvaren skok na ovaj
potprogram.
U nekim aplikacijama potrebno je da potprogram ima vie razliitih zavretaka u
Plc_flow/101

zavisnosti od vrednosti pojedinih podataka. U tu svrhu koristi se RET naredba. Ova
naredba akcije izvrava se isto kao i END naredba, to znai da prekida rad potprograma
i vraa izvravanje na prvi rang neposredno iza JSR naredbe. Jedina razlika je u tome to
se na levoj strani ranga koji sadri RET
naredbu mogu nai naredbe uslova.
Ukoliko je uslov istinit izvoenjem RET
naredbe prekinue se rad potprograma i
pre njegovog fizikog kraja koji
oznaava END naredba.
Unutar jednog potprograma
moe se nai vie RET naredbi.
UAURENI PODPROGRAMI
U principu jedan potprogram
moe pozvati drugi potprogram koji
poziva trei i tako redom. Nain
izvravanja tako uaurenih potprograma
ilustrovan je na Sl. 6-1. . Dozvoljeno je
povezivanje do osam nivoa
potprograma.
6.4. PROMENA TOKA SKEN CIKLUSA
Ova grupa naredbi koristi se u fazi testiranja programa ili za ubrzavanje sken
ciklusa u nekim sluajevima.
TND Temporary end
Ukoliko je uslov istinit ova naredba prekida
izvravanje programskog sken ciklusa. U tom sluaju odmah
zapoinje izlazni sken ciklus, posle koga se nastavlja ciklus
komunikacija i odravanja. Sledei programski sken ciklus
zapoinje od prve programske naredbe.
Samo se po sebi razume da se ova naredba najee koristi u fazi testiranja
programa, kada se eli ispitati ispravnost pojedinih programskih celina.
SUS Suspend naredba
Ukoliko je uslov istinit ova naredba prouzrokuje suspenziju rada procesora
(suspend idle mode PLCa) i ukidanje pobude na
svim izlaznim linijama. Istovremeno se ID kod, koji se
navodi u naredbi, upisuje u sedmu re statusne
datoteke (S:7), dok se broj programske datoteke u
kojoj se nalazi ova naredba upisuje u osmu re (S:8).
Naredba se koristi u fazi testiranja programa i
pronalaenja greaka. Ona se stavlja u onim segmentima programa koje se ele ispitati i
kada procesor ue u stanje suspenzije ispituju su sve rei u statusnoj datoteci koje mogu
dati informaciju o radu programa.
ID kod koji se navodi u naredbi slui za identifikaciju same naredbe. Naime, budui
da se u jednom programu moe nai vie ovakvih naredbi. One se meusobno razlikuju
po svom identifikacionom kodu i po broju programske datoteke u kojoj se nalaze.
Oitavanjem ova dva podatka iz statusne datoteke korisnik moe da identifikuje deo
programa koji se izvravao neposredno pre toga i da proveri ostale podatke iz statusne
datoteke.

MCR, END MCR Master control reset
Par naredbi MCR i END MCR definie zonu unutar leder programa koja se moe
SL. 6-1 UAURENI POTPROGRAMI
Plc_flow/102

izvravati na specifian nain. Ukoliko je uslov u MCR
naredbi istinit onda se sve naredbe koje nalaze u MCR
zoni izvravaju regularno. To znai da se u svakom rangu
ispituje uslov i u zavisnosti od vrednosti uslova izvrava
odgovarajua akcija. Meutim, ukoliko je uslov neistinit u
svim rangovima unutar zone se postavlja vrednost
odgovarajuih bitova uslova, dok se nezavisno od ove
vrednosti svi bitovi akcije resetuju. Na taj nain se u
izvesnoj meri smanjuje trajanje programskog sken
ciklusa.
Smisao ove naredbe je da omogui kreiranje
programskih celina koje se po potrebi mogu aktivirati ili inhibirati. Na ovaj nain se moe
realizovati granjanje programa na vie putanja. Tako, na primer, ukoliko se realizuje
program koji upravlja nekim procesom koji radi sa razliitim recepturama, svaka od
receptura se moe definisati unutar posebne MCR zone. Paljivo odabranim uslovima
moe se postii da u svakom trenutku samo jedna od ovih zona bude aktivna.
Pri korienju MCR zone potrebno je voditi rauna da se nekom naredbom za
skok ne skoi unutar zone, jer se u tom sluaju ponitava efekat inhibicije zone i nastavlja
se sa normalnim obraivanjem rangova.
6.5. AURIRANJE ULAZNIH I IZLAZNIH PODATAKA
Ve je istaknuto da se u toku programskog sken ciklusa ne obrauju direktno
ulazni podaci, ve vrednosti koje se u toku ulaznog sken ciklusa upisane u datoteku ulaza.
Na isti nain, rezultati obrade se ne prenose direktno na izlazne linije ve se upisuju u
datoteku izlaza iz koje e, u toku izlaznog sken ciklusa, biti prenete na izlazne linije. To
zapravo znai da postoji neko kanjenje izmeu oitavanja podataka i njihove obrada, kao
i izmeu definisanja izlaznih signala i njihovog prenoenja na izvrne organe. U nekim
aplikacijama, meutim, kanjenje nekih signala moe prouzrokovati ozbiljnije poremeaje
u efikasnosti upravljakog algoritma. Da bi se to izbeglo omogueno je da se u toku
samog programskog sken ciklusa zahteva oitavanje trenutne vrednosti signala na nekoj
od ulaznih linija, ili trenutno prenoenje izraunate akcije na izlaznu liniju. Ovo se postie
posebnim naredbama kojima se privremeno prekida programski sken ciklus i izvrava deo
ulaznog odnosno izlaznog sken ciklusa.
I I M Immediate input with mask
I OM Immediate output with mask

Ukoliko je uslov istinit, IIM naredba
e prouzrokovati oitavanje (sken) svih
ulaznih linija koje se nalaze u modulu u
datom slotu. Vrednosti bitova koji
odgovaraju bitovima koji su u maski
postavljeni na 1 bie smeteno u sliku ulaza
(ulaznu datoteku) i koriena u svim
sledeim sken naredbama.
Na isti nain, pri istinitom uslovu IOM naredba e prouzrokovati da se vrednosti
bitova koji se nalaze u slici izlaza (izlaznoj datoteci), a koji odgovaraju bitovima koji su u
maski postavljeni na 1, trenutno prenesu na izlazne linije modula u datom slotu.
REF I/O refresh
Ukoliko je uslov istinit REF naredba prouzrokovae
prekid programskog sken ciklusa i obavljanje izlaznog sken
ciklusa, ciklusa komunikacije i odravanja, kao i ulaznog
sken ciklusa. Posle toga se programski sken ciklus nastavlja
Plc_flow/103

od mesta gde je prekinut.
Oigledno je da se ova naredba koristi u sluajevima kada je programski sken
ciklus relativno dugaak pa je, radi smanjivanja kanjenja u operaciji nad podacima,
neophodno da se oni auriraju ee nego to bi to bio sluaj da se obavlja regularni sken
ciklus.
6.6. SISTEM PREKIDA (INTERRUPT)
Prekid je mehanizam pomou koga se neki program privremeno prekida da bi se
omoguilo izvravanje
nekog drugog posebnog
dela programa, koji se
oznaava kao servisni
potprogram. Kada se
servisni potprogram zavri,
nastavlja se izvravanje
programa koji je bio
prekinut. Ovaj postupak je
ilustrovan na slici (Sl. 6-2).
Mehanizam sistema
prekida se aktivira pomou
signala prekida, koji dolaze
iz spoljanje sredine i
imaju poseban direktan
ulaz u centralnu jedinicu.
Svrha ovih signala je
"obavetavanje" procesora
o nastanku nekih
spoljanjih dogaaja. U
zavisnosti od vrste
dogaaja procesor menja redosled izvoenja operacija ili reaguje na neki drugi unapred
predvien nain.
Pored ve pominjane mogunosti da se signalima prekida ukazuje da je neki U/I
ureaj spreman za prenos podataka, ime se eliminie potreba za ispitivanjem njegovog
stanja, ovi signali imaju izuzetan znaaj za rad sistema u realnom vremenu i koriste se
kao:
asovni k real nog vr emena, gde spoljanji hardverski ureaj generie signal u
ravnomernim vremenskim intervalima; servisni potprogram broji ove signale i na osnovu
njih formira informaciju o vremenu;
dogaaj i ( al armi ), gde se nastanak neke nepredviene situacije (dogaaja) na
procesu moe identifikovati tako to e odgovarajui senzori generisati digitalne signale.
Ovakvi signali alarma su relativno retki, ali zahtevaju izuzetno brzu reakciju sistema, pa
je oigledno da njihovo opsluivanje preko sistema prekida prua efikasno reenje;
runo upravl j anj e, gde se korienjem prekida moe omoguiti da se preuzme runo
upravljanje procesom u sluaju regularnog remonta ili opravki na sistemu;
i ndi kaci j e har dverskog ot kaza, gde se informacija o otkazu spoljanjeg hardvera ili
podsistema za spregu moe dobiti preko signala prekida, posle ega servisni
potprogram moe da realizuje aktivnost predvienu u tom sluaju (automatska zamena,
ako postoji paralelni ureaj; promena algoritma dok se ne izvri opravka itd.);
pomo pr i t raenj u greaka u programu, gde se prekid esto koristi za
prekidanje rada programa na odreenim mestima u fazi provere njegove ispravnosti;
nest anak napaj anj a, gde se u raunar ukljuuje kolo koje veoma brzo detektuje
SL. 6-2 REALIZACIJA SISTEMA PREKIDA
Plc_flow/104

gubitak napajanja u sistemu i obezbeuje upozorenje nekoliko milisekundi pre nego to
sistem prestane da radi. Ukoliko je ovakvo kolo vezano za signal prekida koji ima
prioritet nad svim ostalim aktivnostima u raunaru, onda ima dovoljno vremena da se
izvri nekoliko naredbi pomou kojih se rad procesa kojim se upravlja prekida na neki
predvieni nain.
Realizacija sistema prekida obuhvata detekciju signala prekida, suspenziju
trenutne aktivnosti, pronalaenje ureaja koji je traio prekid, opsluivanje prekida i
nastavak suspendovane aktivnosti.
6.6.1. TIPOVI PREKIDA I HIJERARHIJSKI NIVOI
PLCovi iz familije SLC operiu sa etiri tipa prekida:
User Fault Routine upravlja radom PLCa u sluaju detekcije greke
DII Discrete Input Interrupt detekcija dogaaja
STI Selectable Timed Interval detkcija protoka vremena (odabiranje)
I/O Interrupt obrauje signale prekida koji dolaze sa specijalnih U/I modula
Ukoliko se istovremeno javi vie od jednog signala prekida, procesor ih opsluuje
u redosledu kojim su ovde dati. Isto tako prekid nieg hijerarhijskog nivoa ne moe
odpoeti da se opsluuje ukoliko se u tom trenutku opsluuje neki prekid vieg
hijerarhijskog nivoa.
DETEKCIJA SIGNALA PREKIDA I PERIOD LATENTNOSTI

Nailazak signala prekida, po pravilu, ne moe ba trenutno da prekine rad
procesora. To znai da e do poetka opsluivanja signala prekida protei izvesno vreme.
Taj vremenski interval oznaava se kao interval latentnosti i njegova duina zavisi od
operacije koja se trenutno izvodi i od zahteva koje specificira korisnik. Postavljanjem bita
S:33/8 korisnik moe zahtevati da se prekid opslui u najkraem moguem periodu (Sl.
6-3).
Ukoliko signal prekida naie u trenutku kada se obrauje jedan slot u kome se
nalazi modul sa vie rei i ukoliko opsluivanje prekida zahteva taj isti slot, onda e
opsluivanje biti odloeno dok se na zavri obrada slota (nezavisno od stanja bit S:33/8).
OPSLUIVANJE PREKIDA
Kada PLC registruje prekid i zavri zapoetu operaciju, odnosno doe u stanje u
kome se dozvoljava opsluivanje prekida, on sauva vrednosti statusnih bitova S:0
SLC 5/02
Max. latentnost
2.4ms
SLC 5/03 i vei
Bit S:33/8 = 1
SLC 5/03 i vei
Bit S:33/8 = 0
Izmeu auriranja
dve rei
Izmeu auriranja
dve rei
Izmeu auriranja
dve rei
Izmeu auriranja
dve rei
Izmeu auriranja
dva paketa rei
Izmeu auriranja
dva slota
Izmeu auriranja
dva ranga
Izmeu auriranja
dva slota
Izmeu slanja dva
komunikaciona
paketa
Izmeu auriranja
dva slota
Izmeu auriranja
dva slota
Izmeu auriranja
dve instrukcije
Izmeu auriranja
dva slota
Izmeu slanja dva
komunikaciona
paketa
Na poetku i na
kraju
Ulazni sken ciklus
Programski sken
ciklus
Izlazni sken ciklus
Komunikacija
Odravanja
S
k
e
n

c
i
k
l
u
s
Nailazak
signala
prekida
Opsluivanje
SL. 6-3 NAIN OBRADE SIGNALA PREKIDA U ZAVISNOSTI OD DELA SKEN CIKLUSA U KOME NAILAZI
Plc_flow/105

(indikator rezultata matematikih operacija), S:13 i S:14 (matematiki registar) i S:24
(indeks registar), a zatim pozove odgovarajui servisni potprogram.
SERVISNI POTPROGRAM
Servisni potrogram je posebna programska datoteka (broj 3 do 255).
U servisnom potprogramu ne smeju se koristiti TND, REF i SVC naredbe. Pored
toga, servisni potprogram moe pozivati najvie tri nivoa uaurenih potprograma. Ukoliko
se eli trenutna spoljna reakcija na detektovani prekid moraju se koristi naredbe za
trenutno oitavanje ulaza i izlaza (IIM i IOM).
6.6.2. USER FAULT ROUTINE
User Fault Routine je specifina vrsta prekida koja nastaje ukoliko se u toku
izvoenja leder programa javi greka. Jedan broj ovih greaka moe biti prouzrokovan
izvoenjem matematikih operacija (npr. deljenje sa nulom), nekom neusaglaenou
naredbi (npr. nepostojea datoteka u indirektnoj adresi) ili neadekvatnim adresiranjem
ulazno/izlaznih modula i tome slino.
Ukoliko se detektuje greka korisnik ima mogunost da zahteva prekid i da pokua
da otkloni greku.
DEFINISANJE SERVISNOG POTPROGRAMA
S: 29 - broj programske datoteke koja sadri servisni potprogram. Ukoliko je ovaj broj
nula, prekid je onemoguen.
Servisni potprogram, po pravilu ispituje kod greke i ustanovljava da li je ona
popravljiva ili nije. Ukoliko je greka popravljiva, ona se ispravlja i pri tome se, na izlasku
iz servisnog potprograma resetuje bit S:1/13. Ukoliko greka nije popravljiva, bit S:1/13 se
ne menja, ali se tada, po pravilu, poalje poruka nekom susednom voru u mrei da PLC
privremeno obustavlja rad (sve dok se ne ustanovi ta izaziva greku i ne unesu se
odgovarajue korekcije).
DETEKCIJA I NAIN OPSLUIVANJA PREKIDA
Kada se u toku izvravanja programa detektuje greka procesor generie odreen
broj podataka u datoteci statusa i zatim proverava sadraj rei S:29. Ako je podatak u rei
S:29 jednak 0, to znai da korisnik nije eleo da se bavi ispitivanjem i eventualnim
popravkom greaka, te e procesor zaustaviti dalji rad. Ukoliko se meutim u toj rei
nalazi bilo koji broj izmeu 3 i 255, onda taj broj oznaava programsku datoteku koja
sadri servisni potprogram i procesor otpoinje izvoenje servisnog potprograma.
POSTAVLJANJE INTERNIH INDIKATORSKIH BITOVA I REI
Ukoliko doe do greke procesor e postaviti sledee bitove u datoteci statusa
S: 1/ 13 (major error bit)
S: 6 - kod greke
S: 20 - broj ranga u kome je greka nastala
S: 21 - broj programske datoteke u kome se taj rang nalazi.

PR. 6-1
ZADATAK
Potrebno je pratiti nastanak dve vrste greaka:
Minor error at the end of scan (kod 0020h), postavljen bit S:5/0
Negative value in time pre or acc (0034h)
Ukoliko se greka detektuje predviaju se sledee reakcije
Spreava se reakcija ako je V bit S:5/0 setovan manje od 5 puta, posle toga procesor prekida rad
(odlazi u fault mode)
Spreava se reakcija ako je kod asovnika T4:0 acc<0. Pri tome se acc resetuje na nulu i pali se
Plc_flow/106

signalna lampa koja indicira da je akumulirana vrednost bila manja od nule.
Dozvoljava se prekid rada PLC za sve ostale greke

REENJE
Osnovni servisni potprogram je programska datoteka broj 3 (Sl. 6-4) i taj broj se mora
upisati u statusnu datoteku u re S:29. Budui da postoje dva tipa greaka na koje se oekuje neka
reakcija one se zasebno obrauju u programskim datotekama broj 4 (kod greke 20h) (Sl. 6-5) i
broj 5 (kod greke 34h) (Sl. 6-6). To znai da servisni potprogram mora da obezbedi pozivanje
jednog od ova dva potprograma u zavisnosti od koda greke.



SL. 6-4 GLAVNI SERVISNI POTPROGRAM IJA JE ADRESA UPISANA U S:29
Plc_flow/107




SL. 6-5 SERVISNI POTPROGRAM KOJI OBRAUJE GREKU IJI JE KOD 0020H
Plc_flow/108



Pored servisnih potprograma formiran je i glavni program u okviru koga se
generie bilo jedna bilo druga greka (Sl. 6-7). Vrednost bita B3:0 odreuje koja e od dve
greke biti generisana. Pri tome se pretpostavlja da e se taj bit, na neki nain, postavljati
spolja.
SL. 6-6 SERVISNI POTPROGRAM KOJI OBRAUJE GREKU IJI JE KOD 0034H
Plc_flow/109



6.6.3. DII DISCRETE INPUT INTERRUPT
Ovaj nivo prekida koristi se za registrovanje nastanka odreenih dogaaja i
obezbeivanje odgovarajue reakcije na te dogaaje.
Dogaaji se detektuju preko oitavanja stanja linija na nekom ulaznom modulu.
Jedan dogaaj se definie specificiranjem niza od 8 bitova. Istovremeno se specificira i
SL. 6-7 GLAVNI PROGRAM KOJI GENERIE GREKE
Plc_flow/110

slot u kome se nalazi
digitalni ulazi koji primaju
ove bitove. Kada procesor
detektuje pojavljivanje
zadanog niza u
odgovarajuem slotu, on
registruje nastanak
dogaaja. Pri tome, ako je
sistem prekida definisan
tako da registruje svaki
dogaaj, procesor e
automatski da pozove
servisni potprogram.
Ukoliko je, meutim sistem
definisan tako da
prebrojava dogaaje, onda
e servisni potprogram biti
pozvan tek kad se dostigne
zadani broj nastanka
dogaaja.
Definisanje
naina rada ovog
prekida, kao i
odgovarajue reakcije obavlja se pomou est rei u statusnoj datoteci. Sam procesor,
opsluujui prekid postavlja jo neke indikatorske bitove u statusnoj datoteci (Sl. 6-8).
DEFINISANJE DOGAAJA
Da bi se definisao spoljni dogaaj neophodno je da korisnik, na neki nain,
definie vrednosti sledeih rei u statusnoj datoteci
S: 47 broj slota broj slota u kome je smeten digitalni ulaz koji prima informacije o
dogaaju. Ukoliko se upie 0, sistem prekida je onemoguen.
S: 48 maska broj izmeu 0 i 255 pomou koga se specificira kojih se od 8 bitova
prate pri detekciji dogaaja. Vrednost bita 1 znai da se odgovarajua ulazna linija
oitava i da se taj bit uporeuje sa zadanim kodom dogaaja
S: 49 referenca broj izmeu 0 i 255 kojim se definie kod dogaaja. Bitovi reference
koji se nalaze na mestima na kojima bitovi maske imaju vrednost 1 se porede sa
bitovima na ulaznim linijama u definisanom slotu. Kada se i poslednji od ovih bitova sloi
generie se signal prekida.
S: 50 nain rada ukoliko je ova vrednost 0 ili 1, sistem prekida radi kao detektor
dogaaja. Ukoliko je vrednost vea od 1, sistem prebrojava dogaaje i generie prekid
kada se registruje zadani broj dogaaja.
DEFINISANJE SERVISNOG POTPROGRAMA
S: 46 - broj programske datoteke koja sadri servisni potprogram. Ukoliko je ovaj broj
nula, prekid je onemoguen.
DETEKCIJA I NAIN OPSLUIVANJA PREKIDA
Bar jedanput u svakih 100s procesor oitava podatke o prvom bajtu u slotu iji je
broj definisan u S:47. (Ovo oitavanje se odvija paralelno sa sken ciklusom i ne utie na
vreme trajanja sken ciklusa.) Oitani podaci se uz pomo maske (S:48) porede sa
referencom (S:49). Ukoliko se podaci slau dalji postupak zavisi od vrednosti rei S:50
S: 50 = 1 ( i l i 0) Detekcija dogaaja generie se prekid i poziva se servisni
potprogram. Istovremeno se u interni mera vremena S:45 upisuje vreme koje je
SL. 6-8 EMATSKI PRIKAZ IZVRAVANJA DII PREKIDA
Plc_flow/111

proteklo od prethodne detekcije prekida (kao multipl od 10ms).
S: 50 > 1 Brojanje dogaaja vrednost akumulatora (S:52) se poveava za 1.
Ukoliko ova vrednost dostigne zadanu vrednost poziva se servisni potprogram i resetuje
se akumulirana vrednost (S:52) na nulu. Istovremeno se u interni mera vremena S:45
upisuje vreme koje je proteklo od prethodne detekcije prekida (kao multipl od 10ms).
REKONFIGURACIJA SISTEMA PREKIDA PRAENJE SEKVENCE DOGAAJA
U principu, definisanjem vrednosti rei u statusnoj datoteci omoguava se
definisanje jednog dogaaja. Kod sekvencijalnog programiranja, detekcija jednog
dogaaja i izvravanje odgovarajue reakcije na njega, po pravilu, zahteva da se pristupi
detekciji nekog drugog dogaaja. Realizacija ovakvog zahteva je mogua samo ako se
promene vrednosti odgovarajuih rei u statusnoj datoteci. Iako se vrednosti ovih rei
mogu redefinisati programski, za rekonfiguraciju celog sistema prekida neophodno je i da
se izvri resetovanje nekih internih promenljivih. Da bi se omoguilo dinamiko
rekonfigurisanje DII sistema prekida koristi se bit za rekonfiguraciju..
S: 33/ 10 bit za rekonfiguraciju -. ukoliko je S:33/10 = 1, onda e na kraju
programskog sken ciklusa (naredbe END, TND i REF) ili na izlasku iz bilo kog prekida
da se obave sledee aktivnosti:
o akumulirana vrednost S:52 se postavlja na nulu
o vrednosti kojima se definie dogaaj (S:47, S:48, S:49 i S:50) se
ponovo oitavaju i uvrtavaju u DII prekid
o resetuje se pending bit (S:2/11)
o resetuje se bit za rekonfiguraciju (S:33/10)
POSTAVLJANJE INTERNIH INDIKATORSKIH BITOVA I REI
U toku rada, procesor postavlja niz indikatorskih bitova vezanih za DII prekid ime
se korisniku omoguava da prati nain na koji se prekid opsluuje.
S: 2/ 11 DII pending bit kada je vrednost ovog bita 1, ona ukazuje da je akumulirana
vrednost (S:52) jednaka zadanoj (S:50) i da servisni potprogram eka na izvrenje. Ovaj
bit se resetuje kada otpone izvravanje servisnog potprograma. Ova vrednost ostaje 1
ako je izvravanje servisnog potprograma onemogueno.
S: 2/ 12 DII enable bit postavljanjem ovog bita na 1 omoguava se opsluivanje
prekida (ako servisnog potprograma nije 0). Ako je vrednost ovog bita 0, kada se
detektuje prekid, servisni potprogram se nee izvriti, ve e se samo pending bit
postaviti na 1.
Ukoliko je pending bit 1, tada se na kraju sken ciklusa jo jedanput ispituje enable bit.
S: 2/ 13 DII execution bit kada je vrednost ovog bita 1, ona ukazuje da je
izvravanje servisnog potprograma u toku. Kada se servisni potprogram zavri bit se
resetuje na nulu.
S: 5/ 12 DII overflow bit ovaj bit se postavlja na 1 svaki put kad se detektuje signal
prekida, a servisni potprogram jo uvek obrauje prethodni. U tom sluaju, odmah po
zavretku opsluivanja prethodnog prekida, zapoinje opsluivanje novog.
Ovaj bit e biti postavljen na 1 i svaki put kada se detektuje prekid, a pri tome je
postavljen pending bit (S:2/11=1) ili je opsluivanje prekida onemogueno (S:2/12=1).
S: 36/ 8 DII lost bit ovaj bit se postavlja ukoliko se detektuje signal prekida a pri
tome je pending bit postavljen na 1, odnosno kada se eka na otpoinjanje opsluivanja
prethodnog prekida. U tom sluaju, novo registrovani prekid nee biti opsluen.
S: 45 DII Timer DII interni asovnik se aurira svaki put kada nastupa prekid. Vreme
se izraava se kao multipl od 10s. To zapravo znai da PLC ima interni asovnik koji
neprekidno radi sa taktom od 10s tako da meri vreme od 0 do 0.32767s. Kada dostigne
Plc_flow/112

0.32767s, asovnik nastavi da meri vreme od 0. U trenutku detekcije DII prekida
vrednost ovog asovnika se upisuje u S:45.
S: 51 return mask sadraj ove rei se aurira neposredno pre ulaska u DII servisni
potprogram. Ova re sadri bit-mapu koja odgovara poslednjem bitu iji je prelaz doveo
do detekcije dogaaja. Ako se desila promena vie od jednog bita od poslednjeg
oitavanja ulaza, svi promenjeni bitovi e biti smeteni. Ova re e biti resetovana pri
izlasku iz servisnog potprograma.
Podatak iz rei S:51 moe da se koristi u servisnom potprogramu da bi se ustanovio
redosled postavljanja bitova koji ine neki dogaaj. Isto tako, ovaj podatak se moe
koristiti da bi se utvrdilo da je okonana neka aktivnost i da je potrebno prei na sledei
dogaaj u sekvenci dogaaja.


PR. 6-2
ZADATAK
Posmatra se pokretna linija na kojoj
se boce pune nekim sokom i zatim se svaka
boca zatvara. Potrebno je ustanoviti da li se
na svakoj boci nalazi zatvara. Ukoliko se
ne nalazi, otvaranjem opruge, boca se
izbaciju sa trake.

REENJE
Na samoj traci (Sl. 6-9) postavljen
je prekida koji detektuje prisustvo boce i
koji je vezan za nulti pin ulaznog modula u
slotu 1 (I:1/0). Aktiviranje ovog prekidaa
posmatra se kao dogaaj.
Kada se dogaaj detektuje poziva
se servisni potprogram koji se nalazi u
programskoj datoteci broj 4. Ovaj
potprogram oitava stanje senzora zapuaa koji je vezan za osmi pin ulaznog modula u slotu 1
I:1/8. Ukoliko nema zapuaa, otvara se opruga koja je vezana za PLC preko nultog pina izlaznog
modula u slotu 2 (O:2/0).
Da bi se omoguio rad DII sistema neophodno je upisati sledee vrednosti u statusnoj
datoteci
S: 46 = 4 servisni potprogram je u datoteci broj 4
S: 47 ( Sl ot ) = 1 digitalni ulaz je u slotu 1
S: 48 ( Mask) = 0000 0001 testira se bit na nultom pinu
S: 49 ( Ref er enca) = 0000 0001 dogaaj nastupa kada je bit na nultom pinu 1
S: 50 ( Pr eset ) = 1 sistem prekida radi kao detektor dogaaja
S: 33/ 8 = 1 eli se opsluivanje prekida sa najveom moguom brzinom, da se ne bi propustila
nijedna boca
Odgovarajui servisni potprogram prikazan je na Sl. 6-10.

SL. 6-9 EMA VEZIVANJA SENZORA I IZVRNOG ORGANA
Plc_flow/113



6.6.4. STI SELECTABLE TIMED INTERRUPT
STI je sistem prekida koji omoguava da se sken ciklus periodino prekida i da se
pri svakom prekidu obradi odgovarajui niz naredbi koji se nalazi u servisnom
potprogramu. Kada se servisni potprogram zavri, sken ciklus se nastavlja od momenta u
kome je bio prekinut.
ematski prikaz izvravanja STI prekida prikazan je na Sl. 6-11.

SL. 6-10 SERVISNI POTPROGRAM KOJI OBRAUJE REAKCIJU NA DOGAAJ
Plc_flow/114

DEFINISANJE PERIODE PONAVLJANJA PREKIDA
Sistemom prekida se upravlja pomou internog asovnika. Periodu ponavljanja
korisnik definie sam upisivanjem
odgovarajue vrednosti u statusnoj
datoteci.
S: 30 period multipl osnovnog
takta. Period ponavljanja se dobija
kao proizvod sadraja rei S:30 i
osnovnog takta. Ukoliko se kao multipl
upie 0, sistem prekida je
onemoguen.
Takt zavisi od tipa procesora
Def i ni sanj e ser vi snog pot programa
S: 31 - broj programske datoteke koja sadri servisni potprogram. Ukoliko je ovaj broj
nula, prekid je onemoguen.
DETEKCIJA I NAIN OPSLUIVANJA PREKIDA
U trenutku zapoinjanja programa interni asovnik, smeten na adresi S:43,
otpoinje sa radom. asovnik radi sa osnovnim taktom od 10s. Kada asovnik izmeri
vreme koje odgovara periodi odabiranja generie se signal prekida i otpoinje izvravanje
servisnog potprograma.
Izvravanjem STI prekida se moe dodatno upravljati pomou tri posebne naredbe
STS selectable timed start
Ukoliko je uslov istinit, ova naredba e
prouzrokovati resetovanje internog asovnika i
upisivanje podataka o adresi servisnog
potprograma i perioda prekida u rei S:31 i S:30
(ime se brie prethodni sadraj tih rei). Posle
izvravanja ove naredbe, STI interni asovnik
zapoinje ponovno merenje vremena i STI enable
bit je postavljen na 1.
Kada uslov postane neistinit podaci o STI prekidu se ne menjaju.
STE Selectable timed enable
Ukoliko uslov prelazi sa neistinit na istinit,
ova naredba postavlja STI enable bit S:2/21, ime
se omoguava opsluivanje STI prekida. Kada je
uslov neistinit stanje STI enable bita se ne menja.
To znai da e on, ako je imao vrednost 1 zadrati
tu vrednost sve dok ga naredba STD ne resetuje
na 0.
Potrebno je zapaziti da ova naredba ne utie na rad internog asovnika, vea
samo na to da li e, kada asovnik izmeri zadani interval vremena, biti dozvoljeno
opsluivanje prekida ili ne.
TAKT (MS) PERIOD (MS)
SLC 5/02 10 10-2550
SLC 5/03 TAKT ODREEN BITOM S:2/10
S:2/10
0 10 10-32760
1 1 1-32767
SL. 6-11 EMATSKI PRIKAZ IZVRAVANJA STI PREKIDA
Prog. File 2
Prog. File n
(servisni
potprogram)
S:31 n
Prekid
period T
(trenutci t
i
)
S:30 T (kxtakt)
S:43 t (m x10 s)
aurira
interni
asovnik
Pamti
S:0 mat. indikatori
S:13,14 mat. reg.
S:24 indeks reg.
korisnik
Interni STI
asovnik
S:2/0
STI pending
S:2/1
STI enable
S:2/2
STI executing
S:5/10
STI timer expires
S:2/10
0 - takt =10ms
1 - takt = 1ms
S:36/9
STI lost
Plc_flow/115

STD selectable timed disabled
Ukoliko je uslov istinit ova naredba resetuje
STI enable bit ime se onemoguava izvravanje
servisnog potprograma. Kada je uslov neistinit
naredba ne menja stanje STI enable bita. Drugim
reima ukoliko je STI enable bit postavljen na 0, on
e ostati 0 sve dok ga STE naredba ili STS
naredba ne postave na 1.
Parovi STD i STE naredbi mogu se koristiti za izdvajanje zona unutar leder
programa iji rad se ne moe prekidati usled STI prekida.
POSTAVLJANJE INTERNIH INDIKATORSKIH BITOVA I REI
U toku rada, procesor postavlja niz indikatorskih bitova vezanih za STI prekid ime
se korisniku omoguava da prati nain na koji se prekid opsluuje.
S: 2/ 0 STI pending bit kada je vrednost ovog bita 1, ona ukazuje da je asovnik
izmerio jednu periodu i da servisni potprogram eka na izvrenje (recimo zato to se
izvravaju prekidi vieg prioriteta, Fault routine ili DII). Ovaj bit se resetuje kada otpone
izvravanje servisnog potprograma ili kada je uslov za STS naredbu istinit. Ova vrednost
ostaje 1 ako je izvravanje servisnog potprograma onemogueno.
S: 2/ 1 STI enable bit postavljanjem ovog bita na 1 omoguava se opsluivanje
prekida uz uslov da adresa servisnog potprograma nije 0 i da zadani period nije 0. Ako
je vrednost ovog bita 0, kada se detektuje prekid, servisni potprogram se nee izvriti,
ve e se samo pending bit postaviti na 1.
STI enable bit se automatski postavlja izvravanjem STE i STS naredbe, i automatski
resetuje izvravanjem STD naredbe. U tom sluaju, postavljene vrednosti direktno utiu
na opsluivanje prekida. Meutim, ukoliko se vrednost ovog bita promeni pomou neke
druge naredbe onda e ta promene da ima efekta tek u sledeem sken ciklusu.
Ukoliko je pending bit 1, tada se na kraju sken ciklusa jo jedanput ispituje enable bit.
S: 2/ 2 STI execution bit kada je vrednost ovog bita 1, ona ukazuje da je izvravanje
servisnog potprograma u toku. Kada se servisni potprogram zavri bit se resetuje na
nulu.
S: 5/ 10 STI timer expires bit ovaj bit se postavlja na 1 svaki put kad treba da
nastane prekid, a STI servisni potprogram jo uvek obrauje prethodni, ili je izvravanje
servisnog potprograma onemogueno. Interni asovnik nastavlja sa radom. Budui da
postavljanje ovog bita prouzrokuje kod za greku neophodno je da se on resetuje pre
zavretka sken ciklusa.
S: 36/ 9 STI lost bit ovaj bit se postavlja ukoliko treba da nastupi prekid, a pri tome
je pending bit postavljen na 1, odnosno kada se eka na otpoinjanje opsluivanja
prethodnog prekida. U tom sluaju, novo registrovani prekid nee biti opsluen. Ukoliko
se ne eli prekid rada usled greke, ovaj bit treba resetovati pre zavretka sken ciklusa.
S: 43 STI Timer STI interni asovnik se aurira svaki put kada nastupa prekid.
Vreme se izraava kao multipl od 10s. To zapravo znai da PLC ima interni asovnik
koji neprekidno radi sa taktom od 10s tako da meri vreme od 0 do 0.32767s. Kada
dostigne 0.32767s, asovnik nastavi da meri vreme od 0. U trenutku detekcije STI
prekida vrednost ovog asovnika se upisuje u S:43.
Vreme e biti ispravno upisano ako izmeu dva susedna prekida ne proe vie od
0.32767s.

PR. 6-3
ZADATAK
STI prekid treba da radi sa periodom od 10ms. Odrediti vremenski interval koji protekne
izmeu dva poziva servisnog potprograma. Smestiti izmereno vreme u neku datoteku radi kasnijeg
Plc_flow/116

prikazivanja na displeju.
REENJE
Servisni potprogram je formiran u
programskoj datoteci broj 4 (Sl. 6-14). To
znai da je neophodno da se pri inicijalizaciji
STI prekida upie S:31=4. Budui da STI
prekid treba da radi sa periodom od 10ms
odabrae se takt od 10ms (S:2/10=0) i kao
period e se upisati 1 (S:30=1).
Ukoliko se u ovaj program ulazi prvi
put tada se samo upamti trenutna vrednost
asovnika u memorijskoj lokaciji N10:1 i
postavi se indikatorski bit (B3:0/0) koji
oznaava da je prvi prolaz zavren. U svim
sledeim pozivanjima ovog potprograma
oduzima se trenutna vrednost asovnika (S:45) od prethodne i rezultat se smeta u memoriju na
adresu N10:2. Pri tome, ukoliko je rezultat oduzimanja negativan to znai da je od prethodnog
pozivanja interni asovnik napravio pun krug.(preao preko 32767) i poeo da broji od 0, tako da
se to vreme mora dodati (Sl. 6-12).


U delu glavnog programa koji je ovde prikazan (Sl. 6-13) se u prvom prolazu inicijalizuju
indikatorski bit i vrednost rezultata (postavljaju se na nulu). Uz pomo samoresetujueg asovnika
SL. 6-12 ODREIVANJE PROTEKLOG VREMENA
SL. 6-13 GLAVNI PROGRAM ZA PRIMER KORIENJA STI PREKIDA
Plc_flow/117

se vrednost izraunata u servisnom potprogramu na svakih pola sekunde smeta na memorijsku
lokaciju N10:3.
Potrebno je zapaziti da se isti program moe koristiti za detekciju vremena koje proteklo
izmeu dva DII prekida ili I/O prekida s tim to se umesto adrese asovnika S:43 mora koristiti
adresa asovnika koji odgovara tom prekidu (S:44 za I/O, odnosno S:45 za DII)

SL. 6-14 SERVISNI POTPROGRAM KOJI OPSLUUJE STI PREKID
Plc_flow/118

6.6.5. I/O PREKID
Neki specijalni U/I moduli imaju
sposobnost generisanja signala prekida.
Ukoliko se ovaj signal detektuje,
procesor prekida sken ciklus i zapoinje
opsluivanje odgovarajueg servisnog
potprograma.
Specijalni moduli koji se koriste uz
sistema prekida treba da se postave u
poetne slotove. Maksimalni broj
slotova za PLC iz familije SLC 5 je 30.
Blok ema izvravanja I/O prekida data
je na Sl. 6-15







DEFINISANJE SERVISNOG POTPROGRAMA
I NT naredba - Prva naredba u prvom rangu servisnog potprograma je INT naredba
koja ukazuje da se radi o potprogramu koji opsluuje
I/O prekid. Ova naredba je informativnog karaktera i
moe se izostaviti.
Broj programske datoteke koja sadri servisni
potprogram mora se upisati u samom specijalnom
modulu za vreme njegove konfiguracije.
DETEKCIJA I NAIN OPSLUIVANJA PREKIDA
Kada specijalni U/I modul generie signal prekida onda procesor prekida svoj rad i
poziva odgovarajui servisni potprogram na izvravanje. Ukoliko se u trenutku zahteva za
prekidom izvrava neki prekid vieg prioriteta, onda e se saekati da se svi prekidi vieg
prioriteta zavre pre nego to pone opsluivanje ovog prekida. Na isti nain, ukoliko se u
toku opsluivanja prekida pojavi zahtev za nekim prekidom vieg prioriteta (Fault, DII ili
STI), opsluivanje se prekida i zapoinje opsluivanje prekida vieg prioriteta.
Izvravanjem I/O prekida se moe dodatno upravljati pomou dve posebne
naredbe
I I E Interrupt enable
Ukoliko je uslov istinit, ova naredba
postavlja I/O interrupt enable bitove (S:27/1
do S:28/14) u skladu sa podatkom Slots koji
je u naredbi definisan, ime se omoguava
opsluivanje prekida koji potiu od strane
specijalnih modula koji se nalaze u datim
slotovima. Kada je uslov neistinit stanje
enable bitova se ne menja. To znai da e
oni, koji su imali vrednost 1 zadrati tu vrednost sve dok ih naredba IID ne resetuje na 0,
ili dok se u okviru programa nekom drugom naredbom ne promeni stanje bitova u datoteci
statusa.
SL. 6-15 EMATSKI PRIKAZ IZVRAVANJA I/O PREKIDA
Prog. File 2
Prog. File n
(servisni
potprogram)
S:11
Prekid
aurira
Pamti
S:0 mat. indikatori
S:13,14 mat. reg.
S:24 indeks reg.
Specijalni
moduli
S:25 Pending bits S:26 S:32 I/O executing slot
S:12 slot enable
S:27 interrupt enable S:28
interni
asovnik
S:44 t (m 10 s)
Plc_flow/119

Ukoliko je za neki od slotova iji se prekid omoguava ovom naredbom, postavljen
pending bit (S:25/1 do S:26/14), odgovarajui servisni potprogram e se odmah pozvati
na izvravanje.
Podatak o slotovima se moe zadati na sledei nain
1. n ukazuje na slot broj n
2. m,n,... ukazuje na slotove m, n itd
3. m to n ukazuje na slotove od broja m do broja n (m<n)
I I D Interrupt disable
Ukoliko je uslov istinit ova naredba
resetuje I/O interrupt enable bitove (S:27/1
do S:28/14) u skladu sa podatkom Slots koji
je u naredbi definisan, ime se
onemoguava izvravanje odgovarajuih
servisnih potprograma. Umesto toga,
ukoliko se trai prekid, postavie se
odgovarajui pending bit. Kada je uslov
neistinit naredba ne menja stanje enable bitova. Drugim reima ukoliko je neki enable bit
postavljen na 0, on e ostati 0 sve dok ga IIE naredba ne postavi na 1, ili dok se u okviru
programa nekom drugom naredbom ne promeni stanje bitova u datoteci statusa.

Parovi IID i IIE naredbi mogu se koristiti za izdvajanje zona unutar leder programa
iji rad se ne moe prekidati usled I/O prekida.
POSTAVLJANJE INTERNIH INDIKATORSKIH BITOVA I REI
U toku rada, procesor postavlja niz indikatorskih bitova vezanih za I/O prekid ime
se korisniku omoguava da prati nain na koji se prekid opsluuje.
S: 11 i S: 12 I/O Slots enables Bitovi S:11/1 do S:11/15 i S:12/0 do S:12/14 se
odnose na slotove od 1 do 30. Kada je vrednost bita 1, ona ukazuje da je odgovarajui
slot aktivan. Ukoliko se pojavi signal prekida sa slota koji nije aktivan, procesor javlja
greku.
Primedba
I/O Slots enables bitovi (S:11 i S:12) se mogu koristiti i u sluajevima kada se ne
trai prekid. Naime, ukoliko se bilo koji bit postavi na nulu onda se u toku ulaznog i
izlaznog sken ciklusa ne vri skeniranje slota kome odgovara taj bit (slot nije
aktivan). To nadalje znai da se ni odgovarajui podatak u slici ulaza nee
promeniti, i da se podatak iz slike izlaza nee preneti na izlazni modul.
Pri inicijalizaciji PLCa ovi bitovi s epostavljaju na 1.
S: 25 i S: 26 I/O Interrupt pending bits Bitovi S:25/1 do S:25/15 i S:26/0 do
S:26/14 se odnose na slotove od 1 do 30. Ovi bitovi se postavljaju na 1 ako modul iz
nekog slota trai prekid, a izvravanje tog prekida nije omogueno. Bit se restuje na nulu
kada se odgovarajui enable bit postavi na 1
S: 27 i S: 28 I/O Interrupt enables Bitovi S:11/1 do S:11/15 i S:12/0 do S:12/14 se
odnose na slotove od 1 do 30. Kada je vrednost bita 1, ona ukazuje da je omogueno
opsluivanje prekida koji dolazi sa odgovarajueg slota.
S: 32 I/O Interrupt executing ova re sadri broj slota u kome se nalazi modul koji je
generisao prekid koji se trenutno opsluuje.
Ovaj podatak je veoma koristan kada se vie prekida multipleksia u jednom servisnom
potprogramu. koristiti kada se
S: 44 I/O Interrupt Timer I/O interni asovnik se aurira svaki put kada nastupa
prekid. Vreme se izraava se kao multipl od 10s. To zapravo znai da PLC ima interni
asovnik koji neprekidno radi sa taktom od 10s tako da meri vreme od 0 do 0.32767s.
Kada dostigne 0.32767s, asovnik nastavi da meri vreme od 0. U trenutku detekcije I/O
Plc_flow/120

prekida vrednost ovog asovnika se upisuje u S:44.
RPI reset pending interrupts naredba
Ovom naredbom moe se promeniti
stanje pending bitova.
Kada je uslov istinit ova naredba
resetuje pending bitove za prekide koji su
izazvali specijalni moduli koji se nalaze u
slotovima definisanim pomou promenljive
slots. Pri tome, procesor obavetava
odgovarajue specijalne module da prekidi koji
su bili traeni nee biti opslueni. Posle toga modul moe da odlui da li e ponovo da
zatrai prekid ili ne. Kada je uslov neistinit, stanje pending bitova se ne menja.


Plc_PID/121

7. NAREDBA ZA REALIZACIJU PROPORCIONOLNO-INTEGRALNO-
DIFERENCIJALNOG ZAKONA UPRAVLJANJA (PID)
7.1. JEDNAINA PIDA
Kontroler koji realizuje linearne zakone upravljanja PID - se moe formirati
softverski kao poseban modul koji se koristi u leder programu. U principu PID modul
uzima vrednost analognog signala sa nekog mernog mesta i koriem proporcionalno
integralno diferencijalnih zakona upravljanja, izraunava upravljaki signal, koji se preko
analognog izlaznog modula prenosi na izvrni organ. Ukoliko to struktura izvrnog organa
zahteva, analogni izlazni signal se moe pretvoriti i u irinski modulisan impulsni signal.
PID modul se, kod familije SLC kontrolera, realizuje jednom naredbom PID
naredbom koja pripada grupi naredbi akcije. U principu ova naredba se izvrava tako
to se obavi jedan korak diskretnog algoritma PIDa.
U skladu sa teorijom direktnog digitalnog upravljanja, PID naredba se mora
izvravati periodino, sa nekom zadanom peridom odabiranja. Periodian rad moe
realizovati sam PID modul ukoliko se konfigurie na odgovarajui nain. Pored toga,
periodinost se moe ostvariti i pomou vremenski uslovljenog sistema prekida (STI). U
tom sluaju PID naredba se mora postaviti u STI servisni potprogram, tako da se ulaz i
izlaz PIDa auriraju svaki put kada se ovaj potprogram izvrava. Samo se po sebi razume
da perioda izvravanja STI potprograma i perioda sa kojom radi PID moraju biti iste.
Potrebno je uoiti razliku izmeu periodinog programskog sken ciklusa sa kojim
se obrauju sve naredbe i periodinog izvoenja algoritma diskretnog PIDa kod koga se
jedan algoritamski korak izvodi unutar jedne periode odabiranja. U prvom sluaju radi se
zapravo o ciklinom ponavljanju niza operacija pri emu duina trajanja pojedinog ciklusa
zavisi od vie faktora. Otuda se ciklus ne ponavlja periodino u striktnom smislu znaenja
te rei. Za razliku od sken ciklusa, jedan algoritamski korak PID se mora ponavljati sa
tano definisanom periodom.
PID naredba realizuje diskretizovani algoritam lineranih zakona upravljanja (Sl.
7-1)
of ) y ( f T d ) ( e
T
1
1 K ) t ( u
d
t
0
i
p
+

+ + =


gde je
u(t ) - upravljaki signal (CV
control value)
e(t ) = r-y(t ) - signal greke
koji predstavlja razliku
referentne vrednosti - r (SP
set point) i izmerene vrednosti
izlaza procesa - y (PV
process variable)
f (y) je funkcija koja
realizuje diferencijalno dejstvo
i to tako da se signal iz
diferencijatora koji je realizovan kao visoko propusni filtar funkcije prenosa
;
N / sT 1
s
) s ( G
d
d
+
=
proputa kroz nisko propusni filtar ija je uestanost odsecanja 16 puta (za dve oktave)
vea od prelomne uestanosti diferencijalnog filtra (N/T
d
) (Sl. 7-1).
Interesanto je napomenuti da proizvoa ne daje podatke o prelomnoj uestanosti
SL. 7-1 BLOK DIJAGRAMA PIDA
Plc_PID/122

visoko propusnog filtra niti o metodi koja se koristi za diskretizaciju PIDa.
Pri osnovnoj realizaciji diferencijalnog dejstva se pretpostavlja da je zadana
vrednost konstanta (to znai da je njen izvod nula), pa se diferencijalno dejstvo
primenjuje samo na izlaz procesa. Na ovaj nain izbegavaju se problemi koji mogu nastati
kod diskretne realizacije PIDa usled nagle promene zadanih vrednosti. Ukoliko zadana
vrednost nije konstanta, postoji mogunost i da se, u toku konfiguracije PID modula,
specificira zahtev da diferencijalno dejstvo obrauje signal greke.
of (of f set ) signal kojim se uspostavlja stacionarno stanje izvrnog organa ili signal
prenosnog upravljanja (feedforward) kojim se eli kompenzacija dejstva poremeaja
(posebno izraeno kod znaajnog transportnog kanjenja)
K
p
- bezdimenziona konstanta proporcionalnog dejstva koja se kree u sledeim
vrednostima
4. 0.1 do 25.5 (SLC 5/02)
5. 0.01 do 327.67 (SLC 5/03 i viim)
T
i
- konstanta integralnog dejstva koja se zadaje u jedinicama minut/obrt i kree se u
sledeim vrednostima
6. 0.1 do 25.5 min/obrt (SLC 5/02)
7. 0.01 do 327.67 min/obrt (SLC 5/03 i viim)
T
d
- konstanta diferencijalnog dejstva koja se zadaje u jedinicama minuta
8. 0.1 do 25.5 min (SLC 5/02)
9. 0.01 do 327.67 min (SLC 5/03 i viim)
7.2. SKALIRANJE MERNIH I UPRAVLJAKIH SIGNALA
Ulazni signali koje obrauje PID, kao i upravljaka promenljiva koju on izraunava
mogu predstavljati razliite fizike signale koji se kreu u razliitim opsezima. Budui da
se ulazni (merni) signali dobijaju preko analognog ulaznog modula oni e, posle
konverzije, biti predstavljeni kao celobrojne veliine u opsegu koji zavisi od tipa signala
koji se dovodi na ulaz A/D konvertora.
PID modul modul realizuje algoritamski korak korienjem celobrojne aritmetike,
odnosno aritmetike fiksnog zareza. To znai da su, sa aspekta programske realizacije
PID modula, sve ulazne i izlazne promenljive celobrojne vrednosti. Imajui u vidu duinu
rei SLCa ove celobrojne vrednosti se kreu u opsegu od 0 do 16383.
Nesumnjivo je da je za korisnika izuzetno zametno da prati ponaanje PIDa
oitavanjem ovih celobrojnih vrednosti koje, same po sebi, nita ne govore o samom
fizikom procesu kojim se upravlja. Drugim reima, korisniku je mnogo pogodnije da prati
rad PIDa ukoliko su sve promenljive izraene u fizikim (inenjerskim) jedinicama. Ovu
konverziju PID moe sam da obavi ukoliko se, pri konfiguraciji modula, definiu minimalne
i maksimalne vrednosti fizikih signala.
Konano, sledei uobiajenu inenjersku praksu, vrednost upravljakog signala
PID modula se prikazuje u procentima od pune vrednosti, to znai da u ovom sluaju
vrednosti od 100% odgovara celobrojna konstanta 16383. Drugim reima, polazi se od
pretpostavke da svaki realni izvrni organ ima zasienje, odnosno da postoji neka
maksimalna aktivnost koju on moe da obavi i koja predstavlja 100% njegove aktivnosti.
Potrebno je da se istakne da ak i ako se od PIDa zahteva konverzija signala u
fizike jedinice, samo izraunavanje se i dalje obavlja u celobrojnoj aritmetici. Konverzija
se vri samo u komunikaciji sa korisnikom (zadavanje reference i oitavanje upravljakog
signala).
U skladu sa svime to je reeno, izvesno je da je potrebno da se vrednosti
analognog ulaza, odnosno analognog izlaza skaliraju na puni opseg PID modula. Ovo je
svakako neophodno ako je tip analognog signala takav da odgovarajua A/D ili D/A
konverzija koriste celobrojne vrednosti koje su izvan opsega PID modula. Meutim, ak i
Plc_PID/123

ako to nije sluaj, skaliranjem e se dobiti ispravna konverzija u fizike jedinice. Naime,
definisane minimalne i maksimalne vrednosti fizikih signala PID modul uvek vezuje za
granice svog opsega (0 i 16383), a ne za granice A/D, odnosno D/A konvertora.
SKALIRANJE ULAZNOG (MERNOG) SIGNALA
Izlaz procesa se meri preko nekog instrumenta i dovodi u PLC pomou A/D
modula. A/D konvertor e u toku ulaznog sken ciklusa obavljati konverziju mernog signala
i generisati celobrojnu vrednost iji opseg zavisi od tipa ulaznog signala. U principu, ako
su vrednosti koju daje A/D konvertor unutar opsega PID modula, ove vrednosti se mogu
direktno da koriste kao ulaz u PID modul. Meutim, ako su vrednosti koju daje A/D
konvertor izvan opsega PID modula, ili ako se eli da PID obavlja konverziju u fizike
veliine, neophodne je da se ove vrednosti skaliraju na puni opseg PID modula. Samo
skaliranje se moe obaviti pomou odgovarajuih SCP ili SCL programskih naredbi.
ulaz naredbe: celobrojna vrednost koju daje A/D konvertor (y)
izlaz naredbe: celobrojna promenljiva s (PV)
SCP naredba ( )
min min
min max
min max
s y - y
y - y
s - s
s + =
SCL naredba offset y
10000
Rate
s + =
Parametri konverzije za standardne tipove strujnih i naponskih ulaznih signala dati
su u tabelama T. 7-1 i T. 7-2.


PR. 7-1 KONVERZIJA MERNOG SIGNALA
Merni signal temperatura u opsegu od t
min
=-50
0
C do t
max
=1000
0
C se meri pomou
instrumenta koji daje strujni signal u opsegu od i
min
=4mA do i
max
=20mA . Odgovarajui strujni signal
e posle pijema u analognom modulu i A/D konverzije biti predstavljen celobrojnom vrednou u
opsegu
y
min
= (16383/20)4=3277 do y
max
= 16384
Dobijena celobrojna vrednost treba da se, pomou posebne programske naredbe SCP ili
SCL, skalira na puni opseg s
min
=0, s
max
=16383. Ako se, meutim, u PID naredbi definiu minimalna
i maksimalna vrednost fizikih veliina t
min
i t
max
, tada e sama PID naredba obaviti dalju konverziju
ove celobrojne vrednosti u vrednost izraenu u fizikim jedinicima prema relaciji
analogni ulaz analogni izlaz
4 20mA 0 5V 0 10V 4 20mA 0 5V 0 10V
y
min
3277 0 0 c
min
0 0 0
y
max
16384 16384 32767 c
max
16383 16383 16383
s
min
0 0 0 u
min
6242 0 0
s
max
16383 16383 16383 u
max
31208 16384 32764
T. 7-1 PARAMETRI ZA SKALIRANJE STANDARDNIH ULAZNIH I IZLAZNIH SIGNALA POMOU SCP NAREDBE
analogni ulaz analogni izlaz
4 20mA 0 5V 0 10V 4 20mA 0 5V 0 10V
Rate/10 000

12499 10000 5000 Rate/10 000

15239 10000 19999
offset
4096 0 0 offset

6242 0 0
T. 7-2 PARAMETRI ZA SKALIRANJE STANDARDNIH ULAZNIH I IZLAZNIH SIGNALA POMOU SCL NAREDBE
Plc_PID/124

( )
min min
min max
min max
t s - s
s - s
t - t
t + =

SKALIRANJE UPRAVLJAKOG SIGNALA
PID modul generie upravljaki signal kao celobrojnu promenljivu u opsegu (0,
16383). Ako je ova promenljiva u opsegu koji prima D/A konvertor, ona se moe direktno
da koristi kao ulaz za D/A konvertor. Meutim, ako je promenljiva van opsega, ili ako se
eli konverzija u fizike jedinice, promenljiva mora da se skalira na opseg D/A konvertora.
Skaliranje se moe obaviti pomou odgovarajuih SCP ili SCL programskih naredbi.
ul az nar edbe: izraunati upravljaki signal c (CV), (celobrojna vrednost koju daje
PID modul)
i zl az naredbe: celobrojna vrednost koja se vodi na D/A konvertor - u
SCP naredba ( )
min min
min max
min max
u c - c
c - c
u - u
u + =
SCL naredba offset c
10000
Rate
u + =
Parametri konverzije za standardne tipove strujnih i naponskih izlaznih signala dati
su u tabelama T. 7-1 i T. 7-2.
7.3. PID NAREDBA
U principu ova naredba se stavlja
bez ikakvog uslova, to znai da se
izvrava pri svakom programskom sken
ciklusu. Vano je napomenuti da to ne
znai da se i pri svakom sken ciklusu
obavlja izraunavanje jednog algoritamskog
koraka. Kao to je ve reeno
izraunavanje koraka vri se u skladu sa
periodom odabiranja. Ukoliko se meutim, u rangu postavi uslov, onda sve dok je on
neistinit izlaz PID bloka zadrava poslednju izraunatu vrednost. Pri prelazu sa istinitog na
neistinit vrednost integralnog dejstva se resetuje na nulu.
Sve promenljive koje uestvuju u realizaciji ove naredbe moraju biti celobrojne.
Ukoliko se kao neki od parametara naredbe definie promenljiva sa pokretnim zarezom,
doi e automatski do njenog pretvaranja u celobrojnu promenljivu.
Cont rol bl ock je adresa upravljake datoteke koja sadri podatke neophodne za
izvoenje naredbe. Datoteka treba da se definie kao celobrojna (N) i ima duinu od 23
rei. Tako, na primer, ako se kao adresa definie N10:0, onda e upravljaki blok
zauzeti rei od N10:0 do N10:22.
Process vari abl e je adresa promenljive koja sadri vrednost izmerenog izlaza
procesa. Kao to je ve reeno, ova adresa moe biti adresa rei u koju se smeta
podatak sa analognog ulaza, odnosno rezultat A/D konverzije. Naravno, ukoliko se eli
skaliranje izmerenog analognog signala u cilju njegovog prilagoavanja datom opsegu ili
pretvranja u fitike jedinice, onda je to adresa celobrojne promenljive u koju se smeta
rezultat skaliranja signala, koji se moe kretati u opsegu od 0 do 16383.
Cont rol var i abl e je adresa promenljive u koju se smeta rezultat izraunavanja
jednog koraka PID algoritma. Ova vrednost kree se u opsegu od 0 do 16383, pri emu
vrednost od 16383 odgovara maksimalnoj vrednosti koju izvrni organ moe da primi
(100% aktivnosti izvrnog organa). Izraunata vrednost se, po pravilu, pri smetanju u
Plc_PID/125

adresu rei iz koje se dobija podatak za analogni izlaz (D/A konvertor) skalira na puni
opseg D/A konvertora.
Def i ni sanj e nai na r ada Cont rol bl ock Nn: 0
Kao to je ve reeno Control block zapravo definie sve promenljive neophodne
za realizaciju algoritma. On obuhvata 23 rei, od kojih svaka ima jasno definisano
znaenje. Struktura bloka prikazana je u tabeli T. 7-3.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RE 0 EN DN PV SP LL UL DB DA TF SC RG OL CM AM TM
RE 1 PID SUB ERROR CODE (MSBYTE)
RE 2 SETPOINT SP
CELOBROJNA VREDNOST: SMIN DO SMAX ILI 0 DO 16383 (AKO SMIN I
SMAX NISU DEFINISANI)
RE 3 KP
CELOBROJNA
VREDNOST:
0 DO 32767
INTERPRETIRA SE KAO
0 3276.7 (ZA RG=0) 0 327.67 (ZA RG=1)
RE 4 TI (MIN/OBRT)
RE 5 TD (MIN) INTERPERTIRA SE KAO 0 327.67 MIN (ZA TD)
RE 6
OFFSET CELOBROJNA VREDNOST: 16383 DO 16383
RE 7 SETPOINT MAX SCALED (SMAX)
CELOBROJNA VREDNOST: 32767 DO 32767 (AKO SE NE DEFINIE SC SE
POSTAVLJA NA NULU), KORISTI SE KAD SE IZMERNA VREDNOST PRETVARA
U FIZIKE JEDINICE RE 8 SETPOINT MIN SCALED (SMIN)
RE 9
DEADBAND
(MRTVA ZONA)
CELOBROJNA VREDNOST: 0 DO SMAX ILI 0 DO 32767
DEFINIE OPSEG OKO SP (GDE SE SMATRA DA JE GREKA 0)
KAD GREKA UE U TAJ OPSEG I PROE KROZ 0, POSTAVLJA SE DB NA 1
RE 10 INTERNA UPOTREBA
RE 11 OUTPUT MAX (CVH) CELOBROJNA VREDNOST: 0 100% (OD VREDNOSTI IZLAZA CV)
ZA OL=1 PREKIDA INTEGRACIJU KAD DOSTIGNE LIMIT, POSTAVLJA BIT NA 1, ZA OL=0 NE
PREKIDA INTEGRACIJU, ALI POSTAVLJA BIT NA 1 RE 12 OUTPUT MIN (CVL)
RE 13
LOOP UPDATE
PERIOD ODABIRANJA
CELOBROJNA VREDNOST: 0 DO 1024
PERIODA ODABIRANJA: T=(LOOP UPDATE)0.01 SEC
RE 14
SCALED PROCES VARIABLE
(SPV)
CELOBROJNA VREDNOST: 0 DO 16383 ILI SMIN DO SMAX (AKO JE DEFINISANO
SKALIRANJE) (SKALIRANI) MERNI SIGNAL, OITAVA SE U FIZIKIM JEDINICAMA
RE 15 SCALED ERROR (SE)
CELOBROJNA VREDNOST: 32767 DO 32767, NE MOE DA SE DEFINIE, VE SE
SAMO OITAVA
SE = SP PV ako je CM=0 ; SE = PV SP ako je CM=0
RE 16 OUTPUT CVP (%)
CELOBROJNA PROMENLJIVA (100% JE 16383)
PRI AUTOMATSKOM UPRAVLJANJU (AM=0) NE MOE SE DEFINISATI, VE SAMO
OITAVATI
PRI RUNOM UPRAVLJANJU (AM=1) AURIRA SE AUTOMATSKI
RE 17 MSW INTEGRAL SUM CELOBROJNA PROMENLJIVA (32 BITA - DVE REI):
DO 2 174 483 648, UKUPNA VREDNOST INTEGRALNOG DEJSTVA, AURIRA SE
AUTOMATSKI PRI RUNOM UPRAVLJANJU
RE 18 LSW INTEGRAL SUM
RE 19 INTERNA UPOTREBA
RE 20 INTERNA UPOTREBA
RE 21 INTERNA UPOTREBA
RE 22 INTERNA UPOTREBA
Ako se definie skaliranje (zadaju se SMAX i SMIN) onda se sve veliine vezane
za proces (Setpoint, Deadzone, SPV, SE) izraavaju u fizikim jedinicama.
Pojedini bitovi u prvoj rei bloka slue za definisanje naina rada PIDa, a pojedini
pruaju informacije o radu PIDa.
BITOVI KOJIMA SE DEFINIE NAIN RADA PID-A
Nai n pozi vanj a (obr ade si gnal a) Bi t TM (Nn: 0/ 0)
TM = 1 izraunavanje se vri periodino sa vrednou definisanom pomou Loop
T. 7-3 STRUKTURA CONTROL BLOCK-A
Plc_PID/126

Update
TM= 0 izraunavanje je kontrolisano pomou prekida (STI potprogram mora imati isti
period ponavljanja kao i Loop Update koji se mora definisati)
Kljuna razlika je u tome to se u prvom sluaju u svakom programskom skenu
obrauje PID naredba (ako je uslov istinit) i tek se tada ustanovljava da li je vreme da se
izvri novi algoritamski korak. Meutim, kod korienja STI, PID naredba se uopte ne
obrauje sve dok se ne aktivira STI servisni potprogram, odnosno sve dok nije vreme za
izvravanje sledeeg algoritamskog koraka.
Runo i aut omat sko upravl j anj e Bi t AM (Nn: 0/ 1)
AM = 0 automatski nain rada, upravljanje se odreuje na osnovu algoritma. ak i
ako bi se vrednost upravljake promenljive programski promenila, algoritam e ignorisati
ovu promenu.
AM = 1 runo upravljanje, upravljaki signal je promenljiva ija vrednost se moe
programski menjati. (CV vrednost treba da se zadaje kao celobrojna promenljiva od 0
do 16383). Za vreme runog upravljanja, PID algoritam aurira CVP (re 16), odreuje
greku i aurira integralnu komponentu upravljanja, da bi se spreio udar pri promeni
reima rada.
Pored eventualnog dovoenja procesa u radnu taku, ova opcija je korisna u
procesu podeavanja parametara PIDa.
Greka Bi t CM ( Nn: 0/ 2)
CM = 0 signal greke se izraunava kao razlika set-point i vrednosti izlaza procesa
(e = SP PV)
CM = 1 signal greke se izraunava kao razlika vrednosti izlaza procesa i set-point
(e = PV SP)
St rukt ura PI Da Bi t DA (Nn: 0/ 7)
DA = 0 diferencijalno dejstvo po izlazu procesa (PV)
DA = 1 diferencijalno dejstvo po signalu greke
Postavljanjem diferencijalnog dejstva po izlazu izbegavaju se efekti nagle promene
upravljakog signala pri promeni zadane vrednosti
Skal i r anj e vrednost i paramet ara K
p
i T
i
Bi t RG (Nn: 0/ 4)
RG = 0 vrednosti parametara izraunavaju se deljenjem zadane celobrojne vrednosti
sa 10
RG = 1 vrednosti parametara izraunavaju se deljenjem zadane celobrojne vrednosti
sa 100
Ukoliko vrednosti parametara nisu velike (manje od 327.67) korienjem ove
opcije (RG=1) ostvaruje se vea preciznost u definisanju parametara (manja razlika
izmeu dve uzastopne digitalne vrednosti parametara).
Ova opcija nije predviena za diferencijalno dejstvo zato to njegova vrednost
nikada nije izuzetno velika.
Kont rol a navi j anj a i nt egrat ora Bi t OL (Nn: 0/ 3)
OL = 0 nema nikakvih ogranienja u pogledu rasta integralnog dejstva, a time i cele
upravljake promenljive
OL = 1 kada upravljaka promenljiva dostigne vrednost zadanih granica, prekida se
izraunavanje integralnog dejstva i ono se zadrava na poslednjoj izraunatoj vrednosti.
Integralno dejstvo se ponovo ukljuuje kada upravljaki signal padne ispod zadanih
granica. Sve dok je signal izvan zadanih granica upravljaki signal ima vrednost CVL
(donja granica) ili CVH (gornja granica).
U oba sluaja, ukoliko upravljaki signal izae izvan granica postavie se
indikatorski bit LL=1 (prekoraenje donje granice), odnosno UL=1 (prekoraenje gornje
granice).
Plc_PID/127

Skal i r anj e Set poi nt -a Bi t SC (Nn: 0/ 5)
SC = 0 specificirano je skaliranje Setpoint-a (konverzija u fizike jedinice), odnosno
definisani su SMAX i SMIN
SC = 1 nije definisano skaliranje Setpoint-a.
BITOVI KOJI PRUAJU INFORMACIJE O PIDA
Greka unut ar mrt ve zone Bi t DB (Nn: 0/ 8)
DB = 0 greka nije unutar mrtve zone
OL = 1 signal greke je proao kroz nulu i njegova vrednost je unutar opsega mrtve
zone, to znai da algoritam usvaja da je vrednost greke nula. Otuda, se upravljaki
signal ne menja, te vrednost izlaza procesa ostaje u opsegu koji je odreen
definisanjem mrtve zone. Na ovaj nain mogue je kontrolisati meru do koje se izlaz
procesa eli pribliiti zadanoj vrednosti referentnog signala (setpoint-a).
Upravl j aki si gnal vei od gornj e grani ce Bi t UL (Nn: 0/ 9)
UL = 0 upravljaki signal je manji od gornje granice (CVH)
UL = 1 upravljaki signal je vei od gornje granice (CVH), resetovae se kad bude
pao ispod gornje granice
Upravl j aki si gnal manj i od donj e grani ce Bi t LL ( Nn: 0/ 10)
LL = 0 upravljaki signal je vei od donje granice (CVL)
LL = 1 upravljaki signal je manji od donje granice (CVL), resetovae se kad bude
postao vei od donje granice
Set poi nt i zvan opsega Bi t SP (Nn: 0/ 11)
SP = 0 setpoint je unutar opsega definisanog sa SMIN i SMAX
SP= 1 setpoint je manji od SMIN ili vei od SMAX
I zl az procesa i zvan opsega Bi t PV ( Nn: 0/ 12)
PV = 0 izlaz procesa je unutar opsega definisanog sa SMIN i SMAX
PV = 1 izlaz procesa je manji od SMIN ili vei od SMAX. U tom sluaju vrednost
izlaza se postavlja na SMIN ili na SMAX (to odgovara celobrojnim vrednostima 0 i
16383)
Premal a per i oda odabi ranj a Bi t TF (Nn: 0/ 6)
TF = 0 scen ciklus PLCa i zahtevani period PIDa su usklaeni
TF= 1 PID ne moe da ostvari zahtevani period izraunavanja, zato to sken ciklus
PLCa predugo traje
BITOVI KOJI PRUAJU INFORMACIJE O IZVRAVANJU PID NAREDBE
Akt i vnost PI D naredbe Bi t EN ( Nn: 0/ 15)
EN = 0 uslov u rangu PID naredbe nije ispunjen
EN= 1 uslov u rangu PID naredbe je ispunjen
Zavret ak al gori t amskog koraka Bi t DN (Nn: 0/ 13)
DN = 0 PID nije zavrio algoritamski korak (ili ga nije ni zapoinjao)
DN = 1 PID je u datom sken ciklusu bio aktiviran i zavrio je jedan algoritamski
korak. Resetuje se automatski kad pone sledei sken ciklus PLCa.

Plc_PID/128

Iz same definicije rei
i bitova u upravljakom bloku
jasno je da neke od njih
moraju da se unapred
definiu. To se postie
jednostavnim otvaranjem
prozora u koji se upisuju
podaci (Sl. 7-2). Sve ove
vrednosti kojima se definie
nain rada PID-a, mogu se
menjati i u toku izvoenja
programa navoenjem
odgovarajuih adresa
promenljivih. U istom
prozoru mogu se i oitavati
vrednosti pojedinih rei ili
bitova koje se postavljaju u
toku izvravanja programa.

KODOVI ZA GREKE PRI IZVRAVANJU PID NAREDBE
Ukoliko u toku izvoenja PID naredbe doe do neke greke javlja se kod za
greku 0036. Svakoj vrsti greke pridruen je jednoznaan kod duine 1 bajta koji je
smeten u drugoj rei Control block-a (Msbyte). Kodovi greaka, kao i mogue reakcije u
cilju njihovog uklanjanja prikazani su u tabeli T. 7-4.
Kode
greeke
Uzrok greke Mogua reakcija da se greka ukloni
11H
SLC 5/02 SLC5/03 i vie SLC 5/02 SLC5/03 i vie
1. T > 255 1. T > 1024
Vrati T u granice
2. T = 0 2. T = 0
12H Kc > 255 ili Kc = 0 Kc < 0 Vrati Kc u granice
13H Ti > 255 Ti < 0 Vrati Ti u granice
14H Td> 255 Td < 0 Vrati Td u granice
21H
5/02
Smax> 16383 ili Smax< -16383 Vrati Smax u granice
22H
5/02
Smin> 16383 ili Smin< -16383 Vrati Smin u granice
22H Smin> Smax Popravi odnos Smin i Smax
31H
Smin> SP> Smax ili SP> 16383
u prvom prolazu postavi Bit 11
ako se kasnije promeni SP onda javlja kod za greku, ali
koristi prethodnu SP
postavi
Smin < SP< Smax ili (ako se nekoristi skaliranje)
0 < SP< 16383
41H
Izabrano skaliranje Nije izabrano skaliranje Izabrano skaliranje
Nije izabrano
skaliranje
DB< 0 ili . DB>
(Smax Smin) ili
DB> 16383 (5/02)
Deadband< 0 ili
Deadband> 16383
postavi
0 < deadband<(Smax -
Smin)< 16383
postavi
0 < deadband<
16383
51H CVH< 0 ili CVH> 100 Vrati CVH u granice
52H CVL< 0 ili CVL> 100 Vrati CVL u granice
53H CVL > CVH Popravi odnos CVL I CVH
60H
SLC 5/02 PID se prekida po drugi put (PID je
bio prekinut nekim signalom U/I prekida, koji je
onda prekinut pomou STI prekida)
Postoje bar tri PIDa u programu (jedan u glavnom programu,
jedan u U/I prekidu i jedan u STI prekidu). Program se mora
promeniti da bi se izbegle ugnedene PID petlje.
7.4. PRIMERI KORIENJA PIDA
PR. 7-2 SKALIRANJE
ZADATAK
PID upravlja snagom grejaa koji zagreva vazduh u nekoj komori. Temperatura u komori
SL. 7-2 MASKA ZA DEFINISANJE UPRAVLJAKOG BLOKA
T. 7-4 KODOVI GREAKA KOJE MOGU NASTATI PRI KORIENJU PID MODULA
Plc_PID/129

moe da se menja u opsegu t
min
= 5
o
C do t
max
=80
o
C. Temperatura se meri termospregom koji daje
strujni signali u opsegu 4 do 20mA koji se vodi na analogni ulazni modul u slotu 1.
Kolo za upravljanje grejaem prima strujni signali u opsegu 4 do 20mA, koji dolazi sa
analogni izlazni u slotu 2.
PID radi sa periodom od 100ms i treba da odrava temepraturu na 20
o
C.
Napisati STI servisni potprogram koji realizuje PID.
REENJE
Servisni potprogram prikazan je na Sl. 7-3. Pri tome su svi neophodni parametri definisani
na sledei nain.
STI prekid
STI adresa servisnog potprograma S:31 = 3
STI Setpoint period kao multipl od 10ns (S:30) = 10
STI Enabled bit (S:2/1) = 1

PID upravljaki blok, adresa N10:0 (Izgled maske dat je na )
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RE 0 EN DN PV SP LL UL DB DA 1 TF SC 1 RG1 OL1 CM0 AM0 TM0
RE 1 PID SUB ERROR CODE (MSBYTE)
RE 2 SETPOINT SP 20
RE 3 KP
500 INTERPRETIRA SE KAO 5
RE 4 TI (MIN/OBRT) 20 INTERPRETIRA SE KAO 0.2
RE 5 TD (MIN) 2 INTERPERTIRA SE KAO 2
RE 6
OFFSET 0
RE 7 SETPOINT MAX SCALED (SMAX) 5
RE 8 SETPOINT MIN SCALED (SMIN) 80
RE 9 DEADBAND (MRTVA ZONA) 0
RE 10 INTERNA UPOTREBA
RE 11 OUTPUT MAX (CVH) 100
RE 12 Output Min (CVL)
0
RE 13 LOOP UPDATE 10
RE 14 SCALED PROCES VARIABLE
RE 15 Scaled Error (SE) SE = SP PV
RE 16 Output CV (%)
RE 17 MSW Integral Sum
RE 18 LSW INTEGRAL SUM
RE 19 INTERNA UPOTREBA
RE 20 INTERNA UPOTREBA
RE 21 INTERNA UPOTREBA
RE 22 INTERNA UPOTREBA


Plc_PID/130




Plc_PID/131




SL. 7-3 SERVISNI POTRPOGRAM KOJI U KOME SE REALIZUJE PID
SL. 7-4 IZGLED MASKE PRI DEFINISANJU PID NAREDBE
Plc_PID/132


PR. 7-3 - GENERISANJE IRINSKI MODULISANOG IMPULSA
ZADATAK
Formirana je PID naredba koja generie upravljaki signal za neki izvrni organ koji prima
irinski modulisane impulse. Izvrni organ je vezan za nulti pin digitalnog izlaznog modula koji se
nalazi u slotu 1
Control block PIDa nalazi se na adresi N10:0. Skalirani merni signal smeten je na adresi
N7:1, upravljaka promenljiva smetena je na adresi N7:2.
Perioda odabiranja PIDa je T=10s.
Formirati leder program koji e na osnovu upravljakog signala koji daje PID generisati
irinski modulisane module.
REENJE
Servisni potprogram prikazan je na Sl. 7-6.
Generisani irinski modulisani impuls treba da ima izgled kao na Sl. 7-5 , gde u predstavlja
vrednost upravljake promenljive svedene na procenat od periode odabiranja T.
Budui da PID daje upravljaki signal (c) kao celobrojnu promenljivu u opsegu od 0 do
16383, to znai da veliini c=0 odgovara upravljanje u=0, a veliini c=16383, upravljanje u=T.
Otuda se konverzija upravljakog signala vri prema relaciji
cT
u
16383
=
Izlazni signal generie se pomou samoresetujueg asovnika koji meri vreme T (10s).
Sve dok je izmereno vreme manje od u, na izlaz analognog modula se dovodi vrednost 1. Kada
vreme postane vee od u, na izlaz asovnika se dovodi vrednost 0.
Poto se PID naredba nalazi u samom leder programu, on mora sam generisati periodu
odabiranja (timed mode) to znai da se u upravljakom bloku bit TM (N10:0/0) mora postaviti na
1.

SL. 7-5 IRINSKI MODULISAN UPRAVLJAKI SIGNAL
Plc_PID/133






SL. 7-6 REALIZACIJA IRINSKI MODULISANOG IMPULSA NA OSNOVU IZLAZA PIDA
Plc_PID/134

PR. 7-4 RUNI REIM RADA
ZADATAK
Jedan PID modul definisan je preko upravljakog bloka koji se nalazi na adresi N7:10. PID
prima procesnu promenljivu (PV) sa adrese N7:0 i generie upravljaku promenljivu na adresi N7:1
(CV).
Izbor izmeu runog i automatskog reima rada obavlja se pomou dvopoloajnog
prekidaa. Poloaj prekidaa koji oznaava automatski reim rada vezan je preko prvog pina
digitalnog ulaznog modula, koji se nalazi u slotu 2, dok je poloaj koji oznaava runi reim vezan
za drugi pin istog modula.
Runo upravljanje generie se pomou jednog trocifrenog BCD digitalnog davaa koji je
vezan je za prvih 12 pinova digitalnog ulaznog modula koji se nalazi u slotu 1. (Preostali pinovi tog
modula se ne koriste). Runo upravljanje se zadaje kao procenat od maksimalne aktivnosti
izvrnog organa (u opsegu od 0 do 100). Izvrni organ je tako odabran da prima stvarni, apsolutni
iznos upravljanja.
Zahtev za oitavanje stanja na davau vri se pritiskom na taster koji je vezan za nulti pin
digitalnog ulaza u slotu 2.
Formirati deo leder programa koji realizuje runo upravljanje.
REENJE
Program kojim se realizuje promena reima rada prikazan je na
Svaki put kad se pritisne taster podatak sa BCD davaa se konvertuje u celobrojnu
promenljivu c i smeta na adresu N7:2. Ukoliko je zadana vrednost u dozvoljenom opsegu, na
osnovu nje se izraunava stvarna apsolutna vrednost ulaza izvrnog organa u. Konverzija se vri
prema relaciji

16383
CV c
100
=
Dobijena vrednost se smeta kao CV na odgovarajuu adresu PID modula. Pretpostavlja
se, naime, da se u preostalom delu leder programa nalaze naredbe koje e, nezavisno od reima
rada PIDa, ovu vrednost skalirati u skladu sa odabranim analognim izlaznim modulom i obezbediti
smetanje rezultata na izlaznu adresu koju odreuje analogni izlazni modul.
Ukoliko je vrednost izvan opsega postavlja se indikatorski bit.
Potrebno je zapaziti da se, i pored toga to je PID u runom reimu rada, on aktivira u
skladu sa periodom odabiranja. Tom prilikom on koristi vrednost upravljake promenljive (CV) za
auriranje procentualne vrednosti upravljake promenljive (CVP -re 16 upravljakog bloka),
odreivanje signala greke i auriranje integralnog dejstva (rei 17 i 18 upravljakog bloka).


Plc_PID/135



SL. 7-7 REALIZACIJA IRINSKI MODULISANOG IMPULSA NA OSNOVU IZLAZA PIDA
Com_naredbe/137

8. NAREDBE ZA KOMUNIKACIJU SLCA
8.1. NAREDBE ZA RAD SA ASCII KARAKTERIMA
Postoje dve vrste naredbi za rad sa ASCII karakterima.
NAREDBE ZA UPRAVLJANJE KOMUNIKACIONIM KANALOM
Ove naredbe se koriste za prenos podataka preko komunikacionog kanala. Pri
tome da bi se one mogle izvravati, konfiguracija sistema mora biti postavljena na user
mode. Izuzetak su naredbe za prenos podataka (upisivanje) mogu da rade i kada je kanal
konfigurisan kao system mode. Podsetimo se da se konfiguracija moe inicijalno
definisati, ali i dinamiki menjati u toku rada.
U principu kada neka od ovih naredbi postane aktivna u programu ona se
postavlja u red ekanja i nee biti izvrena dok se ne zavri prethodna naredba koja se
nalazi u redu. Procesor, meutim, ne eka na izvravanje naredbe, ve nastavlja sa
skeniranjem leder programa.
NAREDBE ZA MANIPULACIJU NIZA KARAKTERA (STRING)
Ovim naredbama se formira niz karaktera koji e se prenositi preko mree.
Naredbe se izvravaju odmah, im uslov u leder programu postane istinit.

Pri radu sa ASCII karakterima mogu se korstiti ASCII datoteka ili String datoteka.
ASCI I dat ot eka A (samo SLC 5/04 i 5/05)
Ova datoteka
sadri elemente duine
jedne rei koji se mogu
adresirati na nivou
elementa ili pojedinog bita.
Elemenat sadri bajtove
ASCII karaktera.
St ri ng dat ot eka ST (SLC 5/03, 5/04 i 5/05)
Datoteka sadri
elemente ija je duina
najvie 42 rei (84
karaktera, odnosno 84
bajtova) i moe se
adresirati na nivou
elementa, rei ili pojedinih
bitova u rei.




UPRAVLJAKA DATOTEKA
ASCII naredbe
koje se koriste pri
prenosu podataka
zahtevaju dodatne
informacije koje se
smetaju u upravljaku R
datoteku iji element ima 3
rei. R datoteka se
generie automatski pri kreiranju ASCII naredbi za iji rad je ona neophodna.
SL. 8-1 ELEMENT ASCII DATOTEKE
SL. 8-2 ELEMENT STRING DATOTEKE
SL. 8-3 IZGLED JEDNOG ELEMENTA UPRAVLJAKE DATOTEKE ZA ASCII
NAREDBU
Com_naredbe/138

Bitovi u prvoj rei elementa imaju sledee znaenje
Bi t 15 EN enable postavlja se na 1 kada se uslov menja sa neistinit na istinit.
Ostaje postavljen sve dok se naredba ne izvri ili se ne signalizira greka
Bi t 14 EU queue postavlja se na 1 kada se naredba stavi u red. Ova akcija moe
biti zakanjena u sluaju da je red pun (ima mesta za najvie 16 naredbi)
Bi t 13 DN - asynchronous done postavlja se u trenutku kada se naredba izvri
(nezavisno od programskog skena)
Bi t 12 EM synchronous done postavlja se u programskom sken ciklusu, pri
obraivanju odgovarajueg ranga, ukoliko je naredba izvrena (odnosno DN bit
postavljen)
Bi t 11 ER error postavlja se na 1 ukoliko je dolo do greke u toku izvravanja
naredbe
Bi t 10 UL unload zaustavlja operaciju pre otpoinjanja (ako je u redu ekanja) ili u
toku izvoenja; kada se ovaj bit (programski spolja) postavi na 1, svi podaci koji su dotle
obraeni e biti prosleeni odreditu, ali se preostali podaci nee obraivati. Naredba se
ne pomera iz reda, ve se samo neki podaci ne obrauju
Bi t 9 IN running ukazuje da se naredba u redu ekanja izvrava
Bi t 8 FD found ukazuje da je naredba naila na internu oznaku za kraj niza
karaktera (end-of-character) koji oznaava da je cela poruka primljena ili na termination
character (koji je specificiran pri konfigurisanju kanala).
8.1.1. ASCII NAREDBE ZA MANIPULACIJU KARAKTERIMA
Veina naredbi za manipulaciju karaktera su naredbe akcije koje se izvravaju
ukoliko je uslov istinit. Samo jedna naredba je naredba uslova.
KONVERZIJA: NIZ PODATAKA CELOBROJNA VREDNOST
ACI ASCII string to integer konverzija niza numerikih karaktera u celobrojni
podatak izmeu (-32768 i 32767)
Ukoliko je uslov istinit, zapoinje
pretraivanje niza koji se nalazi na adresi source,
sve dok se ne pronae prvi ASCII karakter koji
predstavlja cifru. Ona se izdvoji i zatim se
izdvajaju svi sledei karakteri koji predstavljaju
cifre dok se ne naie na karakter koji nije cifra ili se naie na karakter koji oznaava kraj
niza. Broj koji ine ovako sakupljeni karakteri se onda konvertuje u celobrojni podatak i
smeta na adresu definisanu kao dest.
Ukoliko je duina stringa izvan dozvoljenog opsega (0 82) postavlja se ASCII
error bit (S:15/5), dok se kao celobrojna vrednost postavlja 32,767.
Niz moe sadravati predznak (+ ili -) i zapetu. Samo negativni predznak se
prikazuje u rezultatu.
Pri izvoenju naredbi postavljaju se i aritmetiki bitovi u Status registru.
AI C Integer to ASCII string pretvara celobrojnu vrednost u opsegu (-32768, 32767)
u niz numerikih karaktera.
Celobrojna vrednost moe biti konstanta
ili promenljiva i nalazi se na adresi odreenoj kao
source. Svaka cifra se konvertuje u odgovarajui
ASCII karakter. Rezultat operacije je string
elemenat koji se smeta na adresu dest.

Com_naredbe/139

EKSTRAKCIJA I DOPUNJAVANJE PODATAKA
AEX ASCII string extract formiranje novog niza od poetnog
Ukupno nd karaktera poev od
karaktera ni iz string elementa definisanog
adresom source se smeta kao novi string
elemenat koji se smeta na adresu dest.
Podaci nd i ni se mogu zadati kao konstante ili
celobrojne promenljive.
Error bit se postavlja ukoliko je duina
stringa izvan opsega, ukoliko su nd i ni izvan
definisane duine stringa, ili ako je ni vei od duine stringa. U tom sluaju odredini string
se ne menja.
Ukoliko je ni+nd vei od duine stringa, odredini string se menja, a error bit se ne
postavlja.
ACN - ASCII string concatenate povezivanje dva niza
String elementi definisani kao source A i
source B se nadovezuju jedan na drugi i
formiraju string elemenat koji se smeta na
adresu definisanu sa dest.
Samo prvih 82 karaktera se smeta na
odredite. Ako oba niza zajedno imaju vie od
82 karaktera postavlja se error bit.

PRETRAIVANJE I POREENJE
ASC ASCII string search traenje
zadatog niza
Ispituje da li se u string elementu
definisanom sa string search nalazi niz
definisan u string elementu na adresi source i
to poev od karaktera iji je redni broj odreen
kao index. (Index=1 ukazuje na prvi levi
karakter u string elementu source).
Ukoliko se pronae niz u rezultat se
upisuje redni broj karaktera u elementu string search od koga poinje slaganje. Ako se ne
ustanovi slaganje, rezultat je nula.
Error bit se postavlja ako je duina stringa izvan dozvoljenog opsega ili ako je
indeks izvan opsega ili vei od duine source stringa. Rezultat se u tom sluaju ne menja.
ASR ASCII string compare poreenje dva niza podataka
Naredba se izvrava tako to se dva
elementa string datoteka porede u pogledu
duine i sadraja. ukoliko su svi elementi
identini naredba je istinita.
Nedozvoljena duina string
elementa postavlja error bit.

8.1.2. ASCII NAREDBE ZA KOMUNIKACIJU
Razmena podataka izmeu SLCa i nekog ureaja koji prima ili alje ASCII
karaktere obavlja se preko dva bafera (ulaznog i izlaznog) kanala 0 koji je konfigurisan za
user mode. Podaci se iz bafera alju ka nekom ASCII ureaju, ili se iz njega primaju u
okviru nezavisnog procesa komunikacije. Pri tome, vano je da se istakne da se
Com_naredbe/140

komunikacija obavlja direktno sa ureajem koji je vezan za kanal 0.
U sutini postoje dve vrste naredbi. Jedna grupa naredbi slui za proveru stanja
bafera i manipulaciju redovima ekanja koji su pridrueni baferima. Druga grupa naredbi
slui za prenos podataka izmeu datoteka SLCa i bafera. Drugim reima ovde se ne radi
o komunikaciji sa bilo kojim od kontrolera u mrei, jer bi u tom sluaju naredba za
komunikaciju morala da ukljui i adresu kontrolera.
U principu ove naredbe se ne izvravaju trenutno u toku programskog skena, ve
se samo smetaju u red ekanja.
Kada uslov ima prelaz sa neistinit na istinit postavlja se EN bit i naredba se stavlja
u red ekanja (EU bit se postavlja na 1). Kada naredba doe na red za izvravanja IN bit
se postavlja. Procesor tada izvri naredbu i postavlja DN bit.
Kada u nekom sledeem programskom sken ciklusu, procesor utvrdi da je DN bit
postavljen, on postavlja EM bit, ime oznaava da je naredba izvrena.
MANIPULACIJA BAFERA
ACL - ASCII Clear Receive and/or Send Buffer
Kada uslov prelazi sa neistinit na istinit
prijemni i/ili predajni bafer kanala 0
(konfigurisan kao ASCII u user mode-u) se
prazni. To znai da se iz redova izbacuju sve
naredbe za itanje (prijem), odnosno pisanje
(predaja) koje se zateknu u ekanju na prenos.
Ova naredba se izvrava odmah pri
izvoenju leder programa.
Kanal 0 moe biti u bilo kom stanju (system ili user). Ukoliko je kanal u system
mode, prazni se samo bafer za slanje (transmit) i to samo ukoliko je odabran protokol
DF1.
ACB - Number of Characters In Buffer
Kanal 0 mora biti u user mode.
Ovom naredbom se odreuje
ukupni broj karaktera u baferu i smeta
u pos re upravljakog bloka Rn:w. Ovaj
broj se istovremeno prikazuje i kao
podatak (characters) u bloku leder
programa. Korienjem ove naredbe se
zapravo proverava da li je bafer primio
neke karaktere iz spoljnjeg ureaja. Ukoliko se u baferu naie na terminalne karaktere
postavlja se i FD bit.
Ukoliko doe do greke, heksadecimalni kod za greku se prikazuje kao error.
Bit za greku bie postavljen ukoliko kanal nije u user mode, ukoliko je, dok je
naredba bila u redu, dolo do promene mode-a i ukoliko je UL bit postavljen pre nego to
je naredba poela da se izvrava (izala iz reda ekanja).
ABL - Test Buffer for Line
Kanal 0 mora biti u user mode.
Ovom naredbom se odreuje
broj karaktera u ulaznom baferu
zakljuno sa "end-of-line" karakterima.
To su dva terminalna karaktera koja su
definisana pri konfiguraciji kanala 0 za
rad u user modu. Na taj nain ova
naredba odreuje duinu jedne linije
podataka.
Rezultat se smeta u pos re upravljakog bloka Rn:w Ovaj broj se istovremeno
Com_naredbe/141

prikazjuje i kao podatak (characters) u bloku leder programa.
Ukoliko doe do greke, heksadecimalni kod za greku se prikazuje kao error.
Ukoliko se u baferu ne pronau terminalni karakteri u pos polje se upisuje 0. Ukoliko
vrednost u pos polju nije nula FD bit se postavlja na 1. Bit za greku bie postavljen
ukoliko kanal nije u user mode, ukoliko je dok je naredba bila u redu dolo do promene
mode-a i ukoliko je UL bit postavljen pre nego to je naredba poela da se izvrava (izala
iz reda ekanja).
OITAVANJE PODATAKA IZ BAFERA (PRIJEM PODATAKA)
ARD ASCI I - Read Characters
Uitava parametre iz bafera i smeta ih
u elemenat string datoteke definisan kao dest.
Za obavljanje operacije neophodno je da se
definie elemenat upravljake datoteke i da se
specificira broj karaktera koji se eli uitati
(string length). Ovaj broj e biti upisan na
poziciju len u datoteci Rn:w. Broj oitanih
karaktera se prikazuje u naredbi. Ovaj broj se
smeta i kao pos re u upravljakom bloku
Rn:w.
Ukoliko doe do greke, heksadecimalni kod za greku se prikazuje kao error.
Potrebno je zapaziti da se broj karaktera koji se oitava moe menjati u toku rada.
Da bi se ovo postiglo potrebno je da se nekom naredbom definie sadraj rei Rn:w.len.
Po prirodi stvar za tu svrhu e se koristiti pos re kontrolnog bloka koji je vezan za jednu
od naredbi kojom se odreuje broj karaktera u baferu.
Bit za greku bie postavljen ukoliko kanal nije u user mode, ukoliko je dok je
naredba bila u redu dolo do promene mode-a, ukoliko je UL bit postavljen pre nego to je
naredba poela da se izvrava (izala iz reda ekanja), ukoliko se izvri ACL naredba, i
ukoliko se ustanovi da modem nije na vezi (uz uslov da je pri konfiguraciji kanala
odabrana bilo koja opcija izuzev no handshaking).
ARL - ASCII Read Line
Ova naredba radi isto to i ARD
naredba, s tim to se uitava niz
karaktera zakljuno sa karakterima koji su
specificirani kao terminalni.
Ukoliko se u nizu duine
specificirane kao string length ne naie
na terminalne karaktere, uitavanje e se
prekinuti, kada se proita zadani broj
karaktera. Ukoliko se naie na terminalne
karaktere, oitavanje se prekida i pre
dostizanja zadane duine niza.
UPISIVANJE PODATAKA U BAFER (SLANJE PODATAKA)
Ove naredbe mogu da rade i u
system i u user mode.
AWT - ASCII Write
Broj karaktera odreen sa string
length se prenosi iz string elementa Stn:w
na neki spoljni ureaj. Ukoliko se kao string
length definie 0, prenosi se ceo element.
Broj poslatih karaktera bie upisan u pos
re upravljake datoteke Rn:w.
Bit za greku bie postavljen ukoliko
Com_naredbe/142

je kanal system mode konfigurisan za DH485, ukoliko je UL bit postavljen pre nego to je
naredba poela da se izvrava (izala iz reda ekanja), ukoliko se izvri ACL naredba, i
ukoliko se ustanovi da modem nije na vezi (uz uslov da je pri konfiguraciji kanala
odabrana bilo koja opcija izuzev no
handshaking).
AWA - ASCII Write with Append
U osnovi radi isto kao i AWA
naredba, s tim to se emitovanim
karakterima dodaju dva terminalna
karaktera koja su specificirana pri
konfigurisanju kanala za user mode.


HANDSHAKE
AHL - ASCII Handshake Lines
Moe da radi i u system i u user
mode.
Koristi se za resetovanje RS-232
kanala i to linija DTR (ready line) i RTS
(request to send line). Naredba se izvrava
tako to se, u zavisnosti od bita u masci,
DTR i RTS linije setuju ili resetuju. Obe
maske se specificiraju kao heksadecimalni
podaci pri emu Bit 0 odgovara DTR liniji,
dok Bit 1 odgovara RTS liniji.
AND maska slui za resetovanje bitova. Ako je odgovarajui bit 1 linija se resetuje,
ako je 0 stanje linije se ne menja.
OR maska slui za postavljanje bitova. Ako je odgovarajui bit 1 linija se setuje,
ako je 0 stanje linije se ne menja.

Status kanala je informacija o stanju RS232 linija u toku rada. Ona se kree
od 00 do 1F (heksadecimalno) prema sledeoj tabeli
KODOVI GREAKA U PRENOSU
KOD UZROK GREKE
00 nema greke
02 Operacija se ne moe zavriti jer je modem izgubio vezu
03 Prenos se ne moe zavriti jer je izgubljen CTS signal
04 Ne moe da ostvari ASCII prijem jer je Kanal 0 u system mode
05 U toku pokuaja da se ostvari ASCII prenos detektovan je
07 Ne moe da ostvari ASCII prenos jer je konfiguracija kanala promenjena pomou menija
08 Ne moe da ostvari ASCII prenos, jer je drugi ASCII prenos ve u toku
09 ASCII komunikacija nije podrana trenutnom konfiguracijom kanala
0A UL bit je postavljen, ime je prekinuto izvoenje naredbe
0B Zahtevana duina niza je ili negativna ili vea od 82 (ARD ili ARL naredbe)
0C Zahtevana duina niza je ili negativna ili vea od 82 (AWA ili AWT naredbe)
Com_naredbe/143

8.1.3. PRIMERI KORIENJA ASCII NAREDBI
Pretpostavlja se da je jedan
kontroler spregnut sa ASCII ureajem koji
radi i kao prijemnik i kao predajnik (Sl. 8-4).
Kanal 0 kontrolera konfigurisan je
kao user mode. Terminalni karakteri
specificirani su tako da odgovaraju ASCII
kodovima za "carriage return" i "line feed".
Kodovi su uneti kao heksadecimalni (Sl.
8-5).














PR. 8-1 UITAVANJE NIZA ASCII KARAKTERA
ZADATAK
Proitati niz podataka sa nekog spoljnjeg ASCII ureaja i izdvojiti uitane karaktere u dva
posebna niza tako da prvi niz sadri prva tri karaktera iz uitanog niza, a drugi niz osam karaktera
poev od 5. karaktera uitanog niza. Pri tome, se prvi niz aurira samo ako su uitana bar tri nova
karaktera, dok se drugi niz aurira posle svakog oitavanja stanja bafera, nezavisno da li su uitani
novi karakteri ili ne. Karakteri se oitavaju sa uestanou od 1 sekunde.
Pretpostaviti da je kraj stringa koji alje spoljni ureaj oznaen terminalnim karakterom.
Ako to nije sluaj, niz ne treba oitavati
REENJE
Leder program koji realizuje postavljeni zadatak prikazan je na Sl. 8-6.
Imajui u vidu postavljene uslove, za oitavanje bafera se koristi ARL naredba koja ispituje
prisustvo terminalnog karaktera i ukoliko ga ustanovi postavlja FD bit.
Prvi niz se aurira samo ako je ustanovljeno da u baferu ima bar 3 karaktera. U tom
sluaju se postavlja i indikatorski bit koji se moe koristiti u nekom drugom delu programa (koji
ovde nije prikazan). Samo se po sebi razume da se nakon korienja taj bit mora odleovati, da bi
bio spreman za sledeu upotrebu.
Drugi niz se bezuslovno aurira im asovnik izmeri vremenski interval od 1 sekunde.
SL. 8-4 SPREGA KONTROLERA I ASCII UREAJA
SL. 8-5 SPREGA KONTROLERA I ASCII UREAJA
SLC 5/04
Kanal 0
ACII uredjaj
Com_naredbe/144



PR. 8-2 PRIJEM ASCII KARAKTERA
ZADATAK
Formirati leder program u okviru koga SLC kontroler saoptava ASCII ureaju da je
spreman da primi podatke i zatim otpoinje prijem karaktera onako kako oni stiu u prijemni bafer.
REENJE
Program je realizovan tako da se sukcesivno ispituje stanje bafera i ukoliko u njemu ima
karaktera, svi karakteri se prenose u privremenu datoteku (St9:0). Iz ove privremene datoteke
karakteri se, nadovezivanjem, slau u jedan niz koji se uva u datoteci St12:0.
Duina niza koji se oitava iz bafera odreuje se ACB naredbom. Ukoliko spoljni ureaj
nije poslao podatke, onda e ova duina biti nula. U principu, moglo bi se dopustiti da se aktivira
naredba za oitavanje sa duinom nula, to zapravo znai da ova naredba ne bi imalo ta da radi.
SL. 8-6 UITAVANJE NIZA ACII KARAKTERA
Com_naredbe/145

Meutim, da bi se ostvarila uteda na vremenu, moe se usloviti aktiviranje naredbe za oitavanje
(kao to je to ovde i uraeno). Uslovljavanje moe da se izvri ispitivanjem stanja FD bita, ili
ispitivanjem broja oitanih karaktera (POS) koji mora biti vei od nule. Naredba za ispitivanje bita je
povoljnija jer se bre izvrava. (U programu su ilustrovana oba postupka ispitivanja)







SL. 8-7 PRIJEM ASCII KARAKTERA
Com_naredbe/146

PR. 8-3 PRIKAZIVANJE PODATAKA NA DISPLEJU
ZADATAK
Na pokretnoj traci preko koje se prenose finalni proizvodi nalazi se senzor koji generie
logiku jedinicu pri prolazu svakog proizvoda. Potrebno je da se na displeju prikazuje broj
registrovanih proizvoda, kao i datum i vreme u kome je taj broj registrovan.
REENJE
Signal sa senzora se vodi na broja. Pri tome se pretpostavlja da je uestanost detekcije
proizvoda na traci znaajno manja od vremena skeniranja, to znai da e u sukcesivnim sken
ciklusima senzor menjati stanje. Stanje brojaa se zajedno sa datumom i vremenom (podaci
postoje u odgovarajuim reima statusnog registra) smeta u celobrojnu datoteku. Elementi ove
datoteke se koriste u okviru string datoteke koja se prikazuje na displeju. Naime, ukoliko se u nizu
podataka naie na elemenat datoteke u uglastim zagradama, onda e procesor uzeti iz memorije
odgovarajui brojni podatak, prebaciti ga u ASCII kod i uvrstiti u niz. Ovaj nain prikazivanja
podataka oznaava se kao In-line Indirection.
Da bi se preneli traeni podaci odgovarajui elemenat string datoteke treba da ima sledei
izgled


Poslednja dva karaktera su ASCII karakteri za "carriage return" i "line feed"
(hekasedecimalni kodovi /d i /a) . Napomenimo da se ubacivanje ovih karaktera moglo postii i
automatski da je umesto AWT naredbe koriena AWA naredba.

Odgovarajui leder program prikazan je na Sl. 8-7.

Com_naredbe/147










SL. 8-8 PRIKAZIVANJE PODATAKA NA DISPLEJU
Com_naredbe/148

8.2. NAREDBE ZA KOMUNIKACIJU SLCA U MREI
8.2.1. FORMAT NAREDBI ZA KOMUNIKACIJU
Zahtev za uspostavljanje komunikacije izmeu dva vora u mrei, odnosno za
otpoinjanje prenosa podataka, izraava se u okviru naredbe koja se postavlja u leder
program. Sve naredbe za komunikaciju koje se aktiviraju u okviru jednog programskog
skena ciklusa postavljaju svoje zahteve u red ekanja. Sama komunikacija, meutim,
obavlja se u okviru komunikacionog dela sken ciklusa. Kontroler SLC5/02 moe da
servisira jednu naredbu u jednom trenutku, dok ostali kontroleri mogu da servisiraju do
etiri naredbe po svakom od kanala, to ini ukupno 8 instrukcija u jednom trenutku.
Postoji mogunost da se komunikacija pospei i to tako to se komunikacioni deo
sken ciklusa ponavlja vie puta u okviru jednog sken ciklusa SLC.
SVC - Service Communications instruction
Ova naredba je naredba akcije i koristi
se za iniciranje posebnog komunikacionog
ciklusa. Ukoliko je uslov istinit, programski
sken se privremeno prekida i otpoinje
komunikacioni ciklus. Po okonanju
komunikacije, programski sken se nastavlja
od mesta prekida.
Kod kontrolera koji imaju dva kanala,
naredba omoguava da se specificira da li e
se u okviru dodatnog komunikacionog ciklusa
servisirati oba kanala ili samo jedan od njih. Samo se po sebi razume, da ovaj izbor ne
utie na redovno izvravanje komunikacionog ciklusa.
SVC naredba se, po pravilu, postavlja kao bezuslovna naredba. Ne moe se
koristiti u potprogramima kojima se servisiraju prekidi.

MSG - Message naredba
SLC kontroler koji predstavlja jedan
vor u mrei ostvaruje komunikaciju sa
nekim drugim vorom u mrei pomou
naredbe za komunikaciju (message
naredba msg). Ova naredba je naredba
akcije i postavlja se u pogramu onog SLC
kontrolera koji e igrati ulogu inicijatora
prenosa podataka. Ukoliko je uslov u rangu
istinit naredba se izvrava tako to
postavlja zahtev za prenos podataka
izmeu dva vora u mrei. Kao to je ve
reeno,sam prenos se obavlja u
komunikacionom delu sken ciklusa PLCa.
Naredba ukljuuje niz parametara
kojima se opisuje vrsta komunikacije (smer,
adresa vora sa kojim se komunicira,
adresa skupa podataka koji se prenose
itd.), kao i same podatke koji se prenose
preko mree. Neki do ovih parametara
postavljaju se direktno u samoj naredbi, a neki se smetaju u posebnu upravljaku
datoteku (Control block) koja se specificira kao celobrojna datoteka (tipa N). Duina
datoteke zavisi od tipa SLCa i to je podatak koji se ne moe menjati. On se kree od 7 za
kontrolere tipa SLC5/2 do najmanje 14 za kontrolere vieg tipa.
READ/WRITE MESSAGE
Read/Write xxxx
Target Device xxxx
Control Block Nn:w
Control Block Length 7
Setup Screen
MSG
uslov EN
DN
ER
SLC5/02
READ/WRITE MESSAGE
Type xxxx
Read/Write xxxx
Target Device xxxx
Local/Remote xxxx
Control Block Nn:w
Control Block Length 14
Setup Screen
MSG
uslov
EN
DN
ER
SLC5/03-05
Com_naredbe/149


Type tip komunikacije
Svi procesori realizuju peer-to-peer komunikaciju sa nekim vorom u mrei. Pored
toga, procesor SLC5/05 preko kanala 1 realzuje peer-to-peer multihop ethernet
komunikaciju sa ControlLogix kontrolerom ili preko ControlLogix gateway sa mreama
ControlNet, DH+ ili DH-485.
U cilju slanja msg naredbi koristi se TCP/IP protokol za uspostavljanje Eternet
veze. Ova veza moe biti inicirana ili od strane klijentskog programa ili od strane
procesora u lokalnom voru.
U sluaju dolazeih poruka koje lokalni procesor trai od nekog klijentskog
programa (INTERCHANGE ili RSLinx aplikacija) ili nekog drugog procesora u Eternet
mrei, vezu moe inicirati ili klijentski program ili lokalni procesor.
Kod odlazeih poruka koje lokalni procesor, bez traenja, alje klijentskom
programu, klijentski program mora uspostaviti vezu.
Za slanje peer-to-peer poruka, lokalni procesor mora, kao prvo, da uspostavi vezu
sa odredinim vorem koji ima datu IP adresu na Eternet mrei. Veza se uspostavlja pri
izvravanju msg naredbe, uz uslov da ve ne postoji veza sa istim ureajem. Samo jedna
veza se uspostavlja sa jednim odredinim vorom. Ukoliko vie msg naredbi adresira isti
vor one sve dele istu vezu.
Jedan lokalni procesor moe istovremeno uspostaviti sledee veze
o 4 odlazee veze za peer poruke
o 4 dolazee veze za klijent poruke
o 8 (kod nekih procesora i 16) veza za ili peer ili klijent poruke

Read/ Wri t e smer komunikacije
Read naredba inicira prenos (uitavanje) podataka iz neke datoteke odredinog
vora u datoteku lokalnog vora u kome se nalazi Msg naredba. Write naredbom se
obezbeuje slanje (upisivanje) podataka iz neke datoteke lokalnog vora u datoteku
odredinog vora.
Target devi ce tip vora sa kojim se komunicira
Svi vorovi u jednoj mrei ne moraju nuno biti SLC kontroleri, to znai da se i
sama komunikacija izmeu vorova ne obavlja uvek na isti nain.
Specifikacija ureaja sa kojim se vri komunikacija (kome se alju ili od koga se
uzimaju podaci).
Dozvoljene opcije su 500CPU ako je taj ureaj SLC kontroler i 485CIF ako je to
neki ureaj ne SLC tipa (emulator PLC-2). Za procesore SLC5/03 i vie odredini ureaj
moe biti PLC-5, ukoliko taj ureaj prima naredbe za PLC-5. .
Local / Remot e mrea preko koje se komunicira
Definie da li se odredini ureaj nalazi u lokalnoj mrei (local) ili u udaljenoj mrei
(remote) sa kojom se komunicira preko bridge-a.
Parametri koji nisu ukljueni u samu naredbu postavljaju se pomou
odgovarajueg prozora koji se otvara pomou opcije Setup Screen. S obzirom da se
odredini ureaji mogu razlikovati po tipu, izvesno je da se i nain komunikacije i
odgovarajui parametri moraju razlikovati.
8.2.2. SLC KONTROLER KAO ODREDINI UREAJ (500CPU)
Budui da je struktura ovog ureaja unapred poznata, odnosno da se tano zna
mogui izgled datoteke iji podaci uestvuju u komunikaciji, sve neophodne adrese u
ciljnom voru mogu se sasvim jasno definisati.
Za svaku msg naredbu neophodno je da se definie
1. Data table address - adresa prvog elementa lokalne i odredine datoteke
2. Size in elements - veliina datoteke izraena brojem elemenata koji se prenose, koja
Com_naredbe/150

se automatski preraunava u broj rei
3. Local node address - redni broj (adresa) odredinog vora

Maksimalni broj elemenata koji se moe preneti, odnosno duina poruke, odreen
je tipom datoteke koja prima podatke. To znai da je kod read naredbe broj elemenata
odreen tipom lokalne datoteke, dok je kod write naredbe broj elemenata odreen tipom
odredine datoteke. Ovaj broj zavisi od vrste kontrolera.

Dozvoljeni tipovi datoteka:
O, I, B, N, S T, C, R F St A
SLC500 5/02 41 13 X X X
SLC5/03-04 i 05 Kanal 0 103 34 51 2 103
SLC5/05 Kanal 1 256 256 256 25 256

Kont rol er SLC5/ 02
Parametri se definiu u prozoru koji je prikazan na Sl. 8-9.


U datom primeru (Sl. 8-9) upravljaki blok, (definisan u msg naredbi na adresi
N7:0) ima sledei izgled.


o Re 0 (adresa N7: 0) indikatorski bitovi
o Prvi bvajt rei 1 (adresa N7:1) adresa odredinog vora (4)
o Re 2 (adresa N7:2) - duina poruke (6 rei)
o Re 3 (adresa N7:3) broj odredine datoteke (15)
o Re 4 (adresa N7:4) kod za celobrojnu datoteku N (137)
o Re 5 (adresa N7:5) adresa prvog elementa odredine datoteke (10)
o Re 6 (adresa N7:6) - rezervisano
SL. 8-9 PROZOR ZA DEFINISANJE PARAMETARA PRI KOMUNIKACIJI SLC 5/02 KONTROLERA
Com_naredbe/151


Kont rol er i SLC5/ 03-05 Komuni kaci j a u l okal noj mrei
Ako kontroler komunicira u lokalnoj mrei prozor je veoma slian Sl. 8-10. Podaci
se smetaju u kontrolnu datoteku duine 14 rei. Pored ranije definisanih podataka
potrebno je da se specificira i
Broj kanala (Channel) u lokalnom voru, preko koga se vri komunikacija. Ovim se
ujedno specificira i tip mree preko koje se prenosi poruka
Message timeout, dozvoljeni interval ekanja da se prenos zavri, koji se pamti u prvom
bajtu rei 8 upravljakog bloka.
Ukoliko je adresa upravljake datoteke je N7:10, i ukoliko se u prozor unesu
podaci prema Sl. 8-10, njen sadraj e biti




Kont rol er i SLC5/ 03-05 Udal j ena mrea
Za komunikaciju u udaljenoj mrei neophodno je jo da se specificira
Local bridge address broj vora u lokalnoj mrei u kome se nalazi bridge.
Remote bridge address ukoliko je bridge konfigurisan kao gateway, specificira broj
vora u mrei preko koje se spaja sa udaljenom mreom. U protivnom se stavlja 0.
Podatak, pomnoen sa 256, se smeta u re 7 upravljakog bloka.
Remote station address broj vora odredinog ureaja u udaljenoj mrei smeta se
u prvi bajt rei 1 upravljakog bloka. Ovo je zapravo adresa ureaja sa kojim se
komunicira.
Remote brdige link ID identifikacija veze u udaljenoj mrei u kojoj se nalazi odredini
ureaj (0-255).
SL. 8-10 PROZOR ZA DEFINISANJE PARAMETARA PRI KOMUNIKACIJI SLC 5/03 I VIIH KONTROLERA U
LOKALNOJ MREI
Com_naredbe/152



U posmatranom primeru (Sl. 8-11), u naredbi je definisano da je adresa
upravljakog bloka je N12:0. Otuda on ima sledei izgled


8.2.3. ODREDINI UREAJ JE 485CIF (EMULATOR PLC-2)
Ako je odredini ureaj nije SLC kontroler onda je izvesno da se komunikacija
mora obaviti na drugi
nain. Naime, svaki tip
ureaja ima neki
drugaiji nain za
smetanje podataka, te
se odgovarajue adrese
moraju definisati u skladu
sa pravilima koja diktira
odgovarajui odredini
ureaj. O tome se, pored
drugih stvari, stara modul
za prilagoavanje
preko koga se
odredini ureaj vezuje na mreu.
Komunikacija sa raznovrsnim modulima se ostvaruje preko posebnog bafera
podataka koji se nalazi u lokalnom ureaju. Kao bafer se koristi datoteka - Datoteka 9
Common interface file - 485CIF sa kojom SLC razmenjuje podatke pomou message
naredbe. To zapravo znai da se nakon aktivacije message naredbe, u komunikacionom
ciklusu podaci prenose iz odreene datoteke SLCa u lokalnom voru u CIF datoteku u
istom kontroleru (write naredba) ili iz CIF datoteke u odgovarajuu datoteku SLCa (read
naredba). Sa druge strane prenos podatka izmeu CIF datoteke i drugih vorova u mrei
odvija se van ladder programa (u pozadini) u okviru nezatienog upisa ili oitavanja
podataka (unprotected write or read).
CIF datoteka se mora posebno kreirati u vreme programiranja SLC-a. Ona mora
biti dovoljno velika da primi celokupan adresirani prostor itanja i pisanja. Ukoliko to nije
SL. 8-11 PROZOR ZA DEFINISANJE PARAMETARA PRI KOMUNIKACIJI SLC 5/03 I VIIH KONTROLERA U
UDALJENOJ MREI
SL. 8-12 ILUSTRACIJA KOMUNIKACIJE SA UREAJIMA KOJI NISU SLC TIPA
SLC
Leder program
Datoteke
podataka
#0 - #8
CIF
(Datoteka #9)
Datoteke
podataka
#10 - #255
write Mrea
read
MSG
Com_naredbe/153

suaj prenos podataka se nee izvriti. CIF se formira pomou odgovarajueg prozora
(Sl. 8-13).
CIF datotekom se upravlja preko definisanja podruja u koje se podaci upisuju i
podruja iz koga se podaci oitavaju. Ukoliko se eli informacija o tome da li su se podaci
u CIF datoteci promenili neophodno je da se podacima doda "handshaking" bit.
Potrebno je da se istakne
da nezatieni upis i itanje nisu
ba potpuno slobodni. Naime,
oni su podvrgnuti zatitnim
tehnikama SLC-a. To nadalje
znai da e prenos podataka biti
odbijen ako se pokua dok traje
prenoenje programa (download)
ili ako je CIF ve otvoren od
strane nekog drugog ureaja.
Prilikom definisanja
message naredbe u kojoj je kao
ciljni ureaj naznaen 485CIF,
parametri kontrolnog bloka
definiu se u okviru posebnog
prozora kod koga deo koji se
odnosi na odredini ureaj ima
neto drugaiji izgled. Naime,
umesto adrese izvorne ili
odredine datoteke, ovde se
navodi adresa prvog elementa
prostora CIF datoteke u koji se
smetaju podaci (Data Table
Offset). Ovaj podatak se smeta
u re 3 upravljake datoteke.

Kont rol er SLC5/ 02 (Upravljaka datoteka na adresi N11:10)


SL. 8-13 PROZOR ZA DEFINISANJE CIF PODRUJA
SL. 8-14 PROZOR ZA DEFINISANJE PARAMETARA PRI KOMUNIKACIJI SLC 5/02 PREKO CIF-A I
ODGOVARAJUA UPRAVLJAKA DATOTEKA
Com_naredbe/154

Kont rol er i SLC5/ 03-05 Local net work (Upravljaka datoteka na adresi N13:0)




Kont rol er i SLC5/ 03- 05 Remot e net work (Upravljaka datoteka na adresi
N14:0)



Ukoliko je odredini vor PLC-5 parametri se definiu na isti nain s tim to se kao
adresa odredinog vora navodi adresa datoteke u PLC-5 u skladu sa pravilima
adresiranja koja vae za tu vrstu kontrolera.
SL. 8-15 PROZOR ZA DEFINISANJE PARAMETARA PRI KOMUNIKACIJI SLC 5/03 I VIIH U LOKALNOJ MREI
PREKO CIF-A I ODGOVARAJUA UPRAVLJAKA DATOTEKA
SL. 8-16 PROZOR ZA DEFINISANJE PARAMETARA PRI KOMUNIKACIJI SLC 5/03 I VIIH U UDALJENOJ MREI
PREKO CIF-A I ODGOVARAJUA UPRAVLJAKA DATOTEKA
Com_naredbe/155


8.2.4. KOMUNIKACIJA PREKO ETERNETA
Prilikom specifikacije parametara za komunikaciju preko Eterneta, odredini ureaj
se specificira preko IP (Eternet) adrese. Kod odreenih tipova procesora moe se koristiti
i ime ureaja, koje je definisano u domain name server-u.
Pored adrese, potrebno je i definisati da li se poruka rutira prema Logix kontroleru
ili preko ControlLogix gateway-a multiHop opcija. U tom sluaju neophodno je i da se
specificira nain rutiranja.
Preostali parametri definiu se na isti nain kao i kod drugih opcija msg naredbe,
kao to se vidi iz navedenog primera.






SL. 8-17 PROZORI ZA DEFINISANJE PARAMETARA PRI KOMUNIKACIJI PREKO ETERNET MREE
Com_naredbe/156


8.2.5. INDIKATORI STATUSA
Pri opsluivanju MSG naredbi postavljaju se 3 statusna bita po svakom kanalu.
Kod kontrolera SLC5/02 ti se bitovi nalaze u rei broj 2 (S:2) statusne datoteke, dok se
kod procesora SLC5/03 i viih oni nalaze u ovoj rei za kanal broj 1, a u rei broj 33 (S:33)
za kanal 0.
Bi t S: 2/ 5, Bi t S: 33/ 0 - Incoming Command Pending - Status Ovaj bit se postavlja
kada procesor detektuje da neki drugi vor u mrei trai informaciju (read sa tog vora)
ili alje neku naredbu (write sa tog vora). Ovaj bit moe biti postavljen u bilo kom
trenutku, a resetuje se kada procesor izvri zahtev.
Bi t S: 2/ 6, Bi t S: 33/ 1 - Message Reply Pending - Status Ovaj bit se postavlja kada
je neki vor u mrei poslao informaciju koja je traena msg naredbom (read msg u
programu). Bit se resetuje kada procesor smesti informaciju u odreenu datoteku
(destination address) i aurira msg naredbu.
Bi t S: 2/ 7, Bi t S: 33/ 2 - Outgoing Message Command Pending - Status Ovaj bit se
postavlja kada su jedna ili vie msg naredbi aktivirane (istinit uslov u odgovarajuim
programskim rangovima), ali se sve nalaze u redu ekanja (ne vri se prenos
informacija u tom trenutku). im otpone prenos, bit se resetuje. Kada se prenos zavri,
bit se ponovo setuje ukoliko ima jo msg naredbi koje su u redu ekanja. U protivnom bit
ostaje resetovan.
U cilju upravljanja komunikacijom koriste se jo dva statusna bita
Bi t S: 2/ 15, Bi t S: 33/ 5 - Communication servicing selection bit Kada je ovaj bit
postavljen samo jedan komunikacioni zahtev (odlazei zahtev write, odgovor na msg
naredbu read, ili dolazei zahtev iz nekog vora) moe da se izvri u okviru jednog
sken ciklusa (END ili TND naredba oznaavaju kraj ciklusa) odnosno u okviru jedne
REF ili SVC naredbe. Kada je bit resetovan onda se opsluuju svi aktivni komunikacioni
zahtevi. Oigledno je da se resetovanjem ovog bita poveava komunikaciona propusna
mo. Meutim, i vreme skeniranja se takoe poveava ukoliko se vie komunikacionih
zahteva ili naredbi primi u okviru istog sken ciklusa.
Bi t S: 33/ 7 ( SLC5/ 02 i l i kanal 1), Bi t S: 33/ 6 (kanal 0) Message Servicing
Selection bit Ovaj bit je u funkciji samo ako je Communication servicing selection bit
resetovan (opsluuju se svi komunikacioni zahtevi). U tom sluaju, postavljanjem ovog
bita ograniava se broj opsluivanja odlazeih poruka (write ili read) na jedan zahtev po
jednom sken ciklusu (END ili TND), odnosno po jednoj REF ili SVC naredbi.

Pored statusnih bitova koji slue kao indikatori celokupne komunikacije, svaka
MSG naredba postavlja svoje indikatorske bitove koji se smetaju u gornji bajt rei broj 0
u upravljakom bloku. (Donji bajt rei 0 sadri kod za greku.)
PRIPREMA ZA PRENOS RED EKANJA I BAFER
EN - Enable bit (bit 15) postavlja se kada je u toku izvoenja programskog skena
uslov u rangu istinit i pri tome ima mesta za poruku bilo u redu ekanja bilo u baferu.
Ovaj bit oznaava da je poruka u redu ekanja i ostaje postavljen sve dok se ne izvri
prenos poruke i nakon toga uslov ne postane neistinit. Moe se resetovati kada DN bit ili
ER bit budu postavljeni. Time se omoguava da se, ukoliko je uslov u rangu istinit,
ponovi pokuaj izvravanja msg naredbe.
EW - Enabled and waiting bit (bit 10) postavlja se kada je EN bit postavljen i kada
ima mesta u baferu. Postavljanje ovog bita ukazuje da je poruka ula u bafer.
WQ Waiting for queue space (re 7, bit 0, kontroleri SLC5/3 i vii) postavlja se na 1
Com_naredbe/157

kada je red ekanja pun.
o EN=1 - kada pone izvravanje msg naredbe, informacija se stavlja u FIFO red
ekanja (ne sadri podatke koji uestvuju u prenosu, ve samo zaglavlje naredbe
sa pointerima). Ukoliko se radi o write msg naredbi, izvorni podaci nisu zatieni.
o EN=1 i EW=1 kada zahtev ispostavljen msg naredbom ue u bafer (koji
moe da sadri 4 naredbe). Bafer sadri kompletnu poruku sa pripadajuim
izvornim podacima (ako je u pitanju write msg naredba)
o WQ=1 kada je red (koji moe da sadri najvie 10 msg naredbi pun). Naredba
za koju je EN=1, a koja ne moe da ue u red ekanja e ui u red tek u nekom
sledeem sken ciklusu u kome u redu bude bilo mesta. (Ovo zahteva da se
obezbedi da uslov u rangu za to vreme ostane istinit)
Ukoliko se u toku jednog sken ciklusa konstantno aktivira vie msg naredbi nego
to red i bafer mogu da prime, redosled izvravanja naredbi zavisi od njihovog mesta u
leder programu. To znai da se moe oekivati da e msg naredbe koje se nalaze pri vrhu
programa regularno ulaziti u red ekanja, dok naredbe pri kraju programa mogu da nikada
ne uu u red.
INFORMACIJE O PRENOSU
DN - Done bit (bit 13) postavlja se kada je prenos izvren uspeno. DN bit se resetuje
kada se, posle uspeno izvrenog prenosa, uslov u rangu promeni sa neistinit na istinit.
ER - Error bi t (bi t 12) postavlja se kada prenos nije uspeno zavren. ER bit se
resetuje kada se, posle neuspeno izvrenog prenosa, uslov u rangu promeni sa
neistinit na istinit.
ST - St art bi t (bi t 14) postavlja se kada procesor primi ACK signal od odredinog
ureaja. Resetuje se kada je jedan od bitova DN, ER ili TO postavljen.
Kod kontrolera SLC5/05 u Eternet komunikaciji (kanal 1), ST bit interno ukazuje da je
primljena naredba i da treba pokuati prenos.
NR - No response bit (bit 09) postavlja se kada odredini ureaj ne odgovori na prvi
zahtev, odnosno kada odredini ureaj informie procesor da ne moe da obradi zahtev
(u skladu sa protokolima DH485 i DH+ mree). Bit se resetuje kade je jedan od bitova
DN, ER ili ST postavljen.
TO - Time out bit (bit 08) kada je postavljen ukazuje da aktivna MSG naredba treba
da bude uklonjena iz liste komunikacionih zahteva. Svrha ovog bita je da ukae
procesoru da nema vie smisla da se eka na zavretak prenosa, te da prenos treba
oznaiti kao neuspean. Kod kontrolera SLC5/02 ovaj bit se mora postaviti pomou
programske naredbe koju formira sam korisnik. Kod kontrolera SLC5/03 i viih, vrednost
intervala ekanja posle koga se postavlja TO bit se zadaje kao parametar. Interni
program se u tom sluaju stara o postavljanju ovog bita. (Ukoliko se ne eli korienje
internog programa, timeout parametar se postavlja na 0.)
CO Continuous operation (bit 11 SLC5/03 i vii) Kada je ovaj bit postavljen na 1
on predstavlja zahtev da se msg naredba kontinuirano izvrava. U tom sluaju, naredba
se neprekidno nalazi u jednom od bafera i stalno je aktivna ukoliko je uslov u rangu
istinit. Posle postavljanja DN bita, odmah zapoinje nova komunikacija, pri emu se,
ukoliko je u pitanju msg write naredba, izvorni podaci obnavljaju. Ukoliko se u toku
prenosa javi greka (ER bit se postavi na 1) pre nego to istekne tajmaut interval,
automatski e se pokuati sa novim prenosom i to e se ponavljati sve dok se ne obavi
uspean prenos. Ukoliko, meutim, istekne tajmaut interval, prenos se obustavlja i nee
biti nastavljen sve dok EN bit ne bude resetovan i ponovo setovan.
Ukoliko se eli ovaj tip komunikacije, uobiajeno je da se u rangu ne postavlja nikakav
uslov, ve da se komunikacijom upravlja preko tajmaut intervala. (Budui da postoje
Com_naredbe/158

samo etiri bafera izvesno je da CO bit moe da bude postavljen kod najvie etiri
naredbe).
8.2.6. IZVRAVANJE MESSAGE NAREDBE
Kada u toku izvoenja programskog skena uslov u rangu u kome se nalazi MSG
naredba postane istinit postavlja se EN bit (Sl. 8-18). Ovaj bit ostaje postavljen sve dok se
ne postavi jedan od sledeih bitova: DN (prenos uspeno izvren), ER (prenos neuspeno
okonan) ili TO (zahtev da se prenos okona kao neuspean). Istovremeno se ukoliko ima
mesta u baferu postavlja i EW bit koji ukazuje da je zahtev za prenos podataka sadran u
MSG naredbi stavljen u bafer. Ako u baferu nema mesta, zahtev se postavlja u red
ekanja, koji radi na FIFO principu. Pri tome, red ekanja se puni redom kako zahtevima
koje dolaze od msg naredbi u lokalnom ureaju (bit S:2/7), tako i zahtevima za
komunikaciju koji dolaze od drugih vorova u mrei (bit S:2/5). Konano, ako u redu
ekanja nema mesta postavlja se WQ bit.
Potrebno je zapaziti
da postavljanje EN bita ne
inicira prenos podataka.
Komunikacija e se obaviti
u housekeeping ciklusu.
Eventualno komunikacija
se moe obaviti u okviru
izvrenja SVC (Service
communication) naredbe ili
REF (Refresh) naredbe u
leder programu.
U housekeeping
ciklusu procesor ispituje
statusne bitove da bi
ustanovio da li je neki od
ranije zapoetih prenosa
zavren i da li ima jo
zahteva u redu ekanja i
na bazi njih odluuje ta e
da radi. Ukoliko je neka od
komunikacija zavrena,
procesor moe da servisira
odgovarajuu msg
naredbu (recimo smesti
primljene podatke). Pored toga, ako je neki
od bafera prazan, procesor moe da prebaci
naredbe iz reda ekanja u bafere. Broj
ovakvih servisiranja zavisi od bitova statusa.
Ako procesor zakljui da treba da
obavi komunikaciju on uzima zahtev iz reda
ekanja i formira paket (Sl. 8-19). Ako se
paket moe uspeno da formira on se stavlja
u predajni bafer. Pri tome ako je msg naredba
bila write u paket se ubacuju i podaci koji se
alju ka odredinom voru (target). Procesor
tada izlazi iz komunikacionog ciklusa, dok se
sam prenos podataka obavlja u pozadini,
paralelno sa regularnim sken ciklusom. Ako
paket ne moe da se formira, postavlja se
ER bit.
SL. 8-18 FORMIRANJE I OPSLUIVANJE REDA EKANJA
SL. 8-19 POSTUPAK FORMIRANJA I SLANJA
PAKETA
P
r
o
g
r
a
m
s
k
i

s
k
e
n
H
o
u
s
e
k
e
e
p
i
n
g
D
r
u
g
i

v
o
r
o
v
i

u

m
r
e

i
U

s
k
a
n
I

s
k
a
n
Com_naredbe/159

Pod uslovom da komunikaciona
veza i odredini vor ispravno
funkcioniu, on e primiti paket i poslati
ACK (acknowledgment) signal (Sl.
8-20). Ukoliko se na adresi vora ne
nalazi nikakav ureaj, ukoliko je paket
pri slanju pokvaren do mere da se ne
moe primiti ili ukoliko se odgovor vora
pokvari pri slanju procesor nee primiti
nikakav odgovor. Ako je odredini vor
suvie zauzet ili ako je primio pokvaren
paket on e poslati NAK (not
acknowledged) signal. (Procesor
odsustvo bilo kakvog signala tumai isto
kao i prijem NAK signala.) Potrebno je
zapaziti da ak i kada target vor
poalje ACK signal, on jo uvek nije
raspakovao paket da vidi da li razume zahtev.
Po prijemu ACK
signala procesor postavlja
ST bit i poinje da eka
odgovor od target vora
(Sl. 8-21). Za vreme dok je
ST bit postavljen
odgovarajui bafer je
zauzet. Budui da, u
principu, target vor nema
nikakvo ogranienje u
pogledu odgovora,
ekanje bi moglo da traje
neogranieno dugo. Da bi
se ovo spreilo, korisnik
ima mogunost da
programski definie neko
vreme ekanja i da po
isteku tog vremena postavi
TO bit. Sve dok je ST bit
postavljen, u svakom
hosekeeping ciklusu,
procesor testira TO bit.
Kad ustanovi da je TO bit
postavljen, procesor
prekida dalje ekanje
odgovora i javlja da je
dolo do greke u
prenosu.
Ukoliko, procesor
ne primi ACK signal on e
u sledeem programskom
skenu, kada naie na msg
naredbu, inicirati jo jedan pokuaj slanja paketa. Ukoliko i drugi pokuaj bude neuspean
prijavljuje se greka. NR bit slui kao interni broja za broj pokuaja slanja paketa (u
drugom prolazu kroz MSG naredbu on je 0, a u treem 1).
SL. 8-20 PRIJEM PAKETA I POTVRDA O PRIJEMU
SL. 8-21 ALGORITAM KOMUNIKACIJE U LOKALNOM VORU
Target vor
Prima paket
U funkciji? Ne
Da
Nema
odgovora
(NAK)
Paket ispravan? Ne
NAK
Da
ACK
Lokalni vor
ACK Da Ne (NAK)
EW = 0
ST = 1
S
k
e
n

c
i
k
l
u
s
i
EW = 0
NR = 1
NR = 0 Ne Da
Ponovi slanje
paketa
NR = 0
TO = 0
Ne
Da
ER = 1
ST = 0
eka
odgovor od
target
vora
(bafer
blokiran)
Odgovor
stigao?
Da
Ne
Da
DN = 1
ST = 0
(ako je MSG read
podaci se unose u
destination file)
EN = 0
(ako je uslov
neistinit)
Uspeh? Ne
P
r
o
g
r
a
m
s
k
i

s
k
e
n
H
o
u
s
e
k
e
e
p
i
n
g

c
i
k
l
u
s
sledei
ciklus po
prijemu
odgovra
P
r
o
g
r
a
m
s
k
i

s
k
e
n
Com_naredbe/160

Ukoliko target vor
uspeno primi paket on e
poslati odgovarajui odgovor (Sl.
8-22). Po prijemu odgovora, u
toku housekeeping ciklusa,
lokalni vor e analizirati
primljeni paket. Ako je paket
ispravan postavie se DN bit i
resetovati ST bit. Ako nije,
postavie se ER bit. Tek nakon
toga, u sledeem programskom
skenu, EN bit e biti resetovan
ukoliko je uslov neistinit. Ukoliko
je, meutim, uslov istinit
inicirae se novi prenos
podataka.
Napomenimo da se za procesore SLC5/03 i vie opisana procedura odvija
paralelno za sva etiri bafera po svakom od komunikacionih kanala. To znai da oni mogu
imati do osam istovremeno aktivnih msg prenosa.
Konano, Eternet komunikacija nema ACK/NAK mehanizam. Kod ove
komunikacije ST bit se postavlja kada Eternet komunikacioni podsistem interno signalizira
da je primio naredbu od procesora i da e je proslediti preko mree.
8.2.7. PRIMERI KORIENJA MESAGE NAREDBI
PR. 8-4 KOMUNIKACIJA DVA SLC KONTROLERA
ZADATAK
Kontroler SLC 5/02 vezan je za senzor temperature, kontroler SLC 5/01 obezbeuje
upravljaki signal za ventilator. Kontroleri komuniciraju preko mree DH 485. Za proveru
ispravnosti prenosa podataka koristi se interlock bit. U sluaju otkaza oba kontrolera prestaju sa
radom.
REENJE
ematski prikaz sistema
dat je na (Sl. 8-23). Budui da oba
kontrolera imaju samo kanal 0, oni
se vezuju u DH485 mreu preko
AIC interfejsa.
Senzor temperature
spregnut je preko prekidaa
osetljivog na temperaturu sa
ulaznim modulom kontrolera SLC
5/02 na pinu ija je adresa I:1/0.
Ovaj senzor upravlja radom
ventilatora koji je prikaen preko
izlaznog modula kontrolera SLC
5/01 na adresi O:1/0. Perioda
odabiranja je 1280 ms. Ventilator
radi (izlazni bit 1) ako je
temperatura prela neku
odreenu granicu (ulazni bit 1).
Za prenoenje podatka o temperaturi u kontroler SLC 5/01 koristi se izvorna datoteka
(source file) u kontroleru SLC 5/02 koja sadri samo jedan elemenat i njena adresa je N7:0. Ova
informacija se smeta u kontroleru SLC 5/01 u datoteci N7:0.
Informacija koja se prenosi iz kontrolera SLC 5/02 u kontroler SLC 5/01 (write naredba)
organizovana je tako da nulti bit N7:0/0 izvorne datoteke predstavlja interlock bit dok prvi bit N7:0/1
predstavlja indikator temperature (Sl. 8-24). Identino je organizovana i izvorna datoteka koja se iz
kontrolera SLC 5/01 prenosi u kontroler SLC 5/02 (read naredba).
SL. 8-22 MOGUI ODGOVORI TARGET VORA
SL. 8-23 SPREGA SENZORA I VENTILATORA
SLC 5/02
A
I
C
A
I
C
SLC 5/01
Cvor 0
Cvor 1
DH485
I:1/0
O:1/0
1 - On
0 - Off
Com_naredbe/161

Kontrola ispravnosti
prenosa vri se tako to se
interlock bit u kontroleru
SLC 5/02 postavlja na 1 i
prenosi u SLC 5/01. Zatim
ga SLC 5/01 resetuje, tako
da se pri oitavanju taj bit
vraa sa vrednou 0. SLC
5/02 proverava vrednost
ovog bita i ukoliko on nije
resetovan u roku od 4
sekunde prijavljuje se
greka u komunikaciji. U
tom sluaju kontroler iji
asovnik odbroji 4 sekunde
pali signalnu lampu koja je vezana za digitalni izlaz (O:1/0 za SLC5/02, i O:1/1 za SLC5/01).
U skladu sa izloenim re N7:0
treba da ima vrednost 1 ili 3 za vreme
izvravanja write naredbe, a 0 ili 2 za
vreme izvravanja read naredbe.
Za kontrolu vremena odabiranja
koristi se interni asovnik koji je
smeten u datoteci stanja na adresi
S:4/0. Vrednost ovog registra se
postavlja na nulu pri putanju kontrolera
u rad. Prvih osam bitova ovog registra
(S:4/0 do S:4/7) menjaju se sa uestanostima od 20, 40, 80, 160, 320, 640, 1280, i 2560 ms (Sl.
8-25). Pri tome u prvoj polovini ciklusa bit ima
vrednost 1, a drugoj polovini 0 (Sl. 8-26). To znai da
je za tano praenje promene bita neophodno da se
njegova vrednost oitava sa uestanou koja je
neto manja od polovine odgovarajue periode.
Indikator prvog prolaza kroz program je bit
S:1/15, koji poetno ima vrednost 1, a zatim se
resetuje na nulu.


Kontroler SLC5/01 Kontroler SLC5/02




Konfiguracija kontrolera prikazana je na Sl. 8-27, a definisani upravljaki blokovi za
message naredbe u kontroleru SLC5/02 na Sl. 8-28. odgovarajui programi prikazani su na Sl.
SL. 8-24 DATOTEKA KOJA SE PRENOSI
SL. 8-25 INTERNI ASOVNIK
SL. 8-26 SIGNAL KOJI GENERIE INTERNI
ASOVNIK
SL. 8-27 KONFIGURACIJA KONTROLERA ZA KOMUNIKACIJU PREKO DH485 MREE
Com_naredbe/162

8-29 i Sl. 8-30.




SL. 8-28 KONTROLER SLC5/02 MSG UPRAVLJAKI BLOKOVI
SL. 8-29 LEDER PROGRAM ZA KONTROLER SLC 5/01



Com_naredbe/163

Com_naredbe/164


PR. 8-5 KORIENJE TAJMAUT INTERVALA
ZADATAK
Napisati leder program koji omogu
kontrolnu sijalicu ako se komunikacija ne uspostavi. Svaki pokuaj tra
REENJE
Ako se ovaj zadatak realizuje pomo
koristi asovnik koji e postavljati TO bit posle isteka intervala od 2 sekunde. Postavljanjem ovog
bita, prenos se prekida.
Meutim, ako se koristi kon
moe definisati dozvoljeni interval
vremena istekne.
U oba sluaja, poto se eli odmah ponoviti prenos, mora se resetovati up
Naime, msg naredba e resetovati upravlja
dok je u ovom sluaju uslov u rangu stalno istinit.

Kontroler SLC5/02 - upravljaki blok

SL
SL. 8-31 UPRAVLJA

TERVALA
Napisati leder program koji omoguava pet sukcesivnih pokuaja prenosa poruke i pali
kontrolnu sijalicu ako se komunikacija ne uspostavi. Svaki pokuaj traje 2 sekunde.
Ako se ovaj zadatak realizuje pomou kontrolera SLC5/02, onda je neophodno da se
e postavljati TO bit posle isteka intervala od 2 sekunde. Postavljanjem ovog
utim, ako se koristi kontroler SLC5/03 ili vii, onda se u okviru definicije
moe definisati dozvoljeni interval ekanja, pa e se prenos automatski prekidati kada taj interval
aja, poto se eli odmah ponoviti prenos, mora se resetovati up
e resetovati upravljake bitove tek pri sledeem prelazu sa istinit na neistinit,
aju uslov u rangu stalno istinit.
ki blok i odgovarajui program prikazani su na Sl. 8-
L. 8-30 LEDER PROGRAM ZA KONTROLER SLC 5/02
PRAVLJAKI BLOK ZA MESSAGE NAREDBU U KONTROLERU

ava pet sukcesivnih pokuaja prenosa poruke i pali
je 2 sekunde.
u kontrolera SLC5/02, onda je neophodno da se
e postavljati TO bit posle isteka intervala od 2 sekunde. Postavljanjem ovog
troler SLC5/03 ili vii, onda se u okviru definicije msg naredbe
e se prenos automatski prekidati kada taj interval
aja, poto se eli odmah ponoviti prenos, mora se resetovati upravljaka re.
em prelazu sa istinit na neistinit,
-31 i Sl. 8-32.

KONTROLERU SLC 5/02

SL. 88-32 LEDER PROGRAM ZA KONTROLER SLC 5/02
Com_naredbe/165


Com_naredbe/166

Kontroler SLC5/03 upravljaki blok
SL. 8-33 UPRAV
SL
ki blok i odgovarajui program prikazani su na Sl. 8-33

PRAVLJAKI BLOK ZA MESSAGE NAREDBU U KONTROLERU
L. 8-34 LEDER PROGRAM ZA KONTROLER SLC 5/03
33 I Sl. 8-34.


KONTROLERU SLC 5/03
Com_SLC/167

9. KOMUNIKACIJA SLC-A
9.1. KONFIGURISANJE KOMUNIKACIONIH KANALA SLC KONTROLERA
Sa gledita savremene primene PLCova u industriji nemogue je zamisliti
izolovani PLC koji bi obavljao neku funkciju. Kontroleri su, naime, uvek deo nekog
decentralizovanog hijerarhijski organizovanog sistema. Oni se nalaze u mrei i po prirodi
stvari moraju meusobno razmenjivati itav niz informacija. U skladu sa time neophodno
je da svaki kontroler ima mogunost prikljuivanja na jedan ili vie tipova industrijske
mree i da je u stanju da komunicira na toj mrei u skladu sa datim protokolom.
Kontroleri iz familije SLC podravaju sledee komunikacione protokole:
DH-485 - multi-master mrea sa rotirajuim etonom koja moe da podri do 32 vora.
Protokolom je omogueno
o da se sa jedne lokacije (jednog vora u mrei u kome se nalazi neki PC) prate
podaci i stanje procesora bilo kog kontrolera u mrei. Istovremeno se sa te
lokacije moe izvriti i prenoenje programa (up-load i down-load) iz bilo kog
kontrolera
o komunikacija izmeu dva kontrolera (peer-to-peer)
o pristup bilo kom kontroleru u mrei pomou operatorskog terminala koji se
nalazi u istoj mrei.
DH+ - ovaj protokol je slian protokolu DH-485. Jedina razlika je u tome to podrava
do 64 vorova i radi sa veim brzinama prenosa
Et hernet pored opcija koje podravaju protokoli DH-485 i DH+ ovaj protokol
omoguava
o podrku SNMP za upravljanje Eternet mreom
o dinamiku konfiguraciju IP adresa pomou BOOTP opcije
o slanje kompletnih korisnikih datoteka podataka u okviru jedne poruke
o neogranien broj vorova u mrei
o maksimalno 16 istovremeno otvorenih prenosa poruka (4 dolazee, 4
odlazee i 8 bilo dolazeih, bilo odlazeih poruka)
DF1 Puni-dupleks (DF1 point-to-point) protokol - omoguava istovremenu dvosmernu
komunikaciju dva ureaja. Ovaj protokol se koristi za prenos informacija uz pomo
modema, kao i za komunikaciju AB proizvoda sa proizvodima drugih kompanija
DF1 Polu-dupleks (Master i Slave) protokol - omoguava realizaciju mree sa
viestrukim emitovanjem (multi-drop single master/multiple slave) koja moe imati
najvie 255 vorova. Pored toga on podrava i komunikaciju uz pomo modema. Multi-
drop karakter mree ini ga veoma pogodnim za SCADA aplikacije.
ASCI I prot okol - omoguava povezivanje kontrolera sa drugim ASCII ureajima kao
to su itai bar-kodova, serijski tampai itd.

Kontroleri SLC 5/01 i SLC 5/02 imaju samo jedan komunikacioni kanal (Kanal 1)
koji je prilagoen mrei DH-485 i to SLC 5/01 kao responder, a SLC 5/02 i kao inicijator
komunikacije i kao responder.
Kontroleri SLC 5/03, SLC 5/04 i SLC 5/05 imaju raznovrsnije komunikacione
opcije. Oba kontrolera imaju dva komunikaciona kanala:
Kanal 0 ( RS-232) - koji se moe povezati direktno na RS-232 komunikaciju (veza
taka na taku) i konfigurisati tako da podrava DF1 ili ASCII protokol, ili na DH-485
mreu preko posebnog modula za prilagoenje (PIC).
Com_SLC/168

Kanal 1: DH-485 za SLC/03, DH+ za SLC/04 i Ethernet za SLC/05.

Mrea se konfigurie programski na isti nain
na koji se specificiraju ostale karakteristike
kontrolera. Ovo se postie izborom opcije Channel
Configuration u meniju (Sl. 9-1), kojom se otvara
prozor za konfiguraciju kanala.
Oni kontroleri koji imaju dva kanala mogu da
budu vorovi u dve razliite mree. Samo se po sebi
razume da je u tom sluaju neophodno da se
konfiguriu protokoli za oba kanala.
9.1.1. KONFIGURACIJA KANALA 0
Postoji posebna specifinost vezana za
konfiguraciju kanala 0. Naime, ako on nije
konfigurisan da radi u DH485 mrei, onda je njegov
drajver odreen statusom u kome se kontroler nalazi.
Pri tome kontroler moe biti u
Syst em mode komunikacija se obavlja preko
DF1 protokola
User mode komunikacija se obavlja preko ASCII protokola.
Informacija o stanju u kome se nalazi kanal 0 pamti se u statusnom registru na
adresi S:33/3. Pri tome vai
S: 33/ 3=1 kanal 0 - system mode (DF1)
S: 33/ 3=0 kanal 0 - user mode (ASCII)
U principu ova informacija se definie prilikom konfigurisanja mree. Meutim,
postoji mogunost da se ona i
dinamiki menja, tako da isti
vor moe da u nekom periodu
vremena koristi jedan, a u
nekom periodu drugi protokol.
Ovo se postie u okviru menija
za konfiguraciju u kome pod
stavkom Channel 0 (SL. 9-2),
postoje sledee opcije.
Mode inicijalni izbor
naina komunikacije preko
kanala 0 (system ili user)
Mode Change Enabl ed
odabiranjem ove opcije
omoguava se promena
naina komunikacije u toku
rada kontrolera. Promena se
vri prijemom
odgovarajueg karaktera sa
nekog spoljnjeg ureaja
Mode At t ent i on Char act er specifikacija karaktera koji e procesoru da ukae da
sledei karakter koji se primi ima znaenje zahteva za promenom naina rada. Karakter
moe biti bilo koja heksadecimalna konstanta ili ASCII karakter. Default vrednost je \1b
(Esc)
SL. 9-1 OTVARANJE MENIJA ZA
KONFIGURISANJE MREE
SL. 9-2 MENI "GENERAL" ZA KONFIGURISANJE MREE
Com_SLC/169

Syst em Mode Charact er ovaj karakter sledi Mode Attention Character i ukazuje
procesoru da treba da pree u system mode. Karakter moe biti bilo koja
heksadecimalna konstanta ili ASCII karakter. Default vrednost je S.
User Mode Char act er - ovaj karakter sledi Mode Attention Character i ukazuje
procesoru da treba da pree u user mode. Karakter moe biti bilo koja heksadecimalna
konstanta ili ASCII karakter. Default vrednost je U.
9.1.2. OPTE SPECIFIKACIJE MREE
Nezavisno od tipa mree, neophodno je da se u okviru konfigurisanja kanala
definie niz zajednikih parametara, to se postie izborom opcije General (SL. 9-2).
Parametri koje je potrebno definisati u okviru ovog menija imaju sledee znaenje.
Driver informacija o specificiranom drajveru (odnosno tipu mree) za odgovarajui kanal
Wr i t e pr ot ect ed ukoliko se izabere ova opcija upisivanje podataka preko tog kanala nije
dozvoljeno.
Potrebno je obratiti panju da se, ukoliko je ovaj kanal jedini korieni komunikacioni kanal, ovom
opcijom moe u potpunosti blokirati svaka eventualna budua promena programa, jer upisivanje
preko njega vie nee biti dozvoljeno
Passt hr u Li nk I D ( dec) identifikator eventualnog "bridge-a" koji omoguava razmenu poruka
izmeu dve mree. Parametar je decimalni broj izmeu 1 i 16. Default vrednost je 1 za kanal 0 i 2
za kanal 1. (Kasnije e biti vie rei o ovoj opciji.)
Edi t Resour ce/ Owner Ti meout period vremena posle koga se prekida komunikacija,
odnosno obustavljaju pokuaji da se poalje poruka. Dozvoljeni vremenski interval je izmeu 1 i
16535. Automatski se postavlja na 60 (default vrednost).
Di agnost i c Fi l e parametar koji definie broj korisnike celobrojne datoteke podataka (izmeu
9 i 255) koja se koristi za smetanje informacija o toku komunikacija. (Ovu opciju imaju samo
neki kontroleri 03 i svi kontroleri 04 i 05). Ukoliko se kao broj datoteke postavi 0, to znai da se
ne eli konfigurisanje ove datoteke.
Dijagnostika datoteka je "read-only" tipa. To znai da se datoteka moe resetovati samo
pomou posebne naredbe - Clear Diagnostic Counters PCCC naredba.
Preduslov za dobijanje informacije o statusu kanala je da odgovarajua dijagnostika datoteka
bude definisana.

9.2. DH-485 MREA
Ova mrea moe da podri komunikaciju 32 ureaja na rastojanju od 1219m.
Mrea je zasnovana na RS 485 standardu nad kojim je nadgraen Allen Bradley protokol,
koji ukljuuje token ring (IEEE 802.5) standard.
DH485 protokol podrava dve klase ureaja: inicijatore (initiator) i odazivae
(responder). Svi inicijatori na mrei dobijaju priliku da iniciraju prenos poruke. Pravo
inicijatoru da emituje poruku dodeljuje se pomou token algoritma.
Svi kontroleri iz SLC familije mogu da se poveu na DH-485 mreu, s tim to samo
kontroleri u klasama od SLC5/02-05 mogu da rade i kao inicijatori i kao responderi.
Preostali kontroleri su samo
responderi. Pored toga, PC
raunari, runi terminali i jo
neki drugi ureaji mogu da
se poveu na mreu kao
inicijatori.
Veza sa mreom se
uspostavlja preko posebnog
modula AIC (Advanced
Interface Converter i Isolated
link coupler), koji se vezuje
direktno za DH485 port. Oni
ureaji koji nemaju DH485 port vezuju se za AIC modul preko posebnih modula kao to
SL. 9-3 VEZIVANJE UREAJA U DH485 MREU
Com_SLC/170

su PIC (Personal interface converter), BAS (Basic module) ili NET AIC (Advanced
Interface Converter AIC+) itd (SL. 9-3).
vor koji poseduje eton (token) ima pravo da poalje bilo koju validnu poruku.
Svakom voru kad dobije eton dozvoljava se slanje odreenog broja paketa. Ukupni broj
emitovanja (zajedno sa ponovnim pokuajima ukoliko emisija nije bila uspena) definie
se pomou posebnog parametra (Token hold parameter). Kada vor zavri emisiju, on
alje tocken pass packet koji treba da primi njegov sukcesor. Ukoliko posle toga ne doe
do aktivnosti na mrei, to znai da sukcesor nije primio eton, inicijator alje jo jedan
paket. Posle dva neuspena pokuaja inicijator pokuava da pronae sledeeg
sukcesora.
Maksimalna adresa koju e inicijator traiti pre nego to ponovo pone od nultog
vora je vrednost parametra maximum node adress. Ovo je konfigurabilni parametar (od
0 do 31). Dozvoljene adrese respondera su od 1 do 31. Oigledno je da ova mrea moe
da funkcionie ukoliko se u njoj nalazi bar jedan inicijator.
Kontroleri SLC tipa ne mogu imati adresu 0. Nulti vor rezervisan je za operatorski
terminal ili PC na kome se programira kontroler. U skladu sa time dozvoljene adrese
vorova u kojima se nalaze SLC kontroleri su od 1 do 31.
Inicijalizacija mree zapoinje kada period neaktivnosti postane vei od parametra
link dead timeout. U tom
trenutku inicijator koji ima
najmanju adresu uzima eton.
Formiranje mree zapoinje
kada inicijator koji je prvi uzeo
eton pokua da ga poalje
svom sukcesoru. Ovaj proces se
nastavlja sve dok eton ne
napravi pun krug i vrati se do
prvog inicijatora. U tom trenutku
mrea je u stanju normalnog
rada.
Konfigurisanje kontrolera
koji se nalazi u jednom voru
mree zapoinje izborom kanala
(0 ili 1) preko koga se vezuje
mrea. Konfiguracija se
realizuje uz pomo menija (Sl.
9-4) koji je na raspolaganju
kada se pozove opcija Chanel configuration. U okviru tog menija definiu se sledei
parametri.
Max. Node Adr ess ovaj parametar definie najveu adresu koju e mrea traiti kao
inicijatora, pre nego to token krene ponovo od adrese nula. U principu, to je ovaj broj manji to
je brzina vea, ali se kasnije novi ureaji ne mogu dodati na mreu na adrese koje su vee od
ovog parametra. Ovaj broj direktno utie na prenos podataka izmeu vorova. Naime, budui da
mrea radi na token-ring principu neophodno je eliminisati sve suvine vorove. Maksimalni
dozvoljeni broj vorova je 32.
Node Adr ess - adresa vora u kome se nalazi kontroler koji se konfigurie. Najbolja
performansa mrea dobija se ako adrese poinju od nule i reaju se sekvencijalno. (Kontroleri
SLC 500, ne mogu imati adresu 0).
Baud r at e brzina prenosa. Svi ureaji moraju biti konfigurisani za istu brzinu. Najbolja
performansa je na najveoj brzini od 19,200.
Token hol d f act or odreuje broj transakcija (izmeu 1 i 4) koje vor moe da izvri pre nego
to preda eton. U principu vei broj transakcija poveava propusnu mo kontrolera u tom voru,
ali smanjuje propusnu mo ostalih vorova u mrei.


SL. 9-4 KONFIGURISANJE DH485 MREE
Com_SLC/171

Informacije o
rezultatima komunikacije
dobijaju se iz datoteke
stanja (SL. 9-5), izborom
odgovarajueg menija.
Kao to se vidi
informacije se sastoje od
broja ponavljanja
razliitih situacija koje
mogu nastati pri slanju
poruke.



9.3. DH+ MREA
DH+ (Data Highway Plus) koristi peer-to-peer komunikaciju sa rotirajuim etonom
(token-passing) kojim se dodeljuje upravljanje komunikacijom pojedinim vorovima.
Budui da se ovom tehnikom komunikacije izbegava prozivanje vorova (polling) ona
obezbeuje pouzdan i efikasan prenos podataka. Mogue brzine prenosa su 57.6K baud,
115.2K baud, or 230.4K baud.
DH+ mrea se koristi za udaljeno programiranje kontrolera koji imaju DH+
prikljuak (PLC-2, PLC-3 i PLC-5), za direktno povezivanje kontrolera PLC-5 i industrijskih
terminala.
U sluaju da se eton izgubi, zbog kvara u nekom voru, mrea koristi fabriki
definisan tajmaut interval za ponovno otpoinjanje rotiranja etona.
Ova mree se konfigurie na isti nain na koji se to radi i sa DH485 mreom.
Jedina razlika se sastoji u tome to se kao kanal 1, kod procesora SLC-5/04 kao opcija za
tip mree unosi DH+.
Razlika postoji i u podacima koji se dobijaju u dijagnostikoj datoteci (SL. 9-6).
Informacije koje se dobijaju iz prva tri prozora koja se odnose na prenos poruka,
kao i prenos podataka sa potvrdom (SDA Senda Data with Acknowledgement), odnosno
bez potvrde (SDN-Send Data with Negative-Acknowledgement), su samorazumljive.
Potrebno je samo istai da skraenica SAP oznaava Service Access Point, koji iz nekog
razloga moe biti iskljuen.
Da bi se jasnije sagledale opte informacije neophodno je da se detaljnije razmotri
nain rada mree. Ukoliko na mrei nema saobraaja (network dead), to znai da
nijedan vor ne poseduje eton (npr vor koji je imao eton je iz nekog razloga iskljuen),
tada se inicira proces traenja etona (claim token sequnce). Od svih vorova koji su
ukljueni u traenje, eton dobija vor sa najmanjom adresom. (Informacije o tome koliko
puta je vor dobio ili nije dobio eton pamte se kao claim won, odnosno claim lost).
Svaki vor poseduje listu aktivnih vorova koji mogu da upravljaju komunikacijom,
odnosno koji oekuju da u nekom trenutku dobiju eton. Kada vor koji ima eton zavri
komunikaciju on pokuava da prosledi eton sledeem voru koji se nalazi u listi aktivnih
vorova. Pri tome se moe dogoditi da je u meuvremenu u mreu dodat vor ija se
adresa nalazi izmeu adrese vora koji ima eton i adrese vora koji treba da ga dobije. U
tom sluaju, vor koji poseduje eton, registruje ukljuivanje novog vora (New
Successor) i njemu prosleuje eton.
vor koji poalje eton proverava da li ga je sledei vor primio. Ukoliko nije, vor
ponavlja slanje etona (Token Retry). Ako i posle ponovnog pokuaja naredni vor ne
primi eton (Token Failed), on se alje sledeem voru u listi aktivnih vorova. Ako
nijedan od vorova ne primi eton, vor koji poseduje eton inicira skeniranje svih vorova
u mrei (Started Linear Scan) pokuavajui da nae neki koji e primiti eton. U koliko u
tome ne uspe (Linear Scane Failed), vor e ponovo aktivirati sken ciklus.
SL. 9-5 INFORMACIJE KOJE SE DOBIJAJU IZ DIJAGNOSTIKE DATOTEKE
DH485 MREE
Com_SLC/172





U toku rada mree moe se desiti da neki vor primi detektuje istu adresu kao to
je njegova (Duplicate Address). To znai da se radi o neispravnom odgovoru na neku
poruku. Ova situacija moe nastati kada vor primi odgovor od vora sa kojim nije
uspostavio komunikaciju. U tom sluaju on pretpostavlja da ta poruka nije namenjena
njemu, ve nekom drugom voru koji ima istu adresu kao i on, pa se zato deaktivira
(Dropped Token).
SL. 9-6 INFORMACIJE KOJE SE DOBIJAJU IZ DIJAGNOSTIKE DATOTEKE DH+ MREE
Com_SLC/173

vor, koji se iskljuio sa mree, se moe vratiti u mreu samo nakon pozivanja.
Naime, u toku slanja etona ispituju se sve stanice koje nisu aktivne na mrei da bi se
utvrdilo da li neka od njih treba da postane aktivna. Ovaj postupak se odvija sekvencijalno
i to tako to se pri svakom slanju etona ispituje po jedna stanica. Prozvana stanica se
moe ukljuiti u mreu. Kada se na ovaj nain ispitaju sve stanice, zavrena je jedna
rotacija (Solicit Rotation) i moe da zapone druga.
GLOBAL STATUS WORD AND FILE
U toku slanja etona procesor moe da alje i global status word (GSW) koji
primaju svi vorovi u mrei. Ova re se nalazi u datoteci statusa na adresi S:99 i moe da
slui za prenoenje informacija o statusu kao i za sinhrnoizaciju.
Svaki procesor ima jednu tabelu (global status file) koja zauzima 64 rei u datoteci
statusa (adrese od S:100 do S:163). Na ovim lokacijama se smetaju GSW koje alju
pojedini vorovi u mrei.
Slanjem i primanjem GSWa se upravlja pomou dva bita u datoteci statusa. Ako je
bit na adresi S:34/3 (GSW transmit enable bit) postavljen na 1, procesor e zajedno sa
eton slati i svoj GSW. Ukoliko je bit S:43/4 (GSW receive enable bit) postavljen na 1
procesor e pri svakom prolasku etona primiti GSW koji je poslao vor koji alje eton i
smestiti tu informaciju na odgovarajuu adresu u tabeli.

9.4. ETERNET MREA
Kao to je ve reeno, SLC 5/05 podrava Eternet komunikacuju preko kanala 1.
Pri tome se vezivanje kontrolera na lokalnu mreu ostvaruje preko ugraenog konektora
koji odgovara standardu ISO/IEC 8802-3 STD 802.3 i korsiti 10 Mbps parice 10Base-T
(parice 10 Mbps). Ovaj konektor se preko odgovarajuih konvertora, habova ili prekidaa
moe povezati na :
optiki kabl
irokopojsne veze
koaksijalni kabl (10Base-5 i 10Base-2)
parice (100 Mbps 100Base-T i 1000Mbps 1000Base-T)
Performansa procesora zavisi od veliine i uestanosti Eternet poruka,
optereenja lokalne mree, kao i performanse korisnikog programa koji je implementiran
u procesoru. Procesor koristi TCP/IP protokol za uspostavljanje sesija i slanje poruka.
9.4.1. KONFIGURACIJA ETERNET MREE
Konfiguracija kontrolera koji je vor u Eternet mrei moe da se ostvari pomou
BOOTP zahteva u toku podizanja kontrolera ili postavljanjem parametara za konfiguraciju
pomou RSLogix 500 softvera.
Ukoliko se mrea konfigurie pomou softvera, pored standardnih parametara
(write protected, passthru link, timeout i diagnostic file) koji se definiu na isti nain kao i
kod mrea DH485 i DH+, Eternet mrea zahteva i definisanje specifinih parametara (SL.
9-7). Pored uobiajenih parametara namenjenih TCP/IP protokolu, i perioda ekanja
(tajmaut) na uspostavljanje komunikacije, definiu se i
DHRI O Li nk I D je veza specificirana za taj kontroler u 1756-DHRIO modulu pomou koga se
uspostavlja komunikacaja sa nekim DH+ ureajem
Pass Thr u r out i ng t abl e f i l e celobrojna datoteka (N) rednog broja od 9 do255 u koju se
smeta najvie 128 IP adresa. Ovim adresama se moe pristupiti preko ureaja koji su povezani
na kanal 0 i koriste ili DF1 puni dupleks ili DH485 protokol.

BOOTP je standardni protokol koji TCP/IP vorovi koriste pri podizanju mree. Pri
ukljuivanju kontrolera koji je povezan na Eternet mreu on, po pravilu, alje zahtev za
BOOTP koji omoguava dinamiko dodeljivanje adresa. Pri tome se podrazumeva da na
Com_SLC/174

lokalnoj Eternet mrei postoji
BOOTP server, odnosno
raunar koji ima odgovarajui
softver pomou koga oitava
tekstualnu datoteku koja sadri
informacije o pojedinim
vorovima na mrei. Opcija
BOOTP se moe ukljuiti ili
iskljuiti postavljanjem
odgovarajueg signala u meniju
za konfiguraciju mree.
Tekstualna datoteka
BOOTPTAB (Windows based
BOOTP) se nalazi i
C:\ABIC\BIN katalogu . Ona
sadri sledee dve linije koda
koje se popunjavaju za svaki od
kontrolera koji se prikljuuje na
mreu.
#Default string for each type of Ethernet client defaults5E: ht=1:vm=rfc1048
plc5name: tc=defaults5E:ip=aa.bb.cc.dd:ha=0000BC1Dxxyy

PR. 9-1
Pretpostavimo da se eli formirati mrea sa 3 kontrolera kao to je to prikazano na slici.
Neka su adrese kontrolera definisane na sledei nain


U tom sluaju odgovarajua BOOTPTAB datoteka ima sledei izgled

Sl. 9-7 Meni za konfiguraciju Eternet komunikacije
Com_SLC/175


PR. 9-2
Posmatra se konfiguracija mree prikazane na slici.


Odgovarajue tekstualne datoteke su





Com_SLC/176

9.4.2. DIJAGNOSTIKA DATOTEKA
Informacije koje se dobijaju u dijagnostikoj datoteci prikazuju se u odgovarajuim
prozorima (SL. 9-8).



9.5. RS-232 INTERFEJS
RS-232 je komunikacioni
interfejs koji omoguava komunikaciju
na veim rastojanjima. On podrava
komunikaciju do 19.2 Kbaud-a na
rastojanjima izmeu ureaja koja su
manja od 15.24 m. Osnovna
karakteristika ovog interfejsa je da on
omoguava integraciju telefonskih i
radio modema. Na taj nain, ova mrea
moe da pokrije praktino neogranieno
SL. 9-8 INFORMACIJE KOJE SE DOBIJAJU IZ DIJAGNOSTIKE DATOTEKE ETHERNET MREE
PIN PIN NAME
1 DCD DATA CARRIER DETECT
2 RXD RECEIVE DATA
3 TXD TRANSMIT DATA
4 DTR DATA TERMINAL READY
5 COM COMMON RETURN [SIGNAL GROUND]
6 DSR DATA SET READY
7 RTS REQUEST TO SEND
8 CTS CLEAR TO SEND
9 NC NO CONNECTION
SL. 9-9 RASPORED PINOVA NA RS-232 PORTU
Com_SLC/177

rastojanje.
RS-232 komunikacioni port kod SLC kontrolera je kanal 0. To je 9-to pinsko D-
jezgro iji je opis pinova dat na SL. 9-9. Razmena podataka izmeu dva ureaja preko
RS-232 interfejsa obavlja se preko linije prijema podataka (RDX receive data line) i
linije slanja podataka (TXD transmit data line). Preostali signali slue za eventualno
upravljanje prenosom podataka
DTR ( Dat a t er mi nal r eady) izlazni signal koji ukazuje da je ureaj spreman za rad.
DSR ( Dat a set r eady) ulazni signal koji ukazuje da je ureaj sa kojim se komunicira
spreman za rad
RTS ( Request t o send) izlazni signal koji ukazuje da ureaj eli da poalje poruku.
CTS ( Cl ear t o send) ulazni signal koji i koji oznaava da je ureaj sa kojim se komunicira
spreman da primi poruku. (Ovaj signal se javlja kao odgovor na RTS signal).
DCD ( Dat a car r i er det ect ) signal se koristi samo u komunikaciji pomou modema.
U principu RS232 komunikacija omoguava dve vrste prenosa podataka
Prenos bez kontrole komunikacije "No handshake" u okviru koga se prenos
podataka obavlja bez ikakve provere da li je on uistinu i obavljen. Otuda se u ovom
prenosu koriste samo RXD i TDX signali. DTR je uvek aktivan i RTS je uvek neaktivan.
Predaja i prijem se odvijaju nezavisno od stanja DSR, CTS ili DCD signala. Ova
specifikacija se koristi kada su SLC ovi direktno vezani na druge ureaje.
Prenos sa kontrolom komunikacije "Handshake" u okviru koga se proverava da li je
ureaj spreman da primi podatke, te se prenos obavlja samo ako je izvesno da se
komunikacija moe ostvariti. U cilju realizacije ove vrste prenosa koriste se upravljaki
signali RS232 porta.
Samo se po sebi razume da e nain vezivanja ureaja zavisiti od toga koji se tip
prenosa eli, odnosno od toga da li e se vezivati i linije koje prenose upravljake signale.
Kao to se vidi (Sl. 9-10) osnovni princip vezivanja je sastoji se u spajanju odgovarajuih
ulaznih i izlaznih signala na portovima oba ureaja.
KOMUNIKACIJA SA HANDSHAKE-OM KOMUNIKACIJA BEZ HANDSHAKE-A

Ureaji koji ne podravaju RS-232 direktno mogu se vezivati na ovu komunikaciju
preko specijalnih interfejs modula.
DH- 485/ RS- 232 Inerface module (KE) "bridge" izmeu DH-485 mree i ureaja koji koriste
DF1 protokol
DH- 485 Communication interface (KF3) - slui kao veza RS-232 komunikacije sa DH-485
mreom. Naime, PC raunar komunicira sa ovim modulom preko DF1 protkola. Sa druge
strane, ovaj modul je jedan od vorova DH-485 mree, pa se preko njega ostvaruje
komunikacija sa ostalim vorovima u mrei.
BASI C modul e ( BAS) ima dva konfigurabilna serijska porta za interfejs sa PC
raunarima, tampaim, modemima i drugim RS-232 ureajima. Pored toga ovaj modul ima i
jedan DH-485 port. Module se programira pomou jezika BASIC.

SL. 9-10 VEZIVANJE SLC KONTROLERA SA DRUGIM SLC KONTROLEROM, PC RAUNAROM ILI ASCII
UREAJEM PREKO RS232 PORTA
Com_SLC/178

RS-232 interfejs podrava dva tipa serijskih komunikacionih protokola: DF1 i
ASCII.
DF1 protokol obavlja razgranienje poruka, kontrolie njihov prenos, detektuje
greke i ponovo pokuava prenos ukoliko se utvrdi da je dolo do greke. On pripada
klasi "peer-to-peer" link-layer protokolu, to znai da svi ureaji imaju ravnopravni pristup
porukama koje se alju preko RS-232 komunikacionog interfejsa. Takoe, ovaj protokol
omoguava transparentnost podataka i simultani prenos u oba smera sa ugraenim
odgovorom (F1). U okviru ovog protokola SLC kontroleri podravaju puni i poludupleks
prenos, vezu sa DH485 mreom, i komunikaciju preko radio modema.
9.6. DF1 PUNI DUPLEKS PROTOKOL (POINT-TO-POINT)
Ovaj protokol podrava simultani
prenos podataka izmeu dva ureaja u oba
smera (point-to-point protokol, Sl. 9-11).
Kanal nula koji je konfigurisan za ovaj
protokol moe da se koristi za programiranje
PLCa (spregnut sa PC raunarom na kome
se nalazi razvojni softver) ili, korienjem
msg naredbe, za peer-to-peer komunikaciju
Kada SLC alje poruku ona je u obliku
"ugraenog odgovora" (embedded
responce), to znai da se odgovarajui
simboli odgovora ubacuju u paket koji se
alje. Kada SLC prima poruku on igra ulogu
terminalnog ureaja (end
device), zaustavlja
privremeno prenos paketa
ignoriui adresu izvora i
odredita koja je
sadrana u paketu.
Meutim, on e proslediti
te adrese u odgovoru koji
emituje kao odziv na
svaki paket koji je primio.
Podeavanjem
posebnog parametra
mogue je zahtevati da
SLC proveri da li raunar
sa kojim on komunicira
moe da primi paket sa
ugraenim odgovorom. U
tom sluaju SLC e
saekati da primi taj
odgovor, pre nego to
sam poalje svoj odgovor.
9.6.1. KONFIGURACIJA KONTROLERA
Karakteristike drajvera definiu se u okviru menija za specifikaciju kanala 0 (Sl.
9-12).
Baude r at e izbor jedne od moguih brzina prenosa 110, 300,600, 1200, 2400, 4800,9600,
19200
Par i t i y none ili even
St op bi t s 1, 1.5 ili 2
Sour ce ID decimalan broj koji se koristi kao adresa izvora u bilo kojoj poruci koju alje ovaj
SL. 9-11 VEZIVANJE KANALA 0 PO PRINCIPU
POINT-TO-POINT
SL. 9-12 MENI ZA KONFIGURACIJU DF1 PUNOG DUPLEKS PROTOKOLA
modem
modem
modem
modem
Com_SLC/179

kontroler. U koliko je DF1 pass-thru omoguen (S:34/5=1), ovaj podatak treba da bude jednak
adresi kanala 1 na DH+ mrei (za kontrolere SLC-5/04), odnosno adresi kanala 0 na DH485
mrei (za kontrolere SLC-5/05).
Cont r ol Li ne ako se ne kor i st i modem odabr at i No handshaki ng, ako se kor i st i
modem odabr at i Ful l dupl ex modem
Er r or det ect i on CRC i l i BCC
Embedded r esponses enabl ed (poveava efikasnost transporta pri komunikaciji sa drugim
AB ureajima) ili autodetect (ukoliko se eli koristiti samo kada se detektuje ugraeni odgovor
u poruci primljenoj sa drugog ureaja)
Dupl i cat e packet det ect ukoliko se odabere ova opcija onda procesor uporeuje primljeni
paket sa poslednjom primljenom i obraenom porukom. Ukoliko su obe poruke iste, procesor
alje ACK signal, ali ne obrauje poruku ponovo.
Ack t i meout period ekanja na Ack signal. Ukoliko se signal ne primi, procesor ponavlja zahtev
slanjem Enq (enquire) signala.

9.6.2. DIJAGRAM TOKA PROCESA
Dijagram toka procesa u okviru koga stanica realizuje slanje ili prijem podataka
(read ili write msg naredba) prikazan je na SL. 9-13. Na ovom dijagramu krugovi
predstavljaju stanja u kojima se nalazi stanica koja inicira komunikaciju. Prelaz izmeu
stanja zavisi od ispunjenosti odgovarajuih uslova.
9.6.3. DIJAGNOSTIKA DATOTEKA
U dijagnostikoj datoteci dobijaju se sve relevantne informacije o uspenosti
obavljenih komunikacija (Sl. 9-14). Veina informacija u meniju je samorazumljiva.
Potrebno je jedino da se napomene da DCD Recover parametar ukazuje ne broj padanja
handshake linije.
Leder program
aktivira se
msg naredba
DF1 drajver
formira paket
Drajver alje
paket
Start ACK
tajmera
eka ACK ili
tajmaut
Drajver alje
paket
Start ACK
tajmera
eka ACK ili
tajmaut
ACK primljen
NAK primljen i NAK retries
ACK tajmaut primljen I
ENQ retries
send enquiry
Tabela podataka
NAK primljen i > NAK retries
ili
ACK tajmaut primljen I
> ENQ retries
vrati error indikator
Primljen odgovor
poalji podatke
primljen reply timeout
vrati error indikator
SL. 9-13 DIJAGRAM TOKA PROCESA SLANJA ILI PRIJEMA PODATAKA U DF1 PUNOM DUPLEKSU
Com_SLC/180


9.7. DF1 POLU-DUPLEKS PROTOKOL
DF1 polu-dupleks protokol podrava multi-drop single master/multiple slave mreu
u kojoj se komunikacija u jednom trenutku odvija u samo jednom smeru. Pri tome SLC
kontroleri mogu funkcionisati i kao master i kao slave kontroleri.
Kao master SLC periodino sekvencijalno proziva sve slave ureaje i od njih prima
podatke. Prozivanje jednog ureaja realizuje se slanjem "poll packet"-a sa adresom
odgovarajueg slave ureaja. Ako ureaj ima podatke koje treba poslati on to i ini. Ako
nema podataka, on e poslati samo dvobajtni odgovor (DLE EOT) kao indikaciju da je i
dalje aktivan. SLC proziva isti slave ureaj sve dok on ne indicira da nema vie podataka
za slanje. Nakon toga SLC master alje ovom ureaju pakete koji su njemu namenjeni.
Na taj nain master podrava rutiranje paketa izmeu slave ureaja ili komunikaciju
izmeu dva slave ureaja. Kao slave SLC moe da komunicira samo ako je prozvan od
strane mastera.
U najveem broju sluajeva master pamti dve odvojene tabele u kojima se nalaze
adrese aktivnih (on-line) i pasivnih (off-line) slave ureaja. Aktivni ureaji se prozivaju sa
datom periodom, dok se pasivni proveravaju povremeno da bi se ustanovilo da li je neki
od njih postao aktivan. Master ureaj omoguava i rutiranje paketa sa jednog slave
ureaja na drugi.
Ovaj protokol podrava najvie 255 slave ureaja (adrese 0 254). Adresa 255 se
dodeljuje masteru. Pri komunikaciji preko modema mogu se koristiti i polu-dupleks i puni
dupleks modemi.
U principu master/slave komunikacija podrazumeva da slave sam nee inicirati
slanje poruka, niti da e se komunikacija odvijati izmeu dve slave stanice. Ipak Allen
Bradley DF1 protokol, pod odreenim, uslovima omoguava i ovaj vid komunikacije.
o Polled report-by-exception omoguava slave stanici da inicira slanje poruke u onim
sluajevima u kojima je dolo do izvesne promene podataka, umesto da master
iznova i iznova oitava podatke iz slave stanice, ak i kada se oni nisu izmenili.
o Slave-to-slave messaging omoguava razmenu poruka izmeu dve slave stanice.
Naime, ukoliko slave stanica ima podatke koje eli da poalje nekoj drugoj slave
stanici, ona e jednostavno, u msg naredbi koju alje na poziv mastera, kao odredinu
adresu umesto adrese master stanice da stavi adresu slave stanice kojoj je poruka
namenjena. Po prijemu svakog paketa, master proverava odredinu adresu i ukoliko
ustanovi da je ona razliita od njegove adrese, jednostavno prosleuje celu poruku
adresiranoj slave stanici.
SL. 9-14 DIJAGRAM TOKA PROCESA SLANJA ILI PRIJEMA PODATAKA U DF1 PUNOM DUPLEKSU
Com_SLC/181

9.7.1. DF1 POLU-DUPLEKS STANDARDNI MASTER PROTOKOL
NAIN KOMUNIKACIJE
Ovaj protokol koristi centralizovani sistem pozivanja slave stanica od kojih prikuplja
podatke. Komunikacija se odvija tako to master stanica poziva jednu po jednu slave
stanicu pitajui je da li ima da poalje neku informaciju. Sve stanice na mrei "uju" ovaj
poziv, ali na njega odgovara samo ona stanica kojoj je poziv upuen. Otuda se ovaj nain
rada najee koristi u point-to-multipoint konfiguraciji mree.
Pozivanje slave stanica vri se prema listi prioriteta koju sainjava korisnik (Sl.
9-15).
Kada je master stanica konfigurisana za standardni nain komunikacije, nema
potrebe da se u okviru njenog leder programa posebno programiraju naredbe kojima e
se obaviti pozivanje slave stanica. Komunikacija se odvija automatski i to tako to master
stanica ciklino (round robin princip) alje jedan ili vie etvoro bajtna pozivna paketa
svakoj od stanica ije se adrese nalaze na listi stanica koje treba pozivati. Ovaj proces je
asinhron i potpuno nezavistan od bilo koje msg naredbe koja se nalazi u leder programu.
Msg naredbe za komunikaciju je potrebna samo ukoliko se eli slanje podataka iz master
stanice ili oitavanje podataka iz neke datoteke slave stanice.
Ukoliko se u
leder programu master
stanice aktivira neka
msg naredba, njeno
izvravanje e otpoeti
im se zavri
komunikacija sa slave
stanicom koja je
trenutno pozvana, i to
nezavisno od poloaja
stanice adresirane u msg
naredbi u listi stanica za
pozivanje. Ukoliko se u
jednom programskom sken ciklusu aktivira vie msg naredbi, najmanje etiri poruke mogu
biti poslane, pre nego to se pozove sledea slave stanica sa liste. Prenos svake od ovih
poruka bie okonan, odnosno slave stanica e poslati traeni odgovor, kada master
stanica, obavljajui pozive prema listi, stigne do slave stanice koja je adresirana u
naredbi. To znai da je redosled okonavanja komunikacije diktiran poloajem stanica u
listi, a ne redosledom msg naredbi u programu.
Proces koji se odvija u slave stanici po prijemu pozivnog paketa zavisi od stanja u
redu ekanja za slanje poruka, kao i od izbora konfiguracije mree. Pre svega, ako slave
stanica ima neku poruku u redu ekanja (ili odgovor na neki ranije primljen zahtev od
mastera, ili poruku koja je inicirana msg naredbom u lokalnom leder programu), ona e
prebaciti tu poruku u izlazni bafer, ime otpoinje njeno slanje. Ukoliko je u konfiguraciji
mree odabrano single message per scan, onda e master stanica prei na pozivanje
sledee slave stanice. Meutim, ukoliko je odabran multiple message per scan, master
stanica e nastaviti sa pozivanjem iste slave stanice sve dok se ne isprazni red ekanja,
odnosno dok slave stanica ne poalje sve svoje poruke. Kao to je ve reeno, slave
stanica oznaava "kraj emitovanja" slanjem dvobajtnog paketa.
Pri svakom pozivanju, u zavisnosti od toga da li slave stanica odgovara ili ne,
master aurira listu aktivnih stanica. U tu svrhu, svakoj od moguih slave stanica (0 do
254) pridruuje se po jedan bit u listi aktivnih stanica. Slanje pozivnog paketa neaktivnim
stanicama obavlja se sa manjom uestanou od slanja pozivnog paketa aktivnim
stanicama. Ovaj pristup zasniva se na pretpostavci da ako jedna stanica nije odgovorila,
ona to nee moi da uradi ni u sledeem pozivu koji e uslediti u veoma kratkom
vremenskom intervalu, to znai da e se samo nepotrebno gubiti vreme na ponavljanju
pokuaja uspostavljanja komunikacije.
SL. 9-15 ILUSTRACIJA KOMUNIKACIJE DF1 POLU-DUPLEKS STANDARD
MASTER PROTOKOL
Com_SLC/182

U skladu sa izloenim nainom rada oigledno je da se ovaj protokol bira ukoliko
se radi o veim sistemima gde je komunikacija vremenski kritina i gde se eli da se slave
stanice pozivaju u skladu sa korisniki definisanim opsegom pretraivanja i prioriteta.
Pored toga, standardni nain je pogodan i u sluajevima kada se oekuje da slave stanica
moe sama da inicira slanje poruka, kao i za programiranje slave stanica preko mree (pri
emu s ekoristi isti mehanizam kao i pri slave-to-slave komunikaciji).
KONFIGURACIJA KANALA
Specifikacija kanala
0 vri se pomou
odgovarajueg menija (SL.
9-16).
Baude r at e izbor jedne
od moguih brzina prenosa
110, 300,600, 1200, 2400,
4800,9600, 19200
Par i t i y none ili even
St op bi t s 1, 1.5 ili 2
Node addr ess
jedinstvena adresa vora (0
do 254).
Cont r ol Li ne ako se ne
koristi modem odabrati No
handshaking, ako se koristi
modem odabrati Full duplex
modem. Ako su svi modemi u
sistemu poludupleks tipa
odabrati Half Duplex without
Continuous Carrier.
Er r or det ect i on CRC ili
BCC
Pol l i ng Mode ukoliko se
eli slanje samo jedne poruke
pri prozivanju slave-a odabrati
Standard, single message per
scan; ukoliko se eli slanje svih poruka koje slave ima odabrati Standard, multiple message per
scan
Dupl i cat e packet det ect ukoliko se odabere ova opcija onda procesor uporeuje primljeni
paket sa poslednjom primljenom i obraenom porukom. Ukoliko su obe poruke iste, procesor
alje ACK signal, ali ne obrauje poruku ponovo.
Ack timeout period ekanja na Ack signal. Ukoliko se signal ne primi, procesor ponavlja zahtev
ili signalizira greku. Isti interval se koristi i za ekanje odziva na polling signal.

Ukoliko je odabran Half Duplex without Continuous Carrier onda je neophodno da
se obezbede vremenska kanjenja koja omoguavaju da se modem pripremi za
obavljanje traenog prenosa (u jednom ili u drugom smeru). Da bi se to ostvarilo potrebno
je u meniju definisati i sledee parametre.
RTS Of f del ay interval vremena izmeu zavretka slanja poruke i prestanka utvrivanja
prisustva RTS signala (koristi se kao bafer da bi se obezbedila izvesnost da je modem zavrio
posao, normalno bi trebalo da bude 0)
RTS Send delay interval vremena izmeu utvrivanja prisustva RTS signala i otpoinjanja
slanja poruke (ovaj interval obezbeuje vreme potrebno da se modem pripremi za slanje poruke).
Prenos poruke e uslediti ukoliko je CTS (Clear-to-send) signal na logikoj jedinici.
Message r et r i es broj puta ponovljenih pokuaja prenosa poruka ili dobijanja odziva pri
pollingu.
Pr e Tr ansmi t del ay Interval vremena koji proe od momenta kada vor ima poruku koju eli
SL. 9-16 MENI ZA KONFIGURACIJU DF1 POLU DUPLEKS STANDARDNOG
MASTER PROTOKOLA
Com_SLC/183

da emituje i utvrivanja prisutnosti RTS signala.

Dijagram toka procesa prikazan je na Sl. 9-17.

MEHANIZAM OPSLUIVANJA PRIORITETA
Ukoliko je odabran Standard, multiple message per scan tada je neophodno da se
definiu i prioriteti.
Pr i or i t y Hi gh i Pr i or i t y Low adresa poslednje i prve stanice koje se pozivaju sa prioritetom.
(Izbor prve stanice kao 255, ukida mogunost prioritetnog pozivanja).
Nor mal Hi gh i Nor mal Low adresa poslednje i prve stanice za normalno pretraivanja.
(Izbor prve stanice kao 255, ukida mogunost normalnog pozivanja).
Nor mal Pol l Gr oup Si ze broj aktivnih stanica u reimu normalnog pozivanja koji se poziva
izmeu dva prioritetna skena. (Ukoliko nema aktivnih stanica u normalnom reimu rada postavlja
se na 0)
Adrese stanica moraju se dodeljivati tako da se one mogu grupisati u dva
prioritetna nivoa. Budui da se pri konfiguraciji, na svakom nivou prioriteta, specificiraju
samo poetna i krajnja adresa nesumnjivo je da adrese svih stanica na istom nivou
prioriteta moraju biti izmeu te dve adrese.
Nain opsluivanja stanica u skladu sa definisanim prioritetom prikazan je na Sl.
9-18. Potrebno je obratiti panju na injenicu da se u okviru jednog ciklusa pozivanja, sa
liste stanica normalnog prioriteta poziva samo po jedna grupa stanica.
IZBOR TIMEOUT ACK INTERVALA
U naelu postoje dva tipa vremenskog ekanja o kojima treba da se vodi rauna.
Prvi se odnosi na vreme koje e master ekati da se slave odazove, a drugi na vreme
potrebno da modem bude spreman da primi podatke ili da ih prosledi dalje.
Tajmaut mora biti dovoljno dugaak da od trenutka kada je master poslao
poslednji karakter poll paketa bude dovoljno vremena da slave poalje, a master primi
najvei mogui paket, pre nego to istekne time-ot ACK interval.
SL. 9-17 DIJAGRAM TOKA PROCESA SLANJA ILI PRIJEMA PODATAKA - DF1 POLU DUPLEKS STANDARD MODE
Com_SLC/184

U cilju izraunavanja minimalnog tajmauta neophodno je da poznaje brzina
prenosa, najvea duina paketa (maksimalni broj rei) koji moe da sadri write naredba,
odnosno read naredba na koju se slave odaziva slanjem odgovora, programski sken
period slave-a, RTS/CTS kanjenje modema (turnaround delay), kao i konfigurisani
parametar RTS Send Delay. Od interesa je vei od poslednja dva vremenska intervala.


PR. 9-3
Pretpostavimo da imamo procesor SLC 5/03. Maksimalni paket koji ovaj procesor moe da
podri je 103 rei podataka, odnosno 224 bajtova zajedno sa overhead-om. Pretpostavimo nadalje
da imamo 9600 bps modem to znai da on prenosi oko 1 bajt po milisekundi.
U skladu sa raspoloivom opremom najvei paket e se preneti za 224 ms.
Procena trajanja prosenog programskog sken ciklusa moe se dobiti iz menija Processor
status u RSLogix 500 alatu. Pretpostavimo da je ovo vreme 20 ms.
RTS send delay time se odreuje iz parametara konfigurisanja procesora. Neka je ovaj
parametar 3. U tom sluaju kanjenje je 60 ms (parametar se zadaje u inkrementima od 20 ms).
RTS/CTS kanjenje zavisi od tipa modema. Pretpostavimo da je za ovaj tip modema ono 50 ms. U
tom sluaju za nas je relevantan podatak od RTS send delay time jer je on vei.
Na osnovu svega izloenog, minimalni tajmaut jednak je 304 ms (224+20+60). Budui da
se i ovo vreme zadaje u inkrementima od 20 ms izraunato vreme treba da se zaokrui na prvi vei
broj deljiv sa 20, to iznosi 320 ms. U skladu sa time Ack timeout parametar se definie kao broj
koji nije manji od 16.




SL. 9-18 NAIN POZIVANJA SLAVE STANICA U SKLADU SA PRIROITETOM I STATUSOM STANICE
Com_SLC/185

DIJAGNOSTIKA DATOTEKA

Pregled aktivnih stanica, kao i drugi podaci mogu se dobiti iz statusne datoteke
procesora (Processor status)



PR. 9-4 ILUSTRACIJA KORIENJA OVOG PROTOKOLA
Pretpostavlja se da master periodino alje poruke svim vorovima u mrei. On ih u
trenutcima odabiranja aktivira istovremeno, no nijedna poruka ne moe ponovo da se poalje pre
nego to se sve poruke po jedanput prenesu. Odgovarajui leder dijagram prikazan je na Sl. 9-21.
Ukoliko se ne eli vremensko ograniavanje slanja, onda je nepotreban rang 0.


SL. 9-19 INFORMACIJE KOJE SE DOBIJAJU IZ DIJAGNOSTIKE DATOTEKE ZA DF1 POLU DUPLEKS MASTER
KOMUNIKACIJU
SL. 9-20 INFORMACIJE KOJE SE DOBIJAJU IZ DATOTEKE STANJA ZA DF1 POLU DUPLEKS MASTER
KOMUNIKACIJU
Com_SLC/186




Com_SLC/187



9.7.2. DF1 POLUDUPLEKS - MESSAGE BASED MODE
NAIN KOMUNIKACIJE
Ovaj oblik komunikacije se koristi ukoliko se eli da se pomou msg naredbi u
svakom trenutku komunicira sa nekom odreenom stanicom. Pogodna je za satelitski
prenos ili telefonsku mreu, gde se komunikacija sa slave stanicom odvija samo kada
postoji potreba. Samo se po sebi razume da ovaj vid komunikacije nije preporuljiv ukoliko
je potrebno da se obavlja
uestala komunikacija
izmeu master i slave
stanica i ukoliko sve
stanice imaju msg naredbe
u svojim leder
programima.
Komunikacija
izmeu master i slave
stanice zapoinje samo
onda kada se u leder
programu mastera naie
na aktivnu msg naredbu u
okviru koje se adresira
odgovarajua slave
stanica. Na taj nain
korisnik, kroz leder
program, ima punu
kontrolu nad celokupnom
komunikacijom. Ukoliko se
u nekom sken ciklusu
SL. 9-21 ILUSTRACIJA KORIENJA STANDARDNOG MASTER PROTOKOLA
SL. 9-22ILUSTRACIJA KOMUNIKACIJE DF1 POLU-DUPLEKS MESSAGE
BASED MODE
Com_SLC/188

mastera inicira vie msg naredbi koje adresiraju razliite slave stanice, one odlaze u red
ekanja i izvravaju se jedna po jedna. Kada iz nekog razloga stanica nije u mogunosti
da odgovori, master e ponoviti pokuaj.
Master stanica moe u okviru svojih msg naredbi poslati slave stanici neke
podatke ili oitati neke podatke koji se nalaze u datotekama slave stanice.
U principu slave stanica moe u svom leder programu imati msg naredbe koje se
aktiviraju pod nekim uslovima. Ove naredbe e ui u red ekanja u slave stanici, ali
nikakva komunikacija nee biti inicirana sve dok master stanica ne prozove tu slave
stanicu pomou svoje msg naredbe (to se moe dogoditi sa znaajnim kanjenjem).
Meutim, to i dalje ne znai da e master i primiti poruku koju samostalno inicira slave.
Naime, postoje dva naina rada ovog tipa komunikacija.
Message, do not al l ow sl aves t o i ni t i at e - master e registrovati poruke koje bi
mu slave sam poslao, ali ih nee primiti. Time e se samo osloboditi bafer poruka u
slave-u i on e biti u stanju da nastavi sa slanjem poruka koje od njega trai master.
Ovaj oblik rada odgovara radu master/slave mree zasnovane na modbus protokolu u
okviru koga slave stanica nikada nema pravo da poalje poruku.
Message, al l ow sl aves t o i ni t i at e - slave stanica koja je pozvana od mastera,
nakon prijema svih poruka od mastera i slanja poruka koje je master od nje traio, dobija
pravo da poalje masteru i
poruku koju je ona sama
kreirala, a koju on nije traio.
KONFIGURACIJA KANALA
U ovom nainu rada
ne postoji datoteka aktivnih
vorova u okviru koje bi se
mogao posmatrati status
pojedinih stanica. Pored
toga, ne moe se ostvariti
prenos poruka izmeu dve
slave stanice, niti
programiranje slave stanica.
Konfiguracija kanala
zahteva da se specificra
polling mode. Kao to je ve
reeno izbor se vri izmeu
Message, allow slaves to
initiate i Message, do not
allow slaves to initiate.
Napomenimo i da pri izboru ovog naina rada, ne postoji vie mogunost da se definiu
opsezi prioritetnog i normalnog pretraivanja vorova.
9.7.3. DF1 POLU-DUPLEKS SLAVE PROTOKOL
KONFIGURACIJA KANALA
Baude r at e izbor jedne od moguih brzina prenosa 110, 300,600, 1200, 2400, 4800,9600,
19200
Par i t i y none ili even
St op bi t s 1, 1.5 ili 2
Node addr ess jedinstvena adresa vora (0 do 254).
Cont r ol Li ne ako se ne koristi modem odabrati No handshaking; ako je master modem full
duplex, a slave modem half duplex odabrati Half Duplex with Continuous Carrier. Ako su svi
modemi u sistemu poludupleks tipa odabrati Half Duplex without Continuous Carrier.
SL. 9-23 MENI ZA KONFIGURACIJU DF1 POLU DUPLEKS MESSAGE
BASED MASTER PROTOKOLA
Com_SLC/189

Er r or det ect i on CRC ili BCC
EOT Suppression ukoliko
se eli ubrzavanje saobraaja
na mrei moe se odabrati da
slave stanica ne alje master
stanici EOT (End of -
transmission) paket. Ukoliko je
ova opcija odabrana master
automatski podrazumeva da
ukoliko slave stanica ne
poalje neku poruku onda to
znai da i nema ta da poalje.
Problem je naravno u tome to
se u tom sluaju ne moe
utvrditi koja stanica je aktivna
ali nema ta da poalje, a koja
je neaktivna. Mogua primena
ove opcije je u situaciji kada se
eli smanjenje potronje radio
modema. U tom sluaju on se
ne mora ukljuiti ukoliko nema
ta da poalje.
Dupl i cat e packet det ect
ukoliko se odabere ova opcija
onda procesor uporeuje
primeljeni paket sa poslednjom primljenom i obraenom porukom. Ukoliko su obe poruke iste,
procesor alje ACK signal, ali ne obrauje poruku ponovo.
Pol l t i meout poseban asovnik prati vreme prozivanja ove stanice. Kada stanica ima poruku
koju treba da poalje ovaj asovnik se startuje. Ukoliko definisani poll timeout period istekne pre
nego to istekne timeout period definisan u message naredbi, postavlja se MSG error bit i poruka
se izbacuje iz reda ekanja. Ukoliko, meutim, timeout period definisan u poruci istekne pre poll
timeout perioda postavljaju se i message error i message timeout bit.
Ukoliko se kao poll timeout
postavi 0, ova opcija je
onemoguena.
Message r et r i es broj
puta ponovljenih pokuaja
prenosa poruka ili
dobijanja odziva pri
pollingu.
Pr e Tr ansmi t delay
Interval vremena koji
proe od momenta kada
vor ima poruku koju eli
da emituje i utvrivanja
prisutnosti RTS signala.

Pri definisanju
Poll timeout perioda
treba voditi rauna o
injenici da je
maksimalno mogue
vreme ekanja na prenos jednako vremenu koje protekne izmeu dva sukcesivna
prozivanja iste stanice. To znai da minimalno poll timeout vreme treba da bude jednako
master poll sken ciklusu (zaokruenom na sledeih 20 ms). Specifikacija ovog intervala je
potrebna ukoliko slave u svom leder programu ima message naredbu.

SL. 9-24 MENI ZA KONFIGURACIJU DF1 POLU DUPLEKS SLAVEMASTER
PROTOKOLA
SL. 9-25 INFORMACIJE KOJE SE DOBIJAJU IZ DIJAGNOSTIKE DATOTEKE ZA
DF1 POLU DUPLEKS SLAVE KOMUNIKACIJU
Com_SLC/190

9.8. KORIENJE MODEMA ZA
SLC procesori koji podra
tipove telefonskih (dial-up i leased line), radio i satelitskih modema. Za point
dupleks modem treba koristiti DF1 full duplex protkol. Za point
vezu treba koristiti Df1 half-duplex master i slave protokol. U tom slu
ureaj moe da se konfigurie kao half
DH485 protokol ne moe da se koristi za komunikaciju preko modema.
Di al -up modemi
Po pravilu, ovi modemi podravaju DF1 puni
oba kraja veze biti konfigurisane za DF1 full
Veza se prekida pomo
signal.
Modemi za i znaj ml j ene l i ni j e (
Ovi modemi se koriste na iznajmljenim telefonskim linijama. Pri tome, iznajmljene
linije mogu biti povezane u point
point-to-multipoint topologiji u kojoj podravaju polu dupleks topologiju izme
modema.
U point-to-point topologiji potrebno je konfigurisati SLC procesor za DF1 full
duplex protokol, pri emu e control line parameter
U point-to-multipoint topologiji SLC se konfigurie za DF1 half
slave protokol, pri emu e control line parameter
without continuous carrier.
Radi o modemi
Radio modemi se mogu koristiti u point
dupleks ili poludupleks komunikaciju. Pored t
to-multipoint topologiji koja podrava poludupleks komunikaciju.
Ukoliko se koristi point
je konfigurisati sve SLC-ove za DF1 full
parameter biti postavljen kao full duplex modem
Ukoliko se koristi point
je konfigurisati SLC-ove za DF1 half
zahtevaju RTS/CTS handshaking, konfigurisati
SL. 9-26 POINT-TO-POINT VEZA POMO
ENJE MODEMA ZA DF1 PROTOKOLE
SLC procesori koji podravaju RS-232 komunikaciju mogu se povezati za razli
up i leased line), radio i satelitskih modema. Za point
dupleks modem treba koristiti DF1 full duplex protkol. Za point-to-multipoint modemsku
duplex master i slave protokol. U tom sluaju samo jedan
aj moe da se konfigurie kao half-duplex master protokol.
DH485 protokol ne moe da se koristi za komunikaciju preko modema.
Po pravilu, ovi modemi podravaju DF1 puni dupleks. To znai da
oba kraja veze biti konfigurisane za DF1 full-duplex protokol, pri emu
parameter
postavljen kao
duplex modem
to-point veza)
procesor treba da
inicira uspostavljanje
veze (dial
ASCII write naredba da
bi se preneo "AT" dial
up string (npr. ATDT
3619 789). Modem lost
bit u statusnoj datoteci
(S:5/14) obezbe
povratnu in
tome da li je veza
uspeno uspostavljena.
Ovaj bit je postavljen
na 1 ako ima problema
sa vezom.
Veza se prekida pomou ASCII AHL naredbe kojom se privremeno obara DTR
Modemi za i znaj ml j ene l i ni j e (Leased- l i ne modemi )
ste na iznajmljenim telefonskim linijama. Pri tome, iznajmljene
linije mogu biti povezane u point-to-point topologiji u kojoj podravaju puni dupleks ili u
multipoint topologiji u kojoj podravaju polu dupleks topologiju izme
point topologiji potrebno je konfigurisati SLC procesor za DF1 full
control line parameter biti postavljen kao full duplex modem.
multipoint topologiji SLC se konfigurie za DF1 half-duplex master or
control line parameter biti postavljen kao half duplex modem
Radio modemi se mogu koristiti u point-to-point toplogiji koja podrava ili puni
dupleks ili poludupleks komunikaciju. Pored toga, ovi modemi se mogu povezati i u point
multipoint topologiji koja podrava poludupleks komunikaciju.
Ukoliko se koristi point-to-point topologija sa full-duplex radio modemima potrebno
ove za DF1 full-duplex protocol, pri emu
full duplex modem.
Ukoliko se koristi point-to-point topologija sa half-duplex radio modemima potrebno
ove za DF1 half-duplex master ili slave protocol. Ukoliko ovi modemi
CTS handshaking, konfigurisati control line parameter
POINT VEZA POMOU DIAL-UP MODEMA
232 komunikaciju mogu se povezati za razliite
up i leased line), radio i satelitskih modema. Za point-to-point puni
multipoint modemsku
duplex master i slave protokol. U tom sluaju samo jedan
DH485 protokol ne moe da se koristi za komunikaciju preko modema.
i da e stanice na
emu e control line
parameter biti
postavljen kao full
duplex modem (point-
point veza).
Kada SLC
procesor treba da
inicira uspostavljanje
veze (dial-up) koristi se
ASCII write naredba da
bi se preneo "AT" dial-
up string (npr. ATDT
3619 789). Modem lost
bit u statusnoj datoteci
(S:5/14) obezbeuje
povratnu informaciju o
tome da li je veza
uspeno uspostavljena.
Ovaj bit je postavljen
na 1 ako ima problema
sa vezom.
u ASCII AHL naredbe kojom se privremeno obara DTR
ste na iznajmljenim telefonskim linijama. Pri tome, iznajmljene
point topologiji u kojoj podravaju puni dupleks ili u
multipoint topologiji u kojoj podravaju polu dupleks topologiju izmeu tri ili vie
point topologiji potrebno je konfigurisati SLC procesor za DF1 full-
full duplex modem.
duplex master or
half duplex modem
point toplogiji koja podrava ili puni
oga, ovi modemi se mogu povezati i u point-
duplex radio modemima potrebno
mu e control line
duplex radio modemima potrebno
duplex master ili slave protocol. Ukoliko ovi modemi
kao half duplex
Com_SLC/191

modem without continuous carrier.
Li ne dri vers
Linijski drajveri zapravo ne vre modulaciju serijskih podataka ve prilagoavanje
elektrinih signala tako da se povea pouzdanost pri prenosu na vee daljine (vie
kilometara).
AB AIC+ (Advanced Interface Convertor) je half-duplex line driver koji konvertuje
jedan RS-232 elektrini signal u RS-485 elektrini signal poveavajui tako mogunost
njegovog prenosa sa oko 15 m na oko 1200 m.
U point-to-point line driver topologiji SLC se konfigurie za DF1 full-duplex
protokol.
U point-to-multipoint line driver toplogiji SLC se konfigurie za DF1 half-duplex
protokol. Ukoliko ovi linijski drajveri zahtevaju RTS/CTS handshaking, konfigurisati control
line parameter kao half duplex modem without continuous carrier.
9.8.1. VEZIVANJE KONTROLERA SA MODEMOM
U svim sluajevima sami SLC-ovi rade kao data terminal equipment (DTE), to
znai da alju ili primaju poruke preko mree. Modemi funkcioniu kao data
communication equipment (DCE), to znai da oni obavljaju konverziju i kodiranje signala.
Razmena podataka izmeu DTE i DCE ureaja obavlja se preko linije prijema
podataka (RDX receive data line)
i linije slanja podataka (TXD
transmit data line). Pored toga DTE
ureaji imaju i sledee linije za
upravljanje modemima.
RTS ( Request t o send) izlazni
signal koji ukazuje DCE ureaju da
DTE eli da poalje poruku.
DTR ( Dat a t er mi nal r eady)
izlazni signal koji ukazuje da je DTE
ureaj spreman za rad.
CTS ( Cl ear t o send) ulazni
signal koji alje DCE i koji oznaava da
je DCE spreman da primi poruku koju
DTE ureaj eli da poalje preko
modemske veze.
DSR ( Dat a set r eady) ulazni
signal koji ukazuje da je DCE ureaj
spreman za operaciju (gubitak ovog
signala prouzrokuje modem-lost
stanje u SLC-u).
DCD ( Dat a car r i er det ect )
ulazni signal koji ukazuje da je nosei
signal primljen i da se oekuje prijem
podataka koji e biti prosleeni DTE
ureaju.
Pri vezivanju kontrolera sa modemom za komunikaciju sa kontrolom prenosa (Sl.
9-27) potrebno je obratiti panju na injenicu da modem slui kao ureaj za prenos
signala tako da se, za razliku od vezivanja dva DTE ureaja, pinovi na oba RS232 porta
direktno spajaju.
Za ulogu master-a mogue je koristiti bilo polu-dupleks bilo puni-dupleks modeme.
Meutim, samo polu-dupleks modemi mogu raditi kao slave ureaji.
Kao to je ve reeno, u sluajevima u kojima je odabrana polu-dupleks
konfiguracija, mogue je sinhronizovati rad modema pomou RTS Send delay i RTS Off
delay parametara.
SL. 9-27 VEZIVANJE KONTROLERA SA MODEMOM ZA
KOMUNIKACIJU SA KONTROLOM PRENOSA (HANDSHAKE)
Com_SLC/192


Poet ak sl anj a por uke
U principu emitovanje poruke se obavlja tako to DTE poalje RTS signal kojim
ukazuje da eli da poalje poruku. Tada bi procesor trebalo da ispita stanje CTS signala
da bi ustanovio da li je modem spreman da primi poruku. Budui da neki poludupleks
modemi zahtevaju dodatno vreme za podizanje svojih predajnika, pomou RTS Send
delay parametra se definie period ekanja pre nego to procesor ispituje stanje CTS
signala. Ukoliko CTS nije jo aktivirann, RTS ostaje aktivan sve do isteka jedne sekunde
od trenutka ispitivanja stanja. Ukoliko se ni tada CTS ne aktivira, RTS se obara i
komunikacija se naputa. Konano, ako se RTS Send delay parametar postavi na 0,
prenos poinje odmah po podizanju CTS signala. Ukoliko se ovaj signal ne podigne za 1
sekundu, komunikacija se naputa.
Ukoliko neki modem nema CTS signal, potrebno je vezati RTS za CTS i koristiti
najkrai mogui period ekanja.
Zavret ak sl anj a por uke
Neki modemi obaraju vezu kada se izgubi RTS signal, ak i onda kada prenos nije
zavren. Da bi se omoguilo slanje i poslednjeg karaktera koristi se RTS off delay
parametar. Ovaj parametar specificira (u inkrementima od po 20 ms) interval vremena koji
treba da proe izmeu slanja poslednjeg karaktera i obaranja RTS signala.
9.8.2. UPRAVLJANJE SLANJEM I PRIMANJEM PORUKA
Ukolika je odabrana opcija "handshake" realizacija slanja i prijema poruka obavlja
se u zavisnosti od stanja pojedinih upravljakih signala. Koje se linije pri tome ispituju
zavisi od modema koji se specificiran pri konfigurisanju odabranog DF1 protokola. Na
raspolaganju se sledee mogunosti pri specifikaciji modema.
FULL-DUPLEX MODEM (opcija pri specifikaciji DF1 Full duplex protokola i DF1
Half-duplex master protokola)
HALF-DUPLEX MODEM WI TH CONTI NUOUS CARRI ER (opcija pri specifikaciji
DF1 Half duplex slave protokola)
HALF-DUPLEX MODEM WI THOUT CONTI NUOUS CARRI ER (opcija pri
specifikaciji DF1 Half duplex slave i DF1 Half-duplex master protokola)
Samo se po sebi razume da kontroler moe obavljati slanje podataka samo ako
prima aktivne signale DSR i CTS (koji ukazuju da je modem spreman za rad i spreman da
primi podatke). Pored toga Full-duplex modem zahteva i da signal DCD bude aktivan.
Kontroler, u sva tri sluaja, moe
obavljati prijem podataka samo ako su
signali DSR i DCD aktivni.

U principu u sva tri sluaja DTR
signal je uvek aktivan. Kod Full-duplex
modema aktivan je uvek i RTS signal. Za
razliku od toga kod Half-duplex modema
RTS signal se aktivira samo za vreme
slanja poruke (i bilo kog programiranog
kanjenja pre ili posle prenosa). Ovo je
prirodna posledica injenice da se prenos
podataka u jednom trenutku obavlja samo
u jednom smeru.
Prenos podataka podrazumeva da
je modem spreman za rad (signal DSR je
aktivan). Meutim ako u toku rada signal
DSR postane neaktivan obaraju se i signali
SL. 9-28 ISPITIVANJE SIGNALA PRI SLANJU PODATAKA
Com_SLC/193

DTR i RTS u trajanju od 1 do 2 sekunde, a zatim se ponovo diu. Modem lost bit (S:5/14)
se istog trenutka postavlja na 1. Do god je DSR neaktivan, stanje DCD se ignorie, to
znai da se ne mogu obavljati ni slanje ni prijem podataka (Sl. 9-28).
Aktiviranje signala DCD inicira
prijem podataka. Ako signal DCD padne
dok je DSR aktivan, ne dozvoljava se
prijem signala. Ukoliko DCD ostane
neaktivan za 9 do 10 sekundi, DTR se
obara sve dok DSR ne postane
neaktivan. U tom trenutku se postavlja i
modem lost bit (S:5/14). Ukoliko DSR ne
postane neaktivan, tada se posle 5 do 6
sekundi i DTR ponovo die (Sl. 9-29).
Kad god su DSR i DCD zajedno
aktivni modem lost bit se resetuje.
Potrebno je istai da se razlika
izmeu polu dupleks modema "with
continuous carrier" i "without continuous
carrier" sastoji samo u tome to se u
ovom drugom sluaju ne prati promena
DCD signala, pa se u skladu sa time i ne
obara DTR signal. Uprkos tome,
aktiviranje signala DCD je i dalje
neophodno za prijem poruke. Modem lost bit e biti postavljen ako je DSR signal
neaktivan.
9.8.3. KOMUNIKACIJA PREKO TELEFONSKIH LINIJA
U cilju uspostavljanja komunikacije preko telefonskih linija neophodno je da se
obave sledee operacije
Odabiranje eljenog broja realizuje se slanjem telefonskog broja kome prethodi
naredba modemu da izabere taj broj (atdt); ove naredbe i telefonski broj se moraju
upisati u odgovarajuu string datoteku
Verifikacija uspostavljene veze veza je uspostavljena kada lost modem bit (datoteka
statusa S2:5/14 pree sa 1 na 0
Slanje odgovarajuih poruka kad je veza uspostavljena kontroler moe da inicira niz
msg naredbi za razmenu podataka
Prekidanje telefonske veze veza se prekida tako to DTR linija iz stanja 1, pree u
stanje 0 i ponovo se vrati u 1; ovo se postie pomou AHL naredbe.

PR. 9-5 USPOSTAVLJANJE VEZE PREKO
TELEFONSKE LINIJE
Potrebno je uspostaviti
komunikaciju preko modema sa
ureajem koji je vezan na telefonsku
liniju preko broja +381 63 123456.
Sledei izloeni postupak
formirana je, kao prvo, string
datoteka iji sadraj je telefonski broj
koji se alje modemu awa naredbom
(Sl. 9-30).
Leder program koji u
potpunosti prati izloene korake
prikazan je na SL. 9-31.


SL. 9-29 ISPITIVANJE DCD SIGNALA PRI PRIJEMU
PODATAKA
SL. 9-30 STRING DATOTEKA BROJ 10
DTR
RTS
DSR
CTS
DCD
>9-10s
lost bit
nema prijema prijem
max 5-6s
ili
Com_SLC/194




Com_SLC/195


9.9. ASCII KOMUNIKACIONI PROTOKOL
SLC kontroleri podravaju ASCII protokol koji definie sam korisnik konfiguriui
kanal 0 kao user mode. U ovom nainu rada, svi primljeni podaci se smetaju u jedan
bafer i obrauju pomou
ASCII naredbi. Isto tako,
stringovi ASCII podataka
mogu se emitovati drugim
ureajima koji primaju ASCII
podatke.
Potrebno je istai da
se kad je kanal 0 u user
mode mogu prenositi samo
ASCII karakteri. Prenoenje
podataka pomou message
naredbe nije dozvoljeno.
U cilju konfiguracije
procesora za ASCII
komunikaciju neophodno je
da se definiu sledei
parametri.
Baude r at e izbor jedne od
moguih brzina prenosa 110,
300, 600, 1200, 2400, 4800,
9600, 19200
Par i t i y none, even ili odd
St op bi t s 1, 1.5 ili 2
Dat a bi t s 7 ili 8
Ter mi nat i on 1 i 2 izbor karaktera koji oznaava kraj linije u ARL i ABL ASCII naredbama
(moe se definisati i kao ASCII konstanta). Specificirati \ff ukoliko se ne eli oznaka za kraj linije.
SL. 9-31 LEDER PROGRAM ZA KOMUNIKACIJU PREKO TELEFONSKE LINIJE
SL. 9-32 MENI ZA KONFIGURACIJU ASCII PROTOKOLA
Com_SLC/196

Append 1 i 2 izbor karaktera koji oznaava kraj linije u ASCII AWA naredbi. Specificirati \ff
ukoliko se ne eli ovaj karakter
Cont r ol Li ne ako se ne koristi modem odabrati No handshaking; ako je master modem full
duplex, a slave modem half duplex odabrati Half Duplex with Continuous Carrier. Ako su svi
modemi u sistemu poludupleks tipa odabrati Half Duplex without Continuous Carrier. Ukoliko se
izabere poludupleks potrebno je definisati i kanjenja za sinhronizaciju (RTS Off delay i RTS
Send delay)
RTS Of f del ay interval vremena izmeu zavretka slanja poruke i prestanka utvrivanja
prisustva RTS signala (koristi se kao bafer da bi se obezbedila izvesnost da je modem zavrio
posao, normalno bi trebalo da bude 0)
RTS Send del ay interval vremena izmeu utvrivanja prisustva RTS signala i otpoinjanja
slanja poruke (ovaj interval obezbeuje vreme potrebno da se modem pripremi za slanje poruke).
Prenos poruke e uslediti ukoliko je CTS (Clear-to-send) signal na logikoj jedinici.
Del et e mode specifikacija tretmana karaktera "delete", koji ima efekta samo ako je echo on.
Izbor izmeu:
ignore ignorii karakter, odnosno tretiraj ga kao deo teksta,
CRT ignorii karakter koji neposredno prethodi delete karakteru i poalji signal displeju
(CRT) da obrie prethodni karakter,
printer ignorii karakter koji neposredno prethodi delete karakteru i poalji signal printeru
da obrie prethodni karakter
Echo moe se postaviti on ili off
XON/ XOFF izbor softverskog handshakinga

197
















DODACI


198



Plc_DA_digUI/199

A. Digitalni senzori i digitalni izvrni organi
Kao to je ve reeno digitalni signal je signal ija amplituda moe imati jednu od
konanog broja razliitih vrednosti. Posebna
podvrsta digitalnog signala je binarni (diskretni)
signal ija amplituda ima jednu od dve mogue
vrednosti koje se kodiraju kao binarna nula i
binarna jedinica (0 i 1). Ove vrednosti, u zavisnosti
od odreene aplikacije imaju znaenje
ukljuen/iskljuen, istinit/neistinit, prisutan/odsutan
itd. Diskretni signali se koriste za ukljuivanje i
iskljuivanje prekidaa, pokretanje ili zaustavljanje
motora, otvaranje ili zatvaranje ventila i drugih
aktuatora u zavisnosti od radnih uslova ili u funkciji
vremena. U isto vreme, ovi signali se koriste i kao
indikatori stanja ovih ureaja.
Bez elje da se uputamo u detaljan pregled svih davaa digitalnih signala i
digitalnih izvrnih organa, izloie se sa samo
osnovne odlike prekidaa kao digitalnih davaa i
solenoida koji se veoma esto koriste kao izvrni
organi. Ovi elementi e se kasnije koristiti pri formiranju programa za PLC.
Osnovna komponenta
diskretnog senzora i aktuatora
je kontakt. U principu, kontakt
moe biti realizovan kao bilo
koja vrsta prekidaa, ili neka
drugi elektro-mehaniki,
elektro-optiki, pneumatski ili
hidraulini ureaj koji ima dva
stanja:
zat voren (cl osed)
provodi struju (odnosno
proputa odgovarajuu fiziku
veliinu)
ot voren (open) - ne
provodi struju (odnosno ne
proputa odgovarajuu fiziku
veliinu).
Kontakt moe biti
normalno otvoren (NO) ili
normalno zatvoren (NC), pri
emu se izraz normalno
odnosi na stanje u kome se
kontakt nalazi pre nego to se
delovanjem nekog spoljnog
agensa promeni stanje
kontakta. Na slici (Sl. A1)
prikazana su dva tipina
relejna kontakta, od kojih je
jedan normalno otvoren a
drugi normalno zatvoren.
Naime, sve dok u kolu relea
nema struje, kotve koje su
SL. A1 NO I NC KONTAKT UPRAVLJANI
POMOU RELEA
SL. A2 PREGLED GRAFIKIH SIMBOLA RAZLIITIH KONTAKTA
Plc_DA_digUI/200

vezane za oprugu imaju poloaj kao na slici, tako da je kontakt oznaen sa NC zatvoren,
a kontakt oznaen sa NO otvoren. Kada se zatvori prekida u kolu relea, u jezgru e se
generisati elektromagnetna sila koja e privui kotve koje su vezane za oprugu. Pri tome
oba kontakta menjaju stanje i to tako to se NC kontakt otvara, a NO kontakt zatvara.
Kada se prekida u kolu relea otvori, opruga vraa kontakte u poetni poloaj.
Senzori i kontakti koji se koriste kao ulazni procesni ureaji (alju signale prema
kontroleru) mogu biti otvarani ili zatvarani kao rezultat dejstva neke mehanike akcije (npr.
granini prekidai), oveka (npr. tasteri), prisustvom ili odsustvom nekog objekta (npr.
senzori rastojanja), promenom temperature (npr. temperaturni prekidai) itd. Simboli koji
se koriste za prikazivanje najee korienih tipova kontakta prikazani su na Sl. A2.
Potrebno je zapaziti da se ni relejni namotaj, ni dvopoloajni prekida, s obzirom na
specifian nain njihovog funkcionisanja, ne mogu klasifikovati ni kao NO ni kao NC.
Izlazni procesni ureaji koji primaju signale iz kontrolera se koriste za pokretanje i
zaustavljanje motora ili promenu smera obrtanja, za aktiviranje i deaktiviranje
signalizacije alarma, za paljenje i gaenje kontrolnih sijalica, otvaranje i zatvaranje ventila,
spajanje i razdvajanje kvaila, upravljanje releima, solenoidima itd. Osnovni izlazni
element je rele, koje se realizuje kao tranzistorsko rele (za mala optereenja),
elektromehaniko rele (za srednja
optereenja) i kao kontaktor (za velika
optereenja). Svi ovi ureaji su ekvivalentni
u smislu logike funkcije koju realizuju, ali
se razlikuju u pogledu elektrinih
karakteristika. Ukoliko je potrebno da se
izvri prekidanje izuzetno velikih napona ili
struja, mogu se koristiti vie stepeni relei.
Nezavisno od realizacije, rele se moe
posmatrati kao elektrini prekida ijim
stanjem se upravlja pomou drugog
prekidaa (npr. pomou binarnog signala
koji dolazi iz kontrolera).
Pored relea, esto se koristi i
solenoid jo jedan elektromehaniki aktuator, jim radom se upravlja pomou
elektromagnetne sile proizvedene u namotaju. U principu, rad solenoida zasniva se na
struji koja postoji u namotaju i koja proizvodi magnetno polje. U zavisnosti od smera
struje, menja se i smer sile magnetnog
polja koja privlai gvozdeno jezgro ka
centru namotaja ili ga odbija od centra.
Postoje dva tipa solenoidnih aktuatora:
Jednosmer ni sol enoi d koji ima
samo jedan izvod za napajanje, tako da
struja ima uvek isti smer, to znai da se i
jezgro pod dejstvom magnetne sile moe
pomerati samo u jednom smeru. U
odsustvu napajanja solenoida, mehanika
opruga vraa jezgro u poetni poloaj (Sl .
A 3).
Potrebno je da se istakne da se uz
solenoid po pravilu postavljaju i dva
granina prekidaa koji omoguavaju da se detektuje kada jezgro doe u krajnji desni ili
krajnji levi poloaj.
Dvosmerni sol enoi d koji ima dva izvoda za napajanje, tako da smer struje,
odnosno odgovarajue magnetne sile zavisi od toga na koji izvod je prikljueno
napajanje. U skladu sa time i jezgro se kree u jednom od dva mogua smera. Ukoliko
SL. A 3 JEDNOSMERNI SOLENOID
SL. A 4 DVOSMERNI SOLENOID
Plc_DA_digUI/201

se napajanje dovede na oba izvoda, jezgro se nee pomerati, Isto tako, ukoliko ni na
jednom kraju nema napajanja, jezgro e ostati u zateenom poloaju, uz uslov da ne
postoji neka mehanika sila (npr. sila zemljine tee, ako je solenoid u vertikalnom
poloaju) koja bi izazvala njegovo kretanje. Drugim reima, u odsustvu napajanja,
solenoid se nalazi u slobodnom stanju (Sl . A 4).

Plc_DA_digUI/202


Plc_mreze/203

B. Elementi raunarskih komunikacija
B.1. Osnove raunarskih komunikacija
Na poetku korienja raunara u obradi podataka podrazumevalo se da svi
podaci, bez obzira na mesto njihovog nastajanja moraju fiziki biti doneti do lokacije na
kojoj se nalazi raunar, i da se svi rezultati obrade podataka dobijaju na toj istoj lokaciji.
Ovaj vid obrade, kasnije oznaen kao centralizovana obrada podataka, stvarao je znatne
tekoe posebno u sluajevima kada se elelo da se obrada podatak obavi u realnom
vremenu ili kada je bilo neophodno da se rezultati obrade koriste na prostorno udaljenim
lokacijama. Na izvestan nain, centralizovana obrada podataka ekvivalentna je situaciji u
kojoj dve osobe mogu da komuniciraju samo ako stoje jedna pored druge.
Krajem ezdesetih godina prolog veka, organizacija rada u velikim poslovnim
sistemima zahteva dislociranje obrade podataka, te se na udaljenim lokacijama (skladite,
raunovodstvo, poslovnice, ...) postavljaju raunarski sistemi koji jedan deo obrade
podataka obavljaju sami, dok sa centralnim raunarom razmenjuju samo rezultate. Slian
pritisak osea se i u procesnoj industriji gde elja za automatizacijom celog proizvodnog
procesa namee potrebu za komunikacijom izmeu upravljakih raunara koji kontroliu
pojedine delove sistema. U nastojanju da se zadovolje ovi zahtevi raa se distribuirana
obrada podataka.
Po prirodi stvari preduslov za realizaciju distribuirane obrade podataka bio je
razvoj tehnologije i metodologije za uspostavljanje komunikacije izmeu raunara. U prvo
vreme svaki proizvoa raunara razvijao je sopstvenu opremu koja je imala izvesne
tehnike i funkcionalne specifinosti tako da je komunikacija mogla da se ostvari samo
izmeu raunara jednog proizvoaa. Postepeno, pod pritiskom korisnika, raunarska
industrija uspostavlja jasne standarde u ovoj oblasti.
Gledano potpuno opte izraz komunikacije ili elektronske komunikacije oznaava
prenos podataka od izvora
(predajnik) do odredita
(prijemnik) posredstvom
prenosnog medijuma, a uz
pomo komunikacionih
ureaja, koji obezbeuju
odgovarajuu snagu signala
pri prenosu. U tom procesu se
za predstavljanje podataka
koristi neki oblik
elektromagnetne energije
(elektricitet, radio talasi, svetlo
itd.). U skladu sa time
raunarska komunikacija je
proces prenosa podataka
izmeu dva raunara (Sl. B 1). Da bi se taj proces obavio raunari moraju biti povezani u
raunarsku mreu. Pri tome je potrebno da se uoi da su podaci koje raunar alje uvek
predstavljeni u formi digitalnog signala. Taj signal se prima u predajniku i obrauje
(kodira) na neki nain, odnosno prebacuje u formu u kojoj e biti prenet kroz medijum
(komunikacioni kanal). U zavisnosti od vrste medijuma signal koji se prenosi moe biti
analogni ili digitalni, a sam medijum moe biti ini ili beini. Kada signal doe do
prijemnika on mora biti dekodiran, odnosno vraen u formu u kojoj ga raunar moe
primiti i razumeti.
Povezivanjem vie raunara preko komunikacionih kanala formira se jedna
raunarska mrea. U principu, svaka mrea se moe sastojati iz razliitih tipova raunara
(vorovi mree) i razliitih vrsta inih i beinih komunikacionih kanala. Da bi raunarska
mrea mogla da radi svi ureaji moraju imati i odgovarajui komunikacioni softver koji
upravlja prenosom podataka, vri kompresiju podataka, otklanja efekte poremeaja i
SL. B 1 RAZMENA PODATAKA IZMEU RAUNARA
Plc_mree/204

obavlja druge funkcije koji doprinose efikasnosti komunikacije.
Sa aspekta geografskog podruja koje pokrivaju mree se dele na tri kategorije:
Mrea i rokog domet a (WAN Wi de Ar ea Net work) obuhvat a vel i ko
podruj e; t i pi an pr i mer ovakvi h mrea j e mrea t el ef onske kompani j e;
Mrea srednj eg domet a (MAN Met ropol i t an Area Net work) obuhvata
podruje koje odgovora jednom gradu ili regionu; tipian primer su mree mobilne
telefonije;
Lokal na mrea (LAN Local Area Net work) obuhvata jedno relativno malo
podruje i slui za razmenu podataka izmeu grupe korisnika (preduzee, fabrika,
proizvodni pogon itd.).
Za ostvarivanje komunikacije raunara pri upravljanju procesima od znaaja su
prvenstveno lokalne mree.
B.1.1. UREAJI ZA PRENOS PODATAKA
Svaki raunar moe da generie ili prima samo informacije u formi digitalnih
signala. Razliiti komunikacioni medijumi (kanali) preko kojih se signal prenosi mogu da
podri analogni ili digitalni signal. Otuda je, u nekim sluajevima neophodno da se izvri
konverzija signala iz digitalnog u analogni oblik i obratno (modulacija i demodulacija). Za
tu svrhu koriste se modemi (modulator/demodulator). Modemi se meusobno razlikuju u
zavisnosti od vrste kanala kojima se signal prenosi, kao i od tehnologije koja se koristi za
obavljanje prenosa. Jedna od znaajnih karakteristika prenosa podataka je brzina
prenosa koja se izraava brojem prenetih bitova u jedinici vremena (bps bits per
second).
KOMUNIKACIJA PREKO TELEFONSKIH LINIJA
Zbog svoje iroke rasprostranjenosti, telefonske linije su najjednostavniji i najstariji
korieni medijum za prenos signala (Sl. B2).
Tel ef onski h modem se koristi za
direktnu konverziju digitalnog signala u
analogni telefonski signal. Tipina brzina je
28,8Kbps, ali ima i modema koji mogu da rade
na veim brzinama od 56Kbps ili 128Kbps. Pri
tome, stvarnu brzinu prenosa ne odreuje sam
modem, ve ona zavisi od mogunosti
standardnih telefonskih linija preko kojih se
signal prenosi. Poveanje brzine prenosa zahtevalo je, prema tome, da se razviju
drugaije tehnologije prenosa signala koje i dalje koriste telefonske linije kao prenosni
medijum.
I SDN (Integrated service digital network) obuhvata softver i hardver koji
omoguavaju da se podaci preko telefonskih linija prenose kao digitalni podaci veom
brzinom od standardnih modema (do 128Kbps). Dodatna prednost ove tehnologije je
injenica da omoguava korienje dve linije u paru, to znai da se telefonska veza
moe ostvariti i za vreme dok raunar komunicira preko druge linije.
ADSL (Asymetric digital subscriber line) je tehnologija kojom se digitalni signal
pretvara u irokopojsani analogni signal, ime se znaajno poveava brzina prenosa
(efekat je kao da vie modema paralelno rade). Brzine prenosa kreu se od 5-25 Mbs pri
prijemu i 0.5 3.5Mbs pri slanju podataka. Pored toga, ova tehnologija omoguava i da
se ista linija deli za za telefonski razgovor i prenos podataka.
KOMUNIKACIJA PREKO MREE KABLOVSKE TELEVIZIJE
Kablovski modem je ureaj koji omoguava prenos raunarskog signala preko
neiskorienih opsega kanala kablovske televizije, ne remetei pri tome prijem televizijske
slike. Korienje tehnike irokopojasnog prenosa omoguava brzine i do 10Mbps.
SL. B2 KOMUNIKACIJA PREKO TELEFONSKIH
LINIJA
Plc_mreze/205

KOMUNIKACIJA PREKO MREE MOBILNE TELEFONIJE
Modem za mobilne telefone je ureaj koji omoguava da se informacije prenose
preko mree mobilne telefonije. Ova vrsta prenosa je relativno spora (9,6 14,4Kbps).
Kljuna prednost ogleda se u mogunosti korienja postojee mree za prenos
podataka.
SATELITSKA I RADIO BEINA KOMUNIKACIJA
Satelitske i radio komunikacije koriste razliite tehnologije za prenos podataka, to
podrazumeva i postojanje odgovarajuih prijemnika i predajnika. Izmeu ostalih, veoma
su popularne WiMAX (Worldwide interoperability for microwave access), Wi-Fi (Worldwide
interoperability for local area network) tehnologije.
B.1.2. KOMUNIKACIONI KANALI
Komunikacioni kanal je putanja (fiziki medijum) preko koga se prenose podaci.
Podaci se mogu prenositi na jedan od tri naina:
si mpl eks prenos podaci mogu da se prenose samo u jednom smeru (npr.
televizijski signal).
pol u-dupl eks prenos podaci mogu da se prenose u oba smera, ali se u jednom
trenutku prenos moe obavljati samo u jednom smeru.
dupl eks (i l i puni - dupl eks) prenos podaci se mogu istovremeno prenosti u oba
smera.
U principu, kod komunikacije koja se uspostavlja pri raunarskom upravljanju
sistemima, uvek postoji potreba da se podaci razmenjuju u oba smera, makar i samo zato
da bi jedan raunar potvrdio da je primio podatke od drugog. Pri tome, izbor izmeu polu-
dupleksa i punog-dupleksa zavisi od niza faktora, meu kojima su potrebna brzina
prenosa, broj raspoloivih kanala, cena i dr. Simpleks prenos se, eventualno, moe
koristiti za prijem podataka sa sloenije merne opreme koja sadri mikroraunarske
komponente.
Brzina prenosa signala kroz kanal zavisi
od uestanosti signala i propusnog opsega
kanala. Samo se po sebi razume da vea
uestanost podrazumeva i vei broj podataka koji
se moe preneti u jedinici vremena. Pored toga,
budui da se podaci mogu prenositi istovremeno
na svim uestanostima unutar propusnog opsega
kanala, jasno je da iri propusni opseg
omoguava prenos veeg broja podataka. Ovaj
opseg odreuje kapacitet kanala.
U odnosu na nain realizacije
komunikacionih kanala, njihova osnovna podela
je na ine i beine komunikacione kanale.
INE VEZE
ini komunikacioni kanal je direktna
oiena veza izmeu predajnika i prijemnika. U
upotrebi su tri vrste inih kanala.
Pari ce (Twi st ed-pai r wi re) par izolovanih
bakarnih ica; relativno spor (16 - 100 Mbps) i
neotporan na umove, posebno na veim
rastojanjima. U upotrebi su UTP (unshielded
twisted-pair) i STP (shielded twistied pair) parice.
Koaksi j al ni kabl ( Co-ax) izolovana bakarna ica obmotana vrstim ili upletenim



SL. B3 BLOK EMA INIH VEZA
Plc_mree/206

metalnim titom oko koga se nalazi plastini omota; brzine do 200 Mbps, otporan na
umove i na veim rastojanjima
Opt i ki kabl (Fi ber- opt i c) stotine ili hiljade optikih vlakana koja prenose
pulsirajui svetlosni signal. Izuzetno otproni na poremeaje, omoguavaju veoma brz
prenos (kabl prenika 0.12 ina moe da podri
konverzaciju od do miliona glasova istovremeno).
Najnovija optika dozvoljava brzinu od 1 trilion bps (1
terabit u sekundi).
BEINE VEZE
Beini komunikacioni kanali ostvaruju prenos
podataka kroz atmosferu. U zavisnosti od opsega
uestanosti signala koji se prenose razlikuje se vie
razliitih kanala (Sl. B5).
Radi o prenos - Vea grupa beinih kanala koristi
radio prenos. U industrijskom okruenju koristi se
prenos na ultrakratkim talasima (UHF), koji je relativno
malog dometa i zahteva da se obezbedi direktna
vidljivost. Osnovne prednosti ovakvog prenosa ogledaju
se u injenici da je on izuzetno neosetljiv na umove koji
postoje u industriji. Pored toga, injenica da se prenos
uspostavlja bez kablova u velikoj meri olakava kretanje
maina u proizvodnoj hali.
Mi krot al asni si st emi su izuzetno dobar prenosni
medijum za veliki obim podataka i velika rastojanja.
Podaci se mogu prenositi preko radio antena ili satelita. Radio prenos zahteva da
prijemnik i predajnik budu direktno vidljivi to se moe obezbediti pomou relejnih
stanica.
I nf racrveni si gnal i prenos je ogranien na malu daljinu, i mali ili srednji kapacitet.
Pri tome je potrebno da se obezbedi direktna vidljivost izmeu prijemnika i predajnika.
Komuni kaci oni sat el i t i korienjem geostacionarnih satelita za prenos
mikrotalasnih signala moe se prevazii ogranienje koje postavljaj radio prenos.
Zemaljska stanica alje signale satelitu koji ih pojaava i prosleuje sledeoj stanici.
Ovaj tip komunikacije je izuzetno brz.
Mrea mobi l ne t el ef oni j e se takoe uz korienje odgovarajuih modema moe
koristiti za razmenu podataka izmeu raunara. Osnovna prednost ogleda se u veoma
jednostavnom uspostavljanju komunikacije, koja praktino ne zavisi od rastojanja
izmeu uesnika komunikacije.



SL. B4 EMATSKI PRIKAZ RADIO I
SATELITSKIH VEZA
SL. B5 SPEKTAR ELEKTROMAGNETNIH TALASA
Plc_mreze/207

B.1.3. PROTOKOL
Uspena komunikacija podrazumeva da obe strane aktivno uestvuju u njoj i da
pri tome sluaju jedna drugu. Sa gledita prenosa podataka izmeu raunara to znai da
oni moraju biti u stanju da jedan drugom postavljaju pitanja tipa "da li si spreman da primi
poruku", "da li si dobio moju poslednju poruku", "ima li kod tebe nekih problema", "aljem
ti sada poruku" itd. Skup proceduralnih pravila i formata koji odreuju komunikaciono
ponaanje jednog entiteta, omoguavajui na taj nain smislenu razmenu informacija
izmeu dva entiteta naziva se protokol. Drugim reima, protokol je skup pravila i
standarda koji odreuju nain razmene podataka izmeu hardverskih i softverskih
komponenti u mrei. O potovanju protokola staraju se poseban mreni hardver i softver
tako da korisnik mora da vodi rauna samo o svojim podacima.
Imajui u vidu da je razmena podataka izmeu dve aplikacije na dva raunara
nuno zahtevala postojanje nekog protokola, razumljivo je da su u prvo vreme
proizvoai opreme razvijali veoma razliite protokole namenjene specifinim aplikacijama
na posebnoj kategoriji opreme. Otuda su ovi protokoli esto nekompatibilni jedni sa
drugim.
Vremenom se iskristalisalo da postoje dve kljune oblasti: komercijalne aplikacije i
prikupljanje podataka, koje postavljaju drugaije zahteve u pogledu razmene podataka, pa
su se i protokoli uglavnom usmeravali ka jednoj od te dve vrste aplikacija. Neki od njih,
kao na primer TCP/IP, imaju svoju primenu u obe oblasti.
Tradicionalna obrada podataka u okviru informacionih sistema dovela je do
razvoja niza protokola kao to su Bisync (IBM), Poll Select (Burroughs), SDLC (IBM),
HDLC (ISO), LAPB (CCITT-X.25).
Protokoli razvijeni za potrebe prikupljanja podataka koriste se ili za brzi prenos
podataka u lokalnim mreama (LAN) ili za mree irokog dometa (WAN) koje se najee
sreu u SCADA aplikacijama. U prvo vreme protokoli za brzi prenos informacija bili su
striktno razvijeni za opremu odgovarajueg proizvoaa i nisu se mogli koristiti za druge
proizvode. Tako su, na primer, nastali Allen-Bradley Data Highway/Data Highway+, TI
Tiway (Texas Instruments), Square D Synet, MODICON MODBUS+ itd. Kasnije se
pristupilo razvoju "otvorenih" protokola koji mogu da se koriste na opremi razliitih
proizvoaa. Takvi su, izmeu ostalih, ControlNet (Allen-Bradley), i niz "fieldbus"
protokola kao to su Profibus, LonWorks, Interbus-S, Device Net, ARCNET, IEC/ISA
SP50, Seriplex itd.
Meu najpopularnijim protokolima za mree irokog dometa su MODBUS, SCI
RDACS, Control Applications (CA), L&N Conitel, TRW 9550, S70, 2000 itd. Mnogi
proizvoai koji su razvili protokole za lokalne mree pokuali su da zadre istu strukturu i
da je prilagode mreama ireg dometa. U najveem broju sluajeva ovaj pristup nije dao
zadovoljavajue rezultate jer su LAN protokoli po pravilu suvie neefikasni i kompleksni za
WAN primene.
Protokol primeren SCAD-a aplikaciji mora voditi rauna o karakteristikama
komunikacionih medija koje se u takvim aplikacijama koriste. Tipian SCADA
komunikacioni medij radi sa ogranienom brzinom podataka (oko 1200 bps), veom
brzinom prenosa bitova koji su indikatori greke (5 do 10 puta), i vremenskim kanjenjem
modema (8 10 ms). Razvoj primene satelitskih komunikacija u ovim mreama ubrzano
menja i komunikaciono okruenje za WAN protokole.
U odnosu na strukturu poruke protokoli se dele u etiri kategorije.
Karakter orijentisani protokoli (BISYNC, MODBUS ASCII) zapoinju prenos slanjem
specijalnog znaka (npr "dvotake" ":")
Protokoli tipa "broj bajtova" (DDCMP DECNET), zapoinju prenos slanjem karaktera
iza koga sledi broj bajtova poruke koja e biti preneta.
Bit orijentisani protokoli (SDLC, HDLC, TCP/IP) mogu slati poruke proizvoljne duine i
nisu ogranieni na slanje specifinih karaktera.
Protokoli posebne namene svi ostali protokoli koji ne pripadaju ni jednoj od prve tri
kategorije.
Plc_mree/208

B.1.4. SEDMOSLOJNI OSI MODEL
U prvo vreme svaki proizvoa raunara razvijao je svoje standarde i raunarske
komunikacije mogle su da se ostvare samo izmeu raunara jednog proizvoaa.
Dodatnu tekou predstavljala je i injenica da su proizvoai opreme razvili razliite
protokole namenjene specifinim aplikacijama, koji su esto nekompatibilni jedni sa
drugim. Pod pritiskom korisnika, i uz uee organizacija koje su aktivne u pokuajima da
se standardizuju komunikacioni protokoli (npr. ISO International Standardsa
Organization, ANSI American National Standard Industry, IEC International
Electrotechnical Committee, ISA Instrument Society of America) raunarska industrija
vremenom uspostavlja jasne standarde u ovoj oblasti. U osnovi ovih standarda nalazi se
OSI standard (Open System Interconnection otvorena veza izmeu sistema) koji
obezbeuje okvir za primenu komunikacionih standarda. Osnovna ideja pri formiranju
ovog modela bila je da se ceo proces komunikacije podeli u vie logikih celina (nivoa ili
slojeva), i da se za svaki nivo omogui kreiranje posebnih standarda.
Uspostavljanje veze izmeu dva raunara oznaava se kao jedna sesija (npr.
jedan telefonski poziv). Raunari koji komuniciraju u toku sesije razmenjuju poruke. Neki
od uspostavljenih standarda dele ove poruke u manje jedinice blokove. Ovi blokovi se
sekvencijalno alju i to tako to na svom putu recimo od vora A do vora E blok moe
proi kroz ureaje u vorovima B, C i D. Segmenti puta AB, BC, CD i DE se oznaavaju
kao veze podataka (data link). Nadalje, jedan blok moe biti podeljen u vie okvira (frame)
koji se prenose preko veza podataka. U svaki od okvira stavlja se jedan paket koji
predstavlja deo poruke iz bloka. Paketi mogu putovati razliitim putanjama koje vode do
krajnjeg odredita. Na mestu prijema paketi se ponovo grupiu u blokove i svi blokovi se
uvaju dok se ne formira kompletna poruka.
Na svakom od slojeva OSI modela, odreeni servisi koje obavlja predajnik
obezbeuju integritet poruke i tanost prenosa (Sl. B6).
U funkcionalnom smislu proces komunikacije se moe podeliti u etiri celine.
Apl i kaci j a
Komunikacija zapoinje time to se u okviru korisnike aplikacije (npr. e-mail)
generie poruka. To znai da je neophodno da se uspostavi sprega izmeu aplikacije i
komunikacionog softvera (7. sloj - aplikacija) i da se formira poruka u odgovarajuem
formatu (6. sloj prezentacija). Na mestu predaje to znai da se izvri kompresija
podataka i formatira poruka. Na mestu prijema izvrie se dekompresija podataka i
primeljena poruka preformatirati u oblik u kome moe biti prosleena viem nivou na
kome je aplikacija.
Mrea
Kada je poruka spremna za slanje predajnik uspostavlja vezu, zapoinje sesiju i
pridruuje poruku toj sesiji (5. sloj sesija). Na sledeem sloju (4. sloj transport) poruka
se deli na blokove i odreuju se krajnje taaka pod-mrea kroz koje e proi pojedini
blokovi. Zatim se svaki blok deli na okvire i odreuje se putanja blokova unutar svake pod-
mree (3. sloj mrea). Na mestu prijema operacije se obavljaju obrnutim redosledom.
Na 3. sloju okviri se sakupljaju i formiraju se blokovi, od kojih se na 4. sloju formira poruka
i proverava njena ispravnost. Konano, 5. sloj povezuje primljenu poruku sa sesijom,
prosleuje je viem nivou i prekida komunikaciju.
Veze podat aka
Na ovom nivou upravlja se radom fizikog nivoa, odnosno odreuje se kada i kako
e se emitovati pojedni signali (2. sloj veze podataka). Istovremeno se u skladu sa tipom
fizike veze paketi smetaju u okvire u odgovarajuem formatu.
Prenos si gnal a
Najnii 1. sloj obavlja prenos signala.

Plc_mreze/209


B.1.5. STANDARDI FIZIKIH VEZA
U principu podaci se mogu unositi u raunar ili iz njega iznositi pomou paralelnog
ili serijskog porta. Pri tome, samo ukoliko raunar, ili neki drugi ureaj, ima mogunost
ostvarivanja komunikacije preko serisjkog porta, smatra se da on moe da bude vor neke
mree, odnosno da ostvaruje komunikaciju.
Ukoliko ureaj nema serijski port on moe da ostvari samo elementarnu razmenu
podataka u formi nekoliko digitalnih paralelnih informacija. Ove informacije mogu se
razmenjivati direktno ili pomou tehnike "rukovanja" (handshake). Potrebno je da se
istakne da je ak i u ovom sluaju mogue realizovati raunarsko upravljanje takvim
ureajima. Tako na primer, jedan robot moe biti programiran da eka dok njegov ulaz
broj 4 postane istinit, a tada da otpone sa izvoenjem svog programa broj 5. Kada zavri
posao robot treba da generie signal na svom izlazu broj 2. Ovaj problem se moe reiti
tako to e se digitalni izlaz PLC-a ili bilo kog drugog mikroprocesorskog sistema koji ima
paralelni port, vezati za ulaz broj 4 robota, a izlaz broj 2 robota vezati za digitalni ulaz
mikroprocesorskog sistema. Na taj nain formirana je elementarna jednomainska elija
ijim radom upravlja mikroprocesorski sistem.
Opisani model elementarne razmene binarnih podataka ima izuzetno ograniene
mogunosti. Izvesno je da postoji itav niz sloenijih upravljakih zadataka koji se ne
mogu reiti na taj nain. Pored toga, veliki broj ureaja programira se emulacijom na PC
raunaru, to znai da je neophodno da se program prebacuje sa ureaja na PC raunar i
obratno. Isto tako, esto je potrebno i da se obavi auriranje podatka. Nijedan od
nabrojanih zahteva ne moe se ostvariti elementarnom paralelnom razmenom podataka.
Otuda gotovo svi ureaji imaju sposobnost za ostvarivanje serijskog prenosa podataka.
Pri tome se, u najveem broju sluajeva, koristi asinhroni prenos podataka.
SL. B6 SEDMOSLOJNI OSI MODEL
Plc_mree/210

Da bi dva ureaja mogla da ostvare serijsku asinhronu komunikaciju, neophodno
je da imaju serijske portove. Uspostavljanje komunikacije zahtevalo je da se za svaki port
definie raspored pinova, da se specificiraju nivoi napon i druge karakteristike koje su od
znaaja pri spajanju komunikacionih kanala i raunara. Ovaj opis porta predstavlja fiziki
standard.
Daleko najrasprostranjeniji standard za asinhronu serijsku komunikaciju koristi RS-
232 serijski port: Meutim, iako gotovo svi ureaji imaju ovaj port, to jo uvek ne znai da
dva ureaja kada ime se poveu serijski portovi mogu da uspostave komunikaciju. Naime,
potpuni standard definisan od strane EIA (The Electronic Industries Association), opisuje
RS-232 serijski port, kao port koji ima 25 pinova od kojih svaki pin ima svoju namenu
(jedan pin slui za slanje podataka, drugi za prijem podataka, trei je zajednika masa,
dok ostali pinovi igraju ulogu u prenosu podataka koji koristi tehniku "rukovanja"). Problem
nastaje zato to se standardom ne zahteva da se svi pinovi zaista i iskoriste. Tako neki
proizvoai koriste samo tri pina, neki 9 itd. Ovde je potrebno da se istakne da razliiti broj
pinova povlai za sobom i razliite protokole, a takoe i drugaije podeene module za
serijski prenos informacija. Standard je "nebalansiran", postoji samo jedna zajednika
veza (common) koju koriste i prijemnik i predajnik. Podrava brzine do 19,2 Kbaud-a na
rastojanju do 15,24m. Omoguava integraciju telefonskog i radio modema.
U cilju prevazilaenja probelma koje postavlja standard RS-232 serijskog porta,
definisani su i drugi standardi serijskih portova kao to su RS-422, RS-423, RS-499 itd.
RS-422 i RS-423 standardi koji su razvijeni kasnije sa ciljem ubrzavanja
komunikacije i poveanja rastojanja. RS-422 je balansiran (ima dve zajednike linije) to
smanjuje interferenciju. Podrava brzine do 10Mbaud-a na rastojanju do 80m.
RS-449 standard koji specificira i elektrine i mehanike karakteristike RS-422 i RS-
423 specifikacije. Pri tome je jasno specificirano 37 pinova za primarni prenos i 9 pinova
za sekundarni. Ideja je da on zameni RS-232, to e biti teko zbog rasprostranjenosti
opreme.
RS-485 izveden iz RS-422 standarda i specificira elektrine karakteristike prijemnika
i predajnika koji se vezuju u mreu. Podrava multidrop protokol to znai da se vie
stanica moe vezati na istu liniju. (Dozvoljava povezivanje najvie 32 stanice).
Velika rasprostranjenost ureaja sa RS-232 portom znaajno usporava prelaz na
nove standarde.
Osnovna karakteristika opisanih standarda fizikih veza ogleda se u injenici da su
one namenjene vezivanju taka na taku (point-to-point). To zapravo znai da se dva
ureaja spreu direktno i da preko ovih portova, uz korienje odgovarajueg protokola,
ostvaruju komunikaciju. Nema nikakve sumnje da ovakva vrsta veze nije preterano
pogodna u sluajevima kada je potrebno ostvariti komunikaciju izmeu veeg broja
ureaja. Za realizaciju tog zadatka razvijeni su drugaiji standardi koji omoguavaju da se
vie ureaja nae na zajednikoj liniji (multidrop ili multiline veza).
Potrebno je zapaziti da vezivanje vie ureaja na istu liniju dodatno uslonjava
problem komunikacije. Naime, ako jedna poruka ide preko takve zajednike linije onda je
neophodno da se, na neki nain, prepozna na koji ureaj se ona odnosi. U naelu, ovaj
problem se reava tako to se svakom ureaju pridrui neka adresa pa se u okviru poruke
postavi i adresa primaoca. To nadalje znai i da se ova vrsta veze moe koristiti samo kod
onih ureaja koji imaju posebna logika kola koja slue za analizu adrese i prepoznavanje
poruka koje su njima upuene. Najrasprostranjeniji standardi za serijske portove koji
omoguavaju povezivanje vie ureaja na istoj liniji su RS-485 i IEEE 802.3 (Ethernet).
Veliki broj proizvoaa je razvio svoje protokole na bazi nekog od navedenih
standarda. Otuda se veoma esto fiziki standard mea sa protokolom koji je razvijen uz
korienje tog standarda. Najizraeniji primer je Ethernet koji se koristi i da oznai fiziki
standard i da oznai protokol koji je za njega razvijen.

Plc_mreze/211

B.2. Komunikacione mree
B.2.1. WAN MREE
WAN mree po pravilu koriste komunikacione servise koje pruaju specijalizovane
kompanije. Ovi servisi se dele u dve kategorije:
Komut i r ani (swi t ched) i l i di al -up servi s uspostavljanje veze izmeu dva vora
po posebnom pozivu. Veza ostaje uspostavljena do okonanja poziva. Usluge ove vrste
pruaju telefonske kompanije (POTS plain old telephone service).
Di rekt an servi s ( dedi cat ed) obezbeuje stalnu vezu izmeu dva vora pomou
direktne, iznajmljene (leased) linije (standardne, ISDN, DSL itd.)
WAN mreama, po
pravilu, upravljaju "mainframe"
raunari koji igraju ulogu host
vorova. Oni se vezuju sa
mreom preko Front-end-
processor-a (FEP), koji
obezbeuju komunikaciju i
vre kontrolu ispravnosti
prenetih poruka. Sprega
izmeu FEPa i niza sporih
vorova u mrei ostvaruje se
pomou multipleksera.
Multiplekser kombinuje nizove
podataka koji dolaze od
razliitih vorova u jednu poruku koja se prenosi preko brzog kanala. Ovu poruku prima
drugi multiplekser koji vri funkciju "demultipleksiranja" odnosno razdvajanja poruke na
njene sastavne delove.
B.2.2. KOMPONENTE LAN-A
LAN se pravi povezivanjem niza ureaja pomou standardnih komponenti.
Komunikacioni kanali parice, kablovi ili beina veza
Mikroraunari ili radne stanice moraju imati karticce za spregu sa mreom (NIC
network interface card)
Mreni operativni sistem u zavisnosti od
tipa mree on moe biti smeten na
serveru, na svakom raunaru u mrei ili
podeljen izmeu razliitih maina u mrei.
Repeater pojaava koji pojaava
signale i prenosi paket bez ikakvih
promena
Hub je ureaj koji povezuje segmente mree.
Hub prosleuje poruku koju prima (ne itajui je)
svakom ureaju koji je na njega vezan. Hub se esto
koristi za vezivanje vie raunara u jednu taku u
mrei. U tom smislu on se moe posmatrati kao
razvodnik. Naime, alternativa korienju hub-a bila bi
da se svi raunari konsekutivno poveu jedan sa
drugim. U funkcionalnom smislu ovim bi se postigao
isti efekat, ali bi problem nastao ukoliko jedan od tih
raunara treba iz nekog razloga da se iskljui.


SL. B7 EMATSKI PRIKAZ WAN MREE
Bay Networks
SL. B9 LAN MREA SA HUB-OM
SL. B8 HUB I NJEGOV LOGIKI SIMBOL
Plc_mree/212

Switch povezuje dva ili vie raunara,
hub-a, segmenta mree ili vie mrea koje
imaju isti standard za prenos podataka.
Switch kreira sesije i obezbeuje pravilan
redosled u njihovoj realizaciji. Switch ispituje
adresu destinacije paketa i prosleuje ga
direktno (bez izmene) ka toj destinaciji.
Switch se moe programirati tako da se
pojedini delovi mree koje on povezuje
izdvoje kao logike celine. U tom smislu
switch se moe posmatrati kao "inteligentan"
hub.
Bridge je kolo za spregu (interfejs) koji
povezuje segmente mree istog tipa. Bridge
radi na dva najnia sloja OSI modela,
obezbeujui povezanost fizikog sloja i sloja
veze podataka. To znai da on prebacuje
saobraaj sa jednog segmenta mree na
drugi na osnovu adresa
paketa. Bridge takoe ima i
bafere za privremeni smetaj
paketa. Paketi se uvaju kada
doe do zaguenja u mrei, da
bi se naknadno kad se mrea
rastereti prosledili dalje.
Router j e "inteligentan"
ureaj koji podrava vezu
izmeu slinih, ali i razliitih LAN-ova, kao i vezu LAN-a sa WAN-ovima i MAN-ovima
koji koriste isti mreni protokol.
Ruteri rade na najnia tri sloja OSI
modela, to znai da oni vide celu
mreu (za razliku od bridge-a koji
vidi samo svoju vezu). Kada primi
jedan paket, ruter analizira adresu
njegovog krajnjeg odredita i
odreuje najbolju putanju u mrei
koja vodi ka tom odreditu. On
tada menja okruenje paketa (ali
ne i njegov sadraj) tako da
adresira sledei ruter koji se nalazi
na odreenoj putanji prema
krajnjem cilju.
Gateway se koristi za prenos
podataka izmeu dve mree koje
koriste razliite veze podataka i standarde mree. On
prima podatke sa jedne mree, obrauje ih da bi ih
prilagodio formatu druge mree i alje ih preko te
druge mree. Neki gateway-i ovu operaciju izvode
isto hardverski (veoma brzo), dok neki koriste i
odgovarajui softver to usporava njihov rad.
Gateway radi na svih sedam slojeva OSI modela.


Bay Networks
SL. B12 VEZA DVA SEGMENTA LAN MREE POMOU
SL. B11 LAN MREA SA SWITCH-EM
3Com
SL. B13 POVEZIVANJE RAZLIITIH MREA KOJE KORISTE
ISTI PROTOKOL POMOU ROUTER-A

SL. B10 LOGIKI SIMBOL ZA ISDN, ATM I
WORKGROUP SWITCH
SL. B14 SIMBOLIKE OZNAKE
Plc_mreze/213

B.2.3. TOPOLOGIJA LAN MREA
Nain fizikog vezivanja raunara u mreu odreuje topologiju mee. Postoje tri
osnovna naina vezivanja: zvezda, prsten i magistrala.
ZVEZDA ( STAR NETWORK)
U ovoj topologiji svi ureaji u mrei se vezuju u jednu taku preko centralnog
raunara, to znai da se svaka razmena podataka obavlja preko njega. Osnovna
prednost sastoji se u tome to prekid komunikacije izmeu bilo kog ureaja i centralnog
raunara ne utie na rad ostatka mree. Kvar centralnog raunara, meutim dovodi do
gubitka cele mree. Iz same strukture mree jasno je da se ona koristi prevashodno kada
centralni raunar treba da razmenjuje podatke sa ostalim raunarima, odnosno kad ostali
raunari u mrei nemaju potrebe da meusobno
komuniciraju.
PRSTEN (RI NG NETWORK)
Svi ureaji su
vezani u jedan prsten.
Poruke se prenose
krunim tokom od
raunara do raunara.
Kada jedan vor eli da
poalje poruku on je
prenese na prsten.
Poruka dolazi do
sledeeg vora, koji
ispituje da li je poruka njemu upuena. Ako ustanovi da
nije, on je jednostavno alje dalje ka sledeem voru u
nizu.. Prednost ove veze je u tome to poruka putuje uvek
u istom pravcu, pa tako ne moe doi do kolizije.
Nedostatak je
naravno prekid na vezi koji nastaje im neki
ureaj otkae.
MAGI STRALA (BUS NETWORK)
Svi ureaji su povezani na zajedniku
magistralu. Svaki vor ima svoju adresu i svaki
ureaj moe komunicirati sa bilo kojim
ureajem na magistrali. Mrea je bidirekcionog
tipa, brzine 1 do 10 Mbps, njen rad je
nezavisan od otkaza pojedinih ureaja, ali
cela prestaje sa radom u sluaju otkaza magistrale.
B.2.4. TEHNIKE UPRAVLJANJA RADOM MREE I METODE PRISTUPA MREI
Kada se raunari poveu u mreu onda se, nezavisno od topologije, postavlja
pitanje kako se zapoinje komunikacija i na koji nain, raunar koji eli da poalje neku
poruku dobija pristup na mrei.
U pogledu zapoinjanja komunikacije potrebno je zapaziti da svi ureaji koji se
nalaze u mrei ne moraju da imaju iste funkcije. Naime, neki od njih mogu imati zadatak
da nadziru neke ureaje ili da im izdaju komande, dok drugi jednostavno izvravaju
dobijene naloge. Otuda je prirodno da su razvijene razliite metodologije upravljanja
mreom.
KLI JENT- SERVER LAN
Ova vrsta mree se sastoji od ureaja koji trae neke podatke klijenti i ureaja
koji im pruaju podatke serveri. Otuda se, od servera oekuje da ima WEB platformu,
SL. B15 VEZA RAUNARA U
PRSTEN
SL. B16 VEZA RAUNARA U
ZVEZDU
SL. B17 VEZA RAUNARA PREKO
MAGISTRALE
Plc_mree/214

baze podataka i odgovarajui alat za rad sa njima, itd, dok klijent raspolae sa nekim Web
browserom, GUI-em i slino. Softver koji povezuje rad servera i klijenta se oznaava kao
middleware. U zavisnosti od informacija ili usluga koje server prua on moe biti: file
server, database server, print server, mail server, fax server, communication server etc.
MASTER-SLAVE LAN
Filozofija rada master-slave mree zasniva se na preputanju potpune kontrole
master voru. On periodino poziva svaku od slave stanica i od nje trai podatke ili joj
alje podatke. U principu, slave sam nije u mogunosti da inicira komunikaciju. Otuda je
veza, po pravilu, poludupleks tipa. Ukoliko slave ne odgovara na poziv mastera, master
ponavlja zahtev nekoliko puta, a zatim obavetava da je slave "van funkcije" i prelazi na
komunikaciju sa sledeom stanicom.
Osnovne prednosti ovakvog naina komuniciranja su jednostavnost, a time i
pouzdanost komunikacionog softvera, jednostavnost detekcije neispravnosti rada slave
vora i nemogunost kolizije poruka u toku komunikacije. To znai da je protok podataka
predvidiv i konstantan.
Kljuni nedostatak master-slave tehnike komuniciranja je nemogunost slave
vora da trai prekid i hitno uspostavljanje komunikacije ukoliko se za time ukae potreba.
Pored toga, ne postoji nain da se komunikacija sa pojedinim slave vorovima primeri
obimu podataka koje oni alju ili primaju i uestanosti sa kojom se podaci menjaju. To
znai da ovakve mree, ukoliko se u nekim vorovima podaci sporo menjaju, mogu da
budu nepotrebno spore i neefikasne. Konano, ukoliko postoji potreba da se razmene
podaci izmeu dve slave stanice to je mogue uiniti iskljuivo preko master stanice.
PEER- TO- PEER LAN
Peer-to-peer
4
komunikacija oznaava mreu ureaja koji su potpuno ravnopravni
u smislu komunikacija i koji koriste isti mreni protokol za razmenu podataka. Pri tome
svaki od ureaja moe zapoeti komunikaciju. U realizaciji ovog tipa mrea koristi se
nekoliko metodologija kojima se zapravo utvruje nain komunikacije i nain spreavanja
kolizija poruka.

Sledee pitanje na koje treba da se odgovori vezano je za upravljanjem samom
komunikacijom u sluajevima kada su vorovi u mrei ravnopravni. Naime, budui da se
ne moe unapred znati kada e neki od vorova imati potrebu da poalje neku poruku,
neophodno je da se uspostavi neki mehanizam po kome oni dobijaju pravo da
komuniciraju.
Da bi se objasnio nain na koji je reeno upravljanje komunikacijom posluiemo
se jednim primerom. Zamislimo jednu mranu prostoriju punu ljudi koji s vremena na
vreme ele neto da saopte. Sasvim je jasno da e, ako se meu njima ne uspostave
neka pravila ponaanja, u prostoriji vladati neopisiva galama i da niko nee nita razumeti.
U sutini ova situacija se moe prevazii na dva osnovna naina.
Prvi nain sastojao bi se u tome to bi se oni dogovorili da svako ima pravo da
govori odreeno vreme i da se to pravo daje svima ravnopravno. Sada jo jedino ostaje
da se dogovore na koji nain e svako od njih dobijati re. Budui da je prostorija mrana,
izvesno je da dizanje ruke ili neki druga vizuelna manifestacija nije mogua. Mogue
reenje je da oni uzmu neki predmet, recimo "maramicu" koja e ii iz ruke u ruku. Dakle,
jedan od prisutnih uzme maramicu i pone da govori. On pri tome moe da uputi vie
poruka raznim ljudima u prostoriji. Kada on zavri, ili kada istekne vreme koje mu je
dodeljeno, on maramicu doda prvoj osobi pored sebe. Time ona dobija pravo da uzme
re i tako redom. Ovaj princip komunikacije koristi se u jednom broju raunarskih mrea
koje rade na takozvanom principu rotirajueg etona ("passing token"). To zapravo znai
da kroz mreu putuje "eton" od vora do vora. vor koji primi eton, zapoinje
komunikaciju i alje jednu ili vie poruka. Teorijski svi vorovi u mrei primaju tu poruku,
no poto ona sadri i adresu primaoca, samo onaj kome je upuena e je zadrati,

4
Peer drug, ravnopravni partner
Plc_mreze/215

raspakovati, proitati i uraditi ono to se porukom od njega zahteva.
Osnovna odlika ovog tipa mrea sastoji se u tome to se sa velikom preciznou
moe odrediti u kojim vremenskim trenucima e koji vor imati pravo komunikacije. Iz tog
razloga ovaj tip mree se naziva mrea sa deterministikim pristupom.
Drugi nain da posmatrana grupa ljudi rei problem komunikacije sastojao bi se u
tome da svako od njih kada ima potrebu da progovori kae jednu re i oslukuje da li se u
tom trenutku u sobi uje samo to to je on rekao ili se uje jo neki drugi glas. Ukoliko je
on jedini koji je poeo da govori, on dobija pravo na komunikaciju i niko ga ne moe
prekinuti dok ne zavri (svi ostali moraju da ute). Kad on zavri, bilo ko drugi moe da
pokua da zapone komunikaciju. Ukoliko se, meutim, kad je on izgovorio re, uje i neki
drugi glas, tada svi prisutni uute, saekaju neki period vremena i ponovo pokuavaju da
progovore. Ovaj princip komunikacije se koristi u mreama sa viestrukim emitovanjem
("multi-cast" ili "multi-drop"). To zapravo znai da u ovim mreama nema etona koji bi
bilo kom voru garantovao pravo na slanje poruka. Svaki vor kada treba da poalje
poruku puta je u mreu i zatim oslukuje da li e se kao eho vratiti ista poruka. Ako se to
dogodi, to znai da je on u tom trenutku jedini emitor na mrei i on dobija pravo da zavri
zapoetu komunikaciju (ostali vorovi ekaju dok on ne zavri). Ukoliko se, meutim, kao
eho poslate poruke javi izmenjena poruka, to znai da se ona sudarila sa porukom nekog
drugog vora. U tom sluaju, oba vora prekidaju emitovanje, ekaju neko vreme (svaki
vor eka neki drugi interval vremena) i onda pokuavaju ponovo da zaponu emisiju.
Oigledno je da se u ovoj tehnici pristupa mrei nijednom voru ne moe
garantovati da e u nekom odreenom vremenskom intervalu dobiti pravo na slanje
poruka. Otuda se ove vrste mrea oznaavaju kao mree sa sluajnim (stohastikim)
pristupom.


Plc_mree/216


Plc_ind_mreze/217


C. Industrijske (upravljake) raunarske mree
C.1. Nivoi komunikacija pri upravljanju procesom
U jednom proizvodnom pogonu jasno se uoava podela posla. Najvei broj
zaposlenih - rukovaoci maina - direktno upravlja i nadzire rad pojedinih ureaja kao to
su ventili, senzori, pogoni motora, itd. Na tom najniem nivou, koji se oznaava kao nivo
ureaja (device level) nalazi se merna oprema i izvrni organi (field devices). Najvei broj
ovih ureaja koji se danas koristi u industriji je veoma jednostavan i ima sposobnost samo
da prenosi "on/off" signale PLC-u. U poslednje vreme proizvoai su poeli da ovim
ureajima dodaju komunikacione sposobnosti, to onda omoguava njihovu direktnu vezu
sa magistralom. Na taj nain smanjuje se potrebno ienje do kontrolera.
Vie ovakvih ureaja ini jednu proizvodnu mainu, recimo robota, pokretnu traku,
numeriki upravljanu mainu alatljiku (CNC mainu), PLC i slino. Ovaj nivo u
proizvodnom pogonu oznaava se kao mainski nivo (machine level) i on obuhvata
delove opreme koja proizvodi neki proizvod ili sa njime rukuje. Zajednika karakteristika
svih maina je da su direktno angaovane u proizvodnji nekog proizvoda. Neke od njih
pomeraju proizvod, neke ga menjaju i time stvaraju novu vrednost. Otuda je njihov
ispravan i koordiniran rad od krucijalnog znaaja za efikasnu proizvodnju. Neispravna ili
zakasnela informacija moe da proizvede veoma negativne efekte. U skladu sa time sve
ove maine zahtevaju programsku podrku preko koje se upravlja njihovim radom.
Druga zajednika karakteristika maina je da se u njihovom radu kreiraju podaci.
Mogue je veoma precizno ustanoviti koliko je proizvoda obraeno na maini, koliko treba
vremena za jedan proizvod, koliko je vreme uklanjanja gotovog proizvoda i pripreme za
otpoinjanje izrade novog, kada treba promeniti alat itd. Ove podatke operateri prikupljaju
i obrauju.
Interesantno je napomenuti da se nivo maine obino smatra najznaajnijim
nivoom u celom proizvodnom pogonu. To je zapravo mesto na kome se kreira nova
vrednost od koje zavisi ekonomska mo celog preduzea. Pridajui ovom nivou daleko
najvei znaaj, Japanci, recimo, primenjuju takozvani "kaizen" koncept, koji podrazumeva
neprekidno unapreivanje samog postupka proizvodnje.
Maine se logiki grupiu u sledeu celinu koja se oznaava kao elija (cell level).
U okviru jedne elije obrauju se slini elementi i formira novi proizvod. Tako na primer, u
okviru jedne elije moe da izrauje motor za unutranje sagorevanje. To nadalje znai da
je zadatak elije da objedini razliite maine na kojima se proizvode pojedini delovi motora
i da ih integrie u jednu kooperativnu radnu celinu. Radom elije upravlja kontroler ili
operater. Njegov zadatak je da ustanovi koliko proizvoda treba da proizvede elija, i kojim
proizvodnim programom to moe da se uradi na najefikasniji nain. Istovremeno, u cilju
to bolje organizacije celokupne proizvodnje, predradnik mora da razmenjuje podatke sa
svojim kolegama koji upravljaju radom elije koja proizvodi delove nekog proizvoda.
Vie elija ini novu celinu pogon (area level). U
posmatranom primeru proizvodnje automobila postojae
mainski pogon, pogon za farbanje i lakiranje, odeljenje
za elektrine instalacije, itd. Radom pogona rukovodi
pogonski inenjer iji je zadatak da organizuje proizvodnju
u pogonu i koordinira rad svih elija. Konano, na vrhu
piramide nalazi se uprava celog preduzea (host level)
koji nadgleda rad svih pogona i njima strateki rukovodi
(Sl. C 1).
Ako se sada cela ova piramidalna struktura
pogleda sa gledita potreba za komunikacijom vidi se da
se one razlikuju od nivoa do nivoa.
Pre svega, stanje ureaja na mainama i druge
SL. C 1 NIVOI ORGANIZACIJE
PROIZVODNJE
Plc_ind_mree/218

podatke od znaaja za proizvodnju prate rukovaoci maina. Oni istovremeno i daju
komande za rad mainama. Po pravilu, ovde se radi o elementarnim informacijama koje
se prenose pomou binarnih signala. Ako se podsetimo da rad maina koordinira elija,
onda je jasno da na nivou maina ne postoji potrebe za meusobnom komunikacijom.
Sve maine u jednoj eliji , meutim, moraju biti upravljane na neki osmiljen
nain. Ovo se moe ostvariti uz pomo jednog PLC-a koji e igrati ulogu kontrolera na
nivou elije. To znai da bi se u informatikom smislu prikupljanje podatka sa maina
moglo poveriti PLC-u preko ijih U/I modula bi bili vezani svi davai podataka i izvrni
organi. U tom smislu ovaj PLC bi sluio kao koncentrator podataka. Uz ovaj PLC moe se
svakako nai i neki operatorski terminal preko koga bi operator pratio rad elije.
Poseban problem predstavlja injenica da se na nivou elije javlja i potreba za
meusobnom komunikacijom, to znai da je neophodno da se omogui razmena
podataka izmeu PLC-ova koji se upravljaju pojedinim elijama. Ovaj problem se reava
vezivanjem PLC-ova u raunarsku mreu.
Na slian nain, informacije iz pojedinih elija moraju da se dostavljaju
rukovodiocu pogona. Na nivou pogona se ve zahteva prikupljanje i analiza obilja
podataka. U tom smislu, primereno je da se ovaj posao poveri nekom PC raunaru.
Naravno, i svi PC raunari iz pojedinih pogona moraju meusobno da razmenjuju
podatke, ali i da deo tih podataka dostavljaju viem nivou na kome se nalazi menadment
celog preduzea. Izvesno je da se i ovaj problem moe reiti vezivanjem raunara u
mreu.
U skladu sa analiziranim komunikacionim potreba proizvodnih pogona razvijane su
i posebne vrste raunarskih mrea.
C.2. Struktura upravljakih mrea
Nema nikakve sumnje da problem za ije se reavanje koristi raunar odreuje i
vrstu i obim podataka koji se razmenjuju preko raunarske mree. Komercijalne aplikacije
za koje su realizovani odgovarajui informacioni sistemi razmenjuju velike pakete
podataka preko mrea podataka ili informacionih mrea. Pri tome se zahteva velika brzina
prenosa, ali se relativno retko javlja intenzivan prenos paketa. Pored toga ne postavlja se
zahtev da se taj prenos obavi u realnom vremenu (bar ne u striktnom znaenju tog
pojma).
Za razliku od komercijalnih aplikacija, pri upravljanju sistemima pomou raunara
postoji potreba da se, sa velikom uestanou, razmenjuje nebrojeno mnogo malih paketa
podataka relativno velikog broja vorova. Pri tome se pri prenosu mora omoguiti podrka
radu u realnom vremenu, odnosno mora se obezbediti ispunjenje svih vremenski kritinih
zahteva. Imajui u vidu da se ovde radi o sutinski drugaijim potrebama, nije udno to
su se vremenom, za potrebe raunarskog upravljanja, razvile potpuno specifine vrste
raunarskih mrea koje se oznaavaju kao industrijske ili upravljake raunarske mree.
Samo se po sebi razume da se problem komunikacije na nivou uprave, odnosno
razmena informacija izmeu razliitih poslovnih funkcija u jednom preduzeu ili ak
poslovodstava razliitih preduzea, razmatrao potpuno odvojeno od komunikacije izmeu
ostalih nivoa u piramidi ureaja. Na tom nivou razvijane su klasine informacione mree,
koje su zapravo, veoma rano standardizovane.
Pravi problem javio se na niim hijerarhijskim nivoima. Tu se nalazilo mnotvo
razliitih raunarskih ureaja koji su obavljali komunikaciju na veoma razliite naine, koji
su, pre svega, zavisili od proizvoaa opreme. Pri tome je svaki proizvoa opreme,
imajui na umu razliite sposobnosti, pa i funkcionalne karakteristike pojedinih ureaja, za
svaki od nivoa razvijao posebne protokole. Svi su protokoli bili zatvorenog tipa, odnosno
namenjeni opremi samo jednog proizvoaa. U principu, korien je "master/slave" princip
upravljanja. Pri tome je jedan PLC, po pravilu bio "master" za itav niz ureaja koji su se
za njega vezivali (Sl. C 2). Zapravo, najvei broj ureaja i nije imao niakve sposobnosti
za komunikaciju, te je PLC kao jedini mreni ureaj, obavljao prikupljanje podataka sa
ovih ureaja, kao i zadavanje komandi.
Plc_ind_mreze/219

Veoma dugo, bilo je gotovo
nemogue povezati opremu razliitih
proizvoaa. Samo se po sebi
razume da je to stvaralo izuzetne
tekoe u automatizaciji celog pogona
ili vie pogona. Tako je na primer,
poetkom osamdesetih godina
prolog veka, u industriji automobila
General Motors (GM), bilo desetine
hiljada ureaja proizvedenih od
strane vie od 30 razliitih
proizvoaa, koji gotovo uopte nisu
bili u stanjau da meusobno
komuniciraju. Otuda nije ni udo to je
ba iz GM-a potekla prva ideja o
formiranju standardizovanog
protokola za komunikacije. Naime,
kada su ustanovili da je sa finansijske
take gledita gotovo nemogue da
se angauju strunjaci koji bi formirali
odgovarajui softver koji bi omoguio
komunikaciju razliith ureaja, oni su
pokrenuli inicijativu za formiranje MAP
protokola (Manufacturing Automation
Protocol protokol za
automatizovanu proizvodnju). Osnovna
ideja je bila da e kada budu postojali
jasno definisani standardi i kada korisnici
budu insistirali da se oni potuju,raunarska industrija biti prinuena da ih prihvati. Kao
rezultat te inicijative nastao je, ve pomenuti, sedmoslojni OSI model. Veoma brzo se,
takoe, pokazalo da je rukovodstvo GM-a bilo u pravu. Raunarska industrija je prihvatila
nametnute standarde i poela da proizvodi opremu za komunikaciju u skladu sa njima.
Sa razvojem tehnologije, ureaji su postepeno dobijali namenske mikroprocesore
koji su omoguavali daleko jednostavniju kontrolu komunikacije. Time je proirena gama
ureaja koja ima sposobnost komunikacije, to znai da se moe povezati u jedinstvenu
mreu. Tako se gotovo potpuno izgubila potreba za mreama na nivou elije jer su one
mogle da se ukljue u lokalnu mreu (Sl. C 2). Meutim, na nivou maina i ureaja i
nadalje je preovladavalo vezivanje u zvezdu, sa "master/slave" metodom prenosa
podataka. Logino je da je sa proirenjem prostora na kome se prostire postrojenje koje
se automatizuje, kao i sa poveanim zahtevima u pogledu funkcionalnosti, ova arhitektura
postaje neadekvatna.
Kao to je ve reeno, savremeni sistemi upravljanja su modularni sa
decentralizovanim upravljanjem. To zapravo znai da se od raunarske mree koja
podrava rad takvog sistema oekuje da omogui jednostavnu izmenu strukture sistema
(dodavanje ili promenu modula), kao i distribuciju obrade podataka po pojedinim
modulima. Sa druge strane, i sami ureaji koji su elementi sistema imaju svoje procesore i
odgovarajue komunikacione sposobnosti. Otuda se ne vidi ni jedan razlog zato bi oni i
dalje radili u "master/slave" arhitekturi mree. Polazei od ove injenice razvijena je nova
arhitektura industrijske raunarske mree NCS (Networked Control System) ija je
osnovna odlika zajednika magistrala. Pored niza drugih prednosti ovaj pristup dovodi do
malog obima ienja. Umesto da se svaki ureaj posebnim kablom vezuje na "master"
ovde se kroz ceo pogon poloi samo jedan kabl (magistrala) za koji se direktno vezuje
svaki pojedini ureaj (Sl. C 3).
Najvei broj NCS mrea koristi sposobnosti procesiranja u svakom voru. Na taj
nain omoguena je i funkcionalna modularnost sistema tako to se odluivanje i
SL. C 2 VEZIVANJE UREAJA PO "MASTER/SLAVE"
PRINCIPU
Plc_ind_mree/220

upravljanje distribuira izmeu kontrolera u mrei. Nadalje, ovaj pristup omoguava i
definisanje standardizovanih sistema za spregu pojedinih elemenata na magistralu..
C.3. Industrijske magistrale
Imajui u vidu da se elementi koji se vezuju na mreu na nivou ureaja i maina
ipak znaajno razlikuju po svojoj
funkciji razvijen su dva tipa
industrijskih magistrala: magistrala
ureaja (device bus) i procesna
magistrala (process bus).
Magistrale ureaja
zamiljene su da obezbeuju
prenos kratkih poruka duine
nekoliko bajtova i dele se na
bi t -wi de(1 do 8 bitova za
jednostavne digitalne ureaje)
byt e-wi de (oko 50 bajtova
dugake poruke).
Najvei broj ureaja koji se
prikljuuje na ovu vrstu magistrale je
digitalan (senzori, tasteri, granini
prekidai, itd.), iako se mogu
prikljuiti i analogni ureaji koji
zahtevaju mali broj bajtova
(termospregovi, drajevri motora,
kontroleri temperature, itd.). U
principu, na ovim magistralama se
sreu digitalni U/I ureaji, blok U/I
ureaji (sloeni ureaji koji imaju
nakoliko aktuatora koji se zajedniki
kontroliu, ili nekoliko senzora iji se
izlazi kombinuju), ili eventualno
"inteligentni" ureaji (drajveri
motora). Na ovim magastralama u primeni su i master/slave metoda i token ring metoda
prenosa.
Procesne magistrale
prenose pakete od po nekoliko
stotina bajtova. Na njih se vezuju
"inteligentni ureaji" koji koriste
analogna merenja i upravljake
signale (servomehanizmi ili
upravljake jedinice kojima se
alju reference ili parametri). Na
ove magistrale se prikljuuju i
ureaji koji imaju sposobnost
"peer-to-peer" komunikacije bilo
na bazi rotirajueg etona bilo na
bazi viestrukog emitovanja.
Potrebno je da se istakne
da za svaki od ova dva tipa
magistrale postoji itav niz
protokola, odnosno tipova mrea koji se mogu formirati (Sl. C 4). Pri tome, sve savremene
industrijske mree imaju otvorene protokole, to znai da se na njih moe vezati oprema
SL. C 3 VEZIVANJE UREAJA NA INDUSTRIJSKE MAGISTRALE
SL. C 4 PREGLED KORIENJA INDUSTRIJSKIH MAGISTRALA
Mainframe
0
Uprava
Pogon
elija
Maina
Ureaj
Radna stanica PC
PC
Informaciona mrea
Procesna magistrala
Magistrala ureaja
elijski kontroler
Y
-A
x
is
F
i
e
l
d

B
u
s

P
R
O
F
I
B
U
S
E
C
H
E
L
O
N
M
o
d
b
u
s

P
l
u
s
,

D
H
+
P
R
O
F
I
B
U
S

F
M
S
P
R
O
F
I
B
U
S

D
P
D
e
v
i
c
e
N
e
t
S
D
S
I
n
t
e
r
B
u
s
-
S
A
S
I
S
e
r
i
p
l
e
x
Plc_ind_mreze/221

razliitih proizvoaa. Takoe, za itav niz ureaja namenjenih mreama sa zatvorenim
protokolima, razvijeni su posebni ureaji za spregu koji omoguavaju da se oni veu i u
drugaije mree od onih za koje su bili prvobitno projektovani. Jednom reju, danas se
svaki proizvoa trudi da obezbedi da se njegovi ureaji mogu povezati u bilo koju
industrijsku mreu.
Napomenimo na kraju da je kod industrijskih mrea vreme u kome se prenosi
poruka izuzetno znaajno. Otuda se esto prednost daje deterministikim tehnikama
pristupa (na principu rotirajueg etona). Ukoliko, se meutim, eli koristiti tehnika
viestruke emisije, onda je neophodno da se obezbedi da mrea ima izuzetno veliku
brzinu prenosa, ime se poveava verovatnoa da se poruka prenese u traenom
vremenskom periodu.
C.4. Mree i protokoli za master/slave komunikaciju
C.4.1. UDALJENI U/I UREAJI (REMOTE I/O)
Komunikacija sa prostorni udaljenim U/I ureajima predstavlja zapravo preteu
industrijskih master/slave mrea. Nastala je prevashodno iz potrebe da se obezbedi
prikupljanje i prenos podataka na udaljenim, esto nepristupanim lokacijama koje nisu
bile pogodne za smetaj centralne
stanice koju bi nadgledao operator,
ali i iz elje da se formira
distribuirani upravljaki sistem u
kome bi se poslovi prirodno grupisali
u odgovarajue funkcionalne celine,
pri emu bi se zadrala dovoljno
brza komunikaciona veza sa
centralnom stanicom. injenica da
se prenos podataka obavlja na
nivou U/I ureaja i blok U/I, uslovila
je da je ova vrsta komunikacije
razvijana namenski za odreenu
klasu proizvoda, to znai da retko
podrava opremu razliitih
proizvoaa.
Sa aspekta naina na koji
se komunikacija obavlja, ona
pripada master/slave kategoriji ,
pri emu ulogu mastera obavlja
PLC koji preko posebnog modula
za rad sa udaljenim U/I
ureajima vri oitavanje i
upisivanje podataka.
ALLEN BRADLEY, SLC SERIJA,
REMOTE I/O
Udaljeni U/I se realizuje
pomou Remote I/O Scanner
Module (SN) koji se postavlja u
jedan od slotova PLC-a koji treba
da igra ulogu mastera (Sl. C 5
Vezivanje ureaja kao udaljenih
U/I). Jedan SN modul moe da
podri vezivanje do 16 ureaja
koji imaju mogunost za "slave"
SL. C 5 VEZIVANJE UREAJA KAO UDALJENIH U/I
SL. C 6 RAZMENA PODATAKA SA UDALJENIM U/I UREAJIMA
Plc_ind_mree/222

komunikaciju. U principu, to su ili specijalizovani ureaji kao to su razliite vrste
opratorskih panela, ili namenskih blok U/I ureaja. Pored toga, klasini U/I ureaji se
mogu smestiti i u udaljenu asiju koja u nultom slotu ima Remote I/O Adapter Module
(1747-ASB). Ovaj modul igra ulogu "gateway"-a izmeu SN modula u PLC-u i U/I modula
koji su vezani na udaljenu asiju.
Ukoliko je potrebno da se vee vie od 16 ureaja, onda se u master PLC moe
postaviti jo neki SN modul.
Prenos podataka du ove mree obavlja se u okviru regularnog sken ciklusa PLCa
i to u "housekeeping" periodu (Sl. C 6). Ovo je ujedno i razlog zato se, po pravilu,
udaljeni U/I razvija za odreeni tip PLCa i njemu odgovarajuih modula. Naime, sama
filozofija sken ciklusa zahteva jasno definisanje adresa svih ulazno izlaznih taaka i
njihovog povezivanja pridruenim prostorom u memoriji, to nuno zavisi od arhitekture
PLCa.
C.4.2. STANDARDNI MASTER/SLAVE PROTOKOLI
ALLEN BRADLEY DEVICENET
U funkcionalnom smislu ova mrea je ista kao i udaljeni U/I. Razlika je samo u
tome to DeviceNet ima otvoreni standard. To zapravo znai da se u nju moe vezati
oprema razliitih proizvoaa uz uslov da podrava dati standard.
U tipinoj Allen Bradley DeviceNet mrei, DeviceNet Scanner (1747-SDN) se
postavlja u asiju master PLC-a i igra ulogu interfejsa izmeu ureaja na mrei i PLCa.
Jedan SDN skener moe da komunicira sa najvie 63 slave vora u mrei. Pri tome, jedan
PLC moe da podri vie SDN skenera u svojoj asiji, to znai da se preko njega moe
povezati i vie ureaja.
Komunikacija SDN skenera sa ureajima koji su vezani u vorovima mree
obuhvata oitavanje podataka, upisivanje komandi, prenoenje (download) podataka o
konfiguraciji ili oitavanje statusa ureaja. U/I sken se obavlja asinhrono u odnosu na
sken ciklus samog PLC-a, pri emu se podaci razmenjuju za vreme dela ciklusa
odravanja i to tako to SDN skener prenosi prikupljene podatke u odgovarajue delove
memorije PLC-a ili od njega preuzima podatke koje treba da prenese ureajima na mrei.
MODBUS
Modbus protokol je razvila kompanija Modicon u cilju povezivanja PLCa sa
ureajima za njegovo programiranje. Njegova osnovna karakteristika - nezavisnost od
fizikog sloja - ini ga jednim od najrasprostranjenijih protokola za komunikaciju u
master/slave mrei. Protokol moe da se koristi za komunikaciju preko RS232, RS422 ili
RS485 linija, kao i preko niza
drugih medija kao to su optiki
kablovi, radio komunikacija,
mrea mobilne telefonije itd.
Postoje dve verzije
Modbus protokola:
ASCI I prenos svaki bajt u
poruci se prenosi kao 2 ASCII
karaktera; ovaj prenos
dozvoljava da interval vremena
izmeu prenosa dva karaktera
ude do 1 sekunde.
RTU prenos -. svaki bajt u
poruci se prenosi kao dva
etvorobitna heksadecimalna
broja.
Format MODBUS poruke prikazan je na Sl. C 7.
SL. C 7 FORMAT MODBUS PORUKE
Tiina Adresa Funkcija CRC Podaci
3.5
karaktera
Modbus RTU
Tiina
1 bajt
(0-247)
1 bajt
(1-255)
parovi od
po 2 bajta
2 bajta
3A (hex) Adresa Funkcija LRC Podaci
Modbus ASCII
CR
0D (hex)
0-247
1 bajt
(1-255)
parovi od
po 2 bajta
1 bajt
LF
0A (hex)
Plc_ind_mreze/223

Pri slanju poruke master upisuje adresu slave vora kome je poruka namenjena.
Prilikom slanja odgovora, slave u isto polje upisuje svoju adresu, tako da master zna od
kog vora je poruka stigla. Slave vorovi imaju adrese od 1 do 247. Ukoliko master u
adresno polje upie adresu 0, to znai da je poruka namenjena svim slave vorovima i da
oni na nju ne odgovaraju (broadcast message).
Kod za funkciju oznaava operaciju koju slave vor treba da obavi, kao to su
oitavanje stanja digitalnih ulaza ili registara, upisivanja vrednosti na digitalne izlaze ili u
registre itd. Ukoliko je zahtevana operacija uspeno obavljena, pri slanju odgovora slave
vor ostavlja ovo polje neizmenjeno. Ukoliko je dolo do neke greke, slave vor menja
originalni kod funkcije tako to najznaajniji bit postavlja na logiku jedinicu.
Polje sa podacima sadri dodatne informacije neophodne za obavljanje zahtevane
operacije, kao to su adrese registara ili digitalnih U/I sa kojih se uzimaju podaci ili u koje
se upisuju podaci i slino. Za svaki kod funkcije definisan je niz i redosled podataka
kojima se operacija specificira. Ukoliko se zahteva oitavanje podataka slave vor e
poslati poruku sa traenim podacima u utvrenom redosledu koji odgovara primljenom
kodu funkcije. Ukoliko je, meutim, traena operacija upisivanja podataka, slave vor e
poslati poruku koja je identina onoj koju je primio i time signalizirati master voru da je
operacija obavljena. Ako pri obavljanju operacije doe do neke greke, slave vor e
poslati kod greke na osnovu koga e master da odredi sledeu operaciju koja treba da
se izvri.
Tanost prenetih podataka proverava se pomou CRC (Cyclic Redundancy
Check) ili LRC (Longitudinal Redundancy Check) koda. Ovaj podatak izraunava master i
ukljuuje u poruku. Kada slave vor primi poruku, on na osnovu primljenih podataka
ponovo izraunava CRC ili LRC kod. Ukoliko se izraunati podatak ne slae sa
primljenim, slave vor nee poslati odgovor master voru. Ukoliko master ne primi
odgovor do isteka tajmaut intervala to je znak da prenos podataka nije uspeno obavljen.
C.5. Mree i protokoli koji rade na principu razmene etona
Ove mree pripadaju klasi deterministikih mrea, jer se svakom voru moe
garantovati pravo na emitovanje u odreenim vremenskim intervalima. Pri tome se
maksimalno vreme ekanja pre otpoinjanja emitovanja odreuje vremenom rotacije
token-a. Pri korienju ove tehnike komunikacije ne dolazi do kolizije poruka, jer samo
jedan vor emituje u jednom trenutku.
U principu u ovoj kategoriji razlikuju se mree zasnovane na token ring (IEEE
802.5) standardima i token-passing bus (IEEE 802.4) standardima. Ove poslednje imaju
ravnopravne vorove na magistrali koja podrava linearnu, multidrop, ili segmentiranu
topologiju. Tipini predstavnici ove klase mrea su MAP, PROFIBUS i ControlNet. Pri
tome PROFIBUS podrava i master/slave protokol.
C.5.1. DH485 MREA
Ova mrea moe da podri komunikaciju 32 ureaja na rastojanju od 1219m.
Mrea je zasnovana na RS 485 standardu nad kojim je nadgraen Allen Bradley protokol,
koji ukljuuje token ring (IEEE 802.5) standard.
DH485 protokol podrava dve klase ureaja: inicijatore (initiator) i odazivae
(responder). Svi inicijatori na mrei dobijaju priliku da iniciraju prenos poruke. Pravo
inicijatoru da emituje poruku dodeljuje se pomou rotirajueg etona.
vor koji poseduje eton ima pravo da poalje bilo koju validnu poruku. Pri tome,
vor ima pravo na slanje samo jedne poruke, uz dva ponovna pokuaja ako je emisija
neuspena. Kada vor poalje poruku, on alje eton (tocken pass packet) sledeem
voru u kome se nalazi inicijator . Ukoliko posle toga ne doe do aktivnosti na mrei, to
znai da sukcesor iz nekog razloga nije primio eton, pa inicijator ponovo alje isti paket.
Posle dva neuspena pokuaja inicijator pokuava da pronae sledeeg sukcesora,
poveavajui adresu primaoca.
Maksimalna adresa koju e inicijator traiti pre nego to ponovo pone od nultog
Plc_ind_mree/224

vora je vrednost koja je zabeleena kao "maksimalna adresa vora". Ovo je
konfigurabilni parametar (od 0 do 31). Dozvoljene adrese respondera su od 1 do 31.
Oigledno je da ova mrea moe da funkcionie ukoliko se u njoj nalazi bar jedan
inicijator.
C.5.2. CONTROLNET MREA
ControlNet je brza deterministika mrea koju je razvio Allen Bradley za potrebe
prenosa vremenski kritinih informacija. Pouzdanost mree poveana je obezbeivanjem
mogunosti dvostruke veze izmeu vorova. To zapravo znai da se prenos informacija
uvek obavlja po onom od dva kanala koji pokazuje vei stepen ispravnosti prenetih
poruka.
Mrea radi na taj nain
to vor prima eton i
otpoinje emitovanje. Emisija
traje sve dotle dok vor ne
poalje sve okvire podataka
koje ima ili dok ne istekne
vreme koje mu je dodeljeno za
emitovanje. Pri prekidu
emisije, vor generie eton
koji alje svom logikom
sledbeniku, nezavisno od
fizikog poloaja vorova u
mrei. Ukoliko sledbenik koji je
dobio eton nema ta da
emituje, on ga odmah
prosleuje sledeem voru koji
je njegov logiki sledbenik.
Za promenu emitera
koristi se metod implicitnog
prosleivanja etona. Naime
svaki vor u mrei ima svoj
MAC_ID media access identifier (broj od 0 do 99). Svi vorovi prate emitovanje poruke,
uzmu iz nje "MAC_ID izvora" (oznaku vora koji emituje poruku) i u svoj interni implicitni
registar etona upiu taj podatak uvean za jedan. Kada se detektuje kraj poruke, svi
vorovi uporede upisani podatak sa svojim MAC_ID. Kod jednog od vorova ova dva
podatka se moraju poklopiti, to znai da taj vor "dobija eton", odnosno pravo na
emitovanje.
Sutinska razlika izmeu
ove metode dodeljivanja etona i
metode rotirajueg prstena,
ogleda se u fizikom rasporedu
vorova. Naime, kod rotirajueg
prstena, vorovi su fiziki
povezani u prsten i njihov
poloaj odreuje redosled u
kome dobijaju pravo na
emitovanje. Kod implicitnog
prosleivanja etona, meutim,
ostvaren je logiki prsten u kome
svaki vor zna svoj MAC_ID, a
samim tim i adrese svog
prethodnika (MAC_ID-1) i
sledbenika (MAC_ID+1). Otuda se vorovi mogu dinamiki dodavati na magistralu ili sa
SL. C 8 FORMAT OKVIRA CONTROLNET PORUKE
SL. C 9 PRISTUP MEDIJU KOD CONTROLNET MREE
Plc_ind_mreze/225

nje skidati.
Vreme rotacije etona (TRT Token Rotation Time) odreuje NUT interval
(Network Up-date Time). Ovaj interval se deli na tri dela:
Schedul ed prenos vremenski kritinih poruka; u ovom intervalu svaki vor dobije
eton i prenosi one poruke koje imaju taj nivo prioriteta.
Unschedul ed svi vorovi imaju priliku da emituju po "round-robin" principu, sve dok
ne istekne taj vremenski interval.
Guardband svi vorovi prekidaju emitovanje; moderator (vor sa najmanjim MAC_ID
emituje poruku za sinhronizaciju (maintenance message) pomou koje svi ostali vorovi
sinhronizuju tajmere. Ako se moderator ne oglasi u dva sukcesivna NUTa, vor sa
sledeim najmanjim MAC_ID preuzima ulogu moderatora.
Na Sl. C 9 ilustrovan je rad mree sa 7 vorova. U okviru jednog NUT intervala
svih sedam vorova dobija odreeno vreme da emituje vremenski kritine poruke. Zatim u
preostalom vremenu vorovi redom dobijaju pravo da emituju i preostale poruke. Oni
vorovi koji, usled isteka raspoloivog vremena, ne dobiju pravo emitovanja, dobie ga u
nekom od sledeih NUT interrvala.
ControlNet mrea podrava do 100 vorova na maksimalnom rastojanju od 1000
m. Mrea prenosi 5 Mb/s, pri emu je trajanje jednog bita 0,2 s. Ovaj tip mree ima
veoma dobru propusnu mo i veliku efikasnost za veliko optereenje mree, dok je pri
malom saobraaju neefikasan.
C.6. Mree i protokoli koji rade na principu viestrukog emitovanja
C.6.1. DEVICENET (CAN BUS) MREA
DeviceNet mrea je zasnovana na CAN standard protokolu i moe da podrava
master/slave i peer-to-peer komunikaciju u okviru koje svaki ureaj moe da bude i
proizvoa i korisnik poruke.
CAN je serisjkii komunikacioni protokol koji je razvijen za potrebe automobilske
industrije. Pokazalo se meutim da on ima dobre performanse i da se moe koristiti i u
drugim vremenski kritinim industrijskim aplikacijama. CAN protokol je optimiziran za
kratke poruke i koristi CSMA/AMP (Carrier sense multiple access / arbitration on message
priroity) metod pristupa mediju. To zapravo znai da je protokol orijentisan prema
porukama, i da svaka poruka ima svoj prioritet koji se koristi za odreivanje prava pristupa
magistrali u sluaju da postoji vie istovremenih zahteva za emitovanje.
vor koji eli da
emituje poruku eka dok
magistrala ne postane
slobodna (bus idle) i zatim
poinje da alje identifikator
svoje poruke bit po bit.
Sinhronizacija povorke vri
se na poetnom bitu (SOF
Start of Frame). Eventualni
konflikti u pristupu mrei
reavaju se za vreme
prenosa pomou jednog
arbitranog procesa koji se
odvija na bit nivou (logika nula je dominantna u odnosu na logiku jedinicu, to znai ako
se one sudare impuls nastavlja kao nula). Dakle, ako dva vora ponu emisiju oni alju
svoje identifikatore i onda oslukuju mreu. Ako se jednom voru neki od bitova vrati
izmenjen, to znai da je bio "nadjaan" od strane odgovarajueg bita neke druge poruke
koja ima vei prioritet, taj vor gubi pravo na emitovanje, pa drugi vor nastavlja sa
SL. C 10 FORMAT DEVICENET (CAN) PORUKE
Plc_ind_mree/226

slanjem poruke. U skladu sa time, kad pone emitovanje podatka ono vie ne moe biti
prekinuto.
Podaci koji se prenose ne moraju da nose adresu izvora i odredita. Umesto toga
svaka poruka ima jedinstveni identifikator. Svi vorovi na mrei primaju istu poruku,
analiziraju identifikator kroz svoje filtre i u zavisnosti od rezultata analize ili je prihvataju ili
odbacuju (multicast prenoenje poruka).
Format DeviceNet poruke (Sl. C 10) ima ukupni overhead od 47 bitova koji
ukljuuje SOF, identifikator (11 bitova), upravljanje (13 bitova), CRC (Cyclic Redundancy
Check 16 bitova), ACK (Acknowledgment 2 bita), EOF (End Of Frame - 2 bita) i INT
(Intermission) polja.
Osnovna prednost ove mree ogleda se u sposobnosti prihvatanja prioriteta, to
znai da se kanjenje u prenoenju prioritetnih poruka uvek moe definisati. Mrea je
posebno pogodna za prenoenje kratkih poruka. Glavni nedostatak je relativna sporost
prenosa. Otuda iako mrea podrava segmentaciju duih poruka, one se retko prenose
preko ove mree.
C.6.2. ETHERNET (CSMA/CD)
Eternet je stohastika mrea, to znai da se ni jednom voru ne garantuje neko
odreeno vreme emitovanja. U principu svaki vor koji ima neku poruku pokuava da
obavi komunikaciju sve dok mu to ne poe za rukom.
Kada jedan vor eli da emituje on oslukuje mreu i eka dok magistrala ne
postane slobodna. Tada vor zapoinje emitovanje poruke. Za vreme prenosa, vor i dalje
oslukuje mreu i gleda da li dolazi do kolizije, usled ega e se emitovana poruka vratiti
izmenjena. Ukoliko doe do sudara, vor prekida emitovanje, eka neko sluajno vreme i
ponovo zapoinje emisiju. Vreme ekanja se kree od 0 do 2
i
, gde je i i-ta pojava kolizije.
Posle 10 kolizija interval ekanja se fiksira na 1023, dok se posle 16 kolizija prekida
prenos i mikroprocesor se obavetava o neuspehu. (Ako dva vora ele da emituju, onda
oba oslukuju mreu i oba poinju emitovanje kad je mrea slobodna).
S obzirom da u mrei moe doi do kolizije, kada se emitovanje poruke prekida,
evidentno je da mreom putuju neki "zalutali" bitovi koje treba razlikovati od validne
poruke. Pored toga, neophodno je da se sprei da vor zavri sa emitovanjem jedne
poruke pre nego to prvi bit stigne do kraja kabla gde moe da se "sudari" sa nekom
drugom porukom. Za 10MB/s Eternet sa maksimalnom duinom od 2500 m i 4 repeater-a,
minimalno dozvoljeno vreme trajanja jednog okvira (slot time ili frame time) je 51,2s.
Poto je trajanje jednog bita 0,1s to znai da u minimalnom okviru mora da ima 512
bitova odnosno 64 bajta.
Imajui u vidu sve to
je reeno, Eternet standard
zahteva da ispravan okvir
podataka ne bude manji od 64
bajta i to poev od adrese
odredita (destination address)
zakljuno sa kodovima za
kontrolu tanosti (checksum),
odnosno 72 bajta ako se
ukljue preambula i delimiter.
Budui da se ne zna koliki e
biti podatak, Eternet format
obezbeuje ovaj uslov na taj nain to ukoliko je broj bajtova manji od zahtevanog "Pad"
se dopunjava do datog broja.
Ovaj tip prenosa je pogodan za malo optereenje mree. Osnovni nedostatak je
nedeterministiki pristup mrei, to znai da ona ne podrava signale prekida. Ipak,
zahvaljujui injenici da je mrea veoma brza ona se sve vie koristi i kao industrijska
mrea.
SL. C 11 FORMAT ETERNET PORUKE
Plc_ind_mreze/227


C.7. Beina komunikacija preko GSM mree
Gledano potpuno opte beina komunikacija ima prednost nad inom
komunikacijom ukoliko se radi o sistemima (ili delovima sistema) na nepristupanim
lokacijama ili sistemima sa promenljivim lokacijama. Pri tome, nije neophodno da ovi
sistemi zauzimaju izuzetno velike povrine, kao to su na primer, regionalni sistemi za
snabdevanje vodom kod kojih se bunari nalaze rasporeeni po celom regionu, ili
elektroenergetski sistemi koji povezuju sve elektrane u mrei. Problem fiksne ine veze
moe da se javi i na veoma malom prostoru, pri realizaciji fleksibilnog sistema upravljanja
kod koga e pojedini elementi povremeno menjati mesto i poloaj, to onda zahteva i
novo ienje.
U poetku beine raunarske mree realizovane su preko beinog LAN-a. Ovaj
naziv se zapravo odnosi na komunikaciju koja se obavlja u radio opsegu za koji nije
potrebna posebna dozvola, pri emu se koristi IEEE 802.11 protokol. Normalni radni
domet je nekoliko stotina metara, a maksimalno se sa usmerenom antenom moe
ostvariti do 10 kilometara. (Ogranienja proistiu iz meunarodne regulative koja definie
maksimalnu snagu koja se moe koristiti pri emitovanju.)
Za realizaciju merenja na daljinu najee se koriste radio-modemi. koji podatke
prenose preko VHF i UHF radio kanala. Pri tome, da bi se obezbedila pouzdana
komunikacija, neophodno je da se koriste veoma robusni protokoli. Ovako formirana
mrea moe biti potpuno nezavisna, ukoliko se obezbedi poseban radio kanal. Jednom
reju, ova mrea moe biti izuzetno pouzdana, ali je zato cena njene realizacije velika.
Pored toga, mrea je ogranienog dometa. Ona zapravo pokriva ono podruje koje je
obuhvaeno postavljenim antenama.
Ideja korienja GSM mree (mree mobilne telefonije - Global System for Mobile
Communication) za komunikaciju pri realizaciji raunarski upravljanih sistema je relativno
novijeg datuma. Po brzini i pouzdanosti ove mree jo uvek zaostaju za svim drugim
raunarskim mreama i to je, verovatno, bio osnovni razlog da neko vreme one i nisu
razmatrane kao mogue reenje pri formiranju raunarskih aplikacija. Sa druge strane,
ova mrea nudi dve izuzetne prednosti: mobilnost mesta sa koga se pristupa mrei i
gotovo univerzalnu pokrivenost mreom. Drugim reima, ona prua mogunost da se bez
postavljanja posebne raunarske mree uspostavi komunikacija izmeu raunara i da, pri
tome, sami vorovi mree neprekidno menjaju lokacije.
Teko je rei da li je raunarska industrija prepoznavi ove potencijalne prednosti
u realizaciji raunarski upravljanih sistema odluila da proiri trite, ili je sam razvoj
tehnologije prirodno doveo do tog stupnja, tek tokom poslednjih godina razvijen je itav
niz novih ureaja i softverskih alata koji su GSM mree ukljuili u porodicu industrijskih
raunarskih mrea. Broj i opseg aplikacija raste neverovatnom brzinom tako da je teko
predvideti u kojoj meri e, u budunosti, korienje ovih mrea potisnuti druga reenja. U
ovom trenutku jo uvek nije reeno pitanje pouzdanosti ove vrste prenosa. Naime, za
razliku od svih drugih tipova mrea koje ine sastavni deo raunarski upravljanog sistema,
pa se kao takve mogu i odravati, ovde se koristi mrea koju odrava neki operater van
sistema. To znai da se na eventualne ispade ili otkaze mree, kao i na uspostavljene
prioritete ne moe uticati. U skladu sa time, ostaje da se vidi da li e se za industrijske
aplikacije razvijati posebne GSM mree ili e dalji razvoj tehnologije uticati na znaajno
poboljanje kvaliteta i sigurnosti prenosa koji pruaju operatori mobilne telefonije.
Da bi se realizovala beina GSM raunarska (M2M
5
) komunikacija neophodne su
tri grupe elemenata:
servisi koji odreuju nain prenoenja informacija
ureaji pomou kojih se realizuje prenos

5
2 chine-to-machine (veza maine sa mainom) u pitanju je igra rei, jer se u engleskom
jeziku broj 2 (two) i predlog "ka" (to) izgovaraju na isti nain
Plc_ind_mree/228

softver koji omoguava komunikaciju izmeu ureaja i njihovo povezivanje na neke
druge mree.
SERVISI ZA PRENOENJE INFORMACIJA
6

U principu GSM mrea nudi tri vrste komunikacionih servisa: SMS, GSM-data i
GPRS.
SMS Short Message Service je servis za prenos paketa koji sadre tekstualne
poruke duine do 160 karaktera. Ovo je izuzetno korisatan servis za pokretanje M2M
komunikacije, a moe da se koristi i za razmenu kraih informacija. U novije vreme
razvijen je i MMS servis (Multimedia Messaging Service) za prenos duih poruka, slike i
zvuka i oekuje se da se i on ukljui u M2M komunikaciju.
GSM-data - je prenos podataka koji je u osnovi slian prenosu preko standardnih
inih ili beinih veza. Imajui u vidu da je on, daleko manje pouzdan od standardnih
veza, ovaj servis je pogodan za korienje samo u onim sluajevima kada korisnik nadzire
prenos podataka (npr. pri prenosu programa sa raunara na raunar)
GPRS General Packet Radio Service je servis koji omoguuje internet vezu sa
udaljenim ureajima. Otuda je ovaj servis izuzetno pogodan u sluajevima kada korisnik
treba da pristupi nekim bazama podataka ili aplikacijama koje imaju web servise. GPRS
omoguava konstantnu beinu vezu izmeu dva ureaja i pri tome se ova usluga
naplauje prema koliini preneteih podataka, a ne prema vremenu korienja veze.
Potrebno je da se istakne da tip i vrsta servisa, kao i naini njihove realizacije
zavise od operatera mobilne telefonije koji pokriva podruje na kome se uspostavlja veza.
UREAJI ZA PRENOS PODATAKA
Za realizaciju komunikacije preko GSM mree koriste se dve vrste ureaja.
GSM Modemi namenski razvijeni ureaji koji se u funkcionalnom smislu ne
razlikuju od mobilnih telefona. U modem se stavlja SIM kartica preko koje on uspostavlja
vezu sa GSM mreom i ostvaruje komunikaciju preko serisjkog porta. Imajui u vidu da
modem treba da radi u industrijskom okruenju, on se od standardnih mobilnih telefona
razlikuju po pouzdanosti, otpornosti na klimo-tehnike uslove i po osetljivosti na mreu.
Ovi modemi su izuzetno malih gabarita, a teina im je ispod 100 grama.
Kao i bilo koji drugi modem, GSM modem se postavlja u raunarski ureaj koji
treba da komunicira preko GSM mree. o moe biti PLC ili standardni PC raunar.
Samo se po sebi razume, da se i svaki mobilni telefon moe koristiti za
ostvarivanje komunikacije preko GSM mree. To zapravo znai da putem razmene SMS
poruka operator moe pristupiti bilo kom ureaju koji ima GSM modem i preuzeti neke
podatke ili zadati odreene komande.
Specijalni ureaji razliiti ureaji iz kategorije PLC-ova razvijaju se namenski za
komunikaciju preko GSM mree. U principu ovi ureaji imaju karakteristike manjeg PLC-a
sa odreenim brojem digitalnih ulaza i izlaza. Pored toga oni, mogu da imaju i operatorski
terminal. U sutini, kao to neki drugi ureaji imaju ugraene portove za komunikaciju
preko odreenog tipa mree, ovi ureaji imaju ugraeni port za GSM komunikaciju.
SOFTVER ZA KOMUNIKACIJU
Uz pretpostavku da neki raunarski ureaj ima sposobnost za ostvarivanje GSM
komunikacije, ostaje jo otvoreno pitanje na koji nain se ona uspostavlja i kako se
ostvaruje veza sa nekim drugim aplikacijama u raunaru.
Ako je raunarski ureaj PLC, onda se razmena informacija obavlja prenosom
ASCII karaktera. Pri tome se za ovu vrstu komunikacije koriste se posebne ASCII
naredbe. Ovim naredbama se aktivira modem, alje pozivni broj za vor sa kojim se

6
Intenzivan razvoj tehnologije u oblasti mobilnih komunikacija dovodi neprekidno do uspostavljanja novih
servisa. U periodu od 1999. do 2010. godine planiran je prelaz na treu generaciju tehnologije, tzv. 3G mrea i
odgovarajui 3G servisi, koji nude iri opseg usluga i veu propusnu mo zahvaljujui boljem korienju
spektra. Planirano je da GSM standrad bude zamenjen sa UMTS (Universal Mobile Telecomunications
System) standardom.
Plc_ind_mreze/229

uspostavlja komunikacija i konano prenose odgovarajui podaci. ASCII naredbe su
sastavni deo repertoara naredbi svakog PLCa.
Ako se meutim radi o PC raunaru, onda je prirodno da je softver za
komunikaciju daleko sloeniji. Naime, pretpostavka je da se na PC raunaru nalaze baze
podataka, ili neke druge aplikacije koje koriste odreene standarde pa je prirodno da
komunikacioni softver omogui uspostavljanje veze sa tim aplikacijama. U tom cilju
razvijaju se odgovarajui softverski alati.
GSM-Control je softverski alat razvijen za PC raunare koji omoguava da se kroz
jednostavni dijalog definiu svi komunikacioni parametri i ostvari razmena SMS poruka
preko GSM mree. Sam softver upravlja komunikacijom i omoguava pristup podacima
koji se obrauju u razliitim aplikacijama (Excell, SQL, itd.).
WAP (Wireless Application Protocol) omoguava ostvarivanje veze sa internetom i
upravlja prenosom informacija preko GSM mree.


PC sa
GSM Control
ili WAP
GSM modem
operater
LAN mrea
GSM modem
GSM mrea
SMS
GSM-data
GPRS
OPLC
sa GSM portom
Firewall
TCP/IP
internet
DH-485 mrea
SL. C 12 EMATSKI PRIKAZ ELEMENATA GSM MREE I NJENOG POVEZIVANJA SA DRUGIM MREAMA
Plc_ind_mree/230


SCADA/231


D. SCADA Supervisory Control and Data Acquisition
D.1. Od telemetrije do SCADA-e
Upravljanje nekim sistemom projektuje se sa ciljem da sistem ostvari eljeno
ponaanje. Otuda nije udno da je pitanje naina praenja ponaanja sistema staro koliko
i samo upravljanje. Poetne opservacije zasnovane na ovekovim ulima, vremenom su
kvantifikovane, po nekim miljenjima i objektivizirane, pomou odgovarajue merne
opreme. Dovoenjem ovih signala na panele sa instrumentima, na grafopisae ili sistem
odgovarajuih sijalica formirani su i prvi sistemi za praenje i nadzor procesa. Na osnovu
ovih informacija, operater bi runo, preko razliitih potenciometara i drugih davaa
signala, podeavao parametre kontrolera koji upravljaju procesom. Problem je, meutim,
i dalje bio otvoren kod itavog niza sistema kod kojih je, iz razliitih razloga, bilo teko
pratiti merne signale.
Tako su, na primer, u prvoj fazi eksperimenata u avio industriji, avioni imali
dovoljno mesta za pilota, ali gotovo ni malo prostora za projektanta koji bi pratio letilicu i
nadzirao stotine senzora koji su davali podatke o silama koje deluju na trup aviona ili na
motor. Situacija sa raketama kao bespilotnim letilicama bila je jo kritinija. Istina, imajui
u vidu da se, u prvo vreme, najvei broj eksperimenata sa raketama zavravao njihovim
nekontrolisanim padom, teko je i oekivati da bi, sve i da je bilo prostornih mogunosti,
inenjeri i tehniari bili spremni da na licu mesta sakupljaju podatke. Sa druge strane,
nema nikakve sumnje da su ovi podaci bili od izuzetnog znaaja za dalje usavravanje
sistema.
Slian problem javio se kod ispitivanja meteorolokih uslova i drugih geofizikih
parametara. Od samog nastanka ideje o primeni tehnolokih dostignua za vremensku
prognozu, naunici su shvatili da im je za iole relevantne rezultate neophodna ogromna
koliina podataka. Naalost, samo mali deo tih podataka mogao se prikupiti na mestima
koja su pristupana i gde ljudi normalno borave. injenica je da se udaljene meteorolke
stanice, svetionici, brodovi mogu koristiti za te svrhe, no to sve pokriva samo povrinske
podatke. Teorija je pokazivala da se preciznost prognoza moe poveati samo ako se
podaci prikupljaju u atmosferi. Mali baloni koji bi nosili instrumente bili su, ve u to vreme,
ekonomski isplativi, ali je pitanje prikupljanja podataka o merenjima koje oni obave
ostajalo otvoreno.
Moe se slobodno rei da je reenje izloenih problema pozajmljeno sa eleznice.
Naime, u prvoj polovini dvadesetog veka elezniki saobraaj je ve uveliko koristio ine
komunikacione veze za nadzor kretanja vozova. Saobraaj se odvijao tako to bi
dispeer pratio kretanje voza i obavetavao skretniare du pruge kako treba da postave
skretnice ili da spuste rampe. Ovaj komunikacioni sistem koji je nazvan telemetrijski
sistem, omoguavao je centralnom dispeeru da prati stanje na prugama i formira
efikasan raspored kretanja vozova. Osnovni problem ovakvih sistema bila je injenica da
oni zahtevaju fiksnu inu vezu izmeu svih uesnika u saobraaju koji mogu da emituju
signal i dispeerskog centra gde se svi signali primaju i obrauju. Kljuna prednost na
eleznici je postojanje ina du kojih se veoma jednostavno mogu instalirati senzori
pritiska koji da ju informaciju o kretanju voza. Meutim, kod sistema koji ne ispunjavaju
ovaj uslov telemetrija se nija mogla koristiti.
Otprilike u isto vreme u kome se pojavila potreba za odravanjem komunikacije
izmeu pokretnih objekata, zabeleen je i znaajan napredak u razvoju radio
komunikacija. Sve dotle dok se nije zahtevao prenos velikog broja informacija, radio je
mogao da ostvari potrebnu komunikaciju. Pri tome, ukoliko se nije oekivalo da ova
komunikacija traje preterano dugo, ona se mogla obaviti uz korienje male baterije. Na
taj nain je roena radio telemetrija. Samo se po sebi razume, da se sa razvojem
tehnologije radio razvijao tako da je obim prenetih podataka i duina emitovanja stalno
rasla, zajedno sa pouzdanou prenosa. Vremenom su razvijene i tehnike kodiranja
informacija, pa i zatitni kodovi za detekciju greke, no sama komunikacija je veoma dugo
Scada /232

bila jednosmerna. Centralna stanica je primala radio signale sa mernih instrumenata, ali
im sama nije slala nikakve podatke.
Paralelno sa razvojem radio telemetrije i ina telemetrija je ula u novu fazu.
Umesto da se koncentriu na poboljanje tanosti i pouzdanosti prenosnog medijuma,
ininjeri su prepoznali potrebu za ostvarivanjem dvosmerne komunikacije. Na taj nain,
stvorena je mogunost da se ne samo iz daljine nadzire kretanje vozova, ve i da se
slanjem odgovarajuih signala upravlja eletromagnetnim skretnicama. Ovo reenje
upravljanja privuklo je kompanije koje su se bavile prenosom elektrine energije i gasa,
koje su reavale slian transportni problem. Razlika je bila samo u tome to su se njihovi
prekidai i ventili kojima bi trebalo upravljati nalazili na udaljenim, esto nepristupanim
lokacijama. Oni su poetkom ezdesetih godina prolog veka, ve imali instalirane
sisteme za nadzor opreme, ali upravljanje i dalje nije bilo mogue.
Vremenom dalji razvoj radio komunikacija omoguio je uspostavljanje dvosmerne
komunikacije i tako je dolo do instaliranja itavog niza radio telemetrijskih sistema koji su
mogli da ostvare i nadzor i upravljanje. Imajui u vidu da je polaganje telefonskih kablova
u udaljenim lokacijama veoma skupo, nije ni udno da je sredinom sedamdesetih godina
radio postao osnovni komunikacioni kanal za najvei broj instaliranih dvosmernih
telemetrijskih sistema.
Nema nikakve sumnje da je implemetacija telemetrijskih sistema u velikoj meri
doprinela poveanju efikasnosti procesa, no ona je istovremeno otvarala i niz novih
problema. Sa praktine take gledita, veliki broj senzora dovodio je do gotovo
nepremostivih tekoa pri ienju. Pored toga, svako dodavanje novih senzora ili potreba
za rekonfigurisanjem sistema zahtevalo je da se sistem formira gotovo iz poetka.
Nadalje, prikupljanje podataka o procesu, prirodno je dovelo i do ideje da se oni upotrebe
za analizu i modeliranje procesa, to bi u krajnjoj liniji dovelo i do poboljanja upravljanja. I
ovde je telemetrijski sistem pokazivao odreene nedostatke i to pre svega u pogledu
skladitenja prikupljenih podataka koji bi se kasnije obraivali. Konano, ne treba
zanemariti ni injenicu, da je telemetrijski sistem zahtevao neprekidno prisustvo operatera
u dispeerskom centru gde se sakupljaju sve informacije i odakle se vri upravljanje
procesom. Drugim reima, koliko god da je sama koncepcija telemetrijskog sistema u
velikoj meri unapredila kvalitet rada procesa, toliko je postalo jasno da je neophodno da
se razmilja o drugaijoj tehnolokoj osnovi za njegovu realizaciju.
Imajui u vidu da su prikupljanje i obrada podataka osnovne funkcije svakog
telemtrijskog sistema, ini se da je bilo prirodno da se panja usmeri prema digitalnim
raunarima iji je razvoj vremenski pratio razvoj radio industrije. Na potrebu procesne
industrije, raunarska industrija odgovara proizvodnjom odgovarajuih industrijskih
miniraunara koji se smetaju u dispeerski centar i postaju sastavni deo telemetrijskog
sistema. Poetkom sedamdesetih godina prolog veka, polako prestaje da se govori o
telemetrijskim sistemima i uvodi se novi pojam SCADA (Supervisory Control And Data
Acquisition sueprvajzorsko upravljanje i akvizicija podataka). Teko je rei ta je tano
motivisalo ovu promenu naziva. Mogue je da se elelo posebno istai da se vie ne radi
samo o prikupljanju podataka sa udaljenih lokacija i izdavanju komandi, ve i o veoma
sofisticiranoj obradi prikupljenih podataka iji rezultati u velikoj meri olakavaju rad
dispeera. Drugim reim, SCADA je u istinu novi koncept u odnosu na telemetrijske
sisteme.
Tokom poslednjih trideset godina razvoj SCADA-e je prirodno pratio razvoj
komunikacionih i raunarskih tehnolologija. Danas je SCADA postala sastavni deo gotovo
svake industrijske aplikacije. Ona se realizuje u okviru raunarske mree i po pravilu
nadzire rad jednog broja lokalnih stanica u mrei koje obavljaju akviziciju podataka, i
izvravaju direktno digitalno i sekvencijalno upravljanje procesima.
Dodajmo na kraju da savremena SCADA moe da razmenjuje podatke i preko
interneta. Time je omogueno da se stanje na nekom procesu prati praktino sa bilo koje
take zemljine kugle.
SCADA/233

D.2. Primena raunara u realizaciji nadzorno upravljakih sistema
Ideja o formiranju nadzorno-upravljakih raunarskih sistema stara je skoro pola
veka. Uprkos prvim uspesima, primena raunara nije zabeleila neki spektakularan
napredak. Tokom ezdesetih godina iskristalisale su se specifinosti raunarske opreme
za nadzor i upravljanje procesom i pristupilo se razvijanju specijalizovanih raunarskih
sistema za procesnu industriju. Nastojanja da se ree vezani za on-line akviziciju
podataka i zadavanje komandi izvrnim organima, kao i za brzinu obrade podataka doveli
su do poveanja cene raunarske opreme. Otuda se primena raunara, sa ekonomske
take gledita, mogla pravdati samo u sluaju kada se jedan raunar koristi za vie
funkcija na nekom sloenom procesu. Posledica zahteva za sloenim upravljanjem bila je
potreba za izuzetno sloenim softverom. Pokazalo se da se programi za korienje
ovakvih raunarskih sistema vie ne mogu pisati u mainskom kodu i da oni zahtevaju
vie memorije od one sa kojom su raunari tada raspolagali.
S obzirom na gabarit, a donekle i cenu, miniraunari su korieni prvenstveno za
akviziciju podataka i supervajzorsko upravljanje - generisanje referentnih signala za
servomehanizme koji su bili instalirani na pojedinim delovima procesa kao zasebne celine.
U sluaju da se nije radilo o preterano brzom procesu kroz mini raunar su se zatvarale i
povratne sprege. Komunikacioni drajveri, koji su se u to vreme mogli dobiti od
proizvoaa opreme najee nisu bili dovoljno efikasni tako da je, gotovo uvek, bilo
neophodno da se delovi softvera za komunikaciju sa procesom i operatorskim panelom
formiraju u svakom pojedinanom sluaju i to najee u asembleru.
Primena miniraunara zahtevala je od inenjera upravljanja da detaljno poznaje
sam raunar, njegov mainski jezik i operativni sistem, kao i industrijske U/i ureaje koji
se na njega vezuju. U aplikativnom smislu miniraunar je doveo do razvoja razliitih
optimizacionih tehnika za realizaciju supervajzorskog upravljanja, kao i tehnika obrade po-
dataka sa krajnjim ciljem identifikacije matematikog modela. Razliite upravljake
strategije su bile primenjivane samo na pilot postrojenjima. Naime, korienje raunara za
upravljanje u zatvorenoj sprezi moglo se ekonomski opravdati samo ako se kroz njega
zatvori nekoliko desetina sprega, a to je podrazumevalo klasine petlje sa PID regula-
torima ili integro-diferencijalnim kompenzatorima. Efekat koji bi se dobio zatvaranjem
samo jedne adaptivne ili optimalne sprege nije bio dovoljan u poreenju sa cenom instali-
rane opreme.
Sa gledita zaposlenih u procesnoj industriji miniraunar je doneo svojevrsnu
revoluciju na nivou dispeera i tehnologa. I jedni i drugi dobili su obilje, mahom tampanih,
podataka na osnovu kojih su vrene razliite analize u cilju poboljanja kvaliteta procesa.
Na nivou operatera nije se desila znaajna promena. Raunarski terminali su bili tek u
povoju, tako da se kao korisniki interfejs najee koristio teleprinter. Shodno tome,
operatorski pult i panel su ostali gotovo neizmenjeni i samom operateru je bilo svejedno
da li komanda koju zadaje ide direktno na neki rele ili u raunar, kao i odakle dolazi signal
koji pali kontrolnu sijalicu
Formiranje prvih mikroraunara poetkom sedamdesetih godina predstavlja pravu
revoluciju u procesnoj primeni raunara. Raunari zasnovani na ovim procesorima
odlikovali su se visoko integrisanom tehnologijom, koja je dovela do izuzetno malih
gabarita, veoma niskom cenom, velikom fleksibilnou i pouzdanou. Na alost ili na
sreu odlikovali su se jo neim - potpunim odsustvom korisnikog softvera. Ova injenica
dovela je do toga da procesna primena raunara krene u sasvim drugaijem smeru.
injenicu da je mikroraunar malih dimenzija i niske cene inenjeri upravljanja
doekali su rairenih ruku. Konano se dolo do ureaja koji moe da radi u realnom
vremenu i na kome je isplativo da se zatvori samo jedna povratna sprega u okviru koje se
mogu isprobati, pa na kraju i realizovati razliiti digitalni upravljaki algoritmi. Za trenutak
je zaboravljena upravljako-nadzorna funkcija raunara i panja je usmerena na najnii
procesni nivo na kome je poela zamena klasinih analognih regulatora, digitalnim
realizovanim pomou mikroraunara. Ovaj trend bio je sa jedne strane svakako indukovan
svojevrsnom dugogodinjom tenjom inenjera upravljanja da projektuju sisteme za rad u
realnom vremenu, ali je na to izvesno uticala i injenica da je primena mikroraunara, koji
Scada /234

su imali samo rudimentarni operativni sistem i asembler, bila izuzetno sloena i odvraala
i one najambicioznije od nekih sloenijih nadzorno-upravljakih zahvata
U nastojanju da se mikroraunari uine to prisutnijim u procesnoj industriji,
proizvoai su se prirodno okrenuli ka reavanju onih zadataka koji su, sa jedne strane bili
najrasprostanjeniji, a sa druge relativno jednostavni za programiranje. Tako se prirodno
dolo do razvoja PLC-ova (programabilnih logikih kontrolera) namenjenih prvobitno za
zamenu logikih kola i sekvencijalnih elemenata koji su bili realizovani pomou banke
releja, tajmera, brojaa i drugih hardverskih digitalnih komponenti. Postepeno repertoar
operacija PLC-a se irio i ukljuivao i sloenije operacije koje je zahtevala realizacija
digitalnog upravljanja.
U osnovi PLC je projektovan za rad u izuzetno nepovoljnim klimo-tehnikim
uslovima koji vladaju na industrijskim postrojenjima. On je veoma pouzdan, jednostavan
za odravanje i programiranje. PLC nije zamiljen kao raunar opte namene, ve kao
sistem iji operativni sistem omoguava da se jednostavno i u realnom vremenu obavi
akvizicija velikog broja podataka, izvesna, ne preterano sloena obradu tih podataka i
prenoenje rezultata obrade na izvrne organe. Pored toga, PLC je zamiljen kao
modularan sistem na koji se, prema potrebi, mogu prikljuiti raznovrsni ulazno/izlazni
moduli. Vremenom, gama U/I modula se irila tako da su formirani specijalizovani merno-
pretvaraki moduli u kojima se merni signali obrauju na izuzetno sloen nain, kao i
izlazni moduli koji sadre regulatore pojedinih izvrnih organa. Nesumnjivo je da je sa
razvojem PLC-ova definitivno reen problem zatvaranja povratne sprege pri upravljanju
industrijskim procesima.
Razvoj PLC-ova, kao raunarskih ureaja koji se spreu direktno sa pojedinim
delovima postrojenja, neminovno je vodio ka razvoju distribuiranih upravljakih sistema.
U prvo vreme na vrhu piramide bili su minraunari, dok su PLC-ovi imali ulogu samo
akvizicije podataka i prenoenja komandi. Kasnije su miniraunari zamenjeni industrijskim
PC raunarima, dok su PLC-ovi obogaeni sloenijim funkcijama. U svakom sluaju,
ponovo se otvorilo pitanje koordinacije i nadzora. Dakle, posle gotovo pola veka od prve
ideje da se raunar primeni za formiranje nadzorno-upravljakog sistema, inenjeri
upravljanja nali su se gotovo na samom poetku, istina u potpuno izmenjenim
tehnolokim uslovima, i otpoeli sa projektovanjem SCADA sistema.
D.3. Nadzorno-upravljaki sistem SCADA sistem
Nadzorno-upravljaki sistem omoguava nadzor i upravljanje razliitim udaljenim
procesima pomou serijskih komunikacija izmeu centralne i udaljenih stanica (Sl. D 1).
Ve iz same definicije je jasno da ovakav sistem ima nekoliko hijerarhijski izdvojenih
celina:
Merna opr ema i i zvr ni organi oprema ugraena na odgovorajuim ureajima
na samom procesu, pomou koje se dobijaju informacije o performansi procesa i zadaju
komande kojima se utie na izmenu performanse
Udal j eni U/ I modul i omoguavaju spregu raunarskog sistema sa mernom
opremom i izvrnim organima. U sklopu ovih modula nalaze se i elementi za
komunikaciju, kao i operatorski paneli.
Udal j ene st ani ce mikroraunarski kontroler koji sadri udaljene module ili je sa
njima povezan preko odgovarajuih komunikacionih linija. Kontroler prikuplja merne
signala sa ulaznih modula, zadaje upravljake signale aktuatorima, preko izlaznih
modula, nadzire status procesne opreme i signalizira alarme. Pored toga udaljena
stanica alje potrebne informacije centralnoj stanici i prima komande od nje.
Si st em za komuni kaci j u obezbeuje prenos informacija izmeu udaljenih stanica
i dispeerskog centra. Ova oprema ukljuuje sve elemente koji se koriste u formiranju
industrijskih raunarskih mrea.
Cent ral na st ani ca - centralni raunar na kome se realizuje nadzor i upravljanje
SCADA/235

procesom. U zavisnosti od sloenosti celog sistema, moe postojati i vie centralnih
stanica.

Gledano potpuno opte sistem koji poseduje sve opisane komponente i u kome se
obavaljaju navedeni zadaci predstavlja nadzorno-upravljaki sistem ili SCADA sistem. Za
postojanje jednog ovakvog sistema apsolutno je nebitno koja oprema je upotrebljena niti
na koji nain su realizovane pojedine softverske funkcije. Ipak, nesumnjivo je da se ovde
radi o izuzetno sloenim sistemima u kojima se obavlja mnotvo raznorodnih funkcija, to
znai da njihovo projektovanje moe da bude veoma zametno. Sa druge strane, oigledno
je da je itav niz funkcija sistema vezanih za prikupljanje, prenos i prikazivanje podataka,
zapravo tipiziran i da ne zavisi bitno od same aplikacije. Ova injenica dovela je do ideje
da se razvije poseban aplikativni softver - SCADA softver - koji bi olakao projektovanje
SCADA sistema.
U projektovanju savremenih sistema za upravljanje i nadzor procesima uobiajeno
je da se izdvoje tri celine
SCADA hardver obuhvata zapravo opremu koja se koristi pri formiranju sistema za
nadzor. Ovde se pre svega, misli na senzore, pretvarae i izvrne organe, udaljene
stanice koje prikupljaju ove signale, opremu neophodnu za komunikaciju sa drugim
stanicama, centralnu stanicu i eventualno na poslovni informacioni sistem.
SCADA sof t ver softverski alat koji omoguava jednostavno specificiranje svih
elemenata sistema, kao i jednostavno projektovanje operatorskog interfejsa u dispeer-
skim stanicama.
SCADA i ndust ri j ske komuni kaci one mree obuhvata tehnologiju pomou koje
se realizuje razmena informacija unutar SCADA sistema, kao i sa operaterom ili drugim
delovima celokupnog poslovnog sistema.

Konano, potrebno je da se naglasi da mikroraunarski sistem spregnut sa
procesom u kome se vri akvizicija podataka i upravljanje procesom ne predstavlja sam
po sebi nadzorno-upravljaki sistem. Tek kada se formira distribuirani sistem u kome se
preko telemetrijske mree vri razmena veeg obima informacija moe se govoriti o
CONSOLE
Catal yst 2948G-L3
P SI R PSU
1 3 5 7 9 13 11 15 21 1 9 17 23 2 7 25 29 31 39 37 35 33
AUX 2 1 6 5 8 7 10 9 1 2 11 14 13 16 15 18 17 20 19 22 21 2 4 23 26 25 28 27 30 29 32 3 1 34 3 3 36 35 3 8 37 40 3 9 42 4 1
41 43 45 4 7
44 4 3 46 45 48 47 4 3
10/ 100/ 100 ET HE RN ET LA YER 3S WI T CH STA TU S
49
50
50 49
1000 Base - X
SL. D 1 PRINCIPIJELNA BLOK EMA NADZORNO UPRAVLJAKOG SISTEMA
Scada /236

SCADA sistemu. U tom smislu vano je da se uoi da se od SCADA-e ne oekuje da radi
u realnom vremenu u smislu vrstih vremenskih ogranienja Najee, zbog sloenih
zahteva za komunikaciju, to i nije mogue ostvariti. Drugim reima informacije koje se u
SCADA-i stiu, kao i komande koje se iz nje prenose u najveoj meri nisu vremenski
kritine i pripadaju klasi takozvanih mekih vremenskih ogranienja. To zapravo znai da
se od sistema oekuje da se obrada informacija obavi u nekom prosenom zadanom
vremenu. Izuzetak predstavlja samo mali broj vremenski kritinih informacija, koje se
moraju preneti veoma brzo. Projektovani sistem mora da obezbedi adekvatan odziv na
takve dogaaje.
U konceptualnom smislu nadzorno-upravljaki sistemi ne predstavljaju neko
izuzetno novo reenje, naprotiv oni su pretea primene raunara u procesnoj industriji.
Sutinska novina, koju je doneo tehnoloki razvoj mikroraunara, i posebno
telekomunikacionih raunarskih mrea, je nain na koji se projektuju i realizuju SCADA
sistemi. Odgovarajui SCADA softver je alat koji moe znaajno da pojednostavi
projektovanje sistema.
D.4. SCADA sistemi hardver i firmver
D.4.1. UDALJENE STANICE (RTU REMOTE TERMINAL UNITS)
Udaljena stanica je
nezavisni mikroprocesorski ureaj
koji prikuplja podatke sa merne
opreme i prenosi ih centralnoj
stanici, i zadaje komande, koje je
primila od centralne stanice,
izvrnim organima. Pored toga,
udaljena stanica vri nadzor nad
stanjem merne opreme i izvrnih
organa i o tome izvetava
centralnu stanicu. Otuda se ona
mora nalaziti u raunarskoj mrei
preko koje komunicira sa
centralnom stanicom i sa drugim
udaljenim stanicama.
Pored centralnog procesora
i memorije udaljena stanica sadri
niz U/I modula preko kojih se
spree sa mernom opremom i
izvrnim organima. Ovi moduli,
svakako, moraju podravati
prenos digitalnih i analognih AC i
DC signala, i realizovati funkciju brojaa, asovnika i generatora impulsa.
Pored tipiziranih U/I modula iji rad mora da bude podran od strane udaljene
stanice, razvijeni su i specijalizovani mikroporcesorski merno - pretvaraki moduli, kao i
regulatori. Ovi ureaji (smart instruments), po pravilu imaju nezavisne komunikacione
sposobnosti tako da ne moraju da se vezuju u sistem preko neke udaljene stanice, ve se
mogu prikljuiti i direktno na mreu. U tom sluaju i oni se mogu posmatrati kao
svojevrsne udaljene stanice.
Konano, samo postojanje udaljene stanice podrazumeva da je ona sposobna za
komunikaciju sa centralnom stanicom. To znai da ona mora imati i neophodne elemente
za komunikaciju. Pored toga, da bi se obezbedio nezavistan rad stanice, ona po pravilu
ima i nezavisno napajanje (UPS).
Tipian izgled jedne udaljene stanice je prikazan na Sl. D 2.
U principu konfigurisanje i programiranje udaljene stanice moe da se obavi na
SL. D 2 BLOK EMA TIPINE UDALJENE STANICE
SCADA/237

dva naina: preko centralne stanice ili pomou operatorskog terminala koji se nalazi u
samoj udaljenoj stanici.
Tipina udaljena stanica treba da zadovolji sledee specifikacije.
Hardver
Modularnost, robusnost i skalabilnost standardizovani i lako zamenljivi moduli,
nezavistan rad pojedinih modula, mogunost poveanja broja modula;
Dijagnostika jasna indikacija stanja pojedinih komponenti (led diode), mogunosti lokalne
i udaljene dijagnostike;
Mala potronja, malo zagrevanje, mogunost rada u zadanom opsegu temperature i
vlanosti, otpornost na vibracije, prainu i druge soljne uticije, a u zavisnosti od
ambijentalnih uslova u kojima se stanica nalazi.
Sof t ver
Pamenje evidencije o svim grekama prouzrokovanim spoljnjom opremom ili internim
elementima;
Postojanje alata za konfiguraciju i dijagnostiku pri inicijalnom postavljanju stanice,
programiranju i u toku normalnog rada;
Podrka konfigurisanju i programiranju preko centralne stanice ili operatorskog terminala
koji se nalazi u udaljenoj stanici.

Iako se udaljene stanice prave kao nezavisni ureaji, sve ea je praksa da se
one realizuju pomou PLC-ova. Njihobvom korienjem se, zapravo, znaajno proiruju
mogunosti udaljene stanice.
D.4.2. CENTRALNA STANICA
Centralna stanica ukljuuje raunarski sistem na kome se realizuje nadzor i
upravljanje procesom, kao i niz operatorskih terminala preko kojih se podaci prate i
eventualno menjaju. U ovom centru vri se prikupljanje podataka i to periodino, inicirano
odreenim dogaajima ili na zahtev operatera. Na osnovu ovih podataka dobija se
informacija o trenutnom stanju sistema, analizira se performansa, formiraju razliiti
izvetaji i arhiviraju se odgovarajui podaci. Istovremeno, na osnovu prikupljenih i
obraenih podataka vri se daljinsko zadavanje komandi, definiu se i prenose referentni
signali, zadaju se recepture, sinhronizuju funkcije pojedinih podsistema, odreuju reakcije
na pojedine alarme, optinmiziraju algoritmi itd.
Pored nadzora i upravljanja koji se vri preko operatorskih stanica lociranih u
centralnoj stanici, nadzor je esto omoguen i preko interneta uz uslov da postoji
odgovarajua podrka za web browser.
U zavisnosti od sloenosti celog sistema, moe postojati i vie centralnih stanica.
U tom smislu se na nivou izmeu procesne i upravljake mree formiraju operatorske
stanice preko kojih operator upravlja i nadzire deo postrojenja. Na nivou izmeu
upravljake i informacione mree formira se stanica namenjena tehnologu, koji vri nadzor
i upravljanje celim procesom. Na viem nivou nalazi se poslovni sistem koji dobija neke
informacije iz centralne stanice, ali obavlja i itav niz drugih funkcija vezanih za
materijalno-finasijsko poslovanje.
Imajui u vidu znaaj koji centralna stanica ima za rad celog nadzorno-
upravljakog sistema est je sluaj da se u centralnoj stanici nalaze zapravo dva
raunarska sistema (SCADA servera) od kojih je jedan aktivan, a drugi slui kao podrka
u sluaju otkaza prvog. Tipian izgled jedne centralne stanice prikazan je na Sl. D 3.
Scada /238


Potrebno je da se istakne da centralna stanica ne treba, a najee, zbog sloenih
zahteva za komunikaciju, i ne moe da radi u realnom vremenu u smislu vrstih
vremenskih ogranienja. Drugim reima informacije koje se u njoj stiu, kao i komande
koje se iz nje prenose u najveoj meri nisu vremenski kritine i pripadaju klasi takozvanih
mekih vremenskih ogranienja. To zapravo znai da se od sistema oekuje da se obrada
informacija obavi u nekom prosenom zadanom vremenu. Izuzetak predstavlja samo mali
broj vremenski kritinih informacija, koje se moraju preneti veoma brzo. Projektovani
sistem mora da obezbedi adekvatan odziv na takve dogaaje.
Nema nikakve sumnje da je, sa gledita korisnika, upravo dispeerski centar deo
nadzorno-upravljakog sistema koji je u protekloj deceniji doiveo najznaajnije izmene.
Ovo se pre svega odnosi na mogunosti grafike prezentacije koji korisnika oslobaa
zamornog praenja tabelarno prikazanih podataka i vraa ga u uobiajeno okruenje
vizuelnih informacija koje je ranije dobijao preko operaterskog panela. Istovremeno,
umesto zadavanja podataka preko tastature, operateru se prua mogunost da u
grafikom okruenju iskoristi steene navike u korienju operatorskog pulta.
D.4.3. KOMUNIKACIJA
Komunikacioni sistem treba da ostvari vezu izmeu centralne i udaljenih stanica.
Ova oprema ukljuuje sve elemente koji se koriste u formiranju industrijskih raunarskih
mrea.
Prenos informacija se moe ostvariti inim ili beinim putem, ili kombinacijom
razliitih prenosnih medija. U principu mogue je koristiti ine ili optike zemaljske veze,
radio veze, satelitske, ili usluge GSM mree. Pored toga, formiranje mree zahteva da
izvri izbor topologije mree, prenosnih medija, naina komunikacije i protokola.
Nema nikakve sumnje da je izbor komunikacione opreme izuzetno vaan za
efikasan rad celog sistema. Ovaj izbor zavisi od vrste i obima informacija koja se eli
Primarni
SCADA
Server
Secundarni
SCADA
Server
Operatorska
stanica
Operatorska
stanica
Skladte
podataka
Supervajzorski displej
Firewall
tampa
SCADA
centralna
stanica 1
SCADA WEB
brwoser
Centralna stanica
SL. D 3 BLOK EMA TIPINE CENTRALNE STANICE
SCADA/239

preneti, ali i od rastojanja i konfiguracije terena na kome se nalaze udaljene stanice.
Samo se po sebi razume da sve stanice u mrei moraju podravati odabran tip
komunikacije.
U principu u okviru jednog sistema moe postojati vie mrea, pri emu je jedna
glavna dok ostale slue kao rezerva u pojedinim, kritinim, delovima sistema.
D.5. Projektovanje SCAD-e SCADA softver
U principu, za uspeno obavljanje nadzora neophodno je da se operateru
obezbede izvetaji u kojima se prati promena pojedinih promenljivih karakteristinih za rad
procesa, grafiki prikaz rada celog sistema i pojedinih podsistema, grafici promena nekih
veliina, registrovanje dogaaja koji su na neki nain od znaaja za dalje odvijanje
procesa, zadavanje komandi ili drugih parametara itd.
Izvesno je da se nezavisno od specifinosti procesa koji se posmatra nadzor
zasniva na nizu tipiziranih aktivnosti. Osnovu svih tih aktivnosti ine podaci koji se dobijaju
iz udaljenih stanica, koji se zatim obrauju, prate i koriste za donoenje odluka. U skladu
sa time, svi SCADA softverski alati omoguavaju da se, pored specifikacije celog
sistema, definiu promenljive u bazi i da se ti podaci koriste na jedan od sledeih naina.
Izvetaji - jedan deo podataka se pamti i na osnovu njih se formiraju razliite vrste
izvetaja. Od softvera se oekuje da omogui jednostavnu specifikaciju vremenskih
parametara za prikupljanje podataka
Alarmi - skup podataka ije se vrednosti porede sa zadanim granicama. Svako
prekoraenje granica oznaava se kao alarm, koji signalizira operateru da se na procesu
neto ne odvija kako je zamiljeno. SCADA softverski alat treba da omogui definiciju
alarma, definisanje vie nivoa ozbiljnosti, smera promene koji izaziva alarm, specifikaciju
poruke koja se vezuje za alarm itd.
Dogaaji - matematika ili logika operacija nad podacima ija istinosna vrednost
ukazuje na nastanak dogaaja. Kao rezultat detekcije dogaaja sistem izvrava
odgovarajuu komandu. Softerom se odreuje repertoar dozvoljenih operacija i komandi.
Grafika - predstavlja poseban i verovatno, sa korisnike take gledita, najznaajniji
deo sistema. Grafiki displej omoguava korisniku da nadgleda rad sistema, da prati
grafikone promena pojedinih veliina, da vizuelno registruje alarme i da zadaje komande.
Sa projektantske take gledita SCADA softverski alat treba da omogui to jednostavnije
kreiranje grafikih objekata, korienje biblioteka gotovih objekata i kontrolu objekata u
smislu promene boje, oblika, poloaja itd, a u zavisnosti od stanja postrojenja. Ovaj alat
takoe treba da omogui i specifikaciju komponenti koje ulaze u sastav nekog proizvoda
(receptura).

Pri razvijanju nadzorno-upravljakog sistema primenom SCADA softverskog alata
pretpostavlja se da postoji postrojenje sa prateom mernom opremom i izvrnim
organima, da je data tehnoloka ema i opis postrojenja, kao i elektro projekat na nivou
postrojenja. Istovremeno se pretpostavlja da je razvijen projekat distribuiranog sistema
koji obuhvata udaljene stanice, opremu za prenos podataka i raunarsku mreu. Od
projektanta se oekuje da je u punoj meri upoznat sa celim sistemom, da razume njegov
rad i da je u saradnji sa operaterim i tehnolozima definisao na koji nain e se obavljati
nadzor nad radom sistema i koje vrste komanda se ele zadavati.
Na tom nivou od SKADA alata se oekuje da omogui jednostavno specificiranje
svih elemenata sistema, kao i jednostavno projektovanje operatorskog interfejsa u
udaljenim stanicama. Samo definisanje aplikacije podrazumeva specifikaciju naina
komunikacije (tip mree, komunikacioni drajver i sl.), vorova u mrei, vreme skeniranja
pojedinih stanica itd.
Scada /240

Kada je specificiran ceo sistem, razvoj SCADA-e zapoinje kreiranjem baze
podataka koji se prate i obrauju. Da bi se to ostvarilo neophodno je da se sastavi spisak
svih ulazno/izlazni
promenljivih, da im se
pridrue simbolika imena i da
se za svaku od njih ustanovi
sa kog vora u mrei dolazi, i
sa koje adrese u tom voru.
Istovremeno se utvruje i kog
je tipa (digitalna ili analogna),
da li postoje ogranienja koja
treba pratiti na nivou alarma,
kojom brzinom se menjaju,
odnosno kojom brzinom treba
da se skeniraju, i da li se
promena njihovih vrednosti
prikazuje grafiki, ili se
arhivira. U tom smislu, od
SCADA alata se oekuje da
omogui jednostavno
definisanje simbolikih imena
promenljivih i svih njihovih
parametara. U SCADA alatima promenljive se nazivaju "tagovi" ("tag").
Uporedo sa
popisivanjem promenljivih koje
ine bazu podataka, zapoinje
se i sa osmiljavanjem izgleda
grafikih prikaza podataka
pomou kojih e se vriti
nadzor nad radom sistema. U
naelu, prikazivanje stanja na
procesu ostvaruje se preko
niza grafikih slika "ekrana"
koji se aktiviraju u toku rada
sistema. Na svakom ekranu
nalazi se ematski prikaz dela
procesa. Tako na primer, ako
se radi o hemijskom reaktoru,
onda se na jednom od ekrana
moe prikazati ema reaktora
sa rezervoarima u kojima se
nalaze komponente smee (Sl.
D 4). Pri tome pojedini elementi
(crtei) na ovim emama predstavljaju promenljive koje se mere u udaljenim stanicama.
Na osnovu rezultata merenja ovi elementi se mogu pomerati, menjati boju ili dimenzije i
time ukazivati na stvarno stanje na procesu. U posmatranom primeru se koliina pojedine
komponente predstavlja pravouagonikom koji menja visinu. Samo se po sebi razume da
se od SCADA alata oekuje da omogui jednostavno kreiranje ovih grafikih celina.
SL. D 4 SCADA EKRAN ZA PRAENJE RADA HEMIJSKOG REAKTORA
SL. D 5 GRAFIKI PRIKAZ PROMENLJIVIH VELIINA
SCADA/241

Za operatera moe
biti od interesa da prati
promenu neke promenljive i
na standardnom grafiku, pa
u tom smislu SCADA alat
mora da omogui
jednostavno definisanje
parametara grafika (Sl. D 5).
U odreenim
situacijama neophodno je da
se definiu parametri samog
procesa ("recept"). Takav je,
na primer, sluaj, sa
sistemom za upravljanje i
nadzor mainom za
pravljenje toplih napitaka,
kod koje korisnik (operater)
odabira vrstu napitka, koliinu
eera itd (Sl. D 6).
Ovim se svakako ne
iscrpljuju mogunosti prikazivanja informacija pomou SCADA-e, ali je i ovo dovoljno da
se sagleda koji su neophodni elementi svakog SCADA softverskog alata.

Od SCADA softvera se oekuje da radi u okruenju nekog standardnog
operativnog sistema tipa Windows-a, NT-a ili Unix-a. Izuzetno je pogodno ako je softver
projektovan tako da omogui direktnu razmenu podataka (DDE) izmeu SCADA aplikacije
i drugih standardnih aplikacija tipa Excell, Access i slino. Naime, na ovaj nain se
zapravo proiruju mogunosti SCADA-e, tako to se za prikaz i obradu podataka koristi
ona vrsta programa koja je profesionalno razvijena i najbolje odgovara eljenoj vrsti
primene. U tom smislu SCADA se moe posmatrati kao deo jednog sloenog
SL. D 6 SCADA EKRAN ZA ZADAVANJE RECEPTURE
SL. D 7 ULOGA I MESTO SCADAE U DISTIRBUIRANOM UPRAVLJAKOM SISTEMU
Scada /242

distribuiranog sistema upravljanja, kod koga se na svakom nivou uz pomo
odgovarajueg softvera obavlja odgovarajua operacija (Sl. D 7).
D.6. Operatorski terminali
Moe se slobodno rei da je programabilni kontroler, ili bilo koji drugi
mikroraunarski sistem, doveo do svojevrsne revolucije u proizvodnji. Zahvaljujui njemu
automatizacija proizvodnje je postala fleksibilna i ekonomski izuzetno povoljna. PLC-ovi
preuzimaju upravljanje svim segmentima proizvodnje u fabrikoj hali. Pored neposredne
pomoi u proizvodnji nekog proizvoda, PLC-ovi proizvode i podatke. I koliko god se ini da
je to ipak samo usputni dodatak, pokazuje se da podaci, ako se pravilno iskoriste, mogu
biti profitabilniji od samog proizvoda. Sutina ove tvrdnje lei u injenici da su proizvodni
procesi, po pravilu, veoma neefikasni. To nadalje znai, da bi se analizom podataka mogli
utvrditi uzroci neefikasnosti i time znaajno poboljati sama proizvodnja.
Ideja da se podaci koje PLC sam po sebi prikuplja
u toku rada, upotrebe u cilju poveanja efikasnosti
proizvodnje razvijala se u dva pravca. Sa jedne strane,
kako su proizvodni sistemi postajali sve vie
automatizovani, a time i kompleksniji, blagovremena
informisanost operatera o stanju na procesu, kao i
eventualne informacije koje on treba da prenese na
proces, postajala je sve znaajnije. U elji da se omogui
efikasna i jednostavna razmena podataka izmeu
operatera i raunara koji upravljaju procesom pristupilo se
razvijanju posebnih ureaja operatorskih terminala. Sa
druge strane, filozofija distribuiranog upravljanja
procesom, nametala je potrebu da se obezbedi mogunost
razmene podataka izmeu samih kontrolera u
proizvodnom procesu. Vremenom, sa razvojem
mikroraunarskih komponenti, kao i informacionih i
komunikacionih tehnologija postepeno se gubi razlika
izmeu ove dve vrste razmene podataka.
Operatorski terminal omoguava komunikaciju izmeu oveka-operatera i
raunara
7
. U prvo vreme operatorski terminali su bili veoma jednostavni ureaji koji su
imali mogunost prikazivanja kratkih poruka, da bi se vremenom broj opcija proirivao. U
principu, svaki terminal ima ekran na kome se prikazuju podaci i tastaturu preko koje se
unose podaci (Sl. D 8). Razlika je zapravo samo u nainu na koji se podaci mogu prikazati
na ekranu, odnosno na koji se mogu uneti u kontroler. U tom smislu operatorski terminali
se dele u nekoliko kategorija
Alfanumeriki operatorski terminal
Kao to mu samo ime kae ovaj terminal je namenjen razmeni podataka u formi
alfanumerikih znakova. Ekran terminala je najee LED display, na kome se moe
prikazati nekoliko linija teksta, pri emu svaka linija moe da ima izvestan broj karaktera.
Korisnik, po pravilu, ima mogunost da isprogramira vie razliitih tipova tabelarnih
prikaza podataka i da ih pomou odgovarajuih tastera poziva u toku rada kontrolera.
Pozivanjem jedne tabele, aktivira se komunikacija izmeu terminala i kontrolera za koji je
on vezan, preuzmu se vrednosti podataka koji su navedeni u tabeli i prikau na ekranu.
Za programiranje ovakvih terminala razvijeni su posebni programski paketi koji
zavise od vrste i tipa terminala. U principu, radi se o veoma jednostavnom skupu naredbi
koje se mogu zadati bilo preko samog terminala, bilo preko posebnog programskog
paketa koji omoguava da se program razvije na standardnom PC raunaru i zatim unese
u terminal.

7
U praksi se esto koriste sledee skraenice: MMI Man Machine Interface ili HMI Human
Machine Interface
SL. D 8 EMATSKI PRIKAZ
OPERATORSKOG TERMINALA
SCADA/243

Grafiki operatorski terminal
Grafiki operatorski terminal, se od alfanumerikog razlikuje po tome to
omoguava i grafiki prikaz podataka u formi dijagrama ili na neki drugi nain (npr.
promenom boje ako se meri temperatura ili dimenzija ako se meri nivo itd.). Istovremeno,
grafiki terminali veoma esto umesto tastature, ili uz tastaturu, imaju i ekran koji je
osetlljiv na dodir ("touch screen"), to znai da operator moe da zadaje komande
kontroleru i pritiskom na odreene delove ekrana. Ovo svakako podrazumeva da se
prethodno isprogramira odgovarajui izgled ekrana i da se pojedini njegovi segmenti
poveu sa grupom podataka koja se eli prikazati.
Kao i kod alfanumerikih terminala, proizvoai su razvili i posebne programske
pakete za programiranje grafikih terminala.
PC kao operatorski terminal
Ako je bilo mogue da se isprojektuje
poseban ureaj pomou koga e operater
komunicirati sa terminalom, onda je izvesno da je
bilo mogue da se ta vrsta komunikacije uspostavi i
preko standardnog PC raunara. Nesumnjivo je da
ova vrsta sprege prua daleko vee mogunosti od
bilo kog operatorskog terminala, ali je naravno i
znaajno skuplja. Otuda je prihvaeno, da se PC
koristi kao terminal samo na onim mestima u
sistemu gde je neophodno da se ostvari irok
repertoar razliitih prikaza stanja procesa i da se,
sa druge strane, prui mogunost za raznovrsno
zadavanje komandi samom procesu. Pored toga
PC se koristi i za formiranje i testiranje programa
PLC-a.
OPLC Operatorski terminal sa PLC-om
(Operator Panel + Classical PLC)
Razvoj tehnologije uslovio je i pad cena
komponenti, pa je ideja da se napravi PLC koji bi
sadravao i operatorski panel dobila svoje
ekonomsko opravdanje. U novije vreme, klasini
operatorski terminali se zamenjuju sa OPLC
ureajima, koji pored komunikacije sa operaterom
obavljaju i prikupljanje odreenog broja informacija
sa procesa, obradu tih informacija i prenoenje
komandi izvrnim organima. U principu, ovi PLC
kontroleri su modularni, no ukupni broj U/I modula
koje kontroler podrava nije preterano veliki.
Sami terminali prave se u irokom spektru opcija. Od malih alfanumerikih sa crno
belim ekranom, do veih koji imaju mogunost prikazivanja grafike u boji i emulaciju
tastature na ekranu koji je osetljiv na dodir. Jedan skup OPLC terminala koji proizvodi
Omitronics prikazan je na Sl. D 9.
Za OPLC terminale proizvodi se i poseban softverski alat koji olakava njihovo
programiranje.

Imajui u vidu sve to je reeno o operatorskim terminalima vidi se da je terminal u
stvari jedan od ureaja koji slui kao posrednik u komunikaciji sa PLC-om. Njegova
specifinost ogleda se zapravo u objektu komunikacije. Naime, dok U/I moduli, kao i
specijalizovani moduli omoguavaju razmenu podatke izmeu procesa i PLC-a, dotle
operatorski terminal ima zadatak da omogui razmenu podataka izmeu oveka i PLC-a.
Drugaije reeno, operatorski terminal se moe posmatrati i kao jedan od specijalizovanih
modula PLC-a. Otuda nije ni udno da su operatorski terminali od samog poetka
SL. D 9 OPLC TERMINALI FIRME
OMITRONICS
Scada /244

konstruktivno zamiljeni kao i bilo koji drugi ureaj koji se vezuje sa PLC-om. U skladu sa
time, kako se menjao koncept komunikacije izmeu PLC-a i spoljnih ureaja, ta reenja
su primenjivana i na operatorske terminale.