isip skripta - modbus

Upload: muddog

Post on 12-Oct-2015

16 views

Category:

Documents


0 download

DESCRIPTION

modbus

TRANSCRIPT

  • Industrijski sistemi i protokoli Protokoli vieg reda Modbus

    1

    Industrijski sistemi i protokoli - Komunikacioni protokoli vieg reda Modbus -

    1 Uvod u MODBUS protokol................................................................................................2 2 Modbus protokol poruke ....................................................................................................2

    2.1. Modbus struktura........................................................................................................2 2.2. Struktura Modbus poruke ...........................................................................................2 2.3. Osnovni modovi prenosa (Modbus/ASCII i Modbus/RTU) ......................................3 2.4. Detekcija greke u Modbus poruci .............................................................................4

    2.4.1. LRC detekcija u ASCII modu ............................................................................4 2.4.2. CRC detekcija u RTU modu...............................................................................4

    3 Povezivanje ureaja i razmena podataka preko Modbus protokola ...................................5 3.1. Fiziko povezivanje....................................................................................................5 3.2. Adresiranje preko Modbus protokola .........................................................................5 3.3. Modbus kodovi funkcija.............................................................................................5

    3.3.1. Function 01: Read coil status .............................................................................6 3.3.2. Function 02: Read input status ...........................................................................7 3.3.3. Function 03: Read holding registers...................................................................7 3.3.4. Function 04: Read input register ........................................................................7

    4 Moderna primena MODBUS protokola .............................................................................8 4.1. Modbus TCP...............................................................................................................8 4.2. Modbus gateway ureaji.............................................................................................8 4.3. Modbus protokoli u odnosu na OSI model i TCP/IP ...............................................10

    Rev 2009.1

  • Industrijski sistemi i protokoli Protokoli vieg reda Modbus

    2

    1 Uvod u MODBUS protokol

    Modbus (http://www.modbus.org/) je master/slave protokol sa half-duplex prenosom iz grupe Fieldbus protokola. Razvijen je od strane Modicon-a, 1979 godine. Podrava jedan master i do 247 slave ureaja u jednoj Modbus mrei. Protokol definie okvir poruke (precizira sastav grupe poslatih bajtova) kao i skup funkcijski kodova koje te poruke mogu prenositi. Protokol ne definie fiziki nivo prenosa ali uglavnom se koriste RS232 (prvobitno) i RS485 (da bi se uveala daljina prenosa i omoguila multidrop struktura). Moderna verzija Modbus koristi Ethernet kao bazini sloj a Modbus/TCP podrava i internet okruenje. Koriste se tri tipa Modbus prenosa, 1) ASCIIjedan byte poruke se sastavlja od dva ASCII karaktera, 2) RTU poruke se sastaje od binarnih bajtova i 3) Modbus/TCP (ovde se modbus poruka ugrauje u standardni okvir TCP/IP poruke). Modbus ASCII i RTU prenos se koriste na RS232 i RS485 mreama dok Modbus/TCP protokol operie na svim fizikim nivoima koje podrava TCP/IP protocol kao to su 10BASE-T i 100BASE-T LAN kao i serijski PPP i SLIP mreni nivoi. Modbus protokol podravaju razni PLC, ali i razni inteligentni sensori.

    2 Modbus protokol poruke 2.1. Modbus struktura

    Modbus struktura podrazumeva jedan master i vie slave ureaja na jednoj istoj liniji veze. Liniju u potpunosti kontrolie master tako to se po potrebi obraa pojedinim slave ureajima. Ukoliko na primer master hoe da proita stanje nekog meraa on na liniju alje poruku sa njegovom adresom. Mera prepoznaje svoju adresu i u odgovoru alje stanje svog ulaza, t.j. merene veliine. Po potrebi, odgovor moe biti i prosta potvrda prijema (acknowledgment). Na primer, ako master eli da otvori neki ventil njemu je kao odgovor dovoljna samo potvrda da je poruka stigla na destinaciju i funkcija izvrena, t.j. da je ventil uspeno otvoren.

    Slika 1. Modbus sistem sa jednim master ureajem i vie slave ureaja

    2.2. Struktura Modbus poruke

    Modbus poruka ima jasno definisanu strukturu koja ne zavisi od tipa fizikog medija za prenos (RS232 ili TCP/IP). U sluaju prostih konekcija (RS485 ili RS232) cela mrea je namenjena samo za Modbus poruke i Modbus poruka se alje upravo onako kako je definisana u ovom poglavlju. U sluaju da se Modbus poruka alje preko neke druge mree, ona se mora ugraditi u standardnu poruku za prenos tom mreom, kao na primer u standardnu TCP/IP poruku preko Ethernet mree.

    Modbus poruka ima etiri osnovna elementa, koji se alju po istom rasporedu. Poruka se sastoji od 1) Device address - adrese primaoca, 2) Function code - koda funkcije koju treba izvriti, 3) Data -eventualno potrebnih podataka za funkciju i 4) Error check - polja za proveru greke.

  • Industrijski sistemi i protokoli Protokoli vieg reda Modbus

    3

    Poetak i kraj poruka se prepoznaju preko Frame start i Frame end karaktera ili signala. Ti signali zavise od tipa prenosa, to je objanjeno u sledeem poglavlju.

    Modbus konverzaciju uvek poinje master jedinica. Ona alje poruku koja se zove master query i kojom se uobiajeno obraa jednoj slave jedinici. Jedna slave jedinica se prepoznaje na osnovu svoje adrese koja se slae sa Device address poljem i sprema odgovor. Ostale neprozvane slave jedinice ne odgovaraju i ostaju sa izlazima u stanju visoke impedance. Odgovor moe biti puna Modbus poruka, koja sadri podatke koje master trai, a moe bit ii samo prosta potvrda prijema (acknowledgement) u kojoj se sastoji od 1, 2 i 4 elemenata Modbus poruke (dakle, esto master ne trai podatke, nego samo neku akciju). ematski prikaz tipine Modbus komunikacije dat je na sledeoj slici.

    Device address (adresa ureaja)

    Function code (kod funkcije)

    Data bytes (bajtovi poruke)

    -

    -

    -

    -

    Error check (LRC ili CRC)

    Device address (adresa ureaja)

    Function code (kod funkcije)

    Data bytes (bajtovi poruke)

    -

    -

    -

    -

    Error check (LRC ili CRC)

    2a) Slave response (odgovor)

    1) Query poruka od mastera

    Frame end Frame end

    Frame start Frame start

    Device address (adresa ureaja)

    Function code (kod funkcije)

    Error check (kod funkcije)

    Frame end

    Frame start

    2b) Ili slave samo alje potvrdu prijema (acknowledgment)

    Slika 2. Dva tipina ciklusa tokom Modbus komunikacije. Master query (1) i potpun odgovor od slave jedinice (2a) , ili Master query (1) i samo potvrda prijema od strane slave jedinice (2b)

    2.3. Osnovni modovi prenosa (Modbus/ASCII i Modbus/RTU) Modbus konekcija se moe izvriti preko dva bazina moda za transmisiju i kodovanje poruke,

    ASCII i RTU. Modbus/ASCII alje poruku koja se moe itati u ASCII formatu dok Modbus/RTU alje poruku u binarnom formatu. Master i slave moraju da budu konfigurisani za isti mod prenosa.

    Modbus/ASCII (American Standard Code for Information Interchange) alje bajtove poruke kodirane u heksadecimalnom sistemu. Da bi jedan bajt sa moguim brojnim opsegom od 0 do 255 heksadecimalno kodovao potrebna su dva ASCII hex karaktera ili dva nova bajta. Dozvoljeni karakteri su 0...9 i A...F i svaki se prenosi jednim bajtom (8) ili radi utede 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 ili 0x41 i tako dalje. Ako master zove slave na adresi 26, on salje dvobajtno polje Device address 1 A = 0x31 0x41 = 00110001 01000001

    Modbus/ASCII alje duplo vie bajtova nego to treba ali ima i prednosti. Poto su za slanje svih polja dozvoljeni samo karakteri 0...9 i A...F za detekciju starta se koristi karakter : dok se kraj poruke signalira karakterima CR/LF .

    Modbus/RTU (Remote terminal unit) alje podatke u binarnom formatu, bajtove koji mogu primiti vrednost od 0-255. Svaki bajt informacije se alje direktno, bez konverzije. Ako master zove slave na adresi 26, on salje jednobajtno polje Device address = 0x1A = 00011010

    Modbus/RTU alje duplo manje bajtova ali ima dodatan utroak vremena radi sinhronizacije starta poruke. Poto sada bajtovi poruke mogu poprimiti sve mogue brojne kombinacije, nije vie mogue izdvojiti jednu od njih za start karakter. Zato se u RTU modu start moe pokreniti uvek nakon tiine na liniju u trajanju od 3.5 karaktera. Stop poruke se takoe moe detektovati preko tiine na liniju u trajanju od 3.5 karaktera. Ovo znai da mora postoja period neaktivnosti na liniju u trajanju od 3.5 karaktera. Svaki Modbud prijemnik u RTU modu isti svoj prijemni bafer nakon 1tiine u trajanju od 1.5 karaktera i spreman je za novu poruku. On takoe smatra da je poruka gotova ako detektuje tiinu u trajanju od 1.5 karaktera.

    Podrazumeva se da trajanje karaktera zavisi od podeene brzine prenosa jednog bita i broja bitova u tipinom bajtu poruke. Modbus to ne specificira, nego koristi podeeno u korienim low level

  • Industrijski sistemi i protokoli Protokoli vieg reda Modbus

    4

    protokolima. Na primer , ako se koristi RS232 protokol za prenos jednog Modbus byte, sa podeenim jednim bitom parnosti, imamo 1 +8+1+1 bitova, to za brzinu prenosa 9600b/s dovodi do jednog karaktera u trajanju od 1.145 ms.

    Modbus/ASCII Modbus/RTU Tip karaktera ASCII 0...9 and A..F Binarni brojevi 0...255 Frame start character ':' 3.5 chars silence Frame end Characters CR/LF 3.5 chars silence Dozvoljena pauza 1 sec 1.5 times char length Start bit 1 1 Data bitovi 7 8 Pariti bit even/odd ili nema even/odd ili nema Stop bit 1 ili 2 1 ili 2 Tip polja za proveru greke

    LRC Longitudinal Redundancy Check (8 bita)

    CRC Cyclic Redundancy Check (16 bitova)

    Tabela pokazuje da Modbus/ASCII poruka poinje sadri samo hexadecimalne ASCII karaktere (time istu poruku ine vie bajtova), poinje sa dodatnim ':' karakterom, zavrava sa dodatnom carriage return/linefeed sekvencom i time je manje efikasna od RTU poruke koja alje binarno kodovane podatke. Ali, kod Modbus/RTU poruke je vano da poruka bude poslata kontinualno bez pause u prenosu due od 3.5 karaktera. Ako je to nemogue ostvariti, mora se koristiti Modbus/ASCII transfer.

    U oba osnovna tipa transfera master detektuje greku u prenosu ako ne dobije odgovor od slave jedinice i detektuje timeout. Ukoliko slave detektuje greku u pristigloj poruci (master query), on nee reagovati na nju a nee ni odgovoriti masteru ime indiretkno i njega obavetava o greci.

    Oba osnovna tipa Modbus transfera ne zahtevaju otvaranje ili zatvaranje konekcije pre i posle slanja jedne ili vie poruka.

    Modbus/TCP je nova, trea vrsta Modbus transfera. Predstavlja varijantu Modbus/RTU transfera koja je prilagoena internet okruenju, i koja primenjuje TCP/IP protokol. Modbus/TCP koristi RTU binarni prenos sa TCP/IP detekcijom greke u poruci ili transferu. Modbus/TCP za razliku od ASCII i RTU protokol koji radi na osnovu konekcije. On dozvoljava vie konekcija ka istoj ili vie slave jedinica. U sluaju Modbus/TCP master mora da otvori i zatvari konekciju pre i posle slanja poruke.

    2.4. Detekcija greke u Modbus poruci Modbus ureaji testiraju tanost primljene poruke pomou error check polja. Ovo polje je jednobajtno u ASCII modu prenosa i dvobajtno u RTU modu prenosa. Prijemnik poredi vrednost toga polja sa vrednosti koju je on izraunao na osnovu prijmljenih bajtova i u sluaju razlike detektuje greku prenosa i ne odgovara na poruku.

    2.4.1. LRC detekcija u ASCII modu U ASCII modu jedan bajt poruke je rezervisan za proveru greke. Ovaj bajt poruke nosi Longitudinal Redundancy Check (LRC) kod koji se:

    Rauna na predaji na osnovu poslatih bajtova i utiskuje u poruku. po prijemu poruke, isto se rauna ali na osnovu primljenih bajtova prijemnik poredi ove dve LRC vrednosti i ako se slau poruka je bez greke.

    Procedura za LRC raun je ista i na predaji i na prijemu: 1. saberi sve bajtove u poruci, ali bez start bajta ':' i bez zavrnih CR/LF karaktera. 2. Bajtove sabiraj u 8-bitnoj aritmetici, prenos igorisati, 3. Napravi drugi komplement dobijenog broja (Oduzmi konaan broj od 0xFF (255) i dodaj 1 da bi

    se dobio njegov II komplement

    2.4.2. CRC detekcija u RTU modu U RTU modu su dva bajta poruke rezervisana za proveru greke. Ovo 16 bitno polje se zove Cyclic Redundancy Check (CRC) i rauna se na sledei nain (isto na prijemu i predaji):

  • Industrijski sistemi i protokoli Protokoli vieg reda Modbus

    5

    1. 16 -bitni registar se napuni jedinicama, crc =0xFFFF 2. Vri se logika XOR operacija nad crc registrom i bajtom poruke, 3. Ukoliko je LSB = 1

    a. Sadraj crc registra se pomera za jedno mesto udesno b. Nad sadrajem crc registra se opet vri XOR ali sa nekim unapred definisanim brojem (na

    primer 0xA001) 4. Ukoliko je LSB = 0

    a. Sadraj crc registra se pomera za jedno mesto udesno 5. U najvii bit (MSB) se upisuje nula, 6. Operacije 2-5 se ponavljaju 8 puta, za svih 8 bitova jednog bajta 7. Zatim se sve to ponavlja 2-6 , za sve bajtove poruke i konana crc se upisuje u 16-bitno polje.

    3 Povezivanje ureaja i razmena podataka preko Modbus protokola

    3.1. Fiziko povezivanje Najprostije Modbus povezivanje je direktno povezivanje jednog MASTER i jednog SLAVE ureaja preko jednog serijskog kabla, primenom baznog RS232 ili RS485 protokola. Modbus poruku ine vie byte-ova sukcesivno poslatih u vremenu, od kojih je svaki poslat po RS232 standardu.

    > Slika 3. Modbus konektor i signali u sluaju RS232 komunikacije

    Druga varijanta je enkapsulacija Modbus poruke u jednu veu TCP/IP poruku, koja putem interneta stie do destinacije.

    3.2. Adresiranje preko Modbus protokola Modbus je namenjen za povezivanje jednog master ureaja preko iste serijske linije sa vie slave ureaja. Nezavisno od tipa mree preko koje se prenosi (obian prosti serijski kabel ili masovna mrea kao to je internet) prva informacija u okviru Modbus poruke je adresa prijemnika. Ovo je uvek samo jedan byte, esto nazivan slave ID byte. Svakom slave ureaju je dodeljena jedna adresa, iz opsega 1 to 247. Na ovaj nain ve posle prvog pristiglog byte-a poruke slave zna da li je poruka za njega ili treba da je ignorie. Kada slave odgovara na poruku, on koristi istu (svoju) adresu u odgovoru.Adresa 0 je rezervisana za broadcost, i njome se alje poruka namenjena svime slave ureajima na liniji , poruka koju svi primaju ali niko na nju ne odgovara. Modbus protokol definie i maksimalni brojni opseg adresa od 1 do 10000 za sve ulaze (inputs), izlaze (coils ili outputs) i interne (holding) registre u okviru jedne modbus slave jedinice u koje master hoe da pie ili koje hoe da ita.

    3.3. Modbus kodovi funkcija Nakon adrese slave jedinice, drugi parameter u modbus poruci je uvek kod funkcije koju taj slave treba da izvri nakon prijema poruke. Kod funkcije definie tip poruke i tip akcije. On moe da bude u opsegu od 1-255 i prenosi se jednim bajtom za RTU prenos, ili sa dva karaktera tokom ASCII prenosa. Modbus slave jedinice ne podravaju sve mogue modbus funkcijske kodove. Najvie korieni kodovi funkcija su dati u tabeli

  • Industrijski sistemi i protokoli Protokoli vieg reda Modbus

    6

    Common Modbus function codes

    Code Description

    01 Read coil status

    02 Read input status

    03 Read holding registers

    04 Read input registers

    05 Force single coil

    06 Preset single register

    07 Read exception status

    15 Force multiple coils

    16 Preset multiple registers

    17 Report slave ID

    3.3.1. Function 01: Read coil status U Modbus protokolu, coil je diskretna vrednost jednog izlaza, ili status jednog izlaznog pina ili jednog bita. Modbus funkcijom 01 je mogue prozvati samo jednu slave jedinicu u jedno vreme, ali mogue je proitati trenutni status jednog ili vie takvih izlaza u okviru te iste jedinice. Poruka funkcije 01 ima sledeu strukturu

    Function 01 query structure

    Byte Value Description

    1 1...247 Slave device address

    2 1 Function code

    3 0...255 Starting address, high byte

    4 0...255 Starting address, low byte

    5 0...255 Number of coils, high byte

    6 0...255 Number of coils, low byte

    7(...8) LRC/CRC Error check value

    Starting address definie poetnu adresu bita koje master eli da proveri, u opsegu je od 0 -65535. Number of coils je broj bitova za slanje, u opsegu je od 0 -65535.

    Kada primi ovu poruku, slave prikuplja vrednosti zapisane na eljenim digitalnim izlazima i pravi odgovor. Duina odgovora zavisi od broja izlaznih statusa. Uglavnom, ako master trai N vrednost, broj bajtova neophodan za njihovo slanje je ((N+7) mod 8) . Taan broj data bajtova slave alje u odgovoru na prvo mesto u polju za podatke. Generalna struktura odgovara 01 data je u sledeoj tabeli:

    Function 01 answer structure

    Byte Value Description

    1 1...247 Slave device address

  • Industrijski sistemi i protokoli Protokoli vieg reda Modbus

    7

    2 1 Function code

    3 0...255 Number of data bytes N

    4...N+3 0...255 Bit pattern of coil values

    N+4(...N+5) LRC/CRC Error check value

    3.3.2. Function 02: Read input status

    itanje stanja ulaznih pinova se radi na isti nain kao i itanje statusa izlaza. Jedina razlika je u broju funkcije, za to je po Modbus protokolu rezervisana funkcija kodovana sa 02.

    3.3.3. Function 03: Read holding registers Ovo je vee za promenjive, a ne samo za bitove . Interne vrednosti promenjivih u Modbus slave jedinici se uvaju u holding registarima. Ovi registri su 2-bajtni i mogu biti korieni u razne svrhe, konfiguracioni parametri, rezultati lokalnog merenja temperature, napona itd. Svi oni se mogu preneti do master jedinice preko funkcije 03. Po Modbus konvenciji, holding registri poinju na adresi 40001.koja odgovara adresi 0 u Modbus poruci. Modbus funckcija 03 slui za itanje stanja jednog ili vie holding registera u okviru jedne slave jedinice. Tipina query 03 je data u sledeoj tabeli

    Function 03 query structure

    Byte Value Description

    1 1...247 Slave device address

    2 3 Function code

    3 0...255 Starting address, high byte

    4 0...255 Starting address, low byte

    5 0...255 Number of registers, high byte

    6 0...255 Number of registers, low byte

    7(...8) LRC/CRC Error check value

    Nakon to primi query poruku sa Modbus funkcijom 03, slave jedinica vraa odgovor sa 16 bitnim vrednostima speficiranih holding registara. Za svaki traeni registar alju se dva bajta sa podacima. Prvi bajt je high byte , drugi je low byte podatka u registru. Modbus odgovor 03 poinje sa kodom funkcije 03, sledei byte je broj bajtova sa podacima koji slede (dva puta vei od broja zatraenih registara). Zadnji jedan ili dva bajta su error check polje.

    3.3.4. Function 04: Read input register

    itanje stanja ulaznih portova (celih rei odjednom) se radi na isti nain kao i itanje stanja internih holding registara (funkcija 03). Jedina razlika je u kodu funkcije, za itanje ulaznih registara se koristi funkcija broj 04.

  • Industrijski sistemi i protokoli Protokoli vieg reda Modbus

    8

    4 Moderna primena MODBUS protokola 4.1. Modbus TCP

    Omoguena je kontrola i akvizicija podataka na daljinu preko interneta.Modbus TCP je internet protokol i moe da koristi za razmenu podataka izmeu dva ureaja bilo gde na svetu. Master (client) alje poruku do specificirane IP adrese i porta. Svaki slave ureaj (server) ima svoju specifinu IP adresu. Po konvenciji mnogi slave ureaji koriste Ethernet port 502 kao standard (mada Modbus/TCP protokol kao aplikacija moe da koristi bilo koji port). Kod Modbus TCP poruka mora imati IP destinacionu adresu (kod RTU i ASCII je to bio ID broj) , i prenosi se putem Etherneta (kod RTU i ASCII prenosila se preko RS232 i RS485). Primenom Modbus TCP ininjer moe od kue da dobija podatke iz fabrike i/ili vri kontrolu rada fabrikih procesa. Modbus TCP/IP koristi internet TCP/IP protokol koji omoguava pouzdan prenos podataka preko interneta. Ovim se Modbus protokol adaptira trendovima u kojima se veina ureaja povezuje na internet i preko koga vre komunikaciju. Modbus TCP/IP je nainjen 1999, i koristi Ethernet kao fiziku vezu i TCP/IP kao protokol vieg nivoa (www.modbus-ida.org/specs). Svaki ureaj koji ima Ethernet karticu moe da komunicira preko Modbus TCP. Modbus TCP danas podrava veliki broj ureaja i koristi se uglavnom za razmenu informacija izmeu master jedinice i distribuiranih (veoma udaljenih) IO jedinica. Modbus TCP ima sledee karakteristike

    Jednostavnost: Modbus TCP/IP prosto uzima Modbus poruku i okruuje je sa TCP/IP okvirom (zaglavlje i kraj) koji omoguuje prolaz poruke do destinacije kroz internet. Svaki ureaj koji podrava TCP/IP moe da komunicira preko Modbsu TCP/IP.

    Podrava standardni Ethernet: Standardni Ethernet ureaji su veoma pristupani i poseduju ih mnogi ureaji. Cena Ethernet ureaja pada, dok brzina rada raste (10 , 100 Mb i uskoro 1Gb).. Modbus TCP/IP je dobio i koristi Ethernet port 502 koji je rezervisan samo za Modbus TCP/IP protokol.

    Protokol je otvoren: Ovo znai da ne treba platiti za njegovo korienje. Modbus-IDA nastaje u aprilu 2004 sa specifikacijama koje su otvorene za download. Licenca za Modbus ili Modbus TCP/IP se ne plaa. Primeri kodova Modbus programa sa korisnim primerima praktinih reenja su uglavnom slobodni za korienje.

    Veliki broj ureaja ga podrava: mnogi proizvoai standardno ugrauju Modbus opciju u svoje ureaje.

    Modbus/TCP se moe koristiti za komunikaciju dva PC ureaja, jedan u master, dok drugi u slave reimu. Ili, za komunikaciju PC ureaja sa udaljenim senzorom koji u sebi ima ugraenu Ethernet karticu i interni mikroprocesor iji kod podrava Modbus/TCP komunikaciju. Performance Modbus TCP/IP zavise od korienog hardware-a ali i od samog saobraaja na internetu. Sistem se ne moe projektovati tako da se oekuje rad u realnom vremenu preko Modbus TCP. Modbus TCP treba koristiti za odravanje, traenje kvarova, i sporu superviziju systema. Mada, ukoliko bi imali high speed internet, koristili high-speed Ethernet sviteve i Modbus protokol koji samo izbacuje podatke iz obinih registara ka masteru u teoriji bi mogli dobiti 60% efikasan prenos. Pri 10BaseT Ethernet-u dobijamo 1.25 Mbps sirovih podataka, to znai prolazilo bi 1.25M/2 * 60% = 360 000 registara u sekundi . Za 100BaseT brzina bi bila 10 puta vea. Prethodni raun podrazumeva da Ethernet radi onoliko brzo koliko dozvoljava raspoloivi prenosni opseg. Praktian test (Schneider Electric koristei MOMENTUM) je pokazao da do 4000 ulaznih blokova sa po 16 12-bitnih analognih ulaza mogu biti skanirani u sekundi ali tu treba ve uzeti u obzir ogranienu brzinu rada samog IO ureaja. Dalje poveanje brzine interneta je samo prednost za Modbus TCP, poto i njegova brzina proporcionalno raste.

    4.2. Modbus gateway ureaji

    Modbus gateway omoguuje prostu konverziju Modbus RTU ili ASCII poruka u MODBUS TCP i obrnuto. Gateway vri

    fiziku konverziju Rs232 ili RS485 na Etherent i obrnuto

  • Industrijski sistemi i protokoli Protokoli vieg reda Modbus

    9

    adaptaciju Modbus RTU i Modbus ASCII u Modbus TCP Ovim je omoguena komunikacija sa postojeim Modbus ureajima koji podravaju samo Modbus RTU i ASCII tipove poruka. Takoe je mogue postaviti vie Modbus slave ureaja povezanih u lokalnu RS485 ili RS232 mreu koji su prikljueni na internet preko Modbus Gateway ureaja. U tom sluaju na master ureaj moe sa bilo koje take preko interneta da kontrolie ove slave jedinice ili da od njih prikuplja podatke. Postoji varijanta i sa master ureajem u lokalnoj mrei. Modbus Gateway uobiajeno ima sledee karakteristike

    moe da radi kao Modbus Master Gataway ili kao Modbus Slave Gateway. lokalno podrava RTU (binarni) ili ASCII format preko interneta moe da radi koristee TCP ili UDP protokol moe da pria sa do 248 razliitih ureaja

    Slika 4. Primena Modbus slave gateway ureaja . Na slici prikazana dva master-a koji preko interneta mogu nezavisno upravljati sa obe grupe slave jedinica, od kojih je jedan lokalno vezana preko RS232 dok druga preko RS484 protokola.

    Slika 5. Primena Modbus master gateway ureaja. Na slici prikazana dva master-a lokalno i preko interneta mogu upravljati slave ureajima. Master A moe komunicirati sa lokalnim Slave 3, al ii sa Slave 1 i Slave 2. Master B moe komunicirati sa Slave 1 i Slave 2.

    Gateway ureaj u principu moe biti i obian PC sa odgovarajuim programima za konverziju.

  • Industrijski sistemi i protokoli Protokoli vieg reda Modbus

    10

    4.3. Modbus protokoli u odnosu na OSI model i TCP/IP

    Detalje OSI i TCP/IP modela pogledati u kasnijim poglavljima, tek tada e ova tabela dobiti na smislu. Zasad samo primetiti da osnovni serijski Modbus protokol ima dobro definisan fiziki nivo (nivo koji definie kuda i kako idu bitovi podataka) i aplikacijski nivo (definie kako koristiti pristigle podatke). Sa druge strane, Modbus/TCP radi preko interneta i mora da prihvati sve one meunivoe protokola koji su neophodni pri prenosu podataka preko interneta.

    Nivo protokola Modbus/TCP serijski Modbus (ASCII i RTU ) 1. Fiziki Ethernet 10/100BaseT RS -232C/RS485 2. Nivo podataka Ethernet 802.3/802.2 nema 3. Mreni IP nema 4. Transportni TCP nema 5. Nivo sesije nema nema 6. Nivo prezentacije nema nema 7. Aplikacijski nivo Modbus/TCP Modbus