Mikä on Modbus ja miten se toimii
1. Modbusin sovellusskenaariot
Modbus on avoin protokolla, mikä tarkoittaa, että valmistajat voivat upottaa sen laitteisiinsa maksamatta patenttimaksuja. Siitä on tullut teollisuuden standarditietoliikenneprotokolla, ja se on nyt yleisin tapa liittää teollisuuselektroniikkalaitteita, jota käytetään laajalti eri toimialoilla ja monien valmistajien toimesta.
Modbus käytetään yleensä signaalien lähettämiseen instrumenteista ja ohjauslaitteista pääohjaimiin tai tiedonkeruujärjestelmiin. Esimerkiksi järjestelmä, joka mittaa lämpötilaa ja kosteutta ja lähettää mittaustulokset tietokoneelle.
Modbus-väylää käytetään myös yleisesti valvontatietokoneiden yhdistämiseen etäpäätelaitteisiin (RTU), joita sovelletaan valvonta- ja tiedonkeruujärjestelmissä (SCADA).
Modbus-protokollasta on versioita, jotka toimivat sarjaliitännöissä (Modbus RTU ja Modbus ASCII) ja Ethernetissä (Modbus TCP).
1.1 Toimintaperiaate Modbus
Modbus siirtää dataa laitteiden välillä sarjaliitäntöjen kautta. Yksinkertaisin kokoonpano on yksi sarjakaapeli, joka yhdistää kahden laitteen sarjaportit: asiakkaan ja palvelimen.
Data lähetetään bittisarjana (0 ja 1), ja jokainen bitti lähetetään jännitteellä: nolla lähetetään positiivisella jännitteellä, kun taas yksi lähetetään negatiivisella jännitteellä. Nämä bitit lähetetään erittäin nopeasti, ja tyypillinen lähetysnopeus on 9600 baudia (bittiä sekunnissa).
2. Eri versiot Modbus-protokolla
2.1 Modbus RTU
Modbus RTU (Remote Terminal Unit) on Modbus-protokollan binääriversio. Sitä käytetään yleisesti sarjaliikenteeseen, ja se on tunnettu kompaktista tiedon esitystavastaan, mikä tekee siitä tehokkaan ja nopean. Tämä korkea tehokkuus yksinkertaistaa huomattavasti sen toteutusta laitteistoissa. Tämän protokollan mukainen tiedonsiirto käyttää fyysisiä rajapintoja, kuten RS-485 tai RS-232.
Modbus RTU TCP:n kautta on Modbus RTU- ja Modbus TCP -protokollien hybridi. Vaikka fyysinen väline on Ethernet, tiedonsiirto noudattaa RTU-formaattia. Tämän yhteensovitustilan ilmeinen etu on, että se voi siirtää alkuperäiset RTU-pohjaiset järjestelmät Ethernetiin minimaalisilla laitteistopäivityksillä. Siksi suunnittelijat valitsevat usein tämän järjestelmän laajentaessaan ohjauksen laajuutta käyttääkseen uudelleen mahdollisimman paljon paikan päällä olevia laitteita ja rakenteita.
2.2 Modbus ASCII
Modbus ASCII (American Standard Code for Information Interchange) on Modbus-protokollan ASCII-toteutus. Sen tehokkuus on Modbus RTU:ta heikompi, mutta se käyttää ihmisen luettavia merkkejä, joten sitä on helpompi käyttää ja virheenkorjata.
2.3 Modbus TCP/IP
Modbus TCP/IP on TCP/IP-verkoissa toimiva Modbus-protokollan versio, joka tukee pitkän matkan tiedonsiirtoa eri verkkojen välillä.
2.4 Modbus UDP
Modbus UDP (User Datagram Protocol) on Modbus-protokollan versio, joka lähetetään UDP-siirtoprotokollan kautta. Se on vähemmän luotettava kuin Modbus TCP/IP, koska se ei voi taata pakettien toimitusta tai oikeaa lähetysjärjestystä, mutta sillä on nopeampi nopeus ja se käyttää vähemmän kaistanleveyttä.
2.5 Modbus Plus
Modbus Plus (MB+ tai Modbus+) on Schneider Electricin lanseeraama Modbus-protokollan oma versio. Se on pisteestä pisteeseen -tiedonsiirtoprotokolla, joka tarjoaa nopeamman ja deterministisemmän tiedonsiirron verrattuna tavalliseen Modbus-protokollaan.
3. Modbusin käyttämät tietoliikennevälineet
3.1RS-232

3.2RS-422

3.3Ethernet

4. Master ja slave Modbusissa
4.1 Mestarin määritelmä
Master on laite, joka aloittaa Modbus-tiedonsiirron. Se ohjaa koko tiedonsiirtoprosessia, lähettää pyyntöjä orjille ja käsittelee orjien palauttamaa vastausdataa. Yksi master voi liittää useita orjia, ja jokaisella orjalla on oltava yksilöllinen osoite.
4.2 Orjan määritelmä
Orja vastaanottaa ja vastaa isännän pyyntöihin. Orja ei voi aktiivisesti aloittaa tiedonsiirtoa; se vastaa vain, kun isäntä lähettää pyynnön. Orjan osoitetta käytetään sen sijainnin yksilölliseen tunnistamiseen tietoliikenneverkossa.
4.3 Päälaitteen ja orjan ominaisuuksien erot
Isännällä on yleensä vahvat laskenta- ja ohjausominaisuudet, ja se voi aloittaa ja hallita kommunikointia useiden orjien kanssa samanaikaisesti. Orjalla on yksinkertaisemmat toiminnot, ja se vastaa vain isännän pyyntöihin ja syöttää tietoja takaisin.
4.4 Pää- ja orjalaitteen roolinvaihto
Isännän ja orjan roolit voidaan vaihtaa. Esimerkiksi laite voi toimia isäntänä lähettääkseen pyyntöjä useille orjille yhdessä tiedonsiirtoprosessissa; toisessa tiedonsiirtoprosessissa sama laite voi toimia orjana vastaanottaakseen pyyntöjä muilta isänniltä.
5. Mikä on baudinopeus?
5.1 Tiedonsiirtonopeuden määritelmä
Tiedonsiirtonopeus, joka tunnetaan myös bittinopeudena, viittaa sarjaliikenteessä sekunnissa lähetettyjen bittien määrään. Se edustaa aikayksikköä kohti lähetettyä datamäärää, ja yksikkö on "baud" tai bps (bittiä sekunnissa).
Modbusin tukemat vakiobaudinopeudet:
300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 115200 bps
5.2 Tiedonsiirtonopeuden funktio
Tiedonsiirtonopeus on sarjaliikenteen ydinparametri, joka määrittää tiedonsiirtonopeuden ja tiedonsiirron tehokkuuden. Tarkemmin sanottuna, mitä suurempi tiedonsiirtonopeus on, sitä nopeampi on tiedonsiirtonopeus ja sitä suurempi on tiedonsiirron tehokkuus. Tiedonsiirtonopeuden valinta ei kuitenkaan ole kiinteä, vaan sitä on säädettävä tiettyjen sovellustilanteiden ja laitteistojen mukaan.
5.3 Sopivan baudinopeuden valintasäännöt
1. Vahvista viestintävaatimukset
Selvitä, tarvitaanko nopeaa massatiedonsiirtoa vai hidasta pienten datamäärien siirtoa, ja määritä tiedonsiirtonopeusalue todellisten tarpeiden mukaan.
2. Ota huomioon laitteistorajoitukset
Eri laitteilla on enimmäisbaudinopeusrajoitukset; valittu baudinopeus ei voi ylittää laitteiston tukemaa ylärajaa.
3. Ota huomioon lähetysetäisyys
Pidemmät siirtokaapelit tarvitsevat alhaisemman baudinopeuden luotettavan tiedonsiirron varmistamiseksi.
4. Ota huomioon bittivirhesuhde
Korkea baudinopeus lisää lähetysvirheiden todennäköisyyttä suuren lähetysnopeuden vuoksi, joten valitse kohtuullinen baudinopeus virheiden vähentämiseksi.
5. Testaa ja varmista
Kun valinnainen baudinopeusalue on rajattu, suorita varsinaiset tiedonsiirtotestit, vertaa eri baudinopeuksien tiedonsiirtovaikutusta ja siirtonopeutta ja valitse optimaalinen parametri.
5.4Yhteenveto
Tiedonsiirtonopeus on sarjaliikenteen perustavanlaatuisin ja tärkein parametri, joka määrittää siirtonopeuden ja tiedonsiirron luotettavuuden. Tiedonsiirtonopeuden kohtuullisessa valinnassa on otettava kattavasti huomioon tiedonsiirron vaatimukset, laitteistorajoitukset, siirtoetäisyys ja bittivirhesuhde, ja optimaalinen arvo on vahvistettava todellisilla testeillä vakaan ja tehokkaan sarjaliikenteen saavuttamiseksi.
6. Yhteen Modbus-isäntään kytkettyjen orjalaitteiden enimmäismäärä
Isäntälaitteeseen kytkettävien orjalaitteiden enimmäismäärä vaihtelee eri tiedonsiirtovälineiden mukaan, kuten alla olevassa taulukossa on esitetty:

7. Modbus-rekisterien luokittelu ja osoitteen allokointi
Rekisteri on Modbus-protokollan ydinkäsite, ja kaikki data tallennetaan rekistereihin. Rekisterin käsite on alun perin peräisin PLC:stä, ja Modbusin laajan käytön myötä sitä on yleistetty – se ei viittaa ainoastaan fyysisiin laitteistorekistereihin, vaan voi edustaa myös osaa muistitilasta.
Modbus-rekisterit jaetaan neljään luokkaan tietotyypin ja luku- ja kirjoitusominaisuuksien mukaan. Neljän luokan osoiteavaruus voi olla jatkuva tai epäjatkuva, minkä määrittelevät laitekehittäjät.
Osoitteen allokointihuomautus
Käytettävissä oleva osoitealue on erilainen eri laitteilla; yllä oleva taulukko näyttää vain kunkin rekisterityypin vakiomääritelmän.

8. Modbus ASCII:n ja Modbus RTU:n väliset erot
1. Koodaus- ja tarkistustila
Modbus RTU: Käytä binäärikoodausta ja CRC-virheentunnistusta.
Modbus ASCII: Alhainen tiedonsiirtotehokkuus, LRC-virheentunnistus heikommalla suorituskyvyllä.
2. Kehyksen kehystystila
ASCII-tilassa viestien alku- ja loppumerkkeinä käytetään erityisiä ASCII-merkkejä; RTU käyttää 3,5 merkin mittaista hiljaista aikaväliä viestikehysten erottamiseen.
3. Keskinäinen yhteensopivuus
Nämä kaksi tilaa eivät ole yhteensopivia. ASCII-tilaan määritetyt laitteet eivät voi kommunikoida RTU-tilassa toimivien laitteiden kanssa.
4. Tietomäärän ylimääräinen kuormitus
Modbus ASCII -viestit tarvitsevat kaksinkertaisen määrän tavuja saman tietosisällön siirtämiseen kuin Modbus RTU -viestit, ja niiden lähetystehokkuus on alhaisempi.









