1. Johdanto
Modbus on pyyntö-vastaus-protokolla, joka perustuu master/slave- tai client/server-arkkitehtuuriin. Master-slave-suhteessa kommunikointi tapahtuu pareittain. Laitteen on aloitettava pyyntö ja odotettava sitten vastausta. Aloittava laite (jota kutsutaan masteriksi) vastaa kunkin vuorovaikutuksen aloittamisesta. Tyypillisesti master-laite on HMI- tai SCADA-järjestelmä ja slave-laitteet ovat antureita, ohjelmoitavia logiikkaohjaimia (PLC) tai ohjelmoitavia automaatio-ohjaimia (PAC). Tavallisessa Modbus-verkossa on yksi master-laite ja jopa 247 slave-laitetta. Jokaisella slave-laitteella on yksilöllinen slave-laitteen osoite väliltä 1–247. 2. Modbus-protokollan yksityiskohdat
Tällä hetkellä Modbus-protokollaa käytetään pääasiassa sarja- ja Ethernet-yhteyksissä. Sarjaliitännöissä se jaetaan edelleen Modbus RTU:hun ja Mobus ASCII:hin, jotka eroavat hieman toisistaan data- ja protokollatietojensa osalta. Ethernet-yhteyksissä käytetään Modbus TCP:tä.
2.1 Modbus-tiedonsiirtotilat
1) Modbus RTU:ta käytetään sarjaliikenteeseen ja se käyttää binääridataa protokollaviestinnässä. RTU-formaatti käyttää syklisiä redundanssitarkistussummia virheentarkistusmekanismina tiedon luotettavuuden varmistamiseksi. Modbus RTU on Modbusin yleisin toteutus. Modbus RTU -viesti on lähetettävä jatkuvasti yksi kerrallaan ilman merkkien välisiä taukoja. Modbus-viestit erotetaan toisistaan tyhjäjaksoilla.
2) Modbus ASCII:ta käytetään myös sarjaliikenteeseen, ja siinä käytetään ASCII-merkkejä protokollaviestinnässä. ASCII-formaatti käyttää pitkittäistä redundanssitarkistussummaa. Modbus ASCII -viestit tunnistetaan kaksoispisteellä (':') ja rivinvaihdolla (CR/LF) otsikkona ja alatunnisteena.
3) Modbus TCP:tä käytetään TCP/IP-verkkotiedonsiirtoon Modbusin kautta porttiin 502. Sen ei tarvitse laskea tarkistussummia, koska TCP/IP tarjoaa jo tarkistussummasuojauksen alla olevassa kerroksessa.
2.2 Erot Modbus ASCII:n, RTU:n ja TCP:n välillä
Modbus RTU ja Modbus ASCII käyttävät samaa protokollaa. Ainoa ero on, että lähetetyt tavut esitetään RTU:ssa binäärinä ja ASCII:ssa luettavana tekstinä. Huomaa, että RTU-viesteissä ei ole tekstin alkua osoittavaa lippua, ja viestin vastaanottaja käyttää "hiljaista" aikaa uuden viestin alun määrittämiseen, kun taas ASCII:ssa on tekstin alkua osoittava lippu. Binääriviestit ovat lyhyempiä kuin ASCII, joten teoriassa RTU on nopeampi lähettää/vastaanottaa kuin ASCII.
Modbus TCP voidaan pohjimmiltaan ymmärtää Modbus RTU -protokollana, joka lähetetään Ethernet TCP/IP:n kautta. Modbus-tietorakenteet määritellään TCP/IP-protokollan sovelluskerroksen avulla. TCP-protokollaa käytetään varmistamaan, että data vastaanotetaan ja lähetetään oikein, kun taas IP-protokolla sisältää osoite- ja reititystiedot. Modbus TCP -komennot lähetetään TCP/IP-protokollan kautta. Modbus RTU -komennot on pakattu lähetystä varten. Modbus TCP:n etuna on kyky käyttää yleisiä Ethernet-laitteita.
3. ModBus-sovellukset Jincan-verkkolaitteissa
Jincan Networkin DTU-, RTU- ja teollisuusreitittimet tukevat ModBus-protokollaa anturi- tai laitetietojen keräämiseen, lataamiseen etäpalvelimelle 5G/4G-tietoliikenneverkon kautta sekä läpivientiin ja protokollan muuntamiseen.