Popis protokolu MODBUS/uBUS
Predmet |
|
---|---|
Konfigurovateľné mikroprocesorové systémy | |
Tématická časť: | |
Sériová asynchrónna komunikácia - UART |
Základný popis
MODBUS je otvorený protokol pre vzájomnú komunikáciu rôznych zariadení (PLC, dotykové displeje, V/V rozhrania atď.), ktorý umožňuje prenášať dáta po rôznych sieťach a zberniciach. Komunikácia funguje na princípe posielania dátových správ medzi klientom a serverom(master/slave komunikácia). Ako fyzická vrstva pre protokol modbus sa používa sériová komunikácia po RS-232 alebo RS-485.
História
Protokol Modbus prvýkrát predstavila v roku 1979 firma Modicon (teraz jedna zo značiek koncernu Schneider) na svojom programovateľnom logickom automate Modicon 384. Bol to jeden z prvých komunikačných protokolov určených na výmenu dát medzi nadriadenou jednotkou (master) a podriadenými jednotkami (slave) v distribuovaných systémoch riadenia a zberu dát. Bol navrhnutý ako nezávislý od fyzickej vrstvy a pracoval na báze výmeny správ s definovaným formátom v sieťovom prostredí.Ako pôvodná fyzická vrstva bola použitá sieťová komunikácia štandardu RS-232, ale pre potreby použitia na väčšie vzdialenosti sa neskôr prešlo na RS-485. V rokoch 1979 až 1985 sa vďaka svojim vlastnostiam tento protokol veľmi rozšíril, takže bol neskôr uznaný ako priemyselný štandard. Počas procesu osvojovania si tohto protokolu rôznymi firmami došlo aj k zmenám jeho názvu: J-BUS,Memobus,atď.
Verzie protokolu
Najpoužívanejšie verzie protokolu modbus:
- Modbus RTU - Remote terminal unit - znakový formát, ktorý začína a ukončuje každý frame 3,5byte medzerou. Na kontrolu prenesených dát používa CRC - 2 bajty.
- Modbus ASCII - táto verzia používa pre protokolovú komunikácii znaky ASCII štandardu. Typické pre ASCII verziu modbusu je použitie štartovacieho znaku ":" a ukončovacích CR + LF (carriage return, line feed).Na kontrolu prenesených dát používa CRC - 2 znaky.
- Modbus TCP/IP - Táto varianta modbus je určená pre komunikáciu cez TCP/IP siete.
Popis protokolu
Protokol MODBUS definuje štruktúru správy na úrovni protokolu (PDU – Protocol Data Unit) nezávisle na type komunikačnej vrstvy. V závislosti na sieti, na ktorej je protokol použitý, je PDU rozšírená o ďalšie časti a tvorí tak správu na aplikačnej úrovni (ADU – Application Data Unit). Kód funkcie udáva serveru aký druh operácie má spraviť. Rozsah kódov je 1 až 255, pričom kódy 128 až 255 sú vyhradené pre oznámenie zápornej odpovede (chyby). Niektoré kódy funkcií obsahujú i kód podfunkcie upresňujúcej bližše požadovanú operáciu. Obsah datovej časti správy poslanej klientom slúži serveru k uskutočneniu operácie určenej kódom funkcie. Obsahom môže byť napríklad adresa a počet vstupov, ktoré má server prečítať alebo hodnota registrov, ktoré má server zapísať. U niektorých funkcií nie sú pre prevedenie operácie potrebné ďalšie dáta a v tom prípade môže dátová časť v správe úplne chýbať.