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 70 es é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 AppleTalk készlet OSI készlet IPX készlet SNA UMTS HTTP, SMTP,SMPP 7 Alkalmazás SNMP, FTP, ISUP, INAP, FTAM, HL7, Modbus, Telnet, NFS, MAP, TUP, X.400, X.500, SIP NTP TCAP AFP, PAP DAP APPC 6 Megjelenési 5 Viszonylati 4 Átviteli 3 Hálózati TDI, ASCII, EBCDIC, MIDI, MPEG Named Pipes, NetBIOS, SAP, SDP NetBEUI NetBEUI, Q.931 Ethernet, Token Ring, FDDI, PPP, 2 HDLC, Adatkapcsolati Q.921, Frame Relay, ATM, Fibre Channel RS 232, V.35, V.34, Q.911, T1, E1, 1 Fizikai 10BASE T, 100BASE TX, ISDN, SONET, DSL XDR, SSL, TLS Viszonylat kiépítés TCP vel TCP, UDP, RTP, SCTP IP, ICMP, IPsec, ARP, RIP, BGP MTP 3, SCCP DDP MTP 2 MTP 1 AFP, PAP ASP, ADSP, ZIP ATP, NBP, AEP, RTMP ISO 8823, X.226 ISO 8327, X.225 NWLink DLC? TP0, TP1, TP2, SPX, TP3, RIP TP4, OSPF X.25 (PLP), CLNP IPX Twinax RRC (Radio Resource Control) LocalTalk, TokenTalk, EtherTalk, IEEE 802.3 framing, Apple Remote X.25 (LAPB), Ethernet II Access, PPP Token Bus framing SDLC MAC (Media Access Control) Localtalk árnyékolt, Localtalk árnyékolás nélküli kábelen (PhoneNet) X.25 (X.21bis, EIA/TIA 232, EIA/TIA 449, EIA 530, G.703) 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 protokoll t, 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 (ember gé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 (0 9,A F). 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 CR LR
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 CRC vel (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.