You are on page 1of 333

SIMATIC S7 Programirljivi logički kontroleri

Goran Malčić
Danijel Maršić

Simatic S7
Programirljivi logički kontroleri

_________________________________________________________________________
SIMATIC S7 Programirljivi logički kontroleri

PRIRUČNICI TEHNIČKOG VELEUČILIŠTA U ZAGREBU


MANUALIA POLYTECHNICI STUDIORUM ZAGRABIENSIS

Goran Malčić
Danijel Maršić

SIMATIC S7 PROGRAMIRLJIVI LOGIČKI KONTROLERI

Udžbenik na kolegiju ‘Programirljivi logički kontroleri’ koji se


održava u sklopu nastave na dodiplomskim studijima elektrotehnike i
mehatronike Tehničkog veleučilišta u Zagrebu

Zagreb, 2020.

_________________________________________________________________________
SIMATIC S7 Programirljivi logički kontroleri

izdavač Tehničko veleučilište u Zagrebu


Vrbik 8, Zagreb
za izdavača Goran Malčić
autori Goran Malčić,
Danijel Maršić

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

vrsta djela Udžbenik

prijelom Mario Lučan, Mladen Valentić


teksta
Objavljivanje je odobrilo Stručno vijeće Tehničkog veleučilišta u Zagrebu
odlukom broj: 3596-2. red. 11/20 od 17. studenog 2020.
ISBN 978-953-7048-92-1
CIP zapis Dostupan u računalnom katalogu Nacionalne i sveučilišne knjižnice u Zagrebu
pod brojem 001084299

_________________________________________________________________________
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

3 Programiranje PLC uređaja S7-300 ........................................................................................................ 90


3.1 Programski jezici u STEP 7 ....................................................................................................................... 92
3.1.1 Ljestvičasti dijagrami (LAD) ........................................................................................................... 94
3.1.2 Funkcijski blok dijagrami (FBD)...................................................................................................... 96
3.1.3 Statement list (STL) ....................................................................................................................... 97
3.1.4 Sekvencijalni funkcijski dijagram (SFC) .......................................................................................... 98
3.1.5 Naredbe na razini bita ................................................................................................................... 99
3.2 Vježba - Rad s naredbama na razini bita .............................................................................................. 106
3.3 Učitavanje programa u PLC .................................................................................................................. 119
3.4 Praćenje i testiranje korisničkog programa .......................................................................................... 121
3.4.1 Odabir načina rada test moda ..................................................................................................... 121
3.4.2 Testiranje programa pomoću opcije za praćenje statusa programa ........................................... 121
3.5 Modificiranje postojećeg programa...................................................................................................... 125
3.5.1 Zamjena adresa ........................................................................................................................... 125
3.5.2 Prioritet adresa............................................................................................................................ 127
3.5.3 Mijenjanje programa ................................................................................................................... 131
3.5.3.1 Dodavanje komentara logičkom krugu .............................................................................. 133

_________________________________________________________________________
SIMATIC S7 Programirljivi logički kontroleri

3.5.4 Spremanje i učitavanje programa u PLC...................................................................................... 134


3.6 Testiranje programa pomoću tablice varijabli ...................................................................................... 135
3.6.1 Kreiranje tablice varijali ............................................................................................................... 136
3.6.2 Postavljanje točke okidanja ......................................................................................................... 138
3.6.3 Praćenje i promjena vrijednosti varijabli ..................................................................................... 139
3.6.4 Forsiranje varijabli ....................................................................................................................... 142
3.6.5 Omogućavanje perifernih izlaza .................................................................................................. 143
3.7 Ostale naredbe na razini bita (LAD) ...................................................................................................... 144
3.7.1 Rad s naredbom Midline Output ................................................................................................. 144
3.7.2 Naredbe Set Coil i Reset Coil – postavljanje i brisanje ................................................................ 146
3.7.3 Rad s naredbama Set Coil i Reset Coil ......................................................................................... 147
3.7.4 Bistabili ........................................................................................................................................ 151
3.7.5 Naredba Reset-Set Flip Flop – RS bistabil .................................................................................... 152
3.7.6 Rad s naredbama Set-Reset Flip Flop i Reset-Set Flip Flop.......................................................... 153
3.7.7 Naredbe za detekciju brida rezultata logičke operacije .............................................................. 157
3.7.7.1 Naredba Positive RLO Edge Detection – Detekcija pozitivnog brida RLO .......................... 157
3.7.7.2 Naredba Negative RLO Edge Detection – Detekcija negativnog brida RLO ....................... 158
3.7.8 Naredbe za detekciju brida signala ............................................................................................. 161
3.7.8.1 Naredba Address Positive Edge Detection – Detekcija pozitivnog brida signala ............... 161
3.7.8.2 Naredba Address Negative Edge Detection – Detekcija negativnog brida signala ............ 162
3.8 Naredbe na razini bita (FBD) ................................................................................................................. 165
3.8.1 Naredba pridruži izlaz .................................................................................................................. 165
3.8.2 I logička vrata .............................................................................................................................. 166
3.8.3 ILI logička vrata ............................................................................................................................ 167
3.8.4 Eksluzivno ILI (EXOR, XOR, XILI) ................................................................................................... 168
3.8.5 Binarni ulaz i Negacija ................................................................................................................. 169
3.8.6 Dodavanje izlaza .......................................................................................................................... 169
3.9 Naredbe na razini bita (STL) .................................................................................................................. 171
3.9.1 I naredba (AND) ........................................................................................................................... 171
3.9.2 NI naredba (AND Not) ................................................................................................................. 172
3.9.3 ILI naredba (OR)........................................................................................................................... 173
3.9.4 NILI naredba (NOR) ..................................................................................................................... 174
3.9.5 Ekskluzivno ILI (X) ........................................................................................................................ 175
3.9.6 Ekskluzivno NILI (XN) ................................................................................................................... 176
3.9.7 Set-Reset naredba (S-R) .............................................................................................................. 177
3.10 Timeri ............................................................................................................................................... 178
3.10.1 Opis pojedinih funkcija timera................................................................................................ 178
3.10.2 Određivanje trajanja vremenske vrijednosti .......................................................................... 179
3.10.3 Opis rada timera ..................................................................................................................... 182
3.10.3.1 S_PULSE – Pulse Timer ....................................................................................................... 182
3.10.3.2 S_PEXT – Extended Pulse Timer ......................................................................................... 183
3.10.3.3 S_ODT – On-Delay Timer ................................................................................................... 184
3.10.3.4 S_ODTS – Retentive On-Delay Timer ................................................................................. 185
3.10.3.5 S_OFFDT – Off-Delay Timer ............................................................................................... 186
3.10.4 Rad s timerima ........................................................................................................................ 187
3.10.5 Provjera rada timera ............................................................................................................... 191
3.10.6 Zadatak za vježbu ................................................................................................................... 193
3.11 Brojila ............................................................................................................................................... 197
3.11.1 Prikaz brojila pomoću blokova ............................................................................................... 197
3.11.2 Opis pojedinih funkcija brojila ................................................................................................ 198
3.11.3 Vrste brojila ............................................................................................................................ 200
3.11.4 Prikaz brojila pomoću bit naredbi .......................................................................................... 202
3.12 Naredbe usporedbe .......................................................................................................................... 208

_________________________________________________________________________
SIMATIC S7 Programirljivi logički kontroleri

3.13 Podešavanje analognog ulaza ......................................................................................................... 210


3.13.1 Rad sa naredbama usporedbe ................................................................................................ 211
3.13.1.1 CMP== naredba (naredba jednakosti) ............................................................................... 212
3.13.1.2 CMP <> naredba (naredba nejednakosti) .......................................................................... 212
3.13.1.3 CMP  naredba (naredba veće ili jednako) ...................................................................... 213
3.13.1.4 CMP < naredba (naredba manje) ....................................................................................... 213
3.13.1.5 CMP < naredba (naredba manje ili jednako) ..................................................................... 214
3.14 Aritmetičke naredbe ......................................................................................................................... 216
3.14.1 Rad sa aritmetičkim naredbama ............................................................................................. 218
3.14.1.1 SUB_ naredba oduzimanja ................................................................................................ 219
3.14.1.2 MUL_ naredba množenja .................................................................................................. 220
3.14.1.3 DIV_ naredba dijeljenja ..................................................................................................... 220
3.15 Naredbe pomaka.............................................................................................................................. 222
3.15.1 Rad sa naredbama pomaka .................................................................................................... 224
3.15.1.1 SHL_W / SHL_DW naredba pomaka riječi/dvostruke riječi u lijevo. ................................. 224
3.15.1.2 SHR_W / SHR_DW naredba pomaka riječi/dvostruke riječi u desno. ............................... 225
3.15.1.3 SHR_I / SHR_DI naredba pomaka cijelog broja (INT,DINT) u desno sa predznakom. ....... 225
3.15.1.4 ROL_DW naredba rotacije varijable dužine dvostruke riječi u lijevo. ............................... 226
3.15.1.5 ROR_DW naredba rotacije varijable dužine dvostruke riječi u lijevo. .............................. 227
3.16 Naredbe pretvorbe ........................................................................................................................... 228
3.16.1.1 Pretvorba INT i DINT brojeva ............................................................................................. 228
3.16.1.2 Pretvorba iz INT u DINT...................................................................................................... 229
3.16.1.3 Pretvorba iz INT u BCD ....................................................................................................... 229
3.16.1.4 Pretvorba iz DINT u BCD .................................................................................................... 230
3.16.1.5 Pretvorba iz DINT u REAL ................................................................................................... 231
3.16.1.6 Pretvorba BCD brojeva ...................................................................................................... 231
3.16.1.7 Pretvorba iz BCD u DINT .................................................................................................... 232
3.16.1.8 Pretvorba REAL brojeva ..................................................................................................... 233
3.16.1.9 Zaokruživanje u sljedeći manji cijeli broj ........................................................................... 233
3.16.1.10 Zaokruživanje u sljedeći cijeli broj ................................................................................ 233
3.16.1.11 Bez zaokruživanja .......................................................................................................... 234
3.16.1.12 Kratak pregled pretvorbe iz REAL u DINT ...................................................................... 234
3.17 Ostale funkcije pretvorbe ................................................................................................................. 235
3.17.1.1 Prvi komplement INT ......................................................................................................... 235
3.17.1.2 Prvi komplement DINT ....................................................................................................... 235
3.17.1.3 Negacija INT ....................................................................................................................... 235
3.17.1.4 Negacija DINT..................................................................................................................... 236
3.17.1.5 Negacija REAL .................................................................................................................... 236

4 Programski blokovi ............................................................................................................................. 237


4.1 Organizacijski blokovi ........................................................................................................................... 237
4.1.1 Korisnički program ...................................................................................................................... 237
4.1.1.1 Startup rutine .................................................................................................................... 239
4.1.1.2 Glavni program .................................................................................................................. 239
4.1.1.3 Prekidne rutine .................................................................................................................. 239
4.1.1.4 Rutine greške ..................................................................................................................... 240
4.1.2 Prioritet izvođenja ....................................................................................................................... 241
4.1.3 Start-up rutine ............................................................................................................................. 241
4.1.4 Prekidne servisne rutine.............................................................................................................. 244
4.1.4.1 Time-of-Day prekidi ........................................................................................................... 244
4.1.4.2 Podešavanje Time-of-Day prekida aktiviranjem u karakteristikama CPU-a prilikom
konfiguracije sklopovlja ........................................................................................................................ 244
4.1.4.3 Podešavanje Time-of-Day prekida pozivanjem sistemskih funkcija .................................. 246
4.1.4.4 SFC 28 SET_TINT - Podešavanje Time-of-Day prekida ....................................................... 247

_________________________________________________________________________
SIMATIC S7 Programirljivi logički kontroleri

4.1.4.5 SFC30 ACT_TINT - Aktiviranje Time-of-Day prekida........................................................... 248


4.1.4.6 SFC 29 CAN_TINT - Otkazivanje Time-of-Day prekida ....................................................... 250
4.1.4.7 SFC 31 QRY_TINT - Provjera stanja Time-of-Day prekida .................................................. 251
4.1.5 Time-Delay prekidi ...................................................................................................................... 255
4.1.5.1 SFC32 SRT_DINT - Aktiviranje Time-delay prekida ............................................................ 256
4.1.5.2 SFC33 CAN_DINT - Otkazivanje Time-delay prekida .......................................................... 258
4.1.5.3 SFC 34 QRY_DINT - Provjera Time-delay prekida............................................................... 259
4.1.6 Ciklički prekidi.............................................................................................................................. 262
4.1.7 Sklopovski prekidi ........................................................................................................................ 266
4.1.7.1 Sklopovski prekid na digitalnom ulaznom modulu ............................................................ 267
4.1.7.2 Sklopovski prekid na analognom ulaznom modulu ........................................................... 269
4.1.8 Prekidne rutine za obradu greške ............................................................................................... 272
4.1.8.1 Sinkrone greške ................................................................................................................. 272
4.1.8.2 Asinkrone greške (OB 80 – OB 87) ..................................................................................... 274
4.2 Funkcije (FC) .......................................................................................................................................... 276
4.2.1 Funkcija bez formalnih parametara ............................................................................................ 276
4.2.2 Funkcija s formalnim parametrima ............................................................................................. 277
4.3 Podatkovni blokovi ................................................................................................................................ 280
4.3.1 Adresiranje podatkovnih elemenata ........................................................................................... 281
4.3.2 Pristup podatkovnim elementima ............................................................................................... 282
4.3.3 Strukture u dijeljenim podatkovnim blokovima .......................................................................... 283
4.3.4 Primjer upotrebe podatkovnog bloka ......................................................................................... 284
4.3.5 Vježbe - Rad s podatkovnim blokovima ...................................................................................... 286
4.3.5.1 Izrada podatkovnog bloka ................................................................................................. 286
4.3.5.2 Izrada programa u OB1 ...................................................................................................... 289
4.3.5.3 Testiranje programa .......................................................................................................... 291
4.3.6 Strukture ..................................................................................................................................... 292
4.3.6.1 Pristup elementima strukture u OB1 ................................................................................. 293
4.3.7 Polja ............................................................................................................................................. 294
4.3.8 Korisnički definirani podatkovni tipovi ........................................................................................ 296

5 Nadzor i upravljanje radom direktno pokretanog motora ................................................................... 299


5.1 Energetska shema i princip rada direktno pokretanog motora ............................................................ 299
5.1.1 Motorna zaštitna sklopka ............................................................................................................ 300
5.1.2 Motorni sklopnik ......................................................................................................................... 300
5.1.3 Sigurnosni prekidač ( SSW) .......................................................................................................... 301
5.1.4 Grebenasta preklopka ................................................................................................................. 301
5.2 Spajanje upravljačkih signala direktno pokretanog motora ................................................................. 301
5.3 Modovi rada direktno pokretanog motora ........................................................................................... 302
5.3.1 Local Mode .................................................................................................................................. 303
5.3.2 Manual Mode .............................................................................................................................. 303
5.3.3 Automatic Mode ......................................................................................................................... 303
5.3.4 Maintenance Mode ..................................................................................................................... 304
5.4 Izrada rješenja unutar Step7 programskog paketa .............................................................................. 304
5.4.1 Podatkovni blok (DB 1) ................................................................................................................ 304
5.4.2 Funkcijski blok (FB1) .................................................................................................................... 306
5.4.3 Funkcija (FC 1) – korištena verzija rješenja ................................................................................. 313
5.4.4 Funkcija (FC 1) – moguća verzija rješenja .................................................................................... 315
5.4.5 Organizacijski blok (OB 1) ............................................................................................................ 316

6 Popis korištene literature .................................................................................................................... 318

7 Abecedni popis pojmova ..................................................................................................................... 319

_________________________________________________________________________
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

Slika 57. Okvir za dijalog Set PG/PC Interface .................................................................................................... 64


Slika 58. Accessible Nodes prozor s jednom S7 stanicom .................................................................................... 65
Slika 59. Novi projekt u SIMATIC Manager-u kreiran opcijom File → New ...................................................... 66
Slika 60. Projekt sa umetnutom SIMATIC 300 Stanicom .................................................................................... 67
Slika 61. Kompletna struktura projekta nakon kreiranja sklopovske konfiguracije S7 stanice ............................. 67
Slika 62. Prozor alata za konfiguracija sklopovlja ................................................................................................ 69
Slika 63. Pregled osnovnih koraka ........................................................................................................................ 69
Slika 64. Prozor HW Config alata ......................................................................................................................... 70
Slika 65. Umetanje montažnog okvira HW Config alata ...................................................................................... 70
Slika 66. Fizički raspored komponeneta odgovara programskom rasporedu ........................................................ 71
Slika 67. Umetanje napajanja unutar HW Config alata ........................................................................................ 71
Slika 68. Prikaz narudžbenog broja....................................................................................................................... 72
Slika 69. Umetanje procesora HW Config alata ................................................................................................... 72
Slika 70. Konfiguracija unutar HW Config........................................................................................................... 73
Slika 71. Okvir za pregled adresa modula ............................................................................................................. 74
Slika 72. Okvir za promjenu adresa digitalnog ulazno/izlaznog modula .............................................................. 74
Slika 73. Promjena početnih adresa modula ......................................................................................................... 75
Slika 74. Okvir za dodijeljivanje simbola adresama digitalnog ulazno/izlaznog modula ..................................... 75
Slika 75. Dodjeljivanje simbola adresi .................................................................................................................. 76
Slika 76. Parametri kartice General....................................................................................................................... 76
Slika 77. Okvir za podešavanje MPI adrese procesora ......................................................................................... 77
Slika 78. Parametri kartice Startup ........................................................................................................................ 77
Slika 79. Parametri kartice Cycle/Clock Memory ................................................................................................. 78
Slika 80. Memorijski bitovi s pripadajućim frekvencijama promjene signala ...................................................... 79
Slika 81. Parametri kartice Retentive Memory ..................................................................................................... 79
Slika 82. Parametri kartice Protection ................................................................................................................... 80
Slika 83. Okvir s postavkama DP konektora ......................................................................................................... 81
Slika 84. Okvir za podešavanje Profibus adrese procesora ................................................................................... 82
Slika 85. Parametri kartice General....................................................................................................................... 82
Slika 86. Okvir za podešavanje IP adrese komunikacijskog procesora ................................................................. 83
Slika 87. Prozor Consistency check ...................................................................................................................... 84
Slika 88. Prozor Consistency check s popisom grešaka ........................................................................................ 84
Slika 89. Prozor Select Target Module ................................................................................................................. 85
Slika 90. Preklopka moda rada na CPU ................................................................................................................ 85
Slika 91. Prozor Select node adres ........................................................................................................................ 86
Slika 92. Prozor Enter connection to target station PROFIBUS adress ................................................................ 86
Slika 93. Prozor Enter connection to target station Industrial Ethernet ................................................................ 87
Slika 94. Prozor Download ................................................................................................................................... 87
Slika 95. Objekt S7 Program ................................................................................................................................. 87
Slika 96. Radna površina....................................................................................................................................... 88
Slika 97. Radno mjesto za programiranje PLC uređaja ........................................................................................ 90
Slika 98: Izbor načina programiranja .................................................................................................................... 92
Slika 99: Primjer Ladder logike ............................................................................................................................ 93
Slika 100: Primjer FBD logike .............................................................................................................................. 93
Slika 101: Primjer STL programskog koda ........................................................................................................... 93
Slika 102: Logička mreža (network), grana ili rung.............................................................................................. 94
Slika 103: Grana sa označenim izlaznim i ulaznim naredbama ............................................................................ 94
Slika 104: Prekid logičkog kontinuiteta ................................................................................................................ 95
Slika 105: Ostvaren logički kontinuitet ................................................................................................................ 95
Slika 106: Realiziranje logičke funkcije I pomoću normalno otvorenih kontakata .............................................. 95
Slika 107: Diagram stanje-vrijeme logičke funkcije I sa tri ulaza......................................................................... 96
Slika 108: Primjer FBD koda ................................................................................................................................ 96
Slika 109: Primjer STL koda................................................................................................................................. 97
Slika 110: Primjer SFC koda................................................................................................................................. 98
Slika 111: Jasno definiran signal bez zabranjenog područja ................................................................................. 99
Slika 112: Kontinuirani signal koji prolazi kroz zabranjeno područje ................................................................ 100
Slika 113. Osnovne naredbe LD ......................................................................................................................... 100
Slika 114. Simbol normalno otvorenog kontakta ................................................................................................ 101
Slika 115. Rad NO kontakta................................................................................................................................ 101
Slika 116. Provjera stanja signala pomoću naredbe NO Contact ........................................................................ 102

_________________________________________________________________________
SIMATIC S7 Programirljivi logički kontroleri

Slika 117. Dijagram stanje vrijeme za NO Contact naredbu ............................................................................... 102


Slika 118. Simbol normalno zatvorenog kontakta .............................................................................................. 102
Slika 119. Rad NC kontakta ................................................................................................................................ 103
Slika 120. Provjera stanja signala pomoću naredbe NC Contact ........................................................................ 103
Slika 121. Dijagram stanje vrijeme za NC Contact naredbu ............................................................................... 104
Slika 122. Simbol naredbe za invertiranje logičkog kontinuiteta ........................................................................ 104
Slika 123. Dijagram stanje vrijeme za Invert Power Flow naredbu .................................................................... 104
Slika 124. Simbol izlazne naredbe ...................................................................................................................... 105
Slika 125. Dijagram stanje vrijeme za Output Coil naredbu ............................................................................... 105
Slika 126. Prozor Symbol editor ......................................................................................................................... 106
Slika 127. Kreiranje logičkog kruga ................................................................................................................... 108
Slika 128. Dodavanje kometara u prozoru Symbol editor .................................................................................. 117
Slika 129. Odabir načina rada test moda ............................................................................................................. 121
Slika 130. Okvir za zamjenu adresa .................................................................................................................... 125
Slika 131. Prazna tablica varijabli s pripadajućim stupcima ............................................................................... 135
Slika 132. Okvir za kreiranje tablice varijabli ..................................................................................................... 136
Slika 133. Izbornik za postavljanje točke okidanja ............................................................................................. 138
Slika 134. Odabir točke okidanja ........................................................................................................................ 139
Slika 135. Prozor a forsiranim varijablama ......................................................................................................... 142
Slika 136. Simbol naredbe za invertiranje logičkog kontinuiteta ........................................................................ 144
Slika 137. Dijagram stanje vrijeme za Midline Output naredbu ......................................................................... 144
Slika 138. Simboli naredbi za postavljanje i brisanje.......................................................................................... 146
Slika 139. Dijagram stanje vrijeme za Set Coil i Reset Coil naredbe ................................................................. 147
Slika 140. Simboli SR bistabila .......................................................................................................................... 152
Slika 141. Dijagram stanje vrijeme za Set-Reset Flip Flop naredbu ................................................................... 152
Slika 142. Simbol RS bistabila ............................................................................................................................ 152
Slika 143. Dijagram stanje vrijeme za Reset-Set Flip Flop naredbu ................................................................... 153
Slika 144. Simbol naredbe za detekciju pozivinog brida RLO-a ........................................................................ 157
Slika 145. Dijagram stanje vrijeme za Positive RLO Edge Detection naredbu .................................................. 157
Slika 146. Simbol naredbe za detekciju negativnog brida RLO-a ...................................................................... 158
Slika 147. Dijagram stanje vrijeme za Negative RLO Edge Detection naredbu ................................................. 158
Slika 148. Simbol naredbe za detekciju pozitivnog brida signala ....................................................................... 161
Slika 149. Dijagram stanje vrijeme za Address Positive Edge Detection naredbu ............................................. 161
Slika 150. Simbol naredbe za detekciju pozitivnog brida signala ....................................................................... 162
Slika 151. Dijagram stanje vrijeme za Address Negative Edge Detection naredbu ............................................ 162
Slika 152: Funkcija Pridruži; Assign .................................................................................................................. 165
Slika 153: Dijagram stanje-vrijeme Assign (pridruži) funkcije .......................................................................... 165
Slika 154: I logička vrata .................................................................................................................................... 166
Slika 155: Tablica stanja I logičkih vrata ............................................................................................................ 166
Slika 156: I logička vrata sa 3 ulaza i pridruženim izlazom ................................................................................ 166
Slika 157: Tablica stanja I logičkih vrata sa 3 ulaza ........................................................................................... 166
Slika 158: Dijagram stanje-vrijeme I logičkih vrata ........................................................................................... 167
Slika 159: ILI logička vrata sa pridruženim izlazom .......................................................................................... 167
Slika 160: Tablica stanja ILI logičkih vrata sa 2 ulaza ....................................................................................... 167
Slika 161: Dijagram stanje-vrijeme ILI logičkih vrata........................................................................................ 168
Slika 162: Eksluzivno ILI sa pridruženim izlazom ............................................................................................. 168
Slika 163: Tablica stanja vrata Eksluzivno ILI ................................................................................................... 168
Slika 164: Dijagram stanje-vrijeme Eksluzivno ILI logičkih vrata ..................................................................... 168
Slika 165: Dodavanje novih ulaza i negacija funkciji ILI ................................................................................... 169
Slika 166: Logička funkcija sa srednjim izlazom i negacijom ............................................................................ 170
Slika 167: Dijagram stanje-vrijeme funkcije sa srednjim izlazom i negacijom .................................................. 170
Slika 168: Korištenje srednjeg izlaza u složenoj funkciji.................................................................................... 170
Slika 169. Prikaz jednostavnog programa sa I naredbama (STL) ....................................................................... 171
Slika 170. Prikaz jednostavnog programa sa I naredbama (Ladder) ................................................................... 171
Slika 171. Vremenski dijagram I naredbe ........................................................................................................... 171
Slika 172. Prikaz jednostavnog programa sa NI naredbom (STL) ...................................................................... 172
Slika 173. Prikaz jednostavnog programa sa NI naredbom (Ladder) .................................................................. 172
Slika 174. Vremenski dijagram NI naredbe ........................................................................................................ 172
Slika 175. Prikaz jednostavnog programa sa ILI naredbom (STL) ..................................................................... 173
Slika 176. Prikaz jednostavnog programa sa ILI naredbom (Ladder) ................................................................. 173

_________________________________________________________________________
SIMATIC S7 Programirljivi logički kontroleri

Slika 177. Vremenski dijagram ILI naredbe ....................................................................................................... 173


Slika 178. Prikaz jednostavnog programa sa NILI naredbom (STL) .................................................................. 174
Slika 179. Prikaz jednostavnog programa sa NILI naredbom (Ladder) .............................................................. 174
Slika 180. Vremenski dijagram NILI naredbe ................................................................................................... 174
Slika 181. Prikaz jednostavnog programa sa X naredbom (STL) ....................................................................... 175
Slika 182. Prikaz jednostavnog programa sa X naredbom (Ladder) ................................................................... 175
Slika 183. Vremenski dijagram X naredbe ........................................................................................................ 175
Slika 184. Prikaz jednostavnog programa sa XN naredbom (STL) .................................................................... 176
Slika 185. Prikaz jednostavnog programa sa XN naredbom (Ladder) ................................................................ 176
Slika 186. Vremenski dijagram XN naredbe....................................................................................................... 176
Slika 187. Primjer programa sa SET-RESET naredbom (STL) .......................................................................... 177
Slika 188. Primjer programa sa SET-RESET naredbom (Ladder) ...................................................................... 177
Slika 189. Vremenski dijagram SET-RESET naredbe ........................................................................................ 177
Slika 190. Struktura formata zapisa vremena S5TIME ....................................................................................... 180
Slika 191. Dijagram stanje-vrijeme za S_PULSE timer ..................................................................................... 182
Slika 192. Dijagram stanje-vrijeme za S_PEXT timer ........................................................................................ 183
Slika 193. Dijagram stanje-vrijeme za S_ODT timer ........................................................................................ 184
Slika 194. Dijagram stanje-vrijeme za S_ODTS timer ....................................................................................... 185
Slika 195. Dijagram stanje-vrijeme za S_OFFDT timer ..................................................................................... 186
Slika 196. Prikaz brojila pomoću blokova .......................................................................................................... 197
Slika 197. Dijagram stanje - vrijeme brojila na više/niže, .................................................................................. 200
Slika 198. Dijagram stanje - vrijeme brojila na više ........................................................................................... 201
Slika 199. Dijagram stanje - vrijeme brojila na niže ........................................................................................... 201
Slika 200. Primjer pretvorbe iz INT u DINT ...................................................................................................... 229
Slika 201. Primjer pretvorbe INT u BCD ........................................................................................................... 230
Slika 202. Primjer pretvorbe DINT u BCD ......................................................................................................... 230
Slika 203. Primjer pretvorbe BCD u INT ........................................................................................................... 232
Slika 204. Primjer pretvorbe BCD u DINT ......................................................................................................... 232
Slika 205. Korisnički program ............................................................................................................................ 238
Slika 206. Izvođenje korisničkog programa ........................................................................................................ 238
Slika 207. Cikličko izvršavanje programa .......................................................................................................... 239
Slika 208. Prekidne rutine ................................................................................................................................... 240
Slika 209. Start-up rutine .................................................................................................................................... 242
Slika 210. Umetanje blokova potrebnih za start-up prekid ................................................................................. 243
Slika 211. Program u OB 100 za start-up prekid ................................................................................................ 243
Slika 212. Karakteristike CPU-a > Time-of-Day Interrupts ............................................................................... 244
Slika 213. Podešavanje Time-of-Day prekida u postavkama CPU-a .................................................................. 245
Slika 214. Umetanje blokova potrebnih za Time-of-Day prekid ........................................................................ 245
Slika 215. Program u OB 10 za Time-of-Day prekid .......................................................................................... 246
Slika 216. Time-of-Day prekid je neaktivan ....................................................................................................... 246
Slika 217. Sistemska funkcija SFC 28 ................................................................................................................ 247
Slika 218. Sistemska funkcija SFC 30 ................................................................................................................ 248
Slika 219. Sistemska funkcija 29 ........................................................................................................................ 250
Slika 220. Sistemska funkcija SFC 31 ................................................................................................................ 251
Slika 221. Umetanje blokova potrebnih za Time-of-Day prekid pozvan sistemskih funkcijama ....................... 253
Slika 222. Varijable DB-a ................................................................................................................................... 253
Slika 223. Program u OB 1 za Time-of-Day prekid pozvan sistemskim funkcijama.......................................... 254
Slika 224. Program u OB 10 za Time-of-Day prekid pozvan sistemskim funkcijama ....................................... 254
Slika 225. Karakteristike CPU-a > Interrupts > Time-Delay Interrupts.............................................................. 255
Slika 226. Sistemska funkcija 32 ........................................................................................................................ 256
Slika 227. Sistemska funkcija 33 ........................................................................................................................ 258
Slika 228. Sistemska funkcija 34 ........................................................................................................................ 259
Slika 229. Umetanje blokova potrebnih za Time-Delay prekid .......................................................................... 260
Slika 230. Program u OB1 za Time-Delay prekid .............................................................................................. 261
Slika 231. Program u OB20 za Time-Delay prekid ............................................................................................ 262
Slika 232. Ciklički prekidi .................................................................................................................................. 262
Slika 233. Karakteristike CPU-a: Cyclic Interrupts ............................................................................................ 263
Slika 234. Ciklički prekidi – fazni offset ............................................................................................................ 264
Slika 235. Unos vrijedosti vremenskog intervala cikličkog prekida ................................................................... 265
Slika 236. Umetanje blokova potrebnih za ciklički prekid ................................................................................. 265

_________________________________________________________________________
SIMATIC S7 Programirljivi logički kontroleri

Slika 237. Program u OB 35 za ciklički prekid ................................................................................................... 265


Slika 238. Karakteristike CPU-a > Interrupts > Hardware Interrupts ................................................................. 266
Slika 239. Karakteristike digitalnog ulaznog modula ......................................................................................... 267
Slika 240. Aktivacija signala digitalnog ulaznog modula kojim se pokreće sklopovski prekid .......................... 268
Slika 241. Umetanje blokova potrebnih za sklopovski prekid aktiviran signalom digitalnog ulaznog modula .. 268
Slika 242. Program u OB 40 za sklopovski prekid aktiviran signalom digitalnog ulaznog modula l ................. 269
Slika 243. Karakteristike analognog ulaznog modula ......................................................................................... 270
Slika 244. Aktivacija signala analognog ulaznog modula kojim se pokreće sklopovski prekid ......................... 270
Slika 245. Umetanje blokova potrebnih za sklopovski prekid aktiviran signalom analognog ulaznog modula.. 271
Slika 246. Program u OB 40 za sklopovski prekid aktiviran signalom analognog ulaznog modula ................... 271
Slika 247. Sinkrone greške .................................................................................................................................. 272
Slika 248. Programska greška ............................................................................................................................. 273
Slika 249. Konfiguracija dijagnostičkog prekida ................................................................................................ 275
Slika 250. Prikaz analogne vrijednosti u različitim mjernim područjima ........................................................... 275
Slika 251. Kod funkcije bez formalnih parametara. ............................................................................................ 276
Slika 252. Poziv funkcije sa slike 251 u organizacijski blok OB 1. .................................................................... 276
Slika 253. Kod funkcije s formalnim parametrima ............................................................................................. 277
Slika 254. Poziv funkcije sa slike 253 u organizacijski blok OB 1 ..................................................................... 277
Slika 255. Deklaracijska tablica funkcijskog bloka ............................................................................................ 278
Slika 256. Pozivanje funkcijskog bloka u operacijski blok OB 1. ...................................................................... 278
Slika 257. Generiranje pridruženog bloka ........................................................................................................... 279
Slika 258. Korištenje podatkovnih blokova ........................................................................................................ 280
Slika 259. Deklaracijska tablica zajedničkog podatkovnog bloka ...................................................................... 281
Slika 260. Adresiranje podatkovnih elemenata ................................................................................................... 281
Slika 261. Načini pristupa podatkovnim elementima u podatkovnom bloku ...................................................... 282
Slika 262. Izgled strukture unutar podatkovnog bloka DB ................................................................................. 283
Slika 263. Okvir podatkovnog bloka s unesenim podacima ............................................................................... 284
Slika 264. Organizacijski blok OB 1 u kojem su upotrjebljene memorijske lokacije podatkovnog bloka.......... 284
Slika 265. Energetska shema direktno pokretanog motora ................................................................................. 299
Slika 266. Izgled motorne zaštitne sklopke ......................................................................................................... 300
Slika 267. Izgled motornog sklopnika................................................................................................................. 300
Slika 268. Izgled sigurnosnog prekidača tvrtke Siemens .................................................................................... 301
Slika 269. Izgled grebenaste preklopke.............................................................................................................. 301
Slika 270. Upravljački dio PLC uređaja i shema spajanja upravljačkih signala ................................................. 302
Slika 271. Skica sustava kojemu je svrha upravljanje i nadzor direktno pokretanog motora ............................. 302
Slika 272. Skica kontrolne ploče koja se nalazi u blizini motora u lokalnom modu rada ................................... 303
Slika 273. Skica upravljačke ploče i i SCADA aplikacije u Manualnom modu rada ......................................... 303
Slika 274. Skica upravljačke ploče i SCADA aplikacije u Automatskom modu rada ........................................ 303
Slika 275. Dio FB DOL-FB unutar OB1 - pokretanje AUTOMATIC MODE rada .......................................... 304
Slika 276. Skica SCADA aplikacije s odabranim MAINTENANCE MODE radom ......................................... 304
Slika 277. Tablica podatkovnog bloka DB 1 pridruženog funkcijskom bloku FB1 ............................................ 305
Slika 278. TEMP parametri funkcijskog bloka (dodatak slici 277.) .................................................................. 305
Slika 279. Mreža 1 funkcijskog bloka FB1 ......................................................................................................... 306
Slika 280. Mreža 2 funkcijskog bloka FB1 ......................................................................................................... 307
Slika 281. Mreža 3 funkcijskog bloka FB1 ......................................................................................................... 307
Slika 282. Mreža 4 funkcijskog bloka FB1 ......................................................................................................... 307
Slika 283. Mreža 5 funkcijskog bloka FB1 ......................................................................................................... 308
Slika 284. Mreža 6 funkcijskog bloka FB1 ......................................................................................................... 309
Slika 285. Mreža 7 funkcijskog bloka FB1 ......................................................................................................... 310
Slika 286. Mreža 8 funkcijskog bloka FB1 ......................................................................................................... 311
Slika 287. Mreža 9 funkcijskog bloka FB1 ......................................................................................................... 311
Slika 288. Mreža 10 funkcijskog bloka FB1 ....................................................................................................... 311
Slika 289. Mreža 11 funkcijskog bloka FB1 ....................................................................................................... 312
Slika 290. Mreža 12 funkcijskog bloka FB1 ....................................................................................................... 313
Slika 291. Mreža 13 funkcijskog bloka FB1 ....................................................................................................... 313
Slika 292. Mreža 1 funkcije FC 1 ....................................................................................................................... 314
Slika 293. Mreža 2 funkcije FC 1 ....................................................................................................................... 315
Slika 294. Jedan od načina pretvorbe realnog broja u S5Time format ................................................................ 315
Slika 295. Poziv funkcijskog bloka FB1 i njegovog pridruženog podatkovnog bloka DB 1 .............................. 316
Slika 296. Mreža 2 organizacijskog bloka OB 1 ................................................................................................. 316

_________________________________________________________________________
SIMATIC S7 Programirljivi logički kontroleri

Slika 297. Mreža 3 organizacijskog bloka OB 1 ................................................................................................. 317


Slika 298. Mreža 4 organizacijskog bloka OB 1 ................................................................................................. 317
Slika 299. Izgled HMI sučelja za CM DOL ........................................................................................................ 317

_________________________________________________________________________
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

Automatizacija industrijskih postrojenja i procesa na pogonskoj razini je u današnje


vrijeme nezamisliva bez upotrebe računala gdje svakako prednjači primjena programirljivih
logičkih kontrolera (PLC).
Između različitih proizvodača uređaja postoje mnoge razlike u detaljima zbog čega se
konfiguriranje i programiranje PLC računala može jedino kvalitetno savladati ako se dobro
ovlada cjelokupnim segmentom tehnologije koju pruža odredeni ponuđač opreme. Pritom je
tehnologija koju nudi Siemens kao vodeći svjetski proizvođač opreme i sustava za
automatizaciju i pogonsku tehniku svakako dobra polazna točka za ulazak u svijet izrade
programske podrške u svim granama industrije. Siemensov skalabilan portfolio proizvoda
SIMATIC S7 obuhvaća mnoge serije PLC uređaja koji predstavljaju optimalno rješenje u
različitim područjima primjene. Pritom je jedan od najkorištenijih PLC uređaja serija SIMATIC
S7-300 koji se konfigurira i programira u programskoj podršci STEP 7.
Ovaj udžbenik je primarno namijenjen studentima stručnog studija elektrotehnike na
Tehničkom veleučilistu u Zagrebu,no i svim ostalima koji žele na primjeru Siemensove
tehnologije ovladati osnovnim konceptima programiranja PLC uređaja. U uvodnom dijelu je
predstavljena osnovna sklopovska arhitektura PLC uređaja i detaljno predstavljene sve
sastavne funkcije operativnog sustava S7 procesora. Potom slijedi predstavljanje
programskog okruženja SIMATIC Manager kao osnovnog alata za programiranje i
konfiguriranje PLC uređaja serije S7. Centralni dio predstavlja poglavlje sa pregledom rada
svih tipičnih programskim instrukcija unutar programskog jezika ladder dijagram nakon čega
slijedi pregled rada sa tipičnim blokovima korisničkog programa. Zadnji dio prikazuje
naprednu primjenu blokovske organizacije programa na primjeru nadzora i upravljanja radom
direktno pokretanog asinkronog motora. Sva navedena područja udžbenika nastala su
temeljem višegodisnjeg rada sa SIMATIC tehnologijama u nastavi stručnog studija
elektrotehnike i mnogobrojnih diplomskih radova marljivih studenata na čijem se doprinosu
autori srdačno zahvaljuju.

Vaši autori

mr. sc. Goran Malčić, v.pred.


Danijel Maršić, struc.spec.ing.el., mag.gosp.inž., pred.

________________________________________________________________________1
SIMATIC S7 Programirljivi logički kontroleri

1.1 Osnovno o SIMATIC S7-300 / S7-400

Porodica SIMATIC

SIMATIC je skup sustava i proizvoda za industrijsku automatizaciju proizvođača


Siemens. Porodica SIMATIC obuhvaća širok spektar sklopovskih i programskih komponenata
kojima je moguće ostvariti potpuno integriranu automatizaciju i najsloženijih sustava u brojnim
industrijskim granama. Koncept potpuno integrirane automatizacije (eng. Totally Integrated
Automation - TIA) proizašao je iz zahtjeva tvrtki s dugoročnim ciljevima koje moraju sustavno
iskorištavati raspoložive potencijale kako bi očuvale konkurentnost na tržištu. Naime,
okruženje u kojem se radi postalo je izrazito dinamično što se u industriji očituje u skraćivanju
proizvodnog ciklusa i stalnim promjenama na tržištu. Nameću se zahtjevi za većom
fleksibilnošću i produktivnošću, ekonomskom isplativošću i zaštitom ljudi i okoliša koji se mogu
zadovoljiti jedino integracijom pojedinih dijelova postrojenja ili strojeva u jedinstveni sustav.
Zbog toga se ovaj koncept temelji na ideji da se kompletna automatizacija cjelokupnog
postrojenja izvede integralno sa sklopovskim i programskim modularnim komponentama
jednog sustava, u ovom slučaju porodice SIMATIC. Da bi se naglasila kompatibilnost u
konfiguraciji, obradi podataka i komunikaciji, pod pojmom SIMATIC su, uz PLC uređaje S7
serije, obuhvaćene i ostale tipične komponente jednog sustava za upravljanje industrijskim
postrojenjima. Prema rasponu mogućnosti i područjima primjene komponenata koje
omogućuju potpuno integriranu automatizaciju tako su na raspolaganju sljedeće porodice
komponenata:

- SIMATIC S7: Programirljivi logički kontroleri serije SIMATIC predstavljaju jezgru


sustava za automatizaciju industrijskih procesa te su dostupni u sljedećim serijama:

▪ 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.

▪ SIMATIC S7-1200: predstavlja najnoviju generaciju S7 PLC uređaja koja se


može koristiti kao upravljački uređaj u širokom spektru aplikacija. Osnovni
uređaj je procesorska jedinica koja posjeduje različite tehnološke funkcije (brzo
brojački ulazi i sl.) i ima integrirano PROFINET sučelje te se može proširiti sa
dodatnim signalnim i komunikacijskim modulima. Za konfiguriranje i
programiranje ovih uređaja koristi se programska podrška STEP 7 Basic (TIA
Portal).

▪ SIMATIC S7-300: modularni PLC uređaj srednjeg raspona mogućnosti


zamišljen kao univerzalni upravljački sustav koji se najviše koristi u proizvodnoj
industriji (automobilskoj, duhanskoj, prehrambenoj, itd.). Predstavlja optimalno
rješenje za automatizaciju centralnih i decentralnih procesa srednjeg stupnja
složenosti. Za konfiguriranje i programiranje ovih uređaja koristi se programska
podrška STEP 7.

________________________________________________________________________2
SIMATIC S7 Programirljivi logički kontroleri

▪ SIMATIC S7-400: modularni PLC uređaj velikog raspona mogućnosti koji


predstavlja najmoćniji upravljački uređaj iz porodice SIMATIC. Zbog pojačanih
komunikacijskih mogućnosti može se koristiti za automatizaciju decentralnih
procesa visokog stupnja složenosti. Za razliku od serije S7-300 procesorske
jedinice su brže, sadrže više memorije i ugrađene komunikacijske module.
Također omogućuju primjenu strategije otporne na kvarove i višeprocesorki rad.
Za konfiguriranje i programiranje ovih uređaja koristi se programska podrška
STEP 7.
▪ SIMATIC S7-1500: predstavlja najnoviju generaciju S7 PLC uređaj velikog
raspona mogućnosti koji predstavlja najmoćniji upravljački uređaj iz porodice
SIMATIC. Osnovni uređaj je procesorska jedinica koja posjeduje različite
tehnološke funkcije (brzo brojački ulazi i sl.) i ima integrirano PROFINET sučelje
te se može proširiti sa dodatnim signalnim i komunikacijskim modulima. Za
konfiguriranje i programiranje ovih uređaja koristi se programska podrška STEP
7 Basic (TIA Portal)..

- 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 WinAC: predstavlja opći izraz za programske pakete koji se koriste za


automatizaciju koja se bazira na osobnom računalu (SIMATIC PC-based Control).
Programski paketi WinAC rade na standardnom osobnom računalu koje tako preuzima
funkcije PLC uređaja. Veza sa procesom se pritom osvaruje preko PROFIBUS DP
sučelja.

- 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.

- SIMATIC NET: predstavlja porodicu komunikacijskih komponenata i servisa koji su


napravljeni da udovolje širokom spektru zahtjeva iz kojih proizlazi potreba za
umrežavanjem uređaja u postrojenju. Na taj način se svi SIMATIC uređaji međusobno
povezuje čime je osigurana jednostavna komunikacija između svih komponenata
automatiziranog sustava. SIMATIC uređaji pritom međusobno komuniciraju preko
podmreža (eng. subnet). Sve stanice u nekoj podmreži su spojene na zajednički
prijenosi medij, jednakih fizičkih i operativnih karakteristika, te komuniciraju preko istog
komunikacijskog protokola. Potpuna integracija cjelokupnog okruženja automatizacije
postiže se uz pomoć standardnih komunikacijskih protokola između svih komponenti u
sustavu automatizacije. Porodica SIMATIC NET podržava MPI, Profibus i Industrial
Ethernet (Industrijski ethernet) komunikacijske protokole.

________________________________________________________________________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.

- SIMATIC STEP 7 software: predstavlja osnovni programski paket za rad sa SIMATIC


komponentama koji na prvom mjestu služi za konfiguriranje i programiranje PLC
uređaja serije S7-300 / 400. Uz ovaj programski paket mogu se koristiti opcionalni
programi kao i ostali programski paketi iz SIMATIC programske podrške (npr. WinCC
Flexible koji se koristi za rad sa operatorskim panelima) koji se jednostavno integriraju
u STEP 7.

SIMATIC HMI SIMATIC PG/PC

STEP 7 i
opcionalni
programski
SIMATIC paketi
NET

MPI mreža
SIMATIC NET Industrial Ethernet
PROFIBUS

SIMATIC upravljački uređaji SIMATIC WinAC

SIMATIC S7 SIMATIC C7

PROFIBUS DP

SIMATIC DP

Slika 1. Komponente SIMATIC sustava za industrijsku automatizaciju

________________________________________________________________________4
SIMATIC S7 Programirljivi logički kontroleri

1.2 Sklopovske komponente S7-300 / S7-400

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.

Slika 2. PLC uređaj serije S7-300 i S7-400

Budući da su S7-300 i S7-400 modularne strukture, PLC uređaj se konfigurira


ugradnjom različitih modula na montažni okvir (Slika 2.). Tablicom 1. prikazane su komponente
za konfiguraciju uređaja koje se odabiru prema zadanoj namjeni. Svaka komponenta
predstavlja različite dijelove koje stoje na raspolaganju za konfiguraciju PLC uređaja serije S7-
300 i S7-400. Kompletna konfiguracija PLC uređaja sa napajanjem, procesorskom jedinicom,
U/I karticama i ostalim modulima naziva se S7 stanica (eng. station).

Metalna šina
DI DO AI AO

Modul CPU Modul Signalni moduli Kom. Funkcijski


napajanja sučelja (IM) (SM) procesor modul
(PS) (prema potrebi) (CP) (FM)

Slika 3. Modularna konfiguracija PLC uređaja serije S7-300

________________________________________________________________________5
SIMATIC S7 Programirljivi logički kontroleri

Tablica 1. Komponente za konfiguraciju S7-300 / S7-400

Komponenta Oznaka Opis


Montažni okvir - Koristi se za ugradnju raznih S7 modula.
Izvor napajanja PS Služi za napajanje S7 modula.
Procesorski modul CPU Pohranjuje i izvršava korisnički program i podatke.
Signalni moduli SM Digitalni i analogni U/I koji služe za prilagodbu procesnih signala.
Komunikacijski CP Koriste se za komunikaciju PLC uređaja sa ostalim intelignetnim
procesor uređajima ili nekim drugim PLC uređajem.
Funkcijski moduli FM Specijalni inteligentni moduli koji neovisno o radu CPU-a izvode
posebne funkcije.
Moduli sučelja IM Povezuju glavni montažni okvir s lokalnim okvirima za module.
Programiralica PG/PC Osobno računalo sa programskom podrškom STEP 7
MPI sučelje MPI Služi kao izravna veza sa osobnim računalom ili za povezivanje
nekoliko S7 uređaja u MPI mrežu.
Distribuirani U/I DP U/I podsustavi (podređeni uređaji) povezani sa nadređenim S7 PLC
uređajem preko Profibus DP komunikacijske mreže.

- 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

Tablica 2. Pregled montažnih okvira za S7-300 / S7-400

Oznaka okvira Opis


Šina (UR) S7-300 univerzalna šina: standardna DIN šina za ugradnju svih tipova modula
CR2 S7-400 kontrolerski okvir: 18-utora, dva segmenta (10-utora / 8-utora)
CR3 S7-400 kontrolerski okvir: 4-utora, neprikladan za ugradnju dodatnog modula napajanja
ER1 S7-400 okvir za proširenje: 18-utora, bez komunikacijske sabirnice
ER2 S7-400 okvir za proširenje: 9-utora, bez komunikacijske sabirnice
UR1 S7-400 univerzalni okvir: 18-utora, podržava ugradnja svih tipova modula
UR2 S7-400 univerzalni okvir: 9-utora, podržava ugradnja svih tipova modula
UR2-H S7-400 univerzalni okvir: dva segmenta sa po 9-utora, predviđen za redundantnu ali
podržava i standardnu konfiguraciju PLC uređaja

- Modul napajanja (PS)

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.

- Procesorski modul (CPU)

Procesorski modul (CPU) SIMATIC S7 serije pohranjuje i izvršava korisnički program.


Odabire se prema namjeni, količini memorije, vrsti ugrađenih komunikacijskih sučelja,
specijalnim dodatnim funkcijama, itd. Širok opseg dostupnih procesorskih modula obuhvaća
podjelu procesorskih modula za različite razine zahtjeva. U katalogu sklopovlja u programskoj
podršci STEP 7 procesorski moduli nalaze se u mapama CPU-300 odnosno CPU-400 gdje se
dalje sukladno pripadajućim svojstvima grupiraju u odgovarajuće podmape. Tablicom 3
prikazane su osnovne grupe procesorskih modula prema njihovim mogućnostima dok na
raspolaganju stoje i kombinacije tih grupa.

Tablica 3. Pregled osnovnih grupa CPU modula za S7-300 / S7-400

Oznaka grupe Opis


CPU 31x-x S7-300: standardni CPU moduli
CPU 31x-x IFM S7-300: CPU moduli sa integriranim U/I funkcijama
CPU 31xC S7-300: kompaktni CPU sa integriranim U/I funkcijama (brzi brojači, pozicioniranje, itd.)
CPU 31xF S7-300: CPU moduli otporni na greške sa integriranim U/I funkcijama
CPU 31x-x DP S7-300: CPU moduli sa integriranim Profibus DP sučeljem
CPU 31x-x PN/DP S7-300: CPU moduli sa integriranim PROFINET i Profibus DP sučeljem
CPU 41x-x S7-400: standardni CPU moduli
CPU 41xF S7-400: CPU moduli otporni na greške
CPU 41x-xH S7-400: redundantni CPU moduli koji su otporni na greške
CPU 41x-x DP S7-400: CPU moduli sa integriranim Profibus DP sučeljem
CPU 41x-x PN/DP S7-400: CPU moduli sa integriranim PROFINET i Profibus DP sučeljem

________________________________________________________________________7
SIMATIC S7 Programirljivi logički kontroleri

Na slici 4. prikazan je procesorski modul CPU 315 - 2 DP koji se sastoji se od sljedećih


osnovnih dijelova:

- 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

- Indikatori stanja (eng. Status Indicators,LED), postoje sljedeći indikatori:


SF – Zajednička greška; unutrašnja greška procesora ili greška na modulu s
mogućnošću dijagnostike.
BATF / BF - Greška na bateriji; baterija je prazna ili je nema.
DC5V - Indikator unutrašnjeg napona 5 V DC.
FRCE - FORCE; pokazuje da je najmanje jedan ulaz ili izlaz forsiran.
RUN - Trepće prilikom pokretenja procesora, svijetli kontinuirano u Run modu
rada.
STOP - Svijetli kontinuirano u Stop modu rada.
Sporo trepće kod zahtjeva za reset memorije,
Brzo trepće kada je izvršen reset memorije,
Sporo trepće kada je neophodan reset memorije zbog umetanja
memorijske kartice.

- Memorijska kartica - Za memorijsku karticu predviđen je odgovarajući utor na prednjoj


strani procesorskog modula. Memorijska kartica pohranjuje sadržaj programa u slučaju
nestanka napajanja, bez potrebe za baterijom. Sve verzije procesorkih modula nakon
listopada 2002. mogu isključivo raditi uz uporabu mikro-memorijske kartice (eng. Mico
Memory Card, skraćeno MMC) koja osigurava pohranjivanje programa u slučaju
nestanka napajanja. Kod procesorkih modula prije listopada 2002. ispod poklopca se
nalazi mjesto za litijevu bateriju koja služi kao dodatno napajanje za očuvanje sadržaja
RAM memorije u slučaju nestanka napajanja. Verzije procesora nakon listopada 2002.
ne trebaju bateriju za svoj rad jer koriste mikro-memorijsku karticu.

- 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.

- DP sučelje - Sučelje za spajanje na Profibus DP mrežu preko koje se distribuirani U/I


izravno povezuju s procesorskom jedinicom. DP sučelje se također nalazi iza poklopca
na prednjoj strani CPU-a.

________________________________________________________________________8
SIMATIC S7 Programirljivi logički kontroleri

CPU315 – 2DP do 10.2002 CPU315 – 2DP nakon 10.2002

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

Baterija MPI DP MPI DP

5 3
7 6 4 5
6ES7 315-2AF03-0AB0 6ES7 315-2AG10-0AB0

Slika 4. Dizajn procesorskog modula CPU 315 - 2 DP

- Signalni moduli (SM)

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.

Tablica 4. Pregled osnovnih grupa signalnih modula za S7-300 / S7-400

Oznaka grupe Opis


DI-300 S7-300: kartice digitalnih ulaza - 24 VDC, 120/230 VAC
DO-300 S7-300: kartice digitalnih izlaza - 24 VDC, relejni
AI-300 S7-300: kartice analognih ulaza - naponski, strujni, otpornički, termoelement…
AO-300 S7-300: kartice analognih izlaza – naponski, strujni
DI/DO-300 S7-300: kartice digitalnih ulaza i izlaza
AI/AO-300 S7-300: kartice analognih ulaza i izlaza
Special 300/DM 370Dummy S7-300: rezervira mjesto (utor) za naknadnu instalaciju modula
DI-400 S7-400: kartice digitalnih ulaza - 24 VDC, 120/230 VAC
DO-400 S7-400: kartice digitalnih izlaza - 24 VDC, relejni
AI-400 S7-400: kartice analognih ulaza - naponski, strujni, otpornički, termoelement…
AO-400 S7-400: kartice analognih izlaza – naponski, strujni

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.

- Komunikacijski procesori (CP)

Komunikacijski procesori (eng. Communication Processors - CP) se koriste za


povezivanje i komunikaciju PLC uređaja sa ostalim intelignetnim uređajima ili nekim drugim
PLC uređajem. Odabiru se prema vrsti komunikacijske mreže na koji se spaja zbog čega
općenito postoje dvije klase komunikacijskih procesora. Prva klasa podržava spajanje na
lokalnu mrežu (LAN), komunikaciju između više S7 PLC uređaja i ostalih uređaja koji je nalaze
na istoj komunikacijskoj mreži (Industrial Ethernet, PROFIBUS, AS-Interface). Druga klasa se
koristi za ostvarivanje veze od točke do točke (eng. Point-to-Point). Ovaj izraz označava vrstu
komunikacijske veze za spajanje PLC uređaja serije S7-300 / 400 sa uređajima koji imaju
serijsko sučelje kao što su printeri, čitači bar kodova ili čak neki drugi PLC uređaji. U katalogu
sklopovlja u programskoj podršci STEP 7 komunikacijski procesori se nalaze u mapama CP-
300 odnosno CP-400 gdje se dalje dijele u odgovarajuće grupe kao što je prikazano tablicom
5.

Tablica 5. Pregled osnovnih grupa komunikacijskih procesora za S7-300 / S7-400

Grupa / Oznaka Opis


AS Interface / CP 342-2 AS-i S7-300: spajanje na aktuator-senzor mrežu
Industrial Ethernet / CP 343-1 x S7-300: spajanje na industrijski ethernet
PROFIBUS / CP 343-5 x S7-300: spajanje na Profibus DP
Point-to-Point / CP 340 ili CP 341 S7-300: veza od točke do točke preko RS232, RS422/RS485, itd.
Industrial Ethernet / CP 443-1 x S7-400: spajanje na industrijski ethernet
PROFIBUS / CP 443-5 x S7-400: spajanje na Profibus DP
Point-to-Point / CP 440 ili CP 441-x S7-400: veza od točke do točke preko RS232, RS422/RS485, itd.

- Funkcijski moduli (FM)

Funkcijski moduli (eng. Function Modules) su specijalni inteligentni moduli koji


neovisno o radu CPU-a izvode posebne funkcije kao što su brojanje, pozicioniranje,
upravljanje u zatvorenoj petlji itd. Rad s funkcijskim modulima je pojednostavljen kroz upotrebu
dodatnih programskih alata koji se koriste za njihovo konfiguriranje te kroz mogućnost
pozivanja standardnih programskih funkcija u korisničkom programu koje su namijenjenje
određenim funkcijskim modulima. U katalogu sklopovlja u programskoj podršci STEP 7
funkcijski moduli se nalaze u mapama FM-300 odnosno FM-400.

- Moduli sučelja (IM)

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

Tablica 6. Pregled modula sučelja za S7-300 / S7-400

Moduli sučelja
Opis Udaljenost
Prijemnik Predajnik

IM 365 IM 365 S7-300: lokalni okvir; proširenje sa 1 okvirom 1m


IM 360 IM 361 S7-300: lokalni okvir; proširenje sa najviše 3 okvira 10 m
IM 460-1 IM 461-1 S7-400: lokalni okvir; prijenos napajanja 5V; bez kom. sabirnice 1.5 m
IM 460-0 IM 461-0 S7-400: lokalni okvir; bez prijenosa napajanja 5V; sa kom. sabirnicom 5m
IM 460-3 IM 461-3 S7-400: udaljeni okvir; bez prijenosa napajanja 5V; sa kom. sabirnicom 102,25 m
IM 460-4 IM 461-4 S7-400: udaljeni okvir; bez prijenosa napajanja 5V; bez kom. sabirnice 605 m
IM 463-2 IM 314 S7-400: udaljeni okvir za seriju S5 605 m

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.

Konfiguracija s jednim okvirom Konfiguracija s dva okvira Konfiguracija s četiri okvira


IM 365 IM 360

IM 365 IM 361

IM 361

IM 361

Slika 5. Primjer višeokvirnih konfiguracija kod serije S7-300

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

okvira na udaljenosti do 5 metara. Kada je potrebna još veća udaljenost od centralnog


kontrolerskog okvira, koriste se moduli sučelja IM 460-3 i IM 461-3 ili IM 460-4 i IM 461-4 koji
omogućuju povezivanje do četiri udaljena okvira za proširenje na udaljenostima do 102,25
odnosno do 605 metara. Također je na raspolaganju i modul sučelja IM 463-2 koji omogućuje
povezivanje sa okvirima za proširenje S5 serije na koje se ugrađuje IM 314. Simatic S5 je
serija PLC uređaja koji je prethodila seriji S7 te se još uvijek uvelike koristi u postojećim
automatiziranim postrojenjima širom svijeta. Na centralni kontroleraki okvir može se ugraditi
najviše 6 modula sučelja u bilo kojoj kombinaciji čime je omogućeno povezivanje s najviše 21
okvirom za proširenje. Slika 6. prikazuje višeokvirne konfiguracije uređaja serije S7-400 gdje
je centralni kontrolerski okvir preko odgovarajućih modula sučelja povezan sa okvirima za
proširenje.

Kontrolerski okvir Lokalni okvir

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)

Slika 6. Primjer višeokvirnih konfiguracija kod serije S7-400

________________________________________________________________________12
SIMATIC S7 Programirljivi logički kontroleri

- Višenamjensko sučelje za programiranje (MPI)

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.

Osobno računalo S7-400 Operatorski panel (OP)

MPI mreža

S7-300 S7-300 Operatorski panel (OP)

Slika 7. Primjer S7 uređaja na MPI podmreži

________________________________________________________________________13
SIMATIC S7 Programirljivi logički kontroleri

1.3 Operativni sustav S7 procesora

Centralna procesorska jedinica izvodi operativni sustav te na taj način kontrolira i


upravlja radom PLC uređaja serije S7-300 / S7-400. Operativni sustav je skup svih instrukcija
i deklaracija koje kontroliraju sve funkcije procesorske jedinice te je njezin sastavni dio kojem
korisnik ne može pristupiti. Procesorska jedinica pomoću operativnog sustava komunicira i
upravlja sa ostalim dijelovima PLC uređaja (komunikacijski moduli, U/I moduli, itd.) te vrši
interakciju sa korisničkim programom i upravlja njegovim izvođenjem.

Korisnički program
Izvršni dio Memorija

Periodički Korisnička
pozivi memorija

Događajem
Sistemska
pokretani
memorija
pozivi

Sistemske funkcije

Program operativnog sustava

Sklopovlje uređaja, U/I moduli

Slika 8. Organizacija operativnog sustava S7 procesora

Operativni sustav je, promatrajući sa stajališta korisnika, organiziran u tri dijela:

- 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.

1.3.1 Izvođenje S7 programa

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

Slika 9. Organizacija korisničkog programa

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

Slika 10. Izvođenje korisničkog programa

________________________________________________________________________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).

Program pokretanja (npr. OB100)


Izvršava se samo jednom npr. prilikom uključenja
napajanja

Pokretanje nadzornog vremena ciklusa

Čitanje stanja modula i spremanje podataka u Ulazni


tabličnu sliku procesnih ulaza (PII) moduli

Izvršenje korisničkog programa u OB1 i poziv ostalih


CPU ciklus blokova FB-ova, FC-ova itd. OB1
Događaji (sklopovski prekidi, vremenski prekidi, itd.) I0.0 Q1.1
mogu pozvati organizacijske blokove dodijeljene
određenom događaju.

Slanje podataka spremljenih u tabličnoj slici procesnih Izlazni


izlaza (PIQ) na izlazne module moduli

Slika 11. Faze cikličkog izvođenja programa u OB1

________________________________________________________________________17
SIMATIC S7 Programirljivi logički kontroleri

- Prekidne servisne rutine

Ponekad je u korisničkom programu potrebno osigurati trenutnu reakciju na neki definirani


događaj koji je bitan za rad sustava kojim PLC upravlja. Takvi događaji prekidaju cikličko
izvođenje glavnog programa u OB 1 zbog čega se nazivaju prekidi (eng. Interrupts). Rutine
koje se u tom slučaju izvršavaju nalaze se OB-ovima koji su dodijeljeni pojedinom prekidu
(događaju). Nakon što se izvede OB u kojem se nalazi prekidna rutina operativni sustav
nastavlja sa izvođenjem glavnog programa gdje je stao u trenutku kada se pojavio zahtjev za
prekidom. S7 procesor razlikuje dvije vrste događaja na koje može reagirati. Jedna vrsta su
prekidi uzrokovani vanjskim događajima kao npr. sklopovski prekidi (eng. Hardvare interrupts)
gdje događaj iz procesa (uključi se odgovarajući digitalni ulaz) predstavlja zahtjev za
izvođenjem OB-a namijenjenog sklopovskom prekidu. Druga vrsta su prekidi uzrokovani
unutarnjim događajima kao npr. vremenski prekidi (eng. Timed interrupts) gdje trenutak kada
interni mjerač vremena u CPU-u odbroji podešeno vrijeme predstavlja zahtjev za izvođenjem
OB-a namijenjenog vremenskom prekidu.

- Rutine za obradu greške

S7 procesor prilikom greške u sustavu prestaje sa izvođenjem korisničkog programa i prelazi


u STOP mod rada. Uporabom OB-ova koji su namijenjeni obradi grešaka moguće je u
korisničkom programu osigurati reakciju procesora na grešku koja se pojavila u radu PLC
uređaja. Ako se u korisničkom programu koristi OB za obradu odgovarajuće vrste greške
operativni sustav će prilikom pojave takve greške pozvati izvršenje programa kojeg je korisnik
kreirao u pripadajućem OB-u. Na taj način procesor će prilikom greške nastaviti izvršavati
korisnički program te ostati u RUN modu rada. S7 procesor prepoznaje dvije vrste grešaka:
sinkrone i asinkrone greške. Sinkrone greške su one greške koje nastaju izvođenjem
korisničkog programa kao npr. prilikom dijeljenja s nulom, pristupa nepostojećoj adresi i sl. dok
su asinkrone greške one koje nastaju neovisno o izvođenju korisničkog programa kao npr.
nestanak napajanja uslijed puknuća žice na nekom od signalnih modula.

1.3.2 S7 blokovi

Prilikom izgradnje sustava za automatizaciju industrijskih procesa neophodno je


poznavanje samog procesa i svih tehničkih detalja opreme kojom se upravlja procesom.
Analizom takvih složenih sustava proces se obično podjeli na više manjjih komponenti,
zadataka ili funkcija u skladu sa samom strukturom procesa kojim se želi upravljati. Takva
podjela procesa u pojedinačne dijelove također može biti napravljena u korisničkom programu
pomoću kojeg PLC upravlja sustavom. Naime, rad sa S7 korisničkim programom omogućuje
podjelu upravljačkih zadataka iz procesa sa pripadajućim upravljačkim programima u
pojedinačne funkcionalne dijelove. Struktura korisničkog programa na taj način odgovara
podjeli procesa koja je učinjena prilikom njegove analize. Sustav je takvim pristupom
razdijeljen u logičke ili funkcionalne cijeline koje su u programu predstavljene pojedinim
upravljačkim zadacima čiji se upravljački programi nalaze u blokovima. Blokovi su dijelovi
korisničkog programa određeni svojom funkcijom, strukturom ili zadanom namjenom. Svaki
programski blok za sebe predstavlja jednu zatvorenu cjelinu koja upravlja nekim dijelom
procesa, i kao takav se može pozivati iz glavnog programa neograničen broj puta, dok
međusobno povezani blokovi tvore jednu programsku cjelinu.

________________________________________________________________________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

Slika 12. Blokovska organizacija korisničkog programa

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.

Tablica 7. Blokovi koji se mogu koristiti u korisničkom programu

Vrsta bloka Oznaka Kategorija Broj bloka


Organizacijski blokovi OB Korisnički OB 1 – Ob n; predefiniran
Funkcijski blokovi FB Korisnički FB 1 – FB n; definira ga korisnik
Funkcije FC Korisnički FC 1 – FC n; definira ga korisnik
Podatkovni blokovi DB Korisnički DB 1 – DB n; definira ga korisnik
Sistemski blokovi SFB/SFC/SDB Sistemski predefiniran

________________________________________________________________________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:

Ogranizacijski blokovi (OB)

Kao što je već spomenuto, organizacijski blokovi (eng. Organization Blocks)


predstavljaju sučelje između operativnog sustava CPU-a i korisničkog programa.

Tablica 8. Pregled organizacijskih blokova prema njhovoj namjeni


Prioritet izvođenja
Vrsta OB-a Broj OB-a Stanje ili događaj kada se OB poziva
Predefiniran Podesivo

Cikličko izvođenje 1 Poziva se nakon pokretanja CPU-a nakon 1 Ne


(Cyclical Processing) čega se ciklički izvodi glavni korisnički
program.

Prekidi na vrijeme dana 10 – 17 Poziva se na određeno vrijeme dana ili u 2 0, 2 – 24


(Time-of-day Interrupts) jednakim intervalima kako je podesio korisnik.

Izvršavanje sa 20 – 23 Poziva se nakon što je isteklo vrijeme 3–6 0, 2 – 24


kašnjenjem (Time-delay podešeno od strane korisnika.
Interrupt)
Ciklički prekidi (engl. 30 – 38 Poziva se ciklički u definiranim vremenskim 7 – 15 0, 2 – 24
Cyclic; Watchdog intervalima (npr. svakih150 ms).
Interrupt)
Sklopovski prekidi 40 – 47 Poziva se na signal prekida sa digitalnog ili 16 – 23 0, 2 – 24
(Hardware Interrupts) analognog U/I modula.

DPV1 prekidi (DPV1 55 – 57 Pozivaju ga promjene statusa, osvježavanje 2 0, 2 – 24


Interrupts) parametara ili alarmi sa Profibus DPV1
podređenih uređaja.
Višeprocesorski prekidi 60 Poziva ga prekid koji je generiran od strane 25 Ne
(Multiprocessor CPU-a višeprocesorskoj konfiguraciji.
Interrupt)

Sinkroni ciklički prekid 61 – 64 Poziva se sinkrono sa DP ciklusom 25 0, 2 – 26


(Synchronous Cycle nadređenog DP uređaja.
Interrupt)

Prekidi redundantne 70 – 73 Poziva se prilikom pojave redundantne 25, 28 2 – 26,


greške (Redundancy greške u S7-400H konfiguracijama. 2 – 28
Error Interrupts)

Prekidi asinkrone greške 80 Poziva se prilikom pojave greške vezane uz 26 Ne


(Asynchronous Error 81 – 84, 86, 87 konfiguraciju PLC uređaja (greška u 25 2 – 26
Interrupts) napajanju, dijagnostički prekid, itd.). U njemu
85 se nalazi korisnički definirana servisna rutina 25 24 – 26
88 za asinkorone greške. 28 Ne
(28 prilikom
pokretanja)

Izvođenje u pozadini 90 Poziva se kada je stvarno vrijeme ciklusa u 291) Ne


(Background processing) trenutnom ciklusu manje od korisnički
definiranog minimalnog trajanja ciklusa.

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

Glavni program u OB 1 se izvodi ciklički pa se iz njega poziva većina ostalih blokova


(npr, FB, FC, SFB, SFC) iz kojih se može sastojati korisnički program. Izvođenje programa u
OB 1 mogu prekinuti određeni organizacijski blokovi sa predefiniranim rednim brojevima i
prioritetim izvođenja samo kada se pojavi određeni događaj koji im je dodijeljen. Pregled
organizacijskih blokova prema njhovoj namjeni i stanjima ili događajima koji pozivaju njihovo
izvršavanje dan je u tablici 8. Također su navedeni i prioriteti izvođenja pojedine grupe OB-
ova koji se općenito kod serije S7-300 ne mogu mijenjati dok se kod procesorske jedinice CPU
318 i kod serije S7-400 prioriteti pojedinih OB-ova mogu mijenati u postavkama CPU modula.
Kada je kod pojedinog OB-a podešen prioritet 0 to znači da se taj OB neće izvoditi.

Funkcijski blokovi (FB)

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 (DB)

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.

Sistemski blokovi (SFB, SFC, SDB)

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

raznih sistemskih blokova koji dopuštaju korisničkom programu pristup sadržajima


procesorske jedinice (omogućavanje i onemogućavanje prekida i sl.), izvode razne zadaće
kao upravljanje, rukovanje porukama i protokolima za komunikaciju između konfiguriranih
sustava i neke ostale funkcije posebne namjene.
Sistemski blokovi također predstavljaju sistemske podatkovne blokove (eng. System
Dana Blocks, SDB) koji sadrže podatke koje koristi sam PLC uređaj. U njima se nalaze
kompajlirani konfiguracijski podaci o sklopovlju od kojeg se konfiguracija PLC uređaja sastoji.

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.

1.3.3 Organizacija S7 programa

Iz dosad priloženog lako je zaključiti da se razvoj S7 korisničkog programa u suštini


svodi na izradu upravljačkih programa u modularnim blokovima od kojih svaki izvodi poseban
zadatak u cjelokupnom upravljačkom programu. Struktura korisničkog programa pritom ovisi
o njegovoj veličini i zadacima koje on treba obavljati. Zbog toga se općenito prilikom planiranja
i same izrade programa mogu slijediti tri pristupa programiranja kojima se određuje ustrojstvo
korisničkog programa:

- 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

Slika 13. Linearni program

________________________________________________________________________22
SIMATIC S7 Programirljivi logički kontroleri

- Razdijeljeni program

Razdijeljeni program je praktički linearni program koji je podijeljen u pojedinačne


blokove koji se u određenom slijedu pozivaju iz OB 1. Razlozi za takvu podjelu programu mogu
ležati u činjenici da je program prevelik da bi se cijeli smjestio u glavni program OB 1 ili
programer jednostavno želio da program bude što razumljiviji. Svaki blok sadrži program
namijenjen rješavanju pojedinačnog upravljačkog zadatka u procesu kojim se upravlja.
Također je moguća daljnja raspodjela pojedinog zadatka unutar samog bloka na jednak način
kao što se raspodjela zadataka vrši u OB 1. Prednost ovog pristupa programiranju je
mogućnost upotrebe različitih programskih jezika u pripadajućim blokovima, laka prenosivost
napisanog programa u pojedinom svakom bloku, kao i istodoban rad više programera na
upravljačkom programu za isti PLC uređaj.

Razdijeljeni program

S7 korisnički
program
OB1
FC1
Zadatak 1
Glavni
program
FC2
Zadatak 2

FC3
Zadatak 3

Slika 14. Razdijeljeni program

- 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:

▪ "Blok motora" sadrži naredbe za upravljanje motorom.


▪ Programski blok (OB 1) koji je namijenjen upravljanju pojedinim motorima, poziva"blok
motora" i prosljeđuju mu podatke o tome kojim će motorom upravljati s kojim
parametrima (npr. Motor 1 ili Motor 2).
▪ Kada je "blok motora" završio s izvršavanjem svojih naredbi, program se vraća na blok
(OB 1) iz kojeg je pozvan "blok motora", koji nastavlja s izvršavanjem svojih naredbi.

________________________________________________________________________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

Slika 15. Strukturirani program

Strukturni pristup programiranju omogućuje upotrebu različitih programskih jezika i


jednostavan rad više programera na pojedinom bloku programa, efikasnu iskoristivost
memorije i programskih blokova jer se jednom napisan blok može ponovno koristiti te
jednostavnu prenosivost blokova između više računala i programera jer blokovi nisu određeni
adresama.

________________________________________________________________________24
SIMATIC S7 Programirljivi logički kontroleri

1.3.4 Memorija S7 procesora

Svi korisnički programski objekti smješteni su u različito organiziranim memorijskim


područjima S7 procesorske jedinice pomoću kojih korisnički program komunicira sa
operativnim sustavom. Slikom 16. prikazan je tok korisničkog program sa računala za
programiranje kroz različita memorijska područja S7 procesorske jedinice. Memorija S7
procesora se sastoji od memorije za učitavanje i radne memorije koje zajedno predstavljaju
korisničku memoriju i sistemske memorije. Kompletan korisnički program i konfiguracijski
parametri sklopovlja S7 stanice koji su napravljeni u okviru S7 projekta na računalu za
programiranje se prenose u memoriju za učitavanje koja se nalazi u procesorskoj jedinici.
Pritom se simboličke oznake adresa (tablica simbola) i komentari iz blokova ne prenose u
memoriju procesorske jedinice. Operativni sustav interpretira prenesene konfiguracijske
podatke i prilikom pokretanja dodjeljuje parametre procesorskoj jedinici i ostalim modulima od
kojih se S7 stanica sastoji. Prilikom prijelaza procesorske jedinice iz STOP u RUN moda rada,
programska logika i korisnički podaci koji su potrebni za izvođenje programa se iz memorije
za učitavanje kopiraju u radnu memoriju. Time se osigurava brzo izvođenje korisničkog
programa jer se u radnoj memoriji nalaze samo dijelovi blokova i korisnički podaci koji su bitni
za izvršavanje programa. Također se izbjegava bespotrebno opterećivanje radne memorije jer
je ona napravljena kao brza RAM memorija koja je u potpunosti integrirana u CPU te se kao
takva ne može proširivati. Kada je procesorska jedinica u RUN modu rada, izvršni dio
operativnog sustava osigurava izvođenje korisničkog programa iz radne memorije sa
varijablama smještenim unutar sistemske memorije.

S7-300 S7-400
Memorija S7 procesora
Programiralica
(PG/PC) Korisnička memorija Sistemska memorija

S7 projekt Memorija za Radna memorija Procesna slika


učitavanje ulaza

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

Slika 16. Memorijska područja S7 procesora

________________________________________________________________________25
SIMATIC S7 Programirljivi logički kontroleri

- Memorija za učitavanje (eng. Load memory)

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.

Verzije procesorkog modula – S7-300

CPU moduli bez CPU moduli sa utorom za CPU moduli sa utorom za mikro
memorijske kartice memorijsku karticu (MC) memorijsku karticu (MMC)

Integrirana memorija za Memorija za učitavanje Mikro memorijska kartica (MMC)


učitavanje
vanjska Memorija za Ostale mape na
RAM FEPROM integrirana memorijska kartica učitavanje kartici
(RAM) (FEPROM)
Ostale datoteke
SIMATIC na kartici
MICRO
MEMORY
CARD

Izvedbe memorije za učitavanje

Slika 17. Izvedba memorije za učitavanje s obzirom na verziju CPU modula – S7-300

- CPU moduli bez memorijske kartice: memorija za učitavanje je integrirana u CPU


modul i sastoji se od RAM i FEPROM memorije koje su obje jednake veličine. Korisnički
program se nalazi u internoj RAM memoriji koja je podržana baterijskim napajanjem
što znači da podaci ostaju sačuvani prilikom nestanka napajanja. Korisnički program
također se može spremiti u internu FEPROM memoriju gdje je neovisan o baterijskom
napajanju te je na taj način spremljen u procesorskom modulu prilikom nestanka
napajanja. Kada je potrebna veća memorija za učitavanje od one koju CPU posjeduje
moguće je koristiti odgovarajući CPU modul s većom memorijom za učitavanje ili CPU
modul sa memorijskom karticom ili mikro memorijskom karticom.
- CPU modul sa utorom za memorijsku karticu (eng. Memory card, MC): memorija za
učitavanje je integrirana u CPU modul i/ili se dodaje izvana na memorijskoj kartici.
Integrirana memorija za učitavanje je RAM memorija koja ima dodatno baterijsko
napajanje čime je korisnički program siguran u slučaju nestanka napajanja. Program
se u internu RAM memoriju prenosi izravno iz S7 projekta na računalu za
programiranje. Vanjska memorija je FEPROM memorijska kartica koja se koristi da
zadrži korisnički program, konfiguracijske podatke i parametre modula u slučaju
nestanka napajanja čime se otklanja potrebu za baterijskim napajanjem. Korisnički
program se može kopirati na memorijsku karticu kada je utaknuta u CPU modul ako on
podržava ovu opciju. Kod CPU modula gdje to nije moguće potrebno je koristiti vanjski
EPROM programator (SIMATIC USB Prommer) kojim se programiraju memorijske
kartice i mikro memorijske kartice u odgovarajućem SIMATIC programskom paketu.

________________________________________________________________________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.

Memorijski koncept – S7-400

Memorija za učitavanje Radna memorija Sistemska memorija


vanjska Logika Podaci Procesna slika ulaza / izlaza
integrirana memorijska kartica
(RAM) (RAM ili FEPROM) Bit memorija
- Korisnički program iz - Podatkovni blokovi
logičkih blokova koji su bitni za izvođenje
bitni za izvođenje programa
programa Timeri, brojači

- Procesne slike ulaza i


Stoga lokalnih podataka, stog bloka, stog
- Lokalni podatkovni
- Logički, podatkovni - Logički, podatkovni izlaza, komunikacijski stog (L stog) prekida
blokovi blokovi resursi, dijagnostički
- Sistemski podatkovni - Sistemski podatkovni spremnik Dijagnostički spremnik
blokovi blokovi

Slika 18. Izvedba memorije za učitavanje S7-400

- Radna memorija (eng. Work memory)

Radna memorija je brza RAM memorija koja je u potpunosti inegrirana u S7


procesorsku jedinicu i ne može se proširivati. Ima dodatno baterijsko napajanja koje osigurava
podatke u slučaju nestanka napajanja. Iznimka je CPU 417-H gdje se radna memorija ipak
može proširiti uporabom dodatnim modula za umetanje. Radna memorija služi za izvođenje
programskih kodova iz logičkih blokova kao i za obradu podataka korisničkih programa. U njoj
se nalaze samo dijelovi logičkih i podatkovnih blokova i korisnički podaci koji su bitni za
izvršavanje programa. Obrada programa tako se izvodi samo u području radne i sistemske
memorije. Ako je potrebna veća radna memorija potrebno je koristiti procesorsku jedinicu koja
ima više radne memorije.

________________________________________________________________________27
SIMATIC S7 Programirljivi logički kontroleri

- Sistemska memorija

Sistemska memorija je također integrirana u S7 procesorsku jedinicu i ne može se


proširivati. Sadrži adrese varijabli koje su prema njihovoj primjeni logički grupirane u
odgovarajuća adresna područja kojima je moguće pristupiti u korisničkom programu. Broj
adresa u svakom adresnom području određen je vrstom procesorskog modula koji se koristi.
U sistemskoj memoriji nalaze se sljedeća adresna područja:

- 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

Bajt 0 1 Korisnički Bajt 0


Bajt 1 program Bajt 1 1
Bajt 2 Bajt 2
:
: :
: : :
I0.0 Q1.1 :
:
: :
: : :
Bajt n Bajt n
:
Memorijski prostor CPU-a Memorijski prostor CPU-a

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.

"Clock" memorijski bajt

"Clock" mem. bit 7 6 5 4 3 2 1 0

Frekvencija (Hz) 0.5 0.625 1 1.25 2 2.5 5 10

Period (s) 2 1.6 1 0.8 0.5 0.4 0.2 0.1

Slika 20. Sadržaj "clock" memorije

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

Slika 21. Organizacija memorije za timere

- Memorija za brojače (eng. Counter memory - C): je dio memorije S7 procesorke


jedinice koji sadrži podatke naredbi koje se koriste za brojanje tzv. brojača. Upotreba
brojača u programu omogućuje korisniku kontrolu nad nekim operacijama u procesu
koje su vezane za odbrojavanje. Slično kao kod timera svaki brojač u memorijskom
području za brojače zauzima memorijsku lokaciju veličine riječi (16 bita) u koju se
smještaju vrijednosti bitne za rad s brojačem (Slika 22.). U ovom slučaju na svaku
memorijsku lokaciju sprema se samo postavna vrijednost do koje brojač treba brojati ili
od koje treba odbrojavati. Broj brojača koji se koristiti u programu ovisi o procesorskoj
jedinici s kojom se radi.

________________________________________________________________________29
SIMATIC S7 Programirljivi logički kontroleri

Memorija za brojače

Ne koristi se Postavna vrijednost brojača u BCD kodu (000-999) Memorijska lokacija


brojača - adresa
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

X X X X C1
X X X X C2
X X X X C3
X X X X Cn

Slika 22. Organizacija memorije za brojače

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:

➢ Privremenih varijabli – lokalni podaci bloka;


➢ Početnih informacija pojedinog organizacijskog bloka;
➢ Informacije o prijenosnim parametrima;
➢ Rezultata logičkih operacija iz programa programa unutar pripadajućeg bloka.

Procesorska jedinica ima ograničeni memorijski prostor rezerviran za privremene


lokalne podatke blokova koji se trenutno izvršavaju. Veličina tog memorijskog prostora
ovisi o procesorskom modulu koji se koristi. Stvarna veličina L stoga koja je dostupna
za spremanje podataka iz pojedinog bloka ovisi o organizacijskom bloku iz kojeg je taj
blok pozvan. Slika 23. prikazuje primjer raspodjele L stoga između OB-ova koji se
pozivaju prema njihovim prioritetima izvođenja.

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

Slika 23. Primjer raspodjele L stoga prema prioritetnim klasama OB-ova

________________________________________________________________________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:

➢ Sadržaj akumulatora i adresnih registara;


➢ Broj i veličinu podatkovnih blokova koji su otvoreni;
➢ Sadržaj statusne riječi;
➢ Razinu izvršavanja programa (npr. ciklus);
➢ Prekinuti blok zajedno s brojem logičkog kruga (eng. Network) i naredbe;
➢ Sljedeći blok koji se treba izvršiti.

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

Stog bloka (B stog) Stog lokalnih podataka


(L stog)

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

Slika 24. Primjer sadržaja B stoga

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.

Svi dijagnostički događaji mogu se pregledati u programskom paketu STEP 7 na računalu


za programiranje u obliku tekstualnih poruka prikazanih prema redoslijedu pojavljivanja.
Kada se procesorska jedinica nađe u STOP modu rada moguće je pregledavanjem zadnjih
događaja vrlo brzo i jednostavno otkriti uzrok greške zbog koje je došlo do prijelaza
procesorske jedinice u STOP mod.

________________________________________________________________________32
SIMATIC S7 Programirljivi logički kontroleri

1.3.5 Adresiranje u S7 PLC uređajima

U svakom PLC uređaju memorijska područja je moguće na nekakav način adresirati u


korisničkom programu. Kod PLC uređaja S7 serije adresna područja memorije su: tablična
slika procesnih ulaza (I), tablična slika procesnih izlaza (Q), periferni ulazi (PI), periferni izlazi
(PQ), bit memorija (M), lokalni podatkovni stog (L), memorija za timere (T) i memorija za
brojače (C). Oznake u zagradama pored naziva adresnih područja koriste se za referenciranje
tih područja memorije prilikom adresiranja. Navedena adresna memorijska područja
organizirana su kroz bajtove počevši od bajta 0 za svako područje. To znači da se memorija
S7 PLC uređaja može promatrati kao niz bajtovno orjentiranih tablica koje predstavljaju
pojedino memorijsko područje. Maksimalan broj bajtova koji je stavljen na raspolaganju
korisniku u nekom memorijskom području pritom ovisi o procesorskom modulu koji se koristi.
Za pristup sadržaju memorijskih lokacija u svakom adresnom području moguće je koristiti
apsolutno ili simboličko adresiranje. Apsolutno adresiranje koristi se za direktan pristup
memorijskim lokacijama (npr. I0.0.) dok se kod simboličkog adresiranja svakoj apsolutnoj
adresi ili memorijskoj lokaciji može dodijeliti dodijeliti ime (npr. Tipkalo Start) koje se naziva
simbol. Vrijednosti koje se nalaze na nekoj lokaciji u memoriji nazivaju se varijable koje su
određene adresom i tipom podatka. Tip podatka neke varijable određuje veličinu podatka u
bitovima (npr. 1 bit, 8 bita, 16, bita, 32 bita, itd.) kao i način na koji je on predstavljen i tumačen
(npr. BOOL, cijeli broj s predznakom, realni broj) u memoriji. Zbog toga se prilikom apsolutnog
adresiranje varijable sve svodi na utvrđivanje točne veličine podatka koja određuje kakav će
oblik adresa imati. Pritom je moguće pristupiti podacima veličine:

➢ 1 bita (tip podatka BOOL);


➢ bajta (bilo koji tip podatka veličine 8 bita);
➢ riječi (bilo koji tip podatka veličine 16 bita);
➢ dvostruke riječi (bilo koji tip podatka veličine 32 bita).

Adresiranje podataka veličine bita

Podaci veličine bita u memoriji su predstavljeni podatkovnim tipom BOOL pa im se u


programu pristupa adresama na razini bita (ili binarnim adresama) koje se sastoje od oznake
adresnog područja i lokacije na kojoj se stanje bita (0 ili 1) nalazi u tom području. Adrese na
razini bita imaju oblik "Xbajt.bit" gdje X predstavlja oznaku adresnog područja memorije (I, Q,
M, L) čijim se bitovima želi pristupiti. To znači da je za pristup podatku veličine bita u nekom
memorijskom području uvijek potrebno navesti adresu koja uz oznaku adresnog područja
sadrži odabrani bajt koji je točkom odvojen od broja bita u tom bajtu. Na slici 25. prikazan je
primjer pristupa podatku veličine bita čije se stanje sprema u tabličnu sliku procesnih ulaza
koje ima oznaku I. U ovom slučaju radi se o bitu broj 7 (zadnji - osmi bit u bajtu) koji se nalazi
u bajtu broj 2 (treći po redu) u tom adresnom području.

X bajt . bit
I 2.7 – bit broj 7 u bajtu broj 2 u tabličnoj slici ulaza (I)

7 6 5 4 3 2 1 0 Bitovi u odabranom bajtu


bajt 0
bajt 1
bajt 2
Bajtovi u memorijskom
:
području I
:
:
bajt n

Tablična slika ulaza (I)

Slika 25. Adresiranje podatka veličine bita (BOOL)

________________________________________________________________________33
SIMATIC S7 Programirljivi logički kontroleri

Adresiranje podataka veličine bajta, riječi i dvostruke riječi

Za pristup podacima odgovarajućeg tipa koji u memoriji zauzimaju prostor veličine


jednog, dva ili četri bajta potrebno je navesti adresu na sličan način kako se to radi prilikom
adresiranja bitova. Apsolutne adrese kojima se u programu pristupa sadržaju bajta, riječi ili
dvostruke riječi se u PLC uređajima općenito nazivaju adresama na razini riječi. Kod takvih se
adresa uz oznaku adresnog područja memorije (I, Q, PI, PQ, M, L) još dodaje oznaka kojom
se odabire veličina memorijske lokacije kojoj se pristupa nakon čega slijedi broj bajta kojim se
označuje početak memorijske lokacije odabrane veličine u navedenom području memorije.
Oznake kojima se, sukladno tipu podatka, određuje veličina memorijske lokacije kojoj se
pristupa su: B za bajt (eng. Byte), W za riječ (eng. Word) i D za dvostruku riječ (eng.
Doubleword).
Adrese kojima se u memoriji pristupa podacima veličine bajta imaju oblik "XBbajt" gdje
se umjesto X navodi oznaka adresnog područja dok B predstavlja oznaku za bajt nakon koje
se navodi broj bajta u željenom memorijskom području. Na slici 26. prikazan je primjer pristupa
bajtu broj 2 u bit memoriji.

7 6 5 4 3 2 1 0
bajt 0
bajt 1
bajt 2
bajt 3 XBbajt
:
: MB2
bajt n

Bit memorija (M) Oznaka


za bajt

Bajtovi u memorijskom području M

Slika 26. Adresiranje podataka veličine bajta

Podaci veličine riječi sastoje se od dva bajta pa im se u memoriji pristupa adresama


koje imaju oblik "XWbajt". Umjesto X navodi se oznaka adresnog područja dok W predstavlja
oznaku za riječ nakon koje se navodi broj bajta u navedenom memorijskom području koji
predstavlja manje značajni bajt (eng. Least Significant Byte - LSB) memorijske riječi koja se
adresira. Na slici 27. prikazano je adresiranje memorijske riječi MW2 koja u bit memoriji
zauzima bajtove 2 i 3. Pritom se na krajnje desnoj poziciji, koja određuje točnu lokaciju riječi u
bit memoriji, navodi bajt 2 jer je to manje značajni bajt te riječi dok se zbog oznake W
podrazumijeva da njoj također pripada i bajt 3.

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č

Bajtovi u memorijskom području M

Slika 27. Adresiranje podataka veličine riječi

________________________________________________________________________34
SIMATIC S7 Programirljivi logički kontroleri

Podaci veličine dvostruke riječi sastoje se od četri bajta pa im se u memoriji pristupa


adresama koje imaju oblik "XDbajt". Umjesto X navodi se oznaka adresnog područja dok D
predstavlja oznaku za dvostruku riječ nakon koje se navodi broj bajta u navedenom
memorijskom području koji predstavlja najmanje značajni bajt (eng. Least Significant Byte -
LSB) dvostruke riječi koja se adresira. Na slici 28. prikazano je adresiranje memorijske riječi
MD0 koja u bit memoriji zauzima bajtove 0, 1, 2 i 3. Pritom se na krajnje desnoj poziciji, koja
određuje točnu lokaciju dvostruke riječi u bit memoriji, navodi bajt 0 jer je to najmanje značajni
bajt te riječi dok se zbog oznake D podrazumijeva da njoj također pripadaju i bajtovi 1, 2 i 3.

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

Bit memorija (M) Oznaka za


dvostruku
riječ
Bajtovi u memorijskom području M

Slika 28. Adresiranje podataka veličine dvostruke riječi

Adresiranje ulaza i izlaza

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.

- Adresiranje digitalnih ulaza (I) i izlaza (Q)

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

I/Q I/Q I/Q I/Q I/Q I/Q I/Q I/Q

Utor 1 Utor 2 Utor 3 Utor 4 Utor 5 Utor 6 Utor 7 Utor 8 Utor 9 Utor 10 Utor 11

Šina 0.0 4.0 8.0 12.0 16.0 20.0 24.0 28.0


0 PS CPU IM 365 do do do
do do do do do
(Šalje)
3.7 7.7 11.7 15.7 19.7 23.7 27.7 31.7

I/Q I/Q I/Q I/Q I/Q I/Q I/Q I/Q

Utor 2 Utor 3 Utor 4 Utor 5 Utor 6 Utor 7 Utor 8 Utor 9 Utor 10 Utor 11

Šina 32.0 36.0 40.0 44.0 48.0 52.0 56.0 60.0


1 PS IM 365
do do do do do do do do
(Prima)
35.7 39.7 43.7 47.7 51.7 55.7 59.7 63.7

Slika 29. Adresiranje digitalnih ulaza / izlaza – S7-300

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

Bajt 0 Bajt 4 Bajt 8 Bajt 12 Bajt 0 Bajt 4 Bajt 8 Bajt 12


0.0 4.0 8.0 12.0 0.0 4.0 8.0 12.0
do do do do do do do do
0.7 4.7 8.7 12.7 0.7 4.7 8.7 12.7
Bajt 1 Bajt 5 Bajt 9 Bajt 13 Bajt 1 Bajt 5 Bajt 9 Bajt 13
1.0 5.0 9.0 13.0 1.0 5.0 9.0 13.0
do do do do do do do do
1.7 5.7 9.7 13.7 1.7 5.7 9.7 13.7
Bajt 2 Bajt 6 Bajt 10 Bajt 14 Bajt 2 Bajt 6 Bajt 10 Bajt 14
2.0 6.0 10.0 14.0 2.0 6.0 10.0 14.0
do do do do do do do do
2.7 6.7 10.7 14.7 2.7 6.7 10.7 14.7
Bajt 3 Bajt 7 Bajt 11 Bajt 15 Bajt 3 Bajt 7 Bajt 11 Bajt 15
3.0 7.0 11.0 15.0 3.0 7.0 11.0 15.0
do do do do do do do do
3.7 7.7 11.7 15.7 3.7 7.7 11.7 15.7

Slika 30. Adresiranje digitalnih ulaza / izlaza – S7-400

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.

- Adresiranje analognih ulaza (PI) i izlaza (PQ)

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.

PIW/PQW PIW/PQW PIW/PQW PIW/PQW PIW/PQW PIW/PQW PIW/PQW PIW/PQW

Utor 1 Utor 2 Utor 3 Utor 4 Utor 5 Utor 6 Utor 7 Utor 8 Utor 9 Utor 10 Utor 11

Šina 256 272 288 304 320 336 352 368


0 PS CPU IM 365 do do do
do do do do do
(Šalje)
271 287 303 319 335 351 367 383

PIW/PQW PIW/PQW PIW/PQW PIW/PQW PIW/PQW PIW/PQW PIW/PQW PIW/PQW

Utor 2 Utor 3 Utor 4 Utor 5 Utor 6 Utor 7 Utor 8 Utor 9 Utor 10 Utor 11

Šina 384 400 416 432 448 464 480 496


1 PS IM 365
do do do do do do do do
(Prima)
399 415 431 447 463 479 495 511

Slika 31. Adresiranje analognih ulaza / izlaza – S7-300

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.

PIW/PQW PIW/PQW PIW/PQW PIW/PQW PIW/PQW

PS-407 S7 CPU Utor 4 Utor 5 Utor 6 Utor 7 Utor 8 IM

PIW512 PIW528 PQW512 PQW544 PQW576


PQW514 PQW546 PQW578
PIW514 PIW530 PQW516 PQW548 PQW580
PQW518 PQW550 PQW582
PIW516 PIW532 PQW520 PQW552 PQW584
PQW522 PQW554 PQW586
PIW518 PIW534 PQW524 PQW556 PQW588
PQW526 PQW558 PQW590
PIW520 PIW536 PQW528 PQW560 PQW592
PQW530 PQW562 PQW594
PIW522 PIW538 PQW532 PQW564 PQW596
PQW534 PQW566 PQW598
PIW524 PIW540 PQW536 PQW568 PQW600
PQW538 PQW570 PQW602
PIW526 PIW542 PQW540 PQW572 PQW604
PQW542 PQW574 PQW606

Slika 32. Adresiranje analognih ulaza / izlaza – S7-400

Vrijednostima analognih ulaza i izlaza moguće je pristupiti jedino uporabom


odgovarajućih naredbi u korisničkom programu. U programskom jeziku LAD i FBD se za čitanje
vrijednosti analognih ulaza i slanje vrijednosti na analogne izlaze može koristiti naredba za
premještanje podataka (MOVE) dok se u programskom jeziku STL za čitanje vrijednosti
analognih ulaza koristi "Load" naredba (npr. L PIW 512) a za slanje vrijednosti na analogne
izlaze koristi se "Transfer" (npr. T PQW 512).

________________________________________________________________________39
SIMATIC S7 Programirljivi logički kontroleri

Adresiranje bit memorije (M)

Bit memorija se uglavnom koristi za spremanje posrednih rezultata nekih operacija iz


korisničkog programa. Pritom ti podaci mogu biti veličine bita, bajta, riječi ili dvostruke riječi
zbog čega se u bit memoriji, sukladno veličini podatka, također koriste memorijske adrese
odgovarajućih veličina. Programer prilikom rada s podacima zapisanim u različitim
podatkovnim tipovima mora na prvom mjestu obratiti pažnju na veličinu memorijske lokacije
koju određeni podatak zauzima u bit memoriji. Svim memorijskim lokacijama unutar bit
memorije može se sasvim slobodno pristupiti što znači da spremanje podatka bilo koje duljine
početi od bilo kojeg memorijskog bajta. Zbog svega ovoga je kod izrade programa naročito
važno voditi računa da se pojedini memorijski bajtovi od kojih se sastoji neka adresa ponovno
ne iskoriste u sklopu neke druge adrese. Slika 33. prikazuje na koje se sve načine u programu
mogu iskoristiti četiri bajta unutar bit memorije. Dakle, ako se u nekoj naredbi u programu
navede npr. adresa MW20 to znači da se adresa MW21 više ne može korisititi jer je bajt br. 21
već iskorišten u memorijskoj riječi MW20. Sljedeća slobodna adresa veličine riječi u ovom
slučaju je MW22. Isto tako, ako se neki memorijski bit iskoristi za spremanje posrednog
rezultata neke binarne operacije tada se memorijski bajt koji obuhvaća taj bit više ne može
zasebno koristiti ili činiti dio memorijske riječi ili dvostruke riječi. U prikazanom primjeru to bi
značilo da se adrese MW20 ili MD20 neće moći korisititi ako je u nekoj naredbi naveden bilo
koji memorijski bit iz bajta br. 20 (npr. M20.6). Adresa MD20 zauzima četiri bajta što znači da
je bajt br. 24 prvi slobodni bajt koji se u programu može koristiti za adresiranje.

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

MB23 MB22 MB21 MB20

MW21 M20.1

Slika 33. Mogućnosti adresiranja bajtova u bit memoriji

Adresiranje timera (T)

Lokacijama veličine riječi u memoriji na kojima se nalaze vrijednosti bitne za rad s


timerom (postavna vrijednost vremena i vremenska baza) pristupa se pomoću adrese koja ima
oblik Tn. Oznaka 'T' se uvijek koristi za referenciranje adresnog područja namijenjenog
timerima dok n označava redni broj timera u memoriji za timere. Adrese T0, T1, T2, itd. na taj
način predstavljaju mjesto za spremanje vrijednosti timera počevši od prve memorijske lokacije
u području memorije procesorske jedinice koje je rezervirano za timere. Adrese timera mogu
se u programu koristiti u operacijama na razini bita za kontrolu i provjeru statusa timera (start
timera, rad, kraj rada) i u operacijama na razini riječi za provjeru vremena koje je prošlo od
startanja timera.

Adresiranje brojača (C)

Lokacijama veličine riječi u memoriji na kojima se nalazi postavna vrijednost brojača


pristupa se pomoću adrese koja ima oblik Cn. Oznaka 'C' se uvijek koristi za referenciranje
adresnog područja namijenjenog timerima dok n označava redni broj brojača u memoriji za
brojače. Slično kao i kod timera, adrese C0, C1, C2, itd. na taj način predstavljaju mjesto za
spremanje vrijednosti timera počevši od prve memorijske lokacije u području memorije
procesorske jedinice koje je rezervirano za brojače. Adrese brojača mogu se u programu
koristiti u operacijama na razini bita za kontrolu i provjeru statusa brojača (start brojača, rad,

________________________________________________________________________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.

Adresiranje lokalnih podataka (L)

Stog lokalnih podataka dinamički se popunjava privremenim lokalnim podaci koji


nastaju prilikom izvođenja S7 bloka, dostupni su samo tokom njegovog izvođenja i brišu se
kada je blok izvršen. Privremenim lokalnim podacima bloka je u korisničkom programu moguće
pristupiti pomoću adresa koje koriste oznaku 'L'. To znači da se podataku veličine bita u bloku
koji se trenutno izvodi pristupa pomoću adrese koja ima oblik "Lbajt.bit" dok adresa za pristup
bajtu ima oblik "LB n", adresa za pristup riječi "LW n" te za pristup dvostrukoj riječi "LD n" gdje
n predstavlja redni broj bajta u privremenoj memoriji.

Adresiranje podatkovnih blokova (DB)

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.

Pregled adresiranja S7 memorijskih područja

Tablicom 9. na sljedećoj stranici dan je kratak pregled adresiranja podataka u S7


memorijskim područjima. Sve podatke u pripadajućim memorijskim područjima moguće je
adresirati upotrebom odgovarajućih instrukcija u korisničkom programu.

________________________________________________________________________41
SIMATIC S7 Programirljivi logički kontroleri

Tablica 9. Adresiranja podataka u S7 memorijskim područjima

Adresno područje Pristup prema veličini S7 Primjer


(Oznaka) podatka zapis

Tablična slika Ulazni bit I I2.1 - Ulazni bajt 2, bit 1


procesnih ulaza (I)
Ulazni bajt IB IB2 - Ulazni bajt 2
Ulazna riječ IW IW2 - Ulazna riječ 2, bajtovi 2-3
Ulazna dvostruka riječ ID ID2 - Ulazna dvostruka riječ 2, bajtovi 2-5
Tablična slika Izlazni bit Q Q4.3 - Izlazni bajt 4, bit 3
procesnih izlaza (Q
Izlazni bajt QB IB4 - Izlazni bajt 4
Izlazna riječ QW IW4 - Izlazna riječ 4, bajtovi 4-5

Izlazna dvostruka riječ QD ID4 - Izlazna dvostruka riječ 4, bajtovi 4-7

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

Memorijski bajt MB MB14 - memorijski bajt 14

Memorijska riječ MW MW14 - memorijska riječ 14

Memorijska dvostruka MD MD14 - memorijska dvostruka riječ 14


riječ
Timer (T) Timer T T22 - Timer 22
Brojač (C) Brojač C C15 - Brojač 15
Lokalni podaci (L) Bit lokalnih podataka L L6.5 - Bajt 6, bit 5 u lokalnoj memoriji

Bajt lokalnih podataka LB LB6 - Bajt 6 u lokalnoj memoriji


Riječ lokalnih podataka LW LW6 - Riječ 6 u lokalnoj memoriji, bajtovi 6-7

Dvostruka riječ lokalnih LD LW6 – Dvostruka riječ 6 u lokalnoj memoriji, bajtovi


podataka 6-9

________________________________________________________________________42
SIMATIC S7 Programirljivi logički kontroleri

1.3.6 Podatkovni tipovi u S7 PLC uređajima

Podatkovni tipovi pojedinih varijabli određuju karakteristike podataka odnosno načine


na koji se programu tumače i prikazuju sadržaji jedne ili više povezanih adresa. O tipu tip
podatka neke varijable ovisi veličinu podatka u bitovima (npr. 1 bit, 8 bita, 16, bita, 32 bita, itd.)
a samim time i dopušteni raspon vrijednosti koji neka varijabla može spremati kao i operacije
u kojima se u programu može koristiti. Poznavanje podatkovnih tipova koji se mogu koristiti u
programskom paketu STEP 7 također je važno prilikom rada sa FC, FB i DB jer je svakoj
varijabli koja se deklarira unutar logičkog ili podatkovnog bloka potrebno dodijeliti odgovarajući
tip podatka. Tablica 10. prikazuje koji se sve podatkovni tipovi mogu koristiti prilikom
programiranja PLC uređaja S7 serije. Elementarni tipovni podataka nalaze najširu primjenu u
S7 PLC uređajima jer se mogu koristiti u varijablama iz svih adresnih područja S7 memorije,
prilikom deklariranja varijabli u pojedinom bloku (FC, FB) kao i za spremanje podatka u
podatkovnim blokovima. Složeni i korisnički definirani podatkovni tipovi mogu se koristiti samo
kod varijabli koje su deklarirane u logičkim i podatkovnim blokovima zbog čega složeni i
korisnički definirani podatkovni tipovi nisu u ovom dijelu detaljnije obrađeni. Više riječi o
složenim i korisnički definiranim tipovima podataka može se naći u poglavlju o podatkovnim
blokovima.

Tablica 10. Podatkovni tipovi u S7 PLC uređajima

Elementarni Bit podatkovni tipovi (BOOL, BYTE, WORD, DWORD, CHAR)


podatkovni tipovi
(do 32 bita) Matematički podatkovni tipovi (INT, DINT, REAL)
Vremenski tipovi (S5TIME, TIME, DATE, TIME_OF_DAY)
Kompleksni Vrijeme (DATE_AND_TIME)
podatkovni tipovi
(duži od 32 bita) Polje (ARRAY)
Struktura (STRUCT)
Niz znakova (STRING)
Korisnički definirani Podatkovni tip UDT (User Defined Type)
podatkovni tipovi
(duži od 32 bita)

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.

Podatkovni tip BOOL

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).

Podatkovni tip BYTE

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

Navodi se kao: 2#0100_1111 ili B#16#4F

Slika 34. Varijabla podatkovnog tipa BYTE

Podatkovni tip CHAR

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').

Podatkovni tip WORD

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

Navodi se kao: 2#0101_1110_0000_1111

Slika 35. Varijabla podatkovnog tipa WORD kao 16-bitni niz

- Četveroznamenkasti heksadecimalni broj: varijabla podatkovnog tipa WORD se u


ovom slučaju promatra kao heksadecimalni broj koji se navodi pomoću oznake
"W#16#" gdje "W" govori da se radi o podatku veličine riječ a "16" da se radi o
heksadecimalnom broju. Nakon ove oznake dolaze četiri heksadecimalne znamenke
od kojih je svaka predstavljena pomoću 4 bita. Mogući raspon vrijednosti kreće se od
W#16#0 do W#16#FFFF. Ovakav načina uporabe podatkovnog tipa WORD nalazi
primjenu kada je u programu potrebno koristiti četveroznamenkasti heksadecimalni
broj ili kada se binarni niz želi skraćeno zapisati pomoću heksidecimalnog broja pa se
tako umjesto npr. 2#16#0001_0011_1010_1111 jednostavno navodi samo
W#16#13AF.

________________________________________________________________________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

Navodi se kao: W#16#13AF

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)

Navodi se kao: W#16#F789

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

128 64 32 16 8 4 2 1 128 64 32 16 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 0 1 1 1 1 0 1 1 1 1 1 0 1

15 125

Navodi se kao: B#(15,125)

Slika 38. Varijabla podatkovnog tipa WORD kao dva 8-bitna dekadska broja

Podatkovni tip DWORD

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

Navodi se kao: 2#0101_1110_0000_1111_1100_0011_0101_1010

Slika 39. Varijabla podatkovnog tipa DWORD kao 32-bitni niz

- Osmeroznamenkasti heksadecimalni broj: varijabla podatkovnog tipa DWORD se u


promatra kao heksadecimalni broj koji se u ovom slučaju navodi pomoću oznake
"DW#16#" gdje "DW" govori da se radi o podatku veličine dvostruke riječ (32 bita) a
"16" da se radi o heksadecimalnom broju. Nakon ove oznake dolazi osam
heksadecimalnih znamenki od kojih je svaka predstavljena pomoću 4 bita. Mogući
raspon vrijednosti osmeroznamenkastog heksadecimalnog broja kreće se od
W#16#00000000 do W#16#FFFFFFFF. Ovakav načina uporabe podatkovnog tipa
DWORD često nalazi primjenu kada se 32-bitni binarni niz želi skraćeno zapisati
pomoću heksadecimalnog broja sa osam znamenki.

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

Navodi se kao: DW#16#5E0FC35A

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)

Navodi se kao: DW#16#5E0FC35A

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.

128 64 32 16 8 4 2 1 128 64 32 16 8 4 2 1 128 64 32 16 8 4 2 1 128 64 32 16 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 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

Navodi se kao: B#(20,120,200,20)

Slika 42. Varijabla podatkovnog tipa DWORD kao četri 8-bitna dekadska broja

Podatkovni tip INT

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

Podatkovni tip DINT

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).

Podatkovni tip REAL

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.

Tablica 11. Primjeri zapisa realnih brojeva u REAL formatu

Realni broj REAL format Realni broj REAL format


98765.12 9.876512E+004 -987654321000000 -9.876543e+014
0.9876512 9.876512E-001 8000.01 8.000010e+003
987.6512 9.876512E+002 0.0002 2.000000e-004
0.0000987 9.870000E-005 -20000 -2.000000e+004
-0.0000000000987 -9.870000E-011 -999.555 -9.995550e+002

Podatkovni tip S5TIME

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

postavne vrijednosti u memorijskom području za timere rezervirana je memorijska lokacija


veličine riječi u kojoj je postavna vrijednost u internom formatu zapisana kao BCD broj s tri
dekade. Podatkovni tip S5TIME detaljnije je opisan u poglavlju o timerima (X. naslov poglavlja
o timerima) jer je njegova uporaba usko vezana uz timer funkcije.

Podatkovni tip DATE

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.

Podatkovni tip TIME

Varijabla podatkovnog tipa TIME koristi se za definiranje vremenskog intervala. U memoriji


zauzima jednu dvostruku riječ čiji se sadržaj interpretira kao kao 32-bitni cijeli broj izražen u
milisekundama. Vrijeme se navodi u danima ( jedinica d ili D), satima (jedinica h ili H),
minutama (jedinica m ili M) i sekundama (jedinica s ili S) i milisekundama (jedinica ms ili MS)
ispred kojeg dolazi oznaka "TIME#" ili "T#". Pritom je 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 definirao željeni vremenski interval (npr.
T#20h45m). Ovaj podatkovni tip podržava unos pozitivnih i negativnih vrijednosti vremena u
rasponu od T#-24D20H31M23S647MS do T#24D20H31M23S647MS.

Podatkovni tip TIME_OF_DAY

Varijabla podatkovnog tipa TIME_OF_DAY zauzima dvostruku riječ i koristi se za definiranje


vremena u danu. Sadrži broj milisekundi od početka dana (0:00 sati) u obliku 32-bitnog cijelog
broja bez predznaka. Vrijeme u danu se navodi pomoću oznake "TIME_OF_DAY#" ili "TOD#"
nakon koje dolaze sati, minute, i sekunde koji su svaki međusobno odvojeni dvotočkom (npr.
TOD#23:59:59). Vrijeme u danu također je moguće definirati uporabom milisekundi koje se
navode nakon sekundi i njih se odvajaju točkom (npr. TOD#23:59:59.999). Milisekunde nije
nužno navesti i prema potrebi može ih se izostaviti.

Pregled elementarnih tipova podataka u S7 PLC uređajima

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

Tablica 12. Pregled elementarnih tipova podataka u STEP 7


Tip podatka
Opis Format prikaza i raspon vrijednosti
(Veličina)
BOOL (1 bit) Bit TRUE / FALSE
Binarni broj 2#0 do 2#1111_1111
BYTE (8 bita)
Heksadecimalni broj B#16#0 do B#16#FF
CHAR (8 bita) ASCII znak 'A', 'B', 'C', itd.
16-bitni binarni broj 2#0 do 2#1111_1111_1111_1111

Heksadecimalni broj (BCD


W#16#0000 do W#16#FFFF
broj s tri dekade)
WORD (16 bita)
Postavna vrijednost brojača C#0 do C#999
Dva 8-bitna dekadska broja
B#(0,0) do B#(255,255)
bez predznaka
2#0 do
32-bitni binarni broj
2#1111_1111_1111_1111_1111_1111_1111_1111
Heksadecimalni broj (BCD
DWORD (32 bita) DW#16#0000_0000 do DW#16#FFFF_FFFF
broj sa sedam dekada)
Četri 8-bitna dekadska broja
B#(0,0,0,0) do B#(255,255,255,255)
bez predznaka
INT (16 bita) Cijeli broj s predznakom -32768 do 32767
DINT (32 bita) Cijeli broj s predznakom L#-2147483648 do L#2147483647
IEEE broj s pomičnim
REAL (32 bita) ±1,175495·10-38 do ±3,402823·1038
zarezom
Postavna vrijednost timera u
S5TIME (16 bita) S5T#0h0m0s10ms do S5TIME#2h46m30s0ms
SIMATIC formatu
IEC datum u koracima od 1
DATE (16 bita) D#1990-1-1 do DATE#2168-12-31
dana
IEC vremenski interval u T#-24d20h31m23s648ms do
TIME (32 bita)
koracima od 1 ms TIME#24d20h31m23s647ms
Vrijeme u danu u koracima
TIME_OF_DAY (32 bita) TOD#0:0:0.0 do TIME_OF_DAY#23:59:59.999
od 1 ms

________________________________________________________________________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.

Slika 43. Programska grupa SIMATIC u Windows Start Meniju

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

2.1 SIMATIC Manager

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

Slika 44. Osnovni prozor SIMATIC Manager-a

U ovom prozoru dostupne su sljedeće alatne trake sa pripadajućim funkcijama:

- Traka s naslovom: Traka s naslovom sadrži naziv prozora i gumbe za upravljanje


prozorom.
- Traka s izbornicima: Sadrži sve izbornike dostupne u trenutno aktivnom prozoru.
- Traka s alatima: Sadrži najčešće korištene funkcije prikazane ikonama.
- Traka statusa: Prikazuje trenutni status o stanju sustava i druge informacije.
- Traka s programima: Traka s programima sadrži sve otvorene aplikacije i prozore
prikazane u obliku gumba. Pomoću desne tipke miša traka s programima može se
postaviti uz bilo koju stranu ekrana.

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.

SIMATIC STEP 7 alati


Manager Prikaz u realnom vremenu
npr. PID Control

Podaci u S7 projektu HMI


npr. WinCC flexible

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

Slika 45. Strukturna organizacija programskog alata SIMATIC Manager

2.1.1 S7 projekti

Razvoj upravljačkog programa za PLC uređaje S7 serije u SIMATIC Manager-u


započinje otvaranjem ili kreiranjem novog projekta. Svi sklopovski i programski zahtjevi
automatizacije pomoću S7 komponenata realiziraju u okviru projekta gdje se svi podaci
pohranjuju u obliku objekata. Unutar projekata tako se radi s ''logičkim'' objektima koji
odgovaraju ''stvarnim'' komponentama koje se nalaze u nekom postrojenju. Objekti mogu
predstavljati S7 stanicu (PLC), procesorsku jedinicu (CPU), razne S7 module, komunikacijske
mreže, itd. Zbog toga projekti obično sadrže konfiguracijske podatke sklopovlja PLC uređaja,
parametre i podešenja pojedinih modula, upravljačke programe s pripadajućim podacima i
parametre komunikacijskih veza. Projekti se mogu razlikovati po veličini od malih koji sadrže
samo jedan PLC koji upravlja nekim strojem do vrlo velikih koji sadrže sustav upravljanja
cijelog postrojenja što uključuje mnogo PLC uređaja, operatorskih panela i komunikacijskih
mreža.
Objekti su u prozoru projekta složeni u obliku stablaste strukture (hijerarhije projekta)
koja je prikazana na isti način kao struktura direktorija u Windows Exploreru, samo su ikone
objekata drugačije. Prozor projekta podijeljen je na dva dijela i izgleda kao što je prikazano

________________________________________________________________________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.

Slika 46. Prozor projekta u SIMATIC Manager-u

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

Projekt Objekt koji sadrži sve podatke značajne za projekt

MPI, PTP, PROFIBUS, Podmreža Sadrži postavljene parametre podmreže


Industrial Ethernet (Subnet)

SIMATIC Stanica Objekt koji sadrži sve podatke S7-300/400 kontrolera

Sklopovlje Konfiguracijska tablica Sadrži konfiguracijske podatke stanice i parametre


(Configuration table) modula
(Hardware)

CPU xxx Objekt koji sadrži tablicu veza i korisnički program

Veze Tablica veza Sadrži definirane komunikacijske veze između


(Connections) (Connection table) čvorova na mreži

S7 program Objekt koji sadrži sve podatke korisničkog programa

Simboli Tablica simbola Sadrži simbole (imena) apsolutnih adresa u


(Symbols) (Symbol table) programu

Sources Objekt koji sadrži izvorne programe

Izvorni programi Izvorni programi Sadrži izvorne datoteke korisničkog programa


(Sources) (Source programs)

Blokovi Objekt koji sadrži korisnički program i konfiguracijske podatke


Korisnički program: Sadrže kompajlirane blokove programa i
OB n Organizacijski blokovi njihove podatke

FB n Funkcijski blokovi
FC n Funkcije
DB n Podatkovni blokovi

UDT n Tipovi podataka Sadrži korisnički definirane tipove podataka

SFC n Sistemske funkcije Sadrže sučelje za poziv sistemskih blokova


SFB n Sistemski funkcijski blokovi integriranih u CPU

Sistemski podatkovni Sadrži kompajlirane podatke iz konfiguracijske


Sistemski podaci blokovi tablice

Sadrži varijable iz programa koje se mogu


VAT n Tablice varijabli
pratiti i mijenjati

S7 program S7 program kojemu još nije dodijeljeno sklopovlje

Ima istu strukturu kao i S7 program kojemu je već


dodijeljeno sklopovlje

Slika 47. Stablasta struktura S7 projekta

2.1.2 Biblioteke

Biblioteke (eng. Library) se koriste za spremanje S7 programa koji se mogu iskoristiti


više puta prilikom izrade upravljačkih programa za PLC uređaje. Spremanje jednom izrađenog
programa u biblioteku je jednostavan način da se neka upravljačka logika sačuva i po potrebi
koristi prilikom izrade nekog drugog projekta. Biblioteka ima hijerarhijsku strukturu identičnu
strukturi projekta ali u njoj se može nalaziti samo direktorij za S7 programe (S7 Program) koji
se ovdje ne nalazi unutar objekta za procesorsku jedinicu (CPUxxx) kao što je to slučaj kod
projekta. Direktorij za S7 programe sadrži odgovarajuće S7 blokove s pripadajućom
upravljačkom logikom koja se želi sačuvati. Blokovi se u SIMATIC Manager-u mogu stvarati u
određenoj biblioteci, mogu se iz nje kopirati u projekt u kojem se žele iskoristiti ili u nju kopirati
iz nekog projekta, ali se ne mogu testirati. Pritom ne postoji ograničenje u broju direktorija za
S7 programe koji se mogu spremiti u neku biblioteku.

________________________________________________________________________56
SIMATIC S7 Programirljivi logički kontroleri

Slika 48. Biblioteka u kojoj su spremljena tri S7 programa

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

Svim blokovima iz biblioteka može se pristupiti iz SIMATIC Manager-a odabirom opcije


izbornika File → Open. Otvori se dijalog u kojem se odabere kartica Libraries, na popisu
biblioteka označi se standardna ili neka korisnički kreirana biblioteka, potvrdi se odabir sa OK
nakon čega se otvori prozor odabrane bibilioteke s pregledom dostupnih blokova. Ovdje se
odabere jedan ili više blokova te ih se na jednak način kao što se to radi u Windows Explorer-
u kopira te nakon toga zalijepi u S7 stanicu projekta u kojem se žele koristiti. U direktoriju za
S7 programe također se nalazi tablica simbola gdje je kod svih biblioteka koje dolaze uz
instalaciju STEP 7 svakom bloku dodijeljen pripadajući simbol i kratak opis funkcije koju blok
obavlja u programu.

Tablica 13. Pregled blokova dostupnih u standardnoj biblioteci


Direktorij za programe Opis
Funkcije (FC) za komunikaciju između CPU i distribuiranih U/I pomoću
Communication Blocks
komunikacijskog procesora u sklopu S7-300 / S7-400.
Blokovi za IEC funkcije (International Electrotechnical Commission - IEC), kao
IEC Function Blocks što su funkcije za obradu vremena i datuma, za operacije usporedbe, za obradu
znakovnih nizova, te za traženje najveće i najmanje vrijednosti.
Miscellaneous Blocks Raznovrsni blokovi

________________________________________________________________________57
SIMATIC S7 Programirljivi logički kontroleri

Ovdje se nalaze predlošci za standardne organizacijske blokove (OB) iz svih


prioritetnih klasa. To znači da je u tablici deklaracija svakog bloka iz biblioteke
Organization Blocks
deklarirano 20 varijabli lokalnih podataka (tzv. početnih informacija) za
pripadajući blok.
PID Control Blocks Funkcijski blokovi (FB) za upravljanje u zatvorenoj petlji pomoću PID regulatora.
S5-S7 Converting
Blokovi za pretvorbu STEP 5 programa.
Blocks
Sučelje za poziv sistemske funkcije (SFC) i sistemski funkcijski blokovi (SFB).
System Function Blocks Na taj način ih je moguće prilikom razvoja korisničkog programa umetnuti u
projekt.
TI-S7 Converting Blocks Blokovi za pretvorbu TI programa.

2.1.3 "Offline" / "Online" prozor projekta

Programiranje u SIMATIC Manager-u je podosta različito od programiranja PLC


uređaja nekih drugih proizvođača. Jedna od stvari koja vrlo lako može zbuniti većinu korisnika
koji se po prvi puta susreću s ovim programskim paketom je "offline" i "online" prikaz projekta
u njegovom osnovnom prozoru. Engleski izrazi "offline" i "online" se u ovom slučaju odnose na
stanja u kojima se nalazi korisnički program koji se razvija u okviru projekta. Slikom 50.
prikazana je razliku između navedenih stanja sustava.

SIMATIC Manager
Offline prozor - prikazuje sve podatke sa tvrdog diska

PG/PC

Tvrdi disk Offline

Radna SIMATIC Manager


memorija Online prozor - prikazuje sve podatke iz S7 CPU-a

S7 300/400

Online

Korisnička
memorija

Slika 50. Razlika između "offline" i "online" prikaza projekta

Podaci iz svakog projekta koji se kreira u SIMATIC Manager-u se pohranjuju u odabrani


direktorij na tvrdom disk računala koje se koristi za programiranje (PG/PC). Takvi podaci
korisniku su prikazani u "offline" prozoru koji uvijek prikazuje strukturu projekta pohranjenu na
tvrdi disk računala. U tom prozoru direktorij za S7 programe sadrži objekte Sources i Blocks
koji u sebi sadrži sistemske podatke (objekt System data) napravljene pomoću alata za
konfiguraciju sklopovlja te korisničke blokove napravljene u alatu za izradu programa. Kada je

________________________________________________________________________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.

Sistemska memorija Radna memorija Moduli

Proces- slika ulazne i Podatci u data


Timeri i Counteri Vanjski ulazi
izlazne tablice blokovima

Duljina i oznake data


Bit memorija Statusne riječi
blokova

Konstante i pokazivači
L stog Adresni registri
(pointeri)

LOAD funkcije Akumulatorske funkcije

Akumulator 1 Akumulator 2 Akumulator 3 Akumulator 4

TRANSFER funkcije Digitalne funkcije

Proces- slika ulazne i Statune riječi i adresni


izlazne tablice registri

Bit memorija L stog Podatci u data


Vanjski izlazi
blokovima
d d

Sistemska memorija Radna memorija Moduli

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

2.2 Uspostava veze S7 PLC – PG/PC

2.2.1 Sučelja za komunikaciju

Prije nego se krene u programiranje PLC uređaja potrebno ga je na odgovarajući način


povezati sa računalom koje će se koristiti za programiranje (PG/PC). Naravno, podrazumijeva
se da je na to računalo prethodno instaliran programski paket STEP 7. Vezu između S7 PLC
uređaja i računala moguće je ostvariti uporabom MPI, PROFIBUS ili Industrial Ethernet
komunikacijskih protokola. Za samo fizičko spajanje preko tih protokola postoje tri sljedeće
osnovne vrste kabela i sučelja za programiranje:

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.

Slika 52. SIMATIC PC Adapter USB

2. Odgovarajuća kartica za računalo: Za ostvarivanje veze također se može koristiti


nekoliko vrsta Siemens-ovih komunikacijskih kartica koje se nude kao " Cardbus " ili
"PCI" kartice koje se ugrađuju u računala korištena za programiranje S7 PLC uređaja.
Pritom se "Cardbus" kartice koriste kod prijenosnih računala gdje dolaze u "PC card"
utore (PCMCIA) za spajanje perifernih uređaja sa prijenosnim računalima dok se "PCI"
kartice koriste kod stolnih računala gdje dolaze u PCI utore koji služe za priključivanje
perifernih uređaja. "Cardbus" kartica je primjerice CP 5512 koja služi za povezivanje
prijenosnog računala na PROFIBUS i MPI sučelje na SIMATIC S7-300/400. Primjer
"PCI" kartice je CP 5611 koja može poslužiti za povezivanje stolnog računala na
PROFIBUS i MPI sučelje na SIMATIC S7-300/400, isto kao i kod CP 5512 kartice.
Pomoću ovakvih kartica moguće je računalo za programiranje povezati sa samo jednim
ili više PLC uređaja koji su spojeni u PROFIBUS DP ili MPI mrežu.

________________________________________________________________________61
SIMATIC S7 Programirljivi logički kontroleri

Slika 53. CP 5611

Slika 54. X11. 5512

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).

Slika 55. Standardni Ethernet kabel i mrežna kartica

Iz dosad navedenog lako je primjetiti da komunikacijske kartice CP5512 / CP 5611 i


PC Adapter mogu sa S7 PLC uređajem komunicirati bilo preko MPI ili PROFIBUS priključka.
Dobro je znati da je kod Siemens-ovih uređaja PROFIBUS priključak uvijek označen sa DP.
Prilikom svog rada PC Adapter se napaja preko komunikacijskog priključka na PLC uređaju
dok se komunikacijske kartice napajaju iz samog računala sa kojim se koriste.
Potrebno je naglasiti da se SIMATIC PC Adapter prilikom programiranja koristi kao
primaran, i ujedno najjednostavniji, način komunikacije između računala i S7 PLC uređaja.
Razlog tome je činjenica da svi procesorski moduli, bez obzira bili oni iz S7-300 ili S7-400
serije, imaju na sebi ugrađen MPI priključak. Komunikaciju putem PROFIBUS ili Industrial

________________________________________________________________________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.

PG/PC " Upload "


S7-300

PC adapter
USB
USB MPI

" Download "


Slika 56. SIMATIC PC Adapter USB kao sučelje između PG/PC i S7 PLC uređaja

2.2.2 Konfiguriranje komunikacije – alat Set PG/PC Interface

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

Slika 57. Okvir za dijalog Set PG/PC Interface

U polju označenom sa Access Point of the Application odabira se aplikacija, u ovom


slučaju STEP 7, koja želi ostvariti komunikaciju sa PLC uređajem. Naime, ovaj alat se također
koristi za podešavanje komunikacije sa nekim drugim Siemens-ovim komponentama i
aplikacijama (npr. WinCC) koje se odabiru u padajućem izborniku navedenog polja. Dijalog
Set PG/PC Interface se u tom slučaju pokreće iz Windows Control Panela jer je tada moguće
odabrati željenu komponentu iz padajućeg izbornika. Međutim, kada se na neki od načna
pokrene iz programskog paketa STEP 7 pristupna točka je u padajućem izborniku već
automatski odabrana zbog čega ne treba voditi računa o ovoj opciji.
Najvažnija opcija u ovom alatu je lista Interface Parameter Assignment gdje se odabire
sučelje sa pripadajućim protokolom koji se koristi za povezivanje PLC uređaja sa računalom.
Kada se kao veza koristi SIMATIC PC Adapter na listi se odabere PC Adapter (MPI) nakon
čega je potrebno podesiti parametre sučelja kao što su brzina prijenosa, verzija PC Adapter-a
koji se koristi - USB ili serijski priključak (COM), i sl.. To se radi u okviru s postavkama sučelja
koji se otvara klikom na gumb Properties prilikom čega je na listi mora biti označeno sučelje
čiji se parametri žele podesiti. Vezu pomoću adaptera također je moguće automatski
konfigurirati tako da se na listi sučelja odabere PC Adapter (Auto) kod kojeg se u postavkama
mogu automatski konfigurirati parametri sučelja uz pretpostavku da je adapter već spojen sa
MPI priključkom na procesorskoj jedinici. Ako se SIMATIC PC Adapter koristi za povezivanje
na PROFIBUS mrežu tada se na listi sučelja odabire PC Adapter (PROFIBUS) dok se kod
povezivanja na Ethernet mrežu na listi odabire TCP/IP sučelje pored kojeg je navedena
mrežna kartica koja se nalazi u računalu. U ovom slučaju je potrebno paziti da se ne odabere
sučelje za bežičnu Ethernet vezu koje se također može nalaziti na listi sučelja. Kada se jednom
odabere odgovarajuće sučelje i podese se svi parametri potrebno je promjene spremiti klikom
na OK.

2.2.3 Provjera komunikacije – Accessible Nodes prozor

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.

Slika 58. Accessible Nodes prozor s jednom S7 stanicom

Accessible Nodes prozor se prilikom uspostave veze S7 PLC uređaja sa računalom


koristi samo za provjeru komunikacije jer prikazuje sve S7 stanica koje su dostupne preko
odabranog sučelja. Međutim, mogućnosti rada s njime su mnogo veće jer omogućava brz
pristup S7 procesorskoj jedinici gdje korisnik uporabom raznih opcija izbornika PLC → … iz
prozora SIMATIC Manager-a može prozor koristiti za dijagnostiku i otklanjanje grešaka na
samom PLC uređaju. Neke od tih opcija služe za pristup dijagnostičkom spremniku i
informacijama o CPU modulu, dijagnostiku sklopovlja, postavljanje internog sata CPU-a,
brisanje memorije i promjenu moda rada CPU modula (npr. iz RUN u STOP mod, itd.). U
Accessible Nodes prozoru također je moguć i pregled blokova u "online" pogledu čime je
dozvoljen pristup upravljačkom programu i podacima iz S7 procesorske jedinice. Vrijednosti
podataka iz programa ovdje je moguće pratiti i/ili mijenjati pomoću tablice varijabli koja također
dolazi kao jedna od opcija izbornika PLC. Ipak, uređivanje programa i promjena vrijednosti
podataka se nikako ne preporučuje jer time može doći do gubitka ili promjene nekih podataka
koji su važni za ispravan rad programa u PLC uređaju. Pomoću Accessible Nodes prozora se
PLC uređaju obično pristupa koristi kada korisnik još nema napravljen projekt za neku S7
stanicu ili kada na računalu nema spremljenu "offline" kopija projekta što je uobičajen slučaj
kada je u postrojenju potrebno samo promatrati stanje upravljačkog programa ili otklanjati
greške na PLC uređaju.

________________________________________________________________________65
SIMATIC S7 Programirljivi logički kontroleri

2.3 Kreiranje projekta

2.3.1 "Čarobnjak" za kreiranje projekta

Rad sa projektima u SIMATIC Manager-u započinje kreiranjem novog projekta. Odmah


nakon pokretanja SIMATIC Manager-a pojavljuje se "Čarobnjak za kreiranje projekta" (eng.
'New Project' Wizard) koji omogućuje brzo i jednostavno kreiranje novog projekta. Potrebno je
samo unijeti podatke o procesorskoj jedinici (CPU xxx) koja se koristi nakon čega "Čarobnjak"
sam kreira projekt sa S7 stanicom te odabranom procesorskom jedinicom sa direktorijem za
S7 programe. U praksi se "Čarobnjak za kreiranje projekta " u pravilu ne koristi jer je namijenjen
korisnicima koji se po prvi puta sreću sa programskom podrškom STEP 7. Njegovo se
pojavljivanje prilikom pokretanja SIMATIC Manager-a može isključiti deselektiranjem opcije
Display Wizard on starting the SIMATIC Manager u otvorenom dijalogu "Čarobnjaka".
"Čarobnjak za kreiranje projekta " se u bilo kojem trenutku može pokrenuti odabirom opcije
izbornika File → 'New Project' Wizard.

2.3.2 Kreiranje projekta pomoću opcije "New"

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

Tablica 14. Stanice koje se mogu umetnuti u S7 projekt


Stanica Opis
SIMATIC 300 Station Umeće se konfiguracija S7-300 serije
SIMATIC 400 Station Umeće se konfiguracija S7-400 serije
SIMATIC H Station Umeće se redundantna konfiguracija
SIMATIC PC Station Umeće se PC računalo sa programskim paketima WinAC
Other Station Umeće se PLC uređaj nekog drugog proizvođača
S5 Station Umeće se PLC uređaj iz S5 serije
PG/PC Umeće se računalo za programiranje

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 60. Projekt sa umetnutom SIMATIC 300 Stanicom

Slika 61. Kompletna struktura projekta nakon kreiranja sklopovske konfiguracije S7 stanice

Potrebno je spomenuti da se na drugu razinu strukture projekta, osim stanice, također


može umetnuti direktorij za S7 program. U njemu je moguće unutar spremnika Blocks izraditi

________________________________________________________________________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.

2.3.3 Izrada sklopovske konfiguracije u alatu Hardware Configuration

Izrada sklopovska konfiguracija S7 stanice je postupak kojim se izrađuje programski


model (virtualni) uređaja prema stvarnim (fizičkim) komponentama od kojih se S7 stanica
sastoji. Na taj način je u projektu moguće definirati od kojih se sve modula sastoji konfiguracija
S7 PLC uređaja za koji se razvija programska podrška. Za izradu sklopovske konfiguracije se
koristi alat za konfiguraciju sklopovlja (Hardware Configuration Tool). U njemu se razvija
programski model S7 sustava u kojem se svakoj sklopovskoj komponenti iz "stvarnog" sustava
dodjeljuje odgovarajući programski objekt. Na taj način se postupak konfiguracije sklopovlja
svodi na raspoređivanje procesorskih (CPU), komunikacijskih (CP), signalnih (SM), funkcijskih
(FM) i ostalih modula unutar objekata lokalnih i udaljenih šina kao i međusobno povezivanje
šina pomoću modula sučelja (IM) i raspoređivanje distribuiranih uređaja na Profibus mreži.
Postupak konfiguracije također obuhvaća adresiranje signalnih i komunikacijskih modula kao
i podešavanje nekih ostalih parametara modula.
Kada je sklopovska konfiguracija u nekom projektu jednom napravi, uvijek se može
dalje kopirati u neke druge S7 projekte ili se po potrebi mijenjati i podešavati ako je došlo do
promjena u "stvarnom" sustavu (npr. S7 stanica je proširena sa novim modulima). Svaku
napravljenu konfiguraciji potrebno je prvo kompajlirati i spremiti nakon čega se u spremniku
Blocks u "offline" prozoru projekta generira objekt System Data koji predstavlja sistemske
podatkovne blokove (eng. System Data block - SDB) gdje se spremaju konfiguracijski podaci
i parametri modula. Oni se učitavaju u radnu memoriju procesorske jedinice koja na taj način
dobiva informaciju o svim komponentama sustava i prenosi dalje konfiguracijske parametre
svim ostalim modulima od kojih se S7 stanica sastoji. Sklopovska konfiguracija zbog toga
također predstavlja koristan dijagnostički alat kojim se u "online" pogledu može vidjeti status
svih konfiguriranih komponenti i tako provjeriti da li rade ispravno ili je došlo do kvara.

________________________________________________________________________68
SIMATIC S7 Programirljivi logički kontroleri

Prozor stanice Katalog sklopovlja

Konfiguracijska tablica
Slika 62. Prozor alata za konfiguracija sklopovlja

U prozor stanice prvo se umetne virtulani montažni


Umetnuti montažni okvir okvir nakon čega se na mjesta (engl. slot) u
montažnom okviru umeću odabrane komponente iz
kataloga sklopovlja. U katalogu sklopovlja nalaze se
svi montažni okviri, CPU-ovi i moduli koji se mogu
Umetnuti korištene module koristiti prilikom slaganja programske konfiguracije
kontrolera. Prilikom umetanja modula iz kataloga
sklopovlja u virtulani montažni okvir treba voditi
računa da narudžebni brojevi odgovaraju brojevima
Podesiti parametre modula
ako je potrebno
naznačenim na prednjoj strani svakog modula.
Detaljnje podatke o modulima (npr. njihove adrese
u memoriji, narudžebne brojeve) umetnutim u
montažni okvir moguće je vidjeti u konfiguracijskoj
Spremiti konfiguraciju tablici. Također je moguće podesiti parametare
modula čime ih se prilagođava vrsti procesa za koji
se koriste. Ako se ne podese parametri modula oni
će se ponašati prema predefiniranim svojstvima.
Prebaciti napravljenu Nakon što se programski definira konfiguracija
konfiguraciju na kontroler potrebno ju je prebaciti na kontroler.
Slika 63. Pregled osnovnih koraka

________________________________________________________________________69
SIMATIC S7 Programirljivi logički kontroleri

2.3.4 Postupak sklopovske konfiguracije

Programska konfiguracija kontrolera definira se umetanjem odgovarajućih modula iz


kataloga sklopovlja u virtualni montažni okvir. U sljedećim koracima postupno je opisan
postupak izrade sklopovske konfiguracije. Otvori se alat za konfiguraciju sklopovlja tako da u
projektu označimo S7 stanicu (SIMATIC 300) ili se odabere opcija izbornika Edit>Open
Object ili dvaput klikne na ikonu Hardware unutar označene stanice. Otvara se prozor HW
Config alata.

Slika 64. Prozor HW Config alata

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).

...

Slika 65. Umetanje montažnog okvira HW Config alata

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

Slika 66. Fizički raspored komponeneta odgovara programskom rasporedu

Na samom početku potrebno je na prvo mjesto u virtualnom montažnom okviru umetnuti


napajanje. U katalogu sklopovlja označi se odgovarajući PS- 300 modul i držeći pritisnutu
lijevu tipku miša odvucite ga na mjesto br. 1 u tablici virtualnog montažnog okvira.

...

Slika 67. Umetanje napajanja unutar HW Config alata

Konfiguracija korištenog kontrolera slaže se postavljanjem modula u virtualni montažni okvir.


Na mjesto br. 1 u virtulani montažni okvir (engl. slot 1) umeće se napajanje odnosno
odgovarjući PS-300 ili PS-400 modul ovisno o seriji kontrolera koja se koristi.
Na mjesto br. 2 u virtulani montažni okvir (engl. slot 2) umeće se CPU odnosno odgovarajući
CPU-300 ili CPU-400 modul ovisno o seriji kontrolera koja se koristi.
Mjesto br. 3 u virtulani montažni okvir (engl. slot 3) u slučaju S7-300 stanice rezervirano je kao
logička adresa za interface modul a ako se IM ne koristi ono ostaje prazno. U slučaju S7-400
stanice na mjesto br. 3 moguće je umetnuti SM, CP ili FM modul.
Na bilo koje mjesto u tablici virtulanog montažnog okvira od mjesta br. 4 pa nadalje (engl. slot
4) moguće je umetnuti signalne module (SM), komunikacijske procesore (CP) ili funkcijske
module (FM).

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

Slika 68. Prikaz narudžbenog broja

Na mjesto br. 2 potrebno je umetnuti CPU. U katalogu sklopovlja pronađe se i označi


odgovarajući CPU-300 ili CPU-400 modul i držeći pritisnutu lijevu tipku miša odvuče ga se na
mjesto br. 2 u tablici virtulanog montažnog okvira.

...

Slika 69. Umetanje procesora HW Config alata

U prikazanom primjeru korišten je procesor CPU 315-2DP s ugrađenim DP sučeljem.

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

Slika 70. Konfiguracija unutar HW Config

Prethodni primjer prikazuje izgled gotove konfiguracije kontrolera u virtulanom


montažnom okviru. Na mjestu br. 4 nalazi se komunikacijski procesor CP 343-1 Lean koji
omogućava komunikaciju preko Industrial Ethernet protokola. Na mjestu br. 5 nalazi se
digitalni ulazno/izlazni modul dok se na mjestu br. 6 nalazi analogni ulazno izlazni modul.
Ovako izrađenu sklopovsku konfiguraciju je moguće prebaciti u CPU pri čemu će se moduli
ponašati prema predefiniranim svojstvima (opisano u dijelu Prebacivanje sklopovske
konfiguracije u CPU). Međutim, odabranim modulim je moguće pridružiti parametre kako bi
ih se prilagodilo zahtjevima procesa. U postavkama signalnih (SM), funkcijskih modula (FM)
te komunikacijskih procesora (CP) podešavaju se početne adrese modula (opisano u
dijeluAdresiranje modula) dok se u postavaka CPU modula podešavaju karakteristike vezane
uz izvođenje programa (opisano u dijelu Podešavanje karakteristika CPU-a). Također je
moguće podesiti

2.3.5 Adresiranje modula

▪ Pregled adresa modula

Prilikom umetanja modula u montažni okvir program modulima automatski dodijeli


početne adrese. Početne adrese modula mogu se vidjeti u okviru kojem se pristupa tako da se u
virtualnom montažnom okviru označi CPU odabere opcija izbornika View>Address
Overview. Otvori se okvir za pregled adresa svih modula iz prethodno definrane konfiguracije
kontrolera (Slika 71.).

________________________________________________________________________73
SIMATIC S7 Programirljivi logički kontroleri

Slika 71. Okvir za pregled adresa modula

Kao što je vidljivo program je digitalnom ulazno/izlaznom modulu dodijelio ulazno/izlazne


bajtove 4 i 5 dok su analognom ulazno/izlaznom modulu dodijeljeni ulazni bajtovi 288 do 295
i izlazni bajtovi 288 do 291. Ove adrese možete koristiti prilikom izrade programskih blokova

▪ Promjena adresa ulaznih i izlaznih modula

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.).

Slika 72. Okvir za promjenu adresa digitalnog ulazno/izlaznog modula

Da bi se odredile nove početne adrese modula potrebno je deselektirati opciju System


default te u polje Start unijeti željenu početnu adresa, a program će automatski podesiti krajnju
adresu. Ako je odabrena adresa već dodijeljena nekom drugom modulu program će javiti

________________________________________________________________________74
SIMATIC S7 Programirljivi logički kontroleri

pogrešku. Primjer prikazuje digitalni ulazno/izlazni modul kojem je korisnik dodijelio


ulazno/izlazne bajtove 0 i 1 (Slika 73.).

Slika 73. Promjena početnih adresa modula

Klikom na OK spremaju se napravljene promjene i zatvara se okvir s postavkama modula.

▪ Dodijeljivanje simbola adresama

Prilikom konfiguracije sklopovlja ulazima ili izlazima korištenih modula moguće je


dodijeliti simbolička imena (nazive adresa) koja se automatski prebace u tablicu simbola.
Simboli se adresama dodjeljuju u okviru koji se otvara tako da se desnim klikom aktivira
izbornik opcija željenog modula i odabere Edit Symbols. Otvori se okvir s popisom svih adresa
odabranog modula. Za primjer je odabran digitalni ulazno/izlazni modul kod kojeg se
simbolička imena mogu dodijeliti ulaznim i izlaznim adresama (Slika 74.).

Slika 74. Okvir za dodijeljivanje simbola adresama digitalnog ulazno/izlaznog modula

Simbolički nazivi se unose u pripadajuće redke u stupcu Symbol. U prikazanom primjeru


adresi I0.0 digitalnog ulaza PLC-a s je u pripadajućem redku 1 dodijeljeno simboličko ime
Prekidač 0 (Slika 75.). Simbolički naziv ove adrese je moguće kasnije koristiti prilikom izrade
programskih blokova.

________________________________________________________________________75
SIMATIC S7 Programirljivi logički kontroleri

Slika 75. Dodjeljivanje simbola adresi

Promjene se spreme klikom na Apply a potom na Close da bi se zatvorio okvir za dodjelu


simboličkih imena.

2.3.6 Podešavanje karakteristika CPU-a

Svakom modulu smještenom u virtualni montažni okvir moguće je pridruživati parametre


odnosno odrediti njegova svojstva kako bi ga se prilagodilo zahtjevima procesa. Prilikom
pridruživanja parametara CPU-a podešavaju se karakteristike vezane uz izvođenje programa.
Okvir za pridruživanje parametara CPU-a otvara se dvostrukim klikom na CPU modul u
virtualnom montažnom okviru. Parametre procesora moguće je podešavati na sljedećim
karticama:

▪ Kartica General

Okvir za pridruživanje parametara CPU-a uvijek se otvori s odabranom karticom General.

Slika 76. Parametri kartice 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

Slika 77. Okvir za podešavanje MPI adrese procesora

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).

Slika 78. Parametri kartice 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.

▪ Kartica Cycle/Clock Memory

Odabirom kartice Cycle/Clock Memory otvori se okvir na kojem je moguće podesiti


parametre vezane uz cikličko izvođenje korisničkog programa.

Slika 79. Parametri kartice Cycle/Clock Memory

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

OBJAŠNJENJE: ''Clock memorija''


Mnoge operacije unutar kontrolera zahtjevaju korištenje periodičkih signala koje možemo
ostvariti koristeći ''Clock'' memoriju. Clock memorija se sastoji od bitova čija se stanja signala
periodički mijenjaju. Ti bitovi se nalaze unutar bajta definiranom u polju Memory Byte gdje je
svakom bitu pridružena je određena frekvencija signala (Slika 80.).

Clock memorijski bajt

Clock memorijski bit 7 6 5 4 3 2 1 0

Frekvencija (Hz) 0.5 0.625 1 1.25 2 2.5 5 10

Period (s) 2 1.6 1 0.8 0.5 0.4 0.2 0.1

Slika 80. Memorijski bitovi s pripadajućim frekvencijama promjene signala

▪ Kartica Retentive Memory

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.

Slika 81. Parametri kartice Retentive Memory

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.

Slika 82. Parametri kartice Protection

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

Na kartici Diagnostics/Clock podešavaju se postavke vezane uz dijagnostiku te je moguće


sinkronizirati satove kod mreže uređaja dok je na kartici Communication moguće odrediti broj
veza za komunkaciju. Na karticama Interrupts, Time-of.Day Interrupts i Cyclic Interrupts
podešavaju se postavke prekida što je objašnjeno u dijelu Organizacijski blokovi.

________________________________________________________________________80
SIMATIC S7 Programirljivi logički kontroleri

2.3.7 Podešvanje ostalih načina komunikacije

Prilikom podešavanja pristupne točke odabran je komunikacijski protokol s


pripadajućim sučeljem preko kojeg se ostvaruje veza između PLC-a i PC računala. Pritome je
prikazano povezivanje preko MPI adapter koji se s jedne strane spaja na USB ili COM port PC
računala, a s druge na MPI konektor CPU modula. Međutim, vezu je moguće ostvariti i preko
Profibus DP ili Industrial Ethertnet komunikacijskih protokola ako to konfiguracija kontrolera
dopušta. Budući da konfiguracija iz primjera sadrži CPU s DP konektorom i komunikacijski
procesor CP 343-1 Lean moguće je ostvariti vezu preko navednih protokola. Iako se veza
najčešće ostvaruje preko MPI sučelja sljedećim primjerima se žele pokazati i druge mogućnosti
povezivanja PLC-a s PC računalom.

▪ 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.

Slika 83. Okvir s postavkama DP konektora

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

Slika 84. Okvir za podešavanje Profibus adrese procesora

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.

Slika 85. Parametri kartice General

________________________________________________________________________82
SIMATIC S7 Programirljivi logički kontroleri

Na ovoj kartici moguće je vidjeti osnovne informacije o komunikacijskom procesoru te


predefiniranu IP adresu. Za primjer je odabran komunikacijski procesor CP 343-1 Lean.
Klikom na opciju Properties otvara se okvir s odabranom karticom Parameters na kojoj se
zadaje nova IP adresa.

Odabir IP adrese

Kreiranje
podmreže

Odabir podmreže

Slika 86. Okvir za podešavanje IP adrese komunikacijskog procesora

U polju IP address zadaje se željena IP adresa komunikacijskog procesora (npr.


193.198.202.180). Također je potrebno kreirati i odabrati Industrial Ethernet podmrežu na koju
se spaja komunikacijski procesor.

________________________________________________________________________83
SIMATIC S7 Programirljivi logički kontroleri

2.3.8 Prebacivanje sklopovske konfiguracije u CPU

Izrađenu konfiguraciju potrebno je prethodno spremiti i prebaciti na CPU modul kako je


opisano u sljedećim koracima.

1. Odaberite opciju Station>Consistency Check da bi provjerili sadrži li vaša


konfiguracija pogreške odnosno dali je moguće generirati konfiguracijske podatke na
temelju unešenih informacija o modulima. Ako vaša konfiguracije ne sadrži pogreške
pred vama će se pojaviti poruka kao na sljedećoj slici i klikom na OK možete prijeći na
idući dio.

Slika 87. Prozor Consistency check

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

Slika 88. Prozor Consistency check s popisom grešaka

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.

2. Sada ja potrebno spremiti napravljenu konfiguraciju. Odaberite opciju Station>Save


and Compile ili kliknite na ikonu Save and Compile na alatnoj traci da bi konfiguraciju
i podatke s pridruženim parametrima spremili u sistemske podatkovne blokove.

Ikona Save and Compile

________________________________________________________________________84
SIMATIC S7 Programirljivi logički kontroleri

OBJAŠNJENJE: Sistemski podatkovni blokovi


Sistemski podatkovni blokovi (engl. System Data block - SDB) se generiraju i modificiraju
kada se konfigurira sklopovlje. Sadrže konfiguracijske podatke i parametre modula. Oni se
spremaju u radnu memoriju CPU-a prilikom učitavanja u PLC. Time je omogućena lakša
zamjena modula zato jer se podaci o pridruženim parametrima iz sistemskih podatkovnih
blokova učitaju u novi modul prilikom pokretanja. Nakon što se kreiraju sistemski
podatkovni blokovi se u projektu nalaze pod: Projekt\Station\CPU\ S7
Program\Blocks\System data gdje se može otvoriti popis sistemskih podatkovnih blokova.

Odabirom opcije Station>Save konfiguracija se sprema u trenutni projekt bez generiranja


sistemskih podatkovnih blokova.

3. Da bi konfiguraciju spremljenu u sistemske podatkovne blokove prebacili na PLC iz


izbornika opcija odaberite PLC>Download ili kliknite na ikonu Downolad to Module
na alatnoj traci. Pred vama se tada pojavi okvir za dijalog koji vas pita da li želite
prebaciti konfiguraciju na odabrani CPU modul. Kliknite OK.
Ikona Download to module

Slika 89. Prozor Select Target Module

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

Slika 90. Preklopka moda rada na CPU

________________________________________________________________________85
SIMATIC S7 Programirljivi logički kontroleri

4. Otvori se okvir s postavkama adrese stanice (engl. Node address) na koju želite poslati
konfiguraciju sklopovlja.

Lokacija CPU modula u


konfiguraciji

Adresa na korištenoj mreži

Slika 91. Prozor Select node adres

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:

Slika 92. Prozor Enter connection to target station PROFIBUS adress

Ako je prilikom podešavanja pristupne točke određeno da se PLC i PC računalo povezuje


preko Industrial Ethernet komunikacijskog protokola, pod ovom opcijom će se pojaviti IP
adresa stanice pod navednim protokolom kao što je prikazano na sljedećoj slici:

________________________________________________________________________86
SIMATIC S7 Programirljivi logički kontroleri

Slika 93. Prozor Enter connection to target station Industrial Ethernet

5. Kliknite na View i program će u provjeriti dali je CPU dostupan pod navedenom


adresom i ubaciti je u polje Accessible nodes. Kliknite OK da bi započeli prebacivanje
konfiguracije.

6. Pred vama se tada pojavi okvir koji prikazuje tijek prebacivanja konfiguracije
sklopovlja na CPU.

Slika 94. Prozor Download

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

Nakon konfiguracije sklopovlja može se krenuti u izradu S7 programa. Korisnički program se


izrađuje unutar objekta S7 Program koji se zajedno s tipom procesora automatski kreira
nakon konfiguracije sklopovlja. Ovaj objekt sadrži spremnike Sources i Blocks te objekt
Symbols preko kojeg se pristupa tablici simbola Programiranje se vrši na sljedeći način.
Nakon što smo točno podesili sklopovsku konfiguraciju uređaja (hardware-a), program
generira OB1 (Organizacijski blok 1) unutar centralne procesorske jedinice PLC-a. OB1 je
glavna rutina procesora, odnosno ima najveći prioritet i unutar nje se nalazi program (Slika
96.). Organizacijskim blokovima pristupamo na sljedeći način:

Slika 95. Objekt S7 Program

________________________________________________________________________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.

Slika 96. Radna površina

Gornji, ljubičasti pravokutnik označava glavni izbornik. Na lijevo, crvenim pravokutnikom je


označeno područje programskih elemenata, od kojih se sastoji program. Zeleni, najveći
pravokutnik označava radnu površinu. Unutar radne površine se već nalazi jedna i jedina
grana programa (radi se o Ladder načinu), pod nazivom Network 1. Grana se sastoji od
programskih elemenata koji se nalaze unutar crvenog pravokutnika spojenih na specifičan
način. U glavnom izborniku su tipične naredbe koje su prisutne u skoro pa svakom programu,
tipa otvori novi, spremi, editiraj, kopiraj, umetni i slično.

2.4 Tablica simbola

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

lokalnih simbola. Lokalni simboli se deklariraju u deklaracijskom dijelu bloka i mogu se


koristiti samo unutar bloka u kojem su deklarirani. Više riječi o lokalnim simbolima će biti
kasnije. Zajednički simboli se deklariraju u tablici simbola i mogu ih koristiti svi programski
blokovi. Simboli se adresama dodjeljuju preko tablice simbola (engl. Symbol table). U tablici
simbola imena se mogu dodijeliti sljedećim adresama i objektima:

▪ Ulazima I, izlazima Q, perifernim ulazima PI, perifernim izlazima PQ


▪ Bit memoriji M, timerima T i brojačima C
▪ Logičkim blokovima OB, FB, FC, SFC, SFB i podatkovnim blokovima DB
▪ Korisnički definiranim tipovima podataka UDT
▪ Tablicama varijabli VAT

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

3 Programiranje PLC uređaja S7-300


Jednako kao i ostala industrijska računala i PLC izvodi program i prema njemu upravlja
procesom, odnosno kontrolira ulaze i upravlja izlazima. Pisanje upravljačkog programa se
izvodi preko nadređenog PC računala na kojem je instalirana programska podrška za korišteni
PLC-a. Svaki proizvođač uz svoj PLC daje programsku podršku koja je u stvari kombinacija
programskog editora, compilera te komunikacijskog programa. U editoru se napiše program u
nekom od programskih jezika te se zatim provjeri njegova sintaksa (sve u osobnom računalu
računalu). Ako program nema sintaksnih grešaka programska podrška ga šalje u RAM
memoriju PLC-a te je on spreman za rad.
Komunikacija između osobnog računala i PLC-a je najčešće serijska (RS-232) ili preko
ethernet mreže te može biti aktivna i za vrijeme izvođenja programa na PLC-u. Na taj način na
zaslonu osobnog računala uvijek se mogu pratiti stanja ulaza i izlaza te zadavati naredbe
direktno preko tipkovnice i miša. PLC se također može programirati i preko ručnih
programatora koji posjeduju mali LCD zaslon uz skromnu tipkovnicu. Takvi se uređaji direktno
spajaju na PLC te se mogu koristiti za kraće programe ili za manje izmjene programa kada se
to mora obaviti u pogonu. Za neke jednostavnije procese postoje PLC uređaji koji posjeduju
na sebi zaslon i nekoliko funkcijskih tipki pa se mogu programirati na licu mjesta.

Osobno računalo

Programska
podrška

PLC uređaj

Komunikacijski
kabel

Simulator stanja

Slika 97. Radno mjesto za programiranje PLC uređaja

________________________________________________________________________90
SIMATIC S7 Programirljivi logički kontroleri

Kako bi se uspješno provelo programiranje PLC-a koji će potom upravljati procesom


mora se na neki način program ispitati. Ispitivanje programa se možeme vršiti samo tako da
se na ulaze u PLC dovedu stanja veličina iz realnih uvjeta u procesu. Za to se koriste tzv.
simulatori stanja PLC-a. Simulator stanja nije ništa drugo nego niz prekidača i kontrolnih
lampica koji se zasebno spoje na ulaze i izlaze PLC-a.
Kada se želi simulirati rad nekog digitalnog senzora bitnog za proces npr.
protusmrzavajući senzor (preklopi kada je temperatura < 4C) na mjestu njegovog ulaza u PLC
preklopi se prekidač koji će umjesto njega simulirati da je temperatura ispod 4C. Jednako tako
će kontrolna lampica svijetliti kada je aktiviran digitalni izlaz na koji je ona spojena. Na taj način
se dobije simulacija rada PLC-a vjerna stvarnim uvjetima u procesu kako bi se mogao ispitati
program u laboratorijskim uvjetima. Programiranje i ispitaivanje se vrši za radnim stolom, kada
je testiranje gotovo PLC se odnese u pogon i ugradi na stroj. Također neki proizvođači nude
mogućnost simuiranja stanja programski što je isto dobro kada su u pitanju manji procesi
(nema potrebe za izradom simulatora), no za izvođenje nastave o ovoj tematici, simulator
stanja je nezamjenjiv.

Neki PLC uređaji su opremljeni izmjenjivim EEPROM memorijskim karticama. To


mnogo olakšava stvar pri npr. promjeni proizvodnog programa u nekom pogonu. Dovoljno je
na trenutak izgasiti PLC, izvaditi staru EEPROM memorijsku karticu i umetnuti novu sa drugim
programom. Nakon uključenja PLC radi po programu napisanom na novoj kartici. Stare kartice
se mogu reprogramirati i kasnije upotrijebiti pri sljedećoj promjeni.

Proizvođači PLC-a nude razne programske jezike. Najrasprostranjeniji PLC programski


jezik su ljestvičasti dijagrami (eng. ladder diagram, njem. kontaktplan). Ovaj način
programiranja prilagodba je relejnih upravljačkih shema (i njihovog grafičkog izgleda)
principima rada PLC uređaja. Iz povijesnih razloga, ovaj je način programiranja korišten kod
prvih PLC uređaja kako bi se osoblje naviklo na izradu relejnih upravljačkih shema najlakše
obučilo izradi programa. Kasnije se pokazalo da je ovaj 'grafički' način programiranja lako
shvatljiv i onima koji se nisu bavili relejnim upravljanjem pa je to vjerojatno najveći razlog zbog
čega je i dan danas ostao nepromijenjen i najšire prihvaćen među tehničarima. Od PLC
programskih jezika uz ljestvičaste dijagrame tu se nalaze i STL (statement list) instrukcijske
liste - programiranje na nivou asemblera i funkcijsko blokovski dijagrami (grafičko
programiranje). Sva tri spomenuta PLC programska jezika su definirana IEC 1131-3
međunarodnim normama koje se bave načinom programiranja PLC uređaja. Neki proizvođači
mikro PLC-a nude mogućnost programiranja i pomoću BASIC i C programskih jezika no ti
programski jezici nemaju široku zastupljenost u ovom djelu primjene računala.

________________________________________________________________________91
SIMATIC S7 Programirljivi logički kontroleri

3.1 Programski jezici u STEP 7

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.

Slika 98: Izbor načina programiranja

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

Slika 99: Primjer Ladder logike


Ova slika pokazuje uvećani prikaz programa u Ladder načinu. Prebacivanjem u FBD,
program se mijenja u sljedeći oblik:

Slika 100: Primjer FBD logike

Može se primjetiti promjena. Simboli normalno otvorenih i zatvorenih kontakata koji se


koriste u relejnoj logici mijenjaju se u binarne logičke funkcije poznate iz digitalne tehnike.
Također, oznake ulaza i izlaza ostaju isti. Ulazi su u oba slučaja grupirani na lijevu stranu, a
izlaz Q4.0 na desnu. Koristi se IEC standard prikaza logičkih funkcija.

Slika 101: Primjer STL programskog koda

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

3.1.1 Ljestvičasti dijagrami (LAD)

Sljedeća slika prikazuje primjernu ljestvičaste logike u programskom editoru STEP 7


programskog paketa u kojem je odabran LAD način. Zelenom linijom je zaokružen jedini
logički krug ili tzv. grana (eng. Network – mreža) jednostavnog programa u ljestvičastoj
logici.

Slika 102: Logička mreža (network), grana ili rung

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).

Slika 103: Grana sa označenim izlaznim i ulaznim naredbama

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

Slika 104: Prekid logičkog kontinuiteta

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.

Slika 105: Ostvaren logički kontinuitet

Kombiniranjem kontakata u uvjetnom dijelu logičkog kruga ostavarujemo razne logičke


operacije I, ILI, NILI i sl. te njihove kombinacije. Ove operacije tvore rezultat 0 ili 1 koji se
naziva rezultat logičke operacije (engl. Result of Logic Operation - RLO). Ako je nakon neke
logičke operacije ostvaren logički kontinuitet ("teče struja") znači da je do tog dijela logičkog
kruga rezultat logičke operacije (RLO) jednak '1'. Naredbama na razini bita moguće je provjeriti
i postaviti stanja ulaza (I), izlaza (Q), bit memorije (M),timera (T), brojila (C) i podatkovnih
bitova (D). Za provjeru stanja signala koriste se naredbe NO i NC kontakti a za postavljanje
signala izlazne naredbe.
Primjerice funkciju I možemo realizirati tako da naredbu normalno otvoreni kontakt
jednostavno spajamo u seriju. Sljedeća slika prikazuje realiziranje logičke operacije pomoću
tri normalno otvorena kontakta. Rezultat takve operacije biti će jedan tek ako su svi ulazi
postavljeni u logičku jedinicu. Općenito bilo kakvu kombinaciju uvjeta na ulazu zovemo
logičkom operacijom, a na desnoj strani dobijemo rezultat te logičke operacije.

Logička operacija

Rezultat logičke
operacije

Slika 106: Realiziranje logičke funkcije I pomoću normalno otvorenih kontakata

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

Slika 107: Diagram stanje-vrijeme logičke funkcije I sa tri ulaza

3.1.2 Funkcijski blok dijagrami (FBD)

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.

Slika 108: Primjer FBD koda

________________________________________________________________________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.

3.1.3 Statement list (STL)

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.

Slika 109: Primjer STL koda


U pisanju STL programa je jako bitno voditi računa o sadržaju akumulatora i ostalih
registara. Kao što će se vidjeti iz daljnjih primjera programa i nekih naredbi, naredbe mogu
samo očitavati vrijednost iz akumulatora (najčešće ACCU 1 i ACCU 2). Kao što se vidi iz slike
4.0, svaki određeni akumulatori podržavaju drugačije naredbe, npr, ACCU 1 podržava Transfer
i Load funkcije dok ACCU 2 ne podržava ali obadva podržavaju digitalne funkcije (usporedbe
itd...). Iz slike se također vidi da samo ACCU 1 ima direktan pristup sistemskoj memoriji,
radnoj memoriji (različite konstante i pointeri) i vanjskim jedinicama. Pošto se vidi upotreba
ACCU 1 i ACCU 2, postavlja se pitanje zbog čega onda postoje ukupno 4 akumulatora u seriji
S7-300. Ostala dva akumulatora (ACCU 3 i ACCU 4) služe za kratkotrajno spremanje nekih
međurezultata koja nisu toliko bitni da bi zauzimali neku pomoćnu riječ (MW) ili zahtijeva
veću brzinu zapisivanja i čitanja. Spremanje se vrši u akumulatore iz razloga što je nekad bitna
brzina spremanja i čitanje nekog podatka, a akumulatori su najbrža memorija u samom PLC
uređaju. Prebacivanje samih podataka iz ACCU 1 se vrši sa nekoliko naredbi koji su na slici

________________________________________________________________________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)

3.1.4 Sekvencijalni funkcijski dijagram (SFC)

Sekvencijalni Funkcijski Dijagrami (engl. Sequential Function Chart, SFC). SFC je


grafički jezik koji pruža mogućnost programiranja koje je nalik na crtanje djiagrama toka.
Baziran je na Grafcetu. Služi za sekvencijalno povezivanje podprograma pisanih u nekom od
ostalih jezika (LD, FBD, IL ili ST). SFC je posebno koristan pri programiranju niza zadaća koje
se sekvencijalno nižu jedna za drugom. Prednost mu je odlična preglednost i čitljivost
programa, pošto svaki program liči na dijagram toka vrlo je lako uočiti greške i po potrebi
promijeniti dio programskog koda. SFC nema vlastite naredbe nego za uvjete tranzicije iz
jednog koraka u drugi koristi elemente LD ili FBD programskih jezika, dok su same izvršne
naredbe bazirane na programskom jeziku IL. Kao i ostali programski jezici SFC je
standardiziran po IEC-6113-3.

Slika 110: Primjer SFC koda

Najpogodniji je za programiranje procesa koji se sastoje od niza zasebnih zadaća koje se


sekvencijalno nižu jedna za drugom. Svaki program pisan u SFC-u se sastoji od jedne ili više
programskih sekvenci koje predstavljaju strukturirani programski kod.
Sekvenca se kreira od 3 osnovna elementa:
- • Korak (Step) – Element koji predstavlja određenu fazu u procesu
- • Uvjeti tranzicije (Transitions) – Uvjeti za prelazak iz koraka u korak
- • Naredbe (Actions) – U svakom koraku moguće je programirati naredbe koje će
upravljati procesom. Svaka naredba je aktivna samo dok je aktivan korak u
kojemu se ona nalazi.

________________________________________________________________________98
SIMATIC S7 Programirljivi logički kontroleri

3.1.5 Naredbe na razini bita

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

Slika 111: Jasno definiran signal bez zabranjenog područja

U slučaju da promatrani signal ne mijenja stanje skokovito, nego se mijenja


kontinuirano, zabranjeno područje dolazi do izražaja. Upravo zbog zabranjenog područja,
digitalni sustav filtrira i pojednostavljuje signal. Digitalna logika nalaže da će sustav biti u
logičkoj nuli sve dok signal ne prijeđe gornju granicu zabranjenog područja, i ostaje u jedinici
sve dok signal ne prijeđe donju granicu zabranjenog područja.

________________________________________________________________________99
SIMATIC S7 Programirljivi logički kontroleri

Slika 112: Kontinuirani signal koji prolazi kroz zabranjeno područje

Budući da radimo sa digitalnim ulaznim i izlaznim signalima sa PLC-a, gdje 0 volti


predstavlja logičku nulu, a +24 volti predstavlja logičku jedinicu, signal nikad neće biti u
zabranjenom području.

Naredbe na razini bita (LAD)

Naredbe na razini bita su u ljestivčastom dijagramu (LAD) izvedene upotrebom radnih


i mirnih kontakata i izlazne zavojnice, a sve ostale specifične naredbe iz ove grupe se također
izvode na sličnom principu. Kratki pregled najvažnijih naredbi na razini bita u ljestvičastom
dijagramu je prikazan na sljedećoj slici. Sve naredbe su kasnije detaljno pojašnjenje.

Izlaz (Output, Coil)


Kad je naredba aktivirana postavlja izlaz koji je adresiran na nju (u ovom
slučaju Q4.0) u logičku jedinicu. U suprotnom izlaz je postavljen u nulu.

Normalno otvoreni kontakt


Pregledava je li zadana adresa (I0.0) u logičkoj jedinici. Ako je, naredba
propušta logički kontinuitet. U suprotnom ga ne propušta.

Normalno zatvoreni kontakt


Naredba pregledava zadanu adresu. Ako je adresa u logičkoj nuli naredba
propušta logički kontinuitet. U suprotnom ga ne propušta. Naredba je u biti
komplement normalno otvorenom kontaktu.

Postavi izlaz (Set Output)

Ako se rezultat predhodne logičke operacije u grani promjeni iz jedinice u


nulu (negativni brid) tada ova naredba postavlja referencirani izlaz u logičku
jedinicu. Izlaz ostaje u jedinici sve dok se ne resetira

Resetiraj izlaz (Reset Output)


Ako se rezultat predhodne logičke operacije u grani projeni iz logičke
jedinice u nulu (negativni brid) tada ova naredba postavlja referencirani
izlaz u logičku nulu. Izlaz ostaje u nuli dok ga se ponovno ne postavi u
jedinicu pomoću predhodne naredbe.
Invertiranje rezultata logičke operacije (Negate RLO)

Naredba invertira rezultat logičke operacije. Ako je rezultat logička


jedinica naredba ga postavlja u nulu, i obrnuto. Također se može reći da
invertira logički kontinuitet.

Slika 113. Osnovne naredbe LD

________________________________________________________________________100
SIMATIC S7 Programirljivi logički kontroleri

▪ Naredba Normally Open Contact – normalno otvoreni kontakt

Slika 114. Simbol normalno otvorenog kontakta

Naredba NO Contact je ulazna naredba kojom se provjerava da li je pripadajuća binarna


adresa u logičkom stanju '1'. Rezultat provjere dobiva se izvršavanjem programa. Ako je uvjet
provjere ispunjen, rezultat provjere je '1' a ako nije ispunjen, rezultat provjere je '0'. Kada je
binarna adresa u stanju logičkog '1' (uvjet provjere ispunjen) ostvaren je logički kontinuitet
(rezultat provjere '1'). Rezultat logičke operacije (RLO) nakon ove naredbe je tada jednak '1'.
Kada je binarna adresa u stanju '0' (uvjet provjere nije ispunjen) logički kontinuitet se ne
ostvaruje i rezultat logičke opearcije (RLO) je tada jednak '0' (rezultat provjere '0').
Na slici 115. prikazan je senzor S1 spojen na digitalni ulaz I0.0 čije se stanje u programu
PLC-a provjerava pomoću NO kontakta.

Rezultat provjere "0" Rezultat provjere "1"

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

Digitalni izlaz Q0.0 Digitalni izlaz Q0.0

"0" "1"

Slika 115. Rad NO kontakta

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

Proces Interpretacija u programu PLC-a

Osjetilo Osjetilo Napon Stanje na Provjera stanja '1'


je... je... prisutan ulazu
na ulazu? Stanje logičkog Rezultat
kruga provjere

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

Slika 116. Provjera stanja signala pomoću naredbe NO Contact

Sljedeća slika prikazuje dijagram stanje – vrijeme za naredbu NO Contact u pripadajućem


logičkom krugu:

I0.0 Q0.0

I0.0

Q0.0
t
Slika 117. Dijagram stanje vrijeme za NO Contact naredbu

▪ Naredba Normally Closed Contact – normalno zatvoreni kontakt

Slika 118. Simbol normalno zatvorenog kontakta

Naredba NC Contact je ulazna naredba kojom se provjerava da li je pripadajuća binarna


adresa u logičkom stanju '0'. Rezultat provjere dobiva se izvršavanjem programa. Ako je uvjet
provjere ispunjen, rezultat provjere je '1' a ako nije ispunjen, rezultat provjere je '0'. Kada je
binarna adresa u stanju logičkog '0' (uvjet provjere ispunjen) ostvaren je logički kontinuitet
(rezultat provjere '1'). Rezultat logičke operacije (RLO) nakon ove naredbe je tada jednak '1'.
Kada je binarna adresa u stanju '1' (uvjet provjere nije ispunjen) logički kontinuitet se ne
ostvaruje i rezultat logičke opearcije (RLO) je tada jednak '0' (rezultat provjere '0').
Na slici 119. prikazan je senzor S1 spojen na digitalni ulaz I0.0 čije se stanje u programu
PLC-a provjerava pomoću NC kontakta.
________________________________________________________________________102
SIMATIC S7 Programirljivi logički kontroleri

Rezultat provjere "1" Rezultat provjere "0"

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

Digitalni izlaz Q0.0 Digitalni izlaz Q0.0

"1" "0"

Slika 119. Rad NC kontakta

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.

Proces Interpretacija u programu PLC-a

Osjetilo Osjetilo Napon Stanje na Provjera stanja '0'


je... je... prisutan ulazu
na ulazu? Stanje logičkog Rezultat
kruga provjere

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

Slika 120. Provjera stanja signala pomoću naredbe NC Contact

________________________________________________________________________103
SIMATIC S7 Programirljivi logički kontroleri

Sljedeća slika prikazuje dijagram stanje – vrijeme za naredbu NC Contact u pripadajućem


logičkom krugu:

I0.0 Q0.0

I0.0

Q0.0
t
Slika 121. Dijagram stanje vrijeme za NC Contact naredbu

▪ Naredba Invert Power Flow – invertiranje logičkog kontinuiteta

Slika 122. Simbol naredbe za invertiranje logičkog kontinuiteta

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


NOT

I0.0

I0.1

Q0.0
t

Slika 123. Dijagram stanje vrijeme za Invert Power Flow naredbu

________________________________________________________________________104
SIMATIC S7 Programirljivi logički kontroleri

▪ Naredba Output Coil – izlazna naredba

Slika 124. Simbol izlazne naredbe

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

Slika 125. Dijagram stanje vrijeme za Output Coil naredbu

________________________________________________________________________105
SIMATIC S7 Programirljivi logički kontroleri

3.2 Vježba - Rad s naredbama na razini bita

Koristeći naredbe na razini bita u OB1 isprogramirat će se nekoliko logičkih krugova.


Izrađeni program je nakon toga potrebno učitati u PLC i testirati ga pomoću funkcija za
testiranje korisničkog programa.
Za vježbu potrebno je dodijeliti simbole adresama koje će se koristiti u programu. Potrebno je
napraviti sljedeće:

1. Dvaput kliknuti na ikonu Symbols unutar odabranog objekta S7 Program u prozoru


projekta te će se nakon toga otvori tablica simbola.

Ikona Symbols

Slika 126. Prozor Symbol editor

Tablica simbola trenutno sadrži samo predefinirani naziv za organizacijski blok OB1 i
simbol adrese I0.0 koji joj je pridjeljen prilikom konfiguracije sklopovlja.

Tablicu simbola moguće je otvoriti i u programskom editoru prilikom izrade programa


odabirom opcije izbornika Options>Symbol Table ili jednostavnim pritiskom na
Ctrl+Alt+T na tipkovnici.

2. Potrebno je označiti naziv Cycle Execution i u ovom slučaju zamijeniti ga s nazivom


Glavni program.

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

Na ovaj način se ulazu I0.1 dodijeli naziv Prekidač 1.

U polju Comment moguće je opširnije opisati namjenu ove adrese u vašem programu.

4. U četvrtom redu ulazu I0.2 potrebno je dodjeliti simbol Prekidač 2.

5. Na isti način potrebno je dodijeliti simbole ostalim apsolutnim adresama prema


sljedećoj slici.

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

7. Zatvaranje tablice simbola se čini klikom na u gornjem desnom kutu prozora.

Potrebno je napraviti sljedeće:

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.

▪ Kreiranje prvog logičkog kruga ladder logike

1. Za ubacivanje novog programskog logičkog kruga potrebno je kliknuti na ikonu New


network na traci s alatima. Logički krug se može smatrati kao sredstvo za dobivanje
struje iz lijevog voda (engl. Power rail) na desni vod. U jednostavnim relej ladder
dijagramima linije predstavljaju električe vodiče i čine upravo to u logičkom smislu.
Prozor programa bi tada trebao izgledati kako je prikazano na sljedećoj slici.
Ikona New network

________________________________________________________________________107
SIMATIC S7 Programirljivi logički kontroleri

Slika 127. Kreiranje logičkog kruga

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

Potrebno je odabrati opciju View>Display with>Symbolic Representation ako već nije


prethodno odabrana. Ovom opcijom se određuje dali će se u programu koristiti simboličko
adresiranje. To znači da će se u polja za unos adresa unositi simboli umjesto apsolutnih
adresa.

Č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.

Ikone često korištenih elemenata

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.

Simbolima prikazanim u padajućoj listi potrebno je pridjelili određene apsolutne adrese u


tablici simbola prije nego se krene u izradu programa. Odabirom jednog od ponuđenih
simbola može se dodijeliti odabranoj instrukciji.

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.

Ikona Normally Closed Contact

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.

8. Ponovno je potrebamo osigurati adresu odabranoj instrukciji. Da bi se to napravilo


pritiskom na tipku TAB na tipkovnici otvoriti će se prazno polje za unos adrese.
Utipkavanjem 'p' i pojavit će se padajuća lista s popisom simbola na kojoj je potrebno
odaberati 'Prekidač 1' i zatim pritisnuti Enter.

________________________________________________________________________110
SIMATIC S7 Programirljivi logički kontroleri

Postavljanje serijskih uvjeta u logički krug omogućuje se postizanje uvjeta ''AND/I''. U


ovom slučaju se traži da je 'Prekidač 0' uključen i 'Prekidač 1' isključen. Oba uvjeta moraju
biti ispunjena da bi logički krug bio 'istinit' odnosno da bi se ostvario logički kontinuitet.

Odabirom opcije izbornika View>Display>Symbol Selection moguće je znatno


pojednostaviti pisanje programa sa simboličkim adresama. Kada u otvorenom praznom
polju za unos adresa unesete prve znakove naziva simbola, pojavi se dio iz tablice simbola.
Taj dio sadrži sve simbole čiji naziv počinje s tim slovom. Klikom miša na željeni simbol
ubacujete ga u program.

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.

Jedna od bitnih značajki programskog editora automatsko upozoravanje kada se naprave


određene greške prilikom adresiranja korištenih instrukcija. Svi neispravni podaci unijeti u
program automatski se prikazuju crveno kako bi se lakše uočile greške u programu.

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.

▪ Kreiranje drugog logičkog kruga ladder logike

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.

Odabir New network

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.

Odabir naredbe Normall Open Contact

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

4. Sada je u logički krug potrebno dodati izlaznu naredbu. U prozoru programskih


elemenata se odabere izlazna naredba Coil i držeći pritisnutu lijevu tipku miša povće se
i otpustite na liniju u desnom dijelu logičkog kruga. Ovoj naredbi potrebno je dodjeliti
simboličku adresu 'Izlaz 1'. Tada bi prozor programa trebao izgledati kao na sljedećoj
slici.

Odabir naredbe Coil

5. Za dodavanje paralelne linije (eng:Branch, dalje u tekstu: grana) u logičkom krugu


potrbno je odabrati lijevi vod logičkog kruga i na traci s alatima kliknuti na ikonu Open
Branch ili jednostavno pritisnuti funkcijsku tipku F8 i paralelno početku logičkog kruga
biti će umetnuta nova grana. U prozoru programskih elemenata potrebno je dva puta
kliknuti na normalno otvoreni kontakt da ga se ubaci u novu granu logičkog kruga.
6.
Ikona Open Branch

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.

8. Odabiriom opcije View>Display with>Symbol Information iznad simbola će se


prikazati pridružene adrese. Tada bi program trebao izgledati kao na sljedećoj slici.

▪ Kreiranje trećeg logičkog kruga ladder logike

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

2. Klikom na ikonu Open Branch na traci s alatimadodaje se grana i na nju je potrebno


ubaciti normalno otvoreni kontakt. Nakon toga klikom na ikonu Close branch ili
jednostvano pritiskom funkcijske tipke F9 na tipkovnici zatvara se grana.

Ikona Open Branch

Ikona Close Branch

3. Sada je potrebno naredbama dodijeliti adrese. U prethodnim koracima naredbama su se


dodjeljivale simboličke adrese koje su u tablici simbola bile pridružene apsolutnim
adresama. Ovim naredbama također se mogu pridjeliti već korišteni simbole ili se mogu
koristiti neke nove apsolutne adrese i po potrebi im dodijeliti simbolička imena. U polje
za unos adrese normalno zatvorenog kontakta potrebno je unesiti apsolutnu adresu 'I0.4'
i zatim pritisnuti Enter da bi se prihvatila adresa.

Ako prilikom adresiranja se ne koristite simboličke adrese, iz tablice simbola se može


isključiti pojavljivanje padajuće liste s popisom svih simbola. Deselektirajte opcije
izbornika View>Display>Symbol Selection i prilikom unosa adresa više se neće
pojavljivati padajuća lista s popisom simbola.

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

Slika 128. Dodavanje kometara u prozoru Symbol editor

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.

6. Naredbi normalono otvorenog se dodijeli apsolutna adresa 'I0.5' i odabirom opcije


Edit Symbols se otvori okvir za unos simbola.

7. Odabranoj adresi se pridjeli simbol 'Tipkalo Start' te se spreme promjene klikom na OK


ili Apply.

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.

9. Za unos adrese normalno otvorenog kontakta u paralelnoj grani potrebno je otvoriti


polje za unos te unesiti adresu 'Q0.3' i zatim pritisnuti Enter.

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

3.3 Učitavanje programa u PLC

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:

1. U LAD/STL/FBD Editor-u odaberati opciju izbornika PLC>Download ili jednostavno


kliknuti na ikonu Download na alatnoj traci. Ako se tada pojavi okvir za dijalog kao na
sljedećoj slici znači da program sadrži pogreške koje se moraju otkloniti. Ako program
nema pogrešaka pojavit će se okvir za dijalog prikazan u sljedećem koraku.
Ikona Download

Ikona Previous Error


Ikona Next Error
Klikom na ikonu Previous Error ili Next Error na alatnoj traci LAD/STL/FBD Editor će
direktno otvoriti lokaciju pogreške u programu. Nakon što su se otklonile sve pogreške
može se nastaviti s prebacivanjem programa na PLC.

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

3.4 Praćenje i testiranje korisničkog programa

3.4.1 Odabir načina rada test moda

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.

Odabirom opcije izbornika Debug>Operation u programskom editoru otvori se okvir za


dijalog koji prikazuje odabrani način rada test moda.

Slika 129. Odabir načina rada test moda

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.

3.4.2 Testiranje programa pomoću opcije za praćenje statusa programa

Osnovni način testiranja korisničkog programa u programskom editoru je pomoću opcije za


praćenje statusa programa (engl. Program Status). Kada je uključena ova opcija programski
editor prikazuje tok binarnih signala i vrijednosti varijabli u logičkom krugu. Ukoliko je
ostvaren logički kontinuitet odnosno ako je RLO=1, prečka je prikazana punom linijom, inače
isprekidanom. Ako je logičko stanje istina, odgovarajući je simbol prikazan punom linijom, dok
je u suprotnom prikazan isprekidanom linijom. Ova opcija pomaže u određivanjju kako izrađeni
program radi i olakšava korisniku otklanjanje grešaka u programu.
Ako je prethodno izrađeni program prebačen na PLCmoguće ga je testirati praćenjem
statusa programa u programskom editoru. Potrebno je napraviti sljedeće:
________________________________________________________________________121
SIMATIC S7 Programirljivi logički kontroleri

1. Na alatnoj traci programskog editora kliknuti na ikonu Establish connection to


configured CPU da bi uspostavili online vezu između otvorenog bloka i CPU-a na koji
se prethodno prebacio taj blok. Na statusnoj traci na dnu ekrana prikazat će se da je CPU
u RUN modu.
Ikona Establish connection to configured CPU

2. Da bi se pokrenulo praćenje statusa programa potrebno je odaberiti opciju izbornika


Debug>Monitor ili jednostavno kliknuti na ikonu Monitor na alatnoj traci.
Ikona Monitor

Kada je pokrenuto praćenje statusa, onemogućeno je mijenjanje programa i promjena


prikaza bloka (LAD, STL, FBD). Stanje logičkih krugova je moguće prikazati samo kada
se naredbe izvršavaju. Stanje nije moguće prikazati kada je CPU u STOP modu.

Sada je moguče ispitati logički kontinuitet u naredbama u pojedinim logičkim krugovima.

Network 0/Logički krug 0

3. Uključenjem prekidača 0 i 1 na input simulatoru i ovisno o stanjima na ulazima I0.0 i


I0.1 logički krug bi trebao izgledati kao na sljedećim slikama. 'Izlaz 0' će se uključiti
kada je uključen 'Prekidač 0' a 'Prekidač 1' ostaje isključen. Ovo je primjer 'I/AND'
logičkog kruga.

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

Network 1/Logički krug 1

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.

Ulazi (Inputs) i izlazi (Outputs) su numerirani 0, 1, 2, itd. To znači da je adresa I0.2 s


dodijeljenim simbolom 'Prekidač 2' zapravo treći prekidač na ulaznom (input) simulatoru.

Network 2/Logički krug 2

5. Pažljivo promatrajući logički kontinuitet, kratkim uključenjem pa isključenjem (engl.


Toggle - ON zatim OFF) šesti prekidač (I0.5 s dodijeljenim simbolom 'Tipkalo Start')
na ulaznom simulatoru. Kao što možete primjetiti izlaz 'Motor' je ostao uključen i nakon
što ste isključili 'Tipkalo Start'.

________________________________________________________________________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.

6. Kako bi se prekinulo testiranje i mogle napraviti eventualne promjene potrebno je


prevaiti se iz trenutnog stanja online (RUN u statusnoj traci ) u offline. Za prelazak u
offline potrebno je kliknuti na već odabranu ikonu Monitor na alatnoj traci da bi se
isključio Monitor test mod.
Ikona Monitor

7. Klikom na već odabranu ikonu Establish connection to configured CPU prekinut će


se online veza između otvorenog bloka i CPU-a. Statusna traka promjenit će se kao što
prikazuje sljedeća slika.
Ikona Establish connection to configured CPU

________________________________________________________________________124
SIMATIC S7 Programirljivi logički kontroleri

3.5 Modificiranje postojećeg programa

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.

3.5.1 Zamjena adresa

Opcija za zamjenu adresa (engl. Rewiring) omogućava zamjenu adresa dodijeljenih


pripadajućim naredbama u pojedničnom programskom bloku (npr. OB1) ili u cijelom programu
(svi programski blokovi). Ovom opcijom je moguće npr. adresu ulaza 'I0.0' zamijeniti sa
adresom 'I0.1' u svim naredbama u kojima se ta adresa pojavljuje u programskom bloku.
Moguće je zamijeniti adrese ulaza, izlaza, bit memorije, timera, brojača, funkcija i funkcijskih
blokova.
S opcijom za zamjenu adresa radi se tako da se u SIMATIC Manageru prvo označi objekt u
kojem se žele zamijeniti adrese. Može se označiti samo jedan programski blok, nekoliko
programskih blokova istovremeno držeći pritisnutu tipku Ctrl na tipkovnici ili spremnik Blocks
čime se odabiru svi programski blokovi. Nakon toga se odabirom opcije izbornika
Options>Rewire otvori okvir za zamjenu adresa gdje se u stupac Old address unose "stare"
adrese koje će biti zamijenjene "novim" adresama iz stupca New address (Slika 130.).

Slika 130. Okvir za zamjenu adresa

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.

U prethodno testiranom programu moguče je pomoću opisane opcije zamijenite adrese


njemu. Potrebno je napraviti sljedeće:

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.

3. Klikom na OK u programskom bloku OB1 će stare adrese biti zamijenjene novim


adresama. Tada će se pojaviti okvir za dijalog koji će pita da li se želi pogledati 'info'
dokument kreiran prilikom zamjene adresa.

________________________________________________________________________126
SIMATIC S7 Programirljivi logički kontroleri

4. Klikom ns Yes otvorit će dokument s popisom svih promjena napravljenih u


programskom bloku OB1 kao što je prikazano na sljedećoj slici.

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.

3.5.2 Prioritet adresa

Prilikom mijenjanja adresa u tablici simbola moguće je odrediti da li će apsolutna ili


simbolička adresa iz korisničkog programa imati prioritet zbog napravljenih izmjena. Prema
predefiniranim postavkama apsolutna adresa ima prioritet. To znači da će, kada se naprave
određene promjene u tablici simbola, apsolutna adresa ostati dodijeljena određenoj naredbi u
programu dok će se simbol promjeniti. Ako se odabere da simbol ima prioritet, apsolutna adresa
će se promjeniti dok će simbol ostati dodijeljen određenoj naredbi.
Kako bi se bolje objasnili prioritet adresa napravljena su sljedeća dva primjera:

________________________________________________________________________127
SIMATIC S7 Programirljivi logički kontroleri

▪ Adresa ima prioritet

Potrebno je napraviti sljedeće:

1. U programskom editoru odaberati opciju izbornika Options>Symbol Table ili


jednostavno pritisnuti Ctrl+Alt+T na tipkovnici. Otvori će se tablica simbola s popisom
svih simbola korištenih u programu.

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.

Na ovaj način se simbolima 'Prekidač 0' i 'Prekidač 1' zamijene adrese.

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

Prema predefiniranim postavkama određeno je da adresa ima prioritet što je u ovom


primjeru bio slučaj. Zbog toga apsolutne adrese prilikom promjena u tablici simbola ostanu
dodijeljene pojedinim naredbama dok se simboli promjene. Apsolutne adrese 'I0.0' i 'I0.1'
su ostale dodijeljene pripadajućim naredbama dok su simboli zamijenili mjesta.

5. Tablica simbola se može minimizirati kikom na u gornjem desnom kutu prozora.


Klikom na ikonu Save na alatnoj traci programskog editora mogu se spremit izmjene u
programu te zatvoriti programski editor klikom na u gornjem desnom kutu prozora.
Ikona Save

▪ Simbol ima prioritet

U prozoru s postavkama objekta Blocks u prozoru projekta SIMATIC Managera moguće je


odabrati da li će prilikom izmjena u tablici simbola adresa ili simbol imati prioritet u
spremljenom bloku sljedeći put kada ga se otvori i mijenja. '

1. 1. U prozoru projekta SIMATIC Managera se odabere objekt Blocks te desnim klikom


miša aktivira izbornik opcija i odabere se Object Properties. U okviru koji se otvori
potrebno je odabrati karticu Address priority.

________________________________________________________________________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.

2. U prozoru projekta potrebno je dvaput klikniti na OB1 i u programskom editoru će se


otvoriti postojeći program.

3. Potrebno je povečati i postaviti tablicu simbola tako da na ekranu istovremeno se vidite


tablica simbola i prvi logički krug programa (Network 1).

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.

6. Klikom na ikonu Save na alatnoj traci programskog editora će se spremili izmjene u


vašem programu.

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.5.3 Mijenjanje programa

1. Kako bi se mogle lakše mijenjati adrese u logičkim krugovima potrebno je deselektirati


opciju izbornika View>Display with>Symolic Representation ili jednostvano kliknuti
na ikonu Symbolic Representation (on/off). Ovime se odabire apsolutno adresiranje
što znači da ćete se od sada u polja za unos adresa unositi apsolutne adrese umjesto
simbola.
Ikona Symbolic Representation (on/off)

Ako je odabrana opcija izbornika View>Display with>Symbol Information iznad


apsolutnih adresa kao komentari će se prikazivati dodijeljeni simboli jer je odabrano
apsolutno adresiranje. Kada se koristi simboličko adresiranje (odabrana opcija izbornika
View>Display with>Symolic Representation) unose se simboli a iznad njih se kao
komentari prikazuju dodijeljene apsolutne adrese.

2. Za izmjenu prvog logičkog kruga programa potrebno je odabrati normalno zatvoreni


kontakt te desnim klikom miša aktivirati izbornik opcija i odaberiati Delete ili
jednostavno pritisnuti tipku Delete na tipkovnici. Na ovaj način je moguće izbrisali
naredbu u logičkom krugu.

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.

Odabir naredbe NOT

________________________________________________________________________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.

3.5.3.1 Dodavanje komentara logičkom krugu

1. Potrebno je odabrati opciju izbornika View>Display with>Comment ako već nije


uključena. Ovime se uključuje prikaz polja za unos komentara iznad logičkih krugova.

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

Komentari u pripadajućem logičkom krugu se mogu koristiti kako bi se detaljnije opisale


funkcije logičkog kruga.

4. Na jednak način se mogu unesiti komentari u drugi logički krug kao što je prikazano na
sljedećoj slici.

3.5.4 Spremanje i učitavanje programa u PLC

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

Sada se program možete učitati u PLC. To se može napraviti direktno iz LAD/STL/FBD


Editor-a pomoću postupka koji je bio prethodno opisan ili drugom metodom kao što je
učitavanje programskih blokova u PLC iz SIMATIC Managera. Da bi se program u OB1 učitao
u PLC iz SIMATIC Managera potrebno je napraviti sljedeće:

1. Zatvoriti programski editor klikom na u gornjem desnom kutu prozora.

2. U SIMATIC Manageru odaberati organizacijski blok OB1 koji se nalazi unutar


spremnika Blocks u prozoru projekta te desnim klikom miša aktivirati izbornik opcija i
odabrati PLC>Download ili jednostavno kliknuti na ikonu Download na alatnoj traci.
Ikona Download

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

3.6 Testiranje programa pomoću tablice varijabli

Drugi način testiranja korisničkog programa je praćenjem i promjenom vrijednosti varijabli


pomoću tablica varijabli (engl. Variable tables). Moguće je pratiti stanja signala ili vrijednosti
varijabli u izabranom formatu te također promijeniti vrijednosti tih varijabli. Prilikom rada s
tablicama varijabli moguće je koristiti sljedeće funkcije:

▪ Praćenje varijabli (engl. Monitoring Variables)


Ova opcija omogućava prikaz trenutnih vrijednosti pojedinih varijabli iz korisničkog
programa ili CPU-a na PC računalu (programiralici).

▪ Promjena vrijednosti varijabli (engl. Modifying Variables)


Ova opcija se koristi kada se pojedinim varijablama iz korisničkog programa ili CPU-a
žele dodijeliti nove vrijednosti.

▪ Forsiranje varijabli (engl. Forcing Variables)


Ova opcija se koristi kada se pojedinim varijablama iz korisničkog programa ili CPU-a
žele dodijeliti fiksne vrijednosti koje korisnički program nemože promjeniti
(“forsiranje”).

▪ Omogućavanje perifernih izlaza (engl. Enable Peripheral Outputs)


Ova opcija omogućuje korisniku promjenu perifernih izlaza (PQ) kada je CPU u STOP
modu.

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.).

Slika 131. Prazna tablica varijabli s pripadajućim stupcima

Značenja stupaca tablice varijabli su sljedeća:

Address - U ovom stupcu se nalazi apsolutna adresa varijable.


Symbol - Ovdje se nalazi simboličko ime varijable koja odgovara imenu unesenom u
tablicu simbola.
Display Format - U ovom stupcu je moguće odabrati format zapisa u kojem će biti
prikazana vrijednost varijable unijete u pripadajući redak. Format se može promijeniti tako
da se klikne na polje za unos formata te se desnim klikom miša aktivira popis formata i

________________________________________________________________________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.

3.6.1 Kreiranje tablice varijali

Da bi se mogle pratiti i mijenjti vrijednosti varijabli iz programa koji je prebačen na PLC


potrebno je prvo kreirati tablicu varijabli (VAT) i potom unijeti željene varijable. Tablicu
varijablu moguće je kreirati na dva različita načina:

▪ Prvi način je u SIMATIC Manageru tako da se na odabranom spremniku Blocks desnim


klikom miša aktivira izbornik opcija i odabere Insert New Object>Variable Table ili
se jednostavno odabere opcija izbornika Insert >S7 Block>Variable Table. Otvori se
okvir s odabranom karticom General – Part 1.

Slika 132. Okvir za kreiranje tablice varijabli

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.

▪ Drugi način kreiranja tablice varijabli je direktno u LAD/STL/FBD editoru odabirom


opcije izbornika PLC>Monitor/Modify Variables. Otvori se prazna tablica varijabli s
kojom je moguće raditi izravno online. Nakon što se završi rad s varijablama, tablicu
varijabli je moguće spremiti i pridjeliti joj naziv.

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

1. U SIMATIC Manageru kreirajte i dvostrukim klikom miša otvorite tablicu varijabli


VAT_1.

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.

4. Ostale adrese korištene u programu koje su prethodno kreiranepotrebno je unesiti kao


što je prikazano sljedećom slikom.

5. Promjene napravljene u tablici varijabli se spremaju odabirom opcije izbornika


File>Save ili jednostavno klikom na ikonu Save na alatnoj traci.
Ikona Save

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

3.6.2 Postavljanje točke okidanja

Točkom okidanja odabire se trenutak u kojem će se osvježiti vrijednosti promatranih


varijabli ili kada će se promijenjene vrijednosti dodijeliti varijablama. Točke okidanja (engl.
Trigger points) postavljaju se u tablici varijali odabirom opcije izbornika Variable>Trigger ili
jednostavnim klikom na ikonu Variable Trigger na alatnoj traci. U okviru koji se otvori točke
okidanja za praćenje i mijenjanje varijabli se postavljaju odvojeno. Pod opcijom Trigger Point
for Monitoring odabire se točka okidanja za osvježavanje vrijednosti varijabli dok se pod
opcijom Trigger Point for Modifying odabire točka okidanja za dodijeljivanje novih vrijednosti
varijablama.

Ikona Variable Trigger

Osvježavanje
vrijednosti varijabli

Dodijeljivanje novih
vrijednosti varijablama

Slika 133. Izbornik za postavljanje točke okidanja

Moguće je odabrati da se vrijednosti osvježavaju ili dodjeljuju varijablama na početku


cikličkog izvršavanja programa (engl. Start od Cycle), na prijelazu iz RUN u STOP (engl.
Transition to STOP) ili na kraju cikličkog izvršavanja programa (engl. End of cycle) kao što je
prikazano na slici 133. Ako se odabere da se osvježavanje i dodijeljivanje vrijednosti

________________________________________________________________________138
SIMATIC S7 Programirljivi logički kontroleri

varijablama odvija u istom trenutku (npr. na početku cikličkog izvršavanja programa),


osvježavanje varijabli se izvrši prije dodijeljivanja novih vrijednosti varijablama.

PII
Tablične slike
procesnih ulaza

Početak cikličkog izvršavanja programa

OB1

Cikličko
izvršavanje Prijelaz:
programa RUN u STOP

Kraj cikličkog izvršavanja programa

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.

3.6.3 Praćenje i promjena vrijednosti varijabli

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:

1. U jednom prozoru otvoriti tablicu varijabli, a u drugom prozoru programski editor s


otvorenim blokom OB1 u kojem se nalazi program koji se želi testirati. U prozoru
programskog editora potrebno je pokrenuti opciju Program status klikom na ikonu
Monitor. Na ovaj način se tablica varijabli koristi u kombinaciji s opcijom za praćenje
statusa programa.

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.

3. Odabirom opcije izbornika Variable>Monitor ili jednostavno klikom na ikonu


Monitor variable na alatnoj traci u stupcu Status value će se prikazati trenutne
vrijednosti unešenih varijabli u odabranom formatu. Promatrane vrijednosti će se
osvježavati u svakom ciklusu.
Ikona Monitor variable

Zbog naredbe za invertiranje logičkog kontinuiteta adresa 'M2.0' u memoriji PLC-a je u


stanje logičkog '1' iako je adresa 'M1.0' u stanju logikog '0'.

________________________________________________________________________140
SIMATIC S7 Programirljivi logički kontroleri

Promatrane vrijednosti mogu se osvježiti samo jedanput izborom opcije izbornika


Variable>Update Monitor Values ili jednostvanim klikom na ikonu Update Monitor Values
na alatnoj traci. Kada se aktivira ova opcija vrijednosti se trenutno osvježe neovisno o
podešenoj točki okidanja.
Ikona Update Monitor Values

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.

Željene vrijednosti mogu se promijeniti samo jedanput izborom opcije izbornika


Variable>Activate Modify Values ili jednostvanim klikom na ikonu Activate Modify Values
na alatnoj traci. Kada se koristi ova opcija vrijednost varijable se promijeni trenutno neovisno
o podešenoj točki okidanja.
Ikona Activate Modify Values

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

Koristeći tablicu varijabli u kombinaciji s opcijom za praćenje stanja programa uspješno je


testiran program. Na ovaj način se mogu testirati i ostali primjeri.

3.6.4 Forsiranje varijabli

Varijablama iz korisničkog programa ili CPU-a mogu se dodijeliti prethodno definirane


vrijednosti pomoću funkcije za forsiranje (engl. Force). Dodijeljene fiksne vrijednosti
korisnički program nemože promijeniti (“forsiranje”). Kod S7-300 (bez CPU 318-2DP) mogu
se forsirati samo ulazi (engl. Inputs I) i izlazi (engl. Outputs Q), a kod S7-400 300 (sa CPU 318-
2DP) ulazi (engl. Inputs I), izlazi (engl. Outputs Q), bit memorije (engl. Memory bits M),
periferni ulazi (engl. Periheral inputs PI) i periferni izlazi (engl. Periheral outputs PI). Da bi
forsiranje bilo moguće, korišteni CPU mora podržavati ovu opciju. Forsiranje je dopušteno u
svim modovima rada CPU-a i izvršava se trenutno.
Varijable koje se žele forsirati unose se u prozor Force Values koji se otvara odabirom
opcije izbornika Variable>Display Force Values u tablici varijabli. Ako CPU ne podržava
forsiranje varijabli ova opcija izbornika se ne može odabrati. Kada je ovaj prozor aktivan
onemogućeno je praćenje i mijenjanje varijabli. U prozoru za forsiranje prvo se u stupac
Address unesu adrese koje se žele forsirati a nakon toga se u stupac Force Value unesu
vrijednosti za forsiranje koje se žele dodijeliti varijablama (Slika 135.). Funkcija za forsiranje
pokreće se odabirom opcije izbornika Variable>Force nakon čega se fiksne vrijednosti
dodijele varijablama neovisno o korisničkom programu što čini razliku između forsiranja i
promjene vrijednosti varijali. Funkcija za forsiranje će tako npr. izlazu Q0.0 dodijeliti vrijednost
logičke jedinice odnosno uključiti izlaz iako ga korisnički program drži isključenim. Forsirane
varijable u prozoru za forsiranje kao i u tablici varijabli prepoznaju se po simbolu . Ako je
pored prikazan simbol adresa je djelomično forsirana. Tako će npr. adresa MW1 biti
označena kao djelomično forsirana ako je forsiran samo bit M1.0 od kojeg se sastoji ova riječ.

Slika 135. Prozor a forsiranim varijablama

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

3.6.5 Omogućavanje perifernih izlaza

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

3.7 Ostale naredbe na razini bita (LAD)

Naredba Midline Output – konektor

Slika 136. Simbol naredbe za invertiranje logičkog kontinuiteta

Naredba Midline Output je izlazna naredba za spremanje međurezultata koja pohranjuje


trenutni RLO na zadanu adresu. Rezultat logičke operacije ('0' ili '1') na mjestu konektora u
logičkom krugu pohranjuje se na binarnu adresu upisanu iznad simbola naredbe. Stanje binarne
adrese konektora može se koristiti u drugim logičkim krugovima programa preko NO i NC
kontakata. Ova naredba sama po sebi nema utjecaj na logički kontinuitet unutar logičkog kruga
u kojem se nalazi. Postavljanjem konektora u logički krug zajedno s naredbom za invertiranje
logičkog kontinuiteta moguće je ostvariti negirani konektor.
Sljedeća slika prikazuje dijagram stanje – vrijeme za naredbu Midline Output u
pripadajućem logičkom krugu:

I0.0 M1.0 Q0.0


#
I0.1 M1.1
NOT #

I0.0

I0.1

M1.0

M1.1

Q0.0
t

Slika 137. Dijagram stanje vrijeme za Midline Output naredbu

3.7.1 Rad s naredbom Midline Output

Sada će se najednostavnom primjeru demonstrirati kako se radi s naredbom Midline Output


u logičkom krugu. U organizacijskom bloku OB1 izraditi će se 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 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.

2. U prozoru s programskim elementima dvaput se klikne na simbol naredbe Midline


Output koja će biti ubačena na označeno mjesto u logičkom krugu. Sada toj naredbi je
potrebno dodijeliti adresu 'M1.0' u bit memoriji PLC-a u koju će se spremati rezultat
logičke operacije sa mjesta na kojem se ova naredba nalazi u logičkom krugu.

Odabir naredbe Midline Output

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

4. Program je potrebno spremiti, učitati u PLC i testirati ga pomoću funkcije za praćenje


statusa programa (odabir opcije Monitor). Zajedno s ovom opcijom po želji može se
koristiti i tablica varijabli u koju je potrebno unijeti adrese koje se koriste u programu.
Ikona Monitor

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.

3.7.2 Naredbe Set Coil i Reset Coil – postavljanje i brisanje

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

Iz dijagrama stanje-vrijeme na prikazanom primjeru se vidi da će se izlaz Q0.0 uključiti


(setirati) kada I0.0 skoči u '1', ali će ostati uključen i nakon što I0.0 padne u '0'. Izlaz Q0.0 se
može isključiti (resetirati) samo aktiviranjem ulaza I0.1.

3.7.3 Rad s naredbama Set Coil i Reset Coil

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.

Odabir naredbe Set Coil

________________________________________________________________________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.

Odabir naredbe Reset Coil

________________________________________________________________________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.

4. Program je potrebno spremiti, učitati ga u PLC i testirati ga pomoću funkcije za praćenje


statusa programa (odabir opcije Monitor). Zajedno s ovom opcijom po želji možete
koristiti i tablicu varijabli u koju je potrebno unijeti adrese koje se koriste u programu.
Ikona Monitor

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 – SR bistabil

Slika 140. Simboli SR bistabila

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

Slika 141. Dijagram stanje vrijeme za Set-Reset Flip Flop naredbu

3.7.5 Naredba Reset-Set Flip Flop – RS bistabil

Slika 142. Simbol RS bistabila

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

Slika 143. Dijagram stanje vrijeme za Reset-Set Flip Flop naredbu

3.7.6 Rad s naredbama Set-Reset Flip Flop i Reset-Set Flip Flop

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:

1. U programskom editoru je potrebno otvoriti organizacijski blok OB1. U prazan logički


krug ubaciti naredbu Set-Reset Flip Flop. Zatim u logički krug ispred S ulaza postaviti
NO kontakt s adresom ulaza I0.0 te mu dodijeliti simbol 'Setiranje' kao u ranijim
primjerima. U logički krug nakon izlaza Q postaviti izlaznu naredbu s adresom Q0.0 i
pripadajući simbol 'Stanje SR bistabila'.

Odabir naredbe Set-Reset Flip Flop

________________________________________________________________________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

RS bistabil u simbolu naredbe ima zamijenjen redosljed S i R ulaza u odnosu na SR


bistabil.Zbog toga je prilikom dodjeljivanja adresa tim ulazima potrebno voditi računa da ne
dođe do pogreške.

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.

5. Program je potrebno spremiti, učitati ga u PLC i uključiti funkciju za praćenje statusa


programa (odabir opcije Monitor). Zajedno s ovom opcijom po želji možete koristiti i
tablicu varijabli u koju je potrebno unijeti sve adrese koje se koriste u programu.
Ikona Monitor

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.

9. Potrebno je istovremeno uključiti ulaze za setiranje (I0.0) i resetiranje (I0.1) 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 Naredbe za detekciju brida rezultata logičke operacije

Naredbe za detekciju brida rezultata logičke operacije (RLO) koriste se za detektiranje


promjene kontinuiteta u logičkom krugu. Ove naredbe detektiraju promjene logičkog
kontinuiteta u krugu iz slučaja kad "nije ostvaren" u slučaj kad je logički kontinuitet "ostvaren"
i obratno. Na binarnu adresu brida iznad simbola naredbe sprema se stanje u kojem je logički
krug bio u prethodnom ciklusu izvođenja programa (OB1 ciklus). Ako se trenutno stanje
logičkog kruga (trenutni ciklusu izvođenja programa) razlikuje od stanja spremljenog u binarnu
adresu brida CPU detektira da je došlo do promjene logičkog kontinuiteta. U tom slučaju se
nakon naredbe za detekciju brida u logičkom krugu propušta stanje '1' samo za taj ciklus
izvođenja programa. Ako u sljedećem ciklusu izvođenja nije ponovno došlo do promjene,
trenutno stanje kruga odgovara stanju binarne adrese brida, CPU više ne detektira promjenu i
naredba za detekciju brida šalje stanje '0' u logički krug. Ako se stanje kruga promijeni iz
logičkog '0' u '1' radi se o pozitivnom tj. rastućem bridu a ako se stanje kruga promijeni iz
logičkog '1' u '0' radi se o negativnom tj. padajućem bridu.

3.7.7.1 Naredba Positive RLO Edge Detection – Detekcija pozitivnog brida RLO

Slika 144. Simbol naredbe za detekciju pozivinog brida RLO-a

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 M1.0 M10.0


P

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

Slika 146. Simbol naredbe za detekciju negativnog brida RLO-a

Naredbom Negative RLO Edge Detection detektira se promjena rezultata logičke


operacije sa '1' na '0' (negativni tj. padajuć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 '1' a trenutni rezultat logičke operacije je '0', detektiran je
padajući brid i u krug nakon ove naredbe se šalje "impuls".
Sljedeća slika prikazuje dijagram stanje – vrijeme za naredbu Negative RLO Edge
Detection u pripadajućem logičkom krugu:

I0.0 I0.1 M1.0 M10.0


N

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

Na jednostavnom primjeru će se prikazati kako se radi s naredbama Positive RLO Edge


Detection i Negative RLO 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 potrebno je otvoriti organizacijski blok OB1. U prvi logički


krug programa ubaciti NO konatakte i naredbu Set Coil s pripadajućim adresama kako
je prikazano na sljedećoj slici.

________________________________________________________________________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.

2. U prozoru s programskim elementima dvaput se klikne na simbol naredbe Positive RLO


Edge Detection koja će biti ubačena na označeno mjesto u logičkom krugu. Sada ovoj
naredbi se dodijeli adresa M1.0 u bit memoriji PLC-a na koju se sprema stanje logičkog
kruga iz prethodnog ciklusa izvođenja programa. Logički krug tada izgleda kao na
sljedećoj slici.

Odabir naredbe Positive RLO Edge Detection

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).

4. Program je potrebno spremiti, učitajtati ga u PLC i uključiti funkciju za praćenje statusa


programa (odabir opcije Monitor). Zajedno s ovom opcijom po želji možete se koristiti
i tablica varijabli u koju je potrebno unijeti sve adrese koje se koriste u programu.
Ikona Monitor

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

3.7.8 Naredbe za detekciju brida signala

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

Slika 148. Simbol naredbe za detekciju pozitivnog brida signala

Naredbom Address Positive Edge Detection detektira se promjena stanja signala


adresirane lokacije veličine bita sa '0' na '1' propuštanjem stanja '1' na izlaz Q samo za jedan
ciklus izvođenja programa. Adresa bita čije se stanje prati (npr. digitalni ulaz) unosi se iznad
ove naredbe pri ćemu se prethodno stanje pračene adrese sprema na binarnu adresu brida (bit
memorija ili podatkovni bit) unesenu na ulaz M_BIT. Ako je trenutno stanje binarne adrese
brida logičko '1' a prethodno stanje je bilo '0' detektiran je rastući brid signala. U tom slučaju se
preko izlaza Q u krug šalje "impuls". Ova naredba će biti omogućena samo ako je neoznačeni
ulaz u stanju logičkog '1'.
Sljedeća slika prikazuje dijagram stanje – vrijeme za naredbu Address Positive Edge
Detection u pripadajućem logičkom krugu:

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

Slika 150. Simbol naredbe za detekciju pozitivnog brida signala

Naredbom Address Negative Edge Detection detektira se promjena stanja signala


adresirane lokacije veličine bita sa '1' na '0' propuštanjem stanja '1' na izlaz Q samo za jedan
ciklus izvođenja programa. Adresa bita čije se stanje prati (npr. digitalni ulaz) unosi se iznad
ove naredbe pri ćemu se prethodno stanje pračene adrese sprema na binarnu adresu brida (bit
memorija ili podatkovni bit) unesenu na ulaz M_BIT. Ako je trenutno stanje binarne adrese
brida logičko '0' a prethodno stanje je bilo '1' detektiran je padajući brid signala. U tom slučaju
se preko izlaza Q u krug šalje "impuls". Ova naredba će biti omogućena samo ako je neoznačeni
ulaz u stanju logičkog '1'.
Sljedeća slika prikazuje dijagram stanje – vrijeme za naredbu Address Negative Edge
Detection u pripadajućem logičkom krugu:

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

Odabir naredbe Address Positive Edge Detection

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.

4. Program je potrebno spremiti, učitati u PLC i uključiti funkciju za praćenje statusa


programa (odabir opcije Monitor). Zajedno s ovom opcijom ako se želi može se koristiti
i tablica varijabli u koju je potrebno unijeti sve adrese koje se koriste u programu.
Ikona Monitor

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.

3.8 Naredbe na razini bita (FBD)

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.

3.8.1 Naredba pridruži izlaz

Slika 152: Funkcija Pridruži; Assign

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

Slika 153: Dijagram stanje-vrijeme Assign (pridruži) funkcije

________________________________________________________________________165
SIMATIC S7 Programirljivi logički kontroleri

3.8.2 I logička vrata

Slika 154: I logička vrata

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.

Slika 156: I logička vrata sa 3 ulaza i pridruženim izlazom

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

Slika 158: Dijagram stanje-vrijeme I logičkih vrata

Dijagram stanje-vrijeme potvrđuje već rečeno. Izlaz će biti u jedinici tek kad su oba ulaza u
jedinici.

3.8.3 ILI logička vrata

Slika 159: ILI logička vrata sa pridruženim izlazom

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.

Ulaz 1 Ulaz 2 Izlaz


0 0 0
0 1 1
1 0 1
1 1 1
Slika 160: Tablica stanja ILI logičkih vrata sa 2 ulaza

________________________________________________________________________167
SIMATIC S7 Programirljivi logički kontroleri

I0.0

I0.1

Q4.0

Slika 161: Dijagram stanje-vrijeme ILI logičkih vrata

3.8.4 Eksluzivno ILI (EXOR, XOR, XILI)

Slika 162: Eksluzivno ILI sa pridruženim izlazom


Eksluzivno ILI postavlja izlaz u jedinicu samo kad je jedno od dva ulaza u jedinici.
Eksluzivno se zove zato jer je izlaz u jedinici isključivo onda kad je samo jedan ulaz u
jedinici, a ostali su u nuli.
Ulaz 1 Ulaz 2 Izlaz
0 0 0
0 1 1
1 0 1
1 1 0
Slika 163: Tablica stanja vrata Eksluzivno ILI

I0.0

I0.1

Q4.0

Slika 164: Dijagram stanje-vrijeme Eksluzivno ILI logičkih vrata

________________________________________________________________________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“.

3.8.5 Binarni ulaz i Negacija

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.

Slika 165: Dodavanje novih ulaza i negacija funkciji ILI

3.8.6 Dodavanje izlaza

Logička funkcija koju je napravljena na način da su se odabrale logičke naredbe i spojile na


željen način ima samo jedan pridruženi izlaz. Ukoliko se želi iskoristiti signal koji je prisutan
na nekom izlazu u sredini funkcije a koji nije kraju logičke funkcije, koristi se naredba
pomoćni ili srednji izlaz sa oznakom '#'. Kao što se može vidjeti na sljedećem jednostavnom
primjeru - svi ulazi funkcije spojeni su na ILI vrata, a izlaz je prvo spojen na pomoćni ili
srednji izlaz Q4.1 (#), a nakon njega je spojen krajnji izlaz Q4.0.
Budući da samo jedan ulaz mora biti u jedinici kako bi funkcija dala izlaz u jedinici, na
dijagramu je prikazan samo jedan ulaz, uz pretpostavku da su druga dva u nuli. Pod ovim
uvjetom, I0.0 i Q4.1 su indentični.

________________________________________________________________________169
SIMATIC S7 Programirljivi logički kontroleri

Slika 166: Logička funkcija sa srednjim izlazom i negacijom

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

Slika 167: Dijagram stanje-vrijeme funkcije sa srednjim izlazom i negacijom

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.

Slika 168: Korištenje srednjeg izlaza u složenoj funkciji

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

3.9 Naredbe na razini bita (STL)

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.

3.9.1 I naredba (AND)

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.

Slika 169. Prikaz jednostavnog programa sa I naredbama (STL)

Slika 170. Prikaz jednostavnog programa sa I naredbama (Ladder)

Ulaz 1
t
Ulaz 2
t
Ulaz 3
t
Izlaz 1
t

Slika 171. Vremenski dijagram I naredbe

________________________________________________________________________171
SIMATIC S7 Programirljivi logički kontroleri

3.9.2 NI naredba (AND Not)

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.

Slika 172. Prikaz jednostavnog programa sa NI naredbom (STL)

Slika 173. Prikaz jednostavnog programa sa NI naredbom (Ladder)

Ulaz 1
t
Ulaz 2
t
Izlaz 1
t

Slika 174. Vremenski dijagram NI naredbe

________________________________________________________________________172
SIMATIC S7 Programirljivi logički kontroleri

3.9.3 ILI naredba (OR)

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.

Slika 175. Prikaz jednostavnog programa sa ILI naredbom (STL)

Slika 176. Prikaz jednostavnog programa sa ILI naredbom (Ladder)

Ulaz 1
t
Ulaz 2
t
Ulaz 3
t
Izlaz 1
t

Slika 177. Vremenski dijagram ILI naredbe

________________________________________________________________________173
SIMATIC S7 Programirljivi logički kontroleri

3.9.4 NILI naredba (NOR)

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.

Slika 178. Prikaz jednostavnog programa sa NILI naredbom (STL)

Slika 179. Prikaz jednostavnog programa sa NILI naredbom (Ladder)

Ulaz 1
t
Ulaz 2
t
Izlaz 1
t

Slika 180. Vremenski dijagram NILI naredbe

________________________________________________________________________174
SIMATIC S7 Programirljivi logički kontroleri

3.9.5 Ekskluzivno ILI (X)

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.

Slika 181. Prikaz jednostavnog programa sa X naredbom (STL)

Slika 182. Prikaz jednostavnog programa sa X naredbom (Ladder)

Ulaz 1
t
Ulaz 2
t
Izlaz 1
t

Slika 183. Vremenski dijagram X naredbe

________________________________________________________________________175
SIMATIC S7 Programirljivi logički kontroleri

3.9.6 Ekskluzivno NILI (XN)

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.

Slika 184. Prikaz jednostavnog programa sa XN naredbom (STL)

Slika 185. Prikaz jednostavnog programa sa XN naredbom (Ladder)

Ulaz 1
t
Ulaz 2
t
Izlaz 1
t

Slika 186. Vremenski dijagram XN naredbe

________________________________________________________________________176
SIMATIC S7 Programirljivi logički kontroleri

3.9.7 Set-Reset naredba (S-R)

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.

Slika 187. Primjer programa sa SET-RESET naredbom (STL)

Slika 188. Primjer programa sa SET-RESET naredbom (Ladder)

Ulaz 1
t
Ulaz 2
t
Izlaz 1
t

Slika 189. Vremenski dijagram SET-RESET naredbe

________________________________________________________________________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.

3.10.1 Opis pojedinih funkcija timera

Iz sljedeće tablice je moguće vidjeti da postoje šest osnovnih kontakata, od kojih su S , TV , R


definirani kao ulazni dok su Q , BI te BCD definirani kao izlazni kontakti. Ukratko će biti opisano
za što se pojedini ulazni i izlazni kontakt koristi.

Tablica 15. Ulazi i izlazi koji su dostupni na timeru

Ime Tip podatka Opis


S BOOL Ulaz start
TV S5TIME Trajanje određenog vremena
R BOOL Ulaz reset
BI WORD Trenutna vrijednost vremena u binarnom br.
BCD WORD Trenutna vrijednost vremena u BCD-u
Q BOOL Prikazuje status timera

• 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 BI i BCD se koriste za provjeru vremenske vrijednosti.Na izlazu BI će vrijednost vremena


biti prikazana kao binarni broj dok na izlazu BCD ta vrijednost biti prikazana kao binarno-kodirani
dekadski broj.

• 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.

3.10.2 Određivanje trajanja vremenske vrijednosti

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:

H=sati , M=minute , S=sekunde i MS=milisekunde


a, b, c, d - definira ih korisnik

U sljedećoj tablici prikazano je nekoliko načina unošenja vremena u S5TIME formatu.

Tablica 16. Vrijeme u S5TIME formatu

Unešeno vrijeme Trajanje od


S5TIME#50ms 50 milisekundi
S5T#5s 5 sekundi
s5time#1s550ms 1 sekunda i 550 milisekundi
S5T#5m30s 5 minuta i 30 sekundi
s5t#1h_45m 1sat i 45 minuta
S5T#2H_25M_10S 2 sata, 25 minuta i 10 sekundi

Vrijednosti vremena kreću se od S5T#10ms do S5T#2H46M30S što odgovara vremenu od


9990s. Vrijednosti vremena veće od 2h46m30s nije moguće unijeti. Pritome se prilikom
određivanja vremena međuvrijednosti zaokružuju na 10ms, npr. unesenu vrijednost od
S5T#5s27ms sustav će zaokružiti na S5T#5s20ms. Sustav sam dodjeljuje vremensku bazu
ovisno o unešenoj vrijednosti vremena. Vremenskom bazom definira se interval nakon kojeg
se vremenska vrijednost umanjuje za jednu jedinicu. Nakon što pokrenete timer zadana

________________________________________________________________________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.

Tablica 17. Raspon vremenskih vrijednosti

Vremenska baza Raspon vrijednosti vremena


10 ms 10ms do 9s 990ms
100 ms 100ms do 1 m 39s 900ms
1s 1s do 16m 39s
10 s 10s do 2 h 46m 30s

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.

Slika 190. Struktura formata zapisa vremena S5TIME

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

Tablica 18. Vremenske baze i njihov zapis u binarnom formatu

Vremenska baza Binarni format vremenske baze


10 ms 00
100 ms 01
1s 10
10 s 11

Vrijeme se preko memorijske riječi zadaje u sljedećem obliku:

W#16#wxyz

Gdje je:

w - vremenska baza odnosno vremenski interval nakon kojeg će se promijeniti zadana


vremenska vrijednost (0=10ms, 1=100ms, 2=1s, 3=10s)

xyz - zadana vremenska vrijednost u BCD formatu (0 do 999)

U sljedećoj tablici prikazano je nekoliko primjera unošenja vremena u ovom obliku.

Tablica 19. Unošenja vremena u binarnom zapisu

Unešena vrijednost Vremenska baza x vrijednost vremena = zadano vrijeme


W#16#0100 10ms x 100 = 1s
W#16#1010 100ms x 010 = 1s
W#16#2001 1s x 1 = 1s
W#16#3001 10s x 1 = 10 s

________________________________________________________________________181
SIMATIC S7 Programirljivi logički kontroleri

3.10.3 Opis rada timera

U ovom dijelu prikazani su dijagrami stanje vrijeme za S5 timere i opisi rada za svaki od njih.

3.10.3.1 S_PULSE – Pulse Timer

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

3.10.3.2 S_PEXT – Extended Pulse Timer

- 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

3.10.3.3 S_ODT – On-Delay Timer

- 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

3.10.3.4 S_ODTS – Retentive On-Delay Timer

- 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

Slika 194. Dijagram stanje-vrijeme za S_ODTS timer

________________________________________________________________________185
SIMATIC S7 Programirljivi logički kontroleri

3.10.3.5 S_OFFDT – Off-Delay Timer

- 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

3.10.4 Rad s timerima

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:

1. U prazan logički krug potrebno je dodati timer naredbu. U prozoru programskih


elemenata kliknuti na ikonu S_PULSE da bi se ubacio timer u logički krug. Prozor
programa tada izgleda kao na sljedećoj slici.

Odabir S_PULSE timera

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.

4. Na ulazu TV potrebno je zadati vrijeme koje će timer mjeriti. Klikom na upitnike


potrebno je unesti vrijeme kao konstantu u formatu zapisa vremena S5TIME. Za primjer
unese se S5T#10s i zatim pritisnite Enter. Ovime sts odredilo da će timer mjeriti
vrijeme od 10 s.

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.

5. Da se moglo provjeriti trenutno stanje timera koristi se izlaz Q u elementu timera. U


prazni dio logičkog kruga desno od izlaza Q potrebno je dodati izlaznu naredbu i
pridjeliti joj adresu Q0.0.

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.

7. Trenutnu vremensku vrijednost moguće je provjeriti na izlazu BI a trenutno vrijeme na


izlazu BCD. Za primjer izlazu BI potrebno je dodati adresu MW2 a izlazu BCD adresu
MW4.

Ovime se odredilo da se trenutna vrijednost vremena na izlazu BI sprema u memorijsku riječ


MW2 dok se trenutno vrijeme sprema u memorijsku riječ MW4.

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.

8. Signal stanja timera sa izlaza Q moguće je koristiti i u ostalim dijelovima programa


pomoću NO i NC kontakta. Za primjer potrebno je ubaciti novi logički krug, dodati NO
kontakt i izlaznu naredbu. U polje za unos adrese NO kontakta se unese T5 što je adresa
timera u programu. Izlaznoj naredbi se pridjeljuje adresa I0.1.

________________________________________________________________________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

3.10.5 Provjera rada timera

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

2. Odabirom opcije izbornika PLC>Monitor/Modify Variables otvara se tablica varijali


s kojom se može raditi izravno online. Potrebno je unesti varijable u programu i
odaberati formate prikaza kao što je prikazano na sljedećoj slici.

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

Timer se zaustavi i na izlazima BI ili BCD se može pročitati preostalo vrijeme.

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.

3.10.6 Zadatak za vježbu

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

TIPKALO START I0.0


TIPKALO STOP I0.1

IZLAZI

ZELENO SVIJETLO Q0.0


ŽUTO SVIJETLO Q0.1
CRVENO SVIJETLO Q0.2
SAMOODRŽANJE M1.0
PROCESA

________________________________________________________________________193
SIMATIC S7 Programirljivi logički kontroleri

Output Q0.2 Upaljeno 6 sekunda

Output Q0.1 Upaljeno 2 sekunde

Output Q0.0 Upaljeno 8 sekunda

▪ Ladder diagram

Kada se ulaz I0.0 setira u logičku 1 pokreće se proces samoodržanja semafora..

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

Kada je T0 gotov sa radom ukljućuje se timer T1 te on odbrojava 2 s.

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.

Sa brojilima možemo obavljati sljedeće operacije:


- setirati, odrediti vrijednost brojila
- brojati na više
- brojati na niže
- resetirati brojilo, postaviti vrijednost brojila na nulu
- provjeriti stanje brojila na izlazu Q
- provjeriti vrijednost brojila u binarnom obliku na izlazu CV
- provjeriti vrijednost brojila u BCD obliku na izlazu CV_BCD

3.11.1 Prikaz brojila pomoću blokova

Postoje 3 tipa brojila:


• S_CUD- broji na više/niže
• S_CU- broji na više
• S_CD- broji na niže.

Slika 196. Prikaz brojila pomoću blokova

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:

Tablica 20. Popis ulaza i izlaza brojila

Ime Tip podatka Opis


CU BOOL Ulaz za brojenje na više
CD BOOL Ulaz za brojenje na niže
S BOOL Ulaz za setiranje brojila na postavljenu
vrijednost
PV WORD Početna vrijednost brojila
R BOOL Ulaz za resetiranje brojila

________________________________________________________________________197
SIMATIC S7 Programirljivi logički kontroleri

CV WORD Vrijednost brojila u binarnom obliku


CV_BCD WORD Vrijednost brojila u BCD obliku
Q BOOL Stanje brojila

3.11.2 Opis pojedinih funkcija brojila

▪ 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.

▪ Određivanje početne vrijednosti brojenja

Početna vrijednost brojenja može biti specificirana kao konstanta, riječ ili varijabla tipa riječi.

• Određivanje vrijednosti brojenja kao konstanta

C#100 vrijednost brojenja 100


W#16#0100 vrijednost brojenja 100

Određivanje vrijednosti brojenja kao riječ ili varijabla.

MW 20 riječ koja sadrži vrijednost brojanja


„Pocetna vrijednost“ varijabla tipa riječi

U sistematskoj podatkovnoj memoriji rezervirana je 16-bitna riječ za svako brojilo. Raspon


brojenja obuhvaća vrijednosti do tri dekade (0-999).

• 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

Kada se stanje signala na CD ulazu promijeni iz 0 u 1, vrijednost brojila se umanji za 1. Za


brojenje na niže uvijek je potreban pozitivan brid signala. Prilikom brojenja na niže svaki
pozitivni brid signala smanjuje vrijednost brojila za 1 dok ne dosegne donju granicu brojenja 0.

▪ Provjera stanja brojila

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.

• Provjera vrijednosti brojila

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

3.11.3 Vrste brojila

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).

▪ S_CUD – brojilo na više/niže

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

Slika 197. Dijagram stanje - vrijeme brojila na više/niže,

▪ S_CU – brojilo na više

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

Slika 198. Dijagram stanje - vrijeme brojila na više

▪ S_CD – brojilo na niže

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

Slika 199. Dijagram stanje - vrijeme brojila na niže

________________________________________________________________________201
SIMATIC S7 Programirljivi logički kontroleri

3.11.4 Prikaz brojila pomoću bit naredbi

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.

Tablica 21. Prikaz brojila pomoću bit naredbi

Brojilo na više

Brojilo na niže

Set brojila, određivanje vrijednosti brojila

Reset brojila, postavljanje vrijednosti brojila


na nulu
Provjera stanja brojila pomoću normalno
otvorenog i zatvorenog kontakta

Primjer korištenja bit naredbi kod brojila:

Ako se stanje signala u logičkom krugu promjeni iz logičke 0 u 1 brojilo će se postaviti na


vrijednost upisanu ispod izlazne naredbe. U ovom slučaju brojilo C1 će se postaviti na
vrijednost 100.

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

Stanje brojila može se provjeriti pomoću NO ili NC kontakata.

Ako se stanje signala u logičkom krugu promjeni iz logičke 0 u 1 vrijednost brojila će


resetirati na 0.

5.5. Rad s brojilima

Primjer korištenja brojila pomoću blokova :

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.

Odabir brojila na više

Tada prozor programa izgleda kao na sljedećoj slici.

________________________________________________________________________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.

Odabir naredbe većeg CMP>I

________________________________________________________________________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:

Potrebno je napisati program za upravljanje procesom pakiranja proizvoda na pokretnoj


traci u LAD tehnici. Pritiskom na tipkalo START, pokreće se transporter 1 na kojem se nalaze
prazne kutije za pakiranje čokolada. Prva kutija na transporteru dovodi se do mjesta gdje se
ubacuju čokolade u nju i gdje se nalazi osjetilo za detekciju kutije S1. Kada osjetilo S1 detektira
kutiju, automatski se isključuje transporter 1 i uključuje transporter 2 na kojem se nalaze
čokolade. Osjetilo za detekciju čokolada S2 broji 10 čokolada koje se ubacuju u kutiju. Nakon
početka pada desete čokolade zaustavlja se transporter 2 čime završava jedan ciklus punjenja.
Nakon toga ponovno se uključuje transporter 1 koji dovodi sljedeću praznu kutiju ispred osjetila
za detekciju kutije S1 i ponavlja postupak.
Ciklus se ponavlja dok ne aktiviramo tipkalo STOP kojim se može zaustaviti proces u bilo
kojem trenutku . Nakon ponovnog pritiska na tipkalo START sustav kreće iz pozicije u kojoj
je zaustavljen.
Transporter 2

čokolade

Senzor za čokolade
S2
kutije

Motor 2

Transporter 1

Senzor za kutije
S1

Motor 1

________________________________________________________________________205
SIMATIC S7 Programirljivi logički kontroleri

ULAZI

Tipkalo START I0.0


Tipkalo STOP I0.1
Osjetilo za detekciju kutije S1 I0.2
Osjetilo za detekciju čokolada S2 I0.3

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.

Pokretanje transportera 1 (Q1.1) i zaustavljanje senzorom S1 kada detektira kutiju.

Pokretanje transportera 2 (Q1.2) i zaustavljanje kada brojilo dođe do zadane vrijednosti sa


naredbom komparacije LT_I.

________________________________________________________________________206
SIMATIC S7 Programirljivi logički kontroleri

Detekcijom čokolada senzorom S2 brojilo C1 povisuje vrijednost akumulatora.

Nakon završetka jednog ciklusa brojilo C1 se resetira i ponovno se uključuje transporter 1


(Q1.1).

________________________________________________________________________207
SIMATIC S7 Programirljivi logički kontroleri

3.12 Naredbe usporedbe

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.

Rezultat komparacije je dostupan kao binarna vrijednost (0 ili 1).

Tablica naredbi komparacije:

Tablica 22. Tablica naredbi komparacije

Naredba usporedbe Operacija sa Operacija sa Operacija sa


varijablama tipa varijablama tipa varijablama tipa
INT DINT REAL
IN1 == IN2 – jednako CMP == I CMP == D CMP == R
IN1<> IN2 – različito CMP <> I CMP <> D CMP <> R
IN1 > IN2 – veće CMP > I CMP > D CMP > R
IN1  IN2 – veće ili CMP  I CMP  D CMP  R
jednako
IN1 < IN2 – manje CMP < I CMP < D CMP < R
IN1  IN2 – manje ili CMP  I CMP  D CMP  R
jednako

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 (LAD) naredbe usporedbe cjelobrojnih varijabli:

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.

Opis pojedinih naredbi komparacije.

1. Komparacija jednakosti dviju varijabli IN1 = IN2


U skladu sa tipom varijabli koje se uspoređuje potrebno je odabirati jednu od 3
moguće naredbe (CMP ==) ,te usporediti jesu li jednake. Ako su jednake, logički
kontinuitet je ostvaren.

2. Komparacija različitosti dviju varijabli IN1  IN2


U skladu sa tipom varijabli koje se uspoređuj potrebno je odabirati jednu od 3 moguće
naredbe (CMP <>) ,te usporediti da li su različite. Ako su različite, logički kontinuitet
je ostvaren.

3. Komparacija IN1 > IN2


U skladu sa tipom varijabli koje se uspoređuje potrebno je odabirati jednu od 3
moguće naredbe (CMP >), te usporediti da li je IN1 veće od IN2. Ako je uvjet
zadovoljen, logički kontinuitet je ostvaren.

4. Komparacija IN1  IN2


U skladu sa tipom varijabli koje se uspoređuje potrebno je odabirati jednu od 3
moguće naredbe (CMP >=), te usporediti da li je IN1 veće ili jednako IN2. Ako je
uvjet zadovoljen, logički kontinuitet je ostvaren.

5. Komparacija IN1 < IN2


U skladu sa tipom varijabli koje se uspoređuje potrebno je odabirati jednu od 3
moguće naredbe (CMP <)te usporediti da li je IN1 manje od IN2. Ako je uvjet
zadovoljen, logički kontinuitet je ostvaren.

6. Komparacija IN1  IN2


U skladu sa tipom varijabli koje se uspoređujepotrebno je odabirati jednu od 3 moguće
naredbe (CMP <=)te usporediti da li je IN1 manje ili jednako od IN2. Ako je uvjet
zadovoljen, logički kontinuitet je ostvaren.
.

________________________________________________________________________209
SIMATIC S7 Programirljivi logički kontroleri

3.13 Podešavanje analognog ulaza

Uređaj u radu s analognim ulazima ili izlazima može raditi prema potrebama sa standardnim
naponskim ili strujnim veličinama prikazanim u tablici.

Tablica 23. Podešavanje analognog ulaza

PODRUČJE Napon npr: Struja npr:


Mjerno područje Jedinice: Mjerno Jedinice:
+ / - 10 V područje
4 .. 20 mA
PRELJEV  11.7589 32767  22.815 32767
PREKORAČENJE 11.7589 32511 22.810 32511
. . . .
. . . .
10.0004 27649 20.0005 27649
NORMALNO 10.00 27648 20.000 27648
PODRUČJE 7.50 20736 16.000 20736
. . . .
. . . .
-7.50 -20736 . .
-10.00 -27648 4.000 0
PREKORAČENJE -10.0004 -27649 3.9995 -1
. . . .
. . . .
-11.759 -32512 1.1852 -4864
PRELJEV  -11.76 -32768  1.1845 -32768

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.

Kodiranje simetričnog naponskog ili strujnog raspona

Tablica 24. Kodiranje simetričnog naponskog ili strujnog raspona

•  80 mV •  2.5 V •  3.2 mA
•  250 mV •  5V •  10 mA
•  500 mV •  10 V •  20 mA
• 1V

daje mjerni raspon od -27648 do + 27648

________________________________________________________________________210
SIMATIC S7 Programirljivi logički kontroleri

3.13.1 Rad sa naredbama usporedbe

Postavljanje naredbe komparacije na logički krug

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:

Nazivi elemenata usporedbe su drugačiji u prozoru programskih elemenata i u samim


elementima. Primjetimo GT_I u izborniku gore je CMP >I u bloku dolje na slici.

2.Element koji je odabran će se pojaviti na logičkom krugu kao na slici:

U ovom slučaju koristimo naredbu IN1>IN2 za varijable tipa INT

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

3.13.1.1 CMP== naredba (naredba jednakosti)

U prozoru elementa označena sa EQ_I , EQ_D , EQ_R ovisno o tipu varijable.

U prozoru CMP == naredbe mogu se mjenjati 2 polja: IN1 i IN2.CMP == je naredba za


ispitivanje jednakosti.Ako su varijable IN1 i IN2 jednake veličine tada će se izvršiti neka
naredba na kraju logičkog kruga.(Primjer ako je PIW2 jednak 5000 u ovom slučaju će se
uključit digitalni izlaz Q0.0). Ispitivanje točnosti izraza: IN1 = IN2

3.13.1.2 CMP <> naredba (naredba nejednakosti)

U prozoru elementa označena sa NE_I , NE_D , NE_R ovisno o tipu varijable

________________________________________________________________________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

3.13.1.3 CMP  naredba (naredba veće ili jednako)

U prozoru elementa označena sa GE_I , GE_D , GE_R ovisno o tipu varijable

U prozoru elementa označena sa GE_I , GE_D , GE_R ovisno o tipu varijable

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

3.13.1.4 CMP < naredba (naredba manje)

U prozoru elementa označena sa LT_I , LT_D , LT_R ovisno o tipu varijable

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

3.13.1.5 CMP < naredba (naredba manje ili jednako)

U prozoru elementa označena sa LE_I , LE_D , LE_R ovisno o tipu varijable

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.

Graf stanja izlaza Q2.0 u ovisnosti o temperaturi.

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

3.14 Aritmetičke naredbe

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).

Tablica aritmetičkih naredbi:

Tablica 25. Aritmetičkih naredbi

Aritmetička naredba Aritmetička operacija Aritmetička operacija Aritmetička


s varijablama tipa s varijablama tipa operacija s
INT DINT varijablama tipa
REAL
A + B – zbrajanje ADD_I ADD_DI ADD_R
( addition )
A - B – oduzimanje SUB_I SUB_DI SUB_R
( substraction )
A * B – množenje MUL_I MUL_DI MUL_R
(multiplication)
A / B – dijeljenje sa DIV_I DIV_DI DIV_R
kvocijentom kao
rezultatom
( division with
quotient as result )
A / B – dijeljenje sa - MOD_DI -
ostatkom kao
rezultatom
( division with
remainder as result )

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 :

Element (LAD) naredbe zbrajanja dviju cjelobrojnih varijabli.

________________________________________________________________________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 ponašanja izlaza ENO u ovisnosti o ulazu EN ili u slučaju greške :

Tablica 26. Ponašanje izlaza ENO u ovisnosti o ulazu EN ili u slučaju greške

Ako EN==“1“ ili nije


spojeno.
ONDA INAČE
OUT:= IN1 Cfct IN2
Ako se dogodi greška
DA NE
ENO:=“0“
ENO:=“0“ ENO:=“1“

Cfct – kao oznaka za bilo koju od aritmetičkih naredbi

Lista pogrešaka koji se mogu dogoditi tijekom izvršavanja aritmetičke operacije:

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.

Elementi za izvršavanje aritmetičkih operacija se mogu spajati serijski i paralelno,s


kontaktima ispred njih ili direktno na lijevu stranu kruga. Ukoliko ih spajamo serijski tako da
ENO izlaz prvog vodi na EN ulaz drugog,drugi će se izvršavati ako je prethodni uspješno
izvršio zadanu operaciju.

Računanje sa varijablama tipa INT,DINT i REAL:

1. Zbrajanje dviju varijabli:


Naredba ADD_ vrši aritmetičku operaciju zbrajanja dviju varijabli te rezultat,odnosno
sumu sprema u izlaz OUT. Nakon izvršenja kalkulacije bitovi stanja CC0 i CC1
indiciraju da li je suma negativna,pozitivna ili nula.Bitovi OV i OS indiciraju da li je
došlo do prekoračenja raspona.

________________________________________________________________________217
SIMATIC S7 Programirljivi logički kontroleri

2. Oduzimanje dviju varijabli:


Naredba SUB_ vrši aritmetičku operaciju oduzimanja dviju varijabli te
rezultat,sprema u izlaz OUT. Nakon izvršenja kalkulacije bitovi stanja CC0 i CC1
indiciraju da li je rezultat negativan,pozitivan ili nula.Bitovi OV i OS indiciraju da li je
došlo do prekoračenja raspona.

3. Množenje dviju varijabli:


Naredba SUB_ vrši aritmetičku operaciju množenja dviju varijabli te rezultat, sprema
u izlaz OUT. Nakon izvršenja kalkulacije bitovi stanja CC0 i CC1 indiciraju da li je
rezultat negativan,pozitivan ili nula.Bitovi OV i OS indiciraju da li je došlo do
prekoračenja raspona.

4. Dijeljenje dviju varijabli:


Naredba DIV_ vrši aritmetičku operaciju dijeljenja dviju varijabli te rezultat, sprema
u izlaz OUT. Nakon izvršenja kalkulacije bitovi stanja CC0 i CC1 indiciraju da li je
rezultat negativan,pozitivan ili nula.Bitovi OV i OS indiciraju da li je došlo do
prekoračenja raspona.Dijeljenje s nulom kod INT varijable daje za rezultat nulu ali
logički kontinuitet nije ostvaren,dok kod varijabli tipa real dijeljenje sa nulom daje
grešku kao rezultat.

5. Dijeljenje dviju varijabli sa ostatkom kao rezultatatom dijeljenja .


NAPOMENA: Naredba MOD_DI je provediva isključivo za varijable tipa DINT.
Naredba DIV_ vrši aritmetičku operaciju dijeljenja dviju varijabli te rezultat,ostatak
dijeljenja, sprema u izlaz OUT. Nakon izvršenja kalkulacije bitovi stanja CC0 i CC1
indiciraju da li je rezultat negativan,pozitivan ili nula.Bitovi OV i OS indiciraju da li je
došlo do prekoračenja raspona.

3.14.1 Rad sa aritmetičkim naredbama

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:

2.Naredba koja je odabrana će se pojaviti na logičkom krugu kao na slici,izlaznu naredbu je


potrebno dodati na isti način:

________________________________________________________________________218
SIMATIC S7 Programirljivi logički kontroleri

U ovom slučaju se odabre naredba zbrajanja dvije varijable tipa INT

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.

3.14.1.1 SUB_ naredba oduzimanja

U prozoru elementa označena sa SUB_I , SUB_D , SUB_R ovisno o tipu varijable.

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.

3.14.1.2 MUL_ naredba množenja

U prozoru elementa označena sa MUL_I , MUL_D , MUL_R ovisno o tipu varijable.

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.

3.14.1.3 DIV_ naredba dijeljenja

U prozoru elementa označena sa DIV_I , DIV_D , DIV_R ovisno o tipu varijable.

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

3.15 Naredbe pomaka

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:

Tablica 27. Naredbe pomaka

Naredbe pomaka Varijabla veličine riječi Varijabla veličine dvotruke riječi


(WORD VARIABLE) (DOUBLE WORD VARIABLE)
Pomak u lijevo SHL_W SHL_DW
Pomak u desno SHR_W SHR_DW
Pomak s predznakom SHR_I SHR_DI
Rotacija u lijevo - ROL_DW
Rotacija u desno - ROR_DW
Primjer.

Ako se žele pomicati bitovi u lijevo mora se upotrijebiti slijedeći element :

Element (LAD) naredbe pomicanja bitova u lijevo.

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.

Tablica ponašanja izlaza ENO u ovisnosti o ulazu EN.

________________________________________________________________________222
SIMATIC S7 Programirljivi logički kontroleri

Tablica 28. Ponašanje izlaza ENO u ovisnosti o ulazu EN

Ako EN == “1“ ili nije


spojeno.
ONDA INAČE
OUT:= Sfct (IN,N)
ENO:=“1“ ENO:=“0“

Sfct – kao oznaka za bilo koju od naredbi pomaka

Opis pojedinih naredbi pomaka.

1. Naredba pomaka varijable dužine riječi (WORD) u lijevo.Naredba pomaka SHL_W


pomiče sadržaj varijable dovedene na ulaz IN bit po bit u lijevo za broj pomaka koji je
specificiran u ulazu N. Slobodna mjesta s desne 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.

2. Naredba pomaka varijable dužine dvostruke riječi (DOUBLEWORD) u lijevo. Naredba


pomaka SHL_DW pomiče sadržaj varijable dovedene na ulaz IN bit po bit u lijevo za
broj pomaka koji je specificiran u ulazu N. Slobodna mjesta s desne strane registra
popunjavaju se nulama. U izlaz (OUT) se pohranjuje varijabla(rezultat) dužine
dvostruke 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 s nulama.

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.

4. Naredba pomaka varijable dužine dvostruke riječi (DOUBLEWORD) u desno. Naredba


pomaka SHR_DW 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
dvostruke 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 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.

3.15.1 Rad sa naredbama pomaka

3.15.1.1 SHL_W / SHL_DW naredba pomaka riječi/dvostruke riječi u lijevo.

Postavite naredbu na logički krug da sve bude kao na slici.

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.

Pomak riječi u lijevo (Riječ / Dvostruka riječ)

Varijable koje se istiskuju


iz registra

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

Varijable koje ulaze u


registar su nule

________________________________________________________________________224
SIMATIC S7 Programirljivi logički kontroleri

3.15.1.2 SHR_W / SHR_DW naredba pomaka riječi/dvostruke riječi u desno.

Postavite naredbu na logički krug da sve bude kao na slici.

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č)

Varijable koje se istiskuju


iz registra

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“.

Pomak riječi u desno (Riječ / Dvostruka riječ) sa


predznakom
Varijable koje se istiskuju
Bit predznaka iz registra

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“.

Pomak riječi u desno (Riječ / Dvostruka riječ) sa


predznakom
Varijable koje se istiskuju
Bit predznaka iz registra

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

3.15.1.4 ROL_DW naredba rotacije varijable dužine dvostruke riječi u lijevo.


Potrebno je postaviti naredbu na logički krug tako da sve bude kao na slici.

________________________________________________________________________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).

Rotacija dvostruke riječi u lijevo


Varijable koje se istiskuju
iz registra

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

3.15.1.5 ROR_DW naredba rotacije varijable dužine dvostruke riječi u lijevo.

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

3.16 Naredbe pretvorbe

Sa operacijama pretvorbe pretvaramo podatke tipa varijable. Blokovi operacija pretvorbe


se nalaze u prozoru programskih elemenata.

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.

3.16.1.1 Pretvorba INT i DINT brojeva

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).

Tablica 29. Pretvorba INT i DINT brojeva

Pretvorba tipa podatka Blok Tip podatka za parametre


IN OUT
INT u DINT I_DI INT DINT
INT u BCD I_BCD INT WORD
DINT u BCD DI_BCD DINT DWORD
DINT u REAL DI_R DINT REAL

________________________________________________________________________228
SIMATIC S7 Programirljivi logički kontroleri

3.16.1.2 Pretvorba iz INT u DINT

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

Predznak (+) INT: 20000

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

Stanje bita 15 - predznak DINT: 20000

Slika 200. Primjer pretvorbe iz INT u DINT

3.16.1.3 Pretvorba iz INT u BCD

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

Predznak (+) INT: 987

OUT: MW12
0 0 0 0 1 0 0 1 1 0 0 0 0 1 1 1

Predznak (+) 9 8 7

BCD: +987 (u INT: 2439)

Slika 201. Primjer pretvorbe INT u BCD

3.16.1.4 Pretvorba iz DINT u BCD

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.

Vrijednost sa ulaza IN (npr. 9876543) pretvara se u sedmeroznamenksti BCD broj koji se


šalje u sedam desno poravnatih dekada izlazne riječi dok se predznak šalje u bitove 28 do 31
izlazne riječi.

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

Predznak (+) DINT: 9876543

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

BCD: +9876543 (u INT: 159868227)

Slika 202. Primjer pretvorbe DINT u BCD

________________________________________________________________________230
SIMATIC S7 Programirljivi logički kontroleri

3.16.1.5 Pretvorba iz DINT u REAL

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).

3.16.1.6 Pretvorba BCD brojeva

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).

Tablica 30. Pretvorba BCD brojeva

Pretvorba tipa podatka Blok Tip podatka za parametre


IN OUT
BCD u INT BCD_I WORD INT
BCD u DINT BCD_DI DWORD DINT

▪ Pretvorba iz BCD u 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

BCD: +987 (u INT: 2439)


OUT: MW12
0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1

Predznak (+) INT: 987

Slika 203. Primjer pretvorbe BCD u INT

3.16.1.7 Pretvorba iz BCD u DINT

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

BCD: +9876543 (u INT: 159868227)

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

Predznak (+) DINT: 9876543

Slika 204. Primjer pretvorbe BCD u DINT

________________________________________________________________________232
SIMATIC S7 Programirljivi logički kontroleri

3.16.1.8 Pretvorba REAL brojeva

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.

Tablica 31. Pretvorba REAL brojeva

Pretvorba tipa podatka sa Blok Tip podatka za parametre


zaokruživanjem IN OUT
U sljedeći veći cijeli broj CEIL REAL DINT

U sljedeći manji cijeli broj FLOOR REAL DINT

U sljedeći cijeli broj ROUND REAL DINT

Bez zaokruživanja TRUNC REAL DINT

▪ Zaokruživanje u sljedeći veći cijeli broj

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).

3.16.1.9 Zaokruživanje u sljedeći manji cijeli broj

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).

3.16.1.10 Zaokruživanje u sljedeći cijeli broj

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

od područja dopuštenoga za brojeve u DINT formatu, ili se ne podudara sa brojem u REAL


format, operacija ROUND setira bitove statusa OV i OS te se pretvorba ne izvršava.
Vrijednost sa ulaza IN (npr. 78.5 u floating-point prikazu) naredba ROUND zaokružuje u
cijeli broj na izlazu OUT (78 u dec prikazu). A ako upišemo 78.51, naredba zaokružuje taj broj
u sljedeći veći tj. 79.

3.16.1.11 Bez zaokruživanja

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).

3.16.1.12 Kratak pregled pretvorbe iz REAL u DINT

Tablica ispod prikazuje razlike kod funkcija pretvorbe iz REAL u DINT. Za primjer je
uzeto područje od –100 do 100.

Tablica 32. Pregled pretvorbe iz REAL u DINT

REAL DW#16# ROUND CEIL FLOOR TRUNC


100 42C80000 100 100 100 100
50.6 424A6666 51 51 50 50
50.4 4249999A 50 51 50 50
1 3F800000 1 1 1 1
0 0 0 0 0 0
-50.4 C249999A -50 -50 -51 -50
-50.6 C24A6666 -51 -50 -51 -50
-100 C2C80000 -100 -100 -100 -100

________________________________________________________________________234
SIMATIC S7 Programirljivi logički kontroleri

3.17 Ostale funkcije pretvorbe

Ostale dostupne funkcije pretvorbe prikazane su sljedećom tablicom.

Tablica 33. Ostale funkcije pretvorbe

Pretvorba Blok Tip podataka za


parametre
IN OUT
Prvi komplement INT INV_I INT INT
Prvi komplement DINT INV_DI DINT DINT
Negacija INT broja NEG_I INT INT
Negacija DINT broja NEG_DI DINT DINT
Negacija REAL broja NEG_R REAL REAL

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).

3.17.1.1 Prvi komplement INT

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).

3.17.1.2 Prvi komplement DINT

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).

3.17.1.3 Negacija INT

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).

3.17.1.4 Negacija DINT

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).

3.17.1.5 Negacija REAL

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

Organizacijski blokovi (OB) su sučelja između operativnog sustava i korisničkog programa.


Glavni program se nalazi u organizacijskom bloku OB1 koji se izvršava ciklički. Ostali
organizacijski blokovi su dio korisničkog programa koji se pozivaju i obrađuju operativnim
sustavom kada se određeni događaj dogodi. Organizacijski blokovi su podijeljeni u klase
prioriteta koje određuju slijed izvođenja programa.
Brojevi organizacijskih blokova su fiksni i ne mogu se mijenjati. Korisnik sam može odrediti
prioritete unutar dopuštenih okvira određenog centralnog procesora (CPU).
Svaki centralni procesor nema mogućnost obrade svih događaja definiranih u STEP 7.
Sljedeća tablica pokazuje organizacijske blokove. Svaka procesorska jedinica, ovisno o
izvedbi, može izvršavati blokove grupe organizacijskih blokova koji su navedeni u sljedećoj
tablici:
Tablica 34. Pregled organizacijskih blokova

Organizacijski blokovi Objašnjenje Prioritet


Glavni program Poziva se operativnim sustavom ciklički i kontinuirano 1
OB 1
Time-of-Day prekidi Poziva se u određeno vrijeme ili u periodičkim 2
OB 10 – OB 17 intervalima
Time-delay prekidi Poziva se nakon zadanog vremena i kontroliran je 3 do 6
OB 20 – OB 23 korisničkim program
Ciklički prekidi Poziva se periodički u zadanim vremenskim 7 do 15
OB 30 – OB 38 intervalima
Sklopovski prekidi Poziva se nakon prekidnih signala sa ulazno/izlaznih 16 do 23
OB 40 – OB 47 modula
Asinkroni prekidi Poziva se zbog grešaka koje nisu vezane za obradu 26, 28
OB 80 – OB 88 programa (npr. neispravan nivo napona, puknut vod)
Startup prekidi Poziva se tijekom samog pokretanja PLC-a 27
OB 100 – OB 102
Sinkroni prekidi Poziva se zbog grešaka koje su povezane sa obradom Isti kao
OB 121, OB 122 programa (npr. neispravan način adresiranja) od
okidnog
OB-a

4.1.1 Korisnički program


Korisnički program je organiziran u cjeline koje senazivaju organizacijski blokovi. Po načinu
na koji se korisnički program izvodi organiziran je po sljedećim cjelinama:
• startup rutine
• glavni program
• prekidne rutine
• rutine za obradu grešaka

________________________________________________________________________237
SIMATIC S7 Programirljivi logički kontroleri

Korisnički Start-up rutine


program OB 100 – OB 102

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

Slika 205. Korisnički program

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

Osvježavanje Glavni program


procesne slike OB1

Prekidne servisne
Prekid Prekid
rutine

Prekidne rutine
Greška Prekid
za obradu greške

Osvježavanje
procesne slike

Slika 206. Izvođenje korisničkog programa

________________________________________________________________________238
SIMATIC S7 Programirljivi logički kontroleri

4.1.1.1 Startup rutine

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.

4.1.1.2 Glavni program

Rutine glavnog programa se nalaze spremljene u OB 1. Operativni sustav poziva izvršavanje


OB 1 nakon što su izvršene startup rutine i nakon što je generirana procesna slika. Glavni
program se izvršava periodički (vrijeme učestalosti ponavljanja glavnog programa se može
definirati). Svaki puta nakon što se izvrši glavni program operativni sustav izvršava razne
sistemske funkcije kao što su osvježavanje procesne slike i nakon toga ponovo zove
izvršavanje OB 1.

Slika 207. Cikličko izvršavanje programa

4.1.1.3 Prekidne rutine

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

Periodičko pozvani Događajima


OB-ovi uvjetovani OB-ovi

Time-of-Day prekidi Time-Delay prekidi Asinkroni prekidi


OB 10 – OB 17 OB 20 – OB 23 OB 80 – OB 87

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

Slika 208. Prekidne rutine

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.

4.1.1.4 Rutine greške

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

4.1.2 Prioritet izvođenja

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.

4.1.3 Start-up rutine

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.

SIMATIC S7 ima 3 vrste restarta:


• cold restart
• warm restart
• hot restart

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.

Cold restart (OB 102)

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.

Warm restart (OB 100)

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.

Hot restart (OB 101)

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

Hot restart Warm restart Cold restart

1 2

Isključivanje izlaznih Isključivanje izlaznih Isključivanje izlaznih


modula modula modula

Proslijeđivanje
Učitavanje Brisanje procesne Brisanje procesne
parametara
parametaramodulima
modula slike ulaza slike ulaza

OB 101 Brisanje procesne Brisanje procesne


Hot restart slike izlaza slike izlaza

OB 1 Brisanje perifernih Brisanje perifernih


Preostali ciklus izlaza izlaza

Izlazna procesna slika Brisanje zaostalih Brisanje svih


izlaza trenutnih podataka korisničkih podataka

Brisanje procesne Proslijeđivanje Proslijeđivanje


Učitavanje
slike izlaza; parametara modulima parametara
parametaramodulima
modula
Brisanje perifernih
izlaza
(može biti definirano OB 100 OB 102
parametrima) Warm restart Cold restart

Ažuriranje (update) Ažuriranje (update) Ažuriranje (update)


procesne slike ulaza procesne slike ulaza procesne 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

Slika 209. Start-up rutine

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.

Da bi se provjerilo da li program ispravno radi potrebno je u spremnik blokova Blocks


umetnuti organizacijske blokove (OB 1 i OB 100) i tablicu varijabli kojom ćemo pratiti tok
programa.

Slika 210. Umetanje blokova potrebnih za start-up prekid

U OB 100 unosi se program koji prebacuje sadržaj sa memorijske lokacije MW3 u


memorijsku lokaciju MW5.

Slika 211. Program u OB 100 za start-up prekid

Kada se program prebaci u PLC (odabirom u izborniku na PLC>Download) otvori se tablica


varijabli i gleda se kako funkcionira ovaj prekid. Znači, nakon prebacivanja PLC-a u RUN
mod vrijednost iz memorijske lokacije MW3 prebacuje se u memorijsku lokaciju MW5.
Time smo provjerili da prekid ispravno radi.

________________________________________________________________________243
SIMATIC S7 Programirljivi logički kontroleri

4.1.4 Prekidne servisne rutine

4.1.4.1 Time-of-Day prekidi


Time-of-Day prekidi se koriste kada se želi pokrenuti program u određeno vrijeme, samo
jednom ili periodički.
STEP 7 za ovu svrhu nudi organizacijske blokove OB 10 do OB 17. Koji od ovih
organizacijskih blokova su zapravo dostupni ovisi o CPU-u kojeg koristimo.
Time-of-day prekid može se izvršiti samo ako je podešeno točno stvarno vrijeme (real-time).

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.

4.1.4.2 Podešavanje Time-of-Day prekida aktiviranjem u karakteristikama CPU-a prilikom


konfiguracije sklopovlja

U karakteristikama CPU-a odabere se kartica Time-of-Day Interrupts.

Slika 212. Karakteristike CPU-a > Time-of-Day Interrupts

Na kartici Time-of-Day Interrupts moguće je podesiti parametre prekida, a to su:


1 Izvršavanje prekida (engl. Execution). Jednom ili periodički (svake minute, svakog
sata, svakog dana, svakog tjedna, svakog mjeseca i svake godine). Ako se koristi
prekid jednom (engl.Single-shot) nakon izvršavanja prekida on se otkazuje i ako ga se
želi ponovo aktivirati potrebno ga je ponovo podesiti.

________________________________________________________________________244
SIMATIC S7 Programirljivi logički kontroleri

2 Datum pokretanja prekida (engl.Start date). Format upisivanja datuma je sljedeći:


Mjesec/Datum/Godina.
3 Vrijeme izvršavanja prekida (engl. Time of day)
4 Potrebno je aktivirati prekid.

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.

Slika 213. Podešavanje Time-of-Day prekida u postavkama CPU-a

Da bi se provjerilo da li program ispravno radi potrebno je u spremnik blokova Blocks


umetnuti organizacijske blokove (OB 1 i OB 10) i tablicu varijabli kojom se prati tok
programa.

Slika 214. Umetanje blokova potrebnih za Time-of-Day prekid

________________________________________________________________________245
SIMATIC S7 Programirljivi logički kontroleri

(OB 10 nije potrebno pozvati u OB 1, zato jer se on automatski aktivira.)


U OB 10 unosi se program koji svaki put kad se pozove prekid premješta sadržaj iz
memorijske lokacije MW2 u memorijsku lokaciju MW4.

Slika 215. Program u OB 10 za Time-of-Day prekid

Kada se program prebaci u PLC (odabirom u izborniku na PLC>Download) otvori se tablica


varijabli i gleda se kako funkcionira ovaj prekid. Znači, prekid se aktivira 04.11.2009. u 10
sati i izvršava se svake minute. Svaki put kad se prekid pozove premješta se sadržaj iz
memorijske lokacije MW2 u memorijsku lokaciju MW4. Time smo provjerili da prekid
ispravno radi.

4.1.4.3 Podešavanje Time-of-Day prekida pozivanjem sistemskih funkcija

U karakteristikama CPU-a odabere se kartica Time-of-Day Interrupts. Ovdje je važno da


Time-of-Day prekid ne bude aktivan jer će se aktivirati pomoću sistemskih funkcija.

Slika 216. Time-of-Day prekid je neaktivan

Za rad s Time-of-Day prekidima na raspolaganju su sljedeće sistemske funkcije:

________________________________________________________________________246
SIMATIC S7 Programirljivi logički kontroleri

4.1.4.4 SFC 28 SET_TINT - Podešavanje Time-of-Day prekida

Sistemskom funkcijom SFC 28 SET_TINT (engl. Set time-of-day interrupt) podešava se


Time-of-Day prekid koji poziva odabrani OB.

Slika 217. Sistemska funkcija SFC 28

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.

Tablica 35. Parametri sistemske funkcije SFC 28


SFC Parametar Deklaracija Tip podatka Objašnjenje

28 OB_NR INPUT INT Broj OB-a koji će biti pozvan u određeno


vrijeme (jednom ili periodićki)

SDT INPUT DT Početni datum i vrijeme u formatu


DATE_AND_TIME

PERIOD INPUT WORD Period po kojem se izvršava početni datum i


vrijeme
W#16#0000 = jednom (engl. Single-shot)
W#16#0201 = svake minute
(engl. Every minute)
W#16#0401 = svakoga sata (engl. Hourly)
W#16#1001 = jednom dnevno (engl. Daily)
W#16#1201 = jednom tjedno (engl. Weekly)
W#16#1401 = jednom mjesečno
(engl. Monthly)
W#162001 = na kraju mjeseca
(engl. Last in the month)
W#16#1801 = jednom godišnje (engl.
Yearly)

RET-VAL OUTPUT INT Ako se dogodi greška dok je ova sistemska


funkcija aktivna, parametar RET_VAL
sadrži kod greške

________________________________________________________________________247
SIMATIC S7 Programirljivi logički kontroleri

Izlaz RET_VAL pokazuje kod greške.

Kod greške (W#16#...) Objašnjenje

0000 Greška se nije dogodila

8090 Neispravni parametri na ulazu OB_NR

8091 Neispravni parametri na ulazu SDT

8092 Neispravni parametri na ulazu PERIOD

80A1 Podešeno vrijeme pokretanja (start time) je u


prošlosti

Tablica 36. Kodovi mogućih grešaka za SFC 28

4.1.4.5 SFC30 ACT_TINT - Aktiviranje Time-of-Day prekida

Sistemskom funkcijom SFC 30 ACT_TINT (engl. Activate time-of-day interrupt) moguće je


aktivirati Time-of-Day prekid, ili ako je prethodno otkazan (SFC 29 CAN_TINT) opet ga
aktivirati.
Nakon aktivacije OB namijenjen ovom prekidu se izvršava.

Slika 218. Sistemska funkcija SFC 30

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

SFC Parametar Deklaracija Tip Objašnjenje


podatka

30 OB_NR INPUT INT Broj OB-a koji se aktivira.

RET_VAL OUTPUT INT Ako se dogodi greška dok je ova


sistemska funkcija aktivna, parametar
RET_VAL sadrži kod greške

________________________________________________________________________248
SIMATIC S7 Programirljivi logički kontroleri

Izlaz RET_VAL pokazuje kod greške.


Tablica 38. Kodovi mogućih grešaka za SFC 30

Kod greške (W#16#...) Objašnjenje

0000 Greška se nije dogodila

8090 Neispravni parametri na ulazu OB_NR

80A0 Start date / Time-of-day nije uneseno za odgovarajući


Time-of-Day prekid

80A1 Aktivirano početno vrijeme je u prošlosti

________________________________________________________________________249
SIMATIC S7 Programirljivi logički kontroleri

4.1.4.6 SFC 29 CAN_TINT - Otkazivanje Time-of-Day prekida

Sistemskom funkcijom SFC 29 CAN_TINT (engl. Cancel time-of-day interrupt) moguće je


otkazati Time-of-Day prekid koji je prethodno aktiviran.
U tom slučaju OB namijenjen ovom prekidu se ne izvršava.

Slika 219. Sistemska funkcija 29

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

SFC Parametar Deklaracija Tip Objašnjenje


podatka

29 OB_NR INPUT INT Broj OB-a čije se vrijeme pokretanja


otkazuje

RET_VAL OUTPUT INT Ako se dogodi greška dok je ova


sistemska funkcija aktivna, parametar
RET_VAL sadrži kod greške

Izlaz RET_VAL pokazuje kod greške.


Tablica 40. Kodovi mogućih grešaka za SFC 29

Kod greške (W#16#...) Objašnjenje

0000 Greška se nije dogodila

8090 Neispravni parametri na ulazu OB_NR

80A0 Start date / Time-of-day nije uneseno za odgovarajući


Time-of-Day prekid

________________________________________________________________________250
SIMATIC S7 Programirljivi logički kontroleri

4.1.4.7 SFC 31 QRY_TINT - Provjera stanja Time-of-Day prekida

Sistemskom funkcijom SFC 31 QRY_TINT (engl. Query time-of-day interrupt) moguće je


provjeriti stanje Time-of-Day prekida.

Slika 220. Sistemska funkcija SFC 31

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.

Tablica 41. Parametri sistemske funkcije SFC 31

SFC Parametar Deklaracija Tip Objašnjenje


podatka

31 OB_NR INPUT INT Broj OB-a čiji se status provjerava

RET_VAL OUTPUT INT Ako se dogodi greška dok je ova


sistemska funkcija aktivna, parametar
RET_VAL sadrži kod greške

STATUS OUTPUT WORD Stanje Time-of-day prekida

Izlaz RET_VAL pokazuje kod greške.

Kod greške (W#16#...) Objašnjenje

0000 Greška se nije dogodila

8090 Neispravni parametri na ulazu OB_NR

Tablica 42 Kodovi mogućih grešaka za SFC 31

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

Bit Vrijednost Objašnjenje

0 0 Time-of-Day prekid je omogućen operacijskim sustavom

1 0 Novi Time-of-day prekid je primljen

2 0 Time-of-Day prekid nije aktiviran ili je vrijeme kašnjenja isteklo

3 - - Rezervirano -

4 0 Time-of-Day prekidni OB nije učitan u PLC

5 0 Izvršavanje Time-of-Day prekida nije onemogućeno aktivnom test


funkcijom (Monitor u tablici varijabli)

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.

Slika 222. Varijable DB-a

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

Slika 223. Program u OB 1 za Time-of-Day prekid pozvan sistemskim funkcijama

U OB 10 unosi se program koji svojom aktivacijom premješta odgovarajuće podatke.

Slika 224. Program u OB 10 za Time-of-Day prekid pozvan sistemskim funkcijama

Kada se program prebaci u PLC (odabirom u izborniku na PLC>Download) otvori se tablica


varijabli i gleda se kako funkcionira ovaj prekid. Znači, sa ulazom I0.0 se setira prekid, a sa
ulazom I0.1 prekid se aktivira. Postojeći prekid moguće je deaktivirati sa ulazom I0.2. Sadržaj
memorijske loakcije MW18 pokazuje stanje prekida. Kada se prekid pozove prebacuje se
sadržaj iz memorijske lokacije MW2 u memorijsku lokaciju MW4. Time se provjerilo dali
prekid ispravno radi.

________________________________________________________________________254
SIMATIC S7 Programirljivi logički kontroleri

4.1.5 Time-Delay prekidi


Time-Delay prekidi izvode se s definiranim kašnjenjem nakon što se određeni događaj
dogodi.
STEP 7 za ovu svrhu nudi organizacijske blokove OB 20 do OB 23. Koji od ovih
organizacijskih blokova su zapravo dostupni ovisi o CPU-u kojeg koristimo.
Time-delay prekide koristimo bez obzira na timere.

Parametri Time-Delay prekida podešavaju se u postavkama CPU-a prilikom konfiguracije


sklopovlja.
U karakteristikama CPU-a odabere se kartica Interrupts. Time-delay prekidi se podešavaju
pod opcijom Time-Delay Interrupts.

Slika 225. Karakteristike CPU-a > Interrupts > Time-Delay Interrupts

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

Prilikom rada s Time-Delay prekidima u sklopovskoj konfiguraciji je moguće podesiti samo


prioritet izvođenja OB-ova namijenjenim ovim prekidima. Kod S7-300 je moguće koristiti
samo OB20 s dodijeljenim prioritetom 3 kojeg nije moguće promijeniti. Kod S7-400 i CPU
318 je moguće koristiti i ostale prekidne OB-ove (OB 20 do 23) kojima je moguće promijeniti
prioritet izvođenja na vrijednosti između 2 i 24. Prekidni OB kojem dodijelite 0 nije odabran.
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.

Za rad s Time-Delay prekidima se koriste sistemske funkcije.


Za rad s Time-Delay prekidima na raspolaganju su sljedeće sistemske funkcije:

4.1.5.1 SFC32 SRT_DINT - Aktiviranje Time-delay prekida

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).

Slika 226. Sistemska funkcija 32

Time-delay prekid se aktivira jedino ako se na EN ulazu sistemske funkcije pojavi


kratkotrajno stanje logičke 1 (impuls).
Na ulazu OB_NR se odabire broj OB-a (20 do 23) koji će biti izvršen s vremenskim
kašnjenjem dok se ulaz DTIME koristi za postavljanje vremena kašnjena u rasponu od 1 do
60000 ms.
Vrijednost unešena na ulaz SIGN se prebacuje u 6 i 7 bajt start informacija OB-a koji je
pozvan nakon što istekne vrijeme kašnjenja.

________________________________________________________________________256
SIMATIC S7 Programirljivi logički kontroleri

Tablica 44. Parametri sistemske funkcije SFC 32

SFC Parametar Deklaracija Tip Objašnjenje


podatka

32 OB_NR INPUT INT Broj OB-a koji će biti pozvan nakon


što istekne zadano vrijeme kašnjenja
(OB20 do OB23)

DTIME INPUT TIME Vrijeme kašnjenja u rasponu od T#1ms


do T#60000ms (1 minuta)

SIGN INPUT WORD Podatak koja se pojavi u start


informacijama prekidnog OB-a u
trenutku kada je pozvan

RET_VAL OUTPUT INT Ako se dogodi greška dok je ova


sistemska funkcija aktivna, parametar
RET_VAL sadrži kod greške

Izlaz RET_VAL pokazuje kod greške.

Tablica 45. Kodovi mogućih grešaka za SFC 32

Kod greške (W#16#...) Objašnjenje

0000 Greška se nije dogodila

8090 Neispravni parametri na ulazu OB_NR

8091 Neispravni parametri na ulazu DTIME

________________________________________________________________________257
SIMATIC S7 Programirljivi logički kontroleri

4.1.5.2 SFC33 CAN_DINT - Otkazivanje Time-delay prekida


Sistemskom funkcijom SFC33 CAN_DINT (engl. Cancel time-delay interrupt) moguće je
otkazati time-delay prekid koji je prethodno aktiviran. U tom slučaju OB namijenjen ovom
prekidu se ne izvršava.

Slika 227. Sistemska funkcija 33

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

SFC Parametar Deklaracija Tip Objašnjenje


podatka

33 OB_NR INPUT INT Broj OB-a čije se izvršavanje otkazuje

RET_VAL OUTPUT INT Ako se dogodi greška dok je ova


sistemska funkcija aktivna, parametar
RET_VAL sadrži kod greške

Izlaz RET_VAL pokazuje kod greške.


Tablica 47. Kodovi mogućih grešaka za SFC 33

Kod greške (W#16#...) Objašnjenje

0000 Greška se nije dogodila

8090 Neispravni parametri na ulazu OB_NR

80A0 Time-delay prekid nije pokrenut

________________________________________________________________________258
SIMATIC S7 Programirljivi logički kontroleri

4.1.5.3 SFC 34 QRY_DINT - Provjera Time-delay prekida


Sistemskom funkcijom SFC34 QRY_DINT (engl. Query time-delay interrupt) moguće je
provjeriti stanje time-delay prekida.

Slika 228. Sistemska funkcija 34

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

SFC Parametar Deklaracija Tip Objašnjenje


podatka

34 OB_NR INPUT INT Broj OB-a čiji se status provjerava

RET_VAL OUTPUT INT Ako se dogodi greška dok je ova


sistemska funkcija aktivna, parametar
RET_VAL sadrži kod greške

STATUS OUTPUT WORD Stanje Time-delay prekida

Izlaz RET_VAL pokazuje kod greške.


Tablica 49. Kodovi mogućih grešaka za SFC 34

Kod greške (W#16#...) Objašnjenje

0000 Greška se nije dogodila

8090 Neispravni parametri na ulazu OB_NR

________________________________________________________________________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

Bit Vrijednost Objašnjenje

0 0 Time-delay prekid je omogućen operacijskim sustavom

1 0 Novi Time-delay prekid nije odbijen

2 0 Time-delay prekid nije aktiviran ili je vrijeme kašnjenja isteklo

3 - - Rezervirano -

4 0 Time-delay prekidni OB nije učitan u PLC

5 0 Izvršavanje Time-delay prekida nije onemogućeno aktivnom test


funkcijom (Monitor u tablici varijabli)

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.

Parametri Time-Delay prekida podešavaju se u postavkama CPU-a u hardware konfiguraciji.


Da bi se provjerilo da li program ispravno radi potrebno je u spremnik blokova Blocks
umetnuti organizacijske blokove (OB 1 i OB 20), sistemske funkcije (SFC32, SFC33,
SFC34), i tablicu varijabli kojom će se pratiti tok programa.

Slika 229. Umetanje blokova potrebnih za Time-Delay prekid

________________________________________________________________________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.

Slika 230. Program u OB1 za Time-Delay prekid

________________________________________________________________________261
SIMATIC S7 Programirljivi logički kontroleri

U OB 20 unosi se program koji svojom aktivacijom premješta odgovarajuće podatke.

Slika 231. Program u OB20 za Time-Delay prekid

Kada se program prebaci u PLC (odabirom u izborniku na PLC>Download) otvori se tablica


varijabli i gleda se kako funkcionira ovaj prekid. Znači, sa ulazom I0.0 nakon 5 sekundi
aktiviramo prekid. Postojeći prekid moguće je deaktivirati sa ulazom I0.1 i to u vremenu dok
ne istječe vremenski interval kojim je prekid aktiviran, tj. 5 sekundi. Stanje prekida se prati
sadržajem iz memorijske lokacije MW12.
Time se provjerilo da prekid ispravno radi.

4.1.6 Ciklički prekidi


Ciklički prekidi (engl. Watchdog Interrupts) su prekidi koji se izvode u točno određenim
vremenskim intervalima, tj. periodima i pokreću izvršenje cikličkog prekidnog
organizacijskog bloka.
Ciklički prekidi izvršavaju se neovisno o izvođenju glavnog programa u OB1.
STEP 7 za ovu svrhu nudi organizacijske blokove OB 30 do OB 38. Koji od ovih
organizacijskih blokova su zapravo dostupni ovisi o CPU-u kojeg koristimo.

Vremenski interval započinje kada se CPU mod promijeni iz STOP u RUN.

RUN OB35 OB35 OB35


0
Interval 0
Interval 0
Interval

OB1 OB1 O B1 OB1 OB1 OB1 OB1 O B1

Slika 232. Ciklički prekidi

Parametre cikličkog prekida moguće je podesiti u karakteristikama CPU-a prilikom


konfiguracije sklopovlja.

________________________________________________________________________262
SIMATIC S7 Programirljivi logički kontroleri

U opcijama CPU-a se odabere kartica Cyclic Interrupts.

Slika 233. Karakteristike CPU-a: Cyclic Interrupts

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

Fazni offset t(ms)

Slika 234. Ciklički prekidi – fazni offset

Prilikom podešavanja vremenskog intervala korisnik mora bit siguran da je odabrani


vremenski interval duži od vremena potrebnog za izvođenje prekidnog OB-a. Ako se prekidni
OB još uvijek izvodi u trenutku kada je ponovno pozvan, budući da je vremenski period
istekao, operativni sustav poziva OB80 (prekidni OB za obradu greške). Ako OB80 nije
programiran, CPU ide u STOP.

________________________________________________________________________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.

Slika 235. Unos vrijedosti vremenskog intervala cikličkog prekida

Da bi se provjerilo da li program ispravno radi potrebno je u spremnik blokova Blocks


umetnuti organizacijske blokove (OB 1 i OB 35) i tablicu varijabli kojom će se pratiti tok
programa.

Slika 236. Umetanje blokova potrebnih za ciklički prekid

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.

Slika 237. Program u OB 35 za ciklički prekid

________________________________________________________________________265
SIMATIC S7 Programirljivi logički kontroleri

Kada se program prebaci u PLC (odabirom u izborniku na PLC>Download) otvori se tablica


varijabli i gleda se kako funkcionira ovaj prekid. Znači, svakih 5 sekundi pokreće se prekid
koji zbraja vrijednosti iz memorijskih lokacija MW2 i MW4, a rezultat sprema u memorijsku
lokaciju MW6 što je vidljivo iz tablice varijebli. Time smo provjerili da prekid ispravno radi.

4.1.7 Sklopovski prekidi


Sklopovski prekidi (eng. Hardware Interrupts) se koriste za brzo reagiranje na događaje
(greške) u procesu kojim se upravlja, proslijeđivanje korisničkom programu i reagiranje
odgovarajućim postupkom, tj. pokretanjem prekidnog programa.
STEP 7 za ovu svrhu nudi organizacijske blokove OB 40 do OB 47. Koji od ovih
organizacijskih blokova su zapravo dostupni ovisi o CPU-u kojeg koristimo.

Parametre sklopovskog prekida moguće je podesiti u postavkama CPU-a prilikom


konfiguracije sklopovlja.
U opcijama CPU-a odaberemo karticu Interrupts. Sklopovski prekidi se podešavaju pod
opcijom Hardware Interrupts.

Slika 238. Karakteristike CPU-a > Interrupts > Hardware Interrupts

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

Parametri signalnih modula kojima se pokreće prekidni signal određuju se u konfiguraciji


sklopovlja modula.
Prema početnim postavkama, sklopovski prekidi su „onemogućeni“ (disabled). Pri definiranju
parametara modula treba „omogućiti“ (enable) generiranje sklopovskih prekida, i dodijeliti im
organizacijski blok.
Kada se pojavi sklopovski prekid, dodijeljeni organizacijski blok mora također postojati. U
protivnom, CPU upisuje grešku i poziva OB85 – organizacijski blok za asinkrone greške, ili
odlazi u STOP. Sklopovski prekidi su aktivirani samo kad je CPU u RUN modu, a oni koji se
pojave za vrijeme uključivanja (startup) su odbačeni.

4.1.7.1 Sklopovski prekid na digitalnom ulaznom modulu


Kod digitalnih ulaznih modula sklopovski prekid se podešava na kartici Inputs u postavkama
modula. Da bi se omogućilo sklopovski prekid selektira se opcija Hardware Interrupt u
polju Enable. Zatim se određuje okidanje, tj. Dali se želi da se prekid aktivira na rastući
(Rising) ili padajući (Falling) brid ulaznog signala.
Prekidni program u OB40 će se izvršiti kada se pojavi rastući ili padajući brid signala na
ulazu koji smo selektirali.

Slika 239. Karakteristike digitalnog ulaznog modula

________________________________________________________________________267
SIMATIC S7 Programirljivi logički kontroleri

Primjer sklopovskog prekida sa digitalnim ulazom.


Potrebno je izraditi program koji nakon uključenja ulaza I0.3 uključuje Q0.0 aktivacijom
na pozitivni brid signala sa ulaza 0 ili1.
Parametri sklopovskog prekida podešavaju se u postavkama CPU-a, tj. u hardware
konfiguraciji.
Parametri digitalnog ulaznog modula kojima se pokreće prekidni organizacijski blok određuju
se u konfiguraciji sklopovlja modula.

Slika 240. Aktivacija signala digitalnog ulaznog modula kojim se pokreće sklopovski prekid

Da bi se provjerilo da li program ispravno radi potrebno je u spremnik blokova Blocks


umetnuti organizacijske blokove (OB 1 i OB 40) i tablicu varijabli kojom ćemo pratiti tok
programa.

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.

Kada se program prebaci u PLC (odabirom u izborniku na PLC>Download) otvori se tablica


varijabli i gleda se kako funkcionira ovaj prekid. Znači, najprije je potrebno uključiti ulaz I0.3
na digitalnom ulazu čime je ispunjen uvjet za uključivanjem izlaza Q0.0. Nakon toga se
uključe I0.0 ili I0.1 što će omogućiti izvršavanje prekidnog programa u OB40 i samim time
uključiti izlaz Q0.0. Time se provjerilo da prekid ispravno radi.

4.1.7.2 Sklopovski prekid na analognom ulaznom modulu


Kod analognih ulaznih modula sklopovski prekid se podešava na kartici Inputs u postavkama
analognog modula. Da bi omogućili sklopovski prekid selektira se opcija Hardware
Interrupt When Limit Exceeded u polju Enable. Nakon toga u polju Trigger for
Hardware Interrupts odabire se gornja i donja granica razine signala.
Kada vrijednost na analognom ulazu prijeđe zadane granice izvršava se prekidni program u
OB40.

________________________________________________________________________269
SIMATIC S7 Programirljivi logički kontroleri

Slika 243. Karakteristike analognog ulaznog modula

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

Da bi se provjerilo da li program ispravno radi potrebno je u spremnik blokova Blocks


umetnuti organizacijske blokove (OB 1 i OB 40) i tablicu varijabli kojom ćemo pratiti tok
programa.

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.

Kada se program prebaci u PLC (odabirom u izborniku na PLC>Download) otvori se tablica


varijabli i gleda se kako funkcionira ovaj prekid. Znači, najprije se uključi ulaz I0.0 na
digitalnom ulazu čime je ispunjen uvjet za uključivanjem izlaza Q0.0.
Nakon toga na ulazu analognog modula napon se dovede van zadanih granica (manji od 4V ili
veći od 8V) što će izvršiti prekidni program u OB40 i samim time uključiti izlaz Q0.0.
Time se provjerilo da prekid ispravno radi.

________________________________________________________________________271
SIMATIC S7 Programirljivi logički kontroleri

4.1.8 Prekidne rutine za obradu greške

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.

4.1.8.1 Sinkrone greške


Sinkrone greške nastaju tijekom izvođenja korisničkog programa.
Ako se pojavi greška, a prekidni organizacijski blok za sinkrone greške ne postoji, CPU
odlazi u STOP način rada.
Postoje dvije vrste ovakvih grešaka:
• programska greška, poziva se OB 121
• greška pristupa, poziva se OB 122

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.

Vrsta greške OB Prioritet

Programska greška OB 121


Isti kao kod
OB-a prekinutog
kao posljedica
greške
Greška pristupa OB 122

Slika 247. Sinkrone greške

________________________________________________________________________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.

Slika 248. Programska greška

U organizacijskom bloku OB1 podatak MW2 se treba premjestiti u DB1.


Podatak MW2 je tipa WORD, a podatak DB1 je tipa TIME što znači da će programska greška
biti dijagnosticirana i da se poziva prekidni organizacijski blok (OB 121).
Ako ne postoji prekidni organizacijski blok (OB 121), PLC odlazi u STOP način rada.

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

4.1.8.2 Asinkrone greške (OB 80 – OB 87)

Asinkrone greške su kvarovi u funkcionalnosti PLC-a. Pojavljuju se asinkrono s obzirom na


izvođenje programa i ne mogu se pratiti u određenoj točki programa (npr. dijagnostički prekid
iz modula).

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

Vrsta greške Primjer OB Prioritet

Prekoračeno maksim vrijeme izvršavanja


Vremenska greška ciklusa
0B80 26

Nestanak napajanja Kvar backup baterije OB81


Prekid žice na ulazu u modul s dijagnostičkim
Dijagnostički prekid OB82
mogućnostima
Prekid kod umetanja/ Uklanjanje signalnog modula tjekom rada na
OB83
uklanjanja S7-400
CPU sklopovski kvar Neispravan nivo signala na MPI sučelju OB84
Greška pri izvođenju
Greška prilikom osvježavanja slike procesa OB85
programa
Kvar montažnog kvara Kvar na uređaju za proširenje ili na DP slave-u 0B86

Komunikacijski kvar Greška pri čitanju okvira poruke OB87 26/28

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

Slika 249. Konfiguracija dijagnostičkog prekida

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

Preljev ≥11.759 32767 ≥22.815 32767 ≥352.778 32767 ≥1000.1 32767


11.7589 32511 22.810 32511 352.767 32511 1000.00 10000
Prekoračenje . . . . . . . .
10.0004 27649 20.0005 27649 300.011 27649 850.1 8501
10.00 27648 20.000 27648 300.000 27648
850.0 8500
7.50 20736 16.000 20736 225.000 20736
Rated . .
. . . . . .
range . .
-7.5 -20736 . . . .
.-200.0 -2000
-10-00 -27648 4.000 0 0.000 0
-10.0004 -27649 3.9995 -1 -1 -200.0 -2001
Neg
Underrange . . . . . . .
vrijednos
-11-759 -32512 1-18852 -4864 -4864 -4864 -2430
-ti nisu
Underflow ≤-11.76 -32768 ≤-1-1845 -32768 moguće -32768 ≤-243.1 -32768

Slika 250. Prikaz analogne vrijednosti u različitim mjernim područjima

________________________________________________________________________275
SIMATIC S7 Programirljivi logički kontroleri

4.2 Funkcije (FC)


Funkcije se najčešće pozivaju iz organizacijskih blokova, iako postoji mogućnost
pozivanja funkcija i iz drugih blokova. Funkcije za svoj rad ne koriste podatkovne blokove
DB, nego koriste samo ulazno / izlazne varijable pomoću kojih se procesuiraju podaci, dakle
funkcije nemaju svoj vlastiti memorijski prostor.
Funkcije se koriste za izračunavanje nekih matematičkih jednadžbi, te za neka
jednostavnija upravljanja. Kada se napravi kod funkcije, te se pohrani, ta funkcija se može
pozivati po potrebi. Nije potrebno svaki put pisati kod iznova.
Postoje dvije vrste funkcija. To su funkcije bez formalnih parametara, te funkcije s
formalnim parametrima.
Glavna razlika između njih je to što funkcije bez formalnih parametara se mogu
iskoristiti samo u jednu svrhu. Obavlja određeni posao nad točno određenim adresama. Ne
može se upotrijebiti za obavljanje posla nad nekim drugim adresama.
Velika prednost funkcija bez formalnih parametara je to što njih možemo upotrijebiti
za obavljanje istog posla nad drugim skupom adresa. Kod bloka često je potrebno iskoristiti
na više mjesta unutar programa, s toga su funkcije bez formalnih parametara odlična
mogućnost jer bloku se lako pridodaju željene adrese nad kojima se želi da se taj posao obavi.
Programeri PLC - a koriste ovu mogućnost za stvaranje vlastitih biblioteka.

4.2.1 Funkcija bez formalnih parametara

Slika 251. Kod funkcije bez formalnih parametara.

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.

Slika 252. Poziv funkcije sa slike 251 u organizacijski blok OB 1.

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

Tablica 53. Pravila ponašanja parametara EN i EN0

Pravila kod izvršavanja funkcija vezana za EN i EN0


Ako je EN=0, blok se ne izvršava i ENO=0.
Ako je EN=1, blok se izvršava i ako se izvrši bez grešaka ENO=1.
Ako se za vrijeme izvršavanja pojavi greška, ili se ne izvršava ENO =0.

4.2.2 Funkcija s formalnim parametrima

Slika 253. Kod funkcije s formalnim parametrima


Prije pisanja koda za blok s pridruživim parametrima, potrebno je deklarirati formalne
parametre u tablici deklaracija tog bloka. Znak "#" automatski umeće editor. Taj znak označava
lokalnu varijablu deklariranu u tablici, nalazi se ispred svakog simbola deklariranog unutar tog
bloka. Kod funkcija s formalnim parametrima fizičke adrese se lako dodaju kasnije unutar
organizacijskog bloka, a kompletna logika može biti iskorištena više puta.

Slika 254. Poziv funkcije sa slike 253 u organizacijski blok OB 1


Na slici 254 je vidljiva iskoristivost funkcija s formalnim parametrima. Dakle prilikom izrade
bloka s formalnim parametrima smo izradili kompletnu logiku samoodržavanja, ali toj logici
nisu pridodane nikakve fizičke adrese upravo iz tog razloga što u organizacijskom bloku se to
može učiniti, te upotrijebiti adrese koje su nam potrebne u tom dijelu programa. Kasnije kada
ponovno imamo potrebu da iskoristimo tu funkciju upišemo fizičke adrese po potrebi.

Funkcijski blokovi su posebna vrsta funkcija, njima se može pridijeliti privatni


memorijski prostor odnosno pridruženi (eng. Instance) podatkovni blok. Tom
memorijskom prostoru mogu pristupiti samo instrukcije navedenog bloka. U taj
memorijski prostor spremaju se varijable koje je potrebno pamtiti iz poziva u poziv bloka.
Neki rezultati se mogu sakriti od ostatka koda, te spremati u podatkovni blok pridružen
kodu.
Pri pozivu funkcijskog bloka potrebno je specificiranje i njemu pridruženog
podatkovnog bloka (DB). Prilikom izrade funkcijskog bloka (FB) pridruženi podatkovni
blok se generira automatski.
Pridruženi podatkovni blok se koristi za pohranjivanje statičkih varijabli. Nakon
izlaska iz funkcijskog bloka (FB) podaci unutar pridruženog podatkovnog bloka ostaju
sačuvani.

________________________________________________________________________277
SIMATIC S7 Programirljivi logički kontroleri

Kada se generira DB i pridruži FB-u, STEP7 kreira podatkovnu strukturu bloka


podataka koristeći strukturu navedenu u lokalnoj tablici deklaracija pridruženog FB-a.
Nakon snimanja DB -a, kreira se podatkovni blok i može se koristiti kao pridruženi DB
(eng. Instance DB).

2 načina generiranja novo pridruženog podatkovnog bloka


Kod pozivanja FB, potrebno je specificirati s kojim pridruženim podatkovnim blokom
FB radi.
Nakon kreiranja DB, odabir opcije "Data block referencing a function block".
Tablica 54. Načini generiranja pridruženog podatkovnog bloka

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.

Slika 255. Deklaracijska tablica funkcijskog bloka

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.

Slika 256. Pozivanje funkcijskog bloka u operacijski blok OB 1.


Na slici 256 je prikazan izgled funkcijskog bloka prilikom umetanja u glavni organizacijski blok.
Kao I kod funkcija potrebno je dodijeliti fizičke adrese. Razlika je u tome što se gore nalaze
crveni upitnici umjesto kojih se mora upisati naziv pridruženog podatkovnog bloka koji se želi
generirati.

________________________________________________________________________278
SIMATIC S7 Programirljivi logički kontroleri

Slika 257. Generiranje pridruženog bloka


Nakon potvrde generiranja. Nastao je novi podatkovni blok koji je pridružen isključivo funkciji
unutar koje je obavljena deklaracija istoga.
Memorija je ključ za razumijevanje razlike između funkcija i funkcijskih blokova. Potreba za
korištenje jednog ovisno drugog ovisi o tome trebamo li zadržati određene rezultate u
memoriji ,ili nam ta opcija nije potrebna.
Programeri koji shvaćaju snagu upotrebe funkcija i funkcijskih blokova imaju veliku prednost u
programiranju PLC-a.

________________________________________________________________________279
SIMATIC S7 Programirljivi logički kontroleri

4.3 Podatkovni blokovi

Podatkovni blokovi (engl. Data Blocks) se koriste za spremanje podataka iz logičkih


blokova (FC, FB ili OB) korisničkog programa. Podaci se također mogu spremati u bit
memoriju ali korištenje podatkovnih blokova vam omogućava spremanje veće količine
podataka koje možete strukturirati na različite načine tako da odgovaraju vašim potrebama. Kao
i logički blokovi tako i podatkovni blokovi zauzimaju prostor u korisničkoj memoriji. Za razliku
od logičkih blokova podatkovni blokovi ne sadrže STEP 7 instrukcije nego samo varijable
unesene u deklaracijski dio bloka. Podatkovni blokovi sadrže promjenjive podatke (npr.
brojčane vrijednosti) koji se koriste u korisničkom programu. Korisnički program može
pristupiti podacima u podatkovnim bloku s naredbama koje rade s bitovima, bajtovima, riječima
ili dvostrukim riječima. Podaci spremljeni u podatkovne blokove ostaju sačuvani i kada se ovi
blokvi ne izvršavaju.

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

Slika 258. Korištenje podatkovnih blokova

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

Slika 259. Deklaracijska tablica zajedničkog podatkovnog bloka

4.3.1 Adresiranje podatkovnih elemenata

Svaki podatkovni blok se sastoji od podatkovnih elemenata (varijabli) čije se adresiranje


vrši bajt po bajt, kao što se radi kod bit memorija. U ladder dijagramu je iz podatkovnog bloka
moguće učitavati i prebacivati podatkovne bajtove, riječi ili dvostruke riječi. Prilikom
adresiranja prvo je potrebno navesti podatkovni blok u kojem se nalaze podaci a nakon toga
podatkovni element kojem se želi pristupiti. Kada se adresira npr. podatkovna riječ, kod
operacija se koristi adresa prvog bajta (npr. DBW0). Tada se učitaju dva bajta od ove adrese.
Kod dvostruke riječi se učitavaju 4 bajta od adrese bajta koja je navedena (Slika 260.).

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

Slika 260. Adresiranje podatkovnih elemenata

________________________________________________________________________281
SIMATIC S7 Programirljivi logički kontroleri

U tablici su objašnjeni primjeri adresiranja nekoliko podatkovnih elemanata.

Tablica 55. Primjeri adresiranja podatkovnih elemenata u DB10

DB10.DBX4.1 Podatkovni bit 4.1 u podatkovnom bloku DB10


DB10.DBB0 Podatkovni bajt 0 u podatkovnom bloku DB10
DB10.DBW0 Podatkovna riječ 0 u podatkovnom bloku DB10
DB10.DBD0 Podatkovna dvostruka riječ 0 u podatkovnom bloku DB10

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.

4.3.2 Pristup podatkovnim elementima

Prilikom pristupa podatkovnim elementima u DB-u moguće je korisiti dva različita pristupa

- djelomični pristup (engl. Partial addresing)


- potpuni pristup (engl. Full addresing) koji može biti apsolutni i simbolički

Djelomični pristup Potpuni pristup


DB10
(Simboličko ime: Motor) Apsolutni Simbolički
Bajt 0 1) DB10
1 OPN
I0.0 DB10.DBX0.0 Pokreni Motor.Start
2 I0.0 DBX0.0 ...ili... ...ili...
3
4
5
6 DB10
7 OPN
8 MOVE MOVE
MOVE ...ili... EN ENO ...ili... EN ENO
9
EN ENO DB10.DBW6 IN OUT MW2 Motor.Brzina IN OUT MW2
10 DBW6 IN OUT MW2
: : : : : : : : :

1) Podatkovni bit 0.0 s nazivom elementa Start

Slika 261. Načini pristupa podatkovnim elementima u podatkovnom bloku

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:

1. Podatkovnom bloku je dodijeljeno simboličko ime u tablici simbola.

________________________________________________________________________282
SIMATIC S7 Programirljivi logički kontroleri

2. Pojedinim su podatkovnim elementima iz podatkovnog bloka u programskom editoru


dodijeljena simbolička imena.

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.

4.3.3 Strukture u dijeljenim podatkovnim blokovima

Slika 262. Izgled strukture unutar podatkovnog bloka DB


Gornja slika prikazuje primjer strukture pod nazivom "motor1". Struktura je sastavljena od
nekoliko elemenata različitih podatkovnih tipova (INT, REAL, BOOL). Pojedinačni elementi
strukture mogu biti elementarni ili kompleksni podatkovni tipovi.
Prilikom pristupa pojedinačnim elementima strukture koristi se i ime strukture. Na taj
je način poboljšana čitljivost programa, te je programerima od velike koristi.
Da bi se elementima moglo pristupiti simbolički, podatkovnom se bloku mora pridodati
simboličko ime, npr. “motor" kao u našem primjeru.

Tablica 56. Pristup pojedinačnim elementima strukture

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

4.3.4 Primjer upotrebe podatkovnog bloka


Upotreba podatkovnog bloka će biti objašnjena na jednostavnom primjeru samoodržavanja
poznatom svima koji upotrebljavaju ladder logiku. Prvo je potrebno kreirati podatkovni blok
DB, te dodijeliti ime svakoj memorijskoj lokaciji i odrediti tip memorijske lokacije.

Slika 263. Okvir podatkovnog bloka s unesenim podacima

Nakon kreiranja bloka potrebno je te memorijske lokacije pozvati unutar glavnog


organizacijskog bloka. Pozivanje se vrši jednostavnim klikom na mjesto za upisivanje adrese
nekog simbola ladder logike, otvori se padajući izbornik iz kojeg izaberemo potrebnu
memorijsku lokaciju iz podatkovnog bloka. Možemo naravno i izravno upisati memorijsku
lokaciju ako je poznajemo.

Slika 264. Organizacijski blok OB 1 u kojem su upotrjebljene memorijske lokacije podatkovnog bloka

Da bi bilo vidljivo simboličko adresiranje podatkovnog bloka potrebno mu je dodijeliti ime. U


ovom slučaju ime bloka je “samoodrzavanje“. Sve memorijske lokacije iz podatkovnog bloka
simbolički se označuju sa (“ime podatkovnog bloka“.simboličko ime). U primjeru na slici 264.
u mrežama (eng. Network) 2, 3 i 4 se fizičkim adresama dodijelila njihova memorijska lokacija.
U mreži 1 koja nam je glavni dio programa nalaze se isključivo memorijske lokacije. Kao što se
može vidjeti memorijska lokacija DB 1.DBX0.2 koja predstavlja izlaz koji upravlja motorom se
pojavljuje 2 puta. Takve se lokacije u većim programima mogu ponavljati stotine puta. Recimo

________________________________________________________________________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

4.3.5 Vježbe - Rad s podatkovnim blokovima

Sada će se na vrlo jednostavnom primjeru pokazati kako se radi s podatkovnim blokovima.

4.3.5.1 Izrada podatkovnog bloka

Da bi se izradio novi podatkovni blok i u njemu unijeli podatkovni elementi odnosno


varijable potrebno je napraviti sljedeće:

1. Prvo je u spremnik Blocks potrebno ubaciti novi podatkovni blok. Da bi se to napravilo


u SIMATIC Manager-u odaberite spremnik Blocks te desnim klikom miša aktivirajte
izbornik opcija i odaberite Insert New Object>Data Block ili jednostavno odaberite
opciju izbornika Insert>S7 Block> Data Block. Pred vama se tada otvori prozor s
odabranom karticom General-Part.

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

3. Dvaput kliknite na DB1 da bi u programskom editoru otvorili prethodno kreirani


podatkovni blok.

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.

Svaki podatkovni blok je moguće koristiti u dva različita prikaza:


- Deklaracijski prikaz (odabire se opcijom izbornika View> Declaration View) u kojem
se deklariraju varijable i struktura podatkovnog bloka.
- Podatkovni prikaz (odabire se opcijom izbornika View> Data View) koji prikazuje
tablicu izrađenu u deklaracijskom prikazu sa stvarnim vrijednostima varijabli u
programu.

4. Sada će se za primjer unijeti nekoliko podatkovnih elemenata u podatkovni blok.


Trenutno je unesena samo predefinirana varijabla DB_VAR koja zauzima dva bajta u

________________________________________________________________________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.

Pritiskom na tipku TAB se prebaci na sljedeći stupac.

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.

6. Početnu vrijednost u stupcu Initial value ostavi se na vrijednosti 0. Promjene će biti


prihvaćene pritiskom na tipku TAB.

Na ovaj način je odabrana varijabla Ukupno_proizvoda podatkovnog tip INT. Ovaj


podatkovni element zauzima 2 bajta u podatkovnom bloku počevši od bajta 0 te stoga ima
apsolutnu adresu DB1.DBW0.

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.

8. U tablicu je potrebno unesiti podatkovne elemente kao što je prikazano na sljedećoj


slici.

________________________________________________________________________288
SIMATIC S7 Programirljivi logički kontroleri

9. Klikom na ikonu Save na alatnoj traci će se spremiti promjene napravljene u podatkovnom


bloku.
Ikona Save

4.3.5.2 Izrada programa u OB1

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:

8. Otvorite tablicu simbola dvostrukim klikom na ikonu Symbols unutar odabranog


spremnika Blocks u prozoru vašeg projekta. Podatkovnom bloku DB1 pridjelite
simboličko ime Podaci.

9. Potrebno je kliknuti na ikonu Save na alatnoj traci da bi se spremile promjene a zatim


na u gornjem desnom kutu prozora da bi se zatvorila tablica simbola.
Ikona Save

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.

Odabir naredbe MOVE

________________________________________________________________________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.

2. Odaberiom opcije izbornika View>Display with>Symbolic Representation ili


jednostavno klikom na ikonu Symbolic Representation(on/off) na alatnoj traci se
uključili simboličko adresiranje.
Ikona Symbolic Representation(on/off)

Može se primjetiti da se apsolutna adresa promijenila u simbol Podaci.Ukupno_proizvoda.


Podaci o ukupnom broju proizvoda iz nekog proizvodnog procesa pohranjeni u memorijskoj
riječi MW10 se na ovaj način premještaju u varijablu s nazivom Podaci.Ukupno_proizvoda u
podatkovnom bloku Podaci.

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

Koristeći naredbu za oduzimanje cjelobrojnih varijabli i prethodno spremljene podatke


izračunava se broj ispravnih proizvoda koji se sprema u varijablu Ispravni_proizvodi u
podatkovnom bloku Podaci.

5. Klikne se na ikonu Save na alatnoj traci da bi se spremio program.


Ikona Save

4.3.5.3 Testiranje programa

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

Na ovaj način podaci ostaju spremljeni u podatkovnom bloku.

4.3.6 Strukture

Struktura (engl. Struct) se može sastojati od nekoliko elemenata različitih podatkovnih


tipova. Svaki od pojedinih elemenata strukture može biti elementarni ili kompleksni podatkovni
tip. Kod pristupa pojedinim elementima strukture koristi se i ime strukture, što poboljšava bolju
čitljivost programa. Za bolje razumjevanje dan je sljedeći primjer:

1. U projekt se ubaci novi podatkovni blok. Da bi se elementima moglo pristupiti


simbolički, podatkovnom bloku je potrebno pridjeliti simboličko ime. Za primjer ovom
bloku u tablici simbola dodijeli se simboličko ime Podaci_motora.

2. Otvori se podatkovni u programskom editoru i kreira struktura Motor_1. Ključno ime


za strukturu je STRUCT dok se kraj strukture označava s END STRUCT. U prvi redak
unese se ime Motor_1 i odabere tip podatka STRUCT. Za ovaj tip podatka ne odabire
se početna vrijednost.

Novi red se ubacuje pritiskom na tipku Enter.

3. Varijabli u novom retku se dodijeli ime Broj_okretaja te joj se dodijeli tip podatka INT
s početnom vrijednošću 0.

Ova varijabla se tada prikaže uvučeno kao da je uključena u strukturu Motor_1

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.

6. Elementi strukture se unesu kao što je prikzano na sljedećoj slici.

7. Klikne se na ikonu Save na alatnoj traci da bi se spremile promjene napravljene u


podatkovnom bloku.
Ikona Save

4.3.6.1 Pristup elementima strukture u OB1

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.

Ako se odabere Podaci_motora.Motor_2.Struja_pokretanja pristupa se elementu strukture


Struja_pokretanja koja se nalazi unutar strukture Motor_2 u podatkovnom bloku
Podaci_motora.

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

8. U projekt se ubaci novi podatkovni blok. Da bi se elementima moglo pristupiti


simbolički, podatkovnom bloku je potrebno pridjeliti simboličko ime. Za primjer ovom
bloku u tablici simbola dodijeli se simboličko ime Mjereni_podaci.

9. U programskom editoru za primjer se kreira polje Mjerna_tocka sastavljeno od 10


elemenata podatkovnog tipa REAL. U prvi redak se unese ime Mjerna_tocka i odabere
tip podatka ARRAY.

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.

Na ovaj način je deklarirano polje od 10 elemenata podatkovnog tipa REAL s početnim


vrijednostima 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

4.3.8 Korisnički definirani podatkovni tipovi

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:

- kreiranje strukturiranih podatkovnih blokova


- kreiranje polja, koja sadrže iste strukture nekoliko puta
- kreiranje lokalnih varijabli u FC, FB s danom strukturom

Korisnički definirani podatkovni tipovi su sastavljeni od elementarnih ili drugih korisnički


definiranih podatkovnih tipova. Ovi podatkovni tipovi nemogu biti spremljeni u PLC. U slučaju
da se ista struktura koristi više puta ovime se smanjuje potrebna količina pisanja pri unošenju
podatkovnog bloka. Za bolje razumjevanje dan je sljedeći primjer:

9. Prvo je u spremnik Blocks potrebno ubaciti novi UDT blok. Da bi se to napravilo u


SIMATIC Manager-u je potrebno odaberati spremnik Blocks te desnim klikom miša
aktivirati izbornik opcija i odaberati Insert New Object>Data Type ili jednostavno
odaberati opciju izbornika Insert>S7 Block> Data Type. Tada se otvori prozor s
odabranom karticom General-Part.

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.

11. Dvostrukim klikom na UDT1 u programskom editoru otvara se prethodno kreirani


korisnički podatkovni tip. Potom se unese željena podatkovna struktura pri čemu se
stupci Name i Type obavezno popunjavaju dok stupci Initial value i Comment mogu

________________________________________________________________________296
SIMATIC S7 Programirljivi logički kontroleri

ostaviti prazni. Za primjer se unese podatkovna struktura kao što je prikazano na


sljedećoj slici.

12. Kliknite na ikonu Save na alatnoj traci da bi spremili promjene napravljene u


podatkovnom bloku.
Ikona Save

Ovime se definirala podatkovna struktura u bloku UDT1 s simboličkim nazivom Sastojci.


Koristeći UDT1 je sada moguće kreirati nekoliko podatkovnih blokova s istom podatkovnom
strukturom (Sastojci) u kojima se mijenjaju samo vrijednosti varijabli Sastojak_1, Sastojak_2,
Sastojak_3.

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.

3. Da bi programski editor prikazao sva polja odabere se opcija izbornika View>Data


View. Tada prozor izgleda kao na sljedećoj slici.

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

5 Nadzor i upravljanje radom direktno pokretanog


motora

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.

5.1 Energetska shema i princip rada direktno pokretanog


motora
Na slici 265. je vidljiva idejna izvedba direktno pokretanog motora. Također, vidljivi su
uvjeti koje je potrebno ostvariti da bi motor bio uključen, odnosno isključen, te sve potrebne
komponente za siguran rad.

Slika 265. Energetska shema direktno pokretanog motora

________________________________________________________________________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.

5.1.1 Motorna zaštitna sklopka

Motorna zaštitna sklopka je uređaj koji štiti motore od termičkog preopterećenja i


kratkog spoja. Postavlja se odmah neposredno iza izvora napajanja. Uključuje se ručno, a
automatski izbacuje ako dođe do kratkog spoja ili ako motor duže vrijeme koristi više struje
od njegove nazivne vrijednosti. Pomoćni kontakt motorne zaštitne sklopke koji su spojeni na
ulaz PLC uređaja u našem slučaju je radni kontakt NO.

Slika 266. Izgled motorne zaštitne sklopke

5.1.2 Motorni sklopnik


Motorni sklopnici su uređaji koji su namijenjeni prvenstveno za uklapanje i
isklapanje stalno spojenih trošila relativno velike snage koje treba daljinski upravljati.
Motorni sklopnik uklopi kada mu pošaljemo signal s izlaza PLC uređaja koji uključi
elektromagnetsku kotvu koja privuče kontakte, te spoji energetske vodove. U projektu
se može koristiti još jedan pomoćni radni kontakt kojega ta kotva također privuče. Taj
pomoćni kontakt koji se spaja na ulaz PLC uređaja služi kao mehanička potvrda uklopa.

Slika 267. Izgled motornog sklopnika

________________________________________________________________________300
SIMATIC S7 Programirljivi logički kontroleri

5.1.3 Sigurnosni prekidač ( SSW)


Sigurnosni prekidač (eng. safety switch) služi za prekid strujnog kruga. Postavlja
se neposredno ispred trošila velike snage. Uvijek je uklopljen osim kada se izvode
popravci na motoru ili nekom drugom trošilu velike snage. Tada serviseri isklope strujni
krug pomoću SSWa radi dodatne zaštite. U projektu SSW može imati dodatni radni
kontakt NO koji šalje signal uklopa / isklopa sigurnosnog prekidača na ulazne stezaljke
PLC uređaja.

Slika 268. Izgled sigurnosnog prekidača tvrtke Siemens

5.1.4 Grebenasta preklopka


Grebenaste preklopke svoju primjenu nalaze kao preklopke za glavne, upravljačke i pomoćne
strujne krugove.

Slika 269. Izgled grebenaste preklopke

5.2 Spajanje upravljačkih signala direktno pokretanog motora


Uz energetski dio sustava vidljiv na slici 265, također postoji i elektronički dio sustava.
Taj elektronički dio je vezan za povezivanje ulaza, odnosno izlaza PLC uređaja sa dijelovima
energetskog dijela. Točnije: Pomoćni kontakti motorne zaštitne sklopke, motornog sklopnika,
te sigurnosnog prekidača moraju biti spojeni na ulazne stezaljke PLC uređaja. Naravno PLC i
energetski dio nisu spojeni direktno, već pomoću raznih releja koji omogućuju ispravan
pristup. Izlaz PLC uređaja je spojen na elektromagnetsku kotvu koja uključuje strujni krug na
mjestu motornog sklopnika. Svi pomoćni kontakti navedenih uređaja su radni kontakti NO.

________________________________________________________________________301
SIMATIC S7 Programirljivi logički kontroleri

Slika 270. Upravljački dio PLC uređaja i shema spajanja upravljačkih signala

5.3 Modovi rada direktno pokretanog motora


Jedan od glavnih zadataka ovog procesa je bio osigurati 4 moda rada sustava. U
lokalnom modu rada uređajem se upravlja s upravljačkog ormara koji se nalazi u neposrednoj
blizini motora unutar postrojenja. U manualnom modu rada uređajem je moguće upravljati s
udaljene lokacije pomoću SCADA aplikacije instalirane na računalo. Automatski mod rada je
izveden tako da se sustav pokreće direktno iz PLC uređaja. Maintenance mod rada je prioritet
ada je aktivan maintenance mod rada tada sustav ne radi. U navedeni mod rada je moguće uči
odabirom navedenog moda unutar SCADA aplikacije ili aktivacijom sigurnosnog prekidača.
Unutar ovog poglavlja bit će objašnjeni svi modovi rada koje sustav posjeduje,te će biti
skicirane željene izvedbe navedenog sustava upravljanja.

Slika 271. Skica sustava kojemu je svrha upravljanje i nadzor direktno pokretanog motora

________________________________________________________________________302
SIMATIC S7 Programirljivi logički kontroleri

5.3.1 Local Mode


Kada je na upravljačkoj ploči koja se nalazi pokraj motora grebenasta preklopka u položaju
LOCAL tada se motorom može upravljati pomoću tipkala START i STOP koji se nalaze na ploči,
ukoliko su zadovoljeni svi ostali uvjeti (proces se ne nalazi u maintenance modu rada).

Slika 272. Skica kontrolne ploče koja se nalazi u blizini motora u lokalnom modu rada

5.3.2 Manual Mode


Kada se grebenasta preklopka na upravljačkoj ploči nalazi u REMOTE položaju, a na SCADA
aplikaciji je odabran MANUAL MODE rada tada se proces nalazi u MANUAL MODE radu.
Motorom je moguće upravljati isključivo tipkama START i STOP koja se nalaze unutar SCADA
aplikacije. Upravljanje je moguće ukoliko se proces ne nalazi u MAINTENANCE MODE radu.

Slika 273. Skica upravljačke ploče i i SCADA aplikacije u Manualnom modu rada

5.3.3 Automatic Mode


Ukoliko se na upravljačkoj ploči grebenasta preklopka nalazi u položaju REMOTE, a unutar
SCADA aplikacije nije odabran niti jedan mod rada, tada se proces nalazi u AUTOMATIC
MODE radu. To znači da se ne može upravljati niti pomoću tipkala na upravljačkoj ploči ni
pomoću tipki unutar SCADA aplikacije već se pokreće direktno iz PLC uređaja.

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

5.3.4 Maintenance Mode


Ukoliko je uključen MAINTENANCE MODE rad unutar SCADA aplikacije ili ukoliko je netko
isključio proces pomoću SSW-a tada naš proces prelazi u MAINTENANCE MODE rad. Taj mod
je prioritet 1 jer obavezno isključuje rad motora bez obzira na sve ostale uvjete.

Slika 276. Skica SCADA aplikacije s odabranim MAINTENANCE MODE radom

5.4 Izrada rješenja unutar Step7 programskog paketa


Unutar ovoga poglavlja bit će prikazana izrada koda namijenjenog upravljanju sustavom. Bit
će objašnjen smisao korištenja funkcijskih blokova, upoznat ćete se sa svim prednostima
korištenja blokova unutar Step7 paketa. Također bit će objašnjeni svi problemi koji nastaju u
procesu izrade upravljačkog programa.

5.4.1 Podatkovni blok (DB 1)


Napomena: podatkovni blok DB 1 je pridruženi blok funkcijskog bloka FB1, te ga nije potrebno
ručno upisivati, već se generira automatski prilikom poziva funkcijskog bloka FB1. Funkcijski
blok pozivamo tako da pod folderom S7 Program odaberemo Blocks i desnim klikom
odaberemo naredbu Insert New Object → Function Block. Nakon stvaranja funkcijskog bloka
može mu se odabrati ime i programski jezik u kojemu će biti pisan pod opcijom Created In
Language. Odabere se LAD programski jezik. Sada se otvori funkcijski blok FB1 i ispune mu se
Interface parametri odnosno IN(ulazi), OUT(izlazi) i TEMP(privremeni bitovi) prema danoj
tablici. Ti parametri će se koristiti kroz više logičkih krugova unutar funkcijskog bloka. IN
parametri koriste se samo u funkcijama i funkcijskim blokovima za prosljeđivanje podataka na
obradu u pozvani blok. Za razliku od IN parametara OUT parametri šalju rezultate u pozvani
blok. TEMP parametri su lokalni podaci bloka i pohranjeni su na lokalni stog (Local data stack)

________________________________________________________________________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.

Slika 277. Tablica podatkovnog bloka DB 1 pridruženog funkcijskom bloku FB1

Slika 278. TEMP parametri funkcijskog bloka (dodatak slici 277.)

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!

Kao što se može primjetiti S7 memorija je organizirana po bajtovima.Memorija predviđena za


timer je 2 bajta, stoga adrese idu redom: 2.0, 4.0, 6.0,... ili od X.0 do X.7 pri ćemu prvi broj
(X) označava broj bajta, a drugi broj označava broj bita.

5.4.2 Funkcijski blok (FB1)

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!

Slika 279. Mreža 1 funkcijskog bloka FB1


Na slici 279. su vidljivi uvjeti koje je potrebno ispuniti da bi se aktivirao bit na izlazu koji služi
aktivaciji lokalnog moda rada (upravljanje preko upravljačke ploče).

________________________________________________________________________306
SIMATIC S7 Programirljivi logički kontroleri

Slika 280. Mreža 2 funkcijskog bloka FB1


Na slici 280. su vidljivi uvjeti koje je potrebno ispuniti da bi se aktivirao bit na izlazu koji služi
aktivaciji manualnog moda rada (upravljanje preko SCADA aplikacije).

Slika 281. Mreža 3 funkcijskog bloka FB1


Na slici 281. su vidljivi uvjeti koje je potrebno ispuniti da bi se aktivirao bit na izlazu koji služi
aktivaciji automatskog moda rada (upravljanje direktno iz PLC uređaja).

Slika 282. Mreža 4 funkcijskog bloka FB1


Na slici 282. su vidljivi uvjeti koje je potrebno ispuniti da bi se setirao bit na izlazu koji služi
aktivaciji maintenance moda rada (sustav u navedenom modu rada ne radi, maintenance mod
je prioritet 1).

________________________________________________________________________307
SIMATIC S7 Programirljivi logički kontroleri

Slika 283. Mreža 5 funkcijskog bloka FB1

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

Slika 284. Mreža 6 funkcijskog bloka FB1

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.

Slika 285. Mreža 7 funkcijskog bloka FB1

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

Slika 286. Mreža 8 funkcijskog bloka FB1

Na slici 286. je vidljiva aktivacija alarm delaya pomoću uvijeta on i off delaya uz upotrebu
timera.

Slika 287. Mreža 9 funkcijskog bloka FB1

Na slici 287. su vidljivi uvjeti koji alarmiraju sustav ako pomoćni kontakt sklopnika ne uklopi
ili isklopi u zadano vrijeme.

Slika 288. Mreža 10 funkcijskog bloka FB1

________________________________________________________________________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.

Slika 289. Mreža 11 funkcijskog bloka FB1

________________________________________________________________________312
SIMATIC S7 Programirljivi logički kontroleri

Slika 290. Mreža 12 funkcijskog bloka FB1

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.

Slika 291. Mreža 13 funkcijskog bloka FB1

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.

5.4.3 Funkcija (FC 1) – korištena verzija rješenja


Na slikama 290 i 291 prikazan je kod funkcije FC 1. Kod je napisan u STL programskom jeziku.
Ta funkcija ima zadaću da realni broj koji dolazi na ulaz funkcije, funkcija pretvara u S5Time
format. Taj format koriste svi timeri unutar Step7 paketa. Realni broj koji se upiše u sekundama
format (xxx,xxx), funkcija pretvara u format prepoznatljiv timerima.
Velika prednost funkcije koja se koristi za pretvorbu realnih brojeva u S5Time format je to što
nema problema sa pozivanjem unutar glavnog organizacijskog bloka. Funkcija je univerzalna i
može se korisiti u OB 1, po potrebi ju je moguće pozvati bez ikakvih naknadnih preuređivanja.
Nedostatak te funkcije je što između tagova SCADA aplikacije i funkcijskog bloka motora ima
dodatna funkcija, što komplicira izradu programa. Za svaki blok motora su potrebna još 3
dodatne funkcije koje vrše pretvorbu realnih unosa u S5Time. Potrebne su 3 funkcije; jedna za
ON delay, jedna za OFF delay, te jedna za ALARM delay.

________________________________________________________________________313
SIMATIC S7 Programirljivi logički kontroleri

Slika 292. Mreža 1 funkcije FC 1

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

Slika 293. Mreža 2 funkcije FC 1

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.

5.4.4 Funkcija (FC 1) – moguća verzija rješenja


Problem pretvorbe realnih brojeva moguće je riješiti na više načina, kao i gotovo sve ostale
programske probleme unutar Step7 programskog paketa. U prethodnom naslovu je vidljiva
STL pretvorba realnog broja u S5Time format. U primjeru na slici ispod teksta je prikazan
način pretvorbe realnih brojeva u S5Time upotrebom sistemske funkcije FC40 koja pretvara
Time format u S5Time. Pomoću naredbi vidljivih na slici vidi se jednostavan način pretvorbe
u Time format, nakon što je realni broj pretvoren u Time format jednostavno se pozove
sistemska funkcija FC40 koja pretvori prethodno stvoreni Time format u nama potreban
S5Time.

Slika 294. Jedan od načina pretvorbe realnog broja u S5Time format

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.

5.4.5 Organizacijski blok (OB 1)


Kao što je već prethodno objašnjeno, unutar organizacijskog bloka se poziva prethodno
stvoreni funkcijski blok koji sadrži cjelokupnu logiku sustava kojim se upravlja. Tome
funkcijskom bloku tek kada se pozove u organizacijskom bloku se pridodaju fizičke adrese.
Blok se može pozvati više puta, te mu svaki puta zadati da radi nad nekim drugim fizičkim
adresama.

Slika 295. Poziv funkcijskog bloka FB1 i njegovog pridruženog podatkovnog bloka DB 1

Slika 296. Mreža 2 organizacijskog bloka OB 1

________________________________________________________________________316
SIMATIC S7 Programirljivi logički kontroleri

Slika 297. Mreža 3 organizacijskog bloka OB 1

Slika 298. Mreža 4 organizacijskog bloka OB 1

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.

Slika 299. Izgled HMI sučelja za CM DOL

________________________________________________________________________317
SIMATIC S7 Programirljivi logički kontroleri

6 Popis korištene literature

[1] John R. Hackworth and Frederick D. Hackworth: Programmable logic controllers:


Programing methods and applications, 2003.
[2] L.A. Bryan, E.A. Bryan: Programmable Controllers - Theory and Implementation, Second
Edition, An Industrial Text Company Publication, Atlanta, 1997.
[3] H. Jack: Automating manufacturing systems with PLCs, Version 4.6, December 15, 2004.
[4] Hans Berger: Automating with STEP 7 in LAD and FBD, 3rd revised edition, Publicis
Corporate Publishing, Berlin and Munich, 2005.
[5] Siemens: SIMATIC NET - Industrial Communication with PG/PC - Manual, Publication
C79000-G8976-C172, Edition 11/2003.
[6] C.T.Jones: STEP 7 in 7 Steps: A Practical Guide to Implementing S7-300/S7-400
Programmable Logic Controllers, 2006
[7] SIMATIC Working with STEP 7, 6ES7810-4CA08-8BW0, Siemens Edition 03/2006
[8] Danijel Maršić, Distribuirani sustavi automatizacije, diplomski rad, Tehničko veleučilište
u Zagrebu, Elektrotehnički odjel, Zagreb, 2006.
[9] Goran Malčić, Danijel Maršić: Programirljivi logičk kontroleri, skripta za kolegij Procesna
računala, Tehničko veleučilište u Zagrebu, Elektrotehnički odjel, Zagreb, 2009.

________________________________________________________________________318
SIMATIC S7 Programirljivi logički kontroleri

7 Abecedni popis pojmova

- 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

You might also like