You are on page 1of 52
8 7_UVOD U INDUSTRUSKE PROTOKOLE 7. UVOD U INDUSTRIJSKE PROTOKOLE ZA PRENOS PODATAKA Slozeni industrijski sistemi se sastoje iz upravijackih uredaja, memih uredaja, izvrSnih organa i objekata upravijanja koji su u opstem sluéaju distribuirani. U ovakvim sistemima se javija potreba za zadavanjem komandi i razmenu podataka na daljinu. Zato su vremenom razvijeni razni oblici komunikacionih protokola od kojih su neki postali standard i podrZava ih veéina raspolozivih industrijskih uredaja. Komunikacioni protokoli obezbeduju sintaksna i semanticka pravila komuniciranja Oni sadrée detalje 0 formatima poruka i pravilima kojih se moraju pridrzavati uéesnici u komunikaciji da bi mogli razmenjivati poruke. Slozeni sistemi za prenos podataka ne koriste samo jedan protokol, ve¢ citav skup protokola koji medusobno saraduju, Komunikacioni protokoli primenjeni u elektroenergetici se razvijaju u dva osnovna pravea, Sa jedne strane, raste potteba za protokolima koji ostvaruju komunikaciju u realnom vremenu, i time omoguéuju daljinski nadzor bez kasnjenja i pravovremenu kontrolu fizigkih procesa. Sa druge strane, raste i potreba za daljinskim nadzorom, pogotovo_preko interneta, koji nudi vise moguénosti ali ne garantuje i rad u realnom vremenu. Veéina industrijskih mreZa su zasnovane na master-slave konfiguraciji u kojoj master uredaja sekvencijalno alje poruke slave uredajima, koji im onda odgovaraju, Ova sekvenca se naziva prozivanje. $ obzirom na to da je sistem transparentan, preduslov za ovu proceduru je da svaki slave uredaj ima svoju adresu. U nastavku ove knjige biée obradeni prosti protokoli nizeg reda, a zatim i slozeni komunikacioni protokoli vigeg reda koji omoguéuju vise funkeija i vise nagina povezivanja. Poseban osvit ée biti dat na primenu datih protokola u PLC okruzenju 7.1. Tipovii primena komunikacionih protokola 7.1.1, Razlika izmedu serijskog i paralelnog prenosa podataka Digitalni podatak koji treba preneti sa jednog na diugi uredaj sadrZi vise bitova informacije (8, 16, 32, 64, 128,...). Posto veéina fizitkih linija za prenos podrZava samo dva logigka stanja i prenosi samo jedan bit informacije vise falni podatak se moze preneti na jedan od dva nagina: ser prenosom u kome se prenos podatka vrSi bit po bit preko jedinstvenog voda ili komunikacionog kanala (slika 7.1a), i paralelanim prenosom u kome se prenos svih bitova jednog podatka visi istovremeno preko vie paralelnih kanala za prenos (slika 7.1b). 4 8 a) » TJC nn, 0 0 Ae ; Sql 2 Dy 2 jy a a Slika 7.1 Vrste digitalnog prenosa podataka, a) serijski, b) paraletni PLC i komunikacioni protokoli u elektroenergetici 9 Paralelni prenos karakteri8e istovremeni prenos svih bitova digitalne reéi koja se prenosi. Za prenos n-bitnog podatka paralelni prenos zahteva barem n linija za prenos, za svaki bit jednu liniju. Paralelni prenos je brZi od serijskog, na slici 7.1 se vidi da je paralelnim prenosom u istom vremenskom intervalu preneto vige podataka (u idealnom siuéaju n-bitni podatak se paralelno prenosi n puta brZe nego serijski). Ali, paralelni prenos zahteva n puta vi8e kanala za prenos. Nadalje, pored linija za bitove podatka neophodna je i linija za sinhronizaciju éitanja kao i veza signalnih masa dva uredaja. Na slici 7.2 prikazan je prenos 8- bitnih podataka izmedu dva uredaja (oznatenih sa A i B). Vidi se su pored 8 linija za prenos podataka potrebne joS dve linije, za sinhronizaciju i naredbu éitanja/pisanja Syne B RDIWR Do DI 2 D3 D4 Ds D6 DI Slika 7 2 Paraletni prenos 8-1 itnih podataka Paralelni prenos je mnogo brZi od serijskog prenosa i primenjuje se pri razmeni podataka unutar mikroprocesorskih uredaja. Ali, paralelni prenos se pokazao kao nepraktigan za prenos podataka na daljinu. Kao prvo, postoji problem sa Sumom na liniji, gre8ka u predaji bilo kojeg bita resi dovodi do pogreske. Drugo, realizacija paralelnog prenosa na daljinu je skuplja jer raspolozivi mediji za prenos ne poseduju vise linija veze. Veliki broj potrebnih veza (jedna po bitu) ograniéava primenu. paralelnog prenosa na kratka tastojanja Serijski_ prenos se pokazao kao pouzdaniji i jeftiniji od paralelnog, posebno za komunikaciju izmedu dva udaljena uredaja. Iz. tog razloga nastaje vise komunikacionih protokola (skup pravila za razmenu podataka izmedu dva uredaja) i normi (medunatodni standardi za prenos) koji se zasnivaju na serijskom prenosu. Ovi standardi za serijski prenos se razvijaju i danas éesto i prevazilaze standarde paralelnog prenosa i po brzini prenosa i po kompleksnosti. Iz tog razloga je danas serijski prenos jedini izbor za prenos podataka na daljinu. lako se serijski prenos moze ostvariti preko jednog provodnika, u praksi su potrebne najmanje dve linije (provodnika, Zice) za serijsku komunikaciju: jedna za podatke i druga, tev masa ~ da bi se zatvorilo strujno kolo izmedu dva sistema koji serijski komuniciraju. Na slici 7.3 prikazan je prenos &-bitnih podataka izmedu dva _udaljena mikroprocesorska uredaja. Unutar mikroprocesorskih uredaja podaci se prenose patalelno, u ovom slugaju preko 8-bitne magistrale za podatke koja u datom primeru ima i dva kontrolna signala: Syne i RD/WR. PoSto se za prenos podataka izmedu dva uredaja dalje koristi serijski prenos neophodno je izvrsiti paralelno-serijsku konverziju za slanje i serijsko-paralelnu za prijem serijskih podataka, Ove konverzije vr8i serijski port primenom pomeraékih registara, Na primer, podatak iz uredaja A izlazi iz predajnog dela (TX - transmit) serijskog. porta uredaja A i ulazi u prijemni deo (RX - receive) serijskog porta uredaja B. Paralelni podatak koji se Salje na TX izlazu konvertuje se u serijski, dok se serijski primljeni podatak na RX ulazu konvertuje u paralelni i kao takav dalje koristi. Za dvosmemu komunikaciju oba uredaja moraju da imaju RX i TX deo koji se ukrSteno vezuju kao na slici 7.3. 80. 7. UVOD U INDUSIRUSKE PROTOKOLE \ 1 1 Sync }—»} 1 1 —>| Sync 1 | — ROWE TL” Seriiski | |_| Serijski [>| R08 Di port I i port DI D2| ' ! D2 A ps ' ' ps B Da I i D4 Ds| RX fey 7>] RX DS D6 \ i +—D6 p7| ley _ b7 i Slika 7.3 Serijski prenos 8-bitnih podataka nedu udaljenih uredaja 7.1.2. Komunikacioni protokoli nizeg reda Bilo koji komunikacioni sistem za prenos podataka se u osnovi sastoji od predajnika, prijemnika i nekog komunikacionog kanala. Predajnik generiSe niz podataka pri Semu je pojava i nestanak svakog bita u vremenu pod kontrolom taktnih impulsa. Posto jedan ureda} moze biti i prijemnik (RX) i predajnik (TX) razlikuju se tri nacina prenosa (slika 7.4): simpleks (simplex), polu-dupleks (half-duplex) i potpuni dupleks (fill-duplex). Simplex je veza koja dozvoljava prenos samo u jednom smeru. Kod ovakve veze jedna stanica/terminal je predajnik, a druga prijemnik. Full-duplex veza obezbeduje istovremeni dvosmerni prenos i za svaki smer postoji odvojena linija za prenos. Znati, obe stanice mogu istovremeno da obavljaju predaju Koriste¢i posebne kanale (po jedan za svaki smer prenosa). Cesto se pokazuje da nema potrebe da oba uredaja .pritaju istovremeno tako da se primenjuje half: duplex. Half-duplex je veza kod koje obe stanice mogu vrsiti predaju/prijem po istom kanalu, ali ne istovremeno (kada je jedna predajnik, druga je prijemnik, 1 obmuto). U ovoj ve neophodno je da je jedan od dva uredaja master, to jest kontroler linjje, i da inicira prenos Drugi uredaj je pasivan, i komunicira samo ako je prozvan, zato se naziva slave uredaj 1X > RX a) jednosmemi kanal 1X RX m4 'b) dvosmerni kanal ' RX (half-duplex) 1X 1x > RX ©) dvosmerni kanal {Falduptex) RX 1X Slika 7.4 Naéini prenosa signala. a) simplex, b) half-duplex, ¢) full-duplex PLC i komunikacioni protokoli u elektroenergetict 81 Protokoli nizeg reda definigu fizicki nivo prenosa poruke, ali i strukturu poruke. Protokol definise naponske nivoe na liniji za prenos ali i hardver (prijemna i predaina kola, konektore) potreban za predaju i prijem poruke. Protokol nizeg reda definiSe i potetak (start) poruke, sastav poruke, vremenski interval izmedu dva bita poruke kao i zavrSetak (stop) poruke. U slucaju half duplex master-slave protokola dodatno je potrebno definisati na koje poruke se javlja pasivni uredaj i kako na te poruke on odgovara. U ovoj knjizi su obradena dva protokola nizeg reda, RS232 i RS485 protokol. Protokol RS232 je jedan od prvih serijskih protokola, dok je RS485 bazna osnova visih protokola kao Sto su MODBUS, PROFIBUS, itd. 7.1.3. Komunikacioni protokoli vigeg reda U industrijskim sistemima se javlja potreba za razmenom podataka izmedu vise udaljenih uredaja od kojih svaki ima neku ulogu u sloZenom proizvodnom procesu. U ovom sistemu uobifajeno postoji i komandni uredaj Koji kontrolige liniju veze i ini pojedinatni prenos, dok ostali uredaji dobijaju adrese na osnovu kojih se prozivaju. Taj uredaj se naziva master uredaj dok su svi drugi pasivni i nazivaju se slave uredaji. Za ovu vrstu veze je neophodan serijski protoko! master-slave tipa koji definiSe sve potrebne akcije sa strane ‘master uredaja, ali i sa strane slave uredaja. Na slici 7.5 je dat primer master-slave sistema za komunikaciju u kome se nalazi jedan master uredaj (M) i tri slave uredaja (S1, $2, $3) master slave 1 slave 2 slave 3 RX/TX RX/TX RX/TX RX/IX —! foo 6h 6UT Slika 7 5 Master/slave komunikacija (koriste je protokoli PROFIBUS, MODBUS, ..) U potetnom stanju svi slave uredaji su postavijeni u prijemno stanje, dok je master postavijen u stanje za predaju. Na potetku poruke master postavlja adresu slave uredaja sa kojim hoge da Komunicira i zapoginje prozivanje. Nakon sto je prozvan adresira uredaj, master se postavlja za prijem, a prozvani slave uredaj za predaju. Svi ostali slave uredaji nisu prepoznali svoju adresu i ne odazivaju se. Prozvani slave uredaj Salje odgovor ‘master wredaju i zatim se postavlja opel u stanje prijema. T i su MODBUS i PROFIBUS i opisani su u nastavku ove knjige. Lokalne mreze vie raéunara istog znataja i prioriteta po pitanju pristupa liniji otvaraju prostor 2a razvo} protokola koji nisu master-slave tipa, kao Sto je na primer Etherent protokol. Posto su svi uéesnici u komunikaciji ravnopravni, u svojim prim verzijama Ethernet protokol definise procedure koje se pokreéu u slutaju kolizije na liniji koja nastaje ako dva uredaja istovremeno iniciraju prenos Konaéno, moderne LAN (Local Area Network) mreze, kao i internet u celini kao jedna mreza, sa velikom koliginom uvezanih mreZa i ra¢unara, kao i velikom koli¢inom veza izmedu njih, koje nisu jedinstvene niti jednoznaéno definisane, pokrecu razvoj Gitavog niza protokola na osnovu kojih nastaje TCP/IP protokol stek. Mreza ovog tipa ilustrovana je na 7.6. TCP/IP protokol stek se sastoji od vise protokola koji obezbeduju da svaka tacka ima jedinstvenu adresu, da podatak koji se prenosi iz taéke A u taéku B uspeSno prode kroz pojedine podlinije putanje, da se odabere pravilna ukupna putanja od A do B , da se obezbedi provera da li su svi podaci stigli od A do B, itd. 82 7.UVOD U INDUSTRUSKE PROTOKOLE F D Slika 7.6 Komunikacija vige ravnopravnih uredaja, (Ethernet, TCP/IP, .) 7.1.4. Podrugje ili nivo primene komunikacionog protokola Dosad su spomenuti protokoli nizeg i protokoli vigeg teda Ovo poglavlje se bavi razlozima pojave i jednih i drugih, kao i podrugjem u kome se danas primenjuju. 7.14.1. Komunikacioni protokoli nizeg reda Protokoli nizeg raca su prosti i osmisijeni su prvi. Oni su bili dovoljni sve dok su PC raéunari ili razni mikroprocesorski sistemi komunicirali samo sa jednim uredajem, koji je bio relativno blizu i sa kojim se razmenjivalo relativno malo podataka. Ovo vadi, na primer za vezu PC sa modemom, faksom, migom, ili vezu mikroprocesora sa memorijom, displejom, itd. Za ovakvu prostu komunikaciju bilo je sasvim dovoljno koristiti RS232 prenos i postavit ceo protokol oko jednog bajta informacije koji treba preneti 7.1.4.2, Protokoli viseg reda Stvari su se zakomplikovale razvojem inform: Komunikacionih mreza: nih tehnologija i uvecanjem slozenosti * Unutar industrije je postalo neophodno pronaéi brz i siguran nagin za povezivanje jednog ili vie komandnih uredaja (mikroprocesor, PLC ili industrijski PC raéunar) sa vie udaljenih senzora i aktuatora preko istog fiziékog medija za prenos podataka, * Razvojem LAN (Local Area Network) mreZa je postalo neophodno povezati vise PC racunara i druge kancelarijske opreme na isti fizitki medij za prenos. Ove mreze karakterile veliki broj aktera u komunikaciji i bilo je potrebno naginiti takav komunikacioni protokol koj + naginiti takve poruke ili pakete za prenos, koje nose informaciju kom uredaju su namenjene, fj njegovu adresu, + paketi nose informaciju i ko ih Salje, pogotovo ako ogekujemo povratni odgovor Takode, prilikom prenosa jednog paketa, protokol mora: © da definige naéin pristupa liniji, ko i kada ima pravo za slanje, © daugradi mehanizme za proveru greske na predaji, © da predvidi natin za ponavljanje slanja u sluéaju greske, itd, Protokoli vigeg reda koji ispunjavaju navedene uslove i obradeni su u ovoj knjizi su MODBUS i PROFIBUS. Na nigem, fizitkom nivou, ovi protokoli se i dalje oslanjaju na protokole nizeg reda, uglavnom na RS485 protokol. MODBUS i PROFIBUS protokol su uspeSno zaziveli i velika koligina proizvodata pravi gotove (off-the-shelf) proizvode koji ih podr2avaju i time omogucuju Lego control systems, sisteme u kojima se samo uklapaju kockice i postavlja komunikacija izmedu njih PLC i komunikacioni protokoli u clektroenergetici 83 7.1.4.3. Internet Stvari suse dodatno zakomplikovale uvodenjem www (world wide web) \j. interneta i potrebom za prenosom ne kratkih poruka definisanih protokolom, nego ogromnih koli podataka (slika, film, Word dokument, itd.) koje mreza ne moze odjednom da prenese, Sada je pored svega gore pomenutog tokom jedne komunikacije bilo neophodno i: * podeliti veliku koliginu podataka pre slanja u nizove bajtova ili pakete koje mreza moze odjednom da prenese, * osmisliti mehanizam koji na osnovu vise primljenih paketa moze ponovo da rekonstruige celokupnu originainu poruku, ‘+ na internet nivou je potrebno jedinstveno identifikovati mrezu kojoj podatak saljemo, + pronaéi nagin za optimalno rutovanje paketa kroz internet do Zeljenog uredaja, ¢ _ pronaéi aplikaciju na ciljnom raéunaru kojoj je primljena poruka namenjena, itd Slozena internet komunikacija koristi vi8e protokola, na razli¢itim nivoima komunikacije, koji dine TCPAP protokol stek. Fizitki nivo TCP/IP steka se uglavnom realizuje preko Ethernet protokola koji je najviSe primenjen LAN protokol. 7.1.4.4. Gde se koji protokol danas kori Posto protokoli najviseg reda predvidaju i reSavaju veéi broj problema tokom komunikacije nameée se zakljutak da nam protokoli nizeg reda danas vise nisu ni potrebni. Ali, Sto je protokol vigeg reda, on je slozeniji i predviden za: © prenos veée koligine podataka, * _pronos preko slozenijih mreza sa vie aktera i viSe putanja (Konagno preko interneta), Samim tim, protokol viseg reda: * mora da predvidi i proveri veliki broj situacija, + ima veliki protokol overhead (odnos ukupno prenetih bajtova i bajtova informacije). Kao rezultat, 5to je protokol vigeg reda to je manje u moguénosti da obezbedi brz prenos podataka u realnom yremenu Sa druge strane, sisteme za kontrolu i akviziciju podataka sa fizi¢kih procesa karakteris * relativno mala koligina podataka koje treba preneti, + mali broj aktera na liniji, ponekad samo jedan senzor i jedan uredaj koji ga cita, * potreba za brzim prenosom u realnom vremenu, koji omogucuje neprestano praéenje i pravovremenu kontrolu fiziékih procesa, 12 gore opisanog razloga se razdvajaju nivoi industrijske automatizacije, na kojima se koriste azn protokoli, razligite sloZenosti, tabela 7.1. Na visim nivoima, ede se razmenjuje vise podataka i postoji vie aktera i kombinacija za prenos koriste se TCP/IP i Ethernet. Na stednjim nivoima se koriste PROFIBUS i MODBUS, dok se na najnizim nivoima, na polju aktuatora i senzora, zadrZavaju protokoli nizeg teda ili prostije verzije protokole viseg reda Tipnivos 7 kerisies Kratak opis Ea Kancelarijsit internet protokoli | 7CP/P + 2 | CAN iwi) offcenienooke | eet | Veca emedu PC ratunar i interneta aoe Fabri¢ki protokol Ethernet, | Veza tzmedu PC, industriskih PCT = plant protocol - PROFINet _| PLC kontrolera ae Procesni protokoli PROFIBUS, | Veza PLC i imteligentnih procesnih | feta bus. MODBUS "| uredaja (pogoni, napajania, konvertori)_| “Akvizicioni i Kontrolni CAN, Vera ka raznim senzorima( temperatura, Nivo 4 protokoli RS485, _|protok, snaga) i prostim aktuatorima sensor bus- PROFIBUS | (ventli, DA konvertor, prekidati_) Tabela 7-1 Razliciti nivot industrijske automatizacije i kori8éeni komunikacioni protokoli 84 7. UVOD U INDUSTRISKE PROTOKOLE 7.2. OSI model komunikacionih protokola Open System Interconnection (OSD model je naginjen jos 70-tih godina i namena mu je bila da postane standardni natin za opisivanje strukture sloZenog komunikacionog protokola koji radi na nekoj mrezi OST je i standardizovan od strane CCITT i ISO kao ISO/IEC 7498. Osnovna namena ovog modela je bila obezbedivanje radnog okvira za Kreiranje skupa otvorenih sistemskih protokola. Skup otvorenih sistemskih protokola je trebalo da omoguéi kreiranje mreze koja ne bi zavisila od protokola ili sistema koji su u privatnom vlasnistvu, Pored OSI modela, paralelno se razvijao i TCP/AP model slozenih protokola Koji je opste prihvacen za opis rada najvaznije mreze, intemneta, tako da je OSI ‘guran u drugi plan. Posto je zakasnio, OS/ referentni model je iskori8éen za razvoj samo nekoliko protokola, od kojih najpoznatiji /S-IS na kraju nije ni implementiran. Ipak, glavni doprinos OS/ referentnog modela je jasno razumevanje funkcija i procesa ukljugenih uw mreznu interakciju. Napravljen kao referentni model OS/ obezbeduje opise veéeg broja funkcija i servisa koje se pojavijuju na svakom sloju. Takode, OS/ obezbeduje i referencu sa ciljem da se obezbedi povezanost svih tipova protokola i servisa. U poslednje vreme OST teferentni model se zbog svoje opstosti ponovo koristi i za razvoj protokola i produkta za sve tipove novih mreza. referentni model 7.2.1. Sedam nivoa OSI modela Ragunarska komunikaciona mreZa se opisuje pomocu OSI referentnog modela koji je sastavljen od sedam slojeva. Svih 7 nivoa su opisani u tabeli 7-2 ; ; Engieskd naziv Pas Broj_| Ime ivoa eee Koje servse nv obuhvata Z| ive aplikaciie [Application | Svi seri diekino porivan sa korisnizom 6 | Wino perencie | Presemanon | Nz Romer Eoiane posal (la ; Sree Pam kop proces ajo podaike, deinike ses eee : kao skup podataka poslatih od aplikacije. | Defragmentciia na pakete za slanje, priagodenje | spor nv ha podataka mreénom nivou, kontrola. prenosa _ Transportn id Transport paketa do konatne destinacije i reakeija na Eventual gredke : Pronalagenie ellnjog tabunara,Tabun optimalne " ae rute za pojedine pakete (routing) a prenosa i reakcija na gretRe, na nivou : , wating | e008, paket | jedne Tokalne lnje 22 prenas : ‘Nive, vous podataea tae Ovaj deo protokola obezbeduje da jedan paket os prode bez greske kroz lokalnw ini Delinife naéin Kodovanja 1 —modalisatja 1 Fizitki nivo Physical | informacije Definige elektrigne karakteristike 7 veze, koje medje koristiti konektor, id Tabela 7-2 Nivoi OSI referentnog modela OSI model predvida da je prvi sloj komunikacije njen fizitki sloj (medij za prenos Ovaj nivo specificira sve fizitke elemente veze (konektori, Zice, pojatavadi, itd), ali i elektrigne signale koji prenose informaciju. Drugi sloj koji osigurava pouzdan_prenos clokupnog podatka, specificira funkeije i procedure za prenos podatka izmedu dva direktno povezana mrezna uredaja. Ovaj deo obiéno definige i nagin za detekciju greske nastale u prenosu na prvom fiziékom sloju. Treéi sloj, ili mrezni sloj definise funkeije i procedure za PLLC i komunikacioni protokoli u elektroenergetici 85 prenos segmenata podataka promenijive veligine izmedu dva ra¢unarska sistema koji se nalaze na-razlititim mreZama, za razliku od drugog sloja koji to isto defini8e, ali za dva sistema koji se nalaze na istoj mrezi. Na éetvrtom sloju, koji je transportni sloj, definiSu se postupei za pregledan i pouzdan (sa moguénoSéu uoéavanja greske i njenog otklanjanja) prenos podataka izmedu dva sistema. Peti sloj, sloj sesije, opisuje upravljanje pojedinaénim sesijama tj. konekcijama Sesti sloj je prezentacioni sloj i na njemu se definiSu postupci prezentovanja podataka, tj. kako znati da li su pristigli binami podaci, slika, film ili nesto treée. Sedmi sloj je aplikacijski sloj i on identifikuje uéesnika komunikacije, dostupnost resursa i sinhronizaciju Un nastavku ée biti detaljnije opisani nivoi OS/ modela. TAA. Fizitki nivo (physical layer) Ovaj nivo definie kako ée se visiti transfer bitova informacije jedne poruke. U ovom nivou se definigu svi fizitki (mehaniki i elektriéni) vidovi veze kao Sto su konektori, funkcije pojedinih pinova, tipovi kablova, naponski i strujne nivoe na liniji (koji nivo je binarno nula, a koji binarno jedan, a koji je napons! Ou signale koji bolje odgovaraju liniji za prenos. Ovde se defini * koji ée se sve tipovi medija mo¢i koristiti za prenos (bakar, vazduh, optika, itd.), da li ée se signal prenositi analogno ili digitalno, koji signal definise jedinicu, koji nulu, (Volts/db), kako ih razlikovati od neaktivne linije, tj. kako da prijemnik ,oseti* start poruke, kako prijemna stanica da ,.oseti* kraj poruke, mehanigki deo protokol standarda, konektore, kablove, itd. nivo kada je linija neaktivna). Ovaj nivo pretvara niz 1 i 7.2.1.2. Nivo voda podataka (data link layer) Nivo voda podataka definise sredstva potrebna za razmenu podataka izmedu dve tatke lokalnog fizi¢kog medija. Drugi nivo je odgovoran za razmenu jednog sukcesivnog paketa bajtova izmedu dva direktno povezana uredaja. Nivo definise ko i kada moze da pristupi liniji i Sta koji bajt u nizu podataka znaéi za prijemni deo. Po OST tuma€enju ovaj nivo obezbeduje dva servisa: 1. prvi servis uspostavija vezu izmedu sofiverskih procesa vi8ih nivoa i nizeg fizickog nivoa 2. drugi servis je odgovoran za uspeh komunikacije izmedu dva susedna évora tokom transfera poruke od izvora ka destinaciji. Da bi se realizovala ova dva servisa nivo podataka se uobiajeno deli na dva dela: logi¢ku kontrolu linka LLC (Logical Link Control) i kontrolu pristupa medijumu MAC (Media Access Control). Vi8i podnivo LLC omoguéava povezivanje razligitih protokola na nivo voda podataka. Taj podnivo moze opciono da definige kontrolu toka podataka, potvrdu prijema, detekciju, korekciju i obavestavanje greskama Nizi podnivo MAC obezbeduje adresiranje, uskladivanje podataka za zahtevima fizitkog medija i pravila za pristup medijumu. Rad ovog nivoa ée biti jasniji u poglavijima u kojima su opisani nivo voda podataka PROFIBUS i Ethernet protokola 7.2.1.3. Nivo mreze Ovaj nivo OS/ modela je uglavnom tu zbog slozenih mreza (pogotovo interneta) koje poseduju veci broj mogucih putanja do destinacije i veéi broj razligitih rutera duz tih putanja. On je odgovoran da se jasno definise destinacija (/P — adresiranje) ali i da se naéini optimalni put podataka kroz mrezu ka toj destinaciji (rutiranje) Ovaj nivo obezbeduje: 86 7, UVOD U INDUSIRUSKE PROTOKOLE © Adresiranje, koje je jedan od osnovnih servisa koje nivo mreze mora da obezbedi. Adresiranje mora da omoguéi _nedvosmislenu identifikaciju ucesnika, kako predajnika poruke tako i prijemnika. © Enkapsulaciju, Veliki podaci pristigli sa viseg sloja se grupisu u manje pakete Kojima se u okviru nivoa mreze pridodaje zaglavije U zaglavlju se defini8e polazna i odredigna adresa_ Na ovaj nagin uredaji koji posteduju u razmeni znaju kojem ucesniku su koji podaci namenjeni, fj. koje je njihovo odrediste. © Ratiranje. Mre2ni nivo obezbeduje servise kojima svi posrednigki uredaji usmeravaju njima pristigle pakete prema njihovom odredistu. Posredniki uredaji se nazivaju uteri a proces odludivanja o putanji i prosledivanje paketa odredenom putanjom naziva se rutiranje Svaki prolazak paketa kroz posrednitki uredaj se registruje kao jedan skok (hop). * Dekapsulaciju, Po pristizanju paketa na odrediste visi se dekapsulacija, tj na osnovu podataka iz zaglavija segment se dalje prosleduje transportnom nivou. 7.2.1.4. Transportni nivo Transpotni nivo OST modela osigurava siguran prolaz celokupne poruke, koja se sastoji od vige poslatih paketa. Time su visi slojevi OS/ modela oslobodeni brige da li je poruka kompleina. Velidina i kompleksnost transportnog nivoa zavisi od moguénosti mreznog nivoa. Da je mrezni nivo 100% pouzdan i sa neograni¢enim kapacitetom transportni nivo ne bi ni postojao. Ali, posto nivo mreze nije 100% pouzdan i moze pojedine pakete da zagubi, mora postojati nadredeni transportni protokol koji prati da li su svi paketi stigli bez greske i po potrebi da inicira popravak transfera. Ovaj nivo obezbeduje: * Segmentaciju poruke na izvoru: prihvata poruku od nivoa sesije, deli je na manje jedinice (ako veé nije dovoljno mala) i takve male jedinice (data frames) Salje ka nivou mreZe, koji ih samo takve moze slati i kontrolisati, Japanje poruke na desti * Potvrdu prolaza poruke (message acknowledgment): time obezbeduje siguran end-to-end prolaz poruke, © Kontrolu prolaza poruka (message traffic control sa daljim slanjem poruka ukoliko su predajni baferi napunjer © Multipleksiranje sesija: moguée je poslati vise poruka istovremeno jer transportni nivo segmentima dodaje zaglavje koje jasno definise kojoj sesi taj segment pripada Time je omoguéeno otvaranje vise sesija Svako radi svoj posao u OS! modelu. Transportni nivo ne razmislja o pojedinim rutama kojima su pojedini paketi (okviri) doSli do destinacije, to je posao mreznog nivoa. On takode ne razmislja ni kako je od jednog do drugog évora prolazio paket, to rade fizitki i nivo podataka. Transporini nivo jednostavno na kraju rute sastavija poruku i kontrolige Sta se sa njom desilo. je da stane 7.2.1.5. Nivo sesije Nivo sesije uspostavlja komunikaciju izmedu dva procesa na razligitim stanicama. Ovaj nivo: «© vr8i uspostavijanje sesije, odrZavanje i terminaciju izmedu dva procesa, * daje pomoéne alate tokom jedne sesije kao sto su sigumost, logovanje, prepoznavanje imena, itd. PLC i komunikacioni protokoli u elektroenergetici 87 7.2.1.6. Nivo prezentacije Ovaj nivo definise sintaksu koju dve stanice koriste da bi medusobno komunicirale Enkripcija i eventualna kompresija podataka su najvaznije funkeije ovog nivoa. Nivo piezentacije predstavija prevodioca izmedu aplikacije i mreze. On obezbeduje: + Translaciju kodova karaktera, na primer ASCII ka EBCDIC, + Konverziju podataka: red bitova, CR > CR/LF, integer — floating point, itd., + Kompresiju podataka: umanjuje broj bitova za slanje, © Enkripciju podataka: zastitu radi sigumosti, Siffovanje podataka. 7.2.1.7. Nivo aplikacije Ovaj_nivo obezbeduje konatni servis korisniku, kao Sto je transfer datoteke, elektronska posta, itd. Ovaj nivo u stvari gine sve moguée aplikacije koje koriste mrezu: electronic messaging (e-mail), file transfer, remote file access, remote printer access, inter- process communication, network management, directory services, virtual terminals, itd. 7.2.2. Nedostaci OSI modela Usted teznje da bude sveobuhvatan i opste prihvacen, OS/ referentni model je previse zakasnio ali i previse zakomplikovan. $ druge strane, TCP/IP model je kreiran relativno brzo i odmah po kreiranju razvijen je i skup protokola namenjenih implementaciji. Zbog potreba internet zajednice razvijeni protokoli na bazi TCP/IP modela su prihvaéeni u velikom stepenti i implementirani veoma brzo. Drugi nedostatak OSI referentog modela nalazi se upravo u tome sto je pravijen sa namerom da bude referentni model. Osnovna namena referentnog modela je jasno razumevanje funkcije procesa u mreznoj interakciji, Sto bi omogucilo povezanost veceg broja protokola i servisa i uvecalo broj utesnika u proizvodnji kompatibilnog hardvera i sofivera Medutim, da bi se postigla sto veca opitost, OS model je izostavio implementacione detalje, koji su se ipak pokazali neophodnim u konkretnoj primeni Kao rezultat, u praksi se neki nivoi OST modela i ne koriste, ili pojedini protokoli pokrivaju vise nivoa OS/ modula. Na primer, Ethernet protokol definise skup pravila i za prvi i za drugi sloj OS/ modela. Sve ovo bolje opisuje TCP/IP model. 7.3. TCPAP model komunikacionih protokola TCPAP model je definisan 1970 godine i predstavijen je kao model po kome radi internet. U osnovi ovaj model ima tetiri nivoa, tj. definise Cetiri kategorije funkeija koje su neophodne da bi se realizovala uspesna komunikacija putem intemneta. U skladu sa time TCPAP model opisuje komunikacionu mrezu preko Cetiri nivoa: + Aplikacijski nivo (Application), + Transportni nivo (Transport), Mrezni nivo (Network) Pi wupni nivo (Network Access) TCPAP model dakle opisuje istu slozenu mreznu komunikaciju kao i OS/ model , ali samo sa Eetiri nivoa. Nivoi TCP/IP modela su ilustrovani na slici 7.7. 88 7.UVOD U INDUSTRUSKE PROTOKOLE Interakeija se korisnikom, enkodovanje Aplikacijski nivo podataka i kontrola dijaloga (Application) \ (Transport) Mrezninivo Pronalaz najbolju putanju za prenos podataka \ (Network) kroz heterogenui mrezu pristupa mrez (Nenwork Access) Upravija komunikacijom preko heterogene mreZe izmedu raznorodnih uéesnika ___p Upravlja podeSuvanjima uredaja i medija od P kojih je sastavljena mreda tl Slika 7.7 TCPAP model 7.3.1. Cetiri nivoa TCP/IP modela U ovom poglavlju ée biti detalj je opisana éetiri nivoa TCP//P modela. 7.3.1.1. Nivo pristupa mrezi Nivo pristupa mrezi je zaduzen za specificiranje pristupa uredaja lokalnoj mrezi i prenos podataka izmedu uéesnika na istoj mrezi. On objedinjuje prva dva nivoa OS! modela, ‘Smatra se da ako je protokol veé definisao fizi¢ki aspekt komunikacije dva povezana uredaja za8io ne bi definisao i nivo podataka, dakle pristup fizitkom mediju i strukturu podataka Postoji vige protokola koji implementiraju prvi TCP/IP nivo, pristupa mrezi * LAN protokoli, protokoli za lokalne mreze (Ethernet, Token Ring, CSMA/CD, itd.), * WAN protokoli sa komutacijom paketa (X.25, Frame Relay,itd.), = Modemske veze (SLIP, PPP) koje takode pripadaju nivou podataka OS/ modela. 73.1.2, Mredni nivo Uloga mreznog nivoa je da po prijemu segmentiranin (razbijenih na delove) podataka od strane transportnog sloja te podatke enkapsulira u pakete i da te pakete sa podacima prenese kroz slozenu mrezu. Da bi se ta uloga realizovala na mregnom nivou se definisu dva koncepta, Prvi Koncept je adresiranje, a drugi koncept je rutiranje. © Adresiranje omoguéava da se uéesnici nedvosmisleno identifikuju U okvitu TCP/P modela koristi se tzv. 1Pv4 adresa koja je satinjena od tetiri bajta, plus maska. U planu je uvodenje /Pv6 adresa Sto bi znatajno poveéalo broj jedinstvenih uéesnika Vise detalja o adresiranju u okviru TCP/IP modela bige dato u narednim poglavijima. * Posto se udesnici komunikacije najéesée nalaze na razligitim mrezama neophodno je obezbediti posredniéke uredaje. Ti postednitki uredaji se nazivaju ruteri i njihova uloga je da po prijemu paketa sa podacima odrede najbolju putanju po kojoj ée paket biti prosleden. Proces utvrdivanja najbolje putanje i prosledivanja paketa duz nje naziva se rutiranje i to je posao protokola na mreznom nivou 7CP/IP modela. Najpoznatiji protokol na mreZnom nivou je /P (internet protokol), | | PLC i komunikacioni protokoli u elektroenergetici 89 73.1.3. Transportni nivo ‘Transportni nivo prihvata zahteve prosledene od strane aplikativnog nivoa, segmentira ih i organizuje njihov prenos preko heterogene mreze Protokolne jedinice podataka na ovom nivou nazivaju se segmenti. Da bi se navedeno efikasno realizovalo nephodno je: ‘© Segmentiranje podataka je neophodno zbog tehnoloskih ogranitenja primopredajnika koji svi imaju ograniéene memorijske moguénosti. Takode, slanje svih. podataka odjednom bilo bi veoma neefikasno jer bi gubitak samo jednog podatka zahtevao retransmisiju celokupne poruke. Takode, segmentiranje omoguéava kori8éenje veceg broja putanja, jer ne mora svaki segment iéi istom putanjom. Konaéno, w sludaju greske u prenosu neophodno je ponoviti slanje samo jednog segmenta © Identifikovanje Krajnih uéesnika. Pojavom moguénosti da na jednom uredaju istovremeno radi vise aplikacija pojavila se i potreba da vise aplikacija istovremeno razmenjuje podatke preko mreZe. Uloga transportnog nivoa je i da identifikuje kojoj aplikaciji pristigli podaci pripadaju. © Upravljanje sesijom. U zavisnosti od implementiranog protokola moguée je opciono realizovati kontrolu toka podataka, detekciju, otklanjanje i obavestavanje o greskama i potvrdivanje ispravnog prijema. Ova funkcionalnost postoji kod TCP protokola, ali ne i kod UDP protokola, detalji u narednim poglavljima. 7.3.1.4. Aplikacijski Putovanje podataka podinje na aplikacijskom nivu. Ovde se na osnovu korisnigkog uunosa ili zahteva od strane aplikacija kreiraju podaci koji se zatim prosleduju prema nizim nivoima. Aplikacije se u opStem sluéaju mogu podeliti na klijentske i serverske. Klijentske aplikacije predstavljaju interfejs prema korisniku koji Zeli da pristupi podacima (resursima) na serveru, 7.3.1.5. Poredenje OSI referentnog i TCP/IP modela Pojedini nivoi TCP/IP modela preuzimaju funkcije vise nivoa OS! modela tabela 7-3. slika 7.8. i iso/0S} TCPAP 7. Aplikacijski nivo http | smi dns 6 Prezentacioni nivo 2 | fie Fee TCPAP 5. Sesioni nivo [eS Sesionbnive jot] : IP. 4. Transportni nivo 3. Mreni nivo Ethernet 2. Nivo voda podataka WWI wo 1 Fizicki nivo Slika 7 8 Poredenje OSI referentnog i TCP/IP modela 90. OST model 7.UVOD U INDUSTRUSKE PROTOKOLE ~_TCPAP model 7. Aplikacijski nivo TCP nive aplikacije Koj je osmsljen za interakeiju sa korisncima Prezentacioni nivo 5. Sesioni nivo (Ovaj nivo obuhvata i ostale aspekte interakcija sa korisnikom tj prezentaciju (prevod) i upravljanje sesijama | 4. Transportni nivo TCP transporini iso ostavia_mogusnost mmplementacis Wa | proiokola: TCP i UDP. Protokol ICP enkapuslira podatke u segmente 1 parantuje da su svi segmenti ispravno primljeni. UDP je mnogo jednostavii i on se uglavniom bavi enkapsulacijom (segmentiranjem) ali ne i proverom dali su svi podact stig Mreini nivo 2 Nivo voda podataka TCEAB mein} nive definibe samo jedan protokol 1 je IP protokol koji je zaduzen za prosledivanje paketa kroz heferogene mreze [P protokol obavlja ekapsulaciju podataka u pakete, definiSe adresiranje i :utiranje paketa kroz internet TCPAP nivo_pristupa mre¥i definige natin Kodovanja t modulisanja 1 Fizitki nivo informacije DefiniSe elektriéne karakteristike veze, koje medije koristiti, konektore, itd Osnovni protokol na ovom nivou je Etherner protokol koji se primenjuje u vecini LAN mreza. Tabela 7-3 Poredenje OSI referentnog modela i TCP/IP modela 7.3.2. Enkapsulacija u TCP/I Osnovni elementi interakeije korisnika i aplikacije su informacije. Aplikacija informacije pretvara u podatke i prosleduje u proces njihove dalje pripreme za prenos preko mreze, Taj proces se naziva enkapsulacija podataka i u njemu se podaci obraduju od strane protokola definisanih u okviru skupa protokola d nih u TCP/P modelu. Proces cekapsulacije u okviru TCP//P modela je opisan na slici 7.9. Podaci CPAP komplet Komplet | pr Kola Ethernet adapter “Ethernet ~ adapter enkapsulaciie Segment. Datagram (paket) Ramokvit Prilagoden medijumu Bitovi aaa + Poruka Laevlie|__poduc <1 semen Fer] + eastaiileatavi ——_Patayram [Ethernet Pe TCP ‘Aplikacijski [Ethernet] aslaviie [raplavjelagivtie —podaci | rep Podaci Aphikac a Leagtavie| Podaet + therner cam > {0101010101 101 1000011111 1010111001111 1101011 109] Slika 7.9 Enkapsulacija podataka u TCP/IP modelu PLC i komunikacioni protokoli u elektroenergetici 9 Posto podaci 2a prenos mogu biti preveliki, na primer slika od nekoliko MB ili film od nekoliko GB, oni se dele na vise protokolnih jedinica podataka PDU (Protocol Data Unit) PDU je osnovna jedinica grupisanja podataka za prenos preko neke mreze. Kako podaci tokom enkapsulaeije prolaze kroz nivoe TCP/IP modela i spremaju se za prenos tako se menja i oblik i naziv protokolne jedinice podataka. . ja se vr8i na aplikacijskom nivou. Na ovom nivou aplikaci je sastavljena od njoj tipitnog zaglavija i od podataka, + Zatim se na transportnom nivou podaci grupisu u segmente koji su takode sastavljeni od zaglavlja (sada TCP ili UDP zaglavlja) i podataka, vidi sliku 7.10, ‘© Sledeéi korak je kreiranje datagrama ili paketa Sto se deSava na mreznom nivou, Pak na ovom nivou dobija /P zaglavlje, koje sluzi kao adresa i kao pomoé tokom rutiranj + Konaéno, poslednji korak enkapsulacije je Ethernet ram. Ethernet ram se razlikuje od ostalih protokolnih jedinica podataka zbog toga sto uz zaglavije dobija i rep koji omoguéava otkrivanje greske u prenosu. Ovim se konaéno dobija niz podataka za prenos koje Ethernet adapter na raspolozivom mediju konvertuje u sirove bitove kreira 73.3. Klijent-server komunikacija u mrezi po TCP/IP modelu Klijent-server model je tipitan natin povezivanja u modernim TCP/IP raéunarskim mrezama. On predvida da jedan raéunar ili racunarski program moze da ima samo jednu od dye moguée uloge tokom komunik: lijent ili server. + Klijent je aktivni clement koji zahteva neki servis od servera. Korisnik upotrebom Klijent programa upucuje zahtev serveru i od servera dobija odgovor. * Server je pasivni element mreze koji nudi neki servis svojim klijentima. Na serveru rade procesi koji ofekuju zahteve klijenata i po prijemu zahteva kreiraju odgovor koji se prosleduje klijentu. Tipiéna klijent-server arhitektura je prikazana na slici 7.10. Server? Slika 7 10 Klijent-server komunikacija u TCP/IP modelu 92 7.UVOD U INDUSTRUSKE PROTOKOLE Klijent-server model prikazan na slici 7.10 obuhvata i mrezu (internet) kao treéi element preko koga se prenose poruke. U primeru su data éetiri klijenta i dva servera od kojih klijenti 1 i 2 koriste neki proces na serveru 1, dok klijenti 2, 3 i 4 koriste servise na serveru 2. U Klijent-server modelu mreze: * komunikaciju se odvija po principu zahtev-odgovor. Komunik: tako Sto Salje zahtev serveru a server mu Salje odgovor, * jedan server moze pruzati servis veéem broju Klijenata koji su u veéini sluéajeva ravnopravni. Takode, jedan klijent moze pristupati veéem broju servera u potinje klijent Dakle, za razliku od protokola master-slave tipa, u kojima je manji broj master uredaja aktivan a veliki broj slave wedaja su pasivni elementi komunikacije, kod klijent-server modela veliki broj klijent raéunara su aktivni u komunikaciji a manji broj server uredaja su pasivni elementi komunikacije. Dodatna razlika je u tome da kod klijent-server mreZa jedan ragunar moze istovremeno da radi i kao klijent i kao server. U primeru datom u poglaviju 14.2 6e biti opisan PLC sa IT modulom koji u isto vreme radi i kao STMP klijent i Salje email poruke preko nekog servera, ali istovremeno radi i kao HTTP server koji preko svoje Web stranice opsluzZuje zahteve svojih HTTP klijenata. Kada neki program na Klijent raunaru pokrene zahtev za nekim servisom preko mreze zapotinje proces komunikacije u TCP/IP modelu koji je prikazan na sli 7 ~ 2) | } Ragunar Klijent [Informacia Tnformacia | [Ear Pacis FREE pba [Poruka cil Poruka vo jay 4 [Poruka~[Transporini Poruka —|Transporini [Bokapsai} — nivo [Denkapu| iva [Segment | rcr/upe Segment TCP/UDP ly Ruter 4 [Segment | Mreini | UTIRANIE| Pedaci /P ‘Segment_]| Mreini [Enkapsul | nivo MreZni [Enkapsul Denkapsul,) nivo Datagram | __ iP. Nivo se [Datagram] [Datagram | _1P. Datagram ~) [Basaran Dagan] [Datagram | Trapt] °08 | pens Chapt] [Dentapur| 0 Yoo Ether. ram | Pthemes Ether. fam. Ether. ram [Ether ram | Pthemet | [Bitov [== Bitovi Bitovi_ —}>[Bitovi__ | a Slika 7.11 Proces komunikacije u TCP/IP modelu Na klijent ragunaru se nalaze programi koji korisniku omoguéavaju da pristupi Zeljenom servisu koji obavlja neki server na mreZi. Na primer, internet pretrazivaé je klijent program preko kojega korisnik Zeli da progita neku HTML stranicu na nekom serveru. Klijent nema potrebe za proverom linka jer se serveru obraga ravnopravno i nazavisno od ostalim klijenata. Razmena podataka potinje kada korisnik zazeli da dode do neke informacije i obrati se odgovarajuéoj aplikaciji koja inicira klijent/server komunikaciju. Po prijemu informacija od PLC i komunikacioni protokoli u elektroenergetici 93 strane korisnika, aplikaeija kreira potrebnu poruku i upisuje je u obliku html koda. Ovom porukom-aplikacija upucuje zahtey za podacima koje Korisnik Zeli. Upis poruke u obliku hte koda je deo procesa prezentacije podataka ka nizim nivoima TCP/IP modela Tako Kreirana poruka se prosleduje transportnom nivou. Na transportnom nivou TCPAP modela poruka se dele u segmente od kojih svaki ima svoju oznaku tj. zaglavije Proces grupisanja podataka u segmente se naziva i enkapsulacija na transportnom nivou. U TCP (ili UDP, ako se on koristi kao transportni protokol) zaglavlju se nalazi informacija io polaznom i odredisnom procesu w obliku broja porta. Odredisni broj porta definige proces na odredignom uredaju kojem je upitna poruka namenjena. U ovom primeru odrediste je Web server na kome moze da radi vise servisa. Posto se njemu obraéamo da progitamo html stranicu, segment mora da nosi odredisni port broj 80, broj koji je rezervisan za html servis Sa druge strane, segmenti nose i broj polaznog porta koji je slutajno izabran i dalje idontifikuje Klijent proces koji je ini aciju. Povratna poruka sa servera nosi i sluéajno izabrani broj, ali sada kao odredisni broj porta i na taj natin ce potazni uredaj prepoznati kojem procesu je odgovor na upit procesa namenjen. Ovim je omoguéeno da vise klijent aplikacija istovremeno koristi mrezni port i Salje ili dobija neke informacije sa interneta. Na primer, istovremeno mo%emo da pretrazujemo internet, alii da Saljemo e-mail Time dva razli¢ita Klijenta komuniciraju sa dva razlitita servera istovremeno. Sledeti nivo je mreZni nivo koji od segmenata kreita datagrame ili pakete i na svaki paket dodaje 1P zaglavlje koje sadr2i polaznu i odrediSnu JP adresu, i razne kontrolne signale. Nakon zavr8ene enkapsulacije na mreznom nivou paket se prosleduje pristupnom nivou koji je kod 7CP/IP modela definisan Ethernet protokolom Na Ethernet nivou paketi se enkapsuliranjuu Ethernet ram kojem se pridodaje zaglavije i rep. Zaglavije sadrZi polaznu i odredi8nu MAC adresu (adrese za pristup medijumu). Rep dodaje informaciju koja omoguéava proveru ispravnosti primljenih podataka Na kraju Ethernet adapter na medij spusta fizicke bitove. Posto je internet veliki, i uglavnom je sluéaj da se krajnji uredaji ne nalaze na istoj lokalnoj mrezi, prva sledeéa destinacija je posrednitki uredaj ili ruter. Ruter po prijemu bitova na Ethernet adapter ponovo rekonstruise Ethernet ram. Ovaj ram pristupni nivo prosleduje mreznom nivou i time se obavija dekap: se odbacuje Ethernet zaglavlje i rep i ostaje zaglavlje IP nivoa i podaci. Posto je ruter samo posrednigki uredaj, on samo éita /P zaglavlje i na osnovu odredisne adrese i svoje tabele prosledivanja odlucuje preko kog adaptera Ge dalje proslediti {aj paket. Bez ikakve intervencije nad podacima ruter ponovo enkapsulita podatke i prosleduje in pristupnom nivou koji enkapsulita podatke u Ethernet ram (ponovo dodaje za odabrani izlazni port i destinaciju odgovarajuée Ethernet zaglavlje i rep) i spusta bitove na medi Nakon sto poruka na ovaj natin prode kroz potreban broj rutera ona stize na odredigni uredaj ede zapotinje proces dekapsulacije. Na pristupnom nivou se pristigli Ethernet ram Prosleduje mreznom nivou, Koji dekapsulira ram u paket Paket se potom prosleduje transportnom nivou koji ga dekapsulira u segmente i proverava da li su svi stigli. Kada jesu, celokupna poruka se spaja i na osnovu odredisnog porta prosleduje odredisnom procesu Aplikaeija prihvata upit, kreira odgovor i Salje ga nazad. Proces enkapsulacije se ponavija s tim da u povratnoj poruci odredisni i polazni port, kao i IP adrese menjaju mesta. Dakle, TCP/IP stek je osmisljen tako da ako se jedan nivo i promeni, ostali nivoi i dalje nesmetano funkcionisu. Na primer, za isti poslati podatak /P nivo ne mora da koristi Ethernet LAN protokol. U tom sluéaju se na /P paket dodaju drugadije zaglavife i rep i pra se neki drugi ram koji mreZni adapter spusta na nivo bitova . 94 8, SERIISKI PROTOKOLI NIZEG REDS, 8. SERIUSKI PROTOKOLI NIZEG REDA U poglaviju se diskutuju nagini za prenos jednog bajta podatka sa jednog na drugi direktno povezan uredaj. Ovo poglavije se ne bavi slozenim mrezama niti velikim koliginama podataka za prenos. Usled ozbiljnih problema sa Sumom na liniji, komplikacija pri razvodenju velike koligine Zica, kao i problema pri sinhronizaciji prijemnika i predajnika, paralelni prenos podataka na velike udaljenosti se praktiéno ne koristi. Samim tim, doSlo je do razvoja velikog broja komunikacionih protokola koji obezbeduju serijski prenos podataka, prenos kod koga se svi bitovi podatka prenose kroz istu Zicu, ali u razligitim vremenskim trenucima, jedan po jedan bit, u vidu vremenske sekvence. Serijski komunikacioni protokol predstavlja precizno definisane procedure i sckvence bita, karaktera i upravljackih kodova koriscene za prenos podataka preko komunikacione linije. Zahtevno triste komunikacija izmedu industrijskih uredaja, kao i veliki broj proizvodaéa su glavni uzrok velikog broja razligitih industrijskih komunikacionih mreza koje se danas koriste U ovom delu ée biti obradeni osnovni asinhroni serijski protokoli, Protokol se smatra asinhronim ako predajnik ne prosleduje clock signal prijemniku, veé samo podatke koji se menjaju u vremenu, Najprostiji moguéi serijski prenos izmedu dva uredaja je opisan na slici 8.1. Predajnik preko syog P/SO registra (Parallel In Serial Out) paralelno upisane bitove podatka po nekom taktu polako Salje na liniju za prenos. Serijske podatke prima prijemnik na ulazu svog S/PO (Serial In Parallel Out) registra koji bitove podatka prima i pomera za jedno mesto u prijemnom registru. Kada S/PO registar prihvati sve bitove jednog podatka, taj podatak je spreman za paralelno éitanje i dalju obradu Predaji Podatak za prenos, Kada podatak stigne, | 1 i H | paralelni upis I ' paraleino se dita | i i 1 J) ee | 1 1 Linija za po \ PISO Cs SIPO | 1] registar ! ! registar | ' | Asinhroni prenos, 1 ! 1 nema clock linije ! a} ae 1 I loo [Glock i I 1 iL generator I I i | ' | Tee 3 Slika 8 I Princip asinhrone serijske veze, Da bi serijski prenos bio uspeSan neophodno je Citanje bita informacije od strane prijemnika inhronizovati sa postavijanjem istog tog bita na liniju od strane predajnika. Posto kod asinhrone serijske veze ne postoji clock linija veé samo linija za podatke, neophodno je da protokol obezbedi neki drugi vid sinhronizacije izmedu prijemnika i predajnika, PLC i komunikacioni protokoli u elektroenergetici 95 Potpuna asinhrona serijska veza dva uredaja (full duplex) koji mogu istovremeno i da primaju i da Salju podatke zahteva tri linije, slika 8.2. Primopredajnik 1 Primopredajnik 2 a IX RX |e P| RX GND GND Slika 8.2 Full duplex asinhrona serijska veza Prvi standardni protokol za asinhroni serjjski prenos podataka (serial interface) je RS232. Elektriéne, fiziéke i funkcionalne karakteristike ovog interfejsa su standardizovane od strane Asocijacije elektro industrije EIA (Electronic Industries Alliance). RS232 protokol je osmisijen za relativno sporu vezu jednog data terminala (PC) sa relativno bliskom opremom za komunikaciju (modem). Ovo je bilo vise nego dovoljno dok su svi PC bili povezani samo sa relativno bliskim modemom i ni sa bilo kojom drugom opremom. Ali, ubrzo se javila potreba za raznim drugim vidovima konekeije koje obuhvataju vige primopredajnika na raznim udaljenostima. Time dolaze do izrazaja i nedostaci RS232 protokola: malo rastojanje na kome se podaci mogu razmenjivati (do 15 m), relativno mala brzina prenosa (do 20 kb/s) i moguénost povezivanja samo jednog predajnika i prijemnika Zato je za prenos podataka na vegim rastojanjima (do 1200m) i za veée brzine (do 10 Mb/s) ustanovljen EIA RS422, Ova poboljSanja su ostvarena zahvaljujuéi upotiebi po dve linije za prijem i predaju podataka tj. primenom di jalnog prenosa. Diferencijalni prenos je omoguéio i veéu imunost na smetnje, buduéi da se eventualni Sum reflektuje na oba kabla tako da ne utige na razliku njihovih naponskih nivoa. Novost koju je RS422 uveo je i moguénost komunikacije jednog predajnika i vise (do deset) prijemnika Ipak, najznacajniji interfejs za industrijske primene u ovoj grupi je svakako RS485, Gija je najvaznija razlika u odnosu na RS422 interfejs moguénost komuniciranja vise predajnika (do 32) i viSe prijemnika (do 32), tzv. multi-drop komunikacija. Postavijanje vise predajnika na istu linju je ostvareno uvodenjem trostatickih predajnika, fj. uvodenjem novog stanja nazvanog stanje visoke impedanse. Po RS485_ standardu, aktivan predajnik preuzima iu i postavija j josti od poruke u stanje 0 ili 1. Ostali, neaktivni predajnici se postavijaju u ke impedanse i ne smetaju pri pomenutom prenosu. Javijaju se i primopredajnici, koji u jednom stanju vrse predaju dok u drugom ,.sluSaju* liniju ili primaju podatke. Po potrebi, RS485 bazirani protokoli uvode i razne nagine provere aktivnosti na magistrali, éime se izbegava kolizija ukoliko je viSe predajnika pozelelo da posalje podatke u isto vreme, Karakteristike RS485 po pitanju maksimalne daljine i brzina prenosa, te osetljivosti na smeinje su ostale iste u odnosu na RS422. Serijski protokoli opisani u ovom poglavlju su nizeg reda, ali su oni ujedno i osnova serijskih protokola viseg reda. RS232 i RS485 protokoli sami ne odgovaraju u potpunosti radu 4 industrijskom okruzenju, Dalja nadogradnja ovih protokola i nastanak protokola viseg reda koji reSavaju probleme pristupa liniji, definigu strukture poruka, uvode mehanizme za detekciju greske, itd, ée biti opisana u narednim poglavijima. 8.1, Asinhroni se ki protokol RS232 RS232 standard (Recommended Standard 232) potpuno definise jednu vrstu asinhrone setijske komunikacije. Standard prvo definise tip, strukturu i moguée brzine prenosa bitova serijske poruke Zatim, posto je u pitanju asinhrona komunikacija u kojoj poruka moze 96 8, SERIISKI PROTOKOLINIZEG REDA, krenuti u bilo kom vremenskom trenutku, definisani su i nagini detekeije starta i kraja poruke, kao i sinhronizovano Gitanje poslate poruke od strane prijemnika, Standard takode definise fizi¢ki nivo prenosa poruke. Definisani su naponski nivoi na liniji u toku prenosa poruke kao j hardver potteban za predaju i prijem poruke po RS232 standardu, éega moraju da se pridrZavaju svi RS232 primopredajnici. Vise o RS232 protokolu u [9] 8.1.1. RS232 bit niz Po RS232 standardu informacija se Salje u vidu niza bitova (bit stream) na fizivkoj liniji_veze. Ovi bitovi informacije su grupisani u vidu digitalnih reti. RS232. standard dozvoljava promenfjivu duZinu revi, od 5 do 8 bitova, tako da je za pravilan prenos vazno da se i prijemnik i predajnik podese na jednak broj bitova koji nose informaciju. Takode je vazno da se oba ucesnika podese i na istu brzinu prenosa, za koju RS232 standard takode definise dozyoljeni skup vrednosti. Da hhronizovali i prenos ostvario standard definise dodatne bitove za sinhronizaciju i detekciju greske. Prenose se START i STOP bit, kao i PARITY bit koji sluzi za detekciju greske. Prisustvom ovih bitova je neophodno ali dovodi do gubitka na vremenu i smanjenja propusnog opsega. RS232 standard dozvoljava samo dva fizitka stanja na liniji za prenos. Prvi naponski nivo je -12V na liniji i predstavija ON stanje, broj 1 ili marker. Drugi naponski nivo je H12V. na liniji i predstavija OFF stanje, broj 0 ili prazno mesto. Kada nema transfera poruke, linija je na -12V sto predstavlja stanje logitke jedinice (bit 1). Za razliku od -12V, prvi bit u poruci je START bit koji je uvek nula i daje naponski nivo +12V. Kada predajnik prepozna START bit, éija pojava izaziva promenu naponskog nivoa na liniji sa -12V (logi¢ka jedinica tokom neaktivne linije) na +12V (START bit je uvek logitka nula) on zna da slede bitovi poruke. Kada ée te bitove da dita zavisi od unapred podegene brzine prenosa na prijemniku (baud rate). Zato je neophodno da su predajna i prijemna baudrat Mikroprocesori koji Salju ili primaju signale rade sa SV napajanjem i generisu naponske nivoe OV (logitka 0 ili broj 0) i SV (logi¢ka 1 ili broj 1). RS232 primopredajna kola (driveri) menjaju nivo i invertuju logiku ovih signala tako da logi¢ka | na RS232 liniji postaje -12V, dok logitka 0 postaje +12V. Tipiéna RS232 poruka je data na slici 8.3. S232 i ‘ALogika idleline START PORUKA (0356) PARITY STOP © ©, — (ovdg=1) sv +! _ ov ofofs[i}o ofs]o[s]o]a] seine A ia i. 12 - }-- . as -12V ‘Slika 8 3 Logi¢ki i naponski nivoi RS232 paketa bitova. Prikazani paket prenosi 8 bitova (8- bitni broj 0x56), u primeru je uzet bit parnosti 1 i jedan STOP bit PLC i komunikacioni protokoli u elektroenet 97 art bit sluzi da prijemnik detektyje start, koji moze poseti u bilo kom momentu. START bit ima logitki nivo 0, koji se razlikuje od logi¢ke 1 tokom neaktivne linije i njime uvek potinje RS232 poruka. Taj bit se Sesto naziva i ATTENTION bit (paznja!). Na RS232 liniji to je +12V koji prijemnic lako razlikuju od neaktivnih -12V. Data bitovi idu redom nakon START bita. Bit | dovodi do -12V, bit 0 do +12V na RS232 liniji. Bit najmanjeg znaéaja (LSB - the least significant bit) se Salje prvi Parity bit sluzi za eventualnu detekciju greske i moze se ugraditi u RS232 poruku, nakon zadnjeg MSB bita poruke a pre STOP bita. Ovaj bit postavija predajnik tako Sto unapred proveri broj a u poruci. Primljene bitove prebrojava i prijemnik i vrSi poredenje svog sezultata parnosti sa primljenim bitom parnosti. Bit parnosti se postavlja na 1 ako je broj jedinica u informacionog delu poruke (bez START i § neparan. Ovo vazi ako je RS232 veza u even parity modu koji zahteva da ukupan broj jedini u poruci (bez STOP) bude neparan. Za sluéaj odd parity logika je obmuta. Za pravilan rad veze neophodno je da i prijemnik i predajnik imaju podesen isti tip pamosti. Ovo nije savréen natin za detekciju greske posto prijemnik dobija isti bit pamnosti u sluéaju pamog broja gresaka na prijemu Kori8éenje bita pamosti je uobiéajeno nedovolina provera taénosti prenosa, pogotovo u Sumom zagadenoj sredini. Zato se éesto Koriste razne CRC i LARC metode kojima se proverava taénost celokupne RS232 poruke, koji se raéunaju i porede nakon sto su svi RS232 paketi primljeni. Drugi nadin je primena protokola vigeg nivoa, koji u sebi imaju ugradene mehanizme za detekeiju gregke «t poruci Stop bits zatvara okvir poruke i dovodi do neaktivne Tinije. STOP bit sluzi da se detektuje kraj poruke U sluéaju da je prijemnik spor Koristi se vie od jednog STOP bita, sto je predvideno RS232 standardom. STOP bit sluzi i za detekciju greske u sinhronizaciji. Ako prijemnik detektuje logi¢ku 0 na mestu STOP bita, on uocava gresku i prekida prijem poruke, Ovo se zove framing error, greska okvira koja signalizira da bitovi informacije nisu unutar definisanog okvira, tj. okruzeni START i STOP bitovima. Resinhronizacija se radi tako Sto prijemnik opet prati okvir poruke, i o’ekuje START i STOP bit w jasno definisanom razmaku Time je prijemnik sposoban éak i da prepozna baud rate pristigle poruke i da se nakon odredenog vremena sinhronizuje na bilo koju brzinu transfera. Procedure za baud rate sinhronizaciju dva primopredajnika uvek izbegavaju slanje svih 0 u informacionom delu paketa jet prijemnik moze da ih pomesa sa STOP bitom. Po RS232 standardu, STOP imati vige bitskih duzina. Ako je STOP bit duzi od ostalih, to ujedno definise mi vieme u toku koga finija mora biti neaktivna (idle state). Ovaj deo standarda je podrska sporim uredajima, Obiéno se STOP bit postavija trajanja 1, 1.5 ili 2 bita 8.1.2. Half i Full duplex RS232 komunikacija R232 standard ima posebne linije za prijem i predaju tako da dva primopredajnika mogu istovremeno da Salju i primaju podatke. Nije vazno ni ko je prvi ni kada poteo, dve linije su potpuno nezavisne. Ukoliko se to podr2i i programski, onda se dobija full duplex veza. U ovoj varijanti veze oba primopredajnika su jednakog znataja Neki primopredajnici i/ili linijski drajveri ne mogu istovremeno da primaju i Salju podatke. U tom sludaju se projektuje half duplex veza. Ovo znati da je komunikacija dvosmeina ali ne potpuno jer se odgovor Salje istom linijom i tek nakon prijema pitanja. U ovim sistemima uglavnom postoji_ jedan gazda“ na (master) koji zapotinje komunikaciju i Geka odgovor od svoga podredenog (slave). 98 8, SERIISKI PROTOKOLI NIZEG REDA 8.1.3. RS232 fizitki nivo Prvobitna verzija RS232 standarda dozvoljava brzine prenosa do 20kb/s i uvodi limite naponskih signala koji su odgovarali opremi u to vreme. Sada su te granice malo pomerene i nove verzije standarda dozvoljavaju vece brzine prenosa i veée promene naponskih nivoa Logitka jedinica je definisana sa negativnim naponom -12V, dok je logitka nula definisana sa pozitivnim naponom +12V. U praksi dozvoljeni opsezi su prikazani u tabeli 8-1 Logitki nivo | RS232 standard _| Limiti za predajnik (V) | Prijemnikove moguénosti (V) Spaceste@) | +12V | 45. H15 $3... #25 Mark state (1) =2V a5. 15; =3... 25 - 3 Tabela 8-1 Opsezi RS232 primopredajnika Na osnovu tabele se vidi da pojedini uredaji mogu dati i -9V, ili -SV kao logitko I, bitno je da je napon u okvirima standarda. Naravno, na mali nivo napona lako utige Sum tako da su £12V i dalje optimalni naponski nivoi koji sa jedne strane daju robusnu komuni otpornu na Sum, dok sa druge strane nisu blizu maksimalnim vrednostima na prijemnoj strani RS232 standard definise i maksimalnu duginu kabla za prenos, koja zavisi od kori8cene brzine prenosa. Za prenos od 19200 b/s maksimalna dugina kabla je oko 15 metara ili 50 feets. Dozvoljena duzina kabla se umnogome uveéava kada se smanji brzina prenosa, prikazano u tabeli 8-2. Baud rate | Max dufina kabla (metry 19200 15 ‘9600 152 4800 304 2400 314 Tabela 8-2 Maksimalna duzina kabla u odnosu na brzinu prenosa 8.1.4. Sema povezivanja RS232 pri a i predajnika S232. primopredajno kolo (RS232 driver) vi8i_prilagodenja signala od/ka mikroprocesora zahtevima RS232 linije. * Predajni deo RS232 driver kola (IXour izlaz. ka liniji i TXqy ulaz. od mikroprocesora) napon od +5V dobijen od strane mikroprocesora konvertuje u -12V, dok napon od OV konvertuje u +12V. * Prijemni deo driver kola (RXiy ulaz sa linije i TXovy izlaz ka miktoprocesoru) napon od-12V na linjji konvertuje u +5V i Salje mikroprocesoru, dok napon +12V konvertuje uV. + Standardni RS232 driver galvanski ne izoluje masu sa linije i masu mikroprocesora. 5ta se sve jo8 zahteva od RS232 driver kola: * Spoljno bipolarno napajanje od +12 bi imato izuzetan uticaj na cenu i nije dopustivo. RS232 driver mora biti sposoban da unipolarno napajan samo sa +5V navini napone £12V. Ovo reSava intemni voltage doubler i spoljni bootstrep kondenzatori. + RS232 driver mora imati dovoljnu snagu da bi propustio signal kroz liniju, + RS232 driver mora dati naponske signale definisane standardom i mora biti sposoban da primi signale sa linije u priligno Sirokom naponskom opsegu +25V. PLC i komunikacioni protokoli u elektroenergetici 99 Tipiéan RS232 driver je dvostruki receiver/nansmiter MAXIM232 proizvodata Maxim Integrated Products. Uptoscena Sema povezivanja mikroprocesora, RS 232 primopredajnika i linije za prenos je data na slici 8.4. ; asy _R8232 driver Mikroprocesor (primopredajnik) veo} —_l_tVee 0,+5V IXP——F1 1X TXour 0,45 RX J RXour RX GND. GND Slika 8 4 Sematski prikaz RS232 primopredajnika bez galvanske izolacije 8.1.5. Primena RS232 komu: RS232 komunikacija se i danas primenjuje na relativno kratkim rastojanjima za: + Programiranje PLC i mikroprocesora preko PC raéunara, * Brau parametrizaciju veé ugradenih uredaja, * Rad sa modemom. RS232 sluZi za vezu PC — mi modem tako Sto modulise signal i prilagodava ga acije ma daljinski prenos ostvaruje vere, obiéno telefonskoj 8.1.6. RS232 konektori RS232 konektor za PC 1a iginalno naginjen sa 25 pinova (DB25). Razlog za to je bio mogucnost povezivanja dva serijska kanala na isti konektor. U praksi se pokazalo da se uobitajeno povezuje samo jedan serijski kanal tako da je 9-pinski konektor za serijsku vezu postao standard i DB2S se neée razmattati, DB9 je prikazan na slici 8.5. Pin 2 DB9 je prijemni pin (RX), pin 3 DB9 je predajni pin (TX), dok je signalna masa DB9 na pinu broj 5 Uzemljenje je povezano na kuéiste konektora i spolini omotaé. Povezivanje ova tri pina je dovoljno za prostu asinhronu komunikaciju dva uredaja koja se oslanja samo na programsku sinhronizaciju, Ostali pinovi DB9 sluze za hardverski handshake (sinhronizacija tukovanjem) zarad sa modemom, slika 8.5 . OOOO ®\ooog]® [Broj pina | Ozaka Opis CD __| Data carrier detect (Detekcija nosata podataka) RX | Receive data (Prijem pdataka) TX _| Transmit data (Prenos podataka) DIR _| Data terminal ready (Spremnost terminala podataka) | = __| Signal ground (Signaina masa) DSR_| Data set ready (Spremnost podataka) RTS | Request to send (Zahtev za slanje) ‘CTS _| Clear to send (Brisi 2a slanje) 9 RL | Ring indicator (Detektor pozivay ‘Slika 8 5 Tegled DB9 serijskog konektora, nazivi svih pinova 100 8, SERUSKI PROFOKOLINIZEG REDA 8.1.6.1, Povezivanje dva ratunara preko serijske veze Najprostija veza dva ra€unara je preko serijskog kabla u kojem su ukrStane prijem i predaja. Ovo bi bilo dovolino po RS232 standardu, koji je asinhrona komunikacija i ostvaruje hadshake (nikovanje) izmedu predaje i prijema preko START i STOP bitova. Ali, proizvodaéi raunara su stvar zakomplikovali dodatnim hardware handshake-om koji pojedini programi koriste i ne rade dok se on ne ostvari (tabela 8-3). Dakle, u zavisnosti od korigéenog programa dodatna povezivanja koja ostvaruju hardverski handshake mogu bi neophodna. Postoje razne vrste rukovanja, ali uglavnom se koriste dve verzije: 1) povratni hardware handshake za svaki raéunar, i 2) kompletnim hardware handshake izmedu dva sistema, 8.1.6.2. Povezivanje dva serijska porta bez dodatnog hardware handshake ‘Najprostija serijska veza se ostvaruje konektorom u kome su povezane samo tri lini dva serijska konektora. Povezane su signalne mase (5 + 5) i ukrSteni prijem i predaja (2 + 3) i (+2), Sinhronizacija izmedu predajnika i prijemnika se vi8i preko START i STOP bitova, kako je i predvideno asinhronim serijskim RS232 protokolom ©CO08 QGOVQO © DBO denski Konektor1 | Konektor2 | Funkeija 2 3 RXSTX 3 2 TXORK, 3 5 Signalna masa_} Slika 8.6 Serijska veza dva uredaja bez dodataog hardware handshake za uspela, prijemni uredaj mora biti spreman jer Ge podatak uvek biti poslat bez obzira na stanje prijemnika. Ako je prijemnik spreman, koristi¢e START bit da prepozna dolazak podatka i veza ée se uspesno ostvarit Ukoliko kori8ceni raéunarski program zahteva dodatnu hardversku veza neée biti dovoljna. Tada je neophodno na svakom raéunaru ostvatiti ili 1. povratni hardware handshake (loop back) se ostvaruje povezivanjem ostalih pinova DBO (4 - 617 - 8). Na ovaj natin se dobijaju povratni signali i .vara* program, ili 2. ostvariti puni hardware handshake izmedu dva raéunara koji se ostvaruje dodatnim povezivanjem preostalih pinova dva DB9 konektora. inhronizaciju, ova (Toop back 7 handshake ] Full TV hashae Koneltor! | Koneitor | | Funkoj KonektorT | Koneitor? | Funkelja ieee 6 | DTR > DSR 4 6 | DTR > DSR 7 5 RTS CT 6 + __[psk > DTR Racuinar baie DSR koije povecan sa DIRT 7 B RIS > CT time samog sebe vara da fe terminal spreman z 7 Cr RTS Tabela 8-3 Serijska veza dva wedaja sa dodatnim hardware handshake PLC i komunikacioni protokoli u elektroenergetici 101 8.2. Asinhroni serijski protokol RS485 8.2.1. Uvod u RS485 RS232 i RS485 su najrasprostranjeniji serijski_protokoli. RS232 je prvi nastao i osmisijen je za konekeiju jednog data terminala sa jednom opremom za komunikaciju (modem) uz maksimalnu brzinu prenosa od 20kb/s i maksimalnu duzinu kabla 15 metara RS232 nije odgovarajuéi protokol ako Zelimo da povezemo dva udaljena raéunara bez. modema, ili ako vezujemo vige raéunara na mreZu, komuniciramo sa udaljenim senzorima i optemom ili Zelimo da razmenimo vige podataka (ostvarimo vecu brzina prenosa) RS485 standard je definisan od strane EIA kao odgovor na sve ove kombinacije povezivanja. Time RS485 postaje najsire kori8cen serijski protokol u sistemima za akviziciju i prenos podataka, za kontrolne aplikacije koje rade u realnom vremenu i za opstu komunikaciju izmedu vise udaljenih évorova. Vige 0 RS485 protokolu u [10] 8.2.2. Prenos podataka primenom RS485 protokola RS485 je half duplex asinhrona veza. Po ovom protokolu se podaci mogu prenositi u cba smera, ali ne u isto vreme. RS485 prenos podataka se vrsi preko dve oklopliene upletene parice (RxD/TxD-P i RxD/TxD-N), prikazane na slici 8.7a. Moguée su brzine prenosa od 9.6 kbit/s do 2 Mbit/s. Dozvoljena duzina kabla izmedu dva tepetitora je od 100 do 1200 m, zavisno od koriséene brzine prenosa. U komunikaciji moze da udestvuje vise uredaja (do 32) koji su svi spojeni u zajedni¢ku sabimu strukturu, Na potetku i kraju linije mora da postoji terminator linije (slika 8.76). Podaci se prenose slitno kao i kod RS232 protokola, vremenskim nizom bitova (slici 8.8a), s tim da RS485 standard koristi dve linije za prenos uvek sa suprotnim fizitkim nivoima (slika 8.8b). Kada se prenosi logi¢ka jedinica linija RxD/TxD-P dobija pozitivan naponski nivo, a linija RxD/TxD-N negativan. Pri prenosu logitke nule deSava se obrnuto. Ovo Gini diferencijalni prenos signala koji je otporniji na Sum i podizanj jalne mase. Pri ‘ovom prenosu prijemnik ,oseéa samo razliku napona izmedu dve signalne linije, bez. obzira na njihov apsolutni potencijal u odnosu na masu prijemnika, RS485 standard ostavlja moguénost razliditih naponskih nivoa na linijama, s tim da se od prijemnika zahteva detekeija naponske razlike do 200mV izmedu RxD/TXD-P i RxD/TxD-N linije. Diferencijalan prenos je toliko uspeSan da se Gesto mase i napajanja uredaja k RS485 linije Uredaj 1 Uredaj 2 AQ) _ 3000 RxD PO) O + > OG) Rxb/TxD =P RxDeTD-P() O.6)peND zon genpi1| Linjaza podat vee) O nono 190 4 5 » Slika 8.7 a) Povezivanje uredaja na RS485 liniju, b) RS485 terminator linije RxDITxD —N(8) 3002 Owve O @)Rxprtxp-N DGND(S) 102 8, SERIISKI PROTOKOLI NIZEG REDA, A Niz bitova koji se prenosi idleline START PORUKA (0xAD) PARITY STOP a) (0), eee —fovdg= 1) a a) ¥ ¥ & o}ifolajo}i afofaloe idle line : a ANaponna RkD/ITKD-P || 1 tt | 7 7 ‘Na primer +3V_ >t mer - 3V DIT. Napeiner SV Na primer -3V Slika 8 8 RS485 prenos a) Primer logicke sekvence (broj 0xAD, p=1, jedan stop bit) b) Odgovarajuéi naponski nivoi RxD/TxD -P i RxD/TxD —N linije 8.2.3. Udaljenost i brzina RS485 prenosa i RS485 protokola u odnosu na RS232 je otpornost na smetnje na prenosnim linijama. RS232 prijemnik poredi signal postavljen na liniju za podatke od strane predajnika sa zajedni¢kom signalnom masom. Razligit naponski nivo signalne mase na dye strane kabla, ili Sum ,pokupljen* na liniji, lako dovode do greske u prijemu. Zato se RS232 triger nivo podeSava na relativno visokih 43V. RS485 ne poznaje signalnu masu kao referencu, Razlika od nekoliko volti izmedu signalnih masa na prijemu i predaji ne predstavija problem za RS485. RS485 signali ..plivaju relativno u odnosu na RxD/TxD-P (signal plus) i RxD/TxD-N (signal minus) liniju. RS485 jemnik poredi razliku napona izmedu ove dve linije i donosi odluku. Ovim je iskljucen uticaj petlji u signalnoj masi, koje su najznacajniji izvor greske u komunikaciji, Najbolji rezultati se ujedno postizu ako se linije RxD/TxD -P i RxD/TxD -N medusobno upletu, kao Sto je prikazano na slici 8.9. Ovim se uticaj spoljnih magnetnih polja i indukovane smetnje dovode na minimalni nivo. ae lla nn ES | = 2S ~~~» Magnetno polje — Struja Suma Slika 89 Mlustracija uveéane otpornosti na Sum upletanjem dve signalne linije Ukoliko su linije postavljene paralelno, indukovana struja usled stranog magnetnog polja teée uvek u istom smeru i formira se petlja u Kojoj se efekat akumuliSe i dovodi do znatajne potencijalne razlike izmedu dva kraja linije. Kada su linije upletene u kablu, smer indukovane | PLC i komunikacioni protokoliu elektroenergetic 103 struje se menja u zavisnosti od dela kabla éime se efekat ponistava i rezultujuéi nivo Suma smanjuje za red veligine. Oklopljavanje kabla je pokuSaj da se spoljno magnetno polje zadr2i izvan kabla, prepletanje Zica daje dodatni imunitet i mnogo je bolji nagin 2a borbu protiv Suma, Najbolja kombinacija ove dve metode je primenjena u STP (shielded twisted pair) i FIP (foiled twisted pair) mreznim kablovima. Sa svim ovim dodacima, uz naravno primenu diferencijalnih signala, RS485 komunikacija se uspesno ostvaruje i na 1200 metara udaljenosti, Primena diferencijalnih signala takode omoguéuje mnogo veée brzine prenosa koje u slutaju RS485 dostizu i do 35MB/s (udaljenost do 12m), 8.2.4. Uporedne karakteristike RS232, RS422 i RS485, U tabeli 8-4 prikazane su uporedne karakteristike RS232, RS485 i RS485 protokola. ism [asm [nsw [Dinca pees = ciate ama Malina oj diver peda 1 7 7 Malsialn te rer pcm 1 10 2 Mog ain ra Taf titer | taf aopes | a apex ii aptex aha ces Pinto | — mahop | mapa Maksimalna udaljenost 15m cL 1200 m_ 1200 m Maksimatna brzina prenosa na 12m 20 kbs, Tombs | 35 Mbs: Malsinatotznaremana1200m | (ists) | tooKts | Tooke Ulazna impedanca prijemnika 3. 7kQ 4kQ 2k | [ea opteetvst ver Kola 370 | 1008 34a Osetljivost prijemnika = 43V | 4200mv #200 mV, [Napa nse cma 23 ay [sav Malsinaln dozolninapon peda | _a25V xv | taav Minialn dorolnimaponpekita "| a3 wov [av Tabela 8-4 Uporedne karakteristike RS232, RS422 i RS485 Jasno je da su na diferencijalnom prenosu bazirani RS422 i RS485 superiomniji u odnosu na RS232 po pitanju brzine prenosa i duzine linije. Takode se moze uoéiti da je brzina porasta signala na izlazu predajnika (slew rate) limitirana za RS232 da bi se izbegla refleksija signala na kablu. U sluéaju RS422 i RS485 slew rate nije limitiran, a da bi se izbegla refleksija neophodan je terminacioni otpornik. lako su maksimalne vrednosti napona s! triger signal nivo je mnogo manji za RS422 i RS485 (200mV). Time je moguée ostvariti brze promene nivoa signala i samim tim brée prenose. Ovako nizak triget nivo je mogué zbog diferencijalnog transfera i eliminisanog problema petlje mase. Sa druge strane, jedini protokol koji i dalje podréava potpuni dupleks je RS232. U sluéaju RS422 posedujemo vise prijemnika (multidrop), a u sluéaju RS485 i vise mogueih predajnika (multipoint), ali svi dele istu liniju. Time je jasno da potpun dupleks nije mogué jer bi doveo do kolizije na liniji, U slutaju RS232 postoje odvojene linije za prijem i predaju i sa dobro napisanim protokolom nema potrebe za zahtev za prenos i éekanje na odobrenje zahteva, sve u cilju provere aktivnosti linije i izbegavanja kolizije, Kod svih RS485 baziranih protokola se ovo mora predvideti i time se gubi na vremenu i propusnom opsegu linije. 104 8, SERIISKI PROTOKOLI NIZEG REDA 8.2.5. MreZna RS485 topologija i master-slave princip Mrezna topologija jé jedan od najvaznijih razloga za uspeh RS485 i njegovu Siroku primenu u merno-akvizicionim i kontrolnim aplikacijama. RS48$ mreznom topologijom dozvoljava povezivanje vise primopredajnika na istu mrezu. : & | Le = m0 Lixo Primopredajnik 2 lPrimopredajnik N-1 (| Upravianie || Uravtiane |] TXD RXD IXD RXD Slika 8.10 Mrezna topologija RS485 veze Slika 8.10 prikazuje vise primopredajnika povezano u multipoint RS485 mrezu. Da bi se postigle velike brzine, neophodni su terminalni otpornici na obe strane mreze da bi se inisala refleksija signala. ‘Napomena: RS485 standard zahteva otpornike od 1200 na oba kraja mreze. RS485 mreva mora uvek da se projektuje kao mreza sa viSe povezanih tataka (multiple drops) jednoj liniji i sa dva otpornika na oba kraja linije. Zvezda topologija, u kojoj se reflel signala ne moze suzbiti i koja umanjuje kvalitet veze se ne preporuuje. Ako se koriste prijemnici sa 12kQ ulaznom otpornosti moguce je povezati do 32 primopredajnika na istu mreZu. Ali, postoje i RS485 primopredajnici vece ulazne impedanse kojom se ovaj broj uveéava do 256. Primenom RS485 pojatavata (repeaters) koji spajaju dve mreze ukupan broj povezanih primopredajnika moze doéi do 1000 i to na udaljenosti i od nekoliko kilometara. Ono Sto jeste bitno, protokol_vikeg nivoa koji koristi RS485 protokol kao baziéni nivo (low level protocol) za komunikaciju mora da obezbedi dodatne funkeije kao Sto je provera aktivnosti linije pre slanja (izbegavanje kolizije), adresu prijemnika unutar poslatog paketa kojem se Salje podatak, moguénost broadcast poruke, itd. Po d , svi RS485 predajnici su u stanju visoke impedanse i na liniji: nema signala, U veéini protokola viseg nivoa (high level protocols), jedan od primopredajnika se definige kao master koji poginje komunikaciju slanjem poruka tipa pitanja (query) i komande (command) preko RS485 mreze. Svi primopredajnici primaju ovu poruku i u zavisnosti od informacije unutar te poruke i adrese prijemnika jedan od évorova odgovara master-u. Primenom master-slave komunikacije se izbegava kolizija. Ipak, moguénosti komunikacije su donekle ograni¢ene jer svaka poruka mora biti inicirana u master kontroleru. RS485 low level linijskidrajveri.(primopredajnici) podrzavaju master-slave protokole i automatski se prebacuju u stanje visoke impedance kada je poruka koju su slali postata PLC i komunikacioni protokoli u elektrocnergetici 105 8.2.6. Sema povezivanja RS485 prijemnika i predajnika RS485 primopredajnik (Transceiver) uobigajeno poseduje samo 8 pinova. Cetiti za vvezu sa mikroprocesorom ili PLC koji prima ili Salje podatke, dva za napajanje i dva za vezu sa RS485 linijom, prikazano na slikama 8.11 1 8.12. Ds7s1768 Slika 8.11 Tipiéan RS485 primopredajnik - DS75176B, proizvodaé Texas Instruments. we OD. Ch oe. ey ee Slika 8 12 Primer Sema izolovanog primopredajnika za vezu kontrolera sa RS485 linijom 8.2.7. Primena RS485 komunikacije RS485 je najvige koriSéen protokol kvizacionim i kontrolnim aplikacijama. RSA485 se takode Sesto koristi i kao najnizi sloj protokola viSeg reda koji koristi RS485 primopredajnike i mreze kao fizigki nivo za prenosa poruke. RS485 na taj nagin koriste na primer MODBUS, PPI, MPIi PROFIBUS protokoli diskutovani u ovoj knjizi. 106 8, SERUSKI PROTOKOLI NIZEG RE 8.2.8. Master-slave komunikacija na RS485 lini Da bi uredaji uspesio komunicirali na RS485 linijel neophodan je dodatni deo protokola za prenos, uobiéajeno nazvan high level protokol. 1. Po definiciji svih protokola baziranih na RS485 vezi svi primopredajnici potinju rad u stanju visoke impedance. Time je linija slobodna za poxetak prenosa Vecina high level protokola definige samo jedan od primopredajnika kao master i samo on moze da zaposne prenos slanjem upitnika (query) ili neke komande. 3. Postoje tipovi high level protokola koji se zasnivaju na RS485 protokolu i koji dozvoljavaju vise master na jednoj liniji veze. To je slitno Ethernet vezi, ali tada high level protokol mora da defniSe kada koji master Kontrolige liniju, ili da ume da prepozna koliziju na liniji, po potrebi ponovi ili za kasnije odgodi slanje. 4. Svi ostali_ primopredajnici (slave) slugaju poruku na liniji. U zavisnosti od poruke i adrese u njoj, javlja se samo prozvani slave i Salje odgovar master uredaju. 5. Moguéa je i broadcast poruka, namenjena svima (na primer master reset svih uredaja na liniji). Na broadcast poruku niko ne odgovara jer bi doslo do kolizije 8.3. Sinhroni serijski protokoli Sinhrona serijska veza predstavlja alternativu asinhronoj vezi u aplikacijama u kojima su u pitanju kraée razdaljine i potrebna veca brzina prenosa. Dok se za daljinski prenos podataka iskljuéivo koristi robusnija asinhrona veza, sinhrona serijska veza nalazi primenu u digitalnim uredajima u kojima se vr8i brza razmena podataka izmedu unutrasnjih blokova. Posto je u toj primeni razdaljina za prenos kratka, i nema problema sa Sumom na liniji, u ovoj primeni je moguée koristiti br2u sinhronu vezu. Osnovna razlika izmedu sinhrone i asinhrone veze je u tome Sto kod sinhrone veze postoji zajednicki sinhronizacioni signal koji daje signal za éitanje podataka na liniji. Ovim se prijemnik i predajnik hardverski sinhronisu i eliminige se izgubljeno vreme nastalo tokom asinhrone sinhronizacije, Takode se eliminiSe greska usled neusaglagenih lokalnih clock signala (greska u sistemskom satu (clock) mikroprocesora se direkino prenosi ina programirani baud rate lokalnog asinhronog serijskog porta). Ipak, uticaj Suma Ii taj clock signal gini serijsku vezu nepouzdanom i smanjuje maksimalnu udaljenost na kojoj se ova veza moze robusno uspostaviti. Princip prenosa signala sinbronom vezom sa jednog predajnika na ied ps snnik prikazan jena slici 8.13 “odatak za prenos, paralelniupis | il l Kada podatak stigne, paralelno se éita a IX inija za podatke _ RX }—1_Lisiaapodaike 15 spo I I I 1 1 1 fax | aK | Clock Clock linia ' t i ul 1 : / ' registar ! ' 1 generator 1 ' Slika 8.13 Princip sinhrone serijske veze PLC i komunikacioni protokoli u elektrocnergetici 107 Kod sinhrone veze sve je isto kao kod asinhrone (slika 8.1) s tim da prijemnik Gita bit sa linije sinhrono sa-clock signalom. Da bi se izbegla jedna dodatna linija za prenos, sinhrone serijske vere su uglavnom predvidene kao half duplex veze (slika 8.14), sa jednom linijom za podatke (data line) i jednom za clock signal, dakle ukupno dve kao i kod asinhrone komunikacije. Primopredajnik Primopredajnik 2 (master) (slave) DATA Je Hinliazmpodate [ata (TX/RX)| ni (TX/RX) CLE [tec om Slika 8 14 Half duplex sinhrona serijska veza Posto sinhrona komunikacija obino ima samo jednu liniju za primopredaju, i u ovoj vezi postoji ,,gazda' (master) koji kontrolige liniju i potinjeni (s/ave) primopredajnik. Master Salje clock signal, dok signal podataka postavlja onaj uredaj koji trenutno ,priéa*, prvo master a onda prozvani slave. Protokol mora da definige i kada se bit podatka Gita, na primer na rastuéu ivici clock signala, prikazano na slici 8.15. Uredaj koji postavlja podatke mora da postavi validan podatak do nove rastuée ivice. Dakle, podaci se menjaju samo tokom Clock = 0, aako se podatak promeni tokom Clock = | to uobiéajeno znati nesto drugo 1° a : ‘ thy iu 2M Toy 3" Tay ga Ty "7 o flflfPlfl fp, * | i T I 1 Podaci re * * > 1 1 1 0 0 0 > Progitano 10010 ‘Slika 8.15 Sinhrona veza, intervali za promenu vrednosti i trenuci citanja podataka U ovom delu ée biti obradena dva sinhrona serijska protokola. Prvi je PC bus, osmisijen za veoma jeftinu ali relativno sporu komunikaciju izmedw integrisanih kola. Drugi Je SPI koji je smisljen za brz sinhroni prenos podataka. Vie 0 oba protokola u [11] 8.3.1. °C sinhroni serijski protokol Krajem dvadesetog veka mikroprocesori i inteligenta digitalna kola (memorije, ADC, inteligentni displeji, video kontroleri...) preuzimaju tr2iste. U cilju jeftinog povezivanja ovih komponenti Philips definise serial interface koji obezbeduje jeftinu vezu sa osrednjom brzinom rada. Ova komunikacija je zamisljena kao serijska veza, koja uvek prenosi pakete od 8 bitova i treba da zameni dotadainju paralelnu vezu koju je inila nezgrapna &-bitna magistrala za podatke i dodatne linije za adresitanje. Inter-IC bus (JIC ili PC) se koristi tamo gde su cena i veli¢ina proizvoda vazniji od brzine veze. FC je sinhrona serijska veza koja sadr2i samo dve linije: 1) SDA (serial data 108 8, SERUSKI PROTOKOLINIZEG REDA line) liniju za dvosmemi prenos podataka, 2) SCL (serial clock line) liniju 2a clock signal Poruka koja se alje preko-/°C bus linije sadrZi adresu jedinice kojoj je namenjena i Koja treba na nju da odgovori. Ovim je PC bus omoguéio povezivanje vise razlicitih jedinica razlicite namene na istu liniju. FC bus predvida i povezivanje veoma sporih integralnih kola i podrzava odgovarajuée ka8njenje tokom komunikacije. Veliki uspeh C je upravo moguénost povezivanja ogromnog broja raznih digitalnih uredaja. Kada se projektuje /C bus komunikacija, svaki uéesnik dobija svoju jedinstvenu °C bus adresu. /°C prenos se vrsi na sledeéi nagin: © Prenos uvek podinje tako Sto master poSalje poruku koja nosi adresu jedinice kojoj se master obraéa j defini8e tip prenosa koji treba da sledi, * Master ujedno i generise clock signal, bilo da on ,prita* ili neko drugi treba da opria’, «slave se javlja samo ako je adresa njegova i u skladu sa tipom prenosa (RD ili WR), * Ostale slave jedinive ,éute*, PC bus daje moguénost povezivanja vise master uredaja. Za sluéaj vie master uredaja postoji detekcija kolizije na PC bus li Dakle, prenos podataka na SDA je bidirekcioni. /°C predvida tri brzine prenosa, ali sve su relativno spore: 100, 400 i 3400 kb/s. One ujedno definisu i tri moda rada FC linije: standard, fast i high-speed. Tipisan PC sistem je prikazan na slici 8.16. Voa fi T T T sce kontroler || ADC || DAC || memorija master || slave || slave slave Slika 8.16 12C veza jednog master-a i tri slave jedinice 8.3.1.1. Fizicki nivo /C busa FC bus je sinhrona veza koja se sastoji od linije za podatke SDA i clock linije SLC. Sve jedinice koje treba da uéestvuju u /C komunikaciji se povezuju na te dve linjje. One su uglavnom male potrosnje, sa velikom ulaznom impedansom, tako da broj povezanih jedinica uglavnom ne predstavlja problem. Takt signal (clock) generiSe master (ili jedan od master uredaja ako ih je viSe povezano na liniju) Sve jedinice su povezane na liniju u open collector modu, time je onemoguéen kratak spoj éak i ako dve jedinice istovremeno Salju poruku (dogada se samo u sluéaju vise master uredaja). PC predvida i detekciju kolizije na vezi, Tokom neaktivnog stanja, linije SDA i SLC su podignute na napon Vg preko pull-up otpornika (Rj). Kada neko Salje poruku, za prenos nule ukljueuje izlazni tranzistor povlaéi liniju na masu. Kada se Salje jedinica tranzistor ostaje neaktivan ostaje na Va, tj. logi¢ko} ili brojnoj vrednosti jedan. Vas nije taéno definisan protokolom, koriste se vrednosti od 2V do SV. PLC i komunikacioni protokoli u elektroenergetici 109 +Vea -— SDA + : SCL. ‘Clock_| Data _j Clock_] Data Out Ou Out Out Clock, Data Clock Data in tn in wi UredayT Ureday 2 Slika 8.17 I2C bus konekcija. Sve veze su open collector i kratak spoj nije mogué 8.3.1.2. PC bus sinhronizacija Dok je linija neaktivna, SDA i SCL su na naponu logi¢ke jedinice (napajanje Vz). Start poruke: Samo master moze da potne komunikaciju na °C liniji. Da bi to uradio, on prvo mora da preuzme kontrolu nad linijom, sto je moguée samo kada je linija u neaktivnom stanju, tj. kada su obe SDA i SCL linije visoke. Master inicira START. situaciju na liniji (bus) tako Sto postavija SDA na nulu, dok SCL linija ostaje na visokom nivou. Ovo je Jedinstvena situacija na liniji jer tokom normalnog °C transfera data linjja menja stanje samo kada je SCL na niskom nivou. Ovu START situaciju moze da prepozna svako na liniji i jasno je da novi transfer uskoro potinje. Ovaj princip (spustanje SDA dok je SCL visok) moze da posluzi i za resinhronizaciju, koja je potrebna u slucaju detekcije greske ili sligno. Stop poruke: Kraj komunikacije se signalizira sa STOP situacijom. STOP signal se generi’e promenom SDA linije na visok nivo dok je SCL clock na visokom nivou. Kao i start, i STOP je jedinstvena situacija na liniji i sve povezane jedinice je mogu prepoznati. One mogu na primer, ako se STOP desio u toku nezavrSenog transfera, da poniste prethodan Prijem, da se resetuju i spreme za novi transfer. Posle bilo koje STOP situacije PC se smatra slobodnim tek posle odredenog vremena koje zavisi i od kori8éene brzine prenosa Bitovi poruke: Bitove poruke na SDA liniju postavlja jedinica koja trenutno priga. Prvi bajt (prvih 8 bitova) uvek postavlja master i to nakon START signala. Podatak se postavlja na SDA liniju tokom niske vrednosti SCL linije (SCL=0) i mora biti spreman za prvu sledeéu rastuéu ivicu clock signala (SCL ) jer tada svi koji sluSaju liniju vrSe njegovo citanje Primer na slici 8.18, masver Salje prvi bit =I i to radi tako Sto menja stanje SDA Ii sa 0 (koje je to bilo tokom START signala) na 1 tokom SCL= 0. U trenutku SCLT bit je Protitan i ide se dalje. Ceka se da SCL = I prode, tokom SCL=0 postavlja se drugi bit za slanje (na slici 8.19) &eka se da ga svi protitaju, itd. “Nfl fifl ff, 1 ' ! START 1 0 0 sToP postavijanje Gitanje Slika 8.18 SCL i SDA signali definisani po I2C bus protokolu START i STOP signali, irenuci postavijanja i éitanja ostalih bitova poruke 110 8, SERUSKI PROIOKOLI NIZEG REDA Bitovi se itaju samo kada je SCL linija na visokom nivou. Samim tim, jasno je da se bitovi mogu menjati samo kada je SCL niska. Jedinica koja ,priéa” na SDA liniji koristi nisko stanje SCL linije da promeni podatak. Prelazak SCL na visoko stanje znati da je podatak spreman (ili da mora biti spreman) i da moze da se SDA linija se tokom transfera bitova informacije ne menja kada je clock visok (osim ako onaj ko Salje ne odluti da proglasi START ili STOP). Poste svakog poslatog byte onaj kome je postat mora da potvrdi prijem (ACK, acknowledgment). Kao acknowledgment, jedinica koja je prozvana i uspegno pribvatila podatak povlaéi SDA liniju nisko tokom devetog clock pulsa. Posto je poslao byte, master Salje i deveti clock za acknowledgment potrebe. Pritom, on ne menja SDA liniju koja ostaje podignuta preko otpornika na Vg. Ako niko nije protitao poruku, SDA linija ¢e zadréati visoki nivo i master zna da nesto nije bilo u redu. eT sy * of 2h, I Ty Signale naling i f f f f on ; | postavlja master ay) Master Sita i ¥ SSS. i in START D’ Doel | oye Signal ie sot =0 bsD4=0 postavlja slave (ACK) | SDA Slika 8.19 12C bus protokol Master slave sinhr or ja Ovée je moguée i usporiti komunikaciju, ako je na primer slave zauzet ili prespor. Potrebno je samo povuci SCL. liniju ka dole i onemoguéiti master-a da postavi nova START situaciju. Da bi pokrenuo novi prenos, master oéekuje neaktivne SDA i SCL tako Sto su obe na Vad. Spustanje SC/ linije, spor slave obavestava master-a da mu treba vremena da procesira prethodno poslat podatak. Specijalne situacije i potencijalni problemi nastaju samo u sluéaju vise master-a povezanih na isti PC bus. Svaki master moze da generise svoj clock i to razligite ftekvencife. Dalje, samo jedan master sme da bude aktivan na liniji. Ako ih je vie, neée biti kratkog spoja ali podatak Ge biti neupotrebljiv. Zato mora da postoji odredena sinhronizacija i arbitraza na °C liniji, Prisutnost vise master uredaja se detektuje tako Sto svaki od njih meri period nule i period jedinice na SCL liniji, Situaciju u kojoj ta dva perioda nisu ista signalizira prisutnost drugog master-a na liniji, Zatim sledi sinhronizacija svih master-a, tako Sto svi broje i Sekaju da najsporiji promeni stanje sa nule na jedan. PoSto promena sa nule na jedan ne menja stanje linije, Geka se da i najsporiji iskljugi svoj tranzistor i Konaéno oslobodi liniju da se podigne na Vea. Time je usaglagen najsporiji clock Arbitraza daje prednost jednom od dva master, w slugaju istovremenog starta. Ali, ako oba master istovremeno pokrenu START signal, spuste SDA dok je SCL visok, oni ne mogu da detektuju da je to uradio jos neko i simultano potinju transfer. Ali, kad postavi SDA bit, master ga ujedno i éita da proveri da li je stvamo postavljen. Onaj master koji je Zeleo jedinicu, a progitao nulu (posto je drugi master povukao Jiniju) shvata da je neko drugi na liniji, povladi se iz komunikacije i Seka novu priliku PLC i komunikacioni protokoli u elektrocnergetici ut 8.3.1.3. Znaéaj pojedinih bajtova unutar PC poruke Izmedu START i STOP signala, vi8i se transfer korisnih bitova podatka. Jedinica za prenos preko /2C je jedan Ayte ili grupa od &-bitova. U bajtu se prvo Salje bit najveée vrednosti (MSB -most significant bit) ana kraju najmanje (LSB -least significant bit) 1) Prvi bajt u svakoj poruci definige adresu slave jedinice kojoj se master tom porukom obraéa i smer podataka (da li master hoée da éita (RD) ili pige (WR) a. Prvih 7 bitova ¢ine slave adresu A6-A0, moguée 128 razlititih adresa, b. Ako je zadaji poslati bit (LSB) jediniea tip poruke je RD (master hoée da éita), ¢. Ako je zadnji poslati bit (LSB) nula tip poruke je WR (master hose da pise), 4d. SCL linija uvek kontrolige master, koji periodiéno menja stanje. 2). Ostale bajtove poruke na SDA liniji pige ili master (WR) ili slave koji je prozvan (RD) a. SCL linija je i dalje kontrolisana od strane master uredaj b. Primer RD poruke, master hoée da dobije podatak od slave jedinice sa adresom 120 (0b1111000), a ta slave jedinica mu Salje na primer broj 189 Master Generis | Maver Raj bait] Stave 120 Salle bro} 189 Koji master prima] Slave — penerie | START 11110001 Tol tiol SIOP cu broj 120 i Salje ©. Primer WR poruke, master hoée da upige podatak u slave jedini mu na primer broj 150 ‘Master generive | Master Sale bait | master Salje broj 150 koji prima slave 120 | Slave generise START 1111000 0 1001 0110 | stor 83.2. SPI sinhroni serijski protokol SPI (Serial Peripheral Interface) standard za sinhronu serijsku komunikaciju razvijen je od strane Motorole, za potrebu brzog i pouzdanog serijskog prenosa podataka na manjim rastojanjima (do 3m). Prvobitno, ovaj standard je bio predviden za komunikaciju sa perifemnim uredajima, ali je vremenom razvijena i mogucnost komunikacije izmedu vise mikrokontrolera ili mikroprocesora. Danas postoj broj perifernih uredaja kc podrZavaju SP/ protokol, od obitnih TTL pomerackih (shift) registara, do memorija, displeja, AID konvertora, itd Tipkomuikacje |” Maksimaina buzina | i SCI 125 Kb/s SPI IN I SPL 2MB/s____| MCU tekt= 2Milz, Slave Tabela 8-5 Poredenje brzina komunikacija preko SC1i SPI Tabela 8-5 pokazuje da je SP/ komunikacija oko 10 puta br2a od SCI komunikacije (Standard Communication Interface) kada mikrokontroler radi kao master, i oko 20 puta btZa kada mikrokontroler radi kao slave. Takode se vidi da kada mikrokontroler radi kao slave, moguéa je brzina prenosa podataka jednaka internom taktu mikrokontrolera. 8.3.2.1. SPI bus sinhronizacija Pri SPI prenosu, podaci se Salju preko pomeratkog registra sa serijskim izlazom, a primaju preko pomeratkog registra sa serijskim ulazom. U bilo kom trenutku moze da post Jedan master, kako bi se osigurala ispravna komunikacija. Uredaji komuniciraju na master- slave principu, tako da master uredaj inicira potetak razmene podataka. On generige takt i selektuje uredaj sa kojim se uspostavlja komunikacija. Podaci se mogu istovremeno prenositi uoba smera, od master uredaja prema slave uredaju i obmuto 112 8, SERUISKI PROTOKOLI NIZEG REDA, Kao Sto je prikazano na ja koristi 4 linije: MOSI (Master Output Slave Input), Za master wredaj ovo je linija za slanje podataka, a za slave je linija za prijem podataka MISO (Master Input Slave Output). Za master uredaj ovo je linija za prijem podataka, a za slave je linija za slanje podataka. U slutaju da je komunikacija iskljutivo jednosmerna, moze se ostvariti sa tri linije (bez MOST ili MISO, zavisno od slucaja) SCLK (SPI Clock). Linija za takt pod kojim se izvodi komunikacija. Takt daje master, a pomeratki registar koji prima podatke ofitava ulaz na promenu ovog takta SS (Slave Select). Svaki slave uredaj ima ulaz za selekciju koji master aktivira kada hoée da razmeni podatke sa tim slave uredajem. SPI slave sa SS pinom na visokom nivou ignorige clock i podatke. Tek kada je SS na niskom nivou, SP/ slave se aktivira i prati SP/ komunikaciju i moze da primi i posalje informaciju, Na slici 8.21 je dat primer u kome jedan master sa tri svoja izlaza kontrolise SS ulaze tri slave uredaja 8.3.2.2. SPI serijski prenos izmedu master i slave jedinice Vipitan vremenski Master moze da komunicita samo sa slave jedinicom koja je selektirana (SS=1) ijagram SP/ komunikacije prikazan je na slici 8.20. Po SPI protokolu master uvek podinje transfer podataka tako sto postavija prvi podatak na MOS! liniju. Prvi podatak koji se Salje je uvek instrukeija, koja definise tip fransfera, NajéeSée korigéeni tipovi transfera su. RD (read, titanje iz neke adrese u slave jedinici) i WR (write, pisanje u neku adresu u slave jedinici). Sa strane mnogih SPI siave jedinica ova linija se Gesto naziva Serial Data In (SDD. Sledeéi podatak se takode postavlja na MOS/ (SDI li adresu unutar prozvane slave jedinice. Poslednji u poruci se nalazi podatak za upis (IVR) ili podatak koji se éita (RD). © U slugaju WR instrukcije master postavija podatak DATA_IN za upis odmah nakon adrese. U tom slu¢aju DATA_OUT sa slike 8.20 se ne Salje. © U sluéaju RD instrukeije slave postavija Zeljeni podatak DATA_OUT odmah nakon Sto je provitao adresu sa koje master podatak traZi, U tom slucaju master ne Salje DATA_IN nakon adrese sa slike 8.20, nego samo obezbeduje clock i sinhrono ita DATA_OUT koji mu Salje slave jedinica. iu i predstavlja memorijsku Address DATA TN (samo ako je WR instrukeya) TATA GU Gamo ao oD mrt) | ESE] Slika 8 20 Tipican vremenski dijagram tokom SPI komunikacije. Podatke na MOST i liniju postavija master Podatke na MISO liniji postavija slave. DATA_IN je aktivno s slucaju WR instrukcije. DATA_OUT je aktivno samo u sluéaju RD instrukcije. PLC i komunikacioni protokoliu elektrocnergetici 113 U sluéaju povezivanja vise mikrokontrolera preko SP/ kanala, svi MISO pinovi se vezuju zajedno na jednu liniju, MOS pinovi se vezuju na drugu liniju, a SCLK pinovi se vezuju na trecu liniju, kao sto je prikazano na slici 8.21 Slika 8.21 je primer povezivanja SP/ veze sa jednim master uredajem koji direkino Kontroli8e SS ulaze svih svojih slave jedinica, signali S51, SS2 i S83 SCLK |} ———————+—9] SCLK MOSI 7» MOSI SPI SPI MISO}« ; MISO Slave Master» SS] LSS. sso $53 g—] ScLK te ~ Most SPI + MISO Slave —>L ss eo . ee SPI MISO Slave —____——»} 5! Slika 8.21 Povezivanje jednog master-a i tri slave-a u SPI komunikaclju Ako je potrebno da se ostavi moguénost promene master uredaja na slici 8.21. tada bi svaki uredaj trebalo da ima pojedinatnu vezu sa SS pinovima ostalih uredaja, Ostali aspekti komunikacije bi bilo promenjeni programs! 4 9, MODBUS PROTOKOL, 9. MODBUS PROTOKOL MODBUS protokol tazvija kompanija Modicon, 1979 godine kao serijski protokol viseg reda. MODBUS pripada grupi Fieldbus protokola, on je master-slave tipa i koristi half: duplex prenos. Protokol predvida slanje poruka koje éini grupa bajtova sa unapred preciziranim sastavom i namenom. Deo te grupe bajtova nosi i MODBUS funkeijski kod. MODBUS protokolom definige skup moguéih funkcija, tj. funkcijskih kodova koje je po potrebi moguée i nadograditi. MODBUS protokol se na fizitkom nivou prenosa jednog bajta prvobitno bazira na RS232, a zatim radi poznatih prednosti i multidrop strukture na RS485 protokolu. Modema verzija MODBUS protokola koristi Ethernet kao bazitni sloj a MODBUS/TCP protokol podrzava i internet okruenje. Kao rezultat, danas postoje ti osnovna tipa MODBUS protokola, 1) MODBUS ASCII ~ poruka se sastoji od ASCH/ karaktera, 2) MODBUS RTU — poruka se sastaje od binarnih bajtova i 3) MODBUS/TCP u kome se MODBUS poruka ugraduje u standardni TCP/IP okvir. MODBUS ASCII i MODBUS RTU prenos se Koriste na lokalnim RS232 i RS485 mrezama dok MODBUS/TCP protokol operise na svim fizickim nivoima koje podréava TCP/P protokol, detalji u narednim poglavljima. MODBUS protokol danas podrzava jedan master uredaj i do 247 slave uredaja u jednoj mrezi i veoma je popularan u SCADA (Supervisory Control and Data Acquisition) sistemima, SCADA je namenjena za kontrolu i monitoring rada sistema sa vie distribuiranih senzora i aktuatora i proziva vise RTU (Remote Terminal Units) uedaja. Jedan RTU uredaj moze da éini jedan ili vise distribuiranih senzora i aktuatora. Veéina RTU danas podréava upravo MODBUS protokol Vise o MODBUS protokolu u [12}- [14] ina Web stranici http “www modbus org/ 9.1.1. Struktura MODBUS sistema MODBUS steuktura podrazumeva jedan master i vise slave uredaja na jednoj istoj veze, prikazano na slici 9.1. Na liniji je prikazan jedan master uredaj i ti slave uredaja Kontroligu neke izvrSne organe ili imaju vezu sa nekim memim uredajima. Slave uredaji mogu biti veoma inteligentni i tokalno mogu da vrSe veoma zahtevan posao, na primer Kontrolu rada neke pumpe ili grejaéa, ali sa stanoviSta komunikacije oni su potpuno pasivni Liniju u potpunosti Kontroli8e master tako Sto se po pottebi obra¢a pojedinim slave uredajima Ukoliko master hoée da progita neko stanje nekog slave uredaja on na liniju Salje poruku sa njegovom adresom. Prozvani slave prepoznaje svoju adresu i daljom analizom ostatka poruke saznaje Sta se od njega trazi, koju MODBUS funkciju on treba da izviSi, Ukoliko master hoce da dita neko stanje ili neki ulaz, prozvani slave u odgovoru Salje trenutnu vrednost tog stanja ili ulaza, na primer neke merene velitine. Po potrebi, odgovor moze biti i prosta potvrda prijema (acknowledgment). Na primer, ako master samo Zeli da otvori neki ventil njemu je kao odgovor dovoljna samo potvrda da je poruka stigla do slave uredaja koji kontrolise taj ventil, | da je ta funkeija uspesno izvrsena, tj. da je ventil uspesno otvoren PLC i komunikacioni protokoli u elektroenergetici 15 Modbus| Master wgistrala [Modbus| /Modbus| Slave 2 Slave N T T if i ae 1 L it | ‘Slika 9.1 MODBUS si fem sa jednim master uredajem i vise slave uredaja 9.1.2. Struktura MODBUS poruke MODBUS poruka ima jasno definisanu strukturu koja ne zavisi od tipa fizikog medija za prenos ili od tipa kori8éenog protokola za prenos jedne poruke (RS232, RS485 ili TCP/P). U sludaju prostih konekcija (RS485 ili RS232) cela mreZa je namenjena samo za MODBUS potuke i MODBUS poruka se Salje upravo onako kako je definisana u ovom poglaviju. U slugaju da se MODBUS poruka Salje preko neke druge mreZe, ona se mora ugraditi uw standardnu poruku za prenos tom mrezom, kao na primer u standardnu TCP/IP poruku prcko Ethernet mreze ili interneta. MODBUS potuka ima Cetiri osnovna elementa, Koji se Salju po istom rasporedu: 1) Device address - adresa primaoca kojem je namenjena poruka, 2) Function code - kod funkcije koju primaoc poruke treba da izvrsi, 3) Data — ako su za izvrsenje funkcije potrebni neki podaci i 4) Error check - polja za proveru greske. Poéetak i kraj poruka se prepoznaju preko Frame start i Frame end karaktera ili signala. Ti signali zavise od tipa prenosa, Sto je objaSnjeno u sledeem poglavlju MODBUS konverzaciju uvek potinje master jedinica. Master Salje poruku zove master query kojom se obraéa prozvanoj slave jedinici. Prozvana slave jedi Prepoznaje na osnovu svoje adrese koja se slaze sa Device address poljem poruke i sprema odgovor. Ostale neprozvane slave jedinice ne odgovaraju i ostaju sa izlazima u stanju visoke impedanse. Odgovor moze biti puna MODBUS poruka, koja sadrZi podatke koje master trazi, @ moze biti i samo prosta potvrda prijema (acknowledgement) koja se sastoji od elemenata |, 21 4 originaine MODBUS poruke.Potvrda prijema se koristi u sluéaju da master ne zahteva nikakve podatke od slave uredaja, veé samo neku akciju i potvedu da je ta akcija izvriena Sematski prikaz tipi MODBUS master-slave komunikacije dat je na slici 9.2. 16 9. MODBUS PROTOKOL 1) Query poruka od meee Frame start Frame start ‘Frame start Device address Device address Device address (adresa uredaja) (adresa uredaja) (adresa uredaja) Function code Function code Function code (kod funkeije) (kod funkeije) (kod funkeije) Data bytes Data bytes Error check (bajtovi poruke) (bajtovi poruke) (LRC ili CRC) © Frame end 2b) ili slave samo Error check Error check Salje potvrdu prijema (LRC ili. CRC) (ERC ili CRC) | (acknowledgment) Frame end | Frame end Ss 2a) Slave response (odgovor) ‘Slika 92 Dva tipiéna ciklusa tokom MODBUS komunikacije. Master query (1) i potpun odgovor od slave jedinice (2a), ili query (1) i samo potvrda prijema sa slave strane (2b) Pored pojedinaénog adresiranja slave uredaja master moze proslediti i broadcast poruku ka svim uredajima. U sluéaju ovakve poruke master ne dobija nikakay odgovor: 9.1.3. Osnovni modovi prenosa (MODBUS/ASCI i MODBUS/RTU) MODBUS protokol implementira dva komunikaciona moda: ASC// RTU. Komunikacioni mod ne menja informacioni kvalitet polja u poruci veé samo definige nagin na koji ée informacije biti pakovane na predajnoj strani i raspakivane na prijemnoj. Ispravan rad svih éyorova povezanih na MODBUS mrezu zahteva da svi oni moraju biti postavijeni u identi¢an mod rada. MODBUS/ASCI/ Salje poruku koja se moze Gitati u ASC// formatu dok MODBUSIRTU Salje poruku u binarnom formatu MODBUSIASCII (American Standard Code for Information Interchange) alje bajtove poruke Kodirane u heksadecimalnom sistemu (slika 9.3a). Da bi se jedan bajt sa mogucim brojnim opsegom od 0 do 255 kodovao u heksadecimalnom sistemu potrebna su dva ASCIL hex karaktera ili dva bajta, Dozvoljeni hex karakteri su 0-9 i A-F i svaki se prenosi jednim bajtom (8) ili radi ustede vremena sa grupom od 7 bitova. Na primer, karakter koji predstavlja broj ..0" je ASCII kodovan bajtom 48 ili 0x30, karakter ,.1" se koduje i prenosi bajtom 0x31 , slovu ,,A" odgovara bajt 65 (0x41) i tako dalje. Ako master zove slave na adresi 26 (Ox1A), on u ASCH modu Salje dvobajtno device address polje sledeée sadrzine: Device address [,0°|A"| = (0x31) fox4i] = [0110007] H1000007)

You might also like