Professional Documents
Culture Documents
Borivoj Jovanović
ZAVRŠNI RAD
- Osnovne akademske studije -
УДК
Чува се, ЧУ: У библиотеци Факултета техничких наука
UC
Holding data, HD: The Library of Faculty of Technical Sciences, Novi Sad, Serbia
Note, N:
Abstract, AB: This paper presents an overview of the most common communication
protocols supported by Siemens S7 PLC-s and it is shown that those
protocols in combination with one another cover every level of industrial
communication. Covered protocols: PROFIBUS, PROFINet, MODBUS, USS,
AS-i.
2 1 0 0 0 Н О В И С А Д , Тр г Д о с и т е ј а О б р а д о в и ћ а 6
ЗАДАТАК ЗА ИЗРАДУ ЗАВРШНОГ Датум:
(BACHELOR) РАДА
(Податке уноси предметни наставник - ментор)
Студијски програм:
Енергетика, електроника и телекомуникације
Руководилац
др Милан Сечујски
студијског
програма:
ТЕКСТ ЗАДАТКА:
1. Одрадити преглед најчешће коришћених протокола које подржава Siemens S7 PLC serija,
1. UVOD
Moderni programabilni logički kontroleri (PLC) imaju mogućnost da obave veoma
složene zadatke na osnovu prikupljenih i obrađenih podataka. Međutim, u mnogo slučajeva je
potrebno da PLC informacije prosledi nekom drugom PLC-u ili nekom drugom uređaju radi
dalje obrade. To se postiže primenom različitih vrsta komunikacionih protokola koji definišu
pravila i način komunikacije između dva uređaja. Da bi jedan uređaj razumeo šta mu drugi
„govori“, potrebno je da oba uređaja „pričaju istim jezikom“, odnosno da koriste isti
komunikacioni protokol. U ovom radu biće urađen pregled nejčešće korišćenih komunikacionih
protokola koje podržava Siemens S7 PLC serija.
Od vremena kada se javila potreba za komunikacijom u industrijskim sistemima razvijeni
su mnogi komunikacioni protokoli, od jednostavnih pa do izuzetno složenih. Neki nisu zaživeli
pokazavši se neefikasnim ili jednostavno zastarelim, a neki su i dan danas u upotrebi. Siemens
kao jedan od vodećih proizvođača komponenti industrijske automatizacije implementira različite
komunikacione protokole koji su se vremenom pokazali kao dobra rešenja za određene nivoe
komunikacije. Siemens je učestvovao u stvaranju nekih od njih (PROFIBUS, PROFINet, USS...)
samostalno ili u saradnji sa drugim vodećim kompanijama.
Industrijski sistemi su hijerarhijski organizovani u 5 nivoa (od najnižeg ka najvišem):
Nivo senzora i aktuatora,
Nivo polja, odnosno nivo mašine,
Nivo ćelije,
Nivo proizvodnog pogona,
Nivo fabrike.
Na najnižem, nivou senzora i aktuatora, nalaze se uređaji kao što su: senzori, ventili,
prekidači, starteri motora, itd. Na ovom nivou razmenjuju se male količine podataka sa
kontrolerima kao što su on/off signali i vremena odziva moraju biti izuzetno niska. Nema potrebe
za međusobnom komunikacijom uređaja ovog nivoa.
Na nivou polja, odnosno mašine, nalaze se delovi opreme za proizvodnju, kao što su:
pokretne trake, roboti, automatizovani alati (CNC mašine), itd. Sa ovim uređajima povezani su
različiti senzori i aktuatori kako bi omogućili rad tih uređaja. Ovde dolazi do nešto obimnije
razmene podataka nego na nivou senzora i aktuatora. Najčešće i na ovom nivou nije potrebna
međusobna komunikacija, već samo komunikacija sa susednim nivoima.
Ćeliju čini grupa mašina ili uređaja i u okviru nje se obrađuju slični elementi i formira
novi proizvod. Ovde dolazi do prenosa veće količine podataka i očekuje se izvesno kašnjenje u
prenosu informacija. Na ovom nivou se već javlja potreba za međusobnom komunikacijom
između samih PLC-ova.
Više ćelija čini jedan proizvodni pogon u kojem se nalazi kontroler pogona koji upravlja
ćelijama. Na ovom nivou je potrebno prikupljanje prilično velike količine podataka, tako da se tu
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 2
Nivo
fabrike
Nivo
proizvodnog
pogona
Nivo ćelije
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 3
2. PROFIBUS PROTOKOL
PROFIBUS (Process Field Bus) nastaje kao projekat nemačke vlade i nemačkih
kompanija 1987. godine sa ciljem da se napravi novi bit-serijski Fieldbus protokol. Novi
protokol je zadovoljavao zahteve industrijske automatizacije i bio je u mogućnosti da obavlja
zadatke vrlo složene komunikacije. Prva verzija protokola nosila je naziv PROFIBUS FMS
(Fieldbus Message Specification) međutim taj protokol nije zaživeo pokazavši se kao loš za rad
u realnom vremenu zbog svoje kompleksnosti. Naslednik FMS-a je i danas aktuelni PROFIBUS
DP (Decentralized Periphery) kao mnogo jednostavniji i pouzdaniji protokol sa svojim
različitim verzijamao kojima će ovde biti više reči. PROFIBUS protokol se zasniva na
master/slave principu komunikacije.
PROFIBUS protokol nalazi primenu u skoro svim granama industrije, među kojima su i:
Automatizacija fabrika i postrojenja,
Automatizacija zgrada,
Automatizacija skladišta,
Prehrambena, duvanska i industrija pića,
Hemijska i petrohemijska industrija,
Robotika.
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 4
sistem uvek mora biti povezan na PROFIBUS DP sistem sa kontrolerom, za šta se koristi
DP/PA coupler.
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 5
Uređaj 1 Uređaj 2
Shielding
Zaštitno Zaštitno
uzemljenje uzemljenje
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 6
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 7
komunicirati. U tom slučaju svaka master jedinica mora imati jednaku šansu za pristup liniji. To
se omogućava primenom token-passing sistema. Token-passing sistem se primenjuje u slučaju
više master uređaja prosleđivanjem takozvanog token signala sa jednog master uređaja na drugi. Samo
master koji trenutno „drži“ token ima pravo da komunicira sa njemu dodeljenim slave jedinicama.
Potvrda prijema
SC
Svaki telegram se identifikuje na osnovu početnog bajta (SD1, SD2, SD3, SD4, SC) zvanog Start
Delimiter ili u slučaju telegrama potvrde prijema Short Confirmation (SC). Ostali bajtovi imaju
sledeća značenja:
DA (Destination Adress) – adresa odredišta,
SA (Source Adress) – adresa pošiljaoca,
FC (Function Code) – funkcijski kod,
FCS (Frame Checking Sequence) Checksum byte načinjen AND funkcijom svih bajtova
poruke, uz ignorisanje carry bita,
PDU (Protocol Data Unit) – podaci za prenos,
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 8
Adresa Upotreba
0 Po pravilu je rezervisana za alate za dijagnostiku i uređaje za programiranje
1...n Po pravilu najniže adrese se dodeljuju master uređajima
n...125 Slave uređaji
126 Ova adresa se ostavlja za off-the-shelf uređaje
127 Rezervisana za broadcast, odnosno za obraćanje svim učesnicima na liniji
Svi slave uređaji prate poruke na liniji ali se odaziva samo onaj koji prepozna svoju adresu u
telegram. Uređaji kao što su ripiteri ili DP/PA kapleri nemaju adresu jer samo prosleđuju ili
konvertuju signal.
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 9
Master
Slika 2.2 Ciklična komunikacija između jednog mastera i njemu pridruženih slave uređaja
U primeru sa slike, master proziva prvi slave uređaj i od njega dobija odgovor, zatim
proziva i dobija odgovor od drugog, pa od trećeg. Time je izvršen jedan ciklus i on se ponavlja
ciklično.
DP-V1 je nadogradnja na verziju V0 i dodatna funkcija joj je aciklična komunikacija.
Aciklična komunikacija nalazi primenu u parametrizaciji uređaja na PROFIBUS liniji u toku
rada sistema, kao i prenošenju alarm poruka. Aciklična komunikacija se odvija paralelno sa
cikličnom ali sa nižim prioritetom.
DP-V2 je nadogradnja na DP-V1 i omogućava direktnu komunikaciju između slave
uređaja. Slave uređaji koriste broadcast komunikaciju bez posredstva master-a. To omogućava
slave uređajima da direktno čitaju podatke sa drugih slave uređaja i koriste ih kao svoje ulaze.
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 10
2.7.1. PROFIdrive
Ovaj profil je namenjen pogonima regulisanim po brzini i definiše ponašanje uređaja kao
i proceduru pristupa podacima električnih pogona, od jednostavnijih frekventnih pretvarača, do
dinamičkih servo kontrolera. PROFIdrive definiše 6 klasa:
Standardni pogoni (klasa 1) – gde se pogonom upravlja zadavanjem određene reference
(na primer brzine) na centralnom kontroleru a sama regulacija brzine se odvija u
pogonskom kontroleru (pretvaraču),
Standardni pogoni sa tehnološkim funkcijama (klasa 2) – proces automatizacije se deli na
nekoliko podprocesa i deo automatizacionih funkcija se prepušta pogonskim
kontrolerima a deo obavlja centralni kontroler. Slave-to-slave komunikacija mora biti
omogućena između pojedinih pogonskih kontrolera,
Pogon za pozicioniranje (klasa 3) – integriše dodatni kontroler za pozicioniranje u pogon,
pokrivajući time širok spektar mogućnosti, na primer zavrtanje i odvrtanje čepova sa
flaša,
Centralna kontrola pokreta (klasa 4 i 5) – omogućava koordinisane sekvence pokreta više
pogona. Pokreti se uglavnom kontrolišu preko CNC-a (Central Numeric Control), a
PROFIBUS služi za zatvaranje pozicione petlje i sinhronizaciju,
Distribuirana automatizacija sa sinhronizovanim procesima (klasa 6) – jedan master
pogon sa kojim su sinhronizovani više slave pogona.
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 11
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 12
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 13
svaki proizvođač dužan da obezbedi. U GSD fajlu se nalaze svi potrebni podaci o tom uređaju
kao što su na primer njegove komunikacione mogućnosti.
Nakon što su u projekat ubačeni svi potrebni učesnici komunikacije, potrebno je master
uređaju dodeliti slave uređaje. U ovom slučaju master jedinica je PLC S7-1500 model sa
integrisanim PROFIBUS i PROFINet portom (1516-3 PN/DP). Povezivanje uređaja je moguće
izvršiti jednostavnim spajanjem odgovarajućih interfejsa na grafičkom prikazu svih uređaja u
mreži (Network view) , ili to učiniti klikom na „Not assigned“ link gde će biti ponuđen izbor
master uređaja sa kojim je moguće izvršiti konekciju (u ovom slučaju je samo jedan dostupan).
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 14
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 15
Pod opcijom „Bus parameters“ imamo prikazane vrednosti parametara sistema koji se
ciklično šalju. Bitniji parametri su:
Tslot_Init – definiše maksimalno vreme koje će pošiljaoc čekati na odgovor,
Max.Tsdr – definiše vreme za koje jedinica mora odgovoriti na telegram,
Min.Tsdr – minimalno vreme pauze pre odgovora na telegram,
Tqui– definiše vreme posle kog će se jedinica koja je poslala telegram prebaciti u
prijemno stanje,
Tid1 – vreme posle kojeg se može poslati novi telegram,
Tid2 – vreme posle kojeg se može poslati novi broadcast telegram,
Ttr – maksimalno dozvoljeno vreme da token obiđe sve master jedinice i omogući svakoj
da izvrši transmisiju,
GAP factor – definiše posle koliko rotacija tokena novi master uređaj ima dozvolu za
uključenje u sistem,
RETRY limit – koliko puta se poruka ponavlja u slučaju da ne stigne potvrda.
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 16
3. PROFINET
PROFINet je otvoren Industrijski Ethernet standard, razvijen od strane PROFIBUS
Organizacije. Projektovan je sa ciljem da zadovolji sve potrebe industrijske automatizacije.
Zasniva se na Ethernet-u (IEEE 802.3) koji je već dugo godina nezaobilazan standard za
komunikaciju na višem nivou, tj na nivou fabrike. Za razliku od samog Ethernet-a, PROFINet
nalazi primenu i na nižim nivoima industrijske komunikacije, kod prenosa analognih i digitalnih
procesnih veličina. Suštinski, PROFINet je integrisani i unapređeni PROFIBUS DP sa Ethernet
tehnologijom. Kao i PROFIBUS, PROFINet podržava različite profile kao što su PROFIDrive,
PROFISafe, itd. Pogodnost PROFINET protokola se ogleda i u mogućnosti povezivanja sa
drugim industrijskim protokolima, kao što su PROFIBUS, MODBUS, AS-i itd.
Korišćenjem TCP/IP i drugih IT standarda PROFINet vrši komunikaciju tamo gde se ne
zahteva rad u realnom vremenu (Download-ovanje parametara, dijagnostika, razmena velike
količine informacija itd.) a za komunikaciju u realnom vremenu, koristi rezervisane Real-Time
kanale zaobilazeći TCP/IP paket protokola.
PROFINet nalazi svoju primenu u različitim oblastima industrije, kao što su:
Proizvodna postrojenja,
Automobilska industrija,
Prehrambena, duvanska i industrija pića,
Linije za pakovanje proizvoda.
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 17
Industrijski Ethernet koristi familiju protokola TCP/IP ili UDP/IP za prenos podataka.
Međutim, Industrijski Ethernet nije pogodan za cikličnu razmenu podataka zbog velikog
telegram overhead-a (odnosa ukupno prenetih bajtova i bajtova informacije). Iz tog razloga
koristi se optimizirani layer 2 protokol, usklađen sa IEEE 802.3 standardom, koji omogućava
prenos informacija u realnom vremenu na bazi Industrijskog Etherneta, zaobilazeći ceo TCP/IP
paket protokola.
Kao što je već pomenuto, prenos podataka PROFINet protokolom odvija se preko
Industrijskog Ethernet-a. Podržane su sledeće metode prenosa:
Ciklični prenos podataka u realnom vremenu RT ( procesne veličine, itd.),
Aciklični prenos podataka koji nisu od vremenske važnosti (parametrizacija,
dijagnostika...) i podataka koji se moraju preneti u realnom vremenu kao što su alarmne
poruke,
Sinhronizovana IRT komunikacija
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 18
6 – Prezentacija
5 – Sesija
4 – Transport TCP/UDP
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 19
PROFINet podržava prenos podataka preko električnih i optičkih kablova, kao i prenos
putem bežične (wireless) veze. Izbor medijuma za prenos zavisi od samih potreba korisnika kao i
od uslova okruženja u kojem se mreža nalazi (prisustvo elektromagnetnih smetnji, međusobna
udaljenost uređaja, itd.).
Osnovne karakteristike pojedinih medijuma za prenos date su u tabeli:
Tabela 3-2 Uporedne karakteristike pojedinih medijuma za prenos
Maksimalna
dužina
Tip prenosa Tip Tip Brzina Prednosti
segmenta
konekcije kabla/medijuma prenosa
između dva
za prenos
uređaja
100 Mbps, Jednostavnost i
full duplex niska cena
Električni RJ45 100Base-TX 100 m
konektor
100Base-FX 100 Mbps,
full duplex
POF(Polymer 50 m
Optical Fiber)
SCRJ 45
100 Mbps,
full duplex
PCF (Plastic 100 m Neosetljiv na
Cladded Fiber) elektromagnetne
Optički
smetnje, mogući
Optički kabel sa 100 Mbps,
su znatno duži
monomodnim full duplex
BFOC 26 km segmenti...
vlaknom
(Bayonet
Fiber Optic
Connector) Optički kabel sa 100 Mbps,
gradijentnim full duplex 3000 m
vlaknom
Zavisi od Isplativ za
ekstenzije komunikaciju sa
Bežični - IEEE 802.11x 100 m
(a, g, h..) udaljenim
standard
uređajima
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 20
koji želi da šalje podatke „osluškuje“ liniju (Carrier Sense) i ako je linija slobodna, odnosno ako
komunikacija između drugih učesnika nije već u toku, uređaj može započeti sa slanjem
informacija. Ukoliko se prilikom pokušaja slanja na liniji već odvija komunikacija, uređaj će
svoje slanje odložiti i ponovo pokušati kasnije (Multiple Access). Događa se da dva uređaja u
istom trenutku donesu odluku o započinjanju slanja poruke. U tom slučaju dolazi do kolizije i
aktiviraju se se sistemi za odstupanje od slanja. Nakon nasumično izabrane pauze u slanju,
uređaj sa najkraćom pauzom ponovo pokušava da uspostavi komunikaciju. Jasno je da je ovakav
metod pogodan za mreže od svega nekoliko uređaja, jer bi u suprotnom često dolazilo do
kolizije.
PROFINet koristi moderniji, switched Ethernet pristup. Konekcija PROFINet IO uređaja
odvija se isključivo preko sviča (Switch).Uređaji ne dele jedan medijum za prenos nego je svaki
uređaj povezan sa jednim (i samo jednim) uređajem koji u sebi ima integrisan svič. Primenom
sviča otklanja se mogućnost pojave kolizije i omogućava se „full duplex“ prenos, odnosno
simultano slanje i primanje podataka. Full duplex prenosom proširuje se kapacitet mreže na
200Mbps, odnosno na dvostruku vrednost propusnog opsega brzog Ethernet-a (100Mbps).
Da bi zadovoljili rad u realnom vremenu, svičevi koriste dva mehanizma:
Sačuvaj i prosledi (Store and forward) – ovim procesom svič čuva pristigle telegrame i
skladišti ih u red (queue) i proverava greške u paketu nastale na fizičkom ili na nivou
podataka. Telegrami se zatim prosleđuju prema određenom portu koji ima pristup
adresiranom uređaju,
Probijanje (Cut through) – koristi se za ostvarivanje IRT komunikacije, tako što se podaci
odmah nakon pročitane adrese primaoca prosleđuju na odgovarajući port bez ikakve
provere greške. Ova provera se ostavlja primaocu poruke. Ovim se vreme prolaska
podatka kroz svič minimalizuje. Podaci će se u ovom slučaju skladištiti „Store and
forward“ metodom samo u slučaju da je sekcija kojom podatak treba da dođe do sledećeg
sviča trenutno zauzeta.
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 21
Slika 3.2 Različite topologije PROFINet mreže (zvezda , magistrala i stablo ) [7]
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 22
interfejs sadrži MAC adresu svakog porta, IP adresu svakog porta i ime uređaja (device name).
MAC adresa je fabrički podešena i jedinstvena je za svaki uređaj. Svaka MAC adresa se sastoji
od šest bajtova, od kojih su:
Prva tri bajta rezervisana za identifikaciju proizvođača
Druga tri bajta rezervisana za identifikaciju konkretnog uređaja
MAC adresa je adresa za komunikaciju na Ethernet mreži a pošto PROFINet uređaji rade
na Ethernet-u moraju imati svoju MAC adresu..
S obzirom da se svi PROFINet uređaji baziraju na TCP/IP protokolu, oni moraju imati i
svoju IP adresu. IP adresa se sastoji od četiri decimalna broja razdvojenih tačkama, od kojih
svaki može uzeti vrednost 0 – 255. Decimalni brojevi u IP adresi označavaju mrežu kojoj dati
uređaj pripada, kao i adresu samog uređaja u toj mreži. Ono što određuje koji deo IP adrese
označava mrežu a koji adresu uređaja u mreži je Subnet maska. Subnet maska se takođe sastoji
od četiri decimalna broja sa rasponom vrednosti 0 - 255, razdvojena tačkama. Primera radi,
ukoliko je Subnet maska zadata kao 255.255.255.0, ili binarno sa četiri grupe okteta
11111111.11111111.11111111.00000000, to znači da prva tri decimalna broja(prva tri okteta) IP
adrese označavaju adresu mreže, dok poslednji decimalni broj označava adresu uređaja. U
izolovanoj mreži subnet maska ne igra veliku ulogu jer je možemo podesiti kako želimo s
obzirom da imamo samo jednu mrežu. Međutim, ako treba komunicirati između dve različite
mreže, tada se mora obratiti pažnja na subnet masku. U ovom slučaju nije dovoljno koristiti svič
jer on radi na drugom OSI nivou koristeći se MAC adresama. U tu svrhu koristi se router koji
radi na trećem OSI nivou i ima mogućnost rutiranja paketa koristeći se IP protokolom, odnosno
pronalaženja putanje do odredišnog uređaja.
Kod svih industrijskih komunikacionih protokola razlikujemo dva tipa komunikacije:
Konfigurisanje i dijagnostika uređaja
Razmena ulazno/izlaznih podataka
Za konfiguraciju i dijagnostiku, PROFINet koristi standardnu TCP/IP komunikaciju. Zbog toga
je svakom uređaju potrebna IP adresa. Za cikličnu razmenu ulazno/izlaznih podataka PROFINet
ne koristi TCP/IP komunikaciju već samo komunikaciju na prvom, drugom i sedmom OSI nivou,
odnosno preskače TCP/IP nivoe. Ovo se radi jer U/I razmena zahteva veliku brzinu prenosa i
malo kašnjenje što je nemoguće postići upotrebom TCP/IP protokola zbog prevelikog overhead-
a. Pošto U/I razmena ne koristi TCP/IP komunikaciju, ne koristi ni IP adresu već simboličko ime
uređaja (device name), za koje se vezuje MAC adresa korespodentnog uređaja. Pri konfiguraciji
mreže u programu STEP 7 svim povezanim uređajima se dodeljuje njihovo simboličko ime,
zatim softver šalje upitnu poruku svim uređajima na koju se odazivaju i šalju svoju MAC adresu
koja se zatim povezuje sa imenom. Prilikom konfiguracije softver nudi mogućnost i automatskog
ili manuelnog dodeljivanja IP adrese koja će se dodeliti uređajima pri startu sistema. Svi ovi
podaci se zatim ubacuju u IO kontroler. IP adresa je dinamička pa će pri svakom restartu sistema
kontroler svim uređajima dodeliti novu IP adresu upotrebom DCP protokola (Discovery and
Basic Configuration Protocol) u izolovanoj mreži ili upotrebom DHCP (Dynamic Host
Configuration Protocol) servera.
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 23
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 24
TSEND_C instrukcija objedinjuje instrukcije TCON, TSEND i TDISCON. Ona utemeljuje TCP
ili ISO-on-TCP komunikaciju, šalje podatke i u mogućnosti je da prekine konekciju. Nakon što
je komunikacija uspostavljena, automatski se održava od strane procesora.
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 25
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 26
1 – greška prilikom
uspostavljanja/raskidanja konekcije
STATUS Izlaz WORD Kôd greške
RCVD_LEN Izlaz UDINT Stvarna količina primljenih podataka
u bajtovima
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 27
NDR parameter označava da li je posao završen (0 –nije počeo ili je u toku, 1 – završen)
Ostali parametri imaju isto značenje kao u prethodnim instrukcijama.
3.7.3. S7 komunikacija
S7 komunikacija je osmišljena za jednostavnu i efikasnu komunikaciju između dva PLC-
a iz serije SIMATICS7. Komunikacija se obavlja uz pomoć instrukcija GET i PUT, za čitanje i
pisanje podataka, respektivno. PLC koji želi da pročita određene podatke sa drugog PLC-a
pomoću instrukcije GET pristupa za to predviđenom memorijskom prostoru u koji su upisani
podaci za čitanje. Upis podataka u drugi PLC se obavlja instrukcijom PUT, upisujući podatke u
predviđeni memorijski prostor drugog PLC-a. Da bi ove dve instrukcije uopšte mogle da se
izvrše, PLC sa kojim se komunicira mora odobriti razmenu informacija preko PUT/GET
komunikacije, iz bezbednosnih razloga.
GET instrukcija se izvršava sa uzlaznom ivicom na REQ parametru
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 28
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 29
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 30
4. MODBUS PROTOKOL
MODBUS je Fieldbus protokol, osmišljen 1979. godine od strane Modicon (danas
Schneider Electric) kompanije. Zasniva se na master-slave ili client-server(TCP/IP) principu.
Dozvoljava prisustvo jednog master uređaja i do 247 slave uređaja u jednoj mreži. Od samog
nastanka pa do danas je veoma popularan protokol i zabeleženo je preko 7 miliona uređaja koji
komuniciraju upotrebom ovog protokola. Protokol je otvorenog tipa, što znači da su proizvođači
opreme slobodni da ga ugrade u svoje uređaje bez ikakve naknade. MODBUS se često koristi za
povezivanje računara za nadzor nekog procesa i udaljenih uređaja, odnosno u SCADA
(Supervisory Control And Data Acquisition) sistemima.
Postoje tri tipa MODBUS protokola:
MODBUS ASCII gde se poruka sastoji od ASCII karaktera,
MODBUS RTU (Remote Terminal Unit) gde se poruka sastoji od bajtova,
MODBUS/TCP predviđen za Ethernet okruženje, implementirajući MODBUS poruke u
TCP/IP stek.
Prva dva tipa (MODBUS ASCII i RTU)na fizičkom nivou podržavaju serijski prenos
upotrebom već opisanog RS-485 standarda ili starijeg RS-232 standarda koji podržava
komunikaciju između samo dva uređaja i za razliku od RS-485 standarda ne implementira
diferencijalni prenos čime je dosta podložniji smetnjama. Treći tip, MODBUS/TCP, predviđa
prenos preko Ethernet mreže kao i prenos preko interneta. Razmena podataka odvija se ADU
(Application Data Unit) paketima u kojima je sadržana adresa slave uređaja, funkcijski kôd,
prateći podaci i provera greške.
MODBUS protokol je suštinski aplikacijski protokol jer definiše samo aplikacijski sloj
OSI modela, dok se na fizičkom nivou u slučaju serijskog prenosa bazira na već definisanim RS-
232/485 standardima, a u slučaju MODBUS/TCP-a bazira se na već definisanim TCP/IP i
Ethernet protokolima.
Tabela 4-1 OSI model MODBUS protokola
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 31
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 32
Primenom ASCII koda „1“ se koduje sa bajtom 0x31, a „E“ se koduje sa bajtom 0x41. Dakle,
adresa uređaja 0x1E će se kodovati sa dva bajta: 0x31 0x41 ili binarno zapisano: 00110001
01000001. Treba naglasiti da pri slanju svakog ASCII bajta dovoljno koristiti samo 7 bitova
umesto 8, i to počevši od LSB, jer je MSB uvek jednak 0 (koduju se heksadecimalni karakteri
0...9 i A...F). Time se postiže nešto kraće vreme slanja. Svaka poruka se šalje bajt po bajt, a za
slanje jednog ASCII bajta (7 bitova) potrebno je jos tri dodatna bita: START bit, bit parnosi i
STOP bit. Može se slati i bez bita parnosti ali se onda umesto njega šalje još jedan dodatni STOP
bit.
Bit
Start 1 2 3 4 5 6 7 Stop
parnosti
Slika 4.3 Sekvenca bitova za slanje jednog ASCII bajta
Da bi uređaj kome je poruka namenjena mogao da prepozna njen početak i kraj, koriste
se posebni karakteri. Za označavanje početka poruke koristi se karakter „ : “ kodovan brojem
0x3A a kraj poruke se označava sa parom karaktera CR-LF (Carriage return – Line feed), koji
se koduju brojevima 0x0D i 0x0A respektivno. Pauza između slanja dva karaktera ne sme biti
veća od 1 sekunde, u suprotnom se pretpostavlja da je došlo do greške.
Provera greške u prenosu obavlja se LRC (Longitudinal Redundancy Checking)
detekcijom.
Start Adress Function Data LRC End
1 2 2 Od 0 do 2x252 2 2
karakter karaktera karaktera karaktera karaktera karaktera
Slika 4.4 Okvir ASCII poruke
Uslov za detekciju početka poruke, kao i za detekciju kraja poruke je tišina na liniji u
trajanju od dužine 3,5 karaktera (ovo vreme zavisi od primenjene brzine prenosa). Poruka se
mora u celini prenositi kontinualno, a ukoliko se u toku slanja jedne poruke detektuje pauza duža
od 1,5 karaktera, poruka se proglašava nepotpunom i smatra se da je došlo do greške u prenosu.
Detekcija greške obavlja se CRC (Cyclical Redundancy Checking) metodom.
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 33
Tako formirana ADU poruka se utiskuje u TCP okvir dodavanjem TCP zaglavlja. TCP
okviru se dodaje IP zaglavlje i time se stvara IP okvir. Na samom kraju, IP okviru se dodaje
Ethernet zaglavlje i FCS(Chekcsum) polje. Time je formiran kompletan TCP/IP paket podataka
i spreman je za slanje. Na prijemnoj strani ovaj paket se raspakuje obrnutim redosledom.
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 34
U odgovoru slave jedinice prvo polje PDU paketa takođe zauzima kôd funkcije, a u data polje se
upisuje broj bajtova u koji su upisani statusi pinova, zatim stanje pinova.
Data
Function code
Broj bajtova Stanje pinova
1 bajt (0x01) 1 bajt N bajtova
Slika 4.9 PDU paket slave odgovora funkcije 01
Funkcija 02 (čitanje stanja ulaznog pina) ima identičnu strukturu, osim što se radi o
ulazima.
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 35
U odgovoru slave jedinice, šalje se funkcijski kôd, ukupan broj bajtova sa sadržajem
registara i sam sadržaj registara. Sadržaj jednog registra zauzima 2 bajta.
Data
Function code
Broj bajtova Sadržaj registara
1 bajt (0x03) 1 bajt 2xN bajtova
Slika 4.11 PDU paket slave odgovora funkcije 03
Funkcija 04 (čitanje stanja ulaznih registara) ima identičnu strukturu kao funkcija 03
osim što se radi o ulaznim registrima.
Slave jedinica odgovara sa identičnim PDU paketom kao potvrdom da je zahtev izvršen.
Funkcija 06 (Upiši stanje registra) ima isti format PDU oblasti, a u poslednje polje se
upisuje sadržaj registra. Slave jedinica kao potvrdu o izvršenju šalje identičan PDU paket.
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 36
Data
Function code
Početna adresa Broj izlaznih pinova Broj bajtova Stanje pinova
1 bajt (0x0F) 2 bajta 2 bajta 1 bajt N x 1 bajt
Slika 4.13 PDU paket master zahteva funkcije 15
U odgovoru slave jedinice se kao potvrda šalje PDU paket sa istim sadržajem, bez polja
„broj bajtova“ i „stanje pinova“.
Funkcija 16 (Upiši vrednosti u više registara) ima isti format kao i funkcija 15, ali je reč o
registrima i sadržaj jednog registra zauzima 2 bajta.
Tip
Parametar Deklaracija Opis
podatka
REQ Ulaz BOOL Izvršenje instrukcije na uzlaznoj ivici
PORT Ulaz PORT Identifikacija komunikacionog porta
BAUD Ulaz UDINT Odabir brzine prenosa (baud rate)
Bit parnosti:
PARITY Ulaz UINT 0 – bez
1 – neparan
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 37
2 – paran
Referenca bloka podataka MB_MASTER ili MB_SLAVE
MB_DB Ulaz MB_BASE
instrukcije
DONE Izlaz BOOL 1 – Instrukcija je izvršena bez greške
0 – greška nije detektovana
ERROR Izlaz BOOL
1 – greška je detektovana
STATUS Izlaz WORD Kôd greške
Tip
Parametar Deklaracija Opis
podatka
0 – nema zahteva
REQ Ulaz BOOL
1 – zahtev za slanje podataka slave uređajima
MB_ADDR Ulaz UINT MODBUS RTU adresa stanice
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 38
Tip
Parametar Deklaracija Opis
podatka
MB_ADDR Ulaz UINT Adresa MODBUS slave-a
Pokazivač na unutrašnji registar (holding
MB_HOLD_REG Ulaz VARIANT
register)
0 – nema novog podatka
NDR Izlaz BOOL
1 – novi podatak je upisan od strane mastera
0 – podatak nije pročitan
DR Izlaz BOOL
1 – podatak je pročitan od strane mastera
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 39
Tip
Parametar Deklaracija Opis
podatka
REQ Ulaz BOOL Izvršenje instrukcije na uzlaznoj ivici
0 – Uspostavljanje konekcije sa zadatom IP adresom
DISCONNECT Ulaz BOOL
1 – Raskidanje konekcije
CONNECT_ID Ulaz UINT Jedinstveni ID za identifikaciju konekcije
IP_OCTET_1 Ulaz USINT Prvi oktet IP adrese (32-bitna Ipv4 adresa)
IP_OCTET_2 Ulaz USINT Drugi oktet IP adrese
IP_OCTET_3 Ulaz USINT Treći oktet IP adrese
IP_OCTET_4 Ulaz USINT Četvrti oktet IP adrese
Broj IP porta servera sa kojim klijent uspostavlja
IP_PORT Ulaz UINT
konekciju (najčešće 502)
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 40
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 41
5. USS PROTOKOL
USS protokol (Universal Serial Interface Procotol) je serijski protokol koga je razvila
kompanija Siemens isključivo za komunikaciju sa Siemens-ovim pretvaračima SIMOVERT i
SIMOREG serije. Protokol se bazira na master-slave tehnologiji pristupa medijumu za prenos i
predviđa prisustvo jednog master uređaja i do 31 slave uređaja. Komunikacija se odvija
posredstvom telegrama, a na fizičkom nivou protokol se bazira na RS-485 standardu. Za
konekciju su predviđeni Sub D 9-pinski konektori, sa terminacijom linije na krajevima veze.
Moguća je i point-to-point konekcija preko RS-232 standarda. Razmena podataka je najčešće
ciklična, mada je moguća i aciklična komunikacija.Iz ovih osobina može se zaključiti da je USS
protokol dosta sličan PROFIBUS DP protokolu sa PROFIDRIVE aplikacijskim profilom.Iako
postoje sličnosti, USS protokol je dosta jednostavniji i lako se implementira u postojeće sisteme.
Osnovne odlike USS protokola su:
Master-slavetehnika pristupa,
1 master uređaj i do 31 slave uređaja,
Jednostavni i pouzdani telegrami,
Komunikacija preko RS-485 standarda ili point-to-point preko RS-232 standarda,
Sličnost sa PROFIBUS DPprotokolom (PROFIDRIVE profil),
Lako se implementira u postojeće sisteme.
Master
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 42
Ukoliko je potrebno ostvariti point-to-point konekciju, u kružnu listu se upisuje adresa samo tog
uređaja sa kojim je potrebno komunicirati.
Iako je prenos podataka USS protokola uglavnom cikličan, moguće je primeniti i aciklični
prenos za servisiranje i dijagnostiku uređaja na liniji. Acikličnim prenosom telegrami se šalju u
nedefinisanim vremenskim intervalima. Nije moguće istovremeno primeniti i ciklični i aciklični
prenos. Slave uređaji u ovom slučaju nemaju mogućnost nadgledanja telegrama radi uočavanja
greške.
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 43
ADR – adresni bajt(Adress byte), u koji se upisuje adresa slave jedinice kojoj je namenjen
telegram,
Oblast podataka (Net characters) – sastoji se iz dve oblasti: PKW (Parameter ID value) i
PZD (Process data). Veličina ove oblasti zavisi od toga da li je telegram fiksne ili
promenljive dužine,
BCC – karakter za proveru bloka (Block check character), veličine jednog bajta.
Oblast podataka
STX LGE ADR BCC
PKW PZD
Slika 5.3 Struktura USS telegrama
Telegram se šalje bajt po bajt, gde su svakom bajtu dodata još 3 bita: Start bit, bit parnosti i stop
bit. STX bajt nije dovoljan sam po sebi da bi se prepoznao početak telegrama. Između dva
telegrama potrebna je tišina na liniji (odsustvo emitovanja) u trajanju od 2 karaktera. To vreme
zavisi od odabrane brzine prenosa.
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 44
PKE (Parameter ID) i IND (Index) – u ovim poljima su definisani zahtevi (tip zadatka)
koje master jedinica šalje slave-u
PKW elementi (PKW elements) – Sadrži opis ili vrednosti parametara koji se prenose
Procesna PZD oblast omogućava upravljanje i nadzor frekventnog regulatora. Ukoliko se
telegram šalje od master-a kad slave-u, ovde je su sadržana kontrolna reč i referenca pomoću
koje master upravlja slave-om (start, stop, referenca brzine). Ukoliko je u pitanju telegram
odgovora, ovde će biti sadržana statusna reč i stvarna vrednost nekog parametra ( brzina, struja,
itd.).
PKW oblast PZD oblast
PKE IND PKW elementi PZD1 ... PZDn
Slika 5.4 Oblast podataka
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 45
Tip
Parametar Deklaracija Opis
podatka
Bit starta pogona. Ako je ovaj bit 1, omogućen je start
RUN Ulaz BOOL
motora sa zadatom brzinom
Bit električne kočnice. Ako je ovaj bit 0, motor će biti
OFF2 Ulaz BOOL
zaustavljen bez dodatnog kočenja
Bit brzog zaustavljanja. Ako je ovaj bit 0, aktivira se
OFF3 Ulaz BOOL
brzi stop pomoću kočenja motora.
Fault acknowledge bit. Ovaj bit resetuje fault bit.
F_ACK Ulaz BOOL Nakon što je kvar otklonjen ovaj bit se setuje na 1 kako
bi se pogonu stavilo do znanja da je kvar otklonjen.
DIR Ulaz BOOL Bit smera obrtanja motora
DRIVE Ulaz USINT Adresa slave jedinice sa kojom treba komunicirati
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 46
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 47
6. AS-INTERFACE
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 48
Poziv master-a:
Start bit (ST) – Označava početak poruke(0 je validan bit, 1 nije dozvoljen),
Kontrolni bit (CB) – Označava da li se poziv odnosi na podatke/parametre/adresu ili se
radi o kontrolnom pozivu (1 – kontrolni poziv),
Adresa – Označava adresu slave-a koji se poziva (5 bitova),
Informacije – U zavisnosti od tipa poziva, u ovom polju se nalaze informacije o slave-u
(5 bitova),
Bit parnosti (PB) – Parni bit parnosti,
Kraj poziva (EB) – Bit koji označava kraj poziva (1 – validan bit, 0 – nije dozvoljen).
Odgovor slave-a:
Start bit (ST) – Označava početak odgovora,
Informacije – 4 informaciona bita,
Bit parnosti (PB) – Parni bit parnosti,
Kraj poziva (EB) – Bit koji označava kraj odgovora.
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 49
adresiranje mogli primeniti u starim sistemima gde stari master nije u mogućnosti da razlikuje
Aslave od B slave-a. Odgovor slave jedinice je isti u oba slučaja.
Standardni
A slave B slave
slave
AS-i kabel odlikuje jednostavnost i omogućavanje brze instalacije AS-i sistema. AS-i
kabel je gumirani dvožilni kabel (2x1,5 mm2) sa specifičnim poprečnim presekom koji
onemogućava nepravilno povezivanje uređaja (obrnut polaritet).
Kontakt sa uređajem se ostvaruje pomoću takozvanih kontaktnih oštrica koje poseduje većina
AS-i uređaja. Kontaktne oštrice probijaju gumeni omotač kabela i delom probijaju dva
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 50
provodnika. Na taj način se osigurava čvrsta veza i mala kontaktna otpornost. Ovo takođe
otklanja potrebu za otklanjanjem izolacije kabela.
Slika 6.4 Princip ostvarivanja kontakta između AS-i kabela i AS-i uređaja
AS-i moduli su suštinski ulazno/izlazni uređaji i služe za integraciju više senzora ili
aktuatora. Aktuatori i senzori se na modul priključuju pomoću M12 konektora. Razlikujemo 2
tipa AS-i modula:
Aktivni AS-i moduli, koji u sebi imaju integrisan AS-i čip. Ovo omogućava konektiju
standardnih, konvencionalnih senzora i aktuatora, koji nisu sami po sebi predviđeni za
AS-i mrežu,
Pasivni AS-i moduli, bez integrisanog AS-i čipa. Na ovaj modul mogu se priključiti
isključivo AS-i senzori i aktuatori, koji u sebi imaju integrisan AS-i čip.
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 51
Većina PLC-ova ima na sebi integrisan neki od portova (najčešće RS-485 ili
PROFINetport) za komunikaciju koristeći se nekim od komunikacionih protokola. Međutim,
nerealno bi bilo očekivati da jedan PLC u startu podržava sve do sada nabrojane protokole. U tu
svrhu svaki Siemens S7 PLC ima sebi namenjen komunikacione module koji podržavaju
određene komunikacione protokole.
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 52
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 53
8. ZAKLJUČAK
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 54
9. LITERATURA
[1] Darko Marčetić, Marko Gecić, Boris Marčetić, „Programabilni logički kontroleri i
komunikacioni protokoli u elektroenergetici“, ISBN 978-86-7892-490-3, FTN
izdavaštvo, Novi Sad, 2013.
[2] Siemens AG, PROFIBUS with STEP 7 V12 Function Manual, 01/2013
[3] PROFIBUS Nutzerorganisation e.V. PNO, PROFIBUS Technology and Application,
10/2002
[4] PROFIBUS Nutzerorganisation e.V. PNO, PROFIBUS System Description - Technology
and Application, 11/2010
[5] PROFIBUS Nutzerorganisation e.V. PNO, PROFINET System Description – Technology
and Application, 06/2010
[6] Siemens AG, PROFINET with STEP 7 V13 Function Manual, 02/2014
[7] Siemens AG,SIMATIC, PROFINET system description, system manual, 06/2008
[8] Modbus-IDA, Modbus Application Protocol V1.1 b3, 2012
[9] Modbus-IDA, Modbus over serial line specification and implementation guide V1.02,
2006
[10] Modbus-IDA, Modbus messaging on TCP/IP implementation guide V1.0b, 2006
[11] Siemens AG, Universal Serial Interface Protocol specification, 09/1994
[12] Siemens AG, SIMATIC NETAS-Interface - Introduction and Basics, 2006
[13] www.rtaautomation.com/as-interface (datum pristupa: 11.06.2014.)
[14] www.as-interface.net/knowledge-base (datum pristupa: 11.06.2014.)
[15] www.industry.siemens.com/topics/global/en/tia-portal/pages/default.aspx
[16] Siemens AG, S7-1200 Programmable controller System Manual, 04/2012
[17] Milorad Kaplarević, Realizacija elektromotornog pogona primenom PROFIBUS i USS
komunikacije, Diplomski-master rad, 2009.
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 55
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 56
Lista tabela:
Tabela 2-1 OSI model PROFIBUS DP i PROFIBUS PA protokola ............ 4
Tabela 2-2 Uporedne karakteristike prenosa ................................................. 6
Tabela 2-3 Upotreba određenih adresa uređaja ............................................ 8
Tabela 2-4 Pregled dodatnih aplikacija ........................................................ 11
Tabela 3-1 Pojedini nivoi PROFINet protokola prikazani prema OSI modelu
18
Tabela 3-1 Uporedne karakteristike pojedinih medijuma za prenos ........ 19
Tabela 3-3 Parametri instrukcijskog bloka TSEND_C ............................... 24
Tabela 3-4 Parametri instrukcijskog bloka TRCV_C ................................. 25
Tabela 4-1 OSI model MODBUS protokola ................................................. 30
Tabela 4-2 Kodovi često koršćenih MODBUS funkcija .............................. 34
Tabela 4-3 Parametri instrukcijskog bloka MB_COM_LOAD ................. 36
Tabela 4-4 Parametri instrukcijskog bloka MB_MASTER ....................... 37
Tabela 4-5 Parametri instrukcijskog bloka MB_SLAVE ........................... 38
Tabela 4-6 Značenje pojedinih parametara instrukcijskog bloka
MB_CLIENT ................................................................................................... 39
Tabela 5-1 Značenje kombinacija poslednja 3 bita ADR bajta .................. 43
Borivoj Jovanović
Komunikacioni protokoli koje podržava Siemens S7 PLC serija 57
Borivoj Jovanović