Professional Documents
Culture Documents
Goran Malčić
Danijel Maršić
Simatic S7
Programirljivi logički kontroleri
_________________________________________________________________________
SIMATIC S7 Programirljivi logički kontroleri
Goran Malčić
Danijel Maršić
Zagreb, 2020.
_________________________________________________________________________
SIMATIC S7 Programirljivi logički kontroleri
recenzenti prof. dr. sc. Igor Krois, red. prof., Fakultet elektrotehnike i računarstva,
Sveučilište u Zagrebu
prof. dr. sc. Siniša Fajt, red. prof., Fakultet elektrotehnike i računarstva,
Sveučilište u Zagrebu
_________________________________________________________________________
SIMATIC S7 Programirljivi logički kontroleri
Sadržaj
1. Uvod ............................................................................................................................................................. 1
1.1 Osnovno o SIMATIC S7-300 / S7-400 ........................................................................................................ 2
1.2 Sklopovske komponente S7-300 / S7-400 ................................................................................................. 5
1.3 Operativni sustav S7 procesora............................................................................................................... 14
1.3.1 Izvođenje S7 programa .................................................................................................................. 15
1.3.2 S7 blokovi ...................................................................................................................................... 18
1.3.3 Organizacija S7 programa.............................................................................................................. 22
1.3.4 Memorija S7 procesora ................................................................................................................. 25
1.3.5 Adresiranje u S7 PLC uređajima .................................................................................................... 33
1.3.6 Podatkovni tipovi u S7 PLC uređajima ........................................................................................... 43
2 STEP 7 ................................................................................................................................................... 51
2.1 SIMATIC Manager ................................................................................................................................... 53
2.1.1 S7 projekti ..................................................................................................................................... 54
2.1.2 Biblioteke ...................................................................................................................................... 56
2.1.3 "Offline" / "Online" prozor projekta ............................................................................................. 58
2.2 Uspostava veze S7 PLC – PG/PC .............................................................................................................. 61
2.2.1 Sučelja za komunikaciju................................................................................................................. 61
2.2.2 Konfiguriranje komunikacije – alat Set PG/PC Interface ............................................................... 63
2.2.3 Provjera komunikacije – Accessible Nodes prozor ........................................................................ 64
2.3 Kreiranje projekta ................................................................................................................................... 66
2.3.1 "Čarobnjak" za kreiranje projekta ................................................................................................. 66
2.3.2 Kreiranje projekta pomoću opcije "New" ..................................................................................... 66
2.3.3 Izrada sklopovske konfiguracije u alatu Hardware Configuration ................................................. 68
2.3.4 Postupak sklopovske konfiguracije ............................................................................................... 70
2.3.5 Adresiranje modula ....................................................................................................................... 73
2.3.6 Podešavanje karakteristika CPU-a ................................................................................................. 76
2.3.7 Podešvanje ostalih načina komunikacije ....................................................................................... 81
2.3.8 Prebacivanje sklopovske konfiguracije u CPU ............................................................................... 84
2.4 Tablica simbola ....................................................................................................................................... 88
_________________________________________________________________________
SIMATIC S7 Programirljivi logički kontroleri
_________________________________________________________________________
SIMATIC S7 Programirljivi logički kontroleri
_________________________________________________________________________
SIMATIC S7 Programirljivi logički kontroleri
_________________________________________________________________________
SIMATIC S7 Programirljivi logički kontroleri
Popis slika
Slika 1. Komponente SIMATIC sustava za industrijsku automatizaciju ................................................................ 4
Slika 2. PLC uređaj serije S7-300 i S7-400............................................................................................................. 5
Slika 3. Modularna konfiguracija PLC uređaja serije S7-300 ................................................................................. 5
Slika 4. Dizajn procesorskog modula CPU 315 - 2 DP........................................................................................... 9
Slika 5. Primjer višeokvirnih konfiguracija kod serije S7-300 ............................................................................. 11
Slika 6. Primjer višeokvirnih konfiguracija kod serije S7-400 ............................................................................ 12
Slika 7. Primjer S7 uređaja na MPI podmreži ....................................................................................................... 13
Slika 8. Organizacija operativnog sustava S7 procesora ....................................................................................... 14
Slika 9. Organizacija korisničkog programa ......................................................................................................... 15
Slika 10. Izvođenje korisničkog programa ............................................................................................................ 16
Slika 11. Faze cikličkog izvođenja programa u OB1 ............................................................................................ 17
Slika 12. Blokovska organizacija korisničkog programa ...................................................................................... 19
Slika 13. Linearni program ................................................................................................................................... 22
Slika 14. Razdijeljeni program .............................................................................................................................. 23
Slika 15. Strukturirani program ............................................................................................................................. 24
Slika 16. Memorijska područja S7 procesora ........................................................................................................ 25
Slika 17. Izvedba memorije za učitavanje s obzirom na verziju CPU modula – S7-300 ...................................... 26
Slika 18. Izvedba memorije za učitavanje S7-400 ................................................................................................ 27
Slika 19. Uloga tablične slike ulaza i izlaza u radu PLC uređaja .......................................................................... 28
Slika 20. Sadržaj "clock" memorije ...................................................................................................................... 29
Slika 21. Organizacija memorije za timere ........................................................................................................... 29
Slika 22. Organizacija memorije za brojače .......................................................................................................... 30
Slika 23. Primjer raspodjele L stoga prema prioritetnim klasama OB-ova ........................................................... 30
Slika 24. Primjer sadržaja B stoga ........................................................................................................................ 32
Slika 25. Adresiranje podatka veličine bita (BOOL) ............................................................................................ 33
Slika 26. Adresiranje podataka veličine bajta ....................................................................................................... 34
Slika 27. Adresiranje podataka veličine riječi ....................................................................................................... 34
Slika 28. Adresiranje podataka veličine dvostruke riječi ...................................................................................... 35
Slika 29. Adresiranje digitalnih ulaza / izlaza – S7-300 ....................................................................................... 36
Slika 30. Adresiranje digitalnih ulaza / izlaza – S7-400 ....................................................................................... 37
Slika 31. Adresiranje analognih ulaza / izlaza – S7-300 ....................................................................................... 38
Slika 32. Adresiranje analognih ulaza / izlaza – S7-400 ....................................................................................... 39
Slika 33. Mogućnosti adresiranja bajtova u bit memoriji ...................................................................................... 40
Slika 34. Varijabla podatkovnog tipa BYTE......................................................................................................... 44
Slika 35. Varijabla podatkovnog tipa WORD kao 16-bitni niz ............................................................................. 44
Slika 36. Varijabla podatkovnog tipa WORD kao četveroznamenkasti heksadecimalni broj............................... 45
Slika 37. Varijabla podatkovnog tipa WORD kao BCD broj s tri dekade ............................................................ 45
Slika 38. Varijabla podatkovnog tipa WORD kao dva 8-bitna dekadska broja .................................................... 46
Slika 39. Varijabla podatkovnog tipa DWORD kao 32-bitni niz .......................................................................... 46
Slika 40. Varijabla podatkovnog tipa DWORD kao osmeroznamenkasti heksadecimalni broj ............................ 46
Slika 41. Varijabla podatkovnog tipa DWORD kao BCD broj sa sedam dekada ................................................. 47
Slika 42. Varijabla podatkovnog tipa DWORD kao četri 8-bitna dekadska broja ................................................ 47
Slika 43. Programska grupa SIMATIC u Windows Start Meniju ......................................................................... 51
Slika 44. Osnovni prozor SIMATIC Manager-a ................................................................................................... 53
Slika 45. Strukturna organizacija programskog alata SIMATIC Manager ........................................................... 54
Slika 46. Prozor projekta u SIMATIC Manager-u ................................................................................................ 55
Slika 47. Stablasta struktura S7 projekta ............................................................................................................... 56
Slika 48. Biblioteka u kojoj su spremljena tri S7 programa .................................................................................. 57
Slika 49. Standardna biblioteka koja dolazi sa instalacijom programskog paketa STEP 7 ................................... 57
Slika 50. Razlika između "offline" i "online" prikaza projekta ............................................................................. 58
Slika 51. Prikaz raspodjele memorije i akumulatorskih funkcija unutar S7 PLC uređaja ..................................... 59
Slika 52. SIMATIC PC Adapter USB ................................................................................................................... 61
Slika 53. CP 5611.................................................................................................................................................. 62
Slika 54. X11. 5512............................................................................................................................................... 62
Slika 55. Standardni Ethernet kabel i mrežna kartica............................................................................................ 62
Slika 56. SIMATIC PC Adapter USB kao sučelje između PG/PC i S7 PLC uređaja ........................................... 63
_________________________________________________________________________
SIMATIC S7 Programirljivi logički kontroleri
_________________________________________________________________________
SIMATIC S7 Programirljivi logički kontroleri
_________________________________________________________________________
SIMATIC S7 Programirljivi logički kontroleri
_________________________________________________________________________
SIMATIC S7 Programirljivi logički kontroleri
_________________________________________________________________________
SIMATIC S7 Programirljivi logički kontroleri
_________________________________________________________________________
SIMATIC S7 Programirljivi logički kontroleri
Popis tablica
Tablica 1. Komponente za konfiguraciju S7-300 / S7-400 ..................................................................................... 6
Tablica 2. Pregled montažnih okvira za S7-300 / S7-400 ....................................................................................... 7
Tablica 3. Pregled osnovnih grupa CPU modula za S7-300 / S7-400 ..................................................................... 7
Tablica 4. Pregled osnovnih grupa signalnih modula za S7-300 / S7-400 .............................................................. 9
Tablica 5. Pregled osnovnih grupa komunikacijskih procesora za S7-300 / S7-400 ............................................ 10
Tablica 6. Pregled modula sučelja za S7-300 / S7-400 ......................................................................................... 11
Tablica 7. Blokovi koji se mogu koristiti u korisničkom programu ...................................................................... 19
Tablica 8. Pregled organizacijskih blokova prema njhovoj namjeni ..................................................................... 20
Tablica 9. Adresiranja podataka u S7 memorijskim područjima .......................................................................... 42
Tablica 10. Podatkovni tipovi u S7 PLC uređajima .............................................................................................. 43
Tablica 11. Primjeri zapisa realnih brojeva u REAL formatu ............................................................................... 48
Tablica 12. Pregled elementarnih tipova podataka u STEP 7 ............................................................................... 50
Tablica 13. Pregled blokova dostupnih u standardnoj biblioteci ........................................................................... 57
Tablica 14. Stanice koje se mogu umetnuti u S7 projekt ...................................................................................... 67
Tablica 15. Ulazi i izlazi koji su dostupni na timeru ........................................................................................... 178
Tablica 16. Vrijeme u S5TIME formatu ............................................................................................................. 179
Tablica 17. Raspon vremenskih vrijednosti ........................................................................................................ 180
Tablica 18. Vremenske baze i njihov zapis u binarnom formatu ........................................................................ 181
Tablica 19. Unošenja vremena u binarnom zapisu .............................................................................................. 181
Tablica 20. Popis ulaza i izlaza brojila ................................................................................................................ 197
Tablica 21. Prikaz brojila pomoću bit naredbi .................................................................................................... 202
Tablica 22. Tablica naredbi komparacije ............................................................................................................ 208
Tablica 23. Podešavanje analognog ulaza ........................................................................................................... 210
Tablica 24. Kodiranje simetričnog naponskog ili strujnog raspona ................................................................... 210
Tablica 25. Aritmetičkih naredbi ........................................................................................................................ 216
Tablica 26. Ponašanje izlaza ENO u ovisnosti o ulazu EN ili u slučaju greške .................................................. 217
Tablica 27. Naredbe pomaka............................................................................................................................... 222
Tablica 28. Ponašanje izlaza ENO u ovisnosti o ulazu EN ................................................................................. 223
Tablica 29. Pretvorba INT i DINT brojeva ......................................................................................................... 228
Tablica 30. Pretvorba BCD brojeva .................................................................................................................... 231
Tablica 31. Pretvorba REAL brojeva .................................................................................................................. 233
Tablica 32. Pregled pretvorbe iz REAL u DINT ................................................................................................. 234
Tablica 33. Ostale funkcije pretvorbe ................................................................................................................. 235
Tablica 34. Pregled organizacijskih blokova ...................................................................................................... 237
Tablica 35. Parametri sistemske funkcije SFC 28 ............................................................................................... 247
Tablica 36. Kodovi mogućih grešaka za SFC 28 ................................................................................................ 248
Tablica 37. Parametri sistemske funkcije SFC 30 ............................................................................................... 248
Tablica 38. Kodovi mogućih grešaka za SFC 30 ................................................................................................ 249
Tablica 39. Parametri sistemske funkcije SFC 29 ............................................................................................... 250
Tablica 40. Kodovi mogućih grešaka za SFC 29 ................................................................................................ 250
Tablica 41. Parametri sistemske funkcije SFC 31 ............................................................................................... 251
Tablica 42 Kodovi mogućih grešaka za SFC 31 ................................................................................................. 251
Tablica 43. Značenje pojedinih bitova na izlazu STATUS sistemske funkcije SFC 31...................................... 252
Tablica 44. Parametri sistemske funkcije SFC 32 ............................................................................................... 257
Tablica 45. Kodovi mogućih grešaka za SFC 32 ................................................................................................ 257
Tablica 46. Parametri sistemske funkcije SFC 33 ............................................................................................... 258
Tablica 47. Kodovi mogućih grešaka za SFC 33 ................................................................................................ 258
Tablica 48. Parametri sistemske funkcije SFC 34 ............................................................................................... 259
Tablica 49. Kodovi mogućih grešaka za SFC 34 ................................................................................................ 259
Tablica 50. Značenje pojedinih bitova na izlazu STATUS sistemske funkcije SFC 31...................................... 260
Tablica 51. Predefinirane vrijednosti vremenskih intervala cikličkih prekida .................................................... 263
Tablica 52. Asinkrone greške .............................................................................................................................. 274
Tablica 53. Pravila ponašanja parametara EN i EN0 ......................................................................................... 277
Tablica 54. Načini generiranja pridruženog podatkovnog bloka ........................................................................ 278
Tablica 55. Primjeri adresiranja podatkovnih elemenata u DB10 ....................................................................... 282
Tablica 56. Pristup pojedinačnim elementima strukture ..................................................................................... 283
_________________________________________________________________________
SIMATIC S7 Programirljivi logički kontroleri
1. Uvod
Vaši autori
________________________________________________________________________1
SIMATIC S7 Programirljivi logički kontroleri
Porodica SIMATIC
▪ SIMATIC S7-200: mikro PLC uređaj modularnog dizajna koji se može koristiti
kao upravljački uređaj za najnižu razinu automatizacije. Osnovni uređaj je
procesorska jedinica (izvor napajanja, CPU i U/I stezaljke) koja se može se
proširiti dodatnim modulima. Na raspolaganju je nekoliko osnovnih uređaja sa
različitim svojstvima i mogućnostima proširenja dodatnim modulima koji se
odabiru prema potrebama sustava u koji se ugrađuje. Za konfiguriranje i
programiranje ovih uređaja koristi se programska podrška STEP 7 Micro/Win.
________________________________________________________________________2
SIMATIC S7 Programirljivi logički kontroleri
- SIMATIC C7: predstavlja jedinice koje objedinjuju funkcije PLC uređaja serije S7-300 i
operatorskog panela te tako zahtijevaju jako malo prostora u upravljačkom ormaru.
Takve jedinice imaju ugrađene ulaze i izlaze a se mogu proširivati dodatnim U/I
modulima iz serije S7-300. Za konfiguriranje i programiranje SIMATIC C7 jedinica
koristi se programska podrška STEP 7.
- SIMATIC DP: predstavlja distribuirani U/I sabirnički sustav koji omogućuje ugradnju U/I
modula i ostalih komponenata u dio postrojenja koji je udaljen od nadređenog PLC
uređaja. Na taj način se distribuirani U/I i ostali uređaji sa integriranim PROFIBUS DP
i/ili PROFINET I/O povezuju sa nadređenim PLC uređajem preko PROFIBUS DP i/ili
PROFINET I/O sabirničkih mreža. Velik broj S7 procesorskih jedinica ima integrirano
PROFIBUS DP i/ili PROFINET sučelje što uvelike olakšava povezivanje distribuiranih
U/I sa nadređenim PLC uređajem.
- SIMATIC HMI: predstavlja izraz za operatorske panele koji omogućuju sučelje između
čovjeka (operatera) i stroja (procesa) (eng. Human - Machine Interface - HMI). Razne
izvedbe operatorskih panela, počevši od onih sa mogućnošću prikaza jednostavnog
teksta do onih sa naprednim grafičkim prikazima, pružaju mnoštvo mogućnosti koje su
potrebne za upravljanje i nadzor nad procesom.
________________________________________________________________________3
SIMATIC S7 Programirljivi logički kontroleri
- SIMATIC PG/PC: predstavlja oznaku za programiralicu (PG) ili osobno računalo (PC).
SIMATIC programiralica (PG) je računalo (prijenosno ili stolno) robusnog dizajna
prikladno za industrijske uvjete rada te je u potpunosti opremljeno za programiranje
PLC uređaja S7 serije. Uređaji navedene serije također se mogu programirati pomoću
osobnog računala (PC) sa instaliranom odgovarajućom sklopovskom i programskom
podrškom za rad sa pojedinim SIMATIC komponentama.
STEP 7 i
opcionalni
programski
SIMATIC paketi
NET
MPI mreža
SIMATIC NET Industrial Ethernet
PROFIBUS
SIMATIC S7 SIMATIC C7
PROFIBUS DP
SIMATIC DP
________________________________________________________________________4
SIMATIC S7 Programirljivi logički kontroleri
SIMATIC S7-300 i S7-400 predstavlja seriju modularnih PLC uređaja koji se mogu
koristiti za automatizaciju tehničkih sustava različite složenosti, od jednostavnih do vrlo
složenih sustava. Iako se razlikuju po veličini i mogućnostima, ovi uređaji imaju jednake
operativne karakteristike, memorijsku organizaciju, podatkovnu strukturu, adresiranje te
koriste zajedničke programske jezike i skup naredbi. Uz navedeno, obje serije uređaja koriste
zajedničku programsku podršku (STEP 7), podržavaju iste komunikacijske protokole, te se
lako integriraju sa zajednički sustavima kao što su operatorski paneli, HMI i razni U/I uređaji.
Metalna šina
DI DO AI AO
________________________________________________________________________5
SIMATIC S7 Programirljivi logički kontroleri
- Montažni okvir
Svaki PLC uređaj iz porodice SIMATIC S7 se sastavlja od jednog ili više montažnih
okvira (eng. Rack) na koji se ugrađuju moduli koje tvore uređaj serije S7-300 ili S7-400. Pritom
se moduli međusobno povezuju preko sabirničkog sustava ugrađenog sa njihove stražnje
strane. Ako na centralnom montažnom okviru nema dovoljno mjesta za dodavanje U/I modula
ili se neke U/I module želi odvojiti od ostalih modula koriste se okviri za proširenje koji su sa
centralnim okvirom povezani preko sabirničkih kabela i modula sučelja (IM).
Kod uređaja serije S7-300 montažni okvir je standardna metalna DIN šina (eng. Rail)
koja je dostupna u različitim duljinama. Svaka metalna šina može se koristiti kao centralni okvir
(eng. Central rack) ili kao okvir za proširenje (eng. Expansion rack). Pritom se konfiguracija
PLC uređaja može sastojati od centralnog okvira sa najviše tri okvira za proširenje međusobno
poveznih odgovarajućim modulima sučelja. Prije same ugradnje pojedinih modula potrebno je
na jedan kraj modula umetnuti sabirnički konektor u obliku slova U koji se dobiva uz svaki
modul. Prilikom ugradnje modula na šinu slobodan kraj sabirničkog konektora umetne se na
suprotni kraj susjednog modula. Na taj način formira se S7-300 stražnja sabirnica (eng.
Backplane bus) koja, počevši od procesorske jedinice, serijski povezuje sve module. Stražnja
sabirnica kod ove serije objedinjuje funkcije U/I sabirnice i komunikacijske sabirnice koje se
koriste kod serije S7-400.
Kod uređaja serije S7-400 na montažnom okviru se koriste dvije sabirnice: U/I sabirnica
("P-bus") i komunikacijska sabirnica ("C-bus", u njemačkoj literauri "K-bus"). U/I sabirnica se
koristi za razmjenu ulaznih i izlaznih signala na velikim brzinama a komunikacijska sabirnica
za razmjenu veće količine podataka između komunikacijskih modula. Ona povezuje sučelje za
programiranje (npr. MPI) i CPU sa funkcijskim modulima i komunikacijskim procesorima. Na
montažne okvire koji nemaju komunikacijsku sabirnicu mogu se ugraditi samo signalni moduli
(SM). Kod S7-400 mogu se koristiti tri tipa montažnih okvira:
- Centralni kontrolerski okvir (eng. Central controller rack), oznaka CR: moguće je
ugraditi procesorski modul (CPU) te sve ostale tipove modula.
- Okvir za proširenje (eng. Expansion rack), oznaka ER: ima samo U/I sabirnicu zbog
čega podržava samo ugradnju signalnih modula.
- Univerzalni okvir (eng. Universal rack), oznaka UR: podržava ugradnju svih tipova
modula zbog čega se može koristiti kao upravljački okvir ili kao okvir za proširenje.
________________________________________________________________________6
SIMATIC S7 Programirljivi logički kontroleri
Modul napajanja (eng. Power Supply - PS) pretvara izmjenični napon 120/230 VAC u
radni napon kojim se napaja S7-300 / S7-400. Napajanje se odabire prema potrebnoj snazi
(struji) budući da je modul napajanja dostupan u verzijama od 2, 5 ili 10 A izlazne struje pri
naponu 24 VDC (kod S7-300). U katalogu sklopovlja u programskoj podršci STEP 7 moduli
napajanja se nalaze u mapama PS-300 odnosno PS-400.
________________________________________________________________________7
SIMATIC S7 Programirljivi logički kontroleri
- Izbornik moda (eng. Mode Selector) kojim se odabire mod rada (eng. Operating mode)
procesorke jedinice. Izbornik može biti u jednoj od sljedećih pozicija:
MRES - Funkcija za reset modula
STOP - Stop mod rada što znači da se program ne izvršava, procesorka jedinica
nalazi se u stanju čekanja.
RUN - Program se izvršava. U ovoj poziciji je kod procesorkih modula nakon
listopada 2002. moguć pristup za čitanje i pisanje sa osobnog računala dok je
kod CPU modula prije listopada 2002. moguć pristup samo čitanje sa osobnog
računala sa instaliranom programskom podrškom STEP 7
RUN-P - Program se izvršava. Ova pozicija postoji samo kod procesorkih
modula prije listopada 2002. te je u njoj moguć pristup za čitanje i pisanje sa
osobnog računala sa instaliranom programskom podrškom STEP 7
- MPI veza – Svaki CPU modul, iza poklopca na prednjoj strani, ima ugrađeno MPI
sučelje za vezu s programiralicom (osobno računalo sa odgovarajućom programskom
podrškom), operatorskim panelom ili drugim SIMATIC uređajem s MPI sučeljem.
________________________________________________________________________8
SIMATIC S7 Programirljivi logički kontroleri
CPU315 - 2 DP CPU315 - 2 DP
SF
SF SF DP
BF
BATF BUSF
DC5V
DC5V
FRCE
FRCE
RUN
RUN
STOP
STOP
RUN-P
RUN
RUN
STOP STOP
M RES M RES
SIMATIC SIMATIC
S7-300 S7-300
5 3
7 6 4 5
6ES7 315-2AF03-0AB0 6ES7 315-2AG10-0AB0
Signalni moduli (eng. Signal Modules - SM) služe za prilagodbu različitih digitalnih i
analognih procesnih signala s kojima se S7-300 / S7-400 povezuje. Odabiru se prema
potrebnom broju i vrsti ulaza/izlaza te prema rasponu ulaznog odnosno izlaznog napona.
Tablica 4. prikazuje između kojih se sve grupa U/I modula (kartica) može odabrati prilikom
konfiguracije uređaja.
Kod uređaja serije S7-300 na raspolaganju su digitalni i analogni moduli koji na istoj kartici
imaju zajedno ugrađene ulaze i izlaze. U ovoj seriji također je moguće koristiti DM 370 Dummy
________________________________________________________________________9
SIMATIC S7 Programirljivi logički kontroleri
("lažan") modul koji rezervira mjesto (utor) za signalni modul kojemu još nisu dodijeljeni
parametri ili se može upotrijebiti za rezerviranje mjesta za naknadnu instalaciju modula sučelja.
Uz svaki signali modul dobiva se priključak na sabirnicu (eng. Bus connector) dok je prednje
konektore (eng. Front connectors), na kojima se nalaze vijčane stezaljke za spajanje modula,
potrebno zasebno naručiti.
Moduli sučelja (eng. Interface Module - IM) koriste se u slučaju potrebe za proširenjem
konfiguracije dodatnim modulima. On omogućuju stvaranje tzv. višeokvirnih kofiguracija (eng.
Multi-tier) jer povezuje centralni montažni okvir s lokalnim ili udaljenim montažnim okvirima za
module. Pritom se koriste moduli sučelja koji rade kao predajnici (eng. Sender) te se ugrađuju
na centralni montažni okvir i moduli sučelja koji rade kao prijemnici (eng. Receiver) te se
ugrađuju na okvir okvire za proširenje. Svaki do njih se odabire prema seriji uređaja te
udaljenosti između centralnog i lokalnog / udaljenog montažnog okvira kao što je prikazano
tablicom 6.
________________________________________________________________________10
SIMATIC S7 Programirljivi logički kontroleri
Moduli sučelja
Opis Udaljenost
Prijemnik Predajnik
Centralni okvir se kod uređaja serije S7-300 može proširiti sa najviše tri lokalna okvira
što znači da se konfiguracija može sastojati od najviše četri montažna okvira. Proširenje
konfiguracije sa jednim lokalnim okvirom postiže se uporabom dva modula sučelja IM 365 koji
se međusobno povezuju kabelom duljine do 1 metar. Pritom se jedan modul sučelja ugrađuje
na centralni okvir a drugi na okvir za proširenje gdje se može ugraditi najviše 8 modula. Kada
jedan okvir za proširenje nije dovoljan, koristi se kombinacija modula sučelja IM 360 i IM 361
kod kojih montažni okviri mogu biti udaljeni do 10 metara. U tom slučaju jedan IM 360 radi kao
predajnik te se ugrađuje na centralni okvir dok se na svaki okvir za proširenje ugrađuje po
jedan IM 361 koji radi prijemnik. Slika 5. prikazuje višeokvirne konfiguracije uređaja serije S7-
300 gdje je centralni okvir preko odgovarajućih modula sučelja povezan sa okvirima za
proširenje.
IM 365 IM 361
IM 361
IM 361
Kontrolerski okvir kod uređaja serije S7-400 se preko modula sučelja može proširiti
lokalnim okvirima na udaljenosti 1,5 do 3 metra i udaljenim okvirima na udaljenostima od
102,25 i više metara. Uporabom modula IM 460-1 i IM461-1 moguće je po svakom sučelju
koristiti jedan lokalni okvir za proširenje na udaljenosti do 1.5 metar od centralnog
kontrolerskog okvira. Ako se koriste moduli IM 460-0 i IM 461-0 mogu se povezati četiri lokalna
________________________________________________________________________11
SIMATIC S7 Programirljivi logički kontroleri
IM 460-0
IM 460-1 IM 461-1
(1,5 m)
IM 460-3
IM 460-4
IM 460-2
Lokalni okvir
IM 461-0
(5 m)
Udaljeni okvir
IM 461-3
(102,25 m)
Udaljeni okvir
IM 461-4
(605 m)
Udaljeni okvir
za S5 seriju
IM 461-4
(605 m)
________________________________________________________________________12
SIMATIC S7 Programirljivi logički kontroleri
Svi S7 procesorski moduli i operatorski paneli, bez obzira na izvedu, imaju ugrađeno
višenamjensko sučelje za programiranje (eng. Multipoint Programming Interface - MPI) koje
služi kao izravna veza sa osobnim računalom na kojem se nalazi odgovarajuća programska
podrška za njegovo programiranje. Ovo sučelje također se može koristiti za povezivanje više
S7 uređaja (S-300, S7-400, operatorski panel i sl.) u jednostavnu MPI mrežu koja omogućuje
razmjenu podataka između povezanih uređaja bez potrebe za uporabom komunikacijskih
modula (Slika 7.). Razlog tome leži u činjenici da sve SIMATIC stanice imaju ugrađeno MPI
sučelja preko kojeg se mogu međusobno povezati u MPI mrežu gdje mogu komunicirati ili
razmjenjivati podatke međusobno ili sa programiralicom (osobnim računalom) kojoj je tako
omogućen je pristup bilo kojem uređaju na mreži.
MPI mreža
________________________________________________________________________13
SIMATIC S7 Programirljivi logički kontroleri
Korisnički program
Izvršni dio Memorija
Periodički Korisnička
pozivi memorija
Događajem
Sistemska
pokretani
memorija
pozivi
Sistemske funkcije
- Izvršni dio
Izvršni dio operativnog sustava se brine o samom izvođenju korisničkog programa. Korisnički
program je logički podijeljen u blokove koje nazivamo organizacijski blokovi (OB).
Organizacijski blokovi predstavljaju sučelje između operativnog sustava i korisničkog
programa te ih možemo shvatiti kao potprograme u koje se smještaju same naredbe
korisničkog programa prema kojima PLC obavlja svoju funkciju u smislu upravljanja ili kontrole
nekog procesa. Korisnički program može se izvršavati na dva načina: ciklički ili kao odgovor
na neki vanjski ili unutarnji poticaj kojeg promatramo da bi PLC uređaj ostvario željenu funkciju
(tzv. programiranje sa upravljanjem događajima). Glavni program je u organizacijskom bloku
OB 1 koji se izvodi ciklički dok se ostali OB-ovi izvode samo ako se pojavi definirani događaj
koji pokreće njihovo izvođenje. Tako je i sam izvršni dio operativnog sustava organiziran u dva
dijela. Jedan se brine o kontinuiranom cikličkom izvođenju programa u OB1, a drugi o
izvođenju korisničkog programa kao odgovor na poticaje. Svaki organizacijskom bloku
korisničkog programa dodijeljen je prioritet izvođenja. Tako izvršavanje svakog OB-a može biti
prekinuto ako se pojavi zahtjev za izvođenjem OB-a sa višim prioritetom izvođenja. Funkcija
izvršnog dijela operativnog sustava je da se brine o pravilnom izvođenju OB-ova tj. da omogući
korisničkom programu da se izvodi na način koji je predvidio programer PLC uređaja.
- Memorija
Operativni sustav također upravlja memorijom procesorske jedinice koja se sastoji od raznih
programskih i podatkovnih područja koja korisnički program koristi. U memoriji S7-300 / S7-
________________________________________________________________________14
SIMATIC S7 Programirljivi logički kontroleri
400 procesora nalazi se korisnički program, korisnički podaci bitni za rad korisničkog
programa, parametri bitni za rad samog procesora, dijagnostički parametri te slike stanja na
ulazima i izlazima. Sama memorija podijeljena je na korisničko i sistemsko memorijsko
područje.
- Sistemske funkcije
Neke radnje i operacije nije potrebno programirati već se mogu korisititi sistemske funkcije koje
su integrirane u S7 procesor. One su njegov sastavni dio i ne zauzimaju dodatni prostor
korisničke memorije procesorske jedinice. Korisnik može u programu pozivati izvršavanje tih
funkcija, ali ne može mijenjati njihov sadržaj.
Svaku funkciju koju PLC vrši kao upravljački uređaj nekog sustava treba isprogramirati.
Takav skup instrukcija zove se korisnički program u kojem su sadržane sve funkcije i varijable
koje se koriste u upravljanju nekim sustavom. Procesorska jedinica uz pomoć operativnog
sustava upravlja izvođenjem korisničkog programa koji je organiziran kroz S7 blokove koji
međusobno povezani tvore jednu programsku cjelinu. Organizacijski blokovi (OB) su jedan su
od tri vrste S7 programskih blokova u kojima je moguće razvijati dijelove upravljačke logike
korisničkog programa te ujedno predstavljaju sučelje između operativnog sustava i korisničkog
programa. Izvršni dio S7 operativnog sustava na temelju određenih stanja ili događaja u
sustavu upravlja pozivanjem organizacijskih blokova. Time je omogućena podjela korisničkog
programa na zasebne dijelove koje CPU izvodi u skladu sa određenim događajima.
Izvršni dio
operativnog
sustava
Program za
Prekidni program
obradu greške
Glavni program
Korisnički
program
Program
pokretanja
Svakom događaju je dodijeljen jedan ili više OB-ova sa predefiniranim rednim bojevima. Kada
se pojavi određeni događaj CPU će pozvati dodijeljeni OB čime će se izvršiti program koji se
u njemu napisan. Nadalje, svaki organizacijski blok kao spremnik dijelova korisničkog
programa ima dodijeljen prioritet izvođenja. Dodijeljivanjem prioriteta organizacijskim
blokovima definiran je redoslijed kojim će se programi u pojedinim OB-ovima izvoditi u skladu
sa njihovom važnošću u korisničkom programu. Svaki OB se može nalaziti u jednoj od 28
________________________________________________________________________15
SIMATIC S7 Programirljivi logički kontroleri
prioritetnih klasa u koje se organizacijski blokovi smještaju prema važnosti događaja koji
poziva njhovo izvođenje. Prioritetne klase određuju kako pojedini OB iz neke klase može
prekinuti izvođenje ostalih OB-ova ili kako OB-ovi iz ostalih klasa mogu prekinuti izvođenje
pojedinog OB-a koji se koristi u programu. Budući da postoji 28 prioritetnih klasa mogući
prioriteti izvođenja OB-ova mogu se kretati od 1-28 gdje 28 predstavlja OB sa najvišim
prioritetom izvođenja. To znači da program u OB-u sa višim prioritetom tako može uvijek
prekinuti izvođenje OB-a sa nižim prioritetom, naravno, kada se pojavi događaj koji poziva
njhovo izvođenje. Ukoliko se dogodi zahtjev za pozivom OB-a s jednakim prioritetom
izvođenja, tekući OB neće biti prekinut, a prekidni OB će se staviti na čekanje i izvršiti tek kada
se izvrši tekući OB. Glavni program nalazi se u OB 1 koji ima najniži prioritet izvođenja (broj 1)
što znači da njegovo cikličko izvođenje može biti prekinuto u svakom trenutku ako se pojavi
potreba za izvođenjem bilo kojeg drugog organizacijskog bloka (svi ostali blokovi imaju viši
izvođenja prioritet od OB 1). Cikličko izvođenje glavnog programa mogu prekinuti određeni
događaji (prekidi ili greške). U slučaju takvog događaja izvođenje OB 1 se prekida, poziva se
organizacijski blok dodijeljen tom događaju i izvršava se program koji se napisan u njemu.
Nakon toga se izvođenje programa u OB 1 nastavlja u točki u kojoj je prekinuto. Korištenjem
različitih organizacijskih blokova moguće je definirati program koji će se izvršavati prilikom
pokretanja, tijekom cikličkog izvođenja glavnog programa, ili u slučaju događaja kao što su
prekidi ili greške u sustavu. Slikom 10. prikazano je izvođenje korisničkog programa gdje se
odgovarajući OB-ovi pozivaju sukladno odgovarajućim događajima ili stanjima u kojima se PLC
uređaj nalazi.
S7 operativni S7 korisnički
sustav program
Uključenje napajanja
Program pokretanja
OB100-102
Pokretanje ciklusa
Glavni program
OB1
Prekidna servisna
< Prekid > Prekid rutina
npr. OB35
Rutina za
< Greška > Prekid obradu greške
npr. OB80
________________________________________________________________________16
SIMATIC S7 Programirljivi logički kontroleri
Organizacijski blokovi se prema događajima koji pokreću izvođenje programa u njima dijele
na:
- Program pokretanja
Prilikom uključenja napajanja ili prebacivanja procesorske jedinice iz STOP u RUN mod rada
operativni sustav će pozvati izvršavanje organizacijskog bloka dodijeljenog tim događajima.
Pritom se mogu pozvati organizacijski blokovi koji određuje tri načina na koji se CPU može
ponašati prilikom pokretanja: topli restart (eng. Warm restart) za što se koristi OB100, vrući
restart (eng. Hot restart) za što se koristi OB101 i hladni restart (eng. Cold restart) za što se
koristi OB102. Više riječi o tipovima restrata može se naći u narednim poglavljima. U tim OB-
ovima također se mogu nalaziti instrukcije za dovođenje sustava u početno stanje prije početka
cikličkog izvršavanja glavnog programa u OB 1 (npr. rutina za pomak pozicionera u početnu
poziciju).
- Glavni program
Nakon što se izvede program pokretanja počinje cikličko pozivanje glavnog programa u OB 1.
Slika 11. prikazuje pojedine faze cikličkog izvođenja programa smještenog u OB 1. Ciklus
CPU-a započinje provjerom stanje ulaznih signala i osvježavanjem tablične slike procesnih
ulaza (PII - eng. Process-image input table). Nakon toga izvršava se korisnički program u OB
1 počevši od prve linije programa sa odgovarajućim naredbama. Kada se program u OB 1
izvrši do kraja operativni sustav prebaci vrijednosti iz tablične slike procesnih izlaza na izlazne
module. CPU se tada ponovno vraća na prvu liniju programa i izvodi program u OB 1 ispočetka.
To znači da se glavni program u OB 1 izvodi ciklički i kontinuirano. Vrijeme potrebno da bi se
izvršio jedan ciklus CPU-a u uređajima S7 serije naziva se vrijeme izvršavanja ciklusa (engl.
scan cycle time).
________________________________________________________________________17
SIMATIC S7 Programirljivi logički kontroleri
1.3.2 S7 blokovi
________________________________________________________________________18
SIMATIC S7 Programirljivi logički kontroleri
S7 korisnički
program
DB3
(zajednički DB)
Glavni program
OB1 SFC
FB1 FC
DB1
SFB
Operativni sustav
(pridruženi
DB)
SDB
FB2 SFB
DB2
(pridruženi SDB
DB)
FC SFC
Rad s blokovima u kojima se pišu samo pojedini dijelovi upravljačkog programa nudi
mnoge prednosti. Svaki blok tako je zaseban dio programa čije se izvođenje može pozivati
prema potrebi neograničen broj puta ili se može spremiti biblioteku koja se koristi za spremanje
blokova te kasnije ponovo koristiti. Budući da svaki blok izvodi zadanu funkciju korisnički
program je moguće razdijeliti na više dijelova čime postaje jednostavniji i razumljiviji. Program
koji se sastoji od više dijelova moguće je lakše konfigurirati dok svaki dio programa može
programirati neki drugi programer što posebno vrijedi u slučaju vrlo velikih korisničkih
programa. Također je potrebno spomenuti da blokovski pristup programiranju znatno
pojednostavnjuje otklanje grešaka u programu te servisiranje i održavanje cjelokupnog sustava
budući da se svaki dio upravljačkog programa (pojedini blok) može zasebno testirati. Korisniku
je na raspolaganju više različitih vrsta blokova iz kojih je moguće razvijati korisnički program
kao što je prikazano tablicom 7.
________________________________________________________________________19
SIMATIC S7 Programirljivi logički kontroleri
- Korisnički blokovi
U korisničkim blokovima (eng. User blocks) mogu se pisati korisnički programi i spremati
korisnički podaci. Ovisno o potrebama moguće je moguće je koristiti sljedeće blokove:
Izvođenje prilikom 100 – 102 Poziva se svaki put prilikom pokretanja CPU- 27 Ne
pokretanja (Startup a prije pozivanja OB1. U njemu se se nalazi
routine) program (rutina) koji se mora izvršiti samo
jednom prilikom pokretanja sustava.
Sinkrone greške 121 – 122 Poziva se prilikom pojave grešaka koje su Prioriteti OB-ova koji
(Synchronous Error) povezane sa izvođenjem korisničkog uzrokuju grešku.
programa. U njemu se izvodi korisnički
definirana servisna rutina za sinkrone greške.
1)
Ogranizacijski blok OB 90 (Izvođenje u pozadini) se naizmjence izvodi sa organizacijskim blokom OB 1 i mogu ga prekinuti svi
ostali prekidi i greške.
________________________________________________________________________20
SIMATIC S7 Programirljivi logički kontroleri
Funkcijski blokovi (engl. Function Blocks ) su blokovi s "memorijom" koje kreira sam
korisnik. U njima se nalaze dijelovi programa koji sami za sebe predstavljaju jednu izvršnu
cjelinu. Svakom funkcijskom bloku pridjeljen je određeni podatkovni blok (DB). Vrijednosti
varijabli iz funkcijskog bloka spremaju se u pridjeljeni podatkovni blok. Funkcijske blokove je
moguće pozivati iz organizacijskog ili nekog drugog bloka.
Funkcije (FC)
Funkcije (engl. Functions) su blokovi u kojima se može napisati dio programa koji
obavlja zadani upravljački zadatak. Za razliku od funkcijskih blokova nemaju pridjeljeni
podatkovni blok koji služi kao memorija zbog čega ne mogu pohranjivati podatke. Mogu koristiti
za jednostavne i složene upravljačke zadatke, proračun matematičkih operacija i sl. Funkciju
je moguće pozivati iz bilo kojeg bloka (npr, OB, FB, FC) koji se već nalazi u korisničkom
programu.
Podatkovni blokovi (engl. Data Blocks), za razliku od logičkih blokova (FC, FB ili OB),
ne sadrže S7 instrukcije nego se koriste samo za spremanje podataka iz korisničkog
programa. Podaci koji su spremljeni u podatkovne blokove ostaju spremljeni i kada se ovi
blokovi ne izvršavaju. Postoje dvije vrste podatkovnih blokova: zajednički (engl. Shared) i
pridruženi (engl. Instance) podatkovni blokovi.
Zajednički podatkovni blokovi sadrže statičke podatke kojima može pristupiti bilo koji logički
blok. Svaki FC, FB ili OB može tako pristupati podacima i upisivati podatke u zajednički
podatkovni blok.
Pridruženi podatkovni blokovi se pridjeljuju određenom funkcijskom bloku. Podaci iz
funkcijskog bloka se spremaju u pridjeljeni podatkovni blok. Jednom funkcijskom bloku
moguće je pridjeliti i više podatkovnih blokova. U tom slučaju je taj blok u korisničkom
programu moguće pozvati više puta s različitim parametrima koji su spremljeni u različitim
podatkovnim blokovima.
Neke radnje i operacije nije potrebno programirati jer se već nalaze intergirane unutar
CPU-a u obliku sistemskih blokova. Sistemski blokovi predstavljaju predefinirane funkcije (eng.
System Functions, SFC) i funkcijski blokovi (eng. System Function Blocks, SFB). Ti blokovi
predstavljaju dio S7 operativnog sustava i ne zauzimaju dodatni prostor korisničke memorije.
Korisnik može u korisničkom programu pozivati izvršavanje tih blokova, ali ne može mijenjati
njihov sadržaj. Svi sistemski blokovi imaju predefinirane brojeve blokova prema svojoj namjeni.
Budući da su sistemski funkcijski blokovi (SFB) blokovi s "memorijom" potrebno im je pridjeliti
podatkovne blokove kao u slučaju funkcijskih blokova. Sistemskim funkcijama (SFC) nije
potrebno pridjeliti podatkovne blokove i unutar programa se pozivaju na isti način kao obične
funkcije (FC). Sistemski blokovi se koriste za rješavanje uobičajenih zahtjeva koji se javljaju u
korisničkom programu te tako smanjuju vrijeme potrebno za njegov razvoj. Postoji velik broj
________________________________________________________________________21
SIMATIC S7 Programirljivi logički kontroleri
Standardni blokovi
Standardni blokovi (eng. Standard blocks) su, uz funkcije i funkcijske blokove koje
kreira sam korisnik, također jedna vrsta blokova koja se može ugraditi u korisnički program.
Nekoliko grupa standarnih blokova nalazi se spremljeni unutar biblioteke blokova koja je dio
STEP 7 programskog paketa, dok se ostale grupe blokova, ovisno o zadanoj namjeni, može
zasebno nabaviti. Postoje blokovi za upravljanje u zatvorenoj petlji (PID), komunikacijski
blokovi i sl.
- Linearni program
Kod ovakvog pristupa programiranju cijeli se program smješta u jedan programski blok.
Sve naredbe glavnog programa tako se nalaze u organizacijskom bloku OB1 te ih procesor
obrađuje jednu za drugom. Na taj način se sve instrukcije u programskom bloku OB 1, pa tako
i cijeli korisnički program, izvrše u svakom pojednim ciklusu rada PLC uređaja. Nedostaci i
ograničenja ovakvog pristupa programiranju su mogućnost upotrebe samo jednog
programskog jezika, nedovoljna iskorištenost mogućnosti programskih blokova i slaba
mogućnost primjene jednom napisane upravljačke logike u nekim drugi S7 programima. Zbog
toga se ovakva struktura korisničkog programa uglavnom koristi prilikom izrade jednostavnijih
upravljačkih programa za PLC uređaje serije S7-300.
Linearni program
S7 korisnički
program
OB1
Glavni
program
________________________________________________________________________22
SIMATIC S7 Programirljivi logički kontroleri
- Razdijeljeni program
Razdijeljeni program
S7 korisnički
program
OB1
FC1
Zadatak 1
Glavni
program
FC2
Zadatak 2
FC3
Zadatak 3
- Strukturirani program
Strukturirani pristup programiranju se koristi kada PLC uređaj treba izvoditi složenije
upravljačke zadatke gdje se javlja potreba za stvaranjem programskih funkcija u zasebnim
programskim blokovima koje se u programu mogu iskoristiti više puta, ali svaki put sa drugim
podacima tvz. parametrima. Strukturirani program na taj način sadrži blokove s parametrima,
tzv. blokove s pridruživim parametrima čija je svrha da obavljaju određenu funkciju koja je
određena upravljačkom logikom koja je u njima napravljena. Ti su blokovi zamišljeni tako da
se mogu koristiti univerzalno bez ikakvih određenih adresa.. Kada se blok s pridruživim
parametrima pozvan, proslijeđeni su mu parametri (točna adresa ulaza i izlaza kao i vrijednost
parametra). To je najlakše objasniti kroz primjer kao na sljedećoj slici gdje prikazan
strukturirani programa za upravljanje motorom. Program se izvodi na sljedeći način:
________________________________________________________________________23
SIMATIC S7 Programirljivi logički kontroleri
Strukturirani program
S7 korisnički
program
OB1
FB1 DB1
Motor Motor 1
Glavni
program
FB1 DB2
Motor Motor 2
________________________________________________________________________24
SIMATIC S7 Programirljivi logički kontroleri
S7-300 S7-400
Memorija S7 procesora
Programiralica
(PG/PC) Korisnička memorija Sistemska memorija
Konfiguracijski
parametri sklopovlja Procesna slika
izlaza
Blokovi:
- Logički blokovi
(OB, FC, FB) Bit memorija
Konfiguracijski podaci: Dijelovi:
- Podatkovni blokovi
- Sistemski podatkovni - Logičkih blokova
(DB)
blokovi (SDB) (OB, FC, FB) Timer,
Brojač
- Podatkovnih blokova
Blokovi: (OB, FC, FB)
Komentari, Simboli - Logički blokovi
(OB, FC, FB) koji su bitni za Dijagnostički
izvršavanje korisničkog spremnik
- Podatkovni blokovi programa
(DB)
L stog
Stog bloka
Stog prekida
SIMATIC
MICRO
MEMORY
CARD
________________________________________________________________________25
SIMATIC S7 Programirljivi logički kontroleri
Memorija za učitavanje sadrži logičke (OB, FC, FB) i podatkovne blokove (DB) kreirane
na računalu za programiranje kao i sistemske podatkovne blokove (SDB) koji predstavljaju
konfiguracijske parametre sklopovlja S7 stanice. Memorija za učitavanje može biti RAM koji je
integriran u procesorski modul ili je dostupna kao memorijska kartica koja se utakne (eng. plug-
in) u procesorski modul te tako proširuje korisničku memoriju. Postoje tri tipa memorijskih
kartica: RAM memorijske kartice, FEPROM (Flash EPROM) memorijske kartice i mikro
memorijske kartice. Vrsta procesorkog modula s kojim se radi određuje koja se memorijska
kartica može koristiti.
Kod serije S7-300 postoje tri glavne verzije procesorkih modula sa obzirom na izvedbu
memorije te sukladno tome i tri različite izvedbe memorije za učitavanje kao što je prikazano
slikom 17. Pritom su karakteristike radne i sistmemske memorije jednake za sve tri verzije CPU
modula.
CPU moduli bez CPU moduli sa utorom za CPU moduli sa utorom za mikro
memorijske kartice memorijsku karticu (MC) memorijsku karticu (MMC)
Slika 17. Izvedba memorije za učitavanje s obzirom na verziju CPU modula – S7-300
________________________________________________________________________26
SIMATIC S7 Programirljivi logički kontroleri
Umetanje, kao i vađenje, memorijske kartice prilikom RUN moda rada nije dopušteno.
Rad ove vrste CPU modula moguć je i bez uporabe FEPROM memorijske kartice.
- CPU modul sa utorom za mikro memorijsku karticu (eng. Micro Memory Card, MMC):
kod svih CPU modula serije S7-300 nakon listopada 2002. memorija za učitavanje se
nalazi na mikro memorijskoj kartici koja predstavlja postojani (eng. Non volatile) medij
za pohranu podataka. Podatke je tako moguće jednostavno čitati, pisati ili brisati čime
je program u memoriji za učitavanje sačuvan od nestanka napajanja bez potrebe za
baterijom. Ove verzije CPU modula mogu isključivo raditi uz uporabu mikro memorijske
kartice. Budući da se cijela memorija za učitavanje nalazi na mikro memorijskoj kartici
njezina veličina odgovara upravo veličini mikro memorijske kartice. Ako je potrebna
veća memorija za učitavanje potrebno je koristiti veću mikro memorijsku karticu. Važno
je napomenuti da vađenje mikro memorijske kartice tijekom RUN moda rada
procesorske jedinice nije dopušteno jer može doći do neusklađenosti podataka koji se
nalaze na kartici.
Kod serije S7-400 i kod CPU 318 memorija za učitavanje također može biti interna te
izvedena kao RAM memorija integrirana u procesorski modul ili vanjska koja je izvedena kao
memorijska kartica (Slika 18.). Podaci iz interne RAM memorije su osigurani dodatnim
baterijskim napajanjem. Budući da je ugrađena memorija za učitavanje ograničene veličine
neophodno je koristiti RAM ili FEPROM memorijsku karticu koja tako proširuje ugrađenu RAM
memoriju za učitavanje. Kada se memorija za učitavanje želi samo proširiti koristi se RAM
memorijska kartica. U tom slučaju sustav mora imati baterijsko napajanje čime je omogućeno
spremanje podataka s memorijske kartice i podataka iz interne RAM memorije ako dođe do
nestanka napajanja. RAM memorijske kartice gube svoj sadržaj ako se izvade iz utora za
karticu. Kada se korisnički program, konfiguracijski podaci i parametri modula žele zaštititi od
nestanka napajanja koristi se FEPROM memorijska kartica.
________________________________________________________________________27
SIMATIC S7 Programirljivi logički kontroleri
- Sistemska memorija
- Tablična slika procesnih ulaza (eng. Process-image input table – PII): je memorijsko
područje S7 procesorke jedinice koje odgovara ulaznom memorijskom registru u PLC
uređajima nekih drugih proizvođača. Operativni sustav procesorske jedinice provjerava
stanja svih digitalnih ulaza u svakom ciklusu rada PLC-a i pohranjuje ih u tabličnu sliku
ulaza gdje su rezultati provjere dostupni tijekom obrade programa. Svakom digitalnom
uzlaznom uređaju koji se spojen na priključne stezaljke signalnog modula digitalnih
ulaza (DI) dodijeljen je odgovarajući bit u ovom memorijskom području.
- Tablična slika procesnih izlaza (eng. Process-image output table - PIQ): je memorijsko
područje S7 procesorke jedinice koje odgovara izlaznom memorijskom registru u PLC
uređajima nekih drugih proizvođača. Sadrži izlazne vrijednosti dobivene izvršavanjem
programa koje se na kraju svakog ciklusa šalju na stvarne digitalne izlaze PLC uređaja.
Svakom digitalnom izlaznom uređaju koji se spojen na priključne stezaljke signalnog
modula digitalnih izlaza (DO) dodijeljen je odgovarajući bit u ovom memorijskom
području.
Održavanje
sustava
Osvježavanje
Ciklus rada stanja izlaza
PLC-a
Signalni Signalni
Provjera moduli (DO)
moduli (DI) stanja izlaza
Obrada
programa
PII PIQ
Slika 19. Uloga tablične slike ulaza i izlaza u radu PLC uređaja
- Bit memorija (eng. Bit memory - M): je memorijsko područje S7 procesorke jedinice
koje odgovara registrima za spremanje podataka veličine bita, riječi ili dvostruke riječi
u PLC uređajima nekih drugih proizvođača. Bit memorija se u pravilu koristi za
spremanje podataka veličine bita, bajta, riječi ili dvostruke riječi koji su potrebni za neku
posrednu binarnu ili digitalnu operaciju. Na prvom mjestu to se odnosi na tzv. "interne
izlaze" koji se još nazivaju markeri ili zastavice. Oni čuvaju stanja bitova internih
logičkih operacija čime omogućuju korištenje rezultata tih operacija u više logičkih
krugova koji se tako međusobno povezuju i stvaraju uvjete programske logike. Bit
memorija također se može koristiti za spremanje posrednih rezultata aritmetičkih ili
ostalih operacija koje se vrše nad podacima velične riječi ili dvostruke riječi. Ovo
________________________________________________________________________28
SIMATIC S7 Programirljivi logički kontroleri
područje sistemske memorije se dakle koristi kada rezultate operacija iz programa nije
potrebno trajno spremati ali trebaju biti dostupni u cijelom korisničkom programu.
Veličina bit memorije ovisi o tome koja se procesorska jedinica koristi.
Mnoge operacije u korisničkom programu zahtijevaju uporabu periodičkih signala koji
se, između ostalih načina, mogu ostvariti korištenjem "clock" memorije koja je sastavni
dio bit memorije. "Clock" memorija se sastoji od bitova čija se stanja signala periodički
mijenjaju prema unaprijed definiranim frekvencijama kako što je prikazano slikom 20.
Ti se bitovi nalaze unutar pripadajućeg bajta koji se definira u postavkama CPU modula
prilikom konfiguracije sklopovlja u programskom paketu STEP 7.
Dio bit memorije može se podesiti kao "postojan" (eng. retentive) što znači da zadržava
stanja bitova ili vrijednosti memorijskih riječi čak i prilikom nestanka napajanja. Bajtovi
bit memorije koji će ostati sačuvani u slučaju nestanku napajanja također se definiraju
u postavkama CPU modula.
- Memorija za timere (eng. Timer memory- T): je dio memorije S7 procesorke jedinice
koji sadrži podatke naredbi koje se koriste za mjerenje vremena tzv. timera. Upotreba
timera u programu omogućuje korisniku kontrolu nad nekim operacijama procesu koje
su vezane uz vrijeme. Svaki timer u ovom memorijskom području zauzima memorijsku
lokaciju veličine riječi (16 bita) u koju se smještaju vrijednosti bitne za rad s timerom
(Slika 21.). Svaka memorijska lokacija sadrži postavnu vrijednost vremena i vremensku
bazu timera. Broj timera koji se koristiti u programu ovisi o procesorskoj jedinici s kojom
se radi.
Memorija za timere
Vremenska baza Postavna vrijednost timera u BCD kodu (000-999) Memorijska lokacija
timera - adresa
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
X X 0 0 T1
X X 0 1 T2
X X 1 0 T3
X X 1 1 Tn
________________________________________________________________________29
SIMATIC S7 Programirljivi logički kontroleri
Memorija za brojače
X X X X C1
X X X X C2
X X X X C3
X X X X Cn
Dio sistemske memorije također je predviđen za stog lokalnih podataka koji služi kao
privremena memorija, stog prekida, stog bloka i dijagnostički spremnik za sistemske poruke i
komunikacijske poslove. Uloga tih područja sistemske memorije je sljedeća:
- Stog lokalnih podataka – L stog (eng. Local Data Stack): predstavlja privremenu
memoriju koja se dodjeljuje S7 bloku (OB, FC, FB, SFC, SFB) za spremanje vrijednosti
privremenih lokalnih varijabli deklariranih unutar pripadajućeg bloka. Naime, prilikom
programiranja blokova moguće je deklarirati privremene varijable bloka koje su
dostupne samo tokom izvođenja bloka i isključivo unutar tog bloka. Privremene lokalne
varijable koriste se za spremanje međurezultata logičkih operacija nastalih tokom
izvođenja bloka. Nakon što se pozove izvršavanje pojedinog bloka, L stog se dodjeljuje
tom bloku te se u njega spremaju vrijednosti njegovih lokalnih varijabli. Kada se taj blok
izvrši, vrijednosti njegovih privremenih lokalnih varijable se izgube jer se L stog
dodjeljuje sljedećem pozvanom bloku čije se lokalne varijable dalje spremaju u L stog.
Stog lokalnih podataka može se koristiti se za spremanje:
L stog
OB 80
Prioritetna SFC
klasa 26
treba 20 bajta u
L stogu
OB 30 DB
Prioritetna FB
treba 20 bajta u
klasa 7
L stogu
OB 1 DB
Prioritetna treba 20 bajta u FB FC
klasa 1
L stogu
________________________________________________________________________30
SIMATIC S7 Programirljivi logički kontroleri
Izvođenje glavnog programa u OB1 koji ima najniži prioritet izvođenja prekinuto je od
strane OB30 čije izvođenje je zatim prekinuto od strane OB80 koji ima najveći prioritet
izvođenja. Pritom je svakom OB-u u L stogu dodijeljeno po 20 bajtova za početne
informacije blokova koje su operativnom sustavu potrebne za izvršavanje
organizacijskih blokova. To znači da svaki OB-u sukladno prioritetu izvođenja mora
imati dodijeljen vlastiti prostor za lokalne podatke čime je osigurano da OB-ovi s višim
prioritetom izvođenja također imaju svoj prostor za privremene podatke u L stogu kada
se ispuni uvjet za pozivanje njihovog izvođenja. Kod procesorskih modula serije S7-
300 je svakom OB-u sukladno prioritetnoj klasi u kojoj se nalazi dodijeljen fiksan broj
bajtova (npr. 256) za privremene lokalne podatke bloka koji se ne može promijeniti.
Kod procesorskih modula serije S7-400 i kod CPU 318 veličina lokalnog podatkovnog
područja namijenjenog pojedinoj prioritetnoj klasi OB-ova može se podesiti u
programskom paketu STEP 7. Na taj način se veći broj bajtova za privremene lokalne
podatke može dodijeliti onim prioritetnim klasama OB-ova koje zahtijevaju veću količinu
memorije u L stogu. Također je moguće deaktivirati prioritetne klase OB-ova koje koje
nisu potrebne u korisničkom programu čime se povećava količina memorijskog
prostora u L stogu za privremene podatke neke druge prioritetne klase OB-ova.
- Stog prekida – I stog (eng. Interrupt Stack): je područje sistemske memorije gdje
operativni sustav sprema trenutni sadržaj odgovarajućih registara procesorske jedinice
ako izvođenje programa prekine OB višeg prioriteta. Kada se izvrši OB višeg prioriteta
operativni sustav očita vrijednosti koje se nalaze u I stogu i nastavlja sa izvođenjem
programa u prekinutom bloka sa mjesta gdje je izvođenje stalo u trenutku kada se
prekid pojavio. Stog prekida sadrži podatke o registrima i mjestima prekida, kao što su:
Pozivanje prekidnog OB-a ponekad može, zbog greške u bloku, uzrokovati prijelaz
procesorske jedinice u STOP mod rada. U slučajevima kada se procesorska jedinica
nađe u STOP modu rada moguće je u programskom paketu STEP 7 na računalu za
programiranje pregledati sadržaj I stoga u te tako naći grešku koja je uzrokovala prijelaz
procesorske jedinice u STOP mod rada.
- Stog bloka – B stog (eng. Block Stack): je područje sistemske memorije gdje operativni
sustav sprema podatke o bloku čije je izvođenje prekinuo poziv nekog drugog bloka ili
poziv OB-a višeg prioriteta od onog koji se izvodio. Stog bloka sprema sljedeće
podatke:
➢ Broj, vrstu (OB, FB, FC, SFB, SFC) i povratnu adresu bloka koji je prekinut;
➢ Brojeve podatkovnih blokova (iz DB registra i DI registra) koji su bili otvoreni u
trenutku prekida.
Ponekad se pozivanjem bilo kojeg bloka može pojaviti greška koja uzrokuje prijelaz
procesorske jedinice u STOP mod rada. U slučajevima kada se procesorska jedinica
nađe u STOP modu rada moguće je u programskom paketu STEP 7 na računalu za
programiranje pregledati sadržaj B stoga. Tamo se nalazi popis svih blokova koji su
izvršeni kao i blokova koji nisu u potpunosti izvršeni do prelaska u STOP mod rada.
Blokovi su u B stogu prikazani prema redoslijedu njihova pozivanja u programu kao što
je prikazano primjerom na slici 24.
________________________________________________________________________31
SIMATIC S7 Programirljivi logički kontroleri
Redoslijed pozivanja DB
FB1 FC2 FC3
blokova
Podaci od FB1:
- Broj bloka Lokalni podaci od FC 3
- Povratna adresa
Podaci od FB1:
- Broj bloka Broj blokova koji se može Lokalni podaci od FC 2
- Povratna adresa spremiti ovsi o procesoru
Podaci od FB1:
- Broj bloka Lokalni podaci od FB 1
- Povratna adresa
DB i DI registar:
- Broj pridruženog DB-a
koji je otvoren
Blokovi FB1 i FC2 nisu u potpunosti izvršeni jer je poziv bloka FC3 prekinuo njihovo
izvršavanje. Izravni uzrok prelaska procesorske jedinice u STOP mod rada može se
naći u bloku FC3 koji je zadnji prikazan jer je njegovim izvršavanjem došlo do prekida.
Korištenjem tih podataka moguće je otkloniti grešku koja je uzrok prekida čime
izvođenje korisničkog programa može biti nastavljeno na mjestu gdje je prekinuto.
- Dijagnostički spremnik (eng. Diagnostic Buffer): je FIFO (eng. First In, First Out)
spremnik čija je zadaća pohranjivanje dijagnostičkih događaja (poruka) sustava prema
redoslijedu njihova pojavljivanja. Prva poruka u spremniku pritom predstavlja posljednji
dijagnostički događaj. Broj dijagnostičkih unosa u spremniku određen je vrstom
procesorskog modula i njegovim trenutnim načinom rada. Dijagnostičkim unosom
naziva se svaki događaj koji je zapisan u dijagnostički spremnik. U dijagnostičkom
spremniku bilježe se sljedeći dijagnostički događaji:
➢ Greške na modulu;
➢ Greška u spajanju signalnih modula sa procesom;
➢ Sistemske greške procesorske jedinice;
➢ Promjena moda rada procesorske jedinice;
➢ Greške u korisničkom programu;
➢ Korisnički definirani dijagnostički događaji pomoću sistemske funkcije SFC52.
________________________________________________________________________32
SIMATIC S7 Programirljivi logički kontroleri
X bajt . bit
I 2.7 – bit broj 7 u bajtu broj 2 u tabličnoj slici ulaza (I)
________________________________________________________________________33
SIMATIC S7 Programirljivi logički kontroleri
7 6 5 4 3 2 1 0
bajt 0
bajt 1
bajt 2
bajt 3 XBbajt
:
: MB2
bajt n
7 6 5 4 3 2 1 0
bajt 0
bajt 1
bajt i+1 bajt i
bajt 2
bajt 3 bajt 2 (LSB)
bajt 3
:
XWbajt
:
bajt n MW2
Bit memorija (M) Oznaka
za riječ
________________________________________________________________________34
SIMATIC S7 Programirljivi logički kontroleri
7 6 5 4 3 2 1 0
bajt 0
bajt i+3 bajt i+2 bajt i+1 bajt i
bajt 1
bajt 3 bajt 2 bajt 1 bajt 0 (LSB)
bajt 2
bajt 3
XDbajt
:
: MD0
bajt n
Prilikom povezivanja PLC uređaja sa procesom potrebno je odrediti U/I module, kao i
priključne stezaljke na njima, gdje će se dovoditi ili odvoditi signali sa ulaznih odnosno izlaznih
uređaja. Kod modula digitalnih ulaza i/ili izlaza priključne stezaljke su izvedene u grupama od
8 stezaljki koje su u memoriji također predstavljene grupama od 8 bitova koji se promatraju
kao bajtovi. Na raspolaganju su digitalni moduli sa 8, 16 ili 32 ulaza ili izlaza zbog čega je za
svaki utor za module u memoriji rezerviran adresni prostor od 4 bajta. To znači da se prilikom
korištenja digitalnih modula sa npr. 16 ulaza ili izlaza u memoriji gube dva bajta adresa po
svakom utoru za module. Kod modula analognih ulaza i/ili izlaza za svaki analogni signal
(strujni ili naponski) koristi se jedan kanal koji u memoriji zauzima adresni prostor od 2 bajta.
Na raspolaganju su moduli sa 2, 4, 8 analognih U/I kanala zbog čega je za svaki utor za module
u memoriji rezerviran adresni prostor od 16 bajta.
Kod serije S7-400 također se mogu koristiti moduli sa 16 analognih U/I kanala koji
zauzima adresni prostor od 32 bajta budući da je za svaki kanal u memoriji potrebna jedna
riječ (dva bajta).
Da bi se u programu moglo pristupiti vrijednostima signala sa digitalnih ili analognih
modula potrebno je znati apsolutne adrese ulaza i izlaza PLC uređaja. Adresiranje ulaza i
izlaza temelji se na položaju modula na mjestima za module (eng. Slot-based addressing) u
montažnom okviru S7 stanice čime se pojednostavljuje adresiranje u S7-300/400 okruženju.
Adrese bajtova kod digitalnih i analognih modula ovise o početnoj adresi na modulu (eng. Start
address) koja je određena položajem modula u montažnom okviru. To znači da se svakom
mjestu za module tzv. utoru (eng. slot) dodjeljuje početna adresa modula koja određuje prvi
bajt u memorijskom prostoru koji je dodijeljen odgovarajućim stezaljkama tog modula. Alat za
konfiguraciju sklopovlja (eng. Hardware Config), koji je sastavni dio programskog paketa STEP
7, svakom U/I modulu dodjeljuje početnu adresa koja je kod serije S7-300 u pravilu fiksna jer
ovisi o utoru na kojem se taj modul nalazi u konifguraciji S7 stanice. Kod CPU modula iz serije
S7-300 koji imaju integrirano DP sučelje (npr. CPU315-2DP), CPU 318 i kod svih CPU modula
iz serije S7-400 korisnik može promijeniti početne adrese koje je STEP 7 dodijelio U/I
modulima. O početnoj adresi ovise sve ostale adrese digitalnog i analognog modula u
pripadajućem utoru za module jer se na temelju prvog bajta sukcesivno dodjeljuju ostali bajtovi
koje modul koristi. Kod digitalnog modula sa npr. 32 ulaza i dodijeljenom početnom adresa 4
________________________________________________________________________35
SIMATIC S7 Programirljivi logički kontroleri
tako se za adresiranje prve grupe od 8 ulaznih stezaljki koristiti četvrti bajt u pripadajućem
memorijskom području procesorske jedinice. Pritom se za adresiranje ostalih grupa od 8
ulaznih stezaljki koriste bajtovi 5, 6 i 7.
Kada se koristi konfiguracija koja se sastoji od distribuiranih U/I modula na PROFIBUS-
DP ili PROFINET IO sabirničkoj mreži adresiranje njihovih ulaza i izlaza se temelji na
adresama koje je odredio korisnik (eng. User-specific addressing). To znači da korisnik u alatu
za konfiguraciju sklopovlja može svakom modulu (SM/FM/CP) dodijeliti adresu po vlastitom
izboru.
Digitalnim modulima se u pravilu dodjeljuju adrese iz memorijskog područja tablične
slike ulaza /izlaza čime je osigurano da se stanja signala sa njihovih stezaljki osvježavaju u
svakom ciklusu obrade podataka u PLC-u. Analognim, funkcijskim i komunikacijskim modulima
dodjeljuju se adrese iz područja periferne memorije čime je omogućen direktan pristup
podacima sa modula neovisno o ciklusu rada PLC-a.
Tablična slika sadrži stanja signala ("sliku signala") sa modula digitalnih ulaza i modula
digitalnih izlaza te je stoga podijeljena na sliku ulaza i sliku izlaza. Stanjima ulaza se u
programu pristupa pomoću adresnog područja za ulaze na koje se referencira oznakom I dok
se rezultati obrade programa šalju na izlaze preko adresnog područja za izlaze na koje se
referencira oznakom Q. Zbog toga se ulaznim / izlaznim stezaljke svakog digitalnog modula
pridružuju odgovarajući bajtovi u tabličnoj slici procesnih ulaza / izlaza na temelju početnih
adresa modula dodijeljenih pomoću alata za konfiguraciju sklopovlja u STEP 7.
I/Q I/Q
Adresa 0.0 Adresa 2.0
Adresa 0.7 Adresa 2.7
Adresa 1.0 Adresa 3.0
Adresa 1.7 Adresa 3.7
Utor 1 Utor 2 Utor 3 Utor 4 Utor 5 Utor 6 Utor 7 Utor 8 Utor 9 Utor 10 Utor 11
Utor 2 Utor 3 Utor 4 Utor 5 Utor 6 Utor 7 Utor 8 Utor 9 Utor 10 Utor 11
Adrese digitalnih modula se kod serije S7-300 dodjeljuju na temelju utora za module u
koji je pojedini modul umetnut prilikom konfiguracije uređaja. Slika 29. prikazuje primjer
dvookvirne konfiguraciju uređaja serije S7-300 gdje je za svaki utor rezerviran memorijski
prostor od 4 bajta u slici procesnih ulaza ili izlaza počevši od utora br. 4 za koji su rezervirani
bajtovi 0-3. Za utor br. 5 nadalje su rezervirani bajtovi 4-7, za utor br. 6 rezervirani su bajtovi
8-11, itd. Kada se na pojedinom mjestu za module nalazi kartica digitalnih ulaza (DI)
pripadajući bajtovi se tada rezerviraju u tabličnoj slici procesnih ulaza a kada se na utoru za
________________________________________________________________________36
SIMATIC S7 Programirljivi logički kontroleri
module nalazi kartica digitalnih izlaza (DO) pripadajući bajtovi se tada rezerviraju u tabličnoj
slici procesnih izlaza. To znači da se brojevi bajtova koji su u slici ulaza dodijeljeni karticama
digitalnih ulaza ne mogu u slici izlaza više iskoristiti za kartice digitalnih izlaza i obratno. Pritom
se adrese koje su dodijeljene digitalnim U/modulima ne mogu promijeniti osim kod CPU
modula iz serije S7-300 koji podržavaju promjenu početnih adresa.
Digitalni moduli se kod serije S7-400 adresiraju na sličan način kao i kod serije S7-300
s razlikom da adrese bajtova u tabličnoj slici procesnih ulaza / izlaza nisu fiksne. To znači da
se dodijeljene početne adrese modula mogu po želji promijeniti u postavkama digitalnih U/I
modula. U ovom slučaju moguće je u potpunosti iskoristiti memorijski prostor tablične slike
procesnih ulaza / izlaza jer ulazni i izlazni moduli mogu koristiti iste brojeve bajtova u tim
memorijskim područjima. Slika 30. prikazuje konfiguraciju uređaja serije S7-400 gdje se u
utorima za module br. 4, 5, 6 i 7 nalaze kartice digitalnih ulaza (DI) kojima su u tabličnoj slici
procesnih ulaza za utor br. 4 rezervirani bajtovi 0-3, za utor br. 5 bajtovi 4-7, za utor br. 6 bajtovi
8-11, itd. Za kartice digitalnih izlaza (DO) koje se nalaze u utorima za module br. 8, 9, 10 i 11
su u tabličnoj slici procesnih izlaza također rezervirani isti brojevi bajtova kao i za ulaze što
kod S7-300 nije bilo moguće. To znači da su u slici izlaza za utor br. 8 rezervirani bajtovi 0-3,
za utor br. 9 bajtovi 4-7, za utor br. 10 bajtovi 8-11, itd. Na taj način se svim digitalnim
modulima, bez obzira u kojim se utorima za module nalaze, uzastopce dodjeljuju 4 bajta u slici
ulaza ili izlaza koji slijede nakon bajtova koji su dodijeljeni prethodnim ulaznim ili izlaznim
modulima.
I I I I Q Q Q Q
PS-407 S7 CPU Utor 4 Utor 5 Utor 6 Utor 7 Utor 8 Utor 9 Utor 10 Utor 11
Svim digitalnim ulazima / izlazima se pristupa adresama na razini bita imaju oblik "Xbajt.bit"
gdje se umjesto "X" navodi oznaka I kada se referencira na sliku ulaza odnosno oznaka Q
kada se referencira na sliku izlaza. Tako bi npr. digitalna kartica sa 32 ulazne stezaljke koja se
nalazi u utoru za module br.4 sa slike 29 ili slike 30. koristila adrese I0.0 do I3.7 gdje adresa
I0.0 odgovara prvoj ulaznoj stezaljci. Početna adresa modula u ovom slučaju je bajt 0 kojim se
adresira prva grupu od 8 ulaznih stezaljki na samoj digitalnoj kartici. Stanja digitalnih ulaza /
izlaza ponekad je u programu potrebno promatrati kao bajtove, riječi ili dvostruke riječi čime
se jednom adresom "obuhvaća" stanje više digitalnih ulaza / izlaza kartice.
Periferna memorija je memorijsko područje iz kojeg je, neovisno o ciklusu rada PLC-a,
moguće direktno pristupiti podacima sa ulaznih modula kao i poslati podaktke direktno na
izlazne module. Uporabom periferne memorije tako je izbjegnuto kašnjenje između podataka
iz programa i signala sa U/I modula koje je povezano sa ciklusom rada PLC uređaja. Periferni
________________________________________________________________________37
SIMATIC S7 Programirljivi logički kontroleri
ulazi (eng. Peripheral Inputs, PI) su adresno područje za pristup ulaznim modulima koje se
referencira oznakom PI dok su periferni izlazi (eng. Peripheral Outputs, PQ) adresno područje
za pristup izlaznim modulima koje se referencira oznakom PQ. Pritom je u ovim područjima
moguće adresirati bajtove (PIB za ulaze, PQB za izlaze), riječi (PIW za ulaze, PQW za izlaze),
dvostruke riječi (PID za ulaze, PQD za izlaze). Adresno područje perifernih ulaza i izlaza može
se koristiti za direktan pristup kako digitalnim tako i analognim modulima.
Dio adresnog područja perifernih ulaza i izlaza koji je povezan s tabličnom slikom
procesnih ulaza i izlaza počinje od bajta 0 i završava bajtom čiji broj ovisi o vrsti CPU modula
s kojim se radi. Ulogu dijela periferne memorije koji je prema standardnim postavkama
namijenjen digitalnim modulima najlakše je objasniti na sljedećem primjeru. Uzmimo npr.
adresu IB0 koja se u programu koristi kada se pristupa stanju grupe od 8 digitalnih ulaza iz
tablične slike procesnih ulaza koja se ciklički osvježava tijekom rada PLC uređaja. Stanju ovih
ulaza također je moguće u programu direktno pristupiti uporabom periferne memorije. U tom
slučaju potrebno je u odgovarajućoj instrukciji u programu navesti adresu PIB0 čime se
pristupa trenutnom stanju adrese digitalnih ulaza kojima bi se normalno pristupalo pomoću
adrese IB0. Naravno vrijedi i obratno, pa je uporabom odgovrajućih bajtova u adresnom
području perifernih izlaza moguće na određenu digitalne izlaze poslati trenutne rezultate
obrade programa. Ovaj dio periferne memorije koristi se samo u slučajevima kada se prilikom
izrade programa postavljaju zahtjevi za direktnim pristupom digitalnim ulazima ili izlazima.
Periferna memorija se u pravilu koristi za analogne kartice čijim se podacima pristupa
direktno sa U/I sabirnice. Kašnjenje koje je povezano sa A/D (i D/A) pretvorbom na taj način
nema utjecaja na ciklus rada PLC uređaja. Naime, vrijednosti sa kartica analognih ulaza se,
za razliku od digitalnih ulaza, ne spremaju ciklički u tabličnu sliku ulaza niti se rezultati obrade
programa iz tablične slike izlaza ciklički prenose na kartice analognih izlaza zbog čega
periferna memorija služi kao veza između analognih U/I modula i korisničkog programa.
Potrebno je naglasiti da funkcijskim i komunikacijskim modulima također dodjeljuju adrese iz
područja periferne memorije pri čemu vrijede ista pravila kao da se radi o analognim modulima.
Utor 1 Utor 2 Utor 3 Utor 4 Utor 5 Utor 6 Utor 7 Utor 8 Utor 9 Utor 10 Utor 11
Utor 2 Utor 3 Utor 4 Utor 5 Utor 6 Utor 7 Utor 8 Utor 9 Utor 10 Utor 11
Adrese analognih modula kod serije S7-300 su, kao i kod digitalnih modula,
predefinirane utorom za module u koji je pojedini modul umetnut prilikom konfiguracije
uređaja. Slika 31. prikazuje primjer dvookvirne konfiguraciju uređaja serije S7-300 gdje je za
svaki utor rezerviran memorijski prostor od 16 bajta u području periferne memorije počevši od
utora br. 4 za koji su rezervirani bajtovi 256-271. Za utor br. 5 nadalje su rezervirani bajtovi
272-287, za utor br. 6 rezervirani su bajtovi 288-303, itd. Kada se na pojedinom mjestu za
module nalazi kartica analognih ulaza (AI) pripadajući bajtovi se tada rezerviraju u području
perifernih ulaza. Pritom se svaka adresa ulaznog kanala sastoji od oznake PIW koja govori da
se radi o riječi u području perifernih ulaza poslije koje dolazi manje značajni bajt te riječi. Prvi
kanal analogne ulazne kartice koja je umetnuta u utor br. 4 tako će imati adresu PIW256 za
koju su rezervirani bajtovi 256-257, drugi kanal će imati adresu PIW258 za koju su rezervirani
bajtovi 258-259, itd. Isto tako, kada se na pojedinom mjestu za module nalazi kartica analognih
________________________________________________________________________38
SIMATIC S7 Programirljivi logički kontroleri
izlaza (AO) pripadajući bajtovi se tada rezerviraju u području perifernih izlaza. Pritom se svaka
adresa izlaznog kanala sastoji od oznake PQW koja govori da se radi o riječi u području
perifernih ulaza poslije koje dolazi manje značajni bajt te riječi. Prvi kanal analogne izlazne
kartice koja je umetnuta u utor br. 5 tako će imati adresu PQW272 za koju su rezervirani bajtovi
272-273, drugi kanal će imati adresu PQW274 za koju su rezervirani bajtovi 274-275, itd. Na
taj način se brojevi bajtova koji su u području perifernih ulaza dodijeljeni karticama analognih
ulaza ne mogu u području perifernih izlaza više iskoristiti za kartice analognih izlaza i obratno.
Adrese koje su dodijeljene analognim U/I modulima nije moguće promijeniti osim kod CPU
modula iz serije S7-300 koji podržavaju promjenu početnih adresa.
Adresiranje analognih modula kod serije S7-400 započinje od bajta 512 kako u
području perifernih ulaza tako i u području perifernih izlaza. To znači da je kod ove seriju
moguće u potpunosti iskoristiti memorijski prostor perfiernih ulaza / izlaza jer ulazni i izlazni
analogni moduli mogu koristiti iste brojeve bajtova u tim memorijskim područjima. Za svaki
analogni modul se u perifernoj memoriji rezervira 16 ili 32 bajtova što ovisi o broju ulaznih /
izlaznih kanala (8 kanala – 16 bajtova ili 16 kanala – 32 bajta) na samoj kartici. Slika 32.
prikazuje konfiguraciju uređaja serije S7-400 gdje se u utorima za module br. 4 i 5 nalaze
kartice analognih ulaza (AI) sa 8 kanala za koje su u području perifernih ulaza u utoru br. 4
rezervirani bajtovi 512-527 a u utoru br. 5 bajtovi 528-543. Za kartice analognih izlaza (AO) sa
16 kanala koje se nalaze u utorima za module br. 6, 7 i 8 su u u području perifernih izlaza
rezervirani isti brojevi bajtova kao i za ulazne kanale što kod S7-300 nije moguće. Međutim, u
ovom slučaju radi se o 16 kanala pa su tako za utor br. 6 rezervirani bajtovi 512-543, za utor
br. 5 bajtovi 544-575, a za utor br. 6 bajtovi 576-607. Na taj način se svim analognim karticama,
bez obzira u kojim se utorima za module nalaze, uzastopce dodjeljuje 16 ili 32 bajta u području
perifernih ulaza ili izlaza koji slijede nakon bajtova koji su dodijeljeni prethodnim ulaznim ili
izlaznim modulima.
________________________________________________________________________39
SIMATIC S7 Programirljivi logički kontroleri
MD20
MW22 MW20
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
MW21 M20.1
________________________________________________________________________40
SIMATIC S7 Programirljivi logički kontroleri
kraj rada) ili u operacijama na razini riječi za provjeru vrijednosti do koje je brojač nabrojao ili
odbrojao.
Podaci se kod PLC uređaja S7 serije osim u navedenim adresnim područjima mogu
još adresirati u podatkovnim blokovima. Podatkovni blokovi (DB) se koriste za spremanje
podataka iz logičkih blokova (FC, FB, OB) u slučajevima kada je podatake iz korisničkog
programa potrebno trajno spremiti. Svaki podatkovni blok se sastoji od podatkovnih elemenata
(varijabli) čije se adresiranje vrši bajt po bajt, na isti način kao što se to radi kod bit memorije.
Podatkovni bitove, bajtove, riječi ili dvostruke riječi također je moguće iz podatkovnih blokova
prebacivati u logičke blokove korisničkog programa. Pritom se prilikom rada s podatkovnim
blokovima mogu koristiti dva različita načina pristupa podatkovnim elementima: djelomični
pristup (eng. Partial addresing) sa naredbama "OPN DB" ili "OPN DI" i potpuni pristup (engl.
Full addresing). Adresiranje podatkovnih blokova detaljnije je opisano u poglavlju o
podatkovnim blokovima.
________________________________________________________________________41
SIMATIC S7 Programirljivi logički kontroleri
Periferni ulazi (PI) Periferni ulazni bajt PIB PIB - Periferni ulazni bajt 256
Periferna ulazna riječ PIW PIW - Periferna ulazna riječ 256, bajtovi 256-257
Periferna ulazna PID PID - Periferna ulazna dvostruka riječ 256, bajtovi
dvostruka riječ 256-259
Periferni izlazi (PQ) Periferni izlazni bajt PQB PQB - Periferni izlazni bajt 512
Periferna izlazna riječ PQW PQW - Periferna izlazna riječ 256, bajtovi 512-513
Periferna izlazna PQD PQD - Periferna izlazna dvostruka riječ 512, bajtovi
dvostruka riječ 512-515
Bit memorija (M) Memorijski bit M M14.4 - memorijski bajt 14, bit 4
________________________________________________________________________42
SIMATIC S7 Programirljivi logički kontroleri
Elementarni podatkovni tipovi ne mogu biti duži od 32 bita te se stoga mogu obrađivati
samo elementarnim STEP 7 naredbama. Varijable sa elementarnim tipovima podataka također se
mogu deklarirati i samim time koristiti u podatkovnim i svim logičkim blokovima. Elementarni
podatkovni tipovi definirani su u skladu sa IEC 1131-3 standardom koji se bavi programiranjem
PLC uređaja. Tablicom 10. prikazani su elementarni tipovi podataka koji su dostupni u S7 PLC
uređajima a prethodi joj kratak opis i način primjene pojedinog elementarnog tipa podatka.
Varijable podatkovnog tip BOOL se sastoje od jednog bita i mogu imati vrijednost "TRUE"
(istinit, logičko stanje 1) ili "FALSE" (laž, logičko stanje 0).
Varijable podatkovnog tipa BYTE se sastoje od 8 bita koji predstavljaju općeniti 8-bitni niz koji
se navodi pomoću oznake "2#" nakon čega slijedi pripadajući niz nula i jedinica, kao npr.
2#0100_1111. Kod ovog tipa podataka ne pristupa se pojedinačnim bitova pa se oni također
mogu promatrati kao 8-bitni heksadecimalni broj. Na taj način se sadržaj varijable prikazuje
kao dvoznamenkasta heksadecimalna vrijednost gdje 4 bita predstavljaju jednu
________________________________________________________________________43
SIMATIC S7 Programirljivi logički kontroleri
heksadecimalna znamenku. Vrijednost koja je na taj način zapisana u ovom podatkovnom tipu
se prepoznaje pomoću oznake "B#16#" gdje "B" govori da se radi o bajtu dok "16" govori da
se radi o heksadecimalnom broju. Mogući raspon vrijednosti kreće se od B#16#00 do
B#16#FF.
8 4 2 1 8 4 2 1 Težina
7 6 5 4 3 2 1 0 Pozicija
0 1 0 0 1 1 1 1
Varijable podatkovnog tipa CHAR u memoriji zauzima prostor veličine jednog bajta (8 bita) i
predstavlja znak ASCII koda. To znači da ovaj tip podatka može spremati velika i mala slova,
brojeve 0-9 kao i neke ostale znakove koji su definirani ASCII kodom. Svi se znakovi u varijabli
podatkovnog tipa CHAR navode unutar apostrofa (npr. 'A').
Varijable podatkovnog tipa WORD se sastoje od 16 bita koji predstavljaju općeniti 16-bitni niz
gdje se također ne pristupa se pojedinačnim bitova. Pritom se bitovi unutar ovog podatkovnog
tipa mogu koristiti na nekoliko različitih načina, i to kao:
- 16-bitni binarni broj: varijabla podatkovnog tipa WORD se promatra kao 16-bitna
binarna vrijednost koja se navodi pomoću oznake "2#" nakon čega slijedi pripadajući
16-bitni binarni niz nula i jedinica, kao npr. 2#0101_1110_0000_1111. Mogući raspon
vrijednosti u ovom slučaju se kreće od 2#16#0000_0000_0000_0000 do
2#16#1111_1111_1111_1111. Primjer ovakvog načina uporabe podatkovnog tipa
WORD je u slučajevima kada je potrebno usporediti stanje 16 bitova koji predstavljaju
digitalne ulaze sa nekom poznatom maskom od 16 bitova ili ako je potrebno
istovremeno promijeniti stanje 16 digitalnih izlaza.
8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 Težina
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Pozicija
0 1 0 1 1 1 1 0 0 0 0 0 1 1 1 1
________________________________________________________________________44
SIMATIC S7 Programirljivi logički kontroleri
8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 Težina
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Pozicija
0 0 0 1 0 0 1 1 1 0 1 0 1 1 1 1
1 3 A F
Slika 36. Varijabla podatkovnog tipa WORD kao četveroznamenkasti heksadecimalni broj
- BCD broj s tri dekade: varijabla podatkovnog tipa WORD također se može koristiti kao
binarno kodirani dekadski (dalje BCD) broj s tri dekade. To je moguće zbog činjenice
da se vrijednosti zapisuju u 16-bitnom heksadecimalnom formatu čije znamenke 0 do
9 odgovaraju znamenkama BCD koda. BCD brojevi su ustvari dekadski brojevi
zapisani na način da se jedna dekadska znamenka kodira grupom od četiri binarne
znamenke koje zajedno formiraju jednu dekadu. Krajnje lijeva grupa bitova rezervirana
je za predznak broja zbog čega je na raspolaganja jedna dekada manje za spremanje
BCD brojeva. Kada je u stanju "0000" radi se o pozitivnom BCD broju a kada je u stanju
"1111" radi se o negativnom BCD broju. Mogući raspon vrijednosti 16-bitnih BCD
brojeva tako se kreće od 0 do ±999. Za BCD brojeve ne postoji posebna oznaka već
se prilikom unosa BCD brojeva koristi oznaka "W#16#" kao kod unosa
četveroznamenkastih heksadecimalnih brojeva. Nakon te oznake navodi se predznak
i tri znamenke BCD broja. Kada se radi o pozitivnom predznaku unosi se W#16#0XXX
a kada se radi o negativnom broju unosi se W#16#FXXX. Pritom X predstavlja tri broja
BCD koda koje mogu biti isključivo brojevi 0 do 9 čime se izbjegava unos nevažećih
BCD brojeva budući da su heksadecimalne znamenke A do F zabranjene u BCD kodu.
Slika 37. prikazuje primjer unosa BCD broja -789 u varijablu podatkovnog tipa WORD.
8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 Težina
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Pozicija
1 1 1 1 0 1 1 1 1 0 0 0 1 0 0 1
F 7 8 9
Predznak (-) Stotice (102) Desetice (101) Jedinice (100)
Slika 37. Varijabla podatkovnog tipa WORD kao BCD broj s tri dekade
- Postavna vrijednost brojača: varijabla podatkovnog tipa WORD može se koristiti kao
postavna vrijednost (eng. Count Value) prilikom rada s brojačima. Za spremanje
postavne vrijednosti u memorijskom području za brojače rezervirana je memorijska
lokacija veličine riječi gdje je postavna vrijednost predstavljena kao BCD broj s tri
dekade. Krajnje lijeva dekada za predznak pritom je uvijek jednaka "0000". Postavna
vrijednost brojača se navodi pomoću oznake "C#" nakon koje dolazi BCD broj u
rasponu od 000 do 999 (npr. C#200).
- Dva 8-bitna dekadska broja bez predznaka: u ovom slučaju se kod zapisa vrijednosti
varijable podatkovnog tipa WORD navode 2 dekadska broja bez predznaka koja
predstavljaju vrijednosti 2 bajta memorijske lokacije veličine riječi (Slika 38). Vrijednosti
bajtova navode se pomoću oznake "B#" nakon koje, unutar okruglih zagrada, dolaze
dva dekadska broja odvojena zarezom (npr. B#(15,125)). Raspon mogućih dekadskih
brojeva za svaki bajt se kreće od 0-255 odnosno od B#(0,0) do B#(255,255) budući da
se radi o 8-bitnim dekadskim brojevima bez predznaka.
________________________________________________________________________45
SIMATIC S7 Programirljivi logički kontroleri
0 0 0 0 1 1 1 1 0 1 1 1 1 1 0 1
15 125
Slika 38. Varijabla podatkovnog tipa WORD kao dva 8-bitna dekadska broja
Varijable podatkovnog tipa DWORD se sastoje od 32 bita koji predstavljaju općeniti 32-bitni
niz gdje se ne pristupa se pojedinačnim bitova. Pritom se slično kao i podatkovnog tipa WORD,
bitovi unutar ovog podatkovnog tipa mogu koristiti na nekoliko različitih načina, i to kao:
- 32-bitni binarni broj: varijabla podatkovnog tipa DWORD se promatra kao 32-bitna
binarna vrijednost koja se navodi pomoću oznake "2#" nakon čega slijedi pripadajući
32-bitni binarni niz nula i jedinica, kao npr.
2#0101_1110_0000_1111_1100_0011_0101_1010. Mogući raspon vrijednosti u ovom
slučaju kreće se od najmanje vrijednosti kada je svih 32 bita u stanju 0 do najveće
vrijednosti kada je svih 32 bita u stanju 1. Primjer ovakvog načina uporabe podatkovnog
tipa DWORD je u slučajevima kada je potrebno usporediti stanje 32 bita koji
predstavljaju digitalne ulaze sa nekom poznatom maskom od 32 bita ili ako je potrebno
istovremeno promijeniti stanje 32 digitalna izlaza, itd.
8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 Težina
31 28 27 24 23 20 19 16 15 12 11 8 7 4 3 0 Pozicija
0 1 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 0 1 0 1 1 0 1 0
8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 Težina
31 28 27 24 23 20 19 16 15 12 11 8 7 4 3 0 Pozicija
0 1 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 0 1 0 1 1 0 1 0
5 E 0 F C 3 5 A
Slika 40. Varijabla podatkovnog tipa DWORD kao osmeroznamenkasti heksadecimalni broj
________________________________________________________________________46
SIMATIC S7 Programirljivi logički kontroleri
- BCD broj sa sedam dekada: varijabla podatkovnog tipa DWORD se može koristiti kao
BCD broj sa sedam dekada zbog činjenice da se binarne vrijednosti heksadecimalnih
znamenki 0-9 zapisuju na jednak način kao i znamenke BCD koda. Mogući raspon
vrijednosti 32-bitnih BCD brojeva kreće se od 0 do ±9 999 999. Za BCD brojeve ne
postoji posebna oznaka već se prilikom zapisa BCD brojeva koristi oznaka "DW#16#"
kao kod unosa osmeroznamenkastih heksadecimalnih brojeva. Nakon te oznake
navodi se predznak ("0" za pozitivan predznak ili "F" za negativan predznak) i samo
brojevi 0 do 9 čime se može izbjeći unos nevažećih BCD brojeva. Slika 41. prikazuje
primjer unosa BCD broja +7 654 321 u varijablu podatkovnog tipa DWORD.
8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 Težina
31 28 27 24 23 20 19 16 15 12 11 8 7 4 3 0 Pozicija
0 0 0 0 0 1 1 1 0 1 1 0 0 1 0 1 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1
0 7 6 5 4 3 2 1
Predznak (+) Milijuni Stotine tisuća Deseci tisuća Tisuće Stotice Desetice Jedinice
(106) (105) (104) (103) (102) (101) (100)
Slika 41. Varijabla podatkovnog tipa DWORD kao BCD broj sa sedam dekada
- Četri 8-bitna dekadska broja bez predznaka: u ovom slučaju se kod zapisa vrijednosti
varijable podatkovnog tipa DWORD navode 4 dekadska broja bez predznaka koja
predstavljaju vrijednosti 4 bajta memorijske lokacije veličine dvostruke riječi (Slika 42.).
Vrijednosti bajtova navode se pomoću oznake "B#" nakon koje unutar okruglih zagrada
dolaze četri dekadska broja odvojena zarezom (npr. B#(20,120,200,20)). Raspon
mogućih dekadskih brojeva za svaki bajt se kreće od 0-255 odnosno od B#(0,0,0,0) do
B#(255,255,255,255) budući da se radi o 8-bitnim dekadskim brojevima bez
predznaka.
0 0 0 1 0 1 0 0 0 1 1 1 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 1 0 1 0 0
20 120 200 20
Slika 42. Varijabla podatkovnog tipa DWORD kao četri 8-bitna dekadska broja
Varijabla podatkovnog tipa INT se koristi za spremanje cijelih brojeva (eng. Integers) sa
predznakom (16-bitnih), odnosno pozitivnih i negativnih brojeva iz dekadskog brojevnog
sustava. U memoriji zauzima prostor veličine jedne riječi (16 bita) što znači da je moguće
spremiti cijele brojeve u rasponu –32768 do +32767. Za spremanje vrijednosti broja koriste se
bitovi 0 do 14, dok se 15 bit označuje predznak broja. Ako je taj bit u stanju logičke 0 broj je
pozitivan, a ako je u stanju logičke 1 broj je negativan. Pritom se negativna vrijednosti cijelog
broja zapisuje u obliku dvostrukog komplementa sa petnaestim bitom u stanju logičke jedinice.
Za podatkovni tip INT ne postoji posebna oznaka već se u programu prilikom unosa broja
jednostavno navede cijeli broj sa odgovarajućim predznakom, kao npr. -3159.
________________________________________________________________________47
SIMATIC S7 Programirljivi logički kontroleri
Varijabla podatkovnog tipa DINT se koristi za spremanje 32-bitnih cijelih brojeva (eng. Double
Integers) sa predznakom. U memoriji zauzima prostor veličine dvije riječi (32 bita) što znači da
pokriva raspon brojeva od -2147483648 do 2147483647. Ovaj podatkovni tip namijenjen je
spremanju brojeva koji uslijed raznih operacija u programu premašuju raspon brojeva koji
pokriva podatkovni tip INT (brojevi manji od -32768 i veći od 32767). Za spremanje vrijednosti
broja koriste se bitovi 0 do 31, dok se 32 bit označuje predznak broja. Ako je taj bit u stanju
logičke 0 broj je pozitivan, a ako je u stanju logičke 1 broj je negativan. Pritom se negativna
vrijednosti cijelog broja, isto kao kod podatkovnog tipa INT, zapisuje u obliku dvostrukog
komplementa sa 31 bitom u stanju logičke jedinice. Bilo koji broj se u varijabli podatkovnog
DINT može navesti pomoću oznake"L#" nakon koje dolazi cijeli broj sa odgovarajućim
predznakom (npr. L# -214741234) ili bez te oznake na jednak način kao što se to radi kod
podatkovnog tipa INT (npr. -214741234).
Varijabla podatkovnog tipa REAL se koristi za spremanje realnih brojeva (često se nazivaju i
brojeva s pokretnim zarezom) i pokriva pozitivne ili negativne broj u rasponu od ±1,175495·10-
38
do ±3,402823·1038. Prikaz realnih brojeva u STEP 7 je u skladu sa IEEE standardom za 32-
bitne brojeve s pomičnim zarezom (obična preciznost). Svaki realni broj koji se sprema u REAL
formatu u memoriji zauzima prostor veličine dvije riječi (32 bita). Najznačajniji bit pritom
određuje predznak broja dok ostali bitovi određuju mantisu i eksponent baze 2. Realni brojevi
se na taj način navode u eksponencijalnom prikazu gdje je eksponent definiran kao potencija
broja 10. U tablici 11. prikazano je nekoliko primjera zapisa brojeva u REAL formatu. U
ovakvom se prikazu realnih brojeva prva značajna znamenka nalazi lijevo od decimalnog
zareza dok se desno može nalaziti do šest znamenaka nakon kojih dolazi eksponent koji se
može navesti pomoću velikog "E" ili malog slova "e". Broj u eksponentu određuje za koliko se
mjesta od najznačajnije znamenke broja u REAL formatu mora pomaknuti decimalni zarez da
bi se dobio realni broj koji nije zapisan u REAL formatu. Pozitivni eksponent pritom znači
pomak decimalnog zareza u desno dok negativni eksponent znači pomak decimalnog zareza
u lijevo.
Varijabla podatkovnog tipa S5TIME se koristi kod definiranje postavne vrijednosti timera.
Postavna vrijednost timera u programu se navodi pomoću oznake "STIME#" ili "S5T#" nakon
koje dolaze sati (jedinica h ili H), minute (jedinica m ili M), sekunde (jedinica s ili S) i milisekunde
(jedinica ms ili MS). Oznake jedinica vremena moguće unijeti kao malo ili veliko slovo dok se
suvišne jedinice mogu izostaviti pa je moguće samo unijeti vremenske jedinice koje su
potrebne da bi se definirala željena postavna vrijednost (npr. STIME#"2h45m). Za spremanje
________________________________________________________________________48
SIMATIC S7 Programirljivi logički kontroleri
Varijabla podatkovnog tipa DATE se koristi za spremanje vrijednosti datuma za što je potrebna
jedna riječ (16 bita). Ova vrijednost se u memoriji interpretira kao 16-bitni cijeli broj bez
predznaka koji predstavlja broj dana od 01.01.1990. Željeni kalendarski datum se navodi
pomoću oznake "DATE#" ili "D#" nakon koje dolazi godina, mjesec i dan koji su svaki
međusobno odvojeni crticom (npr. DATE#2009-11-11 ili D#2009-11-11). Ovaj podatkovni tip
podržava unos datuma od 01.01.1990 do 31.12.2168. odnosno od D#1990-10-01 do D#2168-
12-31 kada se navodi u željenoj varijabli.
U tablici 12. na sljdećoj stranici nalazi se kratak pregled elementarnih tipova podataka
koji se mogu koristiti prilikom rada sa PLC uređajima S7 serije. Vrijednosti svih varijabli s
kojima se radi u korisničkom programu korisniku je moguće prikazati u programskoj podršci
STEP 7 pomoću alata za testiranje korisničkog programa koji se naziva tablica varijabli (više
u XXX. Naslov Poglavlja o tabl varijabli). Pritom se vrijednosti prikazuju (ili unose nove
vrijednosti) u formatu koji ovisi o podatkovnom tipu varijable koja se promatra. Potrebno je
naglasiti da za neke elementarne podatkovne tipove postoje više formata za prikaz i promjenu
vrijednosti varijabli (npr. D#2168-12-31 ili DATE#2168-12-31 ).
________________________________________________________________________49
SIMATIC S7 Programirljivi logički kontroleri
________________________________________________________________________50
SIMATIC S7 Programirljivi logički kontroleri
2 STEP 7
STEP 7 je programski paket koji služi za rad sa svim SIMATIC komponentama pomoću
kojih je izveden sustav za upravljanje industrijskim postrojenjima. Prisjetimo se da se takvi
sustavi mogu sastojati od PLC uređaja S7 serije i raznih ostalih uređaja (HMI uređaja,
pretvarača napona i frekvencije, itd.) koji se međusobno mogu povezivati raznim
komunikacijskim mrežama (Profibus, Industrial Ethernet i sl.). Zbog toga se STEP 7 na prvom
mjestu koristi za razvoj programske podrške (konfiguriranje, programiranje, itd.) za PLC
uređaje serije S7-300 / 400 kao i za rad sa ostalim komponentama sa kojima je izveden sustav
upravljanja temeljen na porodici SIMATIC.
Programski paket STEP 7 se sastoji od čitavog niza alata (viši programski jezici
namijenjeni programerima, grafički jezici namijenjeni tehničarima i razni drugi alati za
testiranje, dijagnostiku, izradu dokumentacije i sl.) koji programskoj podršci daje modularnu
strukturu kao što je to slučaj kod sklopovlja iz SIMATIC porodice. Na taj način korisnik radi
samo s alatom koji mu je u danom trenutku potreban čime se štedi vrijeme koje se provodi u
razvoju programske podrške za uređaje S7 serije. Postoji više verzija programskih paketa
STEP 7 o čemu ovisi koje će sve alati biti dostupni korisniku. Osnovni paket STEP 7 Basic
software tako omogućuje rad u tri programska jezika: ljestvičastom dijagramu (LAD), funkcijsko
blokovskom dijagramu (FBD) i statement listi (STL). Na raspolaganju je i verzija STEP 7
Professional koja uz sve funkcije osnovnog paketa ima i opcionalne alate S7-GRAPH, S7-SCL
i S7-PLCSIM.
STEP 7 se može instalirati na stolno ili prijenosno računalo (tzv.PG/PC) koji radi na
Windows operativnom sustavu. Nakon instalacije STEP 7 programskog paketa u se Windows
Start izborniku pojavi programska grupa SIMATIC koja sadrži osnovne komponente tog
paketa. Ako se dalje u padajućoj listi te grupe odabere STEP 7 pojavi se padajući izbornik sa
sa popisom standardnih i opcionalnih programskih alata koji stoje na raspolaganje korisniku u
instaliranoj verziji programske podrške. Naravno, ovdje se pristupa samo nekim od osnovnih
alata koji su korisniku dostupni u STEP7. Ostalim alatima se pristupa iz SIMATIC Manager-a
koji predstavlja glavni alat za rad sa projektima u STEP 7.
U programskoj grupi SIMATIC kod verzije programskog paketa STEP 7 Professional dostupni
su sljedeći osnovni alati:
________________________________________________________________________51
SIMATIC S7 Programirljivi logički kontroleri
- SIMATIC Manager: je glavni alat programskog paketa STEP 7 koji služi za rad sa S7
projektima. Iz njega je moguće pokrenuti svi ostali standarni i opcionalni programski
alati.
- Configure SIMATIC Workspace: ova funkcija omogućava konfiguriranje programskog
paketa STEP 7 za rad u više korisničkim sustavima.
- Converting S5 Files: pretvarač pomoću kojeg je moguće postojeće STEP 5 programe
je pretvoriti u odgovarajuće STEP 7 programe. STEP 5 je programska podrška koja se
koristila za rad sa PLC uređjima serije S5 koja je prethodila seriji S7.
- LAD, STL, FBD: alat za pisanje STEP 7 korisničkih programa u programskim jezicima:
“Ladder Diagram", “Statement List" ili "Function Block Diagram“.
- Memory card Parameter Assignment: ovaj alat se koristi za postavljanje parametara
S7 memorijskih kartica.
- NetPro - Configuring Network: je grafički alat koji se koristi za konfiguriranje
komunikacije između S7 kontrolera i drugih uređaja pomoću industrijskih
komunikacijskih mreža (MPI, Profibus, Industrial Ethernet) koje nudi Siemens.
Komunikacijske veze također je moguće podesiti u alatu za konfiguraciju sklopovlja.
- PID Control Parameter Assignment: Osnovni STEP 7 programski paket također sadrži
i blokove za realizaciju PID regulacije (upravljanje u zatvorenoj petlji). Ovaj alat služi
kao sučelje za postavljanje parametara standardnih PID blokova (FB41 i FB42) za
upravljanje u zatvorenoj petlji koje je moguće koristiti u PLC uređajima serije S7-300 /
400.
- S7-SCL: alat koji omogućuje da se pojedini funkcionalni blokovi mogu isprogramirati
pomoću SCL (Structured Controled Language) programskog jezika koji predstavlja
pascal orijentirani viši programski jezik optimiziran za industrijske PLC uređaje.
- S7-GRAPH: pomoću ovog alata kompleksni procesi se opisuju umjesto da se
programiraju. Korištenjem dodatnih programskih jezika dana je mogućnost da se radi
u jeziku koji najbolje odgovara kako korisniku tako i zahtjevima procesa u kojima se S7
PLC uređaj koristi.
- S7-PDIAG: je alat koji služi kao dopuna alatima za sistemsku dijagnostiku koji su već
ugrađni u PLC uređaje S7 serije. Uloga ovoga alata je prikupanje informacija o vrstama,
lokaciji im uzroku grešaka prilikom rada PLC uređaja.
- S7-PLCSIM: alat koji se koristi za simuliranje rada PLC uređaja S7 serije na računalu
za programiranje čime je omogućeno testiranje izrađenog programa bez potrebe za
stvarnim PLC uređajem.
- Setting the PG-PC Interface: u ovom alatu se odabire sučelje preko kojeg se ostvaruje
veza između računala (PG/PC) i S7 PLC uređaja. Ovdje se također podešavanju
parametri odabranog sučelja kao što su adresa, brzine prijenosa i sl. u ovom slučaju
komunikacije preko MPI adaptera.
- TI-405 Converting Files: pretvarač pomoću kojeg je moguće postojeće programe za
PLC uređaje iz serije SIMATIC TI405 pretvoriti u odgovarajuće STEP 7 programe ili
blokove.
- TI-505 Converting Files: pretvarač pomoću kojeg je moguće postojeće programe za
PLC uređaje iz serije SIMATIC TI505 pretvoriti u odgovarajuće STEP 7 programe ili
blokove.
________________________________________________________________________52
SIMATIC S7 Programirljivi logički kontroleri
Velik broj programskih alata koji u programskom paketu STEP 7 stoji na raspolaganje
korisniku sam po sebi ne znači da će razvoj upravljačkog programa za PLC uređaj biti brz i
jednostavan. Najvažnije je da između takvih programskih alata postoji usklađeno
međudjelovanje Zbog toga se za razvoj i rad s projektima za S7 PLC uređaje koristi programski
alat SIMATIC Manager koji sve te dostupne alate i funkcije povezuje u jedno usklađeno
razvojno okruženje. SIMATIC Manager je glavni alat u programskom paketu STEP 7 koji
predstavlja polazište za pokretanje svih potrebnih alata koji se koriste za konfiguriranje i razvoj
upravljačkih programa za PLC uređaje S7 serije. SIMATIC Manager je s te strane sličan
Windows Exploreru jer podržava rad s datotekama (moguće ih je spremati, kopirati i sl.) i
pokretanje raznih programskih alata. Datoteke su u ovom slučaju logički objekti s kojima se
radi u okviru projekata ili biblioteka. Rad sa SIMATIC Manager-om se na taj način svodi na
rukovanje s logičkim objektima koji odgovaraju raznim S7 komponentama od kojih se sustav
za upravljanje industrijskim postrojenjima može sastojati.
SIMATIC Manager je ustvari grafičko korisničko sučelje koje omogućuje rad s
projektima i bibliotekama, pokretanje raznih STEP 7 alata, "online" pristup PLC uređaju, rad s
memorijskim karticama, itd. Slika 44. prikazuje osnovni prozor SIMATIC Manager-a s
pripadajućim izbornicima i koje izgledaju kao kod većine Windows aplikacija.
Traka s
naslovom Traka s
izbornicima
Traka s
Traka alatima
statusa
Traka s
programima
Svim opcijama iz osnovnog prozora moguće je pristupiti preko trake s izbornicima ili
preko alatne trake koja sadrži niz ikonica koje pružaju pristup najčešće korištenim opcijama.
Kada se tijekom rada u projektu odabiru pojedini logički objekti može se primjetiti da su
ponekad dostupne samo neke od opcije izbornika ili alatne trake što ovisi o tome koji je objekt
odabran. Otvaranjem nekog logičkog objekta u projektu pokreće se pripadajući alat namijenjen
radu s tim objektom. Neki od standardnih alata koji se mogu pokrenuti iz SIMATIC Manager-a
služe za konfiguraciju sklopovlja i komunikacije, dodjeljivanje simbola adresama, izradu
programa u editorima, testiranje programa, dijagnostiku uređaja, itd. Iz glavnog alata također
je moguće pristupiti i nekim opcionalnim alatima kao što su S7-GRAPH i S7-SCL editori za
izradu programa u dodatnim programskim jezicima, WinCC flexible koji služi nadzor i
________________________________________________________________________53
SIMATIC S7 Programirljivi logički kontroleri
upravljanje ili alat za prikaz podataka u realnom vremenu kao npr. PID Control. Svi ti alati
(aplikacije) služe za rad s odabranim podacima koji se u SIMATIC Manager-u spremaju u
obliku objekata koji se nalaze su S7 projekatima.
Projekt možemo zamisliti kao "bazu podataka" iz koje se podaci spremaju u
odgovarajuće objekte u projektu koji se razvija tako da korisnik jedan za drugim pokreće alate
za rad sa pripadajućim podacima. Svakom podatku iz projekta pritom se može pristupiti iz bilo
kojeg alata (Slika 45.). To bi konkretno značilo da se npr. simbolima koji su pomoću alata koji
se zove tablica simbola dodijeljeni nekim adresama u projektu može pristupiti iz programskog
editora, alata za testiranje, ili bilo kojeg drugog alata koji se pokreće iz SIMATIC Manager-a.
Zbog ovakve usklađene povezanosti između svih alata i funkcija je rukovanje s podacima
unutar projekata u SIMATIC Manager-u vrlo jednostavno.
Grafički
objekti Programski editor
Podaci LAD, FBD, STL
regulatora
S7-SCL
Programski
kod S7-GRAPH
Podaci za
testiranje
Testiranje programa
Podaci o
greškama
Sistemska dijagnostika
Simboli
Tablica simbola
Komunikacijski
parametri
Parametri
Konfiguracija komunikacije
sklopovlja
Konfiguracija sklopovlja
2.1.1 S7 projekti
________________________________________________________________________54
SIMATIC S7 Programirljivi logički kontroleri
slikom 46. Lijeva strana prozora prikazuje objekte projekta u obliku stablaste strukture, dok su
na desnoj strani prikazani objekti koji se nalaze unutar trenutno odabranog objekta na lijevoj
strani. Klikom na plus ispred objekta na lijevoj strani otvaraju se niže razine strukture projekta.
Kada se klikne na određeni objekt na desnoj strani prozora automatski se pokreće STEP 7
alat potreban za rad s tim objektom. Tako npr. ako se klikne na objekt Sklopovlje (eng.
Hardware) pokreće se alat za konfiguraciju sklopovlja S7 stanice, ako se klikne na objekt
Simboli (eng. Symbols) otvori se tablica simbola gdje se adresama iz programa dodjeljuju
smislena imena, ako se klikne na programski blok (OB, FC, FB itd.) pokreće se alat za pisanje
programa.itd.
Objekti u hijerarhiji projekta su međusobno povezani kao što je prikazano slikom 47. Svaki
projekt predstavlja bazu podataka u koju su pohranjeni svi podaci značanji za projekt te se
zbog toga na samom vrhu stablaste strukture smješten objekt projekta. Na drugoj razini se
nalazi stanica (eng. Station kao npr. S7-300 stanica) koja sadrži objekt Sklopovlje koji
predstavlja polazište za pokretanje alata za konfiguriranje sklopovlja u kojem se programski
definira sklopovlje od kojeg se stanica sastoji. Nakon što je konfiguracija sklopovlja jednom
napravljena stanica sadrži podatke o sklopovskoj konfiguraciji uređaja (npr. koji se CPU koristi)
i podatke o podešenim parametrima modula. Unutar stanice tada se pojavi objekt koji
označava procesorsku jedinicu (CPU xxx) sa direktorijem za S7 programe (engl. S7 Program)
koji predstavlja polazište za pokretanje alata za izradu programa. Direktorij sa S7 programima
sadrži poddirektorij za izvorne programe (eng. Sources) i poddirektorij (eng. Blocks) u koji se
spremaju programski blokovi korisničkog programa (OB, FC, FB, itd.). Poddirektorij za izvorne
programe sadrži tekstualne datoteke koje korisnik može kreirati u bilo kojem tekst editoru
(Notepad, Word i sl.) te ih kasnije u SIMATIC Manager-u kompajlirati u S7 blokove (FB, DB,
itd.) koji su dio korisničkog programa. Kreiranje "source" datoteka ima svoja stroga pravila kojih
se treba pridržavati da bi sve radilo kako treba zbog čega se taj dio neće detaljnije obrađivati.
________________________________________________________________________55
SIMATIC S7 Programirljivi logički kontroleri
FB n Funkcijski blokovi
FC n Funkcije
DB n Podatkovni blokovi
2.1.2 Biblioteke
________________________________________________________________________56
SIMATIC S7 Programirljivi logički kontroleri
Kao dodatak bibliotekama koje kreira sam korisnik SIMATIC Manager također sadrži
tzv. standardnu biblioteku (eng. Standard Library) koja se nalazi u direktoriju programskog
paketa STEP 7 odmah nakon njegove instalacije. U standardnoj biblioteci nalazi se nekoliko
direktorija za S7 programe koji su nazvani prema vrsti blokova koji se u svakom direktoriju
mogu odabrati. U tablici 13. nalazi se pregled i kratak opis blokova koji se nalaze u standardnoj
biblioteci. Potrebno je spomenuti da uz standardne postoje i razne dodatne biblioteke koje se
dodaju kada se instaliraju opcionalni programi.
Slika 49. Standardna biblioteka koja dolazi sa instalacijom programskog paketa STEP 7
________________________________________________________________________57
SIMATIC S7 Programirljivi logički kontroleri
SIMATIC Manager
Offline prozor - prikazuje sve podatke sa tvrdog diska
PG/PC
S7 300/400
Online
Korisnička
memorija
________________________________________________________________________58
SIMATIC S7 Programirljivi logički kontroleri
projekt na kojem se radi završen svi blokovi iz direktorija za S7 programe moraju se učitati
(eng. download) u korisničku memoriju S7 PLC uređaja s kojim je računalo povezano. Podaci
koji se nalaze u PLC uređaju korisnik može vidjeti u "online" prikazu koji se otvara u zasebnom
prozoru. Taj prozor se naziva "online" prozor jer prikazuje strukturu projekta pohranjenu u
memoriju procesorske jedinice. Prebacivanje na "online" pogled u SIMATIC Manager-u se
ostvaruje odabirom opcije izbornika View → Online nakon čega se otvara novi "online" prozor
u kojem poneki objekti (npr. tablica varijabli, simboli) iz "offline" prozora nisu vidljivi jer se ne
prebacuju u memoriju procesorske jedinice.U "online" pogledu moguće je pristupiti
postavkama svakog objekta i sklopovskoj konfiguraciji koja se nalaze u PLC-u ili otvoriti
programske blokove u LAD/FBD/STL editor-u koji se također otvara u "online" pogledu.
Konstante i pokazivači
L stog Adresni registri
(pointeri)
Slika 51. Prikaz raspodjele memorije i akumulatorskih funkcija unutar S7 PLC uređaja
________________________________________________________________________59
SIMATIC S7 Programirljivi logički kontroleri
Iako se stvari vezane uz "offline" i "online" prozor na prvi pogled čine jednostavnima
ipak je potrebno imati uvid u probleme koji mogu nastati nepravilnim radom sa projektima u
Siemens-ovom razvojnom okruženju. Problemi koji se javljaju prilikom rada s ovim prozorima
proizlaze iz fleksibilnosti programskog paketa koji omogućuje uređivanje (mijenjanje,
editiranje) programa koji se nalazi u "online" prozoru. Ako korisnik nije dovoljno upoznat sa
radom u programskoj podršci može u nekoj fazi razvoja projekta vrlo lako doći do situacije da
više nije siguran gdje se promjene koje radi odvijaju - u projektu na računalu ili u samom PLC
uređaju. Zbog toga je važno da korisnik prilikom rada s projektima uvijek vodi računa u kojem
prozoru projekta radi promjene u programu. U suprotnom bi se moglo dogoditi da korisnik u
"online" prozoru, bilo namjerno ili slučajno, obriše neki blok programa (OB, FC, i sl.) pri čemu
će doći do razlike između upravljačke logike koju PLC izvodi u svojoj memoriji i logike koja je
spremljena na tvrdi disk računala. Zbog toga je preporučljivo da se promjene prilikom razvoja
i testiranja upravljačkog programa uvijek rade u "offline" primjerku projekta jer je tako manje
vjerojatno da će doći do razlike između programa na tvrdom disku računala i onog koji se
nalazi u memoriji S7 PLC uređaja.
U memoriju PLC-a također je moguće učitati i programski blok čija je upravljača logika
promijenjena u "offline" programu a da izmjene u bloku pritom nisu spremljene (opcija Save)
na tvrdi disk računala. Sve izmjene u projektu koje nisu spremljene nalaze se samo u radnoj
memoriju računala iz koje se mogu učitati u PLC uređaj. U tom slučaju takav izmjenjeni blok
ostaje spremljen u PLC uređaju ali više nije jednak bloku koji se nalazi u "offline" projektu na
računalu budući da promjene tamo nisu spremljene. Zato je vrlo važno da se sve promjene
programa u "offline" projektu spreme prije učitavanja u PLC uređaj.
________________________________________________________________________60
SIMATIC S7 Programirljivi logički kontroleri
1. SIMATIC PC Adapter sa serijskim ili USB sučeljem: se koristi za povezivanje USB ili
serijskog priključka (eng. port) računala za programiranje sa MPI/PROFIBUS
priključkom koji se nalazi na SIMATIC S7-300/400 ili na nekom drugom uređaju S7
serije. U počecima primjene S7 PLC uređaja na raspolaganju je bio samo SIMATIC PC
Adapter (serial RS-232) koji se na strani računala spaja na serijski priključak (Standard
RS-232) i gdje je pomoću preklopke na samom adapteru moguće odabrati između
brzine prijenosa 19,2 Kbps ili 38,4 Kbps. Naime, RS-232 se nekad koristio kao
standardni serijski međusklop na računalima, no sve su ga više iz upotrebe istisnuli
noviji serijski međusklopovi poput USB-a koji je skraćenica za "Universal Serial Bus".
Kako je USB sučelje s vremenom postalo standardno tehnološko rješenje spajanja
vanjskih uređaja s računalom tako je razvijen i SIMATIC PC Adapter USB kojim se
ostvaruju velike brzine prijenosa podataka. PC Adapter USB podržava brzine prijenosa
od 19,2 Kbps pa sve do 1,5 Mbps. Obje verzije PC adaptera se na strani PLC-a spajaju
na MPI priključak koji je izveden kao ženski D konektor s 9 nožica.
________________________________________________________________________61
SIMATIC S7 Programirljivi logički kontroleri
3. Ethernet kabel i mrežna kartica: standardni Ethernet kabel i mrežna kartica dovoljni su
da se veza S7 PLC uređaja sa računalom može ostvariti pomoću Ethernet-a (TCP/IP).
Važno je shvatiti da se u ovom slučaju ostvaruje neposredna veza između S7 PLC –
PG/PC jer se računalo spaja na Ethernet mrežu preko koje može pristupiti bilo kojem
PLC uređaju koji je spojen na tu mrežu. Računalo se na Ethernet mrežu spaja preko
Ethernet kabela i mrežne kartice koja služi za prilagodbu komunikacije Industrial
Ethernet protokolu. S7 PLC uređaji se s druge strane na Ethernet mrežu mogu spojiti
samo ako konfiguracija sadrži CPU modul sa intergiranim Ethernet priključkom (npr.
CPU 317-2 PN/DP) ili komunikacijski procesor sa Ethernet priključkom (CP 343/443).
________________________________________________________________________62
SIMATIC S7 Programirljivi logički kontroleri
Ethernt protokola moguće je ostvariti samo ako procesorska jedinica ima ugrađen DP /
Ethernet priključak ili ako se u S7 stanici nalazi komunikacijski modul, što u oba slučaja
dodatno podiže cijenu konfiguracije. To je razlog zašto se komunikacija pomoću
komunikacijskih kartica za MPI/DP ili Ethernet obično koristi kada se radi sa većim brojem S7
uređaja koji se nalaze umreženi u MPI, PROFIBUS ili Ethernet mrežu.
Još jedan razlog više koji ide u prilog SIMATIC PC Adapter-u je činjenica da je MPI
otvorena komunikacija koja uvijek radi, čak i kada se sustavu izbriše sva memorija čime se
PLC uređaj vrati na tvorničke postavke. Komunikacija se u tom slučaju može ostvariti isključivo
pomoću SIMATIC PC Adapter-a zbog čega se on mora koristi kada se po prvi puta radi sa
nekom novom konfiguracijom PLC uređaja. Budući da se tada radi sa konfiguracijom kod koje
u memoriju PLC-a nisu zapisani podaci o sklopovskoj konfiguraciji uređaja veza se ne može
ostvariti putem ostalih načina komunikacije bez obzira što konfiguracija eventualno posjeduje
potrebne komunikacijske priključke. Uređaj tada nema definiranu adresu tih priključaka na
PROFIBUS ili Ethernet mreži pa se veza može jedino ostvariti putem MPI priključka na
procesorskoj jedinici. Tek kada se u SIMATIC Manager-u programski definira sklopovska
konfiguracija S7 stanice, a potom se ti podaci učitaju u memoriju procesorske jedinice, moguće
je i na neki drugi način ostvariti vezu sa računalom za programiranje. Slika 56. prikazuje
povezivanje računala za programiranje i S7-300 gdje se kao sučelje koristi SIMATIC PC
Adapter USB koji će se koristiti prilikom izrade svih primjera koji će uslijediti.
PC adapter
USB
USB MPI
Spajanjem PLC uređaja sa računalom preko odgovarajućeg sučelja još uvijek nije
napravljeno sve što je potrebno za da bi se uspostavila komunikacija. Da bi se to napravilo
potrebno je još u komunikacijskom alatu Set PG/PC Interface odabrati to sučelje i podesiti
parametre za komunikaciju preko pripadajućeg protokola. Dakle, ovdje se mora konfigurirati
način na koji vaše računalo komunicira sa PLC uređajem. Ovaj alat se može pokrenuti iz
programske grupe SIMATIC u Windows Start izborniku ili, kao i većina ostalih alata, direktno
iz SIMATIC Manager-a gdje se u njegovom osnovnom prozoru odabere opcija izbornika
Options → Set PG/PC Interface. Otvori se okvir za dijalog u kojem je moguće odabrati jedno
od dostupnih sučelja koja se mogu koristiti za uspostavljanje veze sa procesorskom jedinicom
(Slika 57.).
________________________________________________________________________63
SIMATIC S7 Programirljivi logički kontroleri
Kada je konfiguracija komunikacije u alatu Set PG/PC Interface jednom završena može
se odmah pristupiti radu s projektima u SIMATIC Manager-u ili prije toga provjeriti da li je
komunikacija ispravno podešena što je moguće pomoću prozora Accessible Nodes. Taj prozor
se otvara iz SIMATIC Manager-a odabirom opcije izbornika PLC → Display Accessible Nodes
ili klikom na odgovarajući ikonu na alatnoj traci. Ako komunikacija između S7 PLC – PG/PC
ispravno radi pojaviti će se prozor koji sadrži direktorije za S7 programe iz svih aktivnih S7
procesorskih jedinica kojima se može pristupiti preko MPI mreže. Pomoću ovog prozora
također se može pristupiti S7 procesorskim jedinicama i ostalih S7 modulima s mogućnošću
________________________________________________________________________64
SIMATIC S7 Programirljivi logički kontroleri
programiranja (npr. CP 343) koji se nalaze na PROFIBUS ili Ethernet mreži. Naravno, ako se
žele vidjeti uređaji koji su dostupni na PROFIBUS ili Ethernet potrebno je u alatu Set PG/PC
Interface prethodno odabrati sučelje za pristup tim mrežama. Ako se veza između S7 PLC-a i
PG/PC ostvaruje direktno preko PC adaptera (MPI), kao što je to slučaj prilikom razvoja
upravljačkog programa, u prozoru će se nalaziti samo jedan direktorij za S7 programe iz S7
stanice s kojom je računalo spojeno (Slika 58.). Direktorij za S7 programe je pritom označen
brojem koji predstavlja MPI adresu dodijeljenu S7 procesorskoj jedinici i sadrži blokove iz
memorije PLC uređaja kojima se u prozoru pristupa u "online" pogledu.
________________________________________________________________________65
SIMATIC S7 Programirljivi logički kontroleri
Standardni način kreiranja projekta je odabirom opcije izbornika File → New u prozoru
SIMATIC Manager-a. Otvori se dijalog u kojem se odabre naziv projekta (npr. Moj prvi projekt),
po potrebi promjeni mjesto spremanja projekta na tvrdom disku računala te potvrdi sa OK.
Nakon toga se pojavi prazan projekt gdje je u lijevoj strani prozora prikazan samo objekt
projekta s prethodno odabranim nazivom dok na se desnoj strani prozora nalazi objekt koji
predstavlja MPI podmrežu (Slika 59.). Ovaj objekt se prema standardnim postavkama uvijek
nalazi u svakom projektu ali u ovom slučaju nije bitan jer se koristi samo kada se više S7
stanica povezuje preko MPI mreže. Tada se klikom na taj objekt pokreće alat NetPro kojim se
podešava komunikacija između stanica na mreži.
Slika 59. Novi projekt u SIMATIC Manager-u kreiran opcijom File → New
Projekt u ovoj fazi izrade sadrži samo objekt projekta zbog čega je na niže razine
njegove strukture potrebno umetnuti neke osnovne objekte što se radi odabirom odgovarajućih
opcija izbornika Insert. Osnovni objekti zapravo predstavljaju spremnike u kojima će se na
kraju nalaziti razni podaci kao što su sklopovske konfiguracije i programi iz projekta. Kada se
u projektu radi s PLC uređajima potrebno je na drugu razinu strukure projekta umetnuti objekt
stanice koji predstavlja PLC uređaj za koji će se razvijati programska podrška. Stanica se u S7
projekt dodaje tako da se u lijevom dijelu prozora projekta označi ikona projekta i odabere
opcija izbornika Insert → Station → ... gdje se na padajućoj listi nalazi popis stanica koje se
mogu dodati u projekt. U sljedećoj tablici navedene su vrste stanica između kojih se može
odabrati na ovom popisu.
________________________________________________________________________66
SIMATIC S7 Programirljivi logički kontroleri
Svaka S7-300 ili S7-400 stanica koja se umete u projekt na lijevoj strani prozora ne
sadrži nikakve objekte na trećoj i nižim razinama strukture projekta (Slika 60.). Sukladno
strukturi projekta na trećoj razini (unutar SIMATIC stanice) trebao bi se nalaziti objekt koji
predstavlja procesorsku unutar koje se dalje nalazi direktorij za S7 programe koji predstavlja
polazište za pokretanje alata za pisanje programa (LAD, STL, FBD Editor). Da bi se ovi objekti
pojavili potrebno je u desnoj strani prozora dvaput kliknuti na objekt Hardware otvoriti alat za
konfiguraciju sklopovlja (Hardware Configuration Tool) i konfigurirati sklopovlje S7 stanice. To
je postupak kojim se unutar projekta definira od kojih se sve modula (CPU i ostali moduli)
sastoji konfiguracija PLC uređaja S7 serije za koji se razvija programska podrška. Kada se
sklopovska konfiguracija S7 stanice jednom završi i spreme se promjene, u strukturi projekta
će se generirati objekt procesorske jedinice (CPU xxx) sa direktorijem za S7 programe (S7
Program). Tada se u projektu nalaze svi objekti koji su potrebni za daljnji razvoj programske
podrške.
Slika 61. Kompletna struktura projekta nakon kreiranja sklopovske konfiguracije S7 stanice
________________________________________________________________________67
SIMATIC S7 Programirljivi logički kontroleri
upravljački program koji se onda dodijeli nekoj S7 stanici koja je kasnije umetnuta na drugu
razinu projekta. To se radi povlačenjem direktorija S7 program sa druge razine projekta na
objekt procesorske jedinice ili pomoću opcije Kopiraj/Zalijepi (eng. Copy/Paste). U oba slučaja
pojavi se poruka koja vas pita da li želite postojeći direktorij za S7 program zamijeniti novim
što je potrebno potvrditi sa OK. Ovakav pristup izradi projekata se obično koristi kada
programer razvija upravljački program prema zadanim uvjetima koji ovise o procesu a da
pritom još nije upoznat sa konfiguracijom PLC uređaja (koji CPU, koji signalni moduli, itd.) na
kojem će se program izvoditi.
Takav pristup donosi mnoge nedostatke jer programer prilikom razvoja programa nije
upoznat sa zahtjevima koje ovisi o sklopovlju samog uređaja – veličine memorijskih područja
nekog CPU modula, adrese ulaza i izlaza PLC uređaja, itd. Kako spremnik za izrađeni
upravljački program u projektu nije dodijeljen nekom sklopovlju, odnosno PLC uređaju,
programer nije u mogućnosti testirati testirati program koji je izradio. Zbog navedenih
nedostataka ovaj pristup izradi projekta preporuča se za slučajeve kad programer nezna točnu
konfiguraciju PLC uređaja za koji izrađuje programsku podršku.
________________________________________________________________________68
SIMATIC S7 Programirljivi logički kontroleri
Konfiguracijska tablica
Slika 62. Prozor alata za konfiguracija sklopovlja
________________________________________________________________________69
SIMATIC S7 Programirljivi logički kontroleri
U prozor stanice prvo je potrebno ubaciti montažni okvir. U katalogu sklopovlja označi se
virtualni montažni okvir i držeći pritisnutu lijevu tipku miša odvuče se ikona 'Rail' u prozor
stanice (engl. drag & drop).
...
Komponente se odabiru u katalogu sklopovlja i 'povlačenjem' (engl. drag & drop) se umeću na
odgovarajuće mjesto u tablici (engl. slot) virtualnog montažnog okvira. Programski određen
raspored komponenata na virtualnom montažnom okviru mora odgovarati fizičkom rasporedu,
tako da tablica odgovara stvarnom rasporedu modula na montažnom okviru (Slika 65.). Odabir
komponenata iz kataloga sklopovlja vrši se prema narudžbenim brojevima koji su naznačeni na
prednjoj strani svakog modula. Ukoliko postoji razlika između stvarne i programski definirane
konfiguracije,sustav nemože ispravno raditi.
________________________________________________________________________70
SIMATIC S7 Programirljivi logički kontroleri
S7-300
Prazno
...
Kod odabira kartica treba paziti na njihove narudžbene brojeve koji su zapisani na dnu
same kartice (što može nekad predstavljati problem ako je uređaj nekoliko katova udaljen ili na
nepristupačnoj lokaciji).
________________________________________________________________________71
SIMATIC S7 Programirljivi logički kontroleri
...
Od mjesta br. 4 pa nadalje moguće je umetati signalne module (SM), komunikacijske procesore
(CP) ili funkcijske module (FM). U katalogu sklopovlja se pronađe i označi odgovarajući modul
i držeći pritisnutu lijevu tipku miša simbol modula se odvuče na mjesto br. 4 do 11 u tablici
virtulanog montažnog okvira.
________________________________________________________________________72
SIMATIC S7 Programirljivi logički kontroleri
________________________________________________________________________73
SIMATIC S7 Programirljivi logički kontroleri
Kada se koristi S7-300 CPU s DP sučeljem ili S7-400 CPU, ulaznim i izlaznim modulima
mogu se dodijeliti početne adrese neovisno o mjestu na kojem se nalaze u virtulanom
montažnom okviru. Ako se odabrana konfiguracija sastoji od CPU-a koji podržava ovu opciju,
u okviru s postavkama modula moguće je promijeniti dodijeljene početne adrese modula. Okvir
s postavkama je moguće otvoriti dvostrukim klikom na željeni modul u virtulanom montažnom
okviru ili desnim klikom aktivirati izbornik opcija i odabrati Object Properties. U otvorenom
okviru odabere se kartica Addresses na kojoj je moguće promijeniti adrese modula. Primjer
prikazuje digitalni ulazno/izlazni modul kojem je program dodijelio ulazno/izlazne bajtove 4 i
5 (Slika 72.).
________________________________________________________________________74
SIMATIC S7 Programirljivi logički kontroleri
________________________________________________________________________75
SIMATIC S7 Programirljivi logički kontroleri
▪ Kartica General
Na ovoj kartici moguće je vidjeti osnovne informacije o procesoru te MPI adresa koju mu je
program automatski dodijelio. Za primjer je odabran procesor CPU 315-2DP. Dodijeljenu MPI
adresu modula je moguće promijeniti u okviru koji se otvara klikom na opciju Properties.
________________________________________________________________________76
SIMATIC S7 Programirljivi logički kontroleri
Mogućnost odabira
MPI adrese
Odabir podmreže
Ovu opciju je potrebno koristiti samo kada se želi umrežiti više PLC-ova preko MPI sučelja.
Pritome je svakom CPU-u potrebno dodijeliti drugačiju MPI adresu te odabrati podmrežu na
koju su PLC-ovi spojeni. Kada se PLC spaja direktno na PC računalo preko MPI sučelja, kao
što je slučaj u prikazanom primjeru, ostave se predefinirane vrijednosti na ovoj kartici. Klikom
na OK spremaju se promjene i da zatvara se okvir za dijalog.
▪ Kartica Startup
Odabirom kartice Startup otvori se okvir na kojem je moguće podesiti ponašanje CPU-a
prilikom početka rada (engl. Startup).
________________________________________________________________________77
SIMATIC S7 Programirljivi logički kontroleri
Odabirom opcije Startup if preset configuration does not match actual configuration
dopušta se pokretanje (prijelaz u RUN mod) CPU modula ako konfiguracija napravljena u
virtulanom montažnom okviru ne odgovara stvarnoj konfiguraciji kontrolera. Ako je ova
opcija deselektirana i napravljena konfiguracija ne odgovara stvarnoj, CPU prelazi su STOP
mod. Ovu opciju mogu koristiti samo S7-300 CPU-ovi s DP sučeljem i S7-400 CPU-ovi.
Pod opcijom Startup after Power On odabire se tip početka rada CPU modula pri čemu
S7-300 podržava samo ''Warm restart'' tip početka rada dok S7-400 još podržava ''Hot
restart'' i ''Cold restart''
U polje "Finished" message from modules (100 ms) unosi se maksimalno vrijeme da svi
moduli izdaju poruku da su spremni za rad nakon uključenja napajanja. Ako moduli na
pošalju poruku unutar ovog vremena, stvarna konfiguracija nije jednaka konfiguraciji u
virtualnom montažnom okviru. U polje Transfer of parameters to modules (100 ms)
unosi se maksimalno vrijeme za prijenos parametara prema modulima s pridruživim
parametrima. Ako nakon isteka stvarnog nadzornog vremena nisu pridruženi parametri
svim modulima, stvarna konfiguracija nije jednaka konfiguraciji u virtualnom montažnom
okviru. U oba slučaja, ako nakon isteka nadzornog vremena nisu ispunjeni navedeni uvjeti,
CPU će reagirati ovisno o odabiru opcije Startup if preset configuration does not match
actual configuration.
Također, u polju Memory Byte moguće je odabrati bajt bit memorije koji će biti rezerviran za
''Clock'' memoriju. Po standardnim postavkama odabran je memorijski bajt 0 (M0). Da bi mogli
koristiti ovaj bajt potrebno je selektirati opciju Clock memory.
________________________________________________________________________78
SIMATIC S7 Programirljivi logički kontroleri
Odabirom kartice Retentive Memory otvori se okvir na kojem je moguće odrediti koja
memorijska područja ostaju sačuvana u slučaju nestanka napajanja ili pri prijelazu iz STOP u
RUN mod.
Pod opcijom Retentivity odabire se koja će područja bit memorije, timeri i brojači ostati
sačuvani. Ako je RAM baterijski podržan (engl. battery backup), podaci unutar podatkovnih
blokova uvijek ostaju sačuvani. Ako RAM nije baterijski podržan podaci unutar podatkovnih
blokova će biti izgubljeni. Pod opcijom Areas moguće je odabrati koja će područja podatkovnih
blokova ostati sačuvana.
________________________________________________________________________79
SIMATIC S7 Programirljivi logički kontroleri
▪ Kartica Protection
Odabirom kartice Protection otvorit će se okvir na kojem je moguće odrediti nivo zaštite
korisničkog programa i regulirati ciklus učitavanja za test funkcije.
U polju Protection Level predefiniran je nivo zaštite 1. u kojem položaj preklopke moda na
CPU modulu određuje zaštitu. Kada je izbornik moda u RUN-P ili STOP položaju ne postoje
ograničenja, a kada se prebaci u RUN položaj moguće je samo čitanje korsiničkog programa.
Ako je odabran nivo zaštite s lozinkom (vrijedi samo do reseta memorije) "osoba koja zna
lozinku" ima mogućnost čitanja i upisivanja programa dok "osoba koja nezna lozinku" ima
sljedeća ograničenja:
- Nivo zaštite 1: odgovara predefiniranim karakteristikama
- Nivo zaštite 2: moguće je jedino čitanje, bez obzira na položaj preklopke moda
- Nivo zaštite 3: nije moguće ni čitanje ni upisivanje, bez obzira na poziciju preklopke
moda
U polju Mode regulira se ciklus učitavanja za test funkcije. Kad je odabran Process mode test
funkcije Monitor ili Monitor/Modify Variable su ograničene tako da se ne prekorači izabrano
dopušteno trajanje ciklusa. Kad je odabran Test mode sve test funkcije se mogu koristiti bez
ograničenja, čak ako i uzrokuju značajno povećanje trajanja ciklusa.
▪ Ostale kartice
________________________________________________________________________80
SIMATIC S7 Programirljivi logički kontroleri
▪ Profibus DP
Vezu preko Profibus DP protokola je moguće ostvariti samo ako konfiguracija sadrži CPU
s DP konektorom (npr. CPU 315-2DP) ili komunikacijski procesor za ovaj protokol (npr. CP
342-5). U prikazanom primjeru veza preko ovog protokola se podešava u postavkama DP
konektora ugrađenog na CPU modul. Dvostrukim klikom na DP u virtualnom montažnom
okviru otvara se okvir s postavkama DP konektora s odabranom karticom General.
Na ovoj kartici moguće je vidjeti Profibus adresu koju je program automatski dodijelio PLC-u.
Dodijeljenu Profibus adresu modula je moguće promijeniti u okviru koji se otvara klikom na
opciju Properties.
Kao i u slučaju MPI sučelja ovu opciju je potrebno koristiti samo kada se želi umrežiti više
PLC-ova preko Profibus DP mreže. Pritome je svakom CPU-u potrebno dodijeliti drugačiju
Profibus adresu te odabrati podmrežu na koju su PLC-ovi spojeni
________________________________________________________________________81
SIMATIC S7 Programirljivi logički kontroleri
Mogućnost odabira
Profibus adrese
Odabir podmreže
Ako se koristi samo jedan PLC spojen sa računalom preko Profibus DP sučelja, kao što je slučaj
u prikazanom primjeru, ostave se predefinirane vrijednosti na ovoj kartici. Klikom na OK
spremaju se promjene i da zatvara se okvir za dijalog.
▪ Industrial Ethernet
Vezu preko Industrial Ethertnet protokola je moguće ostvariti samo ako konfiguracija sadrži
CPU s Ethernet konektorom (npr. CPU 315- 2PN/DP) ili komunikacijski procesor za ovaj
protokol (npr. CP 343-1 Lean). U prikazanom primjeru veza preko ovog protokola se podešava
u postavkama komunikacijskog procesora CP 343-1 Lean koji se nalazi u konfiguraciji.
Dvostrukim klikom na komunikacijski procesor u virtualnom montažnom okviru otvara se
okvir s postavkama komunikacijskog procesora s odabranom karticom General.
________________________________________________________________________82
SIMATIC S7 Programirljivi logički kontroleri
Odabir IP adrese
Kreiranje
podmreže
Odabir podmreže
________________________________________________________________________83
SIMATIC S7 Programirljivi logički kontroleri
Ako vaša konfiguracije sadrži pogreške pred vama će se pojaviti okvir s popisom pogrešaka.
Objašnjenje
pogreške
Odvodi vas
na pogrešku
Odabirom opcije Help Text otvorit će se okvir s detaljnijim opisom pogreške i savjetom
kako otkloniti pogrešku. Ako odaberete opciju Go To program će vas direktno odvesti na
mjesto pogreške u prozoru stanice. Nakon što ste otklonili sve pogreške možete nastaviti s
idućim dijelom.
________________________________________________________________________84
SIMATIC S7 Programirljivi logički kontroleri
VAŽNO: Konfiguracija sklopovlja prebacuje se na modul samo kada je CPU u STOP modu.
CPU se prebacuje u STOP mod pomoću prekopke izbor moda rada na prednjoj strani CPU
modula. Nakon što se konfiguracija prebaci u CPU, preklopku je potrebno postaviti u položaj
RUN-P da bi se moglo nastaviti s radom.
RUN-P
RUN
STOP
MRES
Preklopka u položaju STOP moda
________________________________________________________________________85
SIMATIC S7 Programirljivi logički kontroleri
4. Otvori se okvir s postavkama adrese stanice (engl. Node address) na koju želite poslati
konfiguraciju sklopovlja.
Podaci u polju Rack i Slot vam govore na kojem se mjestu u virtualnom montažnom okviru
nalazi CPU na koji šaljete konfiguracijske podatke. Lista Enter connection to target
station prikazuje adresu stanice pod komunikacijskim protokolom preko kojeg se PLC
povezuje s PC računalom. U prikazanom primjeru PLC se nalazi na MPI adresi br. 2 budući
da se spaja preko MPI komunikacijskog protokola.
NAPOMENA: Na listi pod opcijom Enter connection to target station pojavit će se adresa
stanice pod komunikacijskim protokolom koji je odabran prilikom podešavanja pristupne
točke. U prikazanom primjeru adresa stanice se pojavila pod MPI komunikacijskim
protokolom budući da je prilikom podešavanja pristupne točke određeno da se PLC i PC
računalo povezuju preko MPI adaptera.
Ako je prilikom podešavanja pristupne točke određeno da se PLC i PC računalo povezuje
preko Profibus DP komunikacijskog protokola, pod ovom opcijom će se pojaviti adresa
stanice pod navednim protokolom kao što je prikazano na sljedećoj slici:
________________________________________________________________________86
SIMATIC S7 Programirljivi logički kontroleri
6. Pred vama se tada pojavi okvir koji prikazuje tijek prebacivanja konfiguracije
sklopovlja na CPU.
Nakon što se zatvori ovaj okvir sistemski podatkovi blokovi koji sadrže napravljenu
konfiguraciju su spremljeni u radnu memoriju CPU modula. Ovime završava konfiguracija
sklopovlja i možete krenuti na izradu blokova programa. Izađite iz HW Config alata.tako
da kliknite na u gornjem desnom kutu prozora.
Programski editor
________________________________________________________________________87
SIMATIC S7 Programirljivi logički kontroleri
Na lijevoj strani stabla projekta označimo datoteku „Blocks“ koja sadrži blokove. Na desnoj
strani tada je vidljiv sadržaj datoteke „Blocks“. Kako bi počeli programirati, potrebno je
otvoriti dvostrukim klikom OB1. Ako ima više blokova, glavni program se uvijek nalazi u
bloku oznake OB1. Nakon što smo to napravili otvara nam se editor u kojem pišemo program,
koji je prikazan na sljedećoj slici, odnosna radna površina na kojoj se vrši programiranje.
U korisničkom programu se radi s adresama ulaza, izlaza, bit memorije, timera, brojača,
podatkovnih blokova itd. Ove adrese se mogu u programu koristiti kao apsolutne ili im se mogu
dodijeliti simbolička imena čime program postaje razumljivi. U tom slučaju adresama se
pristupa preko dodijeljenih simbola. Kod apsolutnog adresiranja izravno se koriste adrese (npr.
I0.0) dok se kod simboličkog adresiranja koriste simboli dodijeljeni adresama (npr. Tipkalo
Start→I0.0). Kada se koristi simboličko adresiranje postoji razlika između zajedničkih i
________________________________________________________________________88
SIMATIC S7 Programirljivi logički kontroleri
Ako su već unaprijed poznate adrese koje će se koristiti u programu moguće im je dodijeliti
simbole prije izrade samog programa. Također, adresama je moguće dodijeljivati simbole i
kasnije prilikom izrade programa.
________________________________________________________________________89
SIMATIC S7 Programirljivi logički kontroleri
Osobno računalo
Programska
podrška
PLC uređaj
Komunikacijski
kabel
Simulator stanja
________________________________________________________________________90
SIMATIC S7 Programirljivi logički kontroleri
________________________________________________________________________91
SIMATIC S7 Programirljivi logički kontroleri
Upravljački program unutar Step 7 može se pisati u više programskih jezika, a koji će jezik
programer odabrati ovisi uglavnom o tome koji jezik preferira. Gotovo sve funkcije je moguće
isprogramirati u svim jezicima, no treba jasno reći da se pojedina logika vezana uz indirektno
adresiranje može izvesti samo u STL jeziku. Upravljački program je najvažniji dio u kojem
treba predvidjeti sve moguće situacije na ulazima kontrolera kako bi preko svojih izlaza stabilno
upravljali procesom. Zadatak programera je da dobro prouči fiziku procesa kojim se želi
upravljati, te da na temelju njega osmisli program. Ako se dogodi greška, ona je u pravilu ili
zbog neispravne periferije ili zbog nepravilno napisanog programa (nepredviđena situacija na
ulazima kontrolera), budući da su sami uređaji vrlo visoke pouzdanosti.
Pisanje programa u STEP 7 je olakšano jer su ponuđena tri načina pisanja programa:
• LAD (Ljestvičasti dijagrami - relejna logika)
• STL (Statement List – tekstualni način)
• FBD (Funkcijski blok dijagrami)
Programer može odabrati način koji mu najviše odgovara, te čak tokom programiranja u bilo
kojem trenutku mijenjati način, bez utjecaja na program. U programskom editoru se nalazi
„View“ kojom mijenjamo načine na koji programiramo odnosno programski jezik.
Korištenjem opcije „View“ unutar žuto obojanog pravokutnika nalaze se ta tri načina. Kraj
koje kratice (LAD, STL, FBD) se nalazi crna točka što označuje da se taj način trenutno
koristi. U ovom primjeru se koristi Ladder način, a ukoliko se promjeni način programiranja,
mijenja se i prikaz programa na radnoj površini kao što je vidljivo na sljedećim slikama.
________________________________________________________________________92
SIMATIC S7 Programirljivi logički kontroleri
U tekstualnom načinu (STL) nestaju svi simboli, što iz relejne, što iz binarne logike. Program
je sad prikazan u tekstualnom načinu. U sva tri načina, program je promjenio samo izgled, no
njegova baza, odnosno što će program točno raditi ostaje nepromjenjeno. Koristeći tu
zakonitost, može se razumijeti i ovaj način programiranja. Ulazi i izlazi su ostali isti. Pomoću
predhodne slike vidi se da postoje dva sklopa I spojena na dva ulaza sklopa ILI, te je na
posljetku izlaz sklopa ILI konačno i izlaz. Tekstualni način prikazuje upravo to. „A“
označava pridružiti (engl. Assign). „O“ označava sklop ILI (engl. Or= ILI), te N označava
negaciju. Analogno tomu, dolazimo do zaključka:
I0.0 i I0.1 spojeni su na ulaze sklopa I; oba moraju biti u jedinici da bi izlaz dao jedinicu.
Nadalje, invertirani (negirani) ulaz I0.1 i ulaz I0.3 također su spojeni na ulaze skopa I pošto se
ispred njih nalazi slovo A. Između ta dva dijela nalazi se slovo O, što znači da su izlazi tih
dvaju skopova I spojeni na njega. Konačno, izlaz Q4.0 je upravo izlaz tog sklopa ILI. Ovaj
način se neće detaljnije obrađivati, pošto su prva dva načina puno prirodnija kolegama iz
elektro struke.
________________________________________________________________________93
SIMATIC S7 Programirljivi logički kontroleri
Unutar crvenog kvadrata nalazi se naredba normalno otvoreni kontakt. Kad je bit koji je
adresiran na tu naredbu (I0.0)u logičkoj jedinici, naredba propušta logički kontinuitet. Unutar
plavog kvadrata nalazi se izlazna naredba. Kad logički kontinuitet dođe do te naredbe, izlazni
bit koji je adresiran na tu naredbu postavlja se u logičku jedinicu (Q4.0).
Sljedeća slika prikazuje izgled logičkog kreuga kad je PLC u Run modu. Zelenom linijom je
prikazan logički kontinuitet. Pošto na ulaz I0.0 nije spojen napon od 24V odnosno nije u
logičkoj nuli naredba normalno otvoren kontakt ne propušta logički kontinuitet. Vidi se da je
desno od nje linija mreže isprekidana a ne zelena. Zbog toga izlazna naredba Q 4.0 nije
obojana zeleno i nalazi se u logičkoj nuli.
________________________________________________________________________94
SIMATIC S7 Programirljivi logički kontroleri
Sljedeća slika prikazuje drugu od dvije moguće situacije, onu kad je I0.0 postavljen u logičku
jedinicu. U tom slučaju ulazna naredba normalno otvoreni kontakt I0.0 propustiti će logički
kontinuitet. On će aktivirati izlaznu naredbu koja će se odmah postaviti u logičku jedinicu. O
naredbama će biti više riječi u daljnjem tekstu, ovdje su objašnjene samo ove dvije kako bi se
bolje razumio način funkcioniranja ladder logike. Kad logički kontinuitet dođe do naredbe
kažemo da je naredba aktivirana.
Logička operacija
Rezultat logičke
operacije
Sljedeća slika prikazuje dijagram stanje-vrijeme predhodne logičke operacije. Izlaz Q4.0 je u
logičkoj jedinici tek kad su sva tri ulaza također u logičkoj jedinici. Na grafu se I0.2 pali
zadnji, te se istodbno i izlaz Q4.0 postavlja u jedinicu. Taj događaj je povezan isprekidanom
crtom.Nakon nekog vremena I0.1 se ugasi, te se istodobno gasi i Q4.0. Opet, kad su svi izlazi
________________________________________________________________________95
SIMATIC S7 Programirljivi logički kontroleri
u jedinici uključuje se i Q4.0. Ovo je također i primjer kako treba čitati buduće dijagrame
stanje – vrijeme.
I0.0
I0.1
I0.2
Q4.0
Funkcijski blok dijagrami (engl. Function Block Diagram, FBD) je tehnika grafičkog
programiranja kojom željeni logički sklop realiziramo pomoću osnovnih elemenata iz Boole-
ove algebre, odnosno binarnim funkcijama te ostalim elementima koji se prikazuju blokovski.
________________________________________________________________________96
SIMATIC S7 Programirljivi logički kontroleri
Osnovne funkcije uključuju logička vrata I, ILI, Eksluzivno ILI, te NE odnosno negaciju
i vrlo su dobro poznate svakom tko se bavio logikom ili digitalnom elektronikom, budući da su
te funkcije temelj svakog digitalnog sklopa. Upravo zbog izrazito jednostavnog primjene
binarnih logičkih funkcija, te njihovog laganog razumijevanja, ova tehnika programiranja
omogućuje stvaranje složenijih logičkih funkcija, i naposljetku cijelog upravljačkog programa
PLC-a pomoću njih. Od Ladder logike, FBD način se razlikuje samo u naredbama na razini
bita, a ostale funkcije tipa brojači, timeri, komparatori su nepromjenjene i postavljaju se editoru
kao programski blokovi.
Statement list je je tekstualni programski jezik, za razliku od Ladder dijagrama koji koristi
grafički prikaz naredbi sa dodijeljenim adresama i vrijednostima. STL jezik dosta nalikuje na
asemblerski jezik jer se piše sa skraćenicom naredbe od nekoliko slova i argumenta, koji može
biti vrijednost ili adresa. U načelu, STL jezik je poprilično brži za pisanje od Ladder jer se
izbjeglo učestalo korištenje miša i velika većina radnji se obavlja samo uz pomoć tipkovnice.
Tijekom pisanja samog programa je dobro koristiti nove redke i komentare s obzirom da je STL
poprilično nepregledan jezik. Komentari se dodaju na način da se u tekstu napiše "//" pa nakon
toga komentar. Komentar se ignorira prilikom prebacivanja programa u PLC tako da ne utječe
uopće na rad samog programa.
________________________________________________________________________97
SIMATIC S7 Programirljivi logički kontroleri
označeni kao "Akumulatorske funkcije". Te funkcije se uvijek izvršavaju, tj. ne ovise o stanju
RLO prije njih. Akumulatorske funkcije su:
- TAK (toggle) - zamjena vrijednosti između ACCU 1 i ACCU 2
- PUSH - kopira vrijednost iz ACCU 1 u ACCU 2, pritom ACCU 1 ostaje
nepromijenjen.
- POP - kopira vrijednost iz ACCU 2 u ACCU 1, pritom ACCU 2 ostaje
nepromijenjen.
- ENT - kopira vrijednost iz ACCU 3 u ACCU 4 i vrijednost ACCU 2 u ACCU 3
- LEAVE - kopira vrijednost ACCU 3 u ACCU 4, i vrijednost ACCU 4 u ACCU
3
- +AR1 (+AR2) - Dodaje pomak (bilo direktno napisan ili vrijednost iz ACCU 1)
na vrijednost u AR1 (ili AR2)
________________________________________________________________________98
SIMATIC S7 Programirljivi logički kontroleri
Prva grupa instrukcija u STEP 7 su one na razini bita koje se koriste u izradi logičkih
krugova temeljenih na relejnoj logici. Pomoću ovih naredbi mogu se realizirati sve
kombinacije binarne logike, uključujući I, ILI i ostale sklopove tako da spajamo normalno
zatvorene ili otvorene kontakte u serijske ili paralelne spojeve. Ove instrukcije nam
omogućuju da pregledavamo digitalne ulaze i pomoću njih stvaramo logičke funkcije
pomoću kojih upravljamo digitalnim izlazima odnosno da uključujemo ili isključujemo
buduće složenije instrukcije kao što su timeri, brojači i sl.
Naredbe na razini bita i općenito najkorištenije naredbe u PLC programima su naredbe
relejnog tipa. Naredbe na razini bita koriste dvije znamenke (logička '0' i '1') koje se nazivaju
binarne znamenke ili bitovi. Svakoj naredbi se pridjeljuje adresa koja može biti apsolutna ili
simbolička. Na taj način se ovim naredbama provjeravaju stanja adresiranih bitova (logičko '0'
i '1') ili ih se postavlja u logičko stanje '0' ili '1'. Postoje dva tipa naredbi na razini bita i to su:
ulazne (engl. input) i izlazne (engl. output). Ulazne naredbe se koriste da prate/kontroliraju
stanje pojedinih bitova bitnih za rad programa te to stanje unose u program pri svakom ciklusu.
Izlazne naredbe su općenito naredbe koje unose dobivenu vrijednost iz svog logičkog puta
(kruga) na određenu memorijsku lokaciju. Svaka logička operacija sastavljena je od niza
naredbi kojima se provjeravaju stanja signala i naredbi kojima se postavljaju stanja.
Kombinacijom ulaznih i izlaznih naredbi ostvaruju se razne logičke operacija prema
pravilima Boole-ove algebre. Boole-ova algebra je dio matematike koja se bavi binarnim
sustavima. Binarni sustavi mogu biti u dva stanja, logičkoj jedinici ili nuli. Svaku pojavu iz
realnog svijeta možemo objasniti na binaran način. Na primjer:
- Žarulja svijetli = 1; Žarulja ne svijetli=0
- Snijeg pada = 1; Snijeg ne pada = 0
- Motor je uključen =1; Motor je isključen = 0
- Signala ima = 1; Signala nema = 0
Već se vidi kako pomoću ovog načina ne možemo reći koliki je intenzitet padanja kiše, ili
jakost svjetla kojim žarulja svijetli. Zbog toga treba točno definirati granice kako bi se znalo
ispod koje se uzima da kiša ne pada, ili žarulja ne svijetli. Postoji i granično ili zabranjeno
područje gdje ne vrijedi niti jedna zakonitost. Sljedeća slika to prikazuje. Naravno, nema
problema kad signal trenutno, skokovito prelazi iz jednog stanja u drugo. To se može dogoditi
sa predhodnim primjerom o žarulji, ako se trenutno počne svjetliti.
Logička jedinica
Zabranjeno područje
Logička nula
________________________________________________________________________99
SIMATIC S7 Programirljivi logički kontroleri
________________________________________________________________________100
SIMATIC S7 Programirljivi logički kontroleri
Senzor Senzor
neaktivan aktivan
S1 S1
"0" "1"
Digitalni ulaz I0.0 PLC Digitalni ulaz I0.0 PLC
PLC program PLC program
I0.0 Q0.0 I0.0 Q0.0
"0" "1"
Kada je senzor S1 neaktivan (isključen), ulaz I0.0 je u stanju logičke '0' te se logički kontinuitet
kroz NO kontakt ne ostvaruje. Lampica spojena na digitalni izlaz Q0.0 tada ne svijetli. Kada se
senzor S1 aktivira (uključi), ulaz I0.0 se postavi u stanje logičke '1' i ostvari se logički
kontinuitet kroz NO kontakt. U tom slučaju svijetli lampica spojena na digitalni izlaz Q0.0.
Logički kontinuitet kroz NO kontakt je ostvaren (rezultat provjere je '1') sve dok je ulaz I0.0 u
logičkom stanju '1'.
Naredbom NO Contact se uvijek provjerava stanje signala '1' neovisno o tome da li se
senzor spojen na digitalni ulaz ponaša kao radni ili mirni kontakt. CPU ne može detektirati da
li se osjetilo na ulazu ponaša kao radi ili mirni kontakt već samo raspoznaje da li je stanje
signala prisutnog na ulazu '0' ili '1'. Sljedeća slika prikazuje kako se u programu PLC-a pomoću
naredbe NO Contact interpretiraju signali na ulazu dobiveni s radnog i mirnog kontakta.
________________________________________________________________________101
SIMATIC S7 Programirljivi logički kontroleri
Radni
kontakt aktivan Da 1 'Da'
Logički kontinutitet 1
ostvaren
neaktivan Ne 0 'Ne'
Logički kontinutitet 0
nije ostvaren
Mirni 'Ne'
aktivan Ne 0
kontakt Logički kontinutitet 0
nije ostvaren
neaktivan Da 1 'Da'
Logički kontinutitet 1
ostvaren
I0.0 Q0.0
I0.0
Q0.0
t
Slika 117. Dijagram stanje vrijeme za NO Contact naredbu
Senzor Senzor
neaktivan aktivan
S1 S1
"0" "1"
Digitalni ulaz I0.0 PLC Digitalni ulaz I0.0 PLC
PLC program PLC program
I0.0 Q0.0 I0.0 Q0.0
"1" "0"
Logički kontinuitet kroz NC kontakt se ostvaruje kada je ulaz I0.0 u stanju logičke '0' budući
da je senzor S1 neaktivan (isključen). Lampica spojena na digitalni izlaz Q0.0 tada svijetli.
Kada se senzor S1 aktivira (uključi), ulaz I0.0 se postavi u stanje logičke '1' i logički kontinuitet
kroz NC kontakt se prekida. U tom slučaju lampica spojena na digitalni izlaz Q0.0 više ne
svijetli. Logički kontinuitet kroz NC kontakt je ostvaren (rezultat provjere je '1') sve dok je ulaz
I0.0 u logičkom stanju '0'.
Naredbom NC Contact se uvijek provjerava stanje signala '0' neovisno o tome da li se
senzor spojen na digitalni ulaz ponaša kao radni ili mirni kontakt. CPU ne može detektirati da
li se osjetilo na ulazu ponaša kao radi ili mirni kontakt već samo raspoznaje da li je stanje
signala prisutnog na ulazu '0' ili '1'. Sljedeća slika prikazuje kako se u programu PLC-a pomoću
naredbe NC Contact interpretiraju signali na ulazu dobiveni s radnog i mirnog kontakta.
Radni
kontakt
'Ne'
aktivan Da 1
Logički kontinutitet
0
nije ostvaren
neaktivan Ne 0 'Da'
Logički kontinutitet 1
ostvaren
Mirni 'Da'
aktivan Ne 0
kontakt Logički kontinutitet 1
ostvaren
'Ne'
neaktivan Da 1
Logički kontinutitet
0
nije ostvaren
________________________________________________________________________103
SIMATIC S7 Programirljivi logički kontroleri
I0.0 Q0.0
I0.0
Q0.0
t
Slika 121. Dijagram stanje vrijeme za NC Contact naredbu
Naredba Invert Power Flow se koristi za negiranje rezultata logičke operacije. Logičko
stanje '0' u krugu prije -|NOT|- naredbe (RLO=0) se inventira u logičko stanje '1' nakon ove
naredbe. Također vrijedi i obratno, logičko stanje '1' u krugu prije -|NOT|- naredbe (RLO=1) se
invertira u logičko stanje '0' nakon ove naredbe. Ova naredba se nemože postaviti u paralelnu
granu koja počinje u sredini logičkog kruga.
Sljedeća slika prikazuje dijagram stanje – vrijeme za naredbu Invert Power Flow u
pripadajućem logičkom krugu:
I0.0
I0.1
Q0.0
t
________________________________________________________________________104
SIMATIC S7 Programirljivi logički kontroleri
Naredba Output Coil je izlazna naredba koja se koristi da promjeni stanje (0/1) adresirane
lokacije veličine bita kada stanje kruga (logički kontinuitet) dođe u '1' odnosno '0'. Kada je
ostvaren logički kontinuitet prije ove naredbe (RLO=1) binarna adresa je u logičkom '1'. Kada
logički kontinuitet prije ove naredbe nije ostvaren (RLO=0) binarna adresa je u logičkom '0'.
Nekoliko izlaznih naredbi (najviše 16) može se postaviti u paralelu umetanjem grana na
završtek logičkog kruga. U svaku paralelnu granu prije izlazne naredbe također se mogu
postaviti normalno otvoreni i zatvoreni kontakti spojeni u seriju ili paralelu (Slika 125.).
Sljedeća slika prikazuje dijagram stanje – vrijeme za naredbu Output Coil u pripadajućem
logičkom krugu:
I0.0 Q0.0
I0.1 Q0.1
I0.0
I0.1
Q0.0
Q0.1
t
________________________________________________________________________105
SIMATIC S7 Programirljivi logički kontroleri
Ikona Symbols
Tablica simbola trenutno sadrži samo predefinirani naziv za organizacijski blok OB1 i
simbol adrese I0.0 koji joj je pridjeljen prilikom konfiguracije sklopovlja.
3. U polje Symbol u trećem redu unijeti naziv Prekidač 1 dok u polje Address I0.1. Tip
podatka u polju Data type će biti dodan automatski.
________________________________________________________________________106
SIMATIC S7 Programirljivi logički kontroleri
U polju Comment moguće je opširnije opisati namjenu ove adrese u vašem programu.
6. Nakon što su dodijeljeni svi simboli korištenim adresama klikom na ikonu Save na
alatnoj traci će se spremili napravljene promjene u tablici simbola.
Ikona Save
1. Unutar prozora projekta u SIMATIC Manageru odaberiti objekt Blocks. Dvaput kliknuti
mišem na blok OB1 da se pokrene programski editor.
2. Odabrati programski jezik LAD odabirom opcije View>LAD.
________________________________________________________________________107
SIMATIC S7 Programirljivi logički kontroleri
Odabirom View>Display with>Comment prozor programa više neće sadržavati prazna polja
za unos komentara. U polje za unos komentara unose se opisi vezani uz odabrani logički krug.
Ova opcija se može ponovno odabrati kasnije i mogu se unijeti opisi vaših logičkih krugova.
2. Prazna linijau programu trenutno predstavlja kratki spoj, pa je potrebno dodati uvjete
koji definiraju kada ''da teče struja'' odnosno kada da se radnja izvrši. Za početak
potrebno je dodati instrukciju normalno otvorenog kontakta. Da bi se to moglo napraviti
prvo je potrebno odaberati prazni logički krug koji je prethodno ubačen u prozor
programa.
3. Klikom na ikonu Normall Open Contact na traci s alatima ili pritiskom funkcijske
tipke F2 i normalno otvoreni kontakt će biti ubačen na početak odabrane linije.
Instrukcija normalno otvoreni kontakt ispituje da li je ulaz (engl. input) zatvoren.
Ulaznim instrukcijama kontroleru dajemo uvjet koji predstavlja ''uzrok'' kao sastavni
dio ''uzroka i posljedice''. Na temelju dobivenih uvjeta kontroler će generirati specifične
izlaze (''posljedice'').
Ikona Normall Open Contact
________________________________________________________________________108
SIMATIC S7 Programirljivi logički kontroleri
Često korišteni LAD elementi dani su kao ikonice na traci s alatima. Klikom na njih ubacuju
se u trenutno odabrano mjesto u logičkom krugu. Ostali programski elementi mogu se
ubaciti na trenutno odabranu poziciju iz prozora Program Elements tako da tako da se
dvaput klikne mišem na objekt. Elementi iz ovog prozora također se mogu povlačenjem i
otpuštanjem (engl. drag & drop) ubaciti na bilo koju poziciju u prozoru vašeg programa.
4. Sada je potrebno dodijeliti adresu ulazu. Adresa govori ladder logici sa kojeg ulaza će
se ispitivati stanja signala. Logički kontinuitet kroz normalno otvoreni kontakt će biti
ostvaren kada binarna adresa koja mu je dodijeljena ima stanje 1. PLC koristi adresiranje
dok relej logika (tvrda žičana logika) koristi fizičku vezu. Dok je instrukcija istaknuta
utipkavanjem adrese 'I0.0' pojaviti će se padajuća lista s popisom svih simbola koji se
mogu koristi u programu. Nije poželjno odabrati ni jedan od ponuđenih simbola nego
je potrebo utipkati željenu adresu ('I0.0') do kraja i zatim pritisnite Enter.
5. Može se primjetiti da je unesena adresa ipak poprimila ime 'Prekidač 0' budući da je
ulazu 'I0.0' u tablici simbola dodijeljen ovaj naziv. Ime adrese prikazano je u
navodnicima. Dodjeljivanje simbola adresama omogućava mnogo lakše razumijevanje
programa.
________________________________________________________________________109
SIMATIC S7 Programirljivi logički kontroleri
Kada se unosi naziv simbola, ne moraju se koristiti navodnici. Programski editor ih ubacuje
automatski.
6. Sada se može dodati druga naredba desno od normalno otvorenog kontakta. Odabirom
na prazni dio logičkog kruga i klikom na traci s alatima na ikonu Normally Closed
Contact ili jednostavno pritisnite funkcijsku tipku F3.
7. Normalno zatvoreni kontakt je se ubacuje desno od ulaza 'Prekidač 0'. Ova instrukcija
ispituje da li je ulaz otvoren. Logički kontinuitet kroz normalno zatvoreni kontakt će
biti ostvaren kada binarna adresa koja mu je dodijeljena ima stanje 0.
________________________________________________________________________110
SIMATIC S7 Programirljivi logički kontroleri
9. Odabranoj instrukciji je pridjeljen simbol 'Prekidač 1' sa adresom 'I0.1'. Sada ovom
logičkom krugu se može dodati izlaz (engl. output) koji predstavlja ''posljedicu'' koja je
ranije navedena. Odabirom preostalog praznog dijela logičkog kruga i klikom na traci s
alatima na ikonu Coil ili jednostavno pritisnite funkcijsku tipku F7 odabrana naredba
će biti ubačena na kraj logičkog kruga.
Ikona Coil
10. Sada ovoj instrukciji je potrebno dodijeliti adresu. Jedan od načina otvaranja polja za
unos adrese je da se mišom klikne na crvene upitnike iznad instrukcije. Upisom imena
'Izlaz0' i pritiskom na Enter pojavit će se poruka koja obavještava da odabranom imenu
nije dodijeljena adresa u tablici simbola. Ako se još jednom pritisne Enter ime će se
tada prikazati crveno što znači da je unesen neispravan simbol.
11. Za unos ispravne adrese ponovno otvorite polje za unos adresa i iz padajuće liste koja
se pojavi potrebno je odabrati 'Izlaz 0' i pritisnuti Enter. Logički krug bi tada trebao
izgledati kao što je prikazano na sljedećoj slici.
________________________________________________________________________111
SIMATIC S7 Programirljivi logički kontroleri
Kada su ispunjeni uvjeti ulaza (lijeva strana kruga), izvršiti će se izlazna naredba (desna
strana kruga). U ovom slučaju, naredba Coil će biti izvršena uvijek kada se Normal Open
Contact instrukcija ocjeni kao ''točna'' i Normal Closed Contact kao ''netočna''. Drugim
riječima, kada ''uzrok'' identificira da je prvi ulazni kontakt (ulaz koji nazivamo Prekidač 0, na
adresi I0.0) zatvoren i drugi ulazni kontakt otvoren (ulaz koji se naziva Prekidač 1, na adresi
I0.1), to će se rezultirati kao ''posljedica'' koja će upaliti izlaz (izlaz koji se naziva Izlaz 0) na
adresi Q0.0.
Ulazi su prva dva fizička ulaza na kontroleru, a izlaz je prvi fizički izlaz na kontroleru jer adrese
koje su izabrane identificiraju ove ulaze i izlaze uređaja. Kontroleri mogu adresirati svoje I/O
(inputs/ulaze i outputs/izlaze) i ponešto drugačije. Inputs (ulazi) i outputs (izlazi) u ladder logici
mogu biti fizički (kao relejni izlaz prikazan gore), ili mogu biti virtualni (kao bit pohranjen u
bit memoriji/bit memory). Fizički izlaz se može koristiti za kontrolu vanjskog uređaja. Virtualni
izlazi se mogu koristiti kao markeri (''zastavice'') u drugim djelovima ladder logičkog programa.
1. Prvo je u program potrebno ubaciti novi logički krug. To se može učiniti pomoću
postupka koji je prethodno opisan ili korištenjem druge metode kao što je povlačenje i
otpuštanje naredbi iz prozora Program Elements. U ovom potrebno je odaberati New
network i držati pritisnutu lijevu tipku miša te povući i odpustiti ispod prethodno
kreiranog logičkog kruga. Prozor programa sa ubačenim novi logičkim krugom sada
izgleda kao na sljedećoj slici.
Novi logički krug u prozor programa moguće je ubaciti i ako se zajedno pritisnu tipke
Ctrl+R na tipkovnici.
________________________________________________________________________112
SIMATIC S7 Programirljivi logički kontroleri
2. Potrebno je dodati prvu ulaznu naredbu u logičkom krugu. To se može učiniti pomoću
postupaka koji je prethodno opisan ili isprobati novi način dodavanja naredbi. U prozoru
programskih elemenata se odabere normalno otvoreni kontakt i držeći pritisnutu lijevu
tipku miša povuće se i otpusti na liniju u lijevom dijelu logičkog kruga. Koristeći ono
što je ranije bilo navedeno ovoj instrukciji potrebno je dodijeliti simboličku adresu 'Izlaz
0'. Tada prozor programa izgleda kao na sljedećoj slici.
Ulaz u ovom logičkom krugu je izlaz prethodno kreiranog logičkog kruga (Network 1). Na
ovaj način je u bilo kojem dijelu programa moguće koristiti stanje izlaza nekog logičkog
kruga. Logički kontinuitet će biti ostvaren tek kada se uključi izlaz logičkog kruga 1.
3. Desno od ove naredbe potrebno je dodati još jednu identičnu naredbu. U prozoru
programskih elemenata se odabere normalno otvoreni kontakt i držeći pritisnutu lijevu
tipku miša povuće i otpusti se na liniju kraj prethodno dodane naredbe u logičkom
krugu. Ovoj naredbi potrebno je dodjeliti simboličku adresu 'Prekidač 2'. Tada prozor
programa izgleda kao na sljedećoj slici.
________________________________________________________________________113
SIMATIC S7 Programirljivi logički kontroleri
Kao i u prethodnom dijelu stavljanjem uvjeta u seriju postignut je AND uvjet. U ovom
slučaju traži se da su 'Izlaz 0' i 'Prekidač 2' uključeni da bi logički krug bio 'istinit' odnosno
da bi se ostvario logički kontinuitet
7. Koristeći ono što je do sada bilo obrađeno ovoj naredbi potrebno je dodijeliti simboličku
adresu 'Prekidač 3'. Kako bi se zatvorila grana potrebno je držati pritisnutu lijevu tipku
miša povući završetak grane i otpustiti ga iza normalno otvorenog kontakta 'Prekidač 2'.
________________________________________________________________________114
SIMATIC S7 Programirljivi logički kontroleri
Grane omogućuju izradu ''ILI/OR'' uvjeta. U ovom slučaju da bi se uključio izlaz potrebno
je da su uključeni bilo 'Izlaz 0' i 'Prekidač 1' ili 'Prekidač 3'. Jedan od uvjeta mora biti
ispunjen da bi logički krug bio 'istinit' odnosno da bi se ostvario logički kontinuitet.
1. Koristeći ono što ste dosad obrađeno potrebno je kreirati treći logički krug i ubaciti
naredbe u njega kako je prikazano na sljedećoj slici te označiti liniju između kontakata
spojenih u seriju da bi se na ovo mjesto mogla dodati grana.
________________________________________________________________________115
SIMATIC S7 Programirljivi logički kontroleri
4. Ovaj ulaz se može koristiti na ovakav način ili mu se možete pridjeliti simbol.
Označivanjem kontakta te desnim klikom miša aktivira se izbornik opcija gdje se
odabere Edit Symbols.
5. Otvori se okvir za unos simbola u kojem je svakoj adresi prilikom izrade samog
programa moguće dodijeliti simbol koji će automatski biti spremljen u tablicu simbola.
U polju Symbol navedenoj adresi potrebno je dodijeliti simbol 'Tipkalo Stop'. U polju
Comment moguće je detaljnije opisati namjenu ove adrese u programu.
________________________________________________________________________116
SIMATIC S7 Programirljivi logički kontroleri
Ako se unese naziv koji već postoji u tablici simbola on će se prikazati crvenom bojom što
znači da ga se ne može ponovno unijeti u tablicu simbola.
Klikom OK ili Apply se spremaju promjene a potom klikom Close da bi se izašlo iz okvira
za dijalog.
8. Izlaznoj naredbi se dodjeli adresa 'Q0.3' na isti način kao u prethodnom slučaju u okviru
za unos simbola dodijelite joj simbol 'Motor'.
________________________________________________________________________117
SIMATIC S7 Programirljivi logički kontroleri
Promjene se spreme klikom na OK ili Apply a potom klikom na Close se zatvorili okvir
za dijalog.
Može se primjetiti kako je NO kontaktu dodana ista adresa kao i izlaznoj naredbi. To je
jedna od mogućnosti PLC-a. Funkcionalnost koja je upravo ostvarena je ekvivalentn
pomoćnim kontaktom kod startanja motora koji omogućavju projektiranje zatvorenog
strujnog kruga. Dodajući paralelnoj grani adresu izlaza, motor će ostati upaljen kada se
'Tipkalo Start' otpusti, sve dok se ne pritisne 'Tipkalo Stop'.
10. Kao što se može vidjeti unešena adresa poprimila je naziv 'Motor' koji je prethodno
unesen u tablicu simbola. Sada bi logički krug trebao izgledati kao na sljedećoj slici:
▪ Pohrana programa
Program još nije pohranjen na tvrdom disku računala. Potrebno je pohraniti (snimiti)
program kako bi spriječili da se rad izgubi. Da bi se to učinilo potrebni je odaberati opciju
izbornika File>Save ili jednostavno kliknuti na ikonu Save na alatnoj traci.
Ikona Save
________________________________________________________________________118
SIMATIC S7 Programirljivi logički kontroleri
Nakon što je u programskom bloku OB1 kreiran program morae se prebaciti na PLC kako
bi se mogao koristiti i provjeriti njegovu ispravnost. U ovom slučaju najbrži način učitavanja
programskog bloka u PLC je direktno iz LAD/STL/FBD Editor-a. Potrebno je napraviti
sljedeće:
2. U sljedećem koraku se pojavi poruka koja pita dali se želi prebrisati programski blok
OB1 koji se već nalazi u PLC-u.
3. Odabirom Yes programski blok koji je prethodno kreiran će se učitati u PLC. Ako je
blok uspješno prebačen na PLC u statusnoj traci na dnu ekrana će pisati Block loaded.
Programske blokove je moguće učitati u PLC i iz SIMATIC Managera pri čemu ih netreba
prethodno otvarati. Prije toga je samo potrebno odabrati blokove koji se žele učitati.
________________________________________________________________________119
SIMATIC S7 Programirljivi logički kontroleri
Može se odabrati jedan blok ili nekoliko blokova pritom držeći pritisnutu tipku CTRL na
tipkovnici. Ako se žele učitati svi blokove u PLC jednostavno se odabere spremnik Blocks u
lijevom dijelu prozora vašeg projekta. Odabrani blokovi učitaju se u PLC tako da u prozoru
SIMATIC Manager-a se odabere opcija izbornika PLC>Download ili jednostavno klikom na
ikonu Download na alatnoj traci.
________________________________________________________________________120
SIMATIC S7 Programirljivi logički kontroleri
Postoje dva načina rada test moda, koji se znatno razlikuju po svom utjecaju na trajanje ciklusa
korisničkog programa:
▪ Procesni rad
U procesnom su radu test funkcije ograničene tako da se ne prekorači izabrano dopušteno
trajanje ciklusa. Stanje programskih petlji određuje se samo kada se prvi put izvršavaju.
Onemogućeno je izvršavanje nekih posebnih test funkcija.
▪ Testiranje
Kod testiranja se sve test funkcije izvode bez ograničenja. Stanje programskih petlji određuje
se svaki put kada se one izvrše. Trajanje ciklusa može se povećati ovisno o osvježavanju test
funkcija Program Status sa svakim izvršavanjem petlje.
Mod rada može se odrediti na kartici Protection u postavkama CPU modula prilikom
konfiguracije sklopovlja (opširnije u 2.4.3. Podešavanje karakteristika CPU-a). Ta podešenja
se ne mogu naknadno promjeniti u okviru za dijalog Operation.
Stanje Rezultat
Ulaz
signala provjere
I0.0 0 0
I0.1 0 1
Stanje Rezultat
Ulaz
signala provjere
I0.0 1 1
I0.1 1 0
Stanje Rezultat
Ulaz
signala provjere
I0.0 1 1
I0.1 0 1
________________________________________________________________________122
SIMATIC S7 Programirljivi logički kontroleri
Stanje Rezultat
Ulaz
signala provjere
I0.0 0 0
I0.1 1 0
4. 'Izlaz 1 će se uključiti kada se uključi 'Prekidač 3' na ulaznom simulatoru ili ako se
uključi 'Prekidač 2' na ulaznom simulatoru dok je uključen 'Izlaz 0' prethodnog logičkog
kruga. Ovo je primjer 'ILI/OR' logičkog kruga.
________________________________________________________________________123
SIMATIC S7 Programirljivi logički kontroleri
Čak i nakon što ste isključili 'Tipkalo Start' motor ostaje uključen. Logička odluka između
'Tipkalo Start' i 'Motor' u logičkom krugu je 'ILI/OR'. Ako je 'Tipkalo Start' uključeno ili je
'Motor' uključen, izlaz 'Motor' bi trebao raditi. Ovo je pravi primjer 'latching circuit', također
nazvanog kontrolni krug sa 3 žice. Ako se uključi peti prekidač (I0.4 s pridjeljenim simbolom
'Tipkalo Stop') na ulaznom simulatoru, vidjet ćete se da se izlaz 'Motor' isključio.
________________________________________________________________________124
SIMATIC S7 Programirljivi logički kontroleri
Program koji je prethodno testiran sada se može po potrebi izmjeniti (modificirati), prebaciti
na CPU i ponovno testirati. U sljedećim dijelovima obradit će se kako izmjeniti već postojeći
program i testirati ga kombiniranjem opcije za praćenje statusa programa i tablice varijabli.
Ako je selektirana opcija All addresses within the specified address area moguće je
zamijeniti bitove unutar cijelog adresnog područja (bajta, riječi ili dvostruke riječi). U tom
slučaju se svi bitovi od kojih se sastoji "staro" adresno područje zamjenjuju bitovima od kojih
se sastoji "novo" adresno područje. Tako npr. ako se "staro" adresno područje IW0 zamjenjuje
s "novim"adresnim područjem IW4 tada se bitovi I0.0. do I1.7 od kojih se sastoji riječ IW0
zamjenjuju bitovima I4.0 do I5.7 od kojih se sastoji IW4. Da je ova opcija bila deselektirana
________________________________________________________________________125
SIMATIC S7 Programirljivi logički kontroleri
samo bi riječ IW0 bila zamijenjena sa IW4 dok bi bitovi unutar adresnog područja IW0 ostali
nepromijenjeni.
Kada se klikne na OK, SIMATIC Manager zamijeni sve adrese iz navedenih stupaca nakon
čega je moguće pogledati 'info' dokument s popisom svih napravljenih promjena u odabranim
blokovima.
1. U spremniku Blocks označiti programski blok OB1u kojem se nalazi program u kojem
se žele zamijeniti adrese. Nakon toga je potrebno odaberati opciju izbornika
Options>Rewire.
Ako je prilikom odabira opcije Rewire u programskom editoru otvoren programski blok u
kojem se žele zamijeniti adrese pojavit će se okvir za dijalog s upozorenjem koje obavještava
da se ova opcija nemože pokrenuti. Opcija za zamjenu adresa će se moći pokrenuti tek kada se
zatvori programski editor s otvorenim programskim blokom.
2. U stupac Old address se unese već korištene adrese 'I0.3' i 'Q0.0' koje će biti
zamijenjene s novim adresama 'M1.1' i 'M2.0' koje se unesu u stupac New address kao
što je prikazano na sljedećoj slici.
Adresa ulaza 'I0.3' će na svim mjestima u programu biti zamijenjena s adresom 'M1.1' a
adresa izlaza 'Q0.0' s adresom 'M2.0'. 'M1.1' i 'M2.0' su adrese u bit memoriji PLC-a koje
se u ovom slučaju koriste kao markeri (''zastavice'') koji služi za pohranjivanje stanja
binarnih signala u programu.
________________________________________________________________________126
SIMATIC S7 Programirljivi logički kontroleri
5. Otvaranjem programskog bloka OB1 može se vidjeti da su stare adrese 'I0.3' i 'Q0.0'
zamijenjene s novim adresama 'M1.1' i 'M2.0' u drugom logičkom krugu programa.
________________________________________________________________________127
SIMATIC S7 Programirljivi logički kontroleri
Tablicu simbola je potrebno postaviti tako da na ekranu istovremeno se vidi otvorena tablica
simbola i prvi logički krug programa (Network 1).
2. Simbolima 'Prekidač 0' i 'Prekidač 1' potrebno je zamijeniti adrese. Prvo simbolu
'Prekidač 0' se dodijeli adresa 'I0.1'. i zatim pritisne Enter. Polja za unos adresa će se
prikazati crveno budući da oba simbola sada imaju dodijeljenu istu adresu.
3. Sada simbolu 'Prekidač 1' se dodijeli adresa 'I0.0' i zatim pritisnite Enter.
4. Klikom na ikonu Save na alatnoj traci simboli kojima su dodijeljene apsolutne adrese
'I0.0' i 'I0.1' će zamijenili mjesta u logičkom krugu.
Ikona Save
________________________________________________________________________128
SIMATIC S7 Programirljivi logički kontroleri
________________________________________________________________________129
SIMATIC S7 Programirljivi logički kontroleri
Kao što se može uočiti prema predefiniranim postavkama je odabrano da adresa ima
prioritet (engl. Absolute value has priority). Potrebno je kliknuti na prazno polje kao što je
prikazano na slici kako bi se odabralo da simbol ima prioritet (engl. Symbol has priority)
prilikom izmjene adresa u programu. Klikom na OK program će prihvati napravljene
promjene.
4. Kao u raniem primjeru ponovno se simbolima 'Prekidač 0' i 'Prekidač 1' zamijenite
adrese.
5. Klikom na ikonu Save na alatnoj traci tablice simbola moguče je uočiti da su adrese s
dodijeljenim simbolima 'Prekidač 0' i 'Prekidač 1' zamijenile mjesta u logičkom krugu.
Ikona Save
U postavkama objekta Blocks s je bilo odabrano da simbol ima prioritet. Zbog toga simboli
prilikom promjena u tablici simbola ostanu dodijeljeni pripadajućim naredbama dok se
apsolutne adrese promjene. Simboli 'Prekidač 0' i 'Prekidač 1' su ostali dodijeljeni
pripadajućim naredbama dok su adrese zamijenile mjesta.
Ako bi se htjelo odabrati da apsolutna adresa ponovno ima prioritet potrebno je zatvoriti
programski editor i u postavkama objekta Blocks odaberati da apsolutna adresa ima
prioritet. Promjene će biti prihvaćene tek kada sljedeći puta se otvori blok koji sadrži
program.
________________________________________________________________________130
SIMATIC S7 Programirljivi logički kontroleri
3. U polju za unos adrese normalno otvorenog kontakta adresu ulaza 'I0.0' potrebno je
zamjeniti s adresom 'M1.0' i zatim pritisnuti Enter. Na ovaj način ste fizički ulaz na
kontroleru zamijenili s virtulanim ulazom u bit memoriji PLC-a koja služi za
pohranjivanje stanja binarnih signala u vašem programu. U izborniku opcija naredbe
odabere se Edit Symbols da bi se otvorio okvir za unos simbola. Koristeći ono što je
dosad obrađeno ovoj adresi potrebno je pridjeliti simbol 'Virtulani ulaz M1.0'.
________________________________________________________________________131
SIMATIC S7 Programirljivi logički kontroleri
4. Na isti način izlaznoj naredbi potrebno je dodati adresu 'M2.0' i pridjeliti joj simbol
'Virtulani izlaz M2.0'. Na ovaj načinse fizički izlaz na kontroleru se zamijenio sa
virtulanim izlazom koji će se moći koristiti u drugim dijelovima programa. Logički krug
sada izgleda kao na sljedećoj slici.
'M2.0' je adresa u bit memoriji PLC-a koja se u ovom slučaju koristi kao marker
(''zastavica'') koji služi za pohranjivanje stanja binarnih signala u programu.
5. Sada između ulazne i izlazne naredbe se ubaci -|NOT|- tako da se prvo obabere u
prozoru programskih elemenata a zatim držeći pritisnutu lijevu tipku miša povuće i
otpusti na sredinu logičkog kruga. Ovoj naredbi se ne dodjeljuje adresa budući da ona
samo invertira logički kontinuitet u krugu.
________________________________________________________________________132
SIMATIC S7 Programirljivi logički kontroleri
Naredba -|NOT|- inventira logičko stanje '0' (RLO=0) u krugu prije naredbe u logičko stanje
'1' (RLO=1) nakon naredbe i obratno. U ovom slučaju će zbog naredbe za invertiranje
logičkog kontinuiteta "Virtulani izlaz M2.0" biti uključen odnosno adresa 'M2.0' u memoriji
PLC-a će biti u stanju logičkog '1' kada je adresa 'M1.0' u stanju logičkog '0'.
6. U drugom logičkom krugu potrebno je samo adresi 'M1.1' normalno otvorenog kontakta
dodijeliti simbol 'Virtulani ulaz M1.1' a adresi 'M2.0' normalno otvorenog kontakta
dodijeliti simbol 'Virtulani ulaz M2.0'. Logički krug sada izgleda kao na sljedećoj slici.
7. Sada je potrebno izbrisati treći logički krug programa. Klikom na Network 3 te desnim
klikom miša se aktivira izbornik opcija te se odabere Delete ili jednostavno pritisnite
tipka Delete na tipkovnici.
2. Klikom na polje za unos komentara u prvom logičkom krugu i nakon što ono promijeni
boju upišite: "Virtulani ulaz M1. 0" isključuje "Virtualni izlaz M2.0" u memoriji PLC-a
3. Kliknite na bilo koje mjesto izvan polja za unos komentara i unešeni tekst će biti
prihvaćen. Vaš logički krug bi trebao izgledati kao na sljedećoj slici:
________________________________________________________________________133
SIMATIC S7 Programirljivi logički kontroleri
4. Na jednak način se mogu unesiti komentari u drugi logički krug kao što je prikazano na
sljedećoj slici.
Prije nego što se izmjenjeni program prebaci na PLC potrebno ga je pohraniti na tvrdom
disku računala. Da bi se to napravilo potrebno je odabrati opciju izbornika File>Save ili
jednostavno kliknuti na ikonu Save na alatnoj traci i izmjenjeni program u OB1 će biti
spremljen.
Ikona Save
3. Ako je blok uspješno prebačen na PLC u statusnoj traci na dnu ekrana pisati će
'Downloading': For 1 of 1 objects successful.
________________________________________________________________________134
SIMATIC S7 Programirljivi logički kontroleri
Adresa koja se želi pratiti odnosno čija se vrijednost želi mijenjati unosi se u retke tablice
varijabli. Svaka varijabla zauzima jedan redak a moguće je unijeti najviše 1024 redaka s
varijablama. Unose se apsolutne adrese varijabli u stupac Adress ili simbolička imena iz tablice
simbola u stupac Symbol (Slika 131.).
________________________________________________________________________135
SIMATIC S7 Programirljivi logički kontroleri
odabere se željeni format. Format odabran za prikaz određene varijable netreba odgovarati
podatkovnom tipu koji ta varijabla ima u programu.
Monitor Value - Ovdje je prikaza vrijednost varijable nakon zadnjeg osvježavanja.
Modify Value - U ovaj stupac unosi se željena nova vrijednost. varijable.
Broj bloka u polju Name se ne može promijeniti dok je u polju Symbolic Name moguće
unijeti naziv tablice varijabli koji će se automatski unijeti u tablicu simbola. Klikom na
OK kreira se tablica varijabli pod odabranim imenom u spremniku Blocks. Ime tablice
varijabli se sastoji od slova VAT iza kojih slijedi broj između 0 do 65535 (bez razmaka),
npr. VAT1.
Sada za vježbu u tablicu varijabli unesite potrebne varijable da bi mogli testirati modificirani
program koji ste prethodno prebacili na PLC. Potrebno je napraviti sljedeće:
________________________________________________________________________136
SIMATIC S7 Programirljivi logički kontroleri
2. Sada u tablicu možete unijeti varijable koje želite mijenjati ili pratiti. U prvi red unesite
komentar koji prepoznajete prema oznaci "//". Odaberite polje u stupcu Address u
prvom retku i utipkajte //OB1 Network 1. Zatim pritisnite Enter i automatski će se
ubaciti novi redak.
3. U drugi redak unesite adresu 'M1.0' i zatim pritisnite Enter. Naziv iz tablice simbola i
format prikaza će biti dodan automatski.
Prilikom unosa varijabli moguće je unositi adrese u stupac Address ili simbole u stupac
Symbol. Kada se unose simboli, adrese se automatski dodaju u polje s adresama. Pritom je
moguće unositi samo simbole koji su već definirani u tablici simbola. Ako u tablici simbola
žele definirati novi simboli možese tablica otvoriti odabirom opcije izbornika Options>Symbol
Table. Simboli također se mogu kopirati iz već otvorene tablice simbola i zalijepiti u željeni
redak u tablici varijabli.
U tablicu varijabli moguće je unijeti niz varijabli tako da se označi redak od kojeg se želi
umetnuti niz i odabere opcija izbornika Insert>Range of Variables. U okviru koji se otvori
potrebno je odabrati početnu adresu i broj ubačenih redova kao i format u kojem će varijable
biti prikazane. Nakon pritiska na OK niz varijabli se unese u tablicu varijabli.
________________________________________________________________________137
SIMATIC S7 Programirljivi logički kontroleri
Osvježavanje
vrijednosti varijabli
Dodijeljivanje novih
vrijednosti varijablama
________________________________________________________________________138
SIMATIC S7 Programirljivi logički kontroleri
PII
Tablične slike
procesnih ulaza
OB1
Cikličko
izvršavanje Prijelaz:
programa RUN u STOP
PIQ
Tablične slike
procesnih izlaza
Slika 134. Odabir točke okidanja
Također je moguće odrediti frekvenciju okidanja (engl. Trigger Frequency). Pod opcijom
Trigger Condition for Monitoring određuje se da li se vrijednosti osvježavaju samo jedanput
kada se dosegne točka okidanja ili u svakom ciklusu (svaki put kada se dosegne točka okidanja).
Pod opcijom Trigger Condition for Modifying određuje se da li se nove vrijednosti dodijeljuju
varijablama samo jedanput ili u svakom ciklusu.
Nakon unošenja željenih varijabli prethodno kreirana tablica varijabli može se koristiti za
testiranje korisničkog programa. Testiranje programa pomoću tablice varijabli najbolje je
provoditi u kombinaciji s opcijom za praćenje statusa programa.
Opcija za praćenje varijabli se uključuje odabirom opcije izbornika Variable>Monitor
čime se u stupcu Status value omogućava prikaz trenutnih vrijednosti varijabli iz korisničkog
programa ili CPU-a. Promatrane vrijednosti odabrabih varijabli se osvježavaju u svakom
ciklusu u skladu s postavljenom točkom okidanja. Kontinuiranim praćenjem moguće je lagano
uočiti sve promjene vrijednosti varijabli prikazanih u tablici. Vrijednosti pojedinih varijabli
prikazuju se u formatu zapisa odabranom u stupcu Display format. Promatrane vrijednosti
također mogu se osvježiti samo jedanput izborom opcije izbornika Variable>Update Monitor
Values čime se vrijednosti varijabli trenutno osvježe neovisno o podešenoj točki okidanja.
Vrijednosti varijabli mijenjaju se tako da se prvo u stupac Modify value unese željena
vrijednost varijable u ispravnom obliku zapisa za varijablu čija se vrijednost želi promijeniti.
Oblik zapisa unešene vrijednosti mora odgovarati formatu zapisa za pripadajuću varijablu
odabranom u stupcu Display format. Nakon što se odabere opcija izbornika Variable>Modify
unešene vrijednosti varijabli se aktiviraju u svakom ciklusu u skladu s postavljenom točkom
okidanja. Unešene vrijednosti također se mogu aktivirati samo jedanput izborom opcije
izbornika Variable>Activate Modify Values čime se varijable trenutno promijene neovisno o
podešenoj točki okidanja.
________________________________________________________________________139
SIMATIC S7 Programirljivi logički kontroleri
Sljedećom vježbom pomoću tablice varijabli se može testirati modificirani program. Potrebno
je napraviti sljedeće:
2. Prije promatranja ili mijenjanja varijabli, prvo se mora uspostaviti veza s željenim CPU-
om. Odaberiom opcije izbornika PLC>Connect To>Configured CPU ili jednostvano
klikom na ikonu Set up Connection to Configured CPU na alatnoj traci da bi se
uspostavila vezu s CPU-om.
Ikona Set up Connection to Configured CPU
Varijable u VAT čine promjenjivi dio CPU programa. U slučaju da je više PLC-ova spojeno na
mrežu, svaku tablicu varijabli iz projekta moguće je povezati s drugim CPU-om. U tablici
varijabli prikazat će se stanja varijabli iz CPU-a koji se odabere. Odabirom jedne od opcija
izbornika PLC>Connect To>... moguće je uspostaviti vezu s jednim od sljedećih CPU-ova:
Configured CPU - odabirom ove opcije uspostavalja se veza s CPU-om u čijem je S7 Program-
u spremljena tablica varijabli.
Direct CPU - odabirom ove opcije uspostavalja se veza s CPU-om koji je komunikacijskim
kabelom izravno spojen na PC računalo (npr. preko MPI sučelja).
Accessible CPU - odabirom ove opcije moguće je uspostaviti vezu s dostupnim CPU-ovima
koji se prikažu u okviru za dijalog. Na taj se način može uspostaviti veza sa svim CPU-ovima
dostupnim na mreži.
Veza s CPU-om prekida se odabirom opcije izbornika PLC>Disconnect.
________________________________________________________________________140
SIMATIC S7 Programirljivi logički kontroleri
4. Sada se možete ispitati prvi logički krug programa tako da se promijene vrijednost
varijable M1.0. Lijevom tipkom miša se odaber drugi red u stupcu Modify Value i unese
'1' ili upišite 'true'jer je to ispravni zapis vrijednosti za tu vrstu podatka. Odabirom opcije
izbornika Variable>Modify ili klikom na ikonu Modify variable na alatnoj traci
promijenjena vrijednost će se aktivirati u svakom ciklusu.
Ikona Modify variable
Kada se adresa 'M1.0' postavi u stanju logičke '1' isključi se virtualni izlaz odnosno adresa
'M2.0' se postavila u stanje logičke '0'. U stupcu Status value se prikažu nove vrijednosti
varijabli.
5. Na isti način potrebno je ispitati drugi logički krug vašeg programa. Da bi se uključio
'Izlaz 1' potrebno je postaviti adresu 'M1.1' u stanje logičke '1' koristeći ono što je
prethodno obrađeno.
'Izlaz 1' se može uključiti i ako je adresa 'M2.0' u logičkom '1' i uključen je 'Prekidač 2' na
ulaznom simulatoru. Zbog ''ILI'' uvjeta samo jedan od uvjeta mora biti ispunjen da bi logički
krug bio 'istinit' odnosno da bi se ostvario logički kontinuitet i uključio 'Izlaz 1'.
________________________________________________________________________141
SIMATIC S7 Programirljivi logički kontroleri
Forsiranje se ne može prekinuti zatvaranjem prozora za forsiranje varijabli ili tablice varijabli,
ili prekidom veze sa CPU-om. Prekinuti ili završiti forsiranje varijabli može se jedino odabirom
opcije izbornika Variable>Stop Forcing.
VAŽNO: Neispravnim rukovanjem kod izvođenja forsiranja može ugroziti život ili zdravlje
osoba i prouzročiti štetu na cijelom sustavu.
________________________________________________________________________142
SIMATIC S7 Programirljivi logički kontroleri
Kada je PLC u STOP modu rad izlaznih modula je onemogućen pomoću signala za
onemogućavanje izlaza (engl. Output Disable). Pomoću funkcije za omogućavanje perifernih
izlaza (engl. Enable Peripheral Outputs) isključuje se signal za onemogućavanje izlaza čime
korisnik dobiva mogućnost promjene perifernih izlaza kada je CPU u STOP modu. Ova
funkcija se koristi npr. za dovođenje sustava u definirano stanje kada je CPU prešao u STOP
mod zbog greške.
Ako je CPU u STOP modu periferni izlazi mijenjaju tako da se u tablicu varijabli prvo
unesu adrese perifernih izlaza (PQ) i odgovarajuće vrijednosti za periferne izlaze čije se
vrijednosti žele promijeniti. Nakon toga je potrebno uspostaviti vezu s CPU-om odabirom jedne
od opcija izbornika PLC>Connect to>... tako da se mogu promijeniti periferni izlazi aktivne
tablice varijabli. Da bi se omogućilo slanje promijenjenih vrijednosti na periferne izlaze
potrebno je uključiti funkciju za omogućavanje perifernih izlaza odabirom opcije izbornika
Variable>Enable Peripheral Outputs. Odabirom opcije izbornika Variable> Activate
Modify Values periferni izlaze promjene se u željene vrijednosti. Funkcija za omogućavanje
perifernih izlaza ostaje aktivna sve dok se ne isključi ponovnim odabirom ove opcije izbornika
Variable>Enable Peripheral Outputs.
________________________________________________________________________143
SIMATIC S7 Programirljivi logički kontroleri
I0.0
I0.1
M1.0
M1.1
Q0.0
t
1. U programskom editoru potrebno je otvoriti organizacijski blok OB1. Koristeći ono što
ste dosad naučili u prvi logički krug vašeg programa ubacite NO konatakte i izlaznu
naredbu s pripadajućim adresama kako je prikazano na sljedećoj slici.
________________________________________________________________________144
SIMATIC S7 Programirljivi logički kontroleri
Odabranim adresama po želji se mogu dodijeliti simboli koristeći postupak koji je obrađen u
prijašnjim vježbama.
3. Stanje adrese 'M1.0' koja je dodijeljena konektoru može se sada koristiti u drugim
logičkim krugovima programa preko NO i NC kontakata. Za primjer u novi logički
krugu se ubaci NO kontakt s adresom 'M1.0' koja će uključivati izlaz 'Q0.0' u ovisnosti
o logičkom stanju kruga na mjestu konektora.
________________________________________________________________________145
SIMATIC S7 Programirljivi logički kontroleri
5. Kada je ostvaren logički kontinuitet kroz konektor uključen je izlaz Q0.1 jer NO kontakt
prati stanje logičkog kruga na mjestu konektora. Može se vidjeti da konektor sam po
sebi nema utjecaj na logički kontinutet unutar kruga u kojem se nalazi budući da je izlaz
Q0.0 također uključen.
Set Coil
Reset Coil
Slika 138. Simboli naredbi za postavljanje i brisanje
Naredbe Set Coil i Reset Coil su izlazne naredbe kojima se upravlja stanjem pojedinog bita
i uvijek se koriste u paru. Kada je u krugu u kojem se nalazi naredba Set Coil ostvaren logički
kontinuitet binarna adresa se 'setira' u '1' a kada je ostvaren logički kontinuitet u krugu u kojem
se nalazi naredba Reset Coil binarna adresa se 'resetira' u '0'. Ove dvije naredbe se najčešće
koriste kod uporabe tipkala i rada sa procesima gdje treba pamtiti stanja.
Naredba Set Coil će se izvršiti samo kada je RLO ulaznih naredbi koje joj prethode jednak
'1'. Pritome će se binarna adresa iznad simbola ove naredbe postaviti u logičko stanje '1'
(setiranje, postavljanje). Ako je RLO ulaznih naredbi koje prethode ovoj naredbi jednak '0'
logičko stanje binarne adrese neće se promjeniti.
Naredba Reset Coil će se izvršiti samo ako je RLO ulaznih naredbi koje joj prethode jednak
'1'. Pritome će se binarna adresa (ako je u tom trenutku u stanju logičkog '1') iznad simbola
naredbe postaviti u logičko stanje '0' (resetiranje, brisanje). Ako je RLO ulaznih naredbi koje
________________________________________________________________________146
SIMATIC S7 Programirljivi logički kontroleri
prethode ovoj naredbi jednak '0' logičko stanje binarne adrese neće se promjeniti. U slučaju
naredbe Reset Coil binarna adresa koja se resetira može biti i timer (npr. T1) ili brojač (npr. C1)
čije će se vrijednosti akumulatora postavljaju na nulu (opširnije u X. Timeri i XX. Brojači).
Sljedeća slika prikazuje dijagram stanje – vrijeme za naredbe Set Coil i Reset Coil u
pripadajućim logičkim krugovima:
I0.0 Q0.0
Set S
I0.1 Q0.0
Reset R
I0.0
I0.1
Q0.0
t
Slika 139. Dijagram stanje vrijeme za Set Coil i Reset Coil naredbe
Na jednostavnom primjeru se može provjeriti kako se radi s naredbama Set Coil i Reset Coil
u logičkom krugu. U organizacijskom bloku OB1Potrebno je izraditi program, učitati ga u PLC
i testirati ga pomoću funkcija za testiranje korisničkog programa. Potrebno je napraviti sljedeće:
1. U programskom editoru otvoriti organizacijski blok OB1. U prvi logički krug ubaciti
naredbu Set Coil s uvjetnom naredbom NO kontakta koja joj prethodi.
________________________________________________________________________147
SIMATIC S7 Programirljivi logički kontroleri
Izlaz Q0.0 će se uključiti kada se uključi ulaz I0.0 ali će ostati uključen čak i kada se ulaz I0.0
isključi. Na taj način izlaz Q0.0 ostaje uključen (setiran) sve dok ga se ne isključi (resetira)
pomoću naredbe Reset Coil.
Odabranim adresama po želji se mogu dodijeliti simboli koristeći postupakom koji je obrađen
u prijašnjim vježbama.
2. Potrebno je izraditi logički krug s istim uvjetom (I0.0) kao i u prethodnom krugu ali sa
običnom izlaznom naredbom koja će mijenjati stanje izlaza Q0.1.
Na taj način moguće je lakše uočiti razliku između obične izlazne naredbe (Output Coil) i
naredbi za postavljanje i brisanje (Set Coil i Reset Coil).
3. Izlaz koji je jednom uključen može se samo isključiti pomoću naredbe Reset Coil. Da
bi mogli isključiti izlaz Q0.0 koji se ukljućuje naredbom Set Coil u treći logički krug
potrebno je ubaciti naredbu Reset Coil s uvjetnom naredbom NO kontakta koja joj
prethodi.
________________________________________________________________________148
SIMATIC S7 Programirljivi logički kontroleri
Izlaz Q0.0 će se isključiti (resetirati) kada se uključi ulaz I0.1 ali će ostati isključen čak i kada
se ulaz I0.1 isključi. Izlaz Q0.0 ostaje isključen sve dok ga se ponovno ne uključi (setira)
pomoću naredbe Set Coil.
5. Kada se uključi ulaz I0.0 ostvariti će se logički kontinutet u prvom i drugom logičkom
krugu što će uključiti izlaze Q0.0 i Q0.1. Ako se sada isključivanjem ulaza I0.0 prekine
logički kontinutiet, izlaz Q0.1 će se isključiti.
Međutim, izlaz Q0.0 će zbog naredbe Set Coil ostati uključen iako je prekinut logički
kontinuitet. Ovim primjerom se može uočiti glavna prednost naredbi za postavljanje i brisanje
u odnosu na običnu izlaznu naredbu, a to je svojstvo 'pamćenja'.
6. Ako se želi isključiti izlaz Q0.0 potrebno je krug u kojem se nalazi naredba Reset Coil
dovesti u logičko stanje '1'. Uključivanjem ulaza I0.1 ostvarit će se logički kontinuitet u
trećem logičkom krugu što će isključiti (resetirati) izlaz Q0.0.
Sada isključivanjem ulaza I0.1 prekida se logički kontinutiet u krugu. Izlaz Q0.1 će još uvijek
ostati isključen budući da je krug s naredbom za Set Coil također u logičkom stanju '0'. Ovaj
izlaz će ostati isključen dok ga se ponovno ne uključi aktiviranjem ulaza I0.0.
7. Ako su istovremno uključeni ulazi I0.0 i I0.1 logički krugovi sa Set Coil i Reset Coil će
biti u logičkom stanju '1'. U ovom slučaju izlaz Q0.0 će biti isključen jer prilikom
izvršavanja (skeniranja) programa prioritet ima logički krug sa naredbom Reset Coil.
________________________________________________________________________149
SIMATIC S7 Programirljivi logički kontroleri
Kada se logički krugovi sa Set Coil i Reset Coil istovremeno nađu u logičkom stanju '1' prioritet
ima ona naredba koja se nalazi zadnja u programu. U ovom slučaju prilikom skeniranja
programa prvo se izvršava logički krug s naredbom Set Coil koja uključuje izlaz Q0.0.
Međutim, odmah nakon nje izvršava se logički krug s naredbom Reset Coil koja isključuje izlaz
Q0.0. Zbog toga naredba Reset Coil ima prioritet kada je postavljena u logički krug koji se u
programu nalazi nakon logičkog kruga s naredbom Set Coil.
8. Izmjenom programa tako da izlaz Q0.0 bude uključen kada se logički krugovi sa Set
Coil i Reset Coil istovremeno nađu u logičkom stanju '1'. Prvo je potrebno proči u off-
line način rada (isključiti opciju Monitor) da bi se mogao mijenjati program. Nakon toga
se izbriše drugi logički krug programa tako da se klikne na Network 2 te desnim klikom
miša aktivira izbornik opcija i odabere Delete ili jednostavno pritiskom na tipku Delete
na tipkovnici. Program se sada sastoji samo od logičkih krugova sa naredbama Set Coil
i Reset Coil kao što je prikazano na sljedećoj slici.
Ikona Monitor
9. Logički krug sa naredbom Set Coil potrebno je premjestiti iza logičkog kruga sa
naredbom Reset Coil tako da se prvo klikne na Network 1 te desnim klikom miša aktivira
izbornik opcija i odaberete Cut ili jednostavno pritiskom tipka Ctrl+X na tipkovnici.
Nakon toga klikom na preostali logički krug koji se sada zove Network 1 te desnim
klikom miša se aktivira izbornik opcija i odaberie Paste ili jednostavno pritisokom tipka
Ctrl+V na tipkovnici. Program tada izgleda kako je prikazano na sljedećoj slici.
________________________________________________________________________150
SIMATIC S7 Programirljivi logički kontroleri
10. Program je potrebno spremiti preko već postojećeg, ponovno ga učitati u PLC i uključiti
funkciju za praćenje statusa programa (odabir opcije Monitor). Oba logička kruga
potrebno je postaviti u logičko stanje '1' tako da se uključe ulaze I0.0 i I0.1. Izlaz Q0.0
će biti uključen jer prilikom izvršavanja (skeniranja) programa prioritet ima logički krug
sa naredbom Set Coil.
Ikona Monitor
U ovom slučaju naredba Set Coil ima prioritet jer je postavljena u logički krug koji se u
programu nalazi nakon logičkog kruga s naredbom Reset Coil.
3.7.4 Bistabili
Bistabil je memorijski element koji predstavlja kombinaciju Set Coil i Reset Coil naredbi.
Koristi se za "pamćenje" logičkog stanja binarne adrese koja se upisuje iznad simbola bistabila.
Stanje binare adrese se šalje u logički krug preko izala Q. Bistabil se setira (binarna adresa se
postavlja u logičko '1') kada je ulaz S u stanju logičkog '1', a ulaz R u stanju logičkog '0'. Bistabil
se resetira (binarna adresa se postavlja u logičko '0') kada je ulaz S u stanju logičkog '0', a ulaz
R u stanju logičkog '1'. Logičko stanje '0' na oba ulaza neće utjecati na stanje bistabila. Postoje
dvije vrste bistabila: SR i RS bistabil koji se razlikuju po tome kako se ponašaju kada se oba
ulaza istovremeno nađu u stanju logičkog '1'. U tom slučaju SR bistabil se resetira a RS bistabil
se setira.
________________________________________________________________________151
SIMATIC S7 Programirljivi logički kontroleri
Naredba Set-Reset Flip Flop služi za postavljanje adresirane lokacije veličine bita (npr.
M1.0) iznad simbola naredbe u logičko stanje '1'. SR bistabil će postaviti binarnu adresu u '1'
(setirati) kada je ulaz S u stanju logičke '1', a ulaz R u stanju logičke '0'. U protivnom, kada je
ulaz S u stanju logičke '0' a ulaz R u stanju logičke '1' binarna adresa će se postaviti u '0'
(resetirati). Ako su oba ulaza istovremeno u stanju logičke '1' prioritet ima reset ulaz što znači
da će bistabil ostati u stanju '0'. Izlaz Q šalje logičko stanje pripadajuće binarne adrese u logički
krug u koji je naredba postavljena.
Sljedeća slika prikazuje dijagram stanje – vrijeme za naredbu Set-Reset Flip Flop u
pripadajućem logičkom krugu:
M1.0
I0.0 SR Q0.0
S Q
I0.1 R
I0.0
I0.1
M1.0
Q0.0
t
Naredba Reset-Set Flip Flop služi za postavljanje adresirane lokacije veličine bita (npr.
M1.0) iznad simbola naredbe u stanje logičko '1'. RS bistabil će postaviti binarnu adresu u '0'
(resetirati) kada je ulaz R u stanju logičke '1', a ulaz S u stanju logičke '0'. U protivnom, kada
________________________________________________________________________152
SIMATIC S7 Programirljivi logički kontroleri
je ulaz R u stanju logičke '0' a ulaz S u stanju logičke '1' binarna adresa će se postaviti u '1'
(setirati). Ako su oba ulaza istovremeno u stanju logičke '1' priortiet ima set ulaz što znači da
će bistabil postaviti u stanje '1'. Izlaz Q šalje logičko stanje pripadajuće binarne adrese u logički
krug u koji je naredba postavljena. Sljedeća slika prikazuje dijagram stanje – vrijeme za naredbu
Reset-Set Flip Flop u pripadajućem logičkom krugu:
M1.0
I0.0 RS Q0.0
R Q
I0.1 S
I0.0
I0.1
M1.0
Q0.0
t
Na jednostavnom primjeru potrebno je provjeriti kako se radi s naredbama Set Coil i Reset
Coil u logičkom krugu. U organizacijskom bloku OB1 izraditi ćete program, učitati u PLC i
testirati ga pomoću funkcija za testiranje korisničkog programa. Potrebno je napraviti sljedeće:
________________________________________________________________________153
SIMATIC S7 Programirljivi logički kontroleri
Kada se uključi ulaz I0.0 binarna adresa bistabila će se postaviti u logičko stanje '1'. Izlaz Q će
tada imati isto stanje kao i pripadajuća binarna adresa i uključiti će izlaz Q0.0.
2. Sada je potrebno na mjesto upitnika iznad simbola SR bistabila unijeti binarnu adresu
bistabila čije će se stanje "pamtiti".Potrebno je unesiti adresu M1.0 u bit memoriju PLC-
a. Također je potrebno na mjesto točkica na ulazu R unijeti adresu koja će resetirati
bistabil. Potrebno je upiati adresu ulaza I0.1 i dodijelite joj simbol 'Resetiranje'. Logički
krug tada izgleda kako je prikazano na sljedećoj slici.
3. Na isti način potrebno je izraditi logički krug sa RS bistabilom kao što je prikazano na
sljedećoj slici.
U ovom slučaju RS bistabil se koristi za "pamćenje" stanja binarne adrese bistabila M1.1
čije se stanje preko izlaza Q prenosi na izlaz Q0.1.
________________________________________________________________________154
SIMATIC S7 Programirljivi logički kontroleri
4. Stanje binarnih adresa M1.0 i M1.1 koje su dodijeljene bistabilima mogu se sada
koristiti u drugim logičkim krugovima programa preko NO i NC kontakata. Za primjer
u treći logički krug se ubace dva NO kontakta s adresama M1.0 i M1.1 koji će uključiti
izlaz Q0.2 kada se setiraju oba bistabila.
6. Kada se uključi ulaz I0.0 oba bistabila će postaviti pripadajuće binarne u logičko stanje
'1' (setiranje) koje se preko izlaza Q šalje u logički krug i uključuje izlaze Q0.0. i Q0.1.
Bistabili će ostati setirani čak i kada se isključi ulaz I0.0 kojim se setiraju oba bistabila.
________________________________________________________________________155
SIMATIC S7 Programirljivi logički kontroleri
7. Binarne adrese bistabila M1.0 i M1.1 u trećem logičkom krugu uključuju izlaz Q0.3
kada su setirana oba bistabila kao što je sada bio slučaj.
8. Uključivanjem ulaza I0.1 restiraju se oba bistabila. Binarne adrese bistabila se postave
u logičko stanje '0' pa se izlaz Q0.2 tada isključi. Naravno, izlazi Q0.0 i Q0.1 su također
isključeni budući da prate stanja pripadajućih binarnih adresa bistabila.
Ako se sada isključi ulaz I0.1 bistabili će i dalje ostati resetirani. Izlazi će ostati isključeni sve
dok ih se ponovno ne setira aktiviranjem ulaza I0.0 kojim se setiraju oba bistabila.
U slučaju kada se oba ulaza bistabila nađu u stanju logičkog '1' SR bistabil će ostati resetiran
zato jer reset ulaz ima prioritet dok će se RS bistabil setirati zato jer set ulaz ima prioritet.
________________________________________________________________________156
SIMATIC S7 Programirljivi logički kontroleri
3.7.7.1 Naredba Positive RLO Edge Detection – Detekcija pozitivnog brida RLO
Naredbom Positive RLO Edge Detection detektira se promjena rezultata logičke operacije
sa '0' na '1' (pozitivni tj. rastući brid) unutar logičkog kruga propuštanjem stanja '1' samo za
jedan ciklus izvođenja programa. Na binarnu adresu brida (bit memorija ili podatkovni bit)
iznad simbola naredbe sprema se prethodno stanje logičkog kruga. Trenutno stanje logičkog
kruga uspoređuje se s prethodnim stanjem spremljenim na binarnu adresu brida. Ako je
prethodno stanje logičkog kruga bilo '0' a trenutni rezultat logičke operacije je '1', detektiran je
rastući brid i u krug nakon ove naredbe se šalje "impuls".
Sljedeća slika prikazuje dijagram stanje – vrijeme za naredbu Positive RLO Edge
Detection u pripadajućem logičkom krugu:
I0.0
I0.1
RLO
M1.0
M10.0
OB1 ciklus OB1 ciklus t
Slika 145. Dijagram stanje vrijeme za Positive RLO Edge Detection naredbu
________________________________________________________________________157
SIMATIC S7 Programirljivi logički kontroleri
3.7.7.2 Naredba Negative RLO Edge Detection – Detekcija negativnog brida RLO
I0.0
I0.1
RLO
M1.0
M10.0
OB1 ciklus OB1 ciklus t
Slika 147. Dijagram stanje vrijeme za Negative RLO Edge Detection naredbu
Rad s naredbama Positive RLO Edge Detection i Negative RLO Edge Detection
________________________________________________________________________158
SIMATIC S7 Programirljivi logički kontroleri
Odabranim adresama po želji se mogu dodijeliti simboli koristeći postupkom kao i u prijašnjim
vježbama.
Kada se stanje kruga (RLO) nakon NO kontakata promijeni iz logičkog '0' u '1' naredba za
detekciju pozitivnog brida RLO-a će u krug poslati logičko stanje '1' samo za jedan ciklus
izvođenja programa. U tom slučaju će "impuls" koji ova naredba pošalje u logički krug setirati
izlaz Q0.0. Na taj način ćete znati da je u krugu prije naredbe za detekciju pozitivnog brida
RLO-a došlo do promjena rezultata logičke operacije sa '0' na '1' (pozitivni tj. rastući brid).
3. Na isti način potrebno je izraditi logički krug sa naredbom za detekciju negativnog brida
RLO-a s adresom M1.1 kao što je prikazano na sljedećoj slici.
________________________________________________________________________159
SIMATIC S7 Programirljivi logički kontroleri
Kada se stanje kruga (RLO) nakon NO kontakata promijeni iz logičkog '1' u '0' ova naredba će
u logički krug poslati "impuls" koji će resetirati izlaz Q0.0 koji je prethodno setiran prilikom
detekcije pozitivnog brida RLO-a. Na taj način će se znati da je u krugu prije naredbe za
detekciju negativnog brida RLO-a došlo do promjene rezultata logičke operacije sa '1' na '0'
(negativni tj. padajući brid).
5. Kada dođe do uključenja oba ulaza (I0.0 i I0.1) stanje prvog kruga će se promijeniti iz
logičkog '0' u '1'. U tom slučaju će se uključiti izlaz Q0.0 što znači da je detektiran
pozitivni brid RLO-a u tom logičkom krugu.
6. Nakon toga kada se isključi jedan ulaz i stanje drugog kruga će se promijeniti iz
logičkog '1' u '0'. U tom slučaju isključiti će se izlaz Q0.0 što znači da je detektiran
nagativni brid RLO-a u tom logičkom krugu.
________________________________________________________________________160
SIMATIC S7 Programirljivi logički kontroleri
Naredbe za detekciju brida signala koriste se za detektiranje promjene stanja signala binarne
adrese. Binarna adresa brida na ulazu M_BIT sprema stanje u kojem je binarna adresa bila u
prethodnom ciklusu izvođenja programa (OB1 ciklus). Ako se stanje binarne adrese promijeni
iz logičkog '0' u '1' radi se o pozitivnom tj. rastućem bridu a ako se stanje binarne adrese
promijeni iz logičkog '1' u '0' radi se o negativnom tj. padajućem bridu.
3.7.8.1 Naredba Address Positive Edge Detection – Detekcija pozitivnog brida signala
M1.0
POS M10.0
Q
I0.0 M_BIT
I0.0
M1.0
M10.0
OB1 ciklus OB1 ciklus t
Slika 149. Dijagram stanje vrijeme za Address Positive Edge Detection naredbu
________________________________________________________________________161
SIMATIC S7 Programirljivi logički kontroleri
3.7.8.2 Naredba Address Negative Edge Detection – Detekcija negativnog brida signala
M1.0
NEG M10.0
Q
I0.0 M_BIT
I0.0
M1.0
M10.0
OB1 ciklus OB1 ciklus t
Slika 151. Dijagram stanje vrijeme za Address Negative Edge Detection naredbu
Rad s naredbama Address Positive Edge Detection i Address Negative Edge Detection
NA jednostavnom primjeru prikazati će sep kako se radi s naredbama Address Positive Edge
Detection i Address Negative Edge Detection u logičkom krugu. U organizacijskom bloku OB1
potrebno je izraditi program, učitati u PLC i testirati ga pomoću funkcija za testiranje
korisničkog programa. Potrebno je napraviti sljedeće:
1. U programskom editoru otvoriti organizacijski blok OB1. U prvi logički krug programa
potrebno je ubaciti naredbu Address Positive Edge Detection zajedno s naredbom Set
Coil s pripadajućom adresom izlaza Q0.0 kako je prikazano na sljedećoj slici.
________________________________________________________________________162
SIMATIC S7 Programirljivi logički kontroleri
2. Iznad simbola naredbe potrebno je unijeti binarnu adresu ulaza I0.0 čija se pozitivna
promjena signala želi detektirati. Također je umjesto upitnika na ulazu M_BIT potrebno
unijeti binarnu adresu brida (npr. M1.0) na koju se sprema logičko stanje ulaza I0.0 iz
prethodnog ciklusa izvođenja programa.
Kada se stanje ulaza I0.0 promijeni iz logičkog '0' u '1' naredba za detekciju pozitivnog brida
signala će u krug poslati logičko stanje '1' samo za jedan ciklus izvođenja programa što će
setirati izlaz Q0.0. Na taj način će se znati da je detektiran pozitivni tj. rastući brid signala na
ulazu I0.0.
3. Na isti način potrebno je izraditi logički krug sa naredbom za detekciju negativnog brida
signala na ulazu I0.0 s binarnom adresom brida M1.1 kao što je prikazano na sljedećoj
slici.
________________________________________________________________________163
SIMATIC S7 Programirljivi logički kontroleri
Kada se stanje ulaza I0.0 promijeni iz logičkog '1' u '0' naredba za detekciju pozitivnog brida
signala će u krug poslati logičko stanje '1' samo za jedan ciklus izvođenja programa što će
resetirati izlaz Q0.0. Na taj način ćete znati da je detektiran negativni tj. padajući brid signala
na ulazu I0.0.
5. Uključenjem ulaza I0.0 naredba za detekciju pozitivnog brida signala će u prvi logički
krug poslati "impuls" koji će uključiti izlaz Q0.0
6. Isključenjem ulaza I0.0 naredba za detekciju negativnog brida signala će u drugi logički
krug poslati "impuls" koji će isključiti izlaz Q0.0.
________________________________________________________________________164
SIMATIC S7 Programirljivi logički kontroleri
Ovime se na vrlo jednostavan način provjerilo kako rade naredbe za detekciju brida signala.
Rad svih naredbi na razini bita detaljno je prikazan na primjeru njihove izvedbe u LAD načinu zbog
čega je u ovom dijelu dan kratak pregled samo nekoliko osnovnih naredbi na razini bita izvedenih
u FBD načinu.
Najjednostavnija funkcija u ovom skupu je funkcija „pridruži“ ili Assign. Kako bi neki sklop
uopće mogli nazvati funkciju, on mora imati izlaz. Assign je upravo to. Ukoliko se ne stavi
ništa na izlaz, program će takvu pojavu registrirati kao grešku i neće dozvoliti kopiranje u
PLC ili spremanje projekta. Funkcija na slici ulazu I0.0 pridružuje izlaz Q4.0 . Ukratko, ako
je ulaz u jedinici, biti će i izlaz i obrnuto.
I0.0
Q4.0
________________________________________________________________________165
SIMATIC S7 Programirljivi logički kontroleri
Predhodna slika prikazuje I logička vrata sa dva ulaza. Na izlaz nije ništa pridruženo, te u
ovom obliku u programu ne predstavlja funkciju. Da bi se kompletirala funkcija mora se
vratima pridodati izlaz. Vrata su prikazana prema IEC standardu i mogu se prepoznati
pomoću znaka „&“. Vrata se ponašaju prema tablici stanja koja je prikazana ispod. Izlaz će
biti u jedinici tek kad su oba ulaza u jedinici.
Ulaz 1 Ulaz 2 Izlaz
0 0 0
1 0 0
0 1 0
1 1 1
Slika 155: Tablica stanja I logičkih vrata
Sljedeća slika prikazuje logička vrata I sa tri ulaza, i pridruženim izlazom. Program će to
prepoznati kao pravu funkciju i neće javiti grešku, zbog toga jer smo pridružili izlaz.
Tablica stanja navedene funkcije nalazi se ispod. Može se primjetiti kako sad sva tri izlaza
moraju biti u jedinici kako bi izlaz bio u jedinici. Dakle, svi ulazi moraju biti u jedinici, koliko
god ih bilo.
Ulaz 1 Ulaz 2 Ulaz 3 Izlaz
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1
Slika 157: Tablica stanja I logičkih vrata sa 3 ulaza
________________________________________________________________________166
SIMATIC S7 Programirljivi logički kontroleri
I0.0
I0.1
Q4.0
Dijagram stanje-vrijeme potvrđuje već rečeno. Izlaz će biti u jedinici tek kad su oba ulaza u
jedinici.
ILI vrata možemo prepoznati po oznaci >=1. Sama oznaka krije način na koji se vrata
ponašaju. ILI logička vrata ponašaju se na sljedeći način. Izlaz će biti u jedinici ako je bilo
koji ulaz u jedinici. Nema veze koliko vrata imaju ulaza, ukoliko je samo jedan u jedinici, i
izlaz će biti u jedinici. Od tud i oznaka, dakle jedan ili više ulaza moraju biti u jedinici.
________________________________________________________________________167
SIMATIC S7 Programirljivi logički kontroleri
I0.0
I0.1
Q4.0
I0.0
I0.1
Q4.0
________________________________________________________________________168
SIMATIC S7 Programirljivi logički kontroleri
Izlaz ovih logičkih vrata biti će u jedinici kad je jedan ulaz u jedinici. U ovom slučaju to može
biti I0.0 ili I0.1. Kad su oba ulaza u jedinici ili nuli, izlaz će biti u nuli. Također, u nekoj
drugoj literaturi, XILI vrata mogu biti označena sa „=1“.
Pomoću naredbe Binarni ulaz (Binary Input) može se na bilo koja logička vrata dodati ulaza
koliko se god želi. Na slici ispod se vidi gdje se naredba nalazi, te kako su na taj način
dodana nova tri ulaza na vrata ILI. Ispod nje se nalazi naredba Negacije koja jedinicu pretvara
u nulu i obrnuto. Nju se može staviti na bilo koje mjesto inputa signala, odnosno na ulaz, ali i
na mjesta između logičkih funkcija, odnosno njihove interkonekcije. Na slici ispod se vidi
kako su se logičkim vratima ILI dodala još tri ulaza, od kojih su dva invertirana. Invertirani
ulazi su označeni kružićima. Negacija se uvijek označava kružićem.
________________________________________________________________________169
SIMATIC S7 Programirljivi logički kontroleri
Nakon toga dolazi negacija, te je izlaz Q4.0 negirani izlaz iz funkcije ILI, odnosno pomoćnog
ili srednjeg izlaza Q4.1 . Sljedeći graf to prikazuje.
I0.0
Q4.1
Q4.0
Sljedeća slika prikazuje složenu logičku funkciju koja ima puno ulaza,srednjih izlaza i
negacija. Na taj način je prikazano na koji način se međusobno mogu spajati razne logičke
funkcije, kako bi dobili složenu funkciju koja će obavljati željenu operaciju.
Pomoćni ili srednji izlaz M0.0 se upotrijebio kako bi se dobio neinvertirani signal sa I
logičkih vrata na koje su spojeni ulazi I0.5 i I0.6 . Na desno, prije izlaza koristi se još jedan
srednji izlaz M0.1, kako bi se mogao koristiti invertirani i neinvertirani signal izlaza logičke
funkcije. Negacije se nalaze na tri mjesta, na ulazu I0.2, poslje srednjeg izlaza M0.0, te nakon
srednjeg izlaza M0.1 .
________________________________________________________________________170
SIMATIC S7 Programirljivi logički kontroleri
U ovom dijelu je dan pregled logičkih operacija izvedenih u programskom jeziku STL. U svrhu
lakšeg razumijevanja prikazan je za svaki primjer napravljena uspredba sa programskom logikom
u LAD načinu.
Sa I naredbom (AND) se odabire koji ulazi (bitovi) trebaju biti u stanju „1“ da bi se na
izlazu pojavila logička „1“. Korištenje AND naredbe omogućava da se postavi jedan ili više
uvijeta gdje bi svaki trebali biti u logičkoj "1" da bi se na izlazu te grupe naredba postavila
logička "1". U primjeru programa na slici 169. se vidi da je potrebno postaviti Ulaz 1, Ulaz 2 i
Ulaz 3 u stanje „1“ da bi izlaz 1 bio uključen. Ako je bilo koji od tih ulaza isključen (logička
„0“) izlaz će biti također isključen. Na slici 170. se vidi isti program realiziran u Ladder
dijagramu, gdje se vidi da su svi ulazi postavljeni u „seriju“ što u Ladder-u označava da se radi
o I funkciji. Sličnost naravno se može preuzeti i iz električnih shema gdje se strujni krug prekida
u slučaju da se u serijskom krugu dogodi nekakav prekid. Osim uzimanja bitova sa ulaza, na
AND naredbu se može koristiti bilo koji bit iz memorije PLC-a. Na primjer se može uzeti A
M 0.3 koji bi označio da snima stanje pomoćnog bita na adresi M 0.3.
Ulaz 1
t
Ulaz 2
t
Ulaz 3
t
Izlaz 1
t
________________________________________________________________________171
SIMATIC S7 Programirljivi logički kontroleri
Naredbom NI (AND Not) se bira koji ulazi (bitovi) trebaju biti u stanju logičke „0“ da
bi izlaz (RLO = Result Of Logic Operation) bio uključen. U primjeru programa na slici 172. se
vidi da se za ulaz Ulaz 1 koristi AND naredba koja je aktivna ako je ulaz aktivan tj, rezultat
naredbe će biti „1“ ako je i u ulaz u „1“. U drugom retku programa se vidi NI (AND Not = AN)
naredba na Ulaz 2. Rezlutat te naredbe će biti u „1“ ako je ulaz u „0“, tj, AN naredba djeluje
kao mirni kontakt (XIO). Ova naredba se koristi na principu da ukoliko se želi nešto aktivirati
(sljedeći motor, neku signalnu žarulju) kada se nešto drugo isključi. Na sve ulazne naredbe se
mogu adresirati i sa izlazima, tj. da isključenje AN Izlaz 1 aktivira alarm da se isključio. Na
slici 173. se vidi isti program ostvaren u Ladder dijagramu, gdje je AN naredba prikazana kao
prekriženi kontakt na Ulaz 2. Naravno da osim ulaza sa adresom "I X.N" se može koristiti i neka
druga adresa, kao npr. AND T 2 gdje se uzeo izlazni bit iz timera 2. Više riječi o timerima će
biti u sljedećim poglavljima.
Ulaz 1
t
Ulaz 2
t
Izlaz 1
t
________________________________________________________________________172
SIMATIC S7 Programirljivi logički kontroleri
Naredba ILI (Or = O) služi za slučaj kada sa jednim ili više ulaza (bitova) se želi
uključiti neki izlaz, tj da RLO bude u „1“. Sa ILI naredbom možo se postaviti da se izlaz uključi
kada je jedan od ulaza aktivan ili više njih. Kao što se vidi iz programa na slici 175. , izlaz Q
0.0 će biti aktivan u slučaju da je I 0.0 ILI I 0.1 aktivan, ili obadva istovremeno.U Ladder
dijagramu se ILI naredba ostvaruje sa korištenjem paralelnih spojeva, koje opet ima veze sa
električnim shemama, gdje struja može proći i kroz jedan ILI kroz drugi kontakt. Naravno da
ILI naredba može jednim dijelom izgledati kao I naredba s obzirom da u slučaju da je Ulaz 1 i
Ulaz 2 aktivan da će i Izlaz 1 također biti aktivan. Ta sličnost se uklanja sa korištenjem sljedeće
naredbe a to je Exlusive Or koja će biti kasnije detaljnije objašnjena.
Ulaz 1
t
Ulaz 2
t
Ulaz 3
t
Izlaz 1
t
________________________________________________________________________173
SIMATIC S7 Programirljivi logički kontroleri
Naredba NILI (Or Not = ON) radi isto kao i ILI naredba, tj. da provjerava da li je neki
od ulaza uključen pa tako i uključuje izlaz. Za ulaz za koji se koristi ON naredba se provjerava
da li je on u logičkoj „0“, tj. ponašanje kao mirni kontakt. U ovom programu će Izlaz 1 biti
uključen ako je Ulaz 1 uključen ILI ako je Ulaz 2 isključen. Na slici 178. se vidi primjer
programa Or i Or Not naredbom u STL-u a na slici 179. je primjer istog programa u Ladder
dijagramu.
Ulaz 1
t
Ulaz 2
t
Izlaz 1
t
________________________________________________________________________174
SIMATIC S7 Programirljivi logički kontroleri
Ekskluzivno ILI (X = Exclusive OR) koja je jako sliča samoj ILI naredbi, samo što je
razlika da u slučaju da su oba ulaza aktivna (logička „1“), izlaz će biti isključen (logička „0“).
znači u ovom primjeru će Izlaz 1 biti uključen ako je Ulaz 1 ILI Ulaz 2 aktivan. Izlaz 1 će biti
isključen ako su stanja na Ulaz 1 i na Ulaz 2 jednaka,tj. logička "0" ili "1". Na slici 181. se vidi
primjer programa sa naredbom X, ali se može i primjetiti da je program dosta kraći u odnosu
na Ladder izvedbu istog programa koji ima 5 naredbi dok u STL ima samo 3. Kraći program je
iz razloga što ova naredba nije direktno podržana u Ladder dijagramu ali se lako izvede uz
pomoć seriskog i paralelnog spoja NO i NC instrukcije kako se vidi na slici sa primjerom
naredbe u Ladder dijagramu.
Ulaz 1
t
Ulaz 2
t
Izlaz 1
t
________________________________________________________________________175
SIMATIC S7 Programirljivi logički kontroleri
Ekskluzivno NILI (XN) naredba prvo provjerava da li je odabarani bit u logičkoj „0“ pa
nakon toga izvršava instrukciju ekskluzivno ILI (X). U ovom primjeru Ulaz 1 i Ulaz 2 moraju
biti u jednakom logičkom stanju da bi Izlaz 1 bio uključen. Primjer programa je prikazan na
slici 184. I ovaj put se na primjeru u Ladder dijagramu vidi da zbog manjka podrške ove
naredbe u Ladder dijagramu, realizacija ove instrukcije zahtijeva čak 6 naredbi, koja je sada i
NOT u odnosu na običnu ekskluzivno ILI naredbu.
Ulaz 1
t
Ulaz 2
t
Izlaz 1
t
________________________________________________________________________176
SIMATIC S7 Programirljivi logički kontroleri
SET-RESET naredba se uporebljava u slučaju da se želi na neki izlaz (ili neki drugi bit)
trajno postaviti u stanje logičke "1" sve dok se ne dogodi RESET na istoj adresi. Poželjno je da
svaka SET naredba ima i odgovarajuću RESET naredbu, jer bi u protivnom izlaz ostao trajno
uključen ili trajno isključen jer ne bi postojala naredba koja bi ga uključivala ili isključivala .
Dobra primjena ove naredbe je uz korištenje naredbe za detekciju brida, kako bi bilo sigurno
da će se željeni izlaz uključiti ali pošto je izlaz iz naredbe za detekciju brida traje samo jedan
ciklus sigurni smo da ga taj uvijet neće prisilno držati uključenim ili isključenim. Primjer
programa sa SET-RESET naredbomu STL jeziku je prikazan na slici 187., dok primjer u Ladder
dijagramu je dan na slici 188.
Ulaz 1
t
Ulaz 2
t
Izlaz 1
t
________________________________________________________________________177
SIMATIC S7 Programirljivi logički kontroleri
3.10 Timeri
Timeri (eng. timers ) su izlazne naredbe koje omogućuju kontrolu nad nekim operacijama u
procesu koje su vezane za kontrolu pomoću vremenskih varijabli. Posebno područje memorije
CPU-a rezervirano je za timere. Ovo područje sadrži 16-bitnu riječ za svaku adresu timera. U
programu je moguće koristiti najviše 256 timera. Timeri su izlazne naredbe koje se mogu u
programu koristiti kao elementi ili kao jednostavne bit naredbe. Postoje pet različitih tipova timera
koji kada se upotrebljavaju u LADu ponašaju svaki na svoj način. U ovom poglavlju će biti što
jednostavnije opisani na primjerima te će biti demonstrirano kako se ponašaju kada se koriste u
logičkom krugu.
• ULAZ S
Ulaz S (set) se koristi za startanje timera.Timer će se pokrenuti kada se stanje signala promjeniti iz
logičke 0 u 1,osim u slučaju Off-delay timera koji se pokreće kada se stanje signala promjeni iz
stanja logičke 1 u 0.
• ULAZ TV
Ulaz TV se koristi za upisivanje vremena kojeg će timer mjeriti.To vrijeme se može upisati na jedan
od dva načina a to je npr. S5TIME#10s kada je vrijeme definirano kao konstanta ili MW10 kada
je vrijeme definirano kao varijabla veličine riječi (word operand).
• ULAZ R
Ulaz R (reset) se koristi za resetiranje timera.Timer će se resetirati onda kada se stanje signala na
tom ulazu promjeni iz logičke 0 u 1.Sve dok je ulaz R u stanju logičke 1 timer se ne može setirati i
ne može mjeriti vrijeme.Ulaz R kod timera ima prioritet nad ulazom S.
________________________________________________________________________178
SIMATIC S7 Programirljivi logički kontroleri
• IZLAZ BI i BCD
• IZLAZ Q
Izlaz Q se koristi za provjeru stanja timera tj. dali timer radi ili ne radi.Stanje timera na izlazu Q
ovisit će o tome kako se pojedini timer ponaša kada radi u logičkom krugu.
Vrijednosti vremena na ulazu TV moguće je zadati na dva različita načina, kao fiksne
vremenske konstante (npr. S5T#20s) ili kao vremenske vrijednosti zadane u memorijskim ili
podatkovnim riječima (npr. u MW2 ili DB2.DBW4). Vremensko trajanje moguće je zadati u
satima, minutama, sekundama i milisekundama.
Vrijeme kao fiksnu vremensku konstantu zadaje se u formatu zapisa vremena S5TIME.
Format zapisa vremena za S5 timere prepoznaje se prema oznaci S5# ili S5TIME# i ima sljedeći
oblik:
S5T#aH_bM_cS_dMS
Gdje su:
________________________________________________________________________179
SIMATIC S7 Programirljivi logički kontroleri
vremenska vrijednost se smanjuje za jednu jedinicu u intervalima od 10 ms, 100 ms, 1 s ili 10
s, ovisno o zadanom vremenu. Smanjivanje se nastavlja sve dok vremenska vrijednost nije
jednaka nuli što znači da je isteklo zadano vrijeme. U tablici 2. su prikazani rasponi vremenskih
vrijednosti koje odgovaraju određenim vremenskim bazama.
Ako se unese vremenska vrijednost (npr. S5T#5s) koja je između 10ms i 9s 900ms timer će
odbrojavati s vremenskom bazom od 10ms. Iako se unesena vrijednost nalazi i u rasponima koji
odgovaraju vremenskim bazama od 100ms i 1s sustav uvijek odabire najmanju vremensku
bazu. U prethodnom primjeru vremenska vrijednost od 5 sekundi će se smanjivati u intervalima
od 10ms jer je to vremenska baza koju je sustav automatski dodijelio ovoj vrijednosti.
Kada se vrijeme zadaje preko memorijske riječi moguće je odabrati vremensku bazu.
Vrijednost u memorijskoj riječi mora odgovarati strukturi formata zapisa vremena za S5 timere.
Sljedeća slika prikazuje strukturu S5TIME formata zapisa vremena.
Na prethodnoj slici prikazano je kako se određuje interno trajanje vremena koje je jednako
umnošku vremenske vrijednosti i vremenske baze( npr. vrijednost vremena 987 pomnožena s
vremenskom bazom od 1s daje vrijeme 987 sekundi) . BCD format sadrži vremensku vrijednost
kao 3-digitalni BCD broj kojeg možemo upisati u rasponu od 000 do 999(u ovom slučaju 987)
i vremensku bazu (u ovomslučaju 1s). Bitovi memorijske riječi 0 do 11 sadrže vremensku
vrijednost a bitovi 12 i 13 sadrže vremensku bazu. Sljedeća tablica pokazuje koje se vremenske
baze mogu koristiti i na koji će način biti prikazane u binarnom formatu.
________________________________________________________________________180
SIMATIC S7 Programirljivi logički kontroleri
W#16#wxyz
Gdje je:
________________________________________________________________________181
SIMATIC S7 Programirljivi logički kontroleri
U ovom dijelu prikazani su dijagrami stanje vrijeme za S5 timere i opisi rada za svaki od njih.
Pokretanje:
1.) Timer se pokreće s vremenskom vrijednošću zadanom na ulazu TV kada se stanje signala na
ulazu S promijeni iz logičke 0 u 1 (pozitivni brid signala). Timer odbrojava vrijeme od zadane
vrijednosti prema nuli u skladu s vremenskom bazom. Sve dok je ulaz S u stanju logičke 1 timer
odbrojava zadano vrijeme. Izlaz Q je u stanju logičke 1 onoliko dugo koliko timer odbrojava.
2.) Ako se stanje signala na ulazu S promijeni iz logičke 1 u 0 (negativni brid signala) prije nego je
isteklo zadano vrijeme timer će se zaustaviti. Izlaz Q se tada promijeni u stanje logičke 0.
Vremenska vrijednost na izlazima BI ili BCD će pokazivati koliko bi još dugo timer radio da nije
prerano zaustavljen. Trenutna vremenska vrijednost jednaka je početnoj vremenskoj vrijednosti
zadanoj na ulazu TV umanjenoj za vrijednost vremena koja je protekla od kako je timer pokrenut.
- Resetiranje:
3.) Kada se stanje signala na ulazu R promijeni iz logičke 0 u 1 timer koji odbrojava vrijeme će se
resetirati. Izlaz Q se tada promijeni u stanje logičke 0 a vremenska vrijednost i vremenska baza se
brišu. Ako se stanje signala na ulazu R promijeni iz logičke 1 u 0 dok je stanje signala na ulazu S u
logičkoj 1 stanje timera ostaje nepromijenjeno.
4.) Stanje signala 1 na ulazu R kod timera koji ne odbrojava vrijeme nema utjecaja.
5.) Ako se stanje signala za ulazu S promijeni iz logičke 0 u 1 (pozitivni brid signala) dok je ulaz R
u stanju logičke 1, timer će se startati ali će se odmah i resetirati (prikazano kao impuls na dijagramu
stanje vrijeme). Kratkotrajno startanje timera neće imati utjecaja na izlaz Q.
1 2 3 4 5
Ulaz S
Ulaz R
TV
Izlaz
BI ili BCD
Izlaz Q
TV TV t
TV - zadano vrijeme
Slika 191. Dijagram stanje-vrijeme za S_PULSE timer
________________________________________________________________________182
SIMATIC S7 Programirljivi logički kontroleri
- Pokretanje:
1.) Timer se pokreće s vremenskom vrijednošću zadanom na ulazu TV kada se stanje signala na
ulazu S promijeni iz logičke 0 u 1 (pozitivni brid signala). Timer odbrojava vrijeme od zadane
vrijednosti prema nuli u skladu s vremenskom bazom. On će odbrojavati vrijeme čak i kada se
stanje signala na ulazu S promijeni natrag u logičku 0 tijekom zadanog vremena. Izlaz Q je u stanju
logičke 1 onoliko dugo koliko timer odbrojava.
2.) Ako se stanje signala na ulazu S promijeni iz logičke 0 u 1 (pozitivni brid signala) dok timer
odbrojava on će ponovno pokrenuti sa zadanim vremenom. Timer može biti pokrenut bezbroj puta
a da prvi vremenski ciklus nikad ne istekne.
- Resetiranje:
3.) Kada se stanje signala na ulazu R promijeni iz logičke 0 u 1 timer koji odbrojava vrijeme će se
resetirati. Izlaz Q se tada promijeni u stanje logičke 0 a vremenska vrijednost i vremenska baza se
brišu.
4.) Stanje signala 1 na ulazu R kod timera koji ne odbrojava vrijeme nema utjecaja.
5.) Ako stanje signala za ulazu S promijeni iz logičke 0 u 1 (pozitivni brid signala) dok je ulaz R u
stanju logičke 1, timer će se startati ali će se odmah i resetirati (prikazano kao impuls na dijagramu
stanje vrijeme). Kratkotrajno startanje timera neće imati utjecaja na izlaz Q.
1 2 3 4 5
Ulaz S
Ulaz R
TV
Izlaz
BI ili BCD
Izlaz Q
TV TV TV t
TV - zadano vrijeme
Slika 192. Dijagram stanje-vrijeme za S_PEXT timer
________________________________________________________________________183
SIMATIC S7 Programirljivi logički kontroleri
- Pokretanje:
1.) Timer se pokreće s vremenskom vrijednošću zadanom na ulazu TV kada se stanje signala na
ulazu S promijeni iz logičke 0 u 1 (pozitivni brid signala). Timer odbrojava vrijeme od zadane
vrijednosti prema nuli u skladu s vremenskom bazom. Sve dok je ulaz S u stanju logičke 1 timer
odbrojava zadano vrijeme. Izlaz Q se promijeni u stanje logičke 1 kada timer odbroji do kraja i ako
ulaz je S u stanje logičke 1.
2.) Ako se stanje signala za ulazu S promijeni iz logičke 1 u 0 prije nego timer odbroji do kraja,
timer će se zaustaviti. U ovom slučaju izlaz Q je u stanju logičke 0. Vremenska vrijednost na
izlazima BI ili BCD će pokazivati koliko bi još dugo timer radio da nije prerano zaustavljen.
Trenutna vremenska vrijednost jednaka je početnoj vremenskoj vrijednosti zadanoj na ulazu TV
umanjenoj za vrijednost vremena koja je protekla od kako je timer pokrenut.
- Resetiranje:
3.) 4.) Stanje signala 1 na ulazu R resetirati će timer bez obzira dali on odbrojava ili ne odbrojava.
Izlaz Q je u stanje logičke 0 čak i kada timer ne odbrojava a stanje logičke 1 je još uvijek prisutno
na ulazu S. Vremenska vrijednost i vremenska baza se brišu.
5.) Ako se stanje signala za ulazu S promijeni iz logičke 0 u 1 (pozitivni brid signala) dok je ulaz R
u stanju logičke 1, timer će se startati ali će se odmah i resetirati (prikazano kao impuls na dijagramu
stanje vrijeme). Kratkotrajno startanje timera neće imati utjecaja na izlaz Q.
1 2 3 4 5
Ulaz S
Ulaz R
TV
Izlaz
BI ili BCD
Izlaz Q
TV TV t
TV - zadano vrijeme
Slika 193. Dijagram stanje-vrijeme za S_ODT timer
________________________________________________________________________184
SIMATIC S7 Programirljivi logički kontroleri
- Pokretanje:
1.) Timer se pokreće s vremenskom vrijednošću zadanom na ulazu TV kada se stanje signala na
ulazu S promijeni iz logičke 0 u 1 (pozitivni brid signala). Timer odbrojava vrijeme od zadane
vrijednosti prema nuli u skladu s vremenskom bazom. On će odbrojavati vrijeme čak i kada se
stanje signala na ulazu S promijeni natrag u logičku 0 tijekom zadanog vremena. Kada timer odbroji
do kraja, izlaz Q se promijeni u stanje logičke 1 neovisno o stanju signala na ulazu S. Izlaz Q se
vrati u stanje logičke 0 tek kada se timer resetira.
2.) Ako se stanje signala na ulazu S promijeni iz logičke 0 u 1 (pozitivni brid signala) dok timer
odbrojava on će ponovno pokrenuti sa zadanim vremenom. Timer može biti pokrenut bezbroj puta
a da prvi vremenski ciklus nikad ne istekne.
- Resetiranje:
3.) 4.) Stanje signala 1 na ulazu R resetirati će timer neovisno o stanju signala na ulazu S. Izlaz Q
je u tom slučaju u stanju logičke 0. Vremenska vrijednost i vremenska baza se prilikom reseta brišu.
5.) Ako se stanje signala za ulazu S promijeni iz logičke 0 u 1 (pozitivni brid signala) dok je ulaz R
u stanju logičke 1, timer će se startati ali će se odmah i resetirati (prikazano kao impuls na dijagramu
stanje vrijeme). Kratkotrajno startanje timera neće imati utjecaja na izlaz Q.
1 2 3 4 5
Ulaz S
Ulaz R
TV
Izlaz
BI ili BCD
Izlaz Q
TV TV TV t
________________________________________________________________________185
SIMATIC S7 Programirljivi logički kontroleri
- Pokretanje:
1.) 3.) Timer se pokreće s vremenskom vrijednošću zadanom na ulazu TV kada se stanje signala na
ulazu S promijeni iz logičke 1 u 0 (negativni brid signala). Timer odbrojava vrijeme od zadane
vrijednosti prema nuli u skladu s vremenskom bazom. Sve dok je ulaz S u stanju logičke 0 timer
odbrojava zadano vrijeme. Izlaz Q je u stanju logičke 1 ako ulaz S u stanju logičke 1 ili ako timer
odbrojava.
2.) Ako se stanje signala na ulazu S promijeni iz logičke 0 u 1 (pozitivni brid signala) prije nego je
isteklo zadano vrijeme timer će se zaustaviti. Izlaz Q ostaje u stanje logičke 0. Vremenska vrijednost
na izlazima BI ili BCD će pokazivati koliko bi još dugo timer radio da nije prerano zaustavljen.
Trenutna vremenska vrijednost jednaka je početnoj vremenskoj vrijednosti zadanoj na ulazu TV
umanjenoj za vrijednost vremena koja je protekla od kako je timer pokrenut.
- Resetiranje:
4.) Kada se stanje signala na ulazu R promijeni iz logičke 0 u 1 timer koji odbrojava vrijeme će se
resetirati. Izlaz Q se tada promijeni u stanje logičke 0 a vremenska vrijednost i vremenska baza se
brišu.
5.) Ako se stanje signala na ulazu R promijeni iz logičke 0 u 1 dok je stanje signala na ulazu S u
stanju logičke 1 izlaz Q će se promijeniti u stanje logičke 0. Ako se stanje signala na ulazu R opet
vrati u logičku 0 izlaz Q se opet promijeni u logičku1.
6.) Ako se stanje signala za ulazu S promijeni iz logičke 1 u 0 (negativni brid signala) dok je ulaz
R u stanju logičke 1, timer će se startati ali će se odmah i resetirati (prikazano kao impuls na
dijagramu stanje vrijeme). Kratkotrajno startanje timera neće imati utjecaja na izlaz Q.
1 2 3 4 5 6
Ulaz S
Ulaz R
TV
Izlaz
BI ili BCD
Izlaz Q
TV TV TV t
TV - zadano vrijeme
Slika 195. Dijagram stanje-vrijeme za S_OFFDT timer
________________________________________________________________________186
SIMATIC S7 Programirljivi logički kontroleri
Na sljedećem primjeru će biti pokazano kako se radi s timerima u LAD načinu. Za početak
će biti demonstrirano kako se radi s Pulse Timer-om. Da bi se timeru u logičkom krugu dodali
svi potrebni uvjeti i provjerilo kako radi potrebno je napraviti sljedeće:
Na mjesta gdje su točkice i upitnici unose se adrese ili konstante ovisno o tome što treba unijeti.
2. Svakom timeru je prvo potrebno pridjeliti adresu. Kliknite na upitnike iznad timera i
otvoriti će se prazno polje za unos adrese. Za primjer unesite adresu T5 i zatim pritisnite
Enter.
3. Da bi se dodao uvjet koji će pokretati timer označi se prazna linija ispred ulaza S i ubaci
NO kontakt te mu se dodijeli adresa I0.0.
________________________________________________________________________187
SIMATIC S7 Programirljivi logički kontroleri
Nakon što se stanje signala na ulazu S promjeni iz logičke 0 u 1 timer će početi mjeriti
zadano vrijeme timer. U ovom slučaju timer će se pokrenuti kada se uključi I0.0 na
simulatoru stanja.
Kada se vrijeme unosi na ovaj način sustav sam dodjeljuje vremensku bazu ovisno o unešenoj
vrijednosti vremena. Kada se pokrenete timer vremenska vrijednost će se smanjivati od 10
sekundi prema nuli u intervalima od 100ms jer je to vremenska baza koju će sustav automatski
dodijeliti ovoj vrijednosti. Zadano vrijeme je isteklo kada je vremenska vrijednost jednaka nuli.
Signal stanja timera sa izlaza Q ovisi o vrsti timera koji se koristi u programu. U slučaju
Pulse Timer-a izlaz Q je u stanju logičke 1 sve dok timer mjeri vrijeme (kada timer radi).
Ovime se odredilo da će izlaz Q0.0 biti uključen 10 sekundi odnosno onoliko dugo koliko
timer radi.
6. Ulaze i izlaze u elementu timera označene točkicama nije obavezno koristiti da bi timer
mogao ispravno raditi. Za primjer ćemo pokazati kako se koriste ovi ulazi i izlazi. Ulaz
R se koristi za reset timera. Klikom na točkice ispred ulaza R te potrebno je unesti adresu
I0.1 i zatim pritisnuti Enter da se prihvati unešena adresa.
________________________________________________________________________188
SIMATIC S7 Programirljivi logički kontroleri
Ako se stanje signala na ulazu R promjeni iz logičke 0 u 1 dok timer radi on će se resetirati. To
znači da se trenutna vrijednost vremena i vremenska baza brišu a izlaz Q se postavlja u stanje
logičke 0. Dok je ispunjen uvjet za reset, timer se ne može pokrenuti. U ovom slučaju timer se
resetira kada uključite I0.1 na simulatoru stanja.
Adresa na izlazu BI sadrži samo trenutnu vremensku vrijednost bez vremenske baze u INT
formatu. Trenutna vremenska vrijednost na izlazu BI jednaka je početnoj vremenskoj
vrijednosti (10) umanjenoj za vrijednost vremena koja je protekla od kako je timer pokrenut
Adresa na izlazu BCD sadrži trenutno vrijeme u formatu zapisa vremena S5TIME. Trenutno
vrijeme na izlazu BCD jednako je početnom vremenu (10 sekundi) umanjenom za vrijeme koje
je proteklo od kako je timer pokrenut. Znači na izlazu BI moguće je pročitati preostalu
vrijednost vremena a na izlazu BCD preostalo vrijeme u trenutku provjere.
________________________________________________________________________189
SIMATIC S7 Programirljivi logički kontroleri
Signal stanja timera sa izlaza Q preko NO kontakta uključuje izlaz Q0.1. Izlaz Q0.0 u
prethodnom logičkom krugu također ovisi o signalu stanja sa izlaza Q. Na ovaj način oba izlaza
će biti uključena za vrijeme kada timer radi.
9. Ponekad je potrebno znati kada je isteklo zadano vrijeme odnosno kada je timer završio
s radom. Ako se želi da se izlaz Q0.1 uključi nakon 10 sekundi od kako ste pokrenuo
timer potreno je napraviti sljedeće. U prozoru programskih elemenata odaberati naredbu
Invert Power Flow i držeći pritisnutom lijevu tipku miša povući je i odpustiti u sredini
drugog logičkog kruga.
Ova naredba invertira stanje logičkog kruga. Budući da je logički kontinuitet kroz NO
kontakt ostvaren kada timer radi na ovaj način izlaz Q0.1 će za to vrijeme biti isključen.
Nakon isteka zadanog vremena NO kontakta će prekinuti logički kontinuitet što će uključiti
izlaz Q0.1 Tada se zna da je timer završio s radom.
10. Zbog naredbe invertiranja u logičkom krugu izlaz Q0.1 bi bio uključen i kada timer nije
pokrenut. Da bi se to spriječilo, desno od ove naredbe potrebno je dodati NO kontakt s
adresom I0.0.
Ovime se odredilo da je izlaz Q0.1 moguće uključiti samo kada je ispunjen uvjet koji pokreće
timer.
________________________________________________________________________190
SIMATIC S7 Programirljivi logički kontroleri
Sada je potrebno provjeriti kako radi timer koji se koristio u prethodno izrađenom
programu. Potrebno je napraviti sljedeće:
1. Prebaciti program na PLC klikom na ikonu Download na alatnoj traci a zatim pokrenuti
test mod odabirom opcije izbornika Debug>Monitor ili jednostavnim klikom na ikonu
Monitor na alatnoj traci.
Ikona Download
Ikona Monitor
Pokretanje timera
Reset timera
Vremenska vrijednost
Vrijeme
Timer radi
Timer je završio s radom
3. Uključenjem I0.0 na simulatoru stanja da bi pokreće se timer. Timer radi sve dok je ulaz
S u stanju logičke 1 odnosno kada je uključen I0.0. Izlaz Q0.0 je uključen 10sekundi i
označuje kada timer radi.
________________________________________________________________________191
SIMATIC S7 Programirljivi logički kontroleri
Kao što se može vidjeti vrijeme se smanjuje od zadane vrijednosti prema nuli s vremenskom
bazom od 100ms. Sustav je sam dodijelio vremensku bazu jer je vrijeme na ulazu TV zadano u
formatu zapisa vremena S5TIME.
4. Adresa na izlazu BI sadrži trenutnu vremensku vrijednost u INT formatu dok adresa na
izlazu BCD sadrži trenutno vrijeme u formatu zapisa vremena za S5 timere.
Na tablici varijabli u memorijskoj riječi MW2 možete se pročitati preostala vrijednost vremena
koja se smanjuje za jednu jedinicu u intervalima od 100ms. Na ovaj način dobije se vrijednost
od 100 koja se smanjuje u intervalima određenim vremenskom bazom. Vrijednost vremena iz
MW2 se može koristiti u drugim dijelovima programa kao varijable naredbi premeještanja,
usporedbe i ostalih naredbi na razini riječi. U memorijsku riječ MW4 sprema se preostalo
vrijeme prikazano na isti način kao što je i zadano na ulazu TV.
5. Nakon što je isteklo zadano vrijeme od 10 sekundi uključit će se izlaz Q0.1 koji označuje
da je timer završio s radom.
Ovaj izlaz će se isključiti tek kada se isključi ulaz I0.0 na simulatoru stanja kojim se pokreće
timer.
6. Potrebno je pokrenuti timer ponovno i isključiti ulaz I0.0 prije nego što odbroji do kraja.
________________________________________________________________________192
SIMATIC S7 Programirljivi logički kontroleri
7. Ako sada opet se pokrene timer, on će početi mjeriti vrijeme od početka odnosno
smanjivati vrijeme od zadane vrijednosti prema nuli. Za vrijeme dok timer radi
potrebnoj je uključiti ulaz I0.1 na simulatoru stanja kako bi se resetirao timer.
Ovime se vrijednosti na izlazima BI i BCD brišu a signal stanja timera sa izlaza Q se postavlja
u stanje logičke 0. Sve dok je stanje signala na ulazu R u stanju logičke 1 timer se ne može
pokrenuti. Kada se isključi ulaz I0.1 moći će se opet pokrenuti timer.
Potrebno je napisati program za upravljanje radom prometnog semafora pomoću PLC-a u tehnici
ladder dijagrama. Zeleno svijetlo treba biti uključeno 8 sekundi, zatim se treba upaliti žuto svijetlo
koje treba biti uključeno 2 sekunde i na kraju se treba upaliti crveno svijetlo koje treba raditi 6
sekundi. Pritiskom na tipkalo START pokreće se proces rada semafora, dok se pritiskom na
tipkalo STOP proces zaustavlja.
ULAZI
IZLAZI
________________________________________________________________________193
SIMATIC S7 Programirljivi logički kontroleri
▪ Ladder diagram
Ako je setiran start bit M1.0 te ako nije setiran timer T3 uključit će se timer T0 koji odbrojava 8 s
te će izlaz Q0.0 voditi i za to vrijeme će raditi zeleno svijetlo.
________________________________________________________________________194
SIMATIC S7 Programirljivi logički kontroleri
U trenutku kada su setirani timeri T1 i T3 i kada oni rade uključen je izlaz Q0.1 te je upaljeno žuto
svijrtlo.
Nakon što su timeri T0 i T1 završili sa radom počinje raditi timer T2 koji dok odbrojava vrijeme ,
na semaforu će biti uključeno crveno svijetlo.
________________________________________________________________________195
SIMATIC S7 Programirljivi logički kontroleri
Kada timeri T0 , T1, i T2 nisu setirani uključuje se timer T3 koji izlaz Q0.1 postavlja u stanje
vođenja te se ponovno pali žuto svijetlo te se proces ponavlja.
________________________________________________________________________196
SIMATIC S7 Programirljivi logički kontroleri
3.11 Brojila
Brojila (engl. counters) služe za obavljanje zadataka brojenja. Brojila mogu brojati na više
i na niže (engl. count up, count down). Raspon brojenja obuhvaća vrijednosti od 0 do 999.
Pojedini model CPU-a raspolaže sa određenim brojem brojača.
Blok brojila sadrži brojevne operacije u oblicima ulaznih i izlaznih funkcija. Iznad bloka
upisuje se apsolutna ili simbolička adresa brojila npr. C1.U gornjem dijelu bloka naveden je
tip brojila npr. S_CUD. Opis svih ulaza i izlaza brojila prikazan je u sljedećoj tablici:
________________________________________________________________________197
SIMATIC S7 Programirljivi logički kontroleri
▪ Setiranje brojila
Brojilo se setira kada se stanje signala na set ulaza S u bloku brojila promijeni iz 0 u 1.
Setirati brojila znači postaviti početnu vrijednost brojila na izlaz CV ili CV_BCD. Početna
vrijednost brojila se zadaje na ulazu PV. Vrijednost se može kretati u granicama 0-999.
Početna vrijednost brojenja može biti specificirana kao konstanta, riječ ili varijabla tipa riječi.
• Resetiranje brojila
Brojilo se resetira kada se stanje signala na set ulaza R u bloku brojila promijeni iz 0 u 1.
Dok je ispunjen uvjet za Reset , brojilo se ne može setirati i nije moguće brojanje. Resetiranjem
se vrijednost brojila postavlja na 0.
• Brojenje na više
Da bi brojenje bilo omogućeno, CPU mora detektirati promjenu stanja signala na ulazu.
Kada se stanje signala na CU ulazu promijeni iz 0 u 1, vrijednost brojila se uveća za 1. Za
brojenje na više uvijek je potreban pozitivan brid signala. Prilikom brojenja na više svaki
pozitivni brid signala povećava vrijednost brojila za 1 dok ne dosegne gornju granicu brojenja
od 999.
________________________________________________________________________198
SIMATIC S7 Programirljivi logički kontroleri
• Brojenje na niže
Signal stanja brojila se može provjeriti na izlazu Q. Izlaz Q je u stanju logičke 1 kada je
trenutna vrijednost brojila veće od 0 (Vrijednost brojila>0 → Q=1). Izlaz Q je u stanju logičke
0 kada je trenutna vrijednost brojila jednaka 0 (Vrijednost brojila=0 → Q=0). Izlaz Q ne mora
biti spojen da bi brojilo radilo.
Trenutna vrijednost brojila se može provjeriti na izlazima CV ili CV_BCD kao binarni
broj (CV) ili binarno-kodirani dekadski broj (BCD).
________________________________________________________________________199
SIMATIC S7 Programirljivi logički kontroleri
Brojila se razlikuju po tipu i broju ulaza u blok. S_CUD ima ulaze za oba smjera brojenja,
S_CU ima samo ulaz za brojanje na više dok S_CD ima samo ulaz za brojenje na niže. Prvi
ulaz bloka mora uvijek biti spojen. Ako kod S_CUD ne spojimo drugi ulaz (CD), ovo brojilo
će se ponašati kao S_CU (brojati će samo unaprijed).
Vrijednost brojila se postavlja na iznos zadan na ulazu PV ako postoji pozitivni brid signala
na ulazu S. Ako se ulaz R postavi u stanje logičke 1, brojilo se resetira odnosno vrijednost
brojila se postavlja na 0. Vrijednost brojila se uvećava za 1 kada se stanje signala na ulazu CU
promjeni iz 0 u 1 i ako je vrijednost brojila manja od 999. Vrijednost brojila se umanjuje za 1
kada se stanje signala na ulazu CD promjeni iz 0 u 1 i ako je vrijednost brojila veća od 0. Ako
se istovremeno na oba ulaza pojavi pozitivni brid signala vrijednost brojila se neće promjeniti.
Izlaz Q je u stanju logičke 1 ako je vrijednost brojila veća od nule i u stanju logičke 0 ako je
vrijednost brojila jednaka nuli.
CU
CD
R
PV=4
CV
Q
t
Vrijednost brojila se postavlja na iznos zadan na ulazu PV ako postoji pozitivni brid signala
na ulazu S. Ako se ulaz R postavi u stanje logičke 1, brojilo se resetira odnosno vrijednost
brojila se postavlja na 0. Vrijednost brojila se uvećava za 1 kada se stanje signala na ulazu CU
promjeni iz 0 u 1 i ako je vrijednost brojila manja od 999. Izlaz Q je u stanju logičke 1 ako je
vrijednost brojila veća od nule i u stanju logičke 0 ako je vrijednost brojila jednaka nuli.
________________________________________________________________________200
SIMATIC S7 Programirljivi logički kontroleri
CU
R
CV
PV=2
Q
t
Vrijednost brojila se postavlja na iznos zadan na ulazu PV ako postoji pozitivni brid signala
na ulazu S. Ako se ulaz R postavi u stanje logičke 1, brojilo se resetira odnosno vrijednost
brojila se postavlja na 0. Vrijednost brojila se umanjuje za 1 kada se stanje signala na ulazu CD
promjeni iz 0 u 1 i ako je vrijednost brojila veća od 0. Izlaz Q je u stanju logičke 1 ako je
vrijednost brojila veća od nule i u stanju logičke 0 ako je vrijednost brojila jednaka nuli.
CU
R
PV=4
CV
Q
t
________________________________________________________________________201
SIMATIC S7 Programirljivi logički kontroleri
Sve funkcije brojila mogu raditi i s jednostvanim bit naredbama. Setiranje i brojanje se
obavlja preko izlaznih naredbi. Ispod izlazne naredbe za setiranje brojila upisuje se vrijednost
na koju će se brojilo postaviti. U izlaznim naredbama za brojanje CU znači brojanje na više a
CD brojanje na niže. Stanje brojila moguće je provjeriti pomoću NO i NC kontakata.
Brojilo na više
Brojilo na niže
Ako se stanje signala u logičkom krugu promjeni iz logičke 0 u 1 vrijednost brojila će povećati
za 1. Ako nema promjene pozitivnog brida signala ili je brojilo dosegnulovrijednost 999,
vrijednost brojila se neće promijeniti.
________________________________________________________________________202
SIMATIC S7 Programirljivi logički kontroleri
9. U novi logički krug potrebno je dodati NO kontakt te mu dodijeliti adresu I0.0. Tada
prozor programa izgleda kao na sljedećoj slici.
10. Nakon toma može se dodati druga naredba desno od NO kontakta. Potrebno je odabrati
prazni dio logičkog kruga pa u prozoru programskih elemenata kliknuti na ikonu S_CU
da bi se dodalp brojilo na više.
________________________________________________________________________203
SIMATIC S7 Programirljivi logički kontroleri
11. Na mjesta gdje su točkice i upitnici unose se adrese ili konstante ovisno o tome što treba
unijeti. Klikom na upitnike iznad bloka potrebno je upisati apsolutnu adresu brojila (u
ovom slučaju C1). Na mjesto kontakta CU se dovodi I0.0. Na ulaz S se upisuje I0.1, a
na ulaz PV vrijednost koja se želi da bude početna pri brojanju (u ovom slučaju C#0 što
znači da brojilo kreće od 0). Na ulaz R potrebno je upisati upisati I0.2 a na izlaz CV
memorijsku riječ MW16 u koju će se spremati vrijednost brojila.
12. Sada se može desno od brojila dodati naredba usporedbe CMP>I koja radi tako da
uspoređuje IN1 i IN2. Na kraju logičkog kruga potrebno je dodati izlaznu naredbu s
adresom Q4.0.
________________________________________________________________________204
SIMATIC S7 Programirljivi logički kontroleri
Na mjesta gdje su točkice unesu se adrese ili konstante. Na IN1 potrebno je upisati memorijsku
riječ MW16 u koju se sprema vrijednost brojila a na IN2 se upisuje vrijednost s kojom se želi
uspoređivati npr. 10. Kada će vrijednost brojila biti veća ili jednaka od vrijednosti na IN2,
odnosno veća ili jednaka 10, tada će logički kontinuitet biti ostvaren i izlaz Q4.0 će biti u
logičkoj jedinici. Na ovaj način kada se uključi izlaz Q4.0 znati će se da je brojilo nabrojilo do
10.
Primjer:
čokolade
Senzor za čokolade
S2
kutije
Motor 2
Transporter 1
Senzor za kutije
S1
Motor 1
________________________________________________________________________205
SIMATIC S7 Programirljivi logički kontroleri
ULAZI
IZLAZI
Transporter 1 Q1.1
Transporter 2 Q1.2
Proces uključen M1.0
Pokretanje procesa tipkalom start (I0.0), zaustavljanjem tipkalom stop (I0.1) i samoodržavanje.
________________________________________________________________________206
SIMATIC S7 Programirljivi logički kontroleri
________________________________________________________________________207
SIMATIC S7 Programirljivi logički kontroleri
Naredbe usporedbe su uvjetne naredbe koje uspoređuju dvije varijable. Mogu biti
cjelobrojne (INT), cjelobrojne dvostruke dužine (DINT) i s pomičnim zarezom (REAL).
Moguća je samo usporedba dviju varijabli istog tipa. Naredba komparacije ne smije stajati
sama u logičkom krugu.
Iz tablice se vidi da se ima na izbor za svaki tip varijable po 6 naredbi usporedbe. Što znači da
postoji 18 elemenata za naredbu usporedbe.
PRIMJER:
Ako se žele usporediti dvije cjelobrojne varijable (INT), mora se upotrijebiti slijedeći
element:
Element naredbe usporedbe ima dva ulaza IN1 i IN2 i neoznačeni binarni izlaz. U zaglavlju
svakog elementa može se pročitati koja je to naredba (u primjeru gore CMP označava da se radi
o naredbi usporedbe (compare) , dok == I znači da se ispituje postoji li jednakost između dvije
varijable cjelobrojnog tipa (INT) ).
________________________________________________________________________208
SIMATIC S7 Programirljivi logički kontroleri
Komparator u logičkom krugu može biti na mjestu kontakta. Neoznačeni ulaz i izlaz se spajaju
s ostalim elementima logičkog kruga. Vrijednosti koje se žele usporediti dovode se na ulaze
IN1 i IN2, dok se rezultat komparacije dobiva na izlazu. Ukoliko su varijable dovedene na ulaze
IN1 i IN2 jednake rezultat komparacije je „1“, odnosno ostvaren je logički kontinuitet kroz taj
element.
Kontakti se mogu spajati prije i nakon komparatora u serijski i paralelni spoj. Komparatori
mogu također biti serijski ili paralelno međusobno spojeni. U slučaju serijskog spoja uvjeti obje
komparacije moraju biti zadovoljeni da bi logički kontinuitet bio ostvaren.
U slučaju paralelnog spajanja komparatora, samo jedan uvjet komparacije mora biti zadovoljen
da bi logički kontinuitet bio ostvaren.
________________________________________________________________________209
SIMATIC S7 Programirljivi logički kontroleri
Uređaj u radu s analognim ulazima ili izlazima može raditi prema potrebama sa standardnim
naponskim ili strujnim veličinama prikazanim u tablici.
Prilikom programiranja u ladderu korisnik ne radi direktno sa naponskim (V) i strujnim (mA)
veličinama već se podaci zbog A/D i D/A pretvorbe skaliraju prema gore navedenoj tablici.
• 80 mV • 2.5 V • 3.2 mA
• 250 mV • 5V • 10 mA
• 500 mV • 10 V • 20 mA
• 1V
________________________________________________________________________210
SIMATIC S7 Programirljivi logički kontroleri
1. Na logičkom krugu potrebno jeoznačiti mjesto na koje će doći naredba komparacije lijevim
klikom miša ili ako je prazan označi se cijeli logički krug .U prozoru programskih elemenata
odabere se željeni element usporedbe i dva puta se klikne mišem kao na slici:
3. Na isti način potrebno je dodati izlazni element na desnu stranu logičkog kruga i dodjeliti
mu adresu Q0.0 da izgleda kao na slici.
________________________________________________________________________211
SIMATIC S7 Programirljivi logički kontroleri
4. Klikom na upitnike pored IN1 i IN2, unesu se adrese (registri, anlogni ulazi...) ili vrijednosti
koje se žele uspoređivati.U ovom slučaju se uspoređuju vrijednost analognog ulaza PIW2 s
brojem (konstantom) 5000.
5. Ukoliko je uvjet komparacije zadovoljen Q0.0 će biti u stanju logičke „1“. Ispitivanje
točnosti izraza: IN1 > IN2
________________________________________________________________________212
SIMATIC S7 Programirljivi logički kontroleri
U prozoru CMP <> naredbe mogu se mjenjati 2 polja: IN1 i IN2.CMP <> je naredba za
ispitivanje nejednakosti. CMP <> je čista suprotnost naredbi CMP == .Ako su varijable IN1 i
IN2 različite vrijednosti, tada će se izvršiti neka naredba na kraju logičkog kruga..(Primjer,
ako je PIW2 različit od 5000 u ovom slučaju će se uključit digitalni izlaz Q0.0).
Ispitivanje točnosti izraza: IN1 IN2
U prozoru CMP >= naredbe mogu se mjenjati 2 polja: IN1 i IN2.CMP >= je naredba koja
ispituje da li je vrijednost IN1 veća ili jednaka od vrijednosti IN2 .Ako je varijabla IN1 veća
ili jednaka IN2, tada će se izvršiti neka naredba na kraju logičkog kruga..(Primjer, ako je
PIW2 veće ili jednako 5000 u ovom slučaju će se uključit digitalni izlaz Q0.0).
Ispitivanje točnosti izraza: IN1 IN2
U prozoru CMP < naredbe mogu se mjenjati 2 polja: IN1 i IN2.CMP < je naredba koja
ispituje da li je vrijednost IN1 manja od vrijednosti IN2 .Ako je varijabla IN1 manja od IN2,
________________________________________________________________________213
SIMATIC S7 Programirljivi logički kontroleri
tada će se izvršiti neka naredba na kraju logičkog kruga..(Primjer, ako je vrijednost PIW2
manja od 5000 u ovom slučaju će se uključit digitalni izlaz Q0.0).
Ispitivanje točnosti izraza: IN1 < IN2
U prozoru CMP <= naredbe mogu se mjenjati 2 polja: IN1 i IN2.CMP <= je naredba koja
ispituje da li je vrijednost IN1 manja ili jednaka od vrijednosti IN2 .Ako je varijabla IN1
manja ili jednaka IN2 tada će se izvršiti neka naredba na kraju logičkog kruga..(Primjer, ako
je PIW2 manje ili jednako 5000 u ovom slučaju će se uključit digitalni izlaz Q0.0).
Ispitivanje točnosti izraza: IN1 <= IN2
Primjer:
Upotreba naredbi usporedbe u regulaciji temperature prostorije.Potrebno je postići
temperaturu koja će se kretati u rasponu od 29 do31 °C, paljenje i gašenje grijača se regulira
izlazom iz PLC-a Q2.0. Senzor temperature daje napon od 0 – 10 V ,dok mu je mjerni opseg
0 – 100 °C.
31°C
29°C
Q2.0
________________________________________________________________________214
SIMATIC S7 Programirljivi logički kontroleri
Ladder dijagram :
Naredbom DIV_I se izvršilo skaliranje vrijednosti analognog ulaza PIW2 čija se vrijednost
može kretati u rasponu od 0 – 27648 tako što se taj broj podjelilo sa 276 budući da senzor
mjeri od 0 -100 °C . Tako da je na izlazu MW2 sada temperatura u °C.
Komparator u 2. logičkom krugu drži izlaz Q2.0 u stanju logičke „1“ sve dok je
temperatura manja ili jednaka 31 °C.Kad se temperatura poveća iznad 31 °C, komparator
isključi izlaz Q2.0 te omogući uključenje komparatora u 3. logičkom krugu koji sada drži
izlaz Q2.0 isključenim sve dok je temperatura prostora veća od 29 °C.Omogućavanje rada
jednog odnosno drugog komparatora je izvršeno uz pomoć kombinacije radnih i mirnih
kontakata.Kad jedan komparator uvjetuje, drugi je blokiran i obratno
________________________________________________________________________215
SIMATIC S7 Programirljivi logički kontroleri
Aritmetičke naredbe izvršavaju osnovne aritmetičke operacije samo nad dvijema varijablama
istog tipa. Varijable mogu biti cjelobrojne (INT), cjelobrojne dvostruke dužine (DINT) i s
pomičnim zarezom (REAL).
Iz tablice se vidi da se ima na izbor za svaki tip varijable po 4 aritmetičke operacije koje se sa
njima mogu izvoditi, te jednu posebnu aritmetičku operaciju u kojoj se traži ostatak dijeljenja
dviju cijelobrojnih varijabli dvostruke dužine kao rezultat (MOD_DI) .
Primjer:
Ako se žele zbrojiti dvije cjelobrojne varijable (INT) mora se upotrijebiti slijedeći element :
________________________________________________________________________216
SIMATIC S7 Programirljivi logički kontroleri
U zaglavlju svakog elementa može se pročitati koja je to naredba (u primjeru gore ADD
označava da se radi o naredbi zbrajanja (ADD) , dok _I znači da zbrajanje dviju varijabli
cjelobrojnog tipa (INT) ).
Element naredbe zbrajanja ima dva ulaza IN1 i IN2. Na te ulaze dovode se varijable tipa INT
koje se zbrajaju, ulaz EN je spojen u logički krug.Ukoliko je na njemu „1“ i ako se nije
dogodila greška tijekom kalkulacije izlaz ENO će biti postavljen u „1“ , odnosno logički
konuitet će biti ostvaren. Ukoliko izvršenje funkcije nije omogućeno (EN=“0“) ili se dogodila
greška tada će izlaz ENO biti postavljen u „0“ odnosno logički kontinuitet neće biti
ostvaren.Rezultat aritmetičke operacije se sprema u OUT.
Tablica 26. Ponašanje izlaza ENO u ovisnosti o ulazu EN ili u slučaju greške
a). Overflow – prekoračenje opsega brojeva koje registri INT i DINT mogu prikazati.
b). Overflow i underflow – prekoračenje opsega brojeva koje može REAL registar
prikazati pri kalkulacijama sa brojevima s pomičnim zarezom.
c). Invalid REAL number – pogrešan broj u kalkulaciji sa brojeva sa pomičnim zarezom.
________________________________________________________________________217
SIMATIC S7 Programirljivi logički kontroleri
1.Na logičkom krugu se znači mjesto na koje će doći matematička naredba lijevim klikom
miša ili ako je prazan, označi cijeli logički krug .U prozoru programskih elemenata odabere se
željeni matematički element i dva puta klikne mišem kao na slici:
________________________________________________________________________218
SIMATIC S7 Programirljivi logički kontroleri
3. Potrebno je kliknuti na upitnike pored IN1 i IN2 te unesiti adrese ili vrijednosti koje se žele
zbrajati. U ovom slučaju se zbrajaju vrijednost analognog ulaza PIW2 sa konstantom čiji je
iznos 100. Out predstavlja izlaz, odnosno rješenje računske operacije se sprema u MW2
Ukoliko je operacija uspješno izvršena, logički kontinuitet će biti ostvaren te će izlaz Q0.0 biti
u stanju logičke „1“
Naravno, pri radu sa vrijednostima koje dolaze s analognih ulaza mora se paziti da se ne
pređeu dozvoljene maksimalne vrijednosti jer će CPU javiti grešku.
Varijable s kojima se računa moraju biti istog tipa stoga se odabir naredbe vrši prema tipu
varijabli s kojima se računa.
________________________________________________________________________219
SIMATIC S7 Programirljivi logički kontroleri
U prozoru SUB_ naredbe mogu se mijenjati 2 polja: IN1 i IN2. SUB_ je naredba za
oduzimanje dvije varijable. Primjer: Naredba vrši oduzimanje varijable IN2 (100) od varijable
sa ulaza IN1 (vrijednost s analognog ulaza PIW2) te rezultat sprema u MW2.
Oduzimanje dvije varijable: IN1 - IN2.
Računanje se vrši s varijablama istog tipa, odabir naredbe se vrši prema tipu varijabli s kojima
se računa. Potrebno je pazite pri upotrebi MUL_I naredbe u slučaju da se koristite varijable s
analognih ulaza jer se lako izađe iz dozvoljenih granica memorijskog spremnika
(npr od 1*1=1 do 181*181=32761!!!).
U prozoru MUL_ naredbe mogu se mjenjati 2 polja: IN1 i IN2. MUL_ je naredba za
množenje dvije varijable. Primjer: Naredba vrši množenje vrijednosti s analognog ulaza
IN1 ( vrijednost sa analognog ulaza PIW2) s brojem 100 te rezultat sprema u MW2.
Množenje dvije varijable: IN1 * IN2.
Računanje se vrši s varijablama istog tipa, odabir naredbe se vrši prema tipu varijabli s
kojima se računa. Dijeljenje s nulom je dozvoljeno za varijable tipa INT i DINT, koje daju
nulu kao rezulta dijeljenja, iako logički kontinuitet neće biti ostvaren dok dijeljenje varijabli
tipa REAL sa nulom za rezultat daje grešku.
________________________________________________________________________220
SIMATIC S7 Programirljivi logički kontroleri
U prozoru DIV_ naredbe mogu se mijenjati 2 polja: IN1 i IN2. DIV_ je naredba za dijeljenje
jedne varijable s drugom. Primjer: Naredba vrši dijeljenje varijable IN1 (vrijednosti sa
analognog ulaza PIW2) s varijablom s ulaza IN2 (100) te rezultat sprema u MW2.
Dijeljenje dvije varijable: IN1 / IN2.
________________________________________________________________________221
SIMATIC S7 Programirljivi logički kontroleri
Naredbe pomaka služe za pomicanje varijable bit po bit kroz memorijski registar (eng. shift).
Moguće je pomicanje bitova u lijevo ili u desno te njihova rotacija kroz registar. Pomak se vrši
tako da određeni bitovi ulaze u registar i istiskuju postojeće. Bitovi koji su istisnuti iz registra
su izgubljeni ili se vračaju na ulaz pri naredbi za rotaciju bitova ( da bi rotirali bitove ono što
izađe na lijevoj strani ponovo mora ući na desnoj i obrnuto). Tablica naredbi pomaka:
U zaglavlju svakog elementa može se pročitati koja je to naredba (u primjeru gore SHL_W
označava da se radi o naredbi pomaka u lijevo, dok _W znači da je varijabla koja se pomiče
dužine WORD ( 16 bita ).
Element naredbe pomaka ima tri ulaza EN,IN,N te izlaze ENO i OUT. Vrijednost nad kojom
se želi vršiti naredba pomaka dovodi se na ulaz IN, broj pomaka je određen na ulazu N, dok
se rezultat sprema u izlaz (OUT) .Ovisno u dužini varijable WORD ili DWORD koja se želi
pomicati mora se odabrati određena naredba, također treba naglasiti da i registar u koji se
sprema rezultat (OUT) mora biti iste dužine. Na ulazu N je varijabla dužine WORD za sve
naredbe pomaka.
Naredba pomaka se može izvršiti ako je ulaz EN u stanju logičke „1“, te će izlaz ENO
također biti u stanju logičke „1“,odnosno logički kontinuitet će biti ostvaren.
________________________________________________________________________222
SIMATIC S7 Programirljivi logički kontroleri
3. Naredba pomaka varijable dužine riječi (WORD) u desno. Naredba pomaka SHR_W
pomiče sadržaj varijable dovedene na ulaz IN bit po bit u desno za broj pomaka koji je
specificiran u ulazu N. Slobodna mjesta s lijeve strane registra popunjavaju se nulama.
U izlaz (OUT) se pohranjuje varijabla(rezultat) dužine riječi. Na ulazu N je specifiran
broj pomaka varijable kroz registar, može biti konstanta ili varijabla. Ako je broj
pomaka nula, naredba se neće izvršiti, odnosno pomaka neće biti. Ako je broj N veći od
15, registar će biti popunjen s nulama.
5. Naredba pomaka varijable tipa INT dužine riječi (WORD) u desno sa predznakom.
Naredba pomaka SHR_I pomiče sadržaj varijable dovedene na ulaz IN bit po bit u
desno za broj pomaka koji je specificiran u ulazu N. Slobodna mjesta s lijeve strane
registra popunjavaju se stanjem bita 15, koji naravno može biti u stnju logičke „1“ ili
logičke „0“.U izlaz (OUT) se pohranjuje varijabla(rezultat) dužine riječi. Na ulazu N
________________________________________________________________________223
SIMATIC S7 Programirljivi logički kontroleri
je specifiran broj pomaka varijable kroz registar,može biti konstanta ili varijabla. Ako
je broj pomaka nula,naredba se neće izvršiti,odnosno pomaka neće biti.Ako je broj N
veći od 15, registar će biti popunjen sa stanjem bita 15.
6. Naredba pomaka varijable tipa INT dužine dvostruke riječi (DWORD) u desno sa
predznakom. Naredba pomaka SHR_DI pomiče sadržaj varijable dovedene na ulaz IN
bit po bit u desno za broj pomaka koji je specificiran u ulazu N. Slobodna mjesta s lijeve
strane registra popunjavaju se stanjem bita 31, koji naravno može biti u stanju logičke
„1“ ili logičke „0“.U izlaz (OUT) se pohranjuje varijabla(rezultat) dužine riječi. Na
ulazu N je specifiran broj pomaka varijable kroz registar, može biti konstanta ili
varijabla. Ako je broj pomaka nula, naredba se neće izvršiti,odnosno pomaka neće biti.
Ako je broj N veći od 31, registar će biti popunjen sa stanjem bita 31.
Naredba SHL_W ili SHL_DW je naredba koja će pomaknuti riječ unutar registra za broj
mjesta koji je definiran u ulazu N,( u ovom primjeru je u MW2 upisan broj 2).Slika prikazuje
stanje registra prije i nakon izvršenja naredbe. U primjeru je prikazan registar od 16 bita
(naredba SHL_W), ukoliko se želi raditi sa riječi dvostruke dužine mora se upotrijebiti
naredba SHL_DW, sa napomenom da se na ulaze treba dovesti riječ dvostruke dužine, te da
izlazni registar u koji će se spremati rezultat, također mora biti dvostruke dužine.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1
IN
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
OUT
________________________________________________________________________224
SIMATIC S7 Programirljivi logički kontroleri
Naredba SHR_W ili SHR_DW je naredba koja će pomaknuti riječ unutar registra za broj
mjesta koji je definiran u ulazu N, ( u ovom primjeru je u MW2 upisan broj 2). Slika
prikazuje stanje registra prije i nakon izvršenja naredbe.
U primjeru je prikazan registar od 16 bita (naredba SHR_W), ukoliko se želi raditi sa riječi
dvostruke dužine mora se upotrijebiti naredba SHR_DW, sa napomenom da se na ulaze treba
dovesti riječ dvostruke dužine, te da izlazni registar u koji će se spremati rezultat, također
mora biti dvostruke dužine.
Pomak riječi u desno (Riječ / Dvostruka riječ)
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1
IN
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0
OUT
Varijable koje ulaze u
registar su nule
3.15.1.3 SHR_I / SHR_DI naredba pomaka cijelog broja (INT,DINT) u desno sa predznakom.
Potrebno je postaviti naredbu na logički krug tako da sve bude kao na slici.
________________________________________________________________________225
SIMATIC S7 Programirljivi logički kontroleri
Naredba SHR_I ili SHR_DI je naredba koja će pomaknuti riječ unutar registra za broj mjesta
koji je definiran u ulazu N( u ovom primjeru je u MW2 upisan broj 3). Slika prikazuje stanje
registra prije i nakon izvršenja naredbe.Na mjesto bita 15 možete staviti „0“ ili „1“ i to je broj
koji će ulaziti u registar sa desne strane.
U primjeru je prikazan registar od 16 bita (naredba SHR_I), ukoliko se želi raditi sa riječi
dvostruke dužine mora se upotrijebiti naredba SHR_DI, sa napomenom da se na ulaze treba
dovesti riječ dvostruke dužine, te da izlazni registar u koji će se spremati rezultat,također
mora biti dvostruke dužine. Ponašanje naredbe je identično za riječ i dvostruku riječ.
Slika prikazuje stanje registra prije i poslije izvršavanja naredbe SHR_I u slučaju da je bit
predznaka „0“.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 1
IN
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1
OUT
Varijable koje ulaze u
registar su nule
Slika prikazuje stanje registra prije i poslije izvršavanja naredbe SHR_I u slučaju da je bit
predznaka „1“.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 1
IN
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 1
OUT
Varijable koje ulaze u
registar su jedinice
________________________________________________________________________226
SIMATIC S7 Programirljivi logički kontroleri
Naredba ROL_DW je naredba koja će rotirati riječ unutar registra bit po bit u lijevo za broj
mjesta koji je definiran u ulazu N( u ovom primjeru je u MW10 upisan broj 4, bitovi koji
izlaze iz registra se vraćaju kao ulazni bitovi.( u ovom primjeru je u MW10 upisan broj 4.
Slika prikazuje stanje registra prije i nakon izvršenja naredbe. Rezultat izvršenja naredbe je
pohranjen u OUT (MD4).
31 30 29 28 27 26 25 24 6 5 4 3 2 1 0
1 0 1 1 0 0 0 0 0 0 0 0 0 1 1
IN
31 30 29 28 27 26 25 24 6 5 4 3 2 1 0
0 0 0 0 0 0 0 0 0 1 1 1 0 1 1
OUT
Varijable koje ulaze u
registar su varijable sa
izlaza
Potrebno je postaviti naredbu na logički krug tako da sve bude kao na slici.
Naredba ROR_DW je naredba koja će rotirati riječ unutar registra bit po bit u desno za broj
mjesta koji je definiran u ulazu N, bitovi koji izlaze iz registra se vraćaju kao ulazni bitovi.
Rezultat izvršenja naredbe je pohranjen u OUT (MD4).
________________________________________________________________________227
SIMATIC S7 Programirljivi logički kontroleri
Zbrajanje se omogućava ako je ulaz EN u stanju logičke 1 pri čemu izlaz ENO prati stanje
ulaza. Ako prilikom pretvorbe dođe do pogreške izlaz EN se postavlja u stanje logičke 0. Blok
za naredbe pretvorbe također ima ulaz IN i izlaz OUT. U zaglavlju bloka se nalazi tip pretvorbe
koju blok izvršava (npr. BCD_I pretvara BCD u INT).
Vrijednost koja se želi pretvoriti se upisuje na ulaz IN, a rezultat pretvorbe se dobiva na
izlazu OUT. Tip podatka koji se upisuje na ulaz i koji se želi očitati na izlazu ovisi o operaciji
pretvorbe. Tako npr. kod pretvorbe DI_R (DINT u REAL), ulaz je tipa DINT (double integer),
a izlaz tipa REAL (realni broj). Varijable koje se upisuju moraju biti istog tipa na ulazu i izlazu.
Ako se koriste operandi sa apsolutnim adresama, veličina operanda mora odgovarati tipu
podatka. Znači, kod tipa podatka INT može se koristiti word operand.
Funkcije pretvorbe INT i DINT brojeva su prikazane tablicom ispod. Kod ulaza i izlaza
treba koristiti varijable određenih tipova podataka ili apsolutne adrese operanda određene
veličine (npr. varijabla veličine riječi za tip podatka INT).
________________________________________________________________________228
SIMATIC S7 Programirljivi logički kontroleri
Naredba I_DI obrađuje vrijednost na ulazu IN tipa podatka INT (16 bita) i pretvara ga u tip
podatka DINT (32 bita) na izlazu OUT. Izlaz ENO u logičkom krugu prati stanje signala sa
ulaza EN. Pretvorba iz INT u DINT ne javlja greške.
Vrijednost sa ulaza IN (npr. 20000) šalje se na niži red izlazne riječi dok se stanje signala
bita 15 (predznak) sa ulaza šalje u bitove 16 do 31 na viši red izlazne riječi.
IN: MW10
0 1 0 0 1 1 1 0 0 0 1 0 0 0 0 0
OUT: MD12
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 0 1 0 0 0 0 0
Naredba I_BCD obrađuje vrijednost na ulazu IN tipa podatka INT (16 bita) i pretvara ga u
BCD broj s tri dekade na izlazu OUT. Izlaz ENO u logičkom krugu prati stanje signala sa ulaza
EN. Tri desno poravnate dekade u izlaznoj riječi predstavljaju apsolutnu vrijednost decimalnog
broja sa ulaza. Predznak se upisuje u bitove 12 do 15. Ako su svi bitovi 0, predznak je pozitivan,
a ako su 1, predznak je negativan. Ako je INT broj predugačak da bi se mogao pretvoriti u BCD
broj (>999), operacija I_BCD setira statusne bitove OV i OS te se pretvorba ne izvršava.
Vrijednost sa ulaza IN (npr. 987) pretvara se u troznamenksti BCD koji se šalje u tri desno
poravnate dekade izlazne riječi dok se predznak šalje u bitove 12 do 15 izlazne riječi.
________________________________________________________________________229
SIMATIC S7 Programirljivi logički kontroleri
IN: MW10
0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1
OUT: MW12
0 0 0 0 1 0 0 1 1 0 0 0 0 1 1 1
Predznak (+) 9 8 7
Naredba DI_BCD obrađuje vrijednost na ulazu IN tipa podatka DINT (32 bita) i pretvara
ga u sedmeroznamenkasti BCD broj na izlazu OUT. Izlaz ENO u logičkom krugu prati stanje
signala sa ulaza EN. Sedam desno poravnatih dekada u izlaznoj riječi predstavlja apsolutnu
vrijednost decimalnog broja. Predznak se upisuje u bitove 28 do 31. Ako su svi bitovi 0,
predznak je pozitivan, a ako su 1, predznak je negativan. Ako je DINT broj predugačak da bi
se mogao pretvoriti u BCD broj (>9 999 999), operacija DI_BCD setira statusne bitove OV i
OS te se pretvorba ne izvršava.
IN: MD8
0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 1 1 0 1 0 0 0 0 1 1 1 1 1 1
OUT: MD12
0 0 0 0 1 0 0 1 1 0 0 0 0 1 1 1 0 1 1 0 0 1 0 1 0 1 0 0 0 0 1 1
Predznak (+) 9 8 7 6 5 4 3
________________________________________________________________________230
SIMATIC S7 Programirljivi logički kontroleri
Naredba DI_R obrađuje vrijednosti na ulazu IN tipa podatka DINT (32 bita) i pretvara ga u
REAL broj na izlazu OUT. Izlaz ENO u logičkom krugu prati stanje signala sa ulaza EN.
Budući da broj u DINT formatu ima veću preciznost nego broj u REAL formatu, zaokruživanje
se odvija tijekom pretvorbe. Tada je REAL broj zaokružen u sljedeći cijeli broj. Pretvorba iz
DINT u REAL ne javlja greške.
Vrijednost sa ulaza IN (npr. 9876543) pretvara se u broj s pomičnim zarezom koji se šalje
na izlaz OUT (npr. 9876543.0).
Funkcije pretvorbe BCD brojeva su prikazane tablicom ispod. Kod ulaza i izlaza treba
koristiti varijable određenih tipova podataka ili apsolutne adrese operanda određene veličine
(npr. varijabla dužine riječi za tip podatka INT).
Naredba BCD_I obrađuje vrijednosti na ulazu IN u obliku BCD broja s tri dekade i pretvara
ga u INT vrijednost na izlazu OUT. Izlaz ENO u logičkom krugu prati stanje signala sa ulaza
EN. Tri desno poravnate dekade u ulaznoj riječi predstavljaju apsolutnu vrijednost decimalnog
broja. Pritom se predznak upisuje u bitove 12 do 15. Ako su ovi bitovi 0, predznak je pozitivan,
a ako su 1, predznak je negativan. Prilikom pretvorbe u obzir se uzima jedino bit 15.
Ako BCD broj sadrži pogrešnu vrijednost (numeričku vrijednost 10 do 15 ili znakove A
do F u heksadecimalnom obliku), CPU javlja grešku u programu i poziva organizacijski blok
OB 121. Ako taj blok nije programiran, CPU ide u STOP. Operacija BCD_I ne setira bitove
statusa prilikom pojave greške.
Vrijednost sa ulaza IN (npr. 987 u BCD, odnosno 2439 u INT obliku) u obliku
troznamenkstog BCD broja pretvara se u INT vrijednost koja se šalje u izlaznu riječ.
________________________________________________________________________231
SIMATIC S7 Programirljivi logički kontroleri
IN: MW10
0 0 0 0 1 0 0 1 1 0 0 0 0 1 1 1
Predznak (+) 9 8 7
Naredba BCD_DI obrađuje vrijednosti na ulazu IN u obliku BCD broja s sedam dekada i
pretvara ga u INT vrijednost na izlazu OUT. Izlaz ENO u logičkom krugu prati stanje signala
sa ulaza EN. Sedam desno poravnatih dekada u ulaznoj riječi predstavlja apsolutnu vrijednost
decimalnog broja. Pritom se predznak upisuje u bitove 28 do 31. Ako su ovi bitovi 0, predznak
je pozitivan, a ako su 1, predznak je negativan. Prilikom pretvorbe u obzir se uzima jedino bit
31.
Ako BCD broj sadrži pogrešnu vrijednost (numeričku vrijednost 10 do 15 ili znakove A
do F u heksadecimalnom obliku), CPU javlja grešku u programu i poziva organizacijski blok
OB 121. Ako taj blok nije programiran, CPU ide u STOP. Operacija BCD_DI ne setira bitove
statusa prilikom pojave greške.
Vrijednost sa ulaza IN (npr. 9876543 u BCD, odnosno 159868227 u INT obliku) u obliku
troznamenkstog BCD broja pretvara se u DINT vrijednost koja se šalje u izlaznu dvostruku
riječ.
IN: MD8
0 0 0 0 1 0 0 1 1 0 0 0 0 1 1 1 0 1 1 0 0 1 0 1 0 1 0 0 0 0 1 1
Predznak (+) 9 8 7 6 5 4 3
OUT: MD12
0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 1 1 0 1 0 0 0 0 1 1 1 1 1 1
________________________________________________________________________232
SIMATIC S7 Programirljivi logički kontroleri
Postoji nekoliko naredbi za pretvaranje brojeva iz REAL formata u DINT format (pretvorba
brojeva s pomičnim zarezom u cijele brojeve). Funkcije pretvorbe brojeva su prikazane
tablicom ispod.
Naredba CEIL obrađuje vrijednost na ulazu IN tipa REAL broj i pretvara ga u DINT
vrijednost na izlazu OUT. CEIL vraća cijeli broj koji je veći ili jednak broju koji trebamo
pretvarati.
Ako je vrijednost na ulazu IN veća ili ispadne manja od područja dopuštenoga za brojeve u
DINT formatu, ili se ne podudara sa brojem u REAL format, operacija CEIL setira statusne
bitove OV i OS te se pretvorba ne izvršava.
Vrijednost sa ulaza IN (npr. 78.9 u floating-point prikazu) naredba CEIL zaokružuje je u
sljedeći veći broj na izlazu OUT (79 u dec prikazu).
Naredba FLOOR obrađuje vrijednosti na ulazu IN tipa REAL broj i pretvara ga u DINT
vrijednost na izlazu OUT. FLOOR vraća cijeli broj koji je manji ili jednak broju koji treba
pretvarati.
Ako je vrijednost na ulazu IN veća ili ispadne manja od područja dopuštenoga za brojeve u
DINT formatu, ili se ne podudara sa brojem u REAL format, operacija FLOOR setira bitove
statusa OV i OS te se pretvorba ne izvršava.
Vrijednost sa ulaza IN (npr. 78.9 u floating-point prikazu) naredba FLOOR zaokružuje u
cijeli broj na izlazu OUT (78 u dec prikazu).
Naredba ROUND obrađuje vrijednosti na ulazu IN tipa REAL broj i pretvara ga u DINT
broj na izlazu OUT. ROUND vraća cijeli veći broj. Ako se razultat nalazi točno između parnog
i nepranog broja, parni broj ima prednost. Ako je vrijednost na ulazu IN veća ili ispadne manja
________________________________________________________________________233
SIMATIC S7 Programirljivi logički kontroleri
Naredba TRUNC obrađuje vrijednosti na ulazu IN tipa REAL broj i pretvara ga u DINT broj
na izlazu OUT. TRUNC vraća cjelobrojnu vrijednost broja koji se pretvara. Ako je vrijednost
na ulazu IN veća ili ispadne manja od područja dopuštenoga za brojeve u DINT formatu, ili se
ne podudara sa brojem u REAL format, operacija TRUNC setira bitove statusa OV i OS te se
pretvorba ne izvršava.
Vrijednost sa ulaza IN (npr. 78.5 u floating-point prikazu) naredba TRUNC zaokružuje u
cijeli broj na izlazu OUT (78 u dec prikazu).
Tablica ispod prikazuje razlike kod funkcija pretvorbe iz REAL u DINT. Za primjer je
uzeto područje od –100 do 100.
________________________________________________________________________234
SIMATIC S7 Programirljivi logički kontroleri
U ulazima i izlazima blokova moraju biti upotrijebljene varijable određenih tipova podataka
ili apsolutno-adresirani operandi određene veličine (npr. varijabla veličine dvostruke riječi za
tip podatka DINT).
Naredba INV_I (prvi komplement cijelog broja) negira veličinu na ulazu IN bit za bit i
upisuje je na izlazu OUT. Operacija INV_I također u binarnom prikazu zamjenjuje nule sa
jedinicama i obratno. Ova pretvorba ne pokazuje greške.
Ako na ulaz IN se upišu vrijednost npr. 123 u dec prikazu (2#0000_0000_0111_1011 u bin
prikazu), naredba INV_I je na izlazu OUT upisuje kao -124 (2#1111_1111_1000_0100 u bin
prikazu).
Naredba INV_DI (prvi komplement dvostrukog cijelog broja) negira veličinu na ulazu IN
bit za bit i upisuje je na izlazu OUT. Operacija INV_DI također u binarnom prikazu zamjenjuje
nule sa jedinicama i obratno. Ova pretvorba ne pokazuje greške.
Ako na ulaz IN se upiše vrijednost npr. 9876543 u dec prikazu
(2#0000_0000_1001_0110_1011_0100_0011_1111u bin prikazu), naredba INV_I je na izlazu
OUT upisuje kao -9876544 (2#1111_1111_0110_1001_0100_1011_1100_0000u bin prikazu).
Naredba NEG_I obrađuje vrijednost na ulazu IN u obliku INT broja, mijenja joj predznak
pomoću dvostrukog komplementa i upisuje pretvorenu vrijednost na izlaz OUT. NEG_I je
jednaka množenju sa –1. Operacija NEG_I setira bitove statusa CC0, CC1, OV i OS.
________________________________________________________________________235
SIMATIC S7 Programirljivi logički kontroleri
Ako na ulaz IN se upiše vrijednost npr. 987 (floating-point prikaz), naredba NEG_I je na
izlazu OUT upisuje kao -987 (floating-point prikaz).
Naredba NEG_DI obrađuje vrijednost na ulazu IN u obliku DINT broja, mijenja joj
predznak pomoću dvostrukog komplementa i upisuje pretvorenu vrijednost na izlaz OUT.
NEG_DI je jednaka množenju sa –1. Operacija NEG_DI setira bitove statusa CC0, CC1, OV i
OS.
Ako na ulaz IN se upiše vrijednost npr. 9876543 (floating-point prikaz), naredba NEG_DI
je na izlazu OUT upisuje kao -9876543 (floating-point prikaz).
Naredba NEG_R obrađuje vrijednost na ulazu IN u obliku REAL broja, množi taj broj sa –
1 i upisuje je na izlaz OUT. Operacija NEG_R ne pokazuje greške.
Ako na ulaz IN upišemo vrijednost npr. 987.6 (floating-point prikaz), naredba NEG_R je
na izlazu OUT upisuje kao -987.6 (floating-point prikaz).
________________________________________________________________________236
SIMATIC S7 Programirljivi logički kontroleri
4 Programski blokovi
4.1 Organizacijski blokovi
________________________________________________________________________237
SIMATIC S7 Programirljivi logički kontroleri
Glavni program
OB 1
Time-of-Day
Time-Delay prekidi Asinkroni prekidi
prekidi
OB 20 – OB 23 OB 80 – OB 87
OB 10 – OB 17
Prekidne rutine
Prekidne servisne rutine za obradu greške
Ciklički prekidi Sklopovski prekidi Sinkroni prekidi
OB 30 – OB 38 OB 40 – OB 47 OB 121 – OB 122
Uz korisnički program procesor vrši izvođenje operativnog sustava koji se brine o pravilnom
izvršavanju samog korisničkog programa. Sam operativni sustav osigurava upravljanje
izvođenjem organizacijskih blokova za prekidne servisne rutine i rutine za obradu greške u
skladu sa prioritetom izvođenja koji je pridjeljen svakom organizacijskom bloku. Nakon
svakog ciklusa izvršavanja korisničkog programa operativni sustav osvježava procesne slike
izlaza i ulaza, te osigurava pravilno cikličko izvođenje programa.
Operativni Korisnički
sustav program
Uključenje
napajanja
Startup rutine
OB100-102
Ciklus
Prekidne servisne
Prekid Prekid
rutine
Prekidne rutine
Greška Prekid
za obradu greške
Osvježavanje
procesne slike
________________________________________________________________________238
SIMATIC S7 Programirljivi logički kontroleri
Prilikom uključivanja PLC uređaja operativni sustav S300 procesora će pozvati izvršavanje
ovih rutina koje se nalaze u OB 100 - OB 102. U tim organizacijskim blokovima se mogu
nalaziti instrukcije za dovođenje sustava u početno stanje prije izvršavanja glavnog programa.
Ponekad je potrebno u korisničkom programu osigurati trenutnu akciju na neki događaj koji je
bitan za rad sustava kojim upravlja PLC. S7-300 procesor razlikuje dvije vrste događaja na
koje može reagirati, a to su periodičko pozvani OB-ovi i događajima uvjetovani OB-ovi.
________________________________________________________________________239
SIMATIC S7 Programirljivi logički kontroleri
Prekidne rutine
Prekidne servisne rutine
za obradu greške
Nakon što se izvrši organizacijski blok u kojem se obrađuje prekid operativni sustav nastavlja
sa izvođenjem glavnog programa gdje je stao u trenutku kada se pojavio zahtjev za prekidom.
S7-300 procesor prepoznaje dvije vrste grešaka, tj. sinkrone i asinkrone greške.
Sinkrone greške su one greške koje nastaju izvođenjem korisničkog programa (npr. dijeljenje
s nulom, adresiranje nepostojećeg memorijskog područja).
Asinkrone greške su greške koje nastaju neovisno od izvođenja korisničkom programa (npr.
prekinut vod).
________________________________________________________________________240
SIMATIC S7 Programirljivi logički kontroleri
Svaki organizacijski blok kao spremnik rutina korisničkog programa ima dodijeljen prioritet
izvršavanja. Organizacijski blokovi se izvode po redosljedu prioriteta koji su im dodijeljeni (1
= najniži i 29 = najviši prioritet). OB 1 ima prioritet izvođenja 1 što znači da njegovo
izvršavanje može u svakom trenutku biti prekinuto ako se pojavi potreba za izvođenjem bilo
kojeg drugog organizacijskog bloka (prekid, greška).
Izvršavanje svakog OB-a može biti prekinuto samo ukoliko se javi potreba (prekid) za
izvršavanjem OB-a sa višim prioritetom izvođenja.
Ukoliko se javi potreba za izvođenjem OB-a sa jednakim prioritetom izvođenja tekući OB
neće biti prekinut nego će se prekidni OB izvršiti nakon što se izvrši tekući OB.
Nakon starta i restarta PLC-a operativni sustav procesora poziva izvršavanje start-up rutina
koje se nalaze u OB 100 – 102.
U start-up organizacijske blokove možemo unjeti operacije, tj. instrukcije za dovođenje
sustava u početno stanje prije početka izvršavanja glavnog programa OB1.
Prilikom izvršavanja cold restarta ili warm restarta glavni program je uvijek obrađen od
početka, a prilikom hot restarta PLC nastavlja sa izvođenjem glavnog programa OB1 počevši
od točke gdje je prekinuto kada je mod PLC-a promijenjen iz RUN u STOP mod i nastavlja
taj cijeli ciklus dok se ne izvrši.
Prilikom cold restarta, CPU postavlja sebe i module u konfigurirano osnovno stanje, briše sve
korisničke podatke iz memorije sistema i poziva OB 102.
Trenutni program i trenutni podaci u radu memorije se brišu. Za razliku od reseta kompletne
memorije, RAM memorija se ne briše.
Nakon cold restarta, CPU nastavlja sa izvođenjem glavnog programa u OB 1 iz početka.
Prilikom warm restarta, CPU postavlja sebe i module u konfigurirano osnovno stanje, briše
zaostale trenutne podatke iz memorije sistema i poziva OB 100.
Trenutni program i trenutni podaci u radu memorije se zadržavaju.
Nakon warm restarta, CPU nastavlja sa izvođenjem glavnog programa u OB 1 iz početka.
Tijekom prebacivanja PLC-a u STOP način rada ili neispravnog nivoa napona, CPU zadržava
sve prekidne događaje i unutarnje registre koji se koriste za obradu korisničkog programa. Iz
ovog razloga, tijekom restarta, program nastavlja svoje izvođenje iz točke gdje je prekid
nastao.
________________________________________________________________________241
SIMATIC S7 Programirljivi logički kontroleri
1 2
Proslijeđivanje
Učitavanje Brisanje procesne Brisanje procesne
parametara
parametaramodulima
modula slike ulaza slike ulaza
Prekoračeno
dozvoljeno trajanje NE
prekida
Omogućavanje
DA
izlaznih modula
Warm restart DA 1
definiran
RUN
NE Prijenos procesne
slike izlaza
Cold restart DA
2
definiran
Ažuriranje (update)
procesne slike ulaza
NE
OB 1
Stop Glavni program
Na svim kontrolerima serije Siemens S7-300 moguće je ostvariti samo warm restart! i Cold
restart dok se hot restart ostvaruje sa S7-400.
________________________________________________________________________242
SIMATIC S7 Programirljivi logički kontroleri
Primjer.
Izradi program koji nakon uključivanja PLC-a prebacuje sadržaj sa memorijske lokacije
MW3 u memorijsku lokaciju MW5.
________________________________________________________________________243
SIMATIC S7 Programirljivi logički kontroleri
Svaki OB namijenjen ovoj vrsti prekida može biti aktiviran na dva načina:
1. Aktivira se u postavkama CPU-a prilikom konfiguracije sklopovlja
2. Pozivanjem sistemskih funkcija za Time-of-Day prekide
Podešavanje stvarnog vremena (Time of day) odabire se u izborniku SIMATIC Managera
odabirom PLC>Diagnostic/Setting>Set Time of Day.
________________________________________________________________________244
SIMATIC S7 Programirljivi logički kontroleri
Kada se podese svi parametri i aktivira se Time-of-Day prekid u konfiguraciji CPU-a prekid
se automatski aktivira, tj. nije ga potrebno posebno pozivati u OB 1.
Kod S7-300 je moguće koristiti samo OB 10 koji ima prioritet 2. Pritom je moguće podesiti
način izvršavanja (engl. Execution), datum pokretanja (engl.Start date) i vrijeme izvršavanja
(engl.Time of day).
Kod S7-400 moguće je koristiti do sedam različitih cikličkih prekidnih OB-ova (OB 10 do
17). Prioriteti se mogu podesiti u rasponu od 2 do 24 što ovisi o vrsti CPU-a s kojim se radi.
Primjer.
Aktiviraj Time-of-Day prekid (u hardware konfiguraciji), neka počne 04.11.2009. u 10 sati i
neka se izvršava svake minute.
Nakon što se dogodi prekid prebaci vrijednost iz memorijske lokacije MW2 u memorijsku
lokaciju MW4.
U hardware konfiguraciji, tj. u karakteristikama CPU-a se aktivira i podešava prekid.
________________________________________________________________________245
SIMATIC S7 Programirljivi logički kontroleri
________________________________________________________________________246
SIMATIC S7 Programirljivi logički kontroleri
Na ulazu OB_NR se odabire broj OB-a (10 do 17) koji se želi podesiti. Datum (Start date) i
vrijeme (Time of day) koje određuje pokretanje prekida zadaje se na ulazu SDT. Podaci na
ulazu SDT moraju biti zadani u podatkovnom bloku. Vrijednost unešena na ulaz PERIOD je
način izvršavanja (jednom ili periodički). Izlaz RET_VAL pokazuje kod greške.
________________________________________________________________________247
SIMATIC S7 Programirljivi logički kontroleri
Ulaz OB_NR koristi se za odabir OB-a (10 do 17) kojeg želimo aktivirati.
Izlaz RET_VAL pokazuje kod greške.
Tablica 37. Parametri sistemske funkcije SFC 30
________________________________________________________________________248
SIMATIC S7 Programirljivi logički kontroleri
________________________________________________________________________249
SIMATIC S7 Programirljivi logički kontroleri
Ulaz OB_NR koristi se za odabir OB-a (10 do 17) kojeg želimo otkazati.
Izlaz RET_VAL pokazuje kod greške.
Tablica 39. Parametri sistemske funkcije SFC 29
________________________________________________________________________250
SIMATIC S7 Programirljivi logički kontroleri
Ulaz OB_NR koristi se za odabir OB-a (10 do 17) čije se stanje provjerava. Pojedini bitovi u
memorijskoj riječi sa izlaza STATUS pokazuju trenutno stanje Time-of-Day prekida koji se
izvršava.
Kada su u stanju logičke 0, pojedini bitovi u memorijskoj riječi na izlazu STATUS imaju
sljedeće značenje:
________________________________________________________________________251
SIMATIC S7 Programirljivi logički kontroleri
Tablica 43. Značenje pojedinih bitova na izlazu STATUS sistemske funkcije SFC 31
3 - - Rezervirano -
Primjer.
Potrebno je aktivirati Time-of-Day prekid pomoću sistemskih funkcija, neka počne
04.11.2009. u 11 sati i neka se izvršava svake minute.
Sa ulazom I0.0 potrebno je setirati prekid a sa ulazom I0.1 aktivirati prekid.
Sa ulazom I0.2 potrebno je uvesti moguću deaktivaciju prekida.
Također je potreno provjeriti stanje prekida na izlazu STATUS.
Nakon što se dogodi prekid potrebno je prebaci vrijednost iz memorijske lokacije MW2 u
memorijsku lokaciju MW4.
U hardware konfiguraciji, tj. u konfiguraciji CPU-a je potrebno prije svega deaktivirati prekid,
jer će se aktivirati pomoću sistemskih funkcija.
Da bi se provjerilo da li program ispravno radi potrebno je u spremnik blokova Blocks
umetnuti organizacijske blokove (OB 1 i OB 10), sistemske funkcije (SFC 28, SFC 29, SFC
30, SFC 31), podatkovni blok DB1, te tablicu varijabli kojom ćemo pratiti tok programa.
________________________________________________________________________252
SIMATIC S7 Programirljivi logički kontroleri
Slika 221. Umetanje blokova potrebnih za Time-of-Day prekid pozvan sistemskih funkcijama
U podatkovni blok DB1 unosi se vrijeme, tj. u ovom primjeru početno vrijeme izvođenja
prekida.
U OB 1 unosi se program koji sa ulazom I0.0 setira prekidni organizacijski blok (OB 10)
preko sistemske funkcije SFC28. Sa ulazom I0.1 postojeći prekid se aktivira (SFC30).
Koristeći sistemsku funkciju SFC29 sa ulazom I0.2 može se deaktivirati prekid. Sistemskom
funkcijom SFC31 prati se stanje izvođenja prekida.
________________________________________________________________________253
SIMATIC S7 Programirljivi logički kontroleri
________________________________________________________________________254
SIMATIC S7 Programirljivi logički kontroleri
Ovdje se podešava samo prioritet izvođenja OB-ova namijenjenih ovom prekidu. U našem
primjeru korišten je CPU 315-2DP kod kojeg se parametri za time-delay prekide ne mogu
promijeniti. Može se koristiti samo OB20 s definiranim prioritetom izvođenja 3.
________________________________________________________________________255
SIMATIC S7 Programirljivi logički kontroleri
Sistemskom funkcijom SFC32 SRT_DINT (engl. Start time-delay interrupt) aktivira se time-
delay prekid koji poziva odabrani OB nakon što je isteklo zadano vrijeme kašnjenja
(parametar DTIME).
________________________________________________________________________256
SIMATIC S7 Programirljivi logički kontroleri
________________________________________________________________________257
SIMATIC S7 Programirljivi logički kontroleri
Ulaz OB_NR koristi se za odabir OB-a (20 do 23) kojeg želimo otkazati.
Izlaz RET_VAL pokazuje kod greške.
Tablica 46. Parametri sistemske funkcije SFC 33
________________________________________________________________________258
SIMATIC S7 Programirljivi logički kontroleri
Ulaz OB_NR koristi se za odabir OB-a (20 do 23) čije se stanje provjerava.
Izlaz RET_VAL pokazuje kod greške.
Pojedini bitovi u memorijskoj riječi sa izlaza STATUS pokazuju trenutno stanje time-delay
prekida koji se izvršava.
Tablica 48. Parametri sistemske funkcije SFC 34
________________________________________________________________________259
SIMATIC S7 Programirljivi logički kontroleri
Kada su u stanju logičke 0, pojedini bitovi u memorijskoj riječi na izlazu STATUS imaju
sljedeće značenje:
Tablica 50. Značenje pojedinih bitova na izlazu STATUS sistemske funkcije SFC 31
3 - - Rezervirano -
Primjer.
Koristeći time-delay prekid izraditi prekidni OB koji prebacuje vrijednost iz memorijske
lokacije MW2 u memorijsku lokaciju MW10.
Sa ulazom I0.0 je potrebno aktivirati prekid sa vremenom kašnjenja od 5s a sa ulazom I0.1
uvesti moguću deaktivaciju prekida.
Također potrebno je provjeriti stanje prekida na izlazu STATUS.
________________________________________________________________________260
SIMATIC S7 Programirljivi logički kontroleri
U OB 1 unosi se program koji sa ulazom I0.0 nakon 5 sekundi aktivira prekidni organizacijski
blok (OB 20) preko sistemske funkcije SFC32. Sa ulazom I0.1 postojeći prekid moguće je
deaktivirati (SFC33) i to u vremenu dok ne istječe vremenski interval kojim je prekid
aktiviran, tj. u ovom primjeru 5 sekundi. Provjera stanja omogućava sistemska funkcija
SFC34 na izlazu STATUS. U ovom primjeru provjera stanja se prati sadržajem iz memorijske
lokacije MW12.
________________________________________________________________________261
SIMATIC S7 Programirljivi logički kontroleri
________________________________________________________________________262
SIMATIC S7 Programirljivi logički kontroleri
Svakom OB-u namijenjenom cikličkom prekidu moguće je podesiti tri parametra: vremenski
interval, prioritet i fazni offset.
Intervali za pojedini ciklički prekidni OB su postavljeni po standardnim postavkama i kreću
se od 5 s za OB30 do 10 ms za OB38, a po potrebi se mogu promijeniti u postavkama CPU-u
prilikom konfiguracije sklopovlja.
Sljedeća tablica prikazuje predefinirane vremenske intervale i prioritete za cikličke prekidne
OB-ove.
Tablica 51. Predefinirane vrijednosti vremenskih intervala cikličkih prekida
OB Interval (ms) Fazni offset (ms) Prioritet
30 5000 0 7
31 2000 0 8
32 1000 0 9
33 500 0 10
34 200 0 11
35 100 0 12
36 50 0 13
37 20 0 14
38 10 0 15
________________________________________________________________________263
SIMATIC S7 Programirljivi logički kontroleri
Kod S7-300 je moguće koristiti samo OB 35 koji ima prioritet 12. Pretpostavljena vrijednost
intervala za OB 35 je 100 ms. Pritom je moguće podesiti samo vremenski interval u rasponu
od 1 ms od 1 minute dok se fazni offset i prioritet ne mogu podesiti.
Kod S7-400 moguće je koristiti do devet različitih cikličkih prekidnih OB-ova (OB 30 do 38).
Pri tome je uz vremenski interval moguće podesiti fazni offset i prioritet. Fazni offset može se
podesiti u rasponu od 1 ms do 1 min dok se prioritet može postaviti na vrijednosti između 2 i
24 ili na 0. Kada se prioritet postavi na 0 ciklički prekid nije aktivan. Dodijeljivanje istog
prioriteta više od jednom OB-u se ne preporuča jer se prekidi mogu izgubiti ako se
istovremeno dogodi više od 12 prekidnih događaja s istim prioritetom.
Fazni offset se koristi kad se želi izbjeći pokretanje više cikličkih prekidnih OB-ova u isto
vrijeme čime se postiže veća preciznost vremenskih intervala tako da OB nižeg prioriteta ne
treba čekati da se izvede OB višeg prioriteta.
Faznim offsetom se osigurava da se izvođenje prekidnog OB odgodi za određeno vrijeme
nakon što isteče postavljeni vremenski interval.
Primjer sa sljedeće slike prikazuje izvođenje OB35 sa podešenim faznim offsetom u odnosu
na OB36 bez podešenog faznog offseta. Budući da se izvođenje OB35 odgađa za postavljeno
vrijeme on ne treba čekati da se izvede OB36 koji je višeg prioriteta.
Fazni offset nisam mogao isprobati jer njega nije moguće podesiti sa S7-300.
RUN 50 ms 50 ms
0 1
Interval 0 1
Interval
OB36 OB36 OB36 OB36
t(ms)
100 ms 100 ms
0 2
Interval 0 2
Interval
OB35 OB35
________________________________________________________________________264
SIMATIC S7 Programirljivi logički kontroleri
Prekidni organizacijski blok, npr. OB35 nije potrebno pozvati u OB1 jer se aktivira iz
konfiguracije sklopovlja.
Primjer.
Koristeći ciklički prekid izradi program koji će svakih 5 sekundi zbrojiti dva broja sa
memorijskih lokacija MW2 i MW4, te rezultat spremiti u memorijski prostor MW6.
Prije svega, parametri cikličkog prekida moraju podesiti u postavkama CPU-a u hardware
konfiguraciji. Na kartici Cyclic Interrupts u polje pored rednog broja OB-a unese se
vrijednost u milisekundama koja predstavlja vremenski interval u kojem će se ciklični
prekidni program izvršavati. U ovom slučaju je u polje za unos vremenskog intervala za blok
OB35 unešeno 5000(ms) čime je postavljeno da se OB35 izvršava svakih 5 sekundi.
U OB 35 unosi se program koji će zbrojiti dva broja kada se pokrene ciklički prekid. Prekidni
organizacijski blok OB35 nije potrebno pozvati u OB1 jer ga automatski poziva operativni
sustav CPU-a.
________________________________________________________________________265
SIMATIC S7 Programirljivi logički kontroleri
Sklopovski prekid je određen modulima, tj. njihovim mogućnostima. To mogu biti npr.
digitalni ili analogni ulazni moduli.
________________________________________________________________________266
SIMATIC S7 Programirljivi logički kontroleri
________________________________________________________________________267
SIMATIC S7 Programirljivi logički kontroleri
Slika 240. Aktivacija signala digitalnog ulaznog modula kojim se pokreće sklopovski prekid
Slika 241. Umetanje blokova potrebnih za sklopovski prekid aktiviran signalom digitalnog ulaznog
modula
________________________________________________________________________268
SIMATIC S7 Programirljivi logički kontroleri
U OB 40 unosi se program koji će nakon aktivacije I0.3 aktivirati Q0.0 kada se pokrene
prekid.
Slika 242. Program u OB 40 za sklopovski prekid aktiviran signalom digitalnog ulaznog modula l
Prekidni organizacijski blok OB40 nije potrebno pozvati u OB1 jer smo ga aktivirali iz
konfiguracije sklopovlja.
________________________________________________________________________269
SIMATIC S7 Programirljivi logički kontroleri
U polju Measuring Type moguće je odabrati mjerenje napona, struje, otpora i temperature.
Primjer sklopovskog prekida sa analognim ulazom.
Izradi program koji nakon uključenja ulaza I0.0 uključuje Q0.0 kada se pokrene prekidni
OB. Njega podesi da se aktivira kada se na analognom ulazu opsega +/-10V pojavi signal
manji od 4V ili veći od 8V.
Parametri analognog ulaznog modula kojima se pokreće prekidni organizacijski blok određuju
se u konfiguraciji sklopovlja modula.
Slika 244. Aktivacija signala analognog ulaznog modula kojim se pokreće sklopovski prekid
________________________________________________________________________270
SIMATIC S7 Programirljivi logički kontroleri
Slika 245. Umetanje blokova potrebnih za sklopovski prekid aktiviran signalom analognog ulaznog
modula
U OB 40 unosi se program koji će nakon aktivacije I0.0 aktivirati Q0.0 kada se pokrene
prekid.
Slika 246. Program u OB 40 za sklopovski prekid aktiviran signalom analognog ulaznog modula
Prekidni organizacijski blok OB40 nije potrebno pozvati u OB1 jer se on aktivira iz
konfiguracije sklopovlja.
________________________________________________________________________271
SIMATIC S7 Programirljivi logički kontroleri
Greške u funkcionalnosti PLC-a koje su otkrivene (na CPU-u ili modulima) događaju se iz
nekoliko razloga.
Postoje dvije vrste grešaka: 1. sinkrone
2. asinkrone
Sinkrone greške su one greške koje nastaju izvođenjem korisničkog programa (npr. dijeljenje
s nulom, adresiranje nepostojećeg memorijskog područja).
Asinkrone greške su greške koje nastaju neovisno od izvođenja korisničkom programa (npr.
prekinut vod).
CPU označava grešku i mogući uzrok greške preko LED dioda na prednjoj strani CPU-a.
Kada se pojavi određena greška, CPU odlazi u STOP način rada.
OB-ovi za obradu sinkrone greške izvode se kao dio programa, s istim prioritetom kao i blok
koji je bio izvođen u trenutku kada se dogodila greška.
________________________________________________________________________272
SIMATIC S7 Programirljivi logički kontroleri
Programska greška
Operacijski sistem poziva OB 121 kada se pojavi greška, primjerice:
• dijeljenje s nulom
• adresirani timeri ne postoje
• pozvani blok nije prebačen (download) u PLC
Primjer.
Greška pristupa
Operacijski sistem poziva OB 122 kada se pojavi greška u pristupu signala ulaznih ili izlaznih
modula, na primjer:
-zbog greške sa direktnim ulazno/izlaznim modulom (modul neispravan ili ga nema)
-zbog pristupa ulazno/izlaznoj adresi koja je nepoznata CPU-u
________________________________________________________________________273
SIMATIC S7 Programirljivi logički kontroleri
Ako se otkrije kvar u RUN modu i isprogramiran je odgovarajući OB, taj se OB poziva i
izvodi se program napisan u njemu. Ovaj program može, na primjer, sadržavati:
- naredbe za uključenje sirene;
- naredbe za sigurnosno spremanje podataka, nakon kojih slijedi STOP naredba;
- program za snimanje frekvencije s kojom se događa kvar, bez slanja CPU-a u STOP mod.
Ako OB za obradu greške za pojedinačni kvar ne postoji, CPU automatski odlazi u STOP
mod.
Tablica 52. Asinkrone greške
Primjer.
Prekid za obradu asinkrone greške OB82 poziva se u sljedećim situacijama:
• prekid žice na modulu s dijagnostičkim mogućnostima;
• nestanak napajanja modula analognih ulaza;
• prekoračen mjerni raspon modula analognih ulaza, itd.
________________________________________________________________________274
SIMATIC S7 Programirljivi logički kontroleri
Temperatura npr.
Napon npr: Struja npr: Otpor npr:
Pt100
Područje
MJ podr Mjer podr Mjer.podr Mjer podr -
±10V
Jedinice 4..20mA
Jedinice 0..3000hm
Jedinice 200.+850ºC Jedinice
________________________________________________________________________275
SIMATIC S7 Programirljivi logički kontroleri
Kao što je vidljivo na slici 251. funkcije bez formalnih parametara koriste isključivo fizičke
adrese PLC – a. Na slici je primjer samoodržavanja motora koji radi isključivo s navedenim
fizičkim adresama.
Na slici 252. je vidljiv poziv funkcije unutar organizacijskog bloka. Vidljivo je da ne postoji
mogućnost mijenjanja fizičkih adresa koje su prije definirane, funkcija se koristi isključivo nad
postojećim fizičkim adresama koje se nalaze unutar koda funkcije.
________________________________________________________________________276
SIMATIC S7 Programirljivi logički kontroleri
________________________________________________________________________277
SIMATIC S7 Programirljivi logički kontroleri
Jedan podatkovni blok može biti pridružen samo jednom funkcijskom bloku, a jedan funkcijski
blok može imati više pridruženih podatkovnih blokova.
Isto kao i kod funkcija (FC) postoje funkcijski blokovi s formalnim parametrima i funkcijski
blokovi bez formalnih parametara.
Na slici 255. je prikazana tablica deklaracije funkcijskog bloka, te ostalih parametara. Uz pomoć
te tablice automatski imamo sve potrebno za generiranje pridruženog podatkovnog bloka
namijenjenog isključivo funkcijskom bloku unutar kojeg se tablica nalazi. Na slici 255. je
prikazana tablica deklaracije funkcijskog bloka, te ostalih parametara. Uz pomoć te tablice
automatski je prisutno sve potrebno za generiranje pridruženog podatkovnog bloka
namijenjenog isključivo funkcijskom bloku unutar kojeg se tablica nalazi.
Kod funkcijskog bloka se radi po istom principu kao i kod običnih funkcija. Nema nikakve razlike
u izradi koda.
________________________________________________________________________278
SIMATIC S7 Programirljivi logički kontroleri
________________________________________________________________________279
SIMATIC S7 Programirljivi logički kontroleri
Podatkovni blokovi se mogu koristiti na dva različita načina: kao zajednički odnosno
dijeljeni (engl. Shared) ili kao pridruženi (engl. Instance) podatkovni blokovi (Slika 258.).
Dijeljenima se može pristupiti iz bilo kojeg dijela programa, dok se pridruženim pristupa samo
iz funkcijskog bloka kojem su pridruženi. Svaki podatkovni blok koji kreirate je moguće
koristiti kao zajednički ili pridruženi podatkovni blok.
Dostupni svim
blokovima
Funkcija
FC1 Zajednički
podaci
Funkcija DB1
Organizacijski FC2
blok
Pridruženi
OB1
DB za FB1
Funkcijski
Pridruženi
blok
podaci
FB1
DB2
Zajednički podatkovni blokovi sadrže statičke podatke kojima mogu pristupiti svi logički
blokovi korisničkog programa. Svaki logički blok može pristupati podacima i upisivati podatke
u zajednički podatkovni blok. Varijable se u zajednički DB mogu unositi ili korištenjem
programskog editora ili preko "korisnički definiranog podatkovnog tipa" koji se ranije kreira.
Pridruženi podatkovni blokovi su pridruženi određenom funkcijskom bloku. Podaci iz
funkcijskog bloka se spremaju u pridruženi podatkovni blok. Te podatke može koristiti samo
pridruženi funkcijski blok. Varijable iz deklaracijskog dijela FB-a unesu se u pridruženi
podatkovni blok kada se pozove FB blok. U ovom dijelu će biti prikazana upotreba zajedničkih
podatkovnih blokova dok je primjena pridruženih blokova prikazanu kod opisa funkcijskih
blokova.
________________________________________________________________________280
SIMATIC S7 Programirljivi logički kontroleri
DB10 8 bitova
7 6 5 4 3 2 1 0
Bajt 0 DBB0
Bajt 1
DBW0
Bajt 2
DBD0
Bajt 3
: DBX4.1
:
:
:
:
DBD8188
:
: DBW8190
Bajt 8191 DBB8191
________________________________________________________________________281
SIMATIC S7 Programirljivi logički kontroleri
Broj i duljina podatkovnih blokova ovisi o vrsti CPU koji se koristi. Maksimalna duljina
bloka je 8KBajta kod S7-300 i 64KBajta kod S7-400. Numeriranje podatkovnih blokova
započinje započinje od broja 1 dok se DB0 nemože koristiti jer je rezerviran za sistem.
Prilikom pristupa podatkovnim elementima u DB-u moguće je korisiti dva različita pristupa
Kada se koristi djelomični pristup potrebno je prvo u ladder dijagram ubaciti naredbu OPN
DB i odabrati broj podatkovnog bloka čije se varijable koriste u programu. Nakon toga je
prilikom adresiranja naredbi unijeti samo adresu podatkovnog elementa (npr. DBW6) u
otvorenom podatkovnom bloku (npr. DB10).
Kada se koristi potpuni pristup u prilikom adresiranja naredbi unese se broj podatkovnom
bloka i adresa podatkovnog elementa u podatkovnom bloku (npr. DB10.DBW6 u slučaju
apsolutnog adresiranja ili Motor.Brzina u slučaju simboličkog adresiranja). Elementima je
moguče pristupati simbolički samo ako su ispunjeni sljedeći uvjeti:
________________________________________________________________________282
SIMATIC S7 Programirljivi logički kontroleri
U pravilu je najbolje koristiti simbolički pristup DB-u jer je program čitljiviji i osiguran je
pravilan pristup elementima u DB-u te je lakše napraviti kasnije izmjene u strukturi podataka.
brzina_vrtnje “motor”.motor1.brzina_vrtnje
maksimalna_temperatura “motor”.motor1.maksimalna_temperatura
“motor" je simboličko ime podatkovnog bloka koji sadrži strukturu “motor1“. Ime
elementa strukture navodi se poslije imena strukture, te se odvaja točkom. Potrebno je
definirati ime strukture, u našem slučaju “motor1“. Početak svake pojedine strukture se
označava oznakom “STRUCT“, a kraj oznakom “END_STRUCT“.
U pravilu, potrebno je koristiti simbolički pristup DB-u jer ima sljedeće prednosti: program je
čitljiviji, osiguran je ispravan pristup podatkovnom bloku, lakše je napraviti kasnije ispravke u
strukturi podataka. Kod apsolutnog adresiranja podatkovnog bloka potrebno je ručno ispraviti
sve pozicije u programu na kojima se pristupa DB-u. Kod simboličkog adresiranja lako je
napraviti promjenu korištenjem izvornog programa.
Otvoreni DB ostaje otvoren sve dok se ne otvori novi. Ako se iz organizacijskog bloka ili funkcije
izađe jer je pozvana druga funkcija, trenutni podatkovni blok ostaje aktivan.
Poziv funkcijskog bloka je drugačiji. Pridruženi podatkovni blok se uvijek pridružuje FB-u. S
pozivom funkcijskog bloka automatski se otvara i pridruženi podatkovni blok. Kada se vratite
u pozivni blok, ranije otvoreni globalni DB više nije važeći. To znači da se poslije poziva FB-a,
mora ponovno otvoriti traženi globalni DB.
________________________________________________________________________283
SIMATIC S7 Programirljivi logički kontroleri
Slika 264. Organizacijski blok OB 1 u kojem su upotrjebljene memorijske lokacije podatkovnog bloka
________________________________________________________________________284
SIMATIC S7 Programirljivi logički kontroleri
da postoji potreba za zamijenom izlaza Q0.0 sa izlazom Q0.1, u takvim većim programima to
bi bio dugotrajan posao jer bi se moralo na svakom mjestu ručno utipkati novu adresu. Ako
koristimo ovaj način upotrebe podatkovnih blokova jednostavno zamijenimo fizičku adresu
izlaza Q0.0 mreže 4 sa fizičkom adresom Q0.1. Nakon toga se sve automatski primjeni na
kompletan program.
Do potrebe zamijene adresa može doći iz različitih razloga kao što su npr. Krivo ožičenje
sustava od strane montera, kvar jednog izlaza PLC – a (nije potrebno kupovati novi modul, ili
plaćati popravak) – jednostavno se funkcije prebace na slijedeći slobodni izlaz.
________________________________________________________________________285
SIMATIC S7 Programirljivi logički kontroleri
U polju pod opcijom Name and type odabire se broj podatkovnog bloka a u padajućoj listi tip
podatkovnog bloka koji će se kreirati. U ovom slučaju moguće je odabrati samo Shared DB
što znači da će se kreirati zajednički podatkovni blok.
Prilikom kreiranja podatkovnog bloka moguće je odabrati jedan od tri tipa podatkovnog bloka
ovisno o načinu na koji ga koristite. Ako odaberete:
- Shared DB - kreira se zajednički podatkovni blok.
- Data block referencing a User-Defined data type - kreira se podatkovni blok koristeći
istu strukturu kao odgovarajući UDT blok.
- Data block referencing a Function Block - kreira se DB za pridruženi FB koristeći
strukturu iz deklaracijskog dijela funkcijskog bloka.
2. Kliknite OK i u spremnik Blocks će biti ubačen novi podatkovni blok s nazivom DB1.
________________________________________________________________________286
SIMATIC S7 Programirljivi logički kontroleri
Pred vama se tada otvori prozor podatkovnog bloka s tablicom u deklaracijskom prikazu (engl.
Declaration View). U ovom prikazu u deklaracijsku tablicu se unose nazivi podatkovnih
elemenata (varijabli) zajedno s podatkovnim tipovima i njihovim početnim vrijednostima.
Pojedini stupci u deklaracijskoj tablici imaju sljedeća značenja:
- Address - unosi je programski editor prilikom spremanja. Označava adresu prvog bajta
područja koje varijabla zauzima u podatkovnom bloku.
- Name - unos simboličkog imena podatkovnog elementa. Ovaj naziv vrijedi samo unutar
podatkovnog bloka u kojem je odabran. Isti naziv varijable se može koristiti i u nekom
drugom podatkovnom bloku.
- Type - odabir podatkovnog tipa kojeg želite pridjeliti varijabli (BOOL, INT, WORD,
ARRAY, itd.). Odabrani podatkovni tip određuje koliko će područje (koliko bajtova)
zauzeti varijabla u podatkovnom bloku. Varijabli je moguće pridjeliti elementarne,
kompleksne ili korisnički definirane podatkovne tipove.
- Initial Value - koristi se za postavljanje pretpostavljene vrijednosti za podatkovni
element. Ova vrijednost mora odgovarati odabranom podatkovnom tipu elementa. Ako
se ništa ne unese, kao početna će se postaviti vrijednost nula.
- Comment – po želj je moguće unijeti detaljniji opis podatkovnog elementa.
________________________________________________________________________287
SIMATIC S7 Programirljivi logički kontroleri
podatkovnom bloku jer joj je pridjeljen podatkovni tip INT. Izabrati prvi redak u stupcu
Name i unesite novi opis ovog elementa. Za primjer ga se nazove Ispravni_proizvodi.
5. Sada je potrebno odabrati podatkovni tip ovog elementa. Podatkovni tip se određuje
tako da se u odabranom stupacu Type desnim klikom miša aktivira izbornik opcija i
odabere željeni podatkovni tip pod opcijama Elementary Types ili Complex Types. U
ovom slučaju se ostavi ponuđeni podatkovni tip INT.
7. Označite trenutni redak te desnim klikom miša aktivirajte izbornik opcija i odaberite
Declaration Line after Selection ili jednostavno odaberite opciju izbornika
Declaration Line> After Selection i u deklaracijsku tablicu će biti umetnut novi redak.
________________________________________________________________________288
SIMATIC S7 Programirljivi logički kontroleri
Sada u OB1 je potrebno izraditi program koristeći varijable iz podatkovnog bloka. Prilikom
adresiranja potrebno je korisiti potpuni pristup varijablama u podatkovnom bloku. Da bi se
pojedinačnim podatkovnim elementima (varijablama) moglo pristupiti simbolički potrebno je
DB-u pridjeliti simboličko ime u tablici simbola. Potrebno je napraviti sljedeće:
Kada je moguće treba se korisiti simbolički pristup DB-u jer tada nije potrebno znati adrese
varijabli u DB-u nego samo njihova simbolička imena. Tako npr. varijabli s apolutnom adresom
DB1.DBW0 sada se može pristupiti preko simbola Podaci.Ukupno_proizvoda. Pritome ime
Podaci predstavlja simboličku adresu podatkovnog bloka DB1 iz tablice simbola dok naziv
Ukupno_proizvoda predstavlja podatkovnu riječ u podatkovnom bloku DB1.
Sada je potrebno otvoriti OB1 i izraditi nekoliko logičkih krugova programa kako je opisano u
sljedećim koracima.
1. U prvi logički krug se ubaci naredba MOVE koja služi za premještanje sadržaja
varijabli. Na ulaz ove naredbe se unese MW10 a na izlaz upiše DB1.DBW0.
________________________________________________________________________289
SIMATIC S7 Programirljivi logički kontroleri
Na ovaj način će se podaci iz memorijske riječi MW10 spremati u podatkovnu riječ DBW0
koja zauzima prva dva bajta podatkovnog bloka DB1.
3. Sada u novi logički krug ponovno se ubaci naredba MOVE i na ulaz ove naredbe se
unese adresa MW12. Na izlaz ove naredbe se utipka 'p' i pojaviti će se padajuća lista s
popisom simbola. Ako se klikne na '+' pokraj simbola Podaci i pojaviti će se popis svih
varijabli koje su prethodno kreirane u podatkovnom bloku DB1. Odaberite varijablu
Podaci.Neispravni_proizvodi i zatim pritisnite Enter.
Na ovaj način je moguće odabrati bilo koju varijablu iz podatkovnog bloka i dodijeliti je
korištenoj naredbi. U ovom slučaju podaci o broju neispravnih proizvoda pohranjeni u
memorijskoj riječi MW12 se premještaju u varijablu s nazivom Podaci.Neispravni_proizvodi
u podatkovnom bloku Podaci. Prednost simboličkog adresiranja je u tome da je dovoljno samo
znati naziv varijable a ne i njezinu adresu u podatkovnom bloku.
4. U novi logički krug se umetnu naredbe i adrese kao što je prikazano na sljedećoj slici.
________________________________________________________________________290
SIMATIC S7 Programirljivi logički kontroleri
1. Prvo je potrebno OB1 i DB1 prebaciti na PLC. U SIMATIC Manageru označiti OB1 i
DB1 te desnim klikom miša aktivirajti izbornik opcija i odaberati PLC>Download ili
jednostavno kliknuti na ikonu Download na alatnoj traci.
2. U tablicu varijabli potrebno je unesti varijable kao što je prikazano na sljedećoj slici.
Klikom na ikonu Monitor se omogučava pračenje i mijenjanje vijednosti unešenih
varijabli. Za primjer u memorijske riječi MW10 i MW12 se unesu vrijednosti kao na
slici.
Ikona Monitor
Kao što se može vidjeti unešeni podaci se spremaju u varijable u podatkovnom bloku.
3. Sada otvorite podatkovni blok u kojem promijenite prikaz odabirom opcije izbornika
View>Data View. Ako odaberete opciju Monitor u stupcu Actual value je moguće
vidjeti trenutne vrijednosti svih varijabli u podatkovnom bloku.
________________________________________________________________________291
SIMATIC S7 Programirljivi logički kontroleri
4.3.6 Strukture
3. Varijabli u novom retku se dodijeli ime Broj_okretaja te joj se dodijeli tip podatka INT
s početnom vrijednošću 0.
4. Na isti način se ubace ostale varijable kao što je prikazano sljedećom slikom.
________________________________________________________________________292
SIMATIC S7 Programirljivi logički kontroleri
5. U istom podatkovnom bloku se kreira nova strukturu pod nazivom Motor_2. Označi se
posljednji redak podatkovnog bloka te desnim klikom miša aktivira izbornik opcija i
odabere Declaration Line before Selection da bi se ubacio novi redak. Za primjer
unese se ime strukture Motor_2 i odabere tip podatka STRUCT.
Elementi strukture se mogu koristi kao varijable u naredbi prilikom izrade programa u OB1.
Iz padajuće liste u polju za unos adrese u bloku naredbe moguće je odabrati podatkovni blok i
strukturu koja se želi koristiti. Za bolje razumjevanje dan je sljedeći primjer:
1. Otvori se OB1 i za primjer u logički krug se ubaci naredba za zbrajanje dvije varijable
s pomičnim zarezom.
________________________________________________________________________293
SIMATIC S7 Programirljivi logički kontroleri
Ako se klikne na '+' pokraj simbola Podaci_motora pojaviti će se popis svih struktura koje su
prethodno kreirane u podatkovnom bloku. Podaci_motora je simboličko ime podatkovnog
bolka koji sadrži strukture.
2. Dvostrukim klikom na '+' pokraj strukture Motor_1 Motor_2 otvori se popis svih
varijabli unutar odabrane strukture.
4.3.7 Polja
Polje (engl. Array) se sastoji od nekoliko elemenata istog podatkovnog tipa. Ključno ime
za polje je ARRAY [n..m] pri ćemu n određuje početni element dok m određuje posljednji
element polja. Prvi (n) i posljednji (m) element navedeni su uglatim zagradama. Vrijednosti
početnih i posljednjih elemenata se mogu kretati u rasponu od -32768 do 32767 u INT formatu.
Tako npr. [1..10] znači 10 elemenata od kojih prvi element ima indeks [1] a posljednji indeks
[10]. Za bolje razumjevanje dan je sljedeći primjer:
________________________________________________________________________294
SIMATIC S7 Programirljivi logički kontroleri
10. Unutar uglatih zagrada odabere se veličina polja. Za primjer unese se [1..10] što znači
da će polje sastojati od 10 elemenata.
11. U istom stupcu u sljedećem redu odabire se tip podatka elemenata polja dok se u stupcu
Initial value odabire početna vrijednost. Za primjer potrebno je odabrati tip podatka
REAL s početnom vrijednošću 0.0.
12. Da bi programski editor prikazao sva polja odabire se opcija izbornika View>Data
View. Tada prozor izgleda kao na sljedećoj slici.
U ovom prikazu mogu se vidjeti trenutne vrijednosti spremljene u stupacu Actual value.
________________________________________________________________________295
SIMATIC S7 Programirljivi logički kontroleri
Korisnički definirani podatkovni tipovi UDT (engl. User Defined Data Type) su korisnički
definirane strukture. Spremaju se u UDT blokove (UDT1 do UDT65535) i mogu se korsititi
kao predložak u podatkovnom tipu drugih varijabli.
Ovi podatkovni tipovi koriste se za:
U polju pod opcijom Name odabire se broj UDT bloka. Klikne se OK i u spremnik Blocks će
biti ubačen blok UDT1.
10. Kreiranom bloku UDT1 u tablici simbola pridjeli se simboličko ime Sastojci.
________________________________________________________________________296
SIMATIC S7 Programirljivi logički kontroleri
13. Sada za primjer potrebno je kreirati novi podatkovni blok. U prozoru koji se pojavi
prilikom kreiranja podatkovnog bloka u polju pod opcijom Name and type odabere se
DB of type a potom UDT s podatkovnom strukturom koja se želi koristiti. U ovom
slučaju odabere se prethodno kreirani UDT1 blok.
14. Kliknie se OK i u spremnik Blocks će biti ubačen novi podatkovni blok koji koristi
podatkovnu strukturu iz UDT1 bloka.
15. Ako se sada otvori podatkovni blok može se vidjeti da je automatski unijeta korisnički
definirana podatkovna struktura iz UDT1 bloka.
Ako se ista struktura želi korisiti više puta u jednom podatkovnom bloku moguće je u polju za
podatkovni tip odabrati UDT. Za bolje razumjevanje dan je sljedeći primjer:
________________________________________________________________________297
SIMATIC S7 Programirljivi logički kontroleri
1. Potrebno je kreirati novi zajednički podatkovni blok tako da u polju pod opcijom Name
and type se odaberete Shared DB. U tablici simbola ovom podatkovnom bloku dodijeli
se simboličko ime Razne_smjese.
2. Otvori se podatkovni blok te se unese naziv polja s tri elementa korisnički definirane
podatkovne strukture UDT1 kao što je prikazano sljedećom slikom.
Na ovaj način ista podatkovna struktura se ponavlja tri puta. U ovom prikazu moguće je u
stupcu Actual value upisati nove vrijednosti odnosno promijeniti iznos Sastojaka.
________________________________________________________________________298
SIMATIC S7 Programirljivi logički kontroleri
U ovome dijelu će biti objašnjeno napredno korištenje funkcija i funkcijskih blokova Step7
programskog paketa na složenom primjeru direktno pokretanog motora. Dano je idejno rješenje
sustava, te je opisano cjelokupno programsko rješenje. Opisani su modovi rada sustava, te ostale
dodatne mogućnosti koje sustav posjeduje.
Uz sve navedene modove rada proces sadrži i dojavu alarma ukoliko izbaci motorna
zaštitna sklopka, ukoliko se pokvari motorni sklopnik ili ukoliko dođe do upotrebe SSWa.
Sadrži i opcije ON delay, OFF delay i ALARM delay koje se unose unutar SCADA aplikacije.
Opcije ON delay i OFF delay služe da npr. kada pritisnemo tipkalo start, odnosno stop bez
obzira koliko mi brzo pritisnuli navedena tipkala signali koje proizvedu ta tipkala ostaju aktivni
zadano vrijeme. Alarm delay služi signalizaciji paljenja odnosno gašenja motora, te se također
može odrediti vrijeme koje je potrebno da signalizacija bude aktivna.
________________________________________________________________________299
SIMATIC S7 Programirljivi logički kontroleri
Kao što je vidljivo na slici 265. prvi uređaj koji je spojen na električnu mrežu je
motorna zaštitna sklopka. Slijedi motorni sklopnik, neposredno prije motora je spojen
sigurnosni prekidač. Tek nakon tih uređaja spojeno je trošilo (u našem slučaju trofazni
motor). U tekstu koji slijedi bit će objašnjeni navedeni uređaji.
________________________________________________________________________300
SIMATIC S7 Programirljivi logički kontroleri
________________________________________________________________________301
SIMATIC S7 Programirljivi logički kontroleri
Slika 270. Upravljački dio PLC uređaja i shema spajanja upravljačkih signala
Slika 271. Skica sustava kojemu je svrha upravljanje i nadzor direktno pokretanog motora
________________________________________________________________________302
SIMATIC S7 Programirljivi logički kontroleri
Slika 272. Skica kontrolne ploče koja se nalazi u blizini motora u lokalnom modu rada
Slika 273. Skica upravljačke ploče i i SCADA aplikacije u Manualnom modu rada
Slika 274. Skica upravljačke ploče i SCADA aplikacije u Automatskom modu rada
________________________________________________________________________303
SIMATIC S7 Programirljivi logički kontroleri
Slika 275. Dio FB DOL-FB unutar OB1 - pokretanje AUTOMATIC MODE rada
________________________________________________________________________304
SIMATIC S7 Programirljivi logički kontroleri
dok se blok obrađuje. Privremeni podaci nisu više dostupni nakon što se blok zatvori ili nakon
što proces završi.Na slici 277. je vidljiv izgled tablice navedenog bloka.
Pri unosu parametara moraju se pravilno odabrati tipovi ulaza i izlaza kako bi se adrese
automatski pravilno dodjelile i deklarirale baš kao na slici 278. (BOOL,S5TIME,TIMER).
Važno je napomenuti da IN i TEMP parametri nemaju iste adrese jer se se parametri spremaju
na adrese u različite spremnike.
________________________________________________________________________305
SIMATIC S7 Programirljivi logički kontroleri
Primjer:
adresa
IN automatic_mode 0.0
TEMP running_delay_offbit 0.0
ADRESE NISU JEDNAKE!
Funkcijski blok FB1 je glavni dio programa. Program se piše unutar funkcijskog bloka iz
razloga jer funkcijski blokovi omogućuju izradu univerzalne logike koja se kasnije može
upotrijebiti više puta. Kada se izradi funkcijski blok, tome bloku nisu dodijeljene nikakve
fizičke adrese, već isključivo memorijske lokacije koje izvršavaju kompletnu logiku
upravljanja. Taj funkcijski blok se može kasnije upotrijebiti neograničen broj puta tako da ga
pozovemo u glavni organizacijski blok. Tek u organizacijskome bloku će se dodijeliti fizičke
adrese pozvanom funkcijskom bloku. Funkcijski blok sadrži logiku upravljanja direktno
pokretanim motorom. Ukoliko unutar postrojenja postoji nekoliko takvih motora jednostavno
se koristi uvijek isti funkcijski blok kojemu su u organizacijskom bloku samo pridijeljene
druge fizičke adrese. Iz tog razloga programeri koji dobro poznaju rad s funkcijama i
funkcijskim blokovima u velikoj su prednosti nad onima koji nisu upoznati s njihovom
upotrebom. Pozivanju funkcijskog bloka prethodi pozivanje organizacijskog bloka. Ukratko,
da bi se generirao DB1, mora se pozvati FB1 u organizacijskom bloku OB1. Organizacijski
blok se poziva na način da desnim klikom se odabere opcija Insert New Object →
Organization Block. Kao i kod funkcijskog bloka odabire se ime bloka (OB1) i programski
jezik s kojim će se raditi. U Network 1 se dodaje funkcijski blok FB1 koji se nalazi s lijeve
strane pod folderom FB blocks. Pod “crvene upitnike“ koji predstavljaju ime funkcijskog
bloka se upiše DB1. Pojavit će se upit dali se želi generirati data block DB1, odabire se Yes te
se on automatski generira sa prethodno deklariranim ulazima i izlazima te njihovim adresama
i tipovima podataka. Nakon generiranja DB1 željenu funkciju funkcijskog bloka se ostvaruje
dodavanjem logičkih krugova u FB1. Elementima logičkih krugova se dodjeljuju imena
prema slikama krugova. Imena se nalaze u kreiranom podatkovnom bloku DB1. Pošto se
adrese pozivaju na više mjesta ovime se krati vrijeme potrebno za pisanje programa.
NAPOMENA: to nisu fizičke adrese, one se dodjeljuju kasnije u OB1!
________________________________________________________________________306
SIMATIC S7 Programirljivi logički kontroleri
________________________________________________________________________307
SIMATIC S7 Programirljivi logički kontroleri
Na slici 281. je vidljiva ovisnost modova rada koji pokreću sustav i maintenance moda koji
svojom aktivacijom zaustavlja kompletni rad sustava.
________________________________________________________________________308
SIMATIC S7 Programirljivi logički kontroleri
Na slici 284. su vidljivi uvjeti setiranja i resetiranja bitova na izlazu koji su namijenjeni
upravljanju off delaya. U donjem dijelu teksta bit će objašnjeno kako dobiti logički krug kao
na slici i riješiti problematični čvor.
________________________________________________________________________309
SIMATIC S7 Programirljivi logički kontroleri
Nakon što se dodaju elementi prema slici, otvorena grana se zatvorimo na način označen
crvenom bojom. Idući korak je zatvaranje “plave“ grane prema slici. Nakon toga mišem se
označi “crveni“ čvor i dodaje otvorena grana (open branch) te na nju se dodaje izlaz
(#running_delay_offbit) koji zatvara spomenutu granu i na kraju se ubaci timer između čvora
i izlaza.
Na slici 285. su vidljivi uvjeti setiranja i resetiranja bitova na izlazu koji su namijenjeni
upravljanju on delaya.
________________________________________________________________________310
SIMATIC S7 Programirljivi logički kontroleri
Na slici 286. je vidljiva aktivacija alarm delaya pomoću uvijeta on i off delaya uz upotrebu
timera.
Na slici 287. su vidljivi uvjeti koji alarmiraju sustav ako pomoćni kontakt sklopnika ne uklopi
ili isklopi u zadano vrijeme.
________________________________________________________________________311
SIMATIC S7 Programirljivi logički kontroleri
Na slici 288. je vidljiv uvjet koji setira alarm koji signalizira aktivaciju sigurnosnog
prekidača, vidljiva je i jedina mogućnost resetiranja alarma koja je univerzalna za sve alarme
unutar ovoga projekta.
________________________________________________________________________312
SIMATIC S7 Programirljivi logički kontroleri
Na slici 289 i 290 su vidljivi uvjeti koji ako se ispune aktiviraju alarm koji je vezan uz
motornu zaštitnu sklopku. Ako motor radi, a motorna zaštitna sklopka izbaci aktivira se
alarm.
Na slici 291 je vidljivo da aktivacijom bilo kojeg alarma se aktivira bit na izlazu. Taj bit koji
obuhvaća sve alarme služi za prikaz alarma unutar SCADA aplikacije.
________________________________________________________________________313
SIMATIC S7 Programirljivi logički kontroleri
Funkcija radi tako da kada na njen ulaz se dovede neki realni broj. Unutar programa taj realni
broj predstavlja instrukcija #REAL_INPUT vidljiv na slici 292. Nakon unosa broja funkcija
uspoređuje taj broj s vrijednostima. Ukoliko je uneseni broj u rasponu od 0 do 9. 9 tada
funkcija poziva label P0 iz mreže 2, te uneseni realni broj zaokružuje na 2 decimalna mjesta.
Ukoliko je uneseni broj u rasponu od 9. 9 do 99 tada poziva label P1, te uneseni realni broj
zaokružuje na 1 decimalno mjesto. Ukoliko je uneseni broj u rasponu od 99 do 999 tada
poziva label P2, te uneseni realni broj zaokružuje (bez decimalnih mjesta).
________________________________________________________________________314
SIMATIC S7 Programirljivi logički kontroleri
Ukoliko je uneseni broj veći od 999, bez obzira koji to broj bio timer ne može brojiti više od
999 sekundi. U tom slučaju funkcija se ponaša kao da je unijet broj 999 a ne neki veći. Unos
većeg broja od 999 je također onemogućen unutar SCADA aplikacije.
Prednost prikazanog bloka na slici 294. je ta što funkcijski blok prihvaća na svoj ulaz realne
brojeve sa SCADA aplikacije. Nedostatak mu je da kod kopiranja funkcijskog bloka unutar
________________________________________________________________________315
SIMATIC S7 Programirljivi logički kontroleri
kojega se nalazi navedeni program ne poziva za sobom automatski sistemsku funkciju FC40 pa
je načelno potrebno svaki puta tu funkciju umetati u novostvoreni funkcijski blok.
Slika 295. Poziv funkcijskog bloka FB1 i njegovog pridruženog podatkovnog bloka DB 1
________________________________________________________________________316
SIMATIC S7 Programirljivi logički kontroleri
Na slici 295. je vidljiv poziv funkcijskog bloka FB1 i njegovog pridruženog bloka DB 1
unutar organizacijskog bloka OB 1. Cijela logika procesa rad direktno pokretanog motora se
nalazi unutar funkcijskog bloka, a tek nakon poziva bloka u organizacijski blok funkcijskom
bloku dodjeljujemo fizičke adrese. To je i smisao upotrebe funkcijskih blokova jer ako npr.
unutar nekog postrojenja imamo više istih motora, tada nije potrebno svaki put iznova pisati
kod, već jednostavno se pozove funkcijski blok još jednom unutar organizacijskog bloka, te
mu se pridodaju fizičke adrese po potrebi.
Na slikama 296, 297 i 298 je prikazan poziv funkcije FC 1 unutar organizacijskog bloka OB1.
Funkcija je programirana tako da je njena zadaća pretvorba realnih brojeva u S5Time format.
Lijepo je vidljivo da je3 puta pozvana ista funkcija, te su joj pridijeljene nakon svakog poziva
druge fizičke adrese.
________________________________________________________________________317
SIMATIC S7 Programirljivi logički kontroleri
________________________________________________________________________318
SIMATIC S7 Programirljivi logički kontroleri
- ASCII (eng. American Standard Code for Information Interchange, Američki standardni
znakovnik za razmjenu informacija ili Američki standardni znakovnik za razmjenu
obavijesti) način je kodiranja znakova temeljen na engleskoj abecedi.
- Bajt (eng. byte) je najmanja grupa bitova koju procesor može obrađivati i sastoji se od 8
bitova
- BCD ili binarno kodirani decimalni broj (izvorno engleski binary-coded decimal) ime je
za vrstu kodiranja odnosno prestavljanja decimalnih brojeva u binarnom obliku, u
kojem je svaki decimalni broj predstavljen s fiksnim brojem binarnih brojeva
- Bit (eng. binary digit, skraćeno bit) koji predstavlja najmanju podatkovnu jedinicu
memorije
- Brojači impulsa visokih frekvencija (eng. High Speed Counter)
- Brojevi sa pokretnim ("plivajućim") zarezom (eng. floating point numbers) prema
ANSI/IEEE 754 FP normi (eng. IEEE Standard for Binary Floating-Point Arithmetic).
- Cijeli brojevi bez predznaka (eng. Unsigned integers)
- Cijeli brojevi s predznakom (eng. Signed integers).
- Cijeli broj (eng. Integer).
- Cijeli broj dvostruke veličine (eng. Double Integer)
- Dugi cijeli broj (eng. Long Integer).
- EAROM - Električki promjenjiva stalna memorija (eng. Electrically alterable read-only-
memory)
- EEPROM - Električki obrisiva programirljiva stalna memorija (eng. Electrically
erasable programmable read-only-memory)
- EPROM - Izbrisiva programirljiva stalna memorija (eng. Erasable Programmable read-
only memory)
- Gray kod pripada skupini kodova s minimalnom promjenom jer se susjedne kodne riječi
razlikuju za samo jedan bit
- PID regulator – element proporcionalno-integralnog-derivativnog djelovanja u
sustavima regulacije sa povratnom vezom široko korišten u industrijskim sustavima
upravljanja i nizom drugih aplikacija koje zahtijevaju vremenski kontinuiranu regulaciju
- Relej je mehanička vrsta prekidača čije je stanje (uključeno ili isključeno) upravljano
električnim nabojem, tj. posredstvom elektromagneta
- Realni brojevi (eng. float point)
- ROM - Stalna memorija (eng. Read-only memory)
- RAM - Memorija s izravnim pristupom (eng. Random-access memory)
- PROM - Programirljiva stalna memorija (eng. Programmable read-only memory)
- Riječ (eng. word). Riječi su grupe bitova koje se sastoje od jednog ili više bajtova te se
često još nazivaju registri ili memorijske lokacije. Standardne veličine riječi su 8, 16 ili
32 bita
- SCADA (еng. Supervisory Control And Data Acquisition) predstavlja računalni sustav
za nadzor, mjerenje i upravljanje industrijskim sustavimaciklus rada (eng. scan time)
- Svjetleća dioda ili LED (eng. Light Emitting Diode) je poluvodički elektronički element
koji pretvara električni signal u optički (svjetlost).
________________________________________________________________________319