MODBUS PROTOKOLL A következőkben egy olyan hálózati protokollt szeretnék ismertetni a teljesség igénye nélkül, amely születése egészen a 70es évek közepére tehető. Mivel a mai napig sikeres hálózati megoldás az ipari folyamatirányítás területén, ezért úgy gondoltam érdemes róla szót ejteni. A Modbus a Modicon cég által fejlesztett hálózati kommunikációs protokoll, melyet elsősorban a programozható logikai vezérlőik hálózatba kötéséhez terveztek, de könnyű kezelhetősége folytán könnyen elterjedt, melyet más gyártók is alkalmaztak. Az alábbi táblázat segít, megérteni ezen protokoll elhelyezkedését a többi ismert hálózati modell és hálózati réteg között. Réteg
Fontos példa TCP/IP készlet SS7 HTTP, SMTP,SMPP SNMP, FTP, ISUP, INAP, 7 Alkalmazás HL7, Modbus, Telnet, NFS, MAP, TUP, NTP SIP TCAP TDI, ASCII, 6 EBCDIC, XDR, SSL, Megjelenési MIDI, MPEG TLS Named Pipes, 5 Viszonylati NetBIOS, Viszonylat kiépítés TCPvel SAP, SDP TCP, UDP, 4 Átviteli NetBEUI RTP, SCTP IP, ICMP, IPsec, ARP, NetBEUI, 3 Hálózati RIP, BGP Q.931 MTP3, SCCP Ethernet, Token Ring, FDDI, PPP, 2 HDLC, Adatkapcsolati Q.921, Frame Relay, ATM, Fibre Channel MTP2 RS232, V.35, V.34, Q.911, T1, E1, 10BASET, 1 Fizikai 100BASE TX, ISDN, MTP1 SONET, DSL
AppleTalk készlet OSI készlet
AFP, PAP
FTAM, X.400, X.500, DAP
AFP, PAP
ISO 8823, X.226
IPX készlet
SNA
UMTS
APPC
ASP, ADSP, ISO 8327, ZIP X.225 NWLink DLC? ATP, NBP, SPX, RIP AEP, RTMP TP0, TP1, TP2, TP3, TP4, OSPF
DDP
X.25 (PLP), CLNP
RRC (Radio Resource Control)
IPX
LocalTalk, TokenTalk, IEEE 802.3 EtherTalk, framing, Apple Remote X.25 (LAPB), Ethernet II Access, PPP Token Bus framing
SDLC
MAC (Media Access Control)
Localtalk X.25 árnyékolt, (X.21bis, Localtalk EIA/TIA232, árnyékolás EIA/TIA449, nélküli kábelen EIA530, (PhoneNet) G.703)
Twinax
PHY (Physical Layer)
A közös nyelv meghatározza a kommunikáció üzeneteinek szerkezetét amelyet az összes vezérlő és eszköz ismer. Általánosan meghatározott a címzési eljárás is, amellyel az egyes eszközök elérhetik egymást. Biztosítva van egy közös cím terület, amelyen adatokat cserélhetnek egymással. Az eszközök, amelyek szoftveres vagy hardveres úton alkalmazzák ezt a protokollt, tekintet nélkül a hálózat fizikai kialakítására Modbus Plus ipari hálózat, MAP, Ethernet képesek elérni a megcímzett eszközöket. A kommunikáció egy mester szolga kialakításon alapszik. Ahol a mester képes a kommunikációt kezdeményezni úgynevezett lekérdezéssel. A többi eszköz a szolgák
válaszolnak a lekérdezésre többnyire a lekérdezésben szereplő, szükséges adat elküldésével. A lekérdezés lehet egy konkrét szolga lekérdezése vagy lehet egy üzenet szórás jelleggel, amire a szolgák a megfelelő üzenettel válaszolnak. Az alábbiakban egy táblázat található néhány a később említésre kerülő üzenetekben szereplő funkció kódokkal. Ezek többnyire regisztereket vagyis adatokat tartalmazó kívülről címezhető memóriaterületek irására olvasására szolgálnak de vannak egyéb speciális funkciók is.
Az üzenetek szerkezete a következőkből épül fel. A mester üzenete elején egy szolga címet vagy egy üzenetszóró címet tartalmaz, ezt követi egy funkció kód amely a szolga által végrehajtandó utasítást írja elő, majd egy adatmező következik amiben a szolgának küldhetünk adatot és az egészet egy hiba ellenőrzéshez szükséges blokk zárja. A szolga lekérdezésre történő válasza a következőket foglalja magában. A mester által küldött parancs jóváhagyása az első mező a válaszban, aztán következik az igényelt adat, majd a szokásos hibaellenőrzéshez szükséges mező zárja az üzenetet.
A mester eszköz többnyire valamilyen HMI (embergép kapcsolat), de lehet egy központi vezérlő, amely összefog és kezel több, hozzá tartozó szolga munkáját. Alább egy lehetséges hálózati topológia látható.
A Modbus hálózati átvitel két féle átviteli módot határoz meg az egyik az ASCII (American Standard Code for Information Interchange) mód, a másik az RTU (Remote Terminal Unit) mód. ASCII mód esetén minden nyolc bites bájt két ASCII karakterként kerül elküldésre hexadecimálisan (09,AF). A karakterek küldése közt akár 1 másodperc is lehet anélkül hogy a ez hibát okozna. A hibaellenőrzés LRC vel (Longitudinal Retundancy Check) történik. Az üzenetek keret szerkezete alább látható. Jól látható hogy a keret egy „:” karakterrel kezdődik és egy CRLR
karakterpárossal végződik minden esetben.
ASCII üzenet keret
RTU mód esetén minden nyolc bites bájt tartalmaz két négy biten kódolt hexadecimális értéket. Sajátossága a másik módhoz képest, hogy gyorsabb, illetve minden üzenet folyamatos folyamként kerül elküldésre. A hiba ellenőrzés CRCvel (Cyclic Retundancy Check) történik. Az üzenet szerkezetét az alábbi ábra mutatja be.
RTU üzenet keret
Ezen üzenetek keretei köré az alkalmazott hálózat függvényében további keretek épülnek a lenti ábra a Modbus Plus hálózati megoldás keret rendszer szerkezetét reprezentálja.
Modbus Plus hálózat kereteinek tartalma A különféle hálózatok esetén amilyen a Modbus Plus vagy a MAP ahol modbus protokollt használunk, a kapcsolat peer to peer megvalósítású. Használható és gyakran használt is az RS232 két eszköz közti fizikai kialakítás. Igen elterjedt a RS422 – négy vezetékes és a RS485 két
vezetékes – egyszerre 247 eszköz felfűzésére alkalmas fizikai hálózati megoldás, amellyel akár 1,5 km távolság is áthidalható. A protokoll alkalmazása még ma is nagy jelentőségű főleg az ipari automatizálás területén. Sok gyártó különféle termékeit jól integrálhatóvá teszi, tekintettel arra hogy, szinte minden eszköz ismeri, ezáltal biztosított az egységes nyelv az együttműködés kialakításához.
Felhasznált irodalom: • • • •
www.modicon.com www.modbus.org Wonderware Modicon MODBUS I/O Server User's Guide Wonderware Corporation 1998 Wikimedia Foundation Inc
Készítette:
Dobó Mihály Tamás DOMNABT.SZE Prog.terv. mat.