Kot strokovnjaki za industrijsko krmiljenje verjetno poznate komunikacijski protokol Modbus. Verjetno je najbolj razširjen komunikacijski protokol na področju industrijske avtomatizacije. Njegova odprtost, razširljivost in standardizacija so ga naredile za univerzalni industrijski standard.
Menim, da so prednosti protokola Modbus samoumevne. Namen tega članka je predvsem razprava o pomanjkljivostih protokola Modbus.
Vse ima dve plati in vsak protokol ima svoje pomanjkljivosti. Dejstvo, da ima Modbus pomanjkljivosti, ne pomeni, da je slab protokol; Upam, da bodo vsi na to gledali racionalno.
1. Omejitve količine podatkov, ki jih je mogoče prebrati
Naslednji diagram prikazuje format podatkov za kodo funkcije 03 protokola Modbus RTU:

Kot je prikazano na sliki, je število podatkov (štetje bajtov), ki jih vrne podrejena postaja, le en bajt.
Ker štetje bajtov zavzema samo en bajt, je pri branju vhodnih/zadržanih registrov naenkrat mogoče prebrati največ 127 registrov. V aplikacijah z zelo velikimi količinami podatkov je za pridobitev vseh podatkov potrebnih več branj, kar neizogibno zmanjša učinkovitost komunikacije.
2. Pomanjkanje podpore za zapisovanje v posamezne registrske bite
Med osmimi običajno uporabljenimi funkcijskimi kodami Modbus ni posebne funkcije za zapisovanje posameznih bitov znotraj registra. Zato, ko moramo nastaviti ali počistiti določen bit v registru, postane postopek precej okoren.
Na splošno obstajata dva pristopa k temu:
Prvi pristop: najprej moramo prebrati vrednost registra, nato manipulirati z določenim bitjem te vrednosti in nazadnje zapisati spremenjeno vrednost nazaj. To zahteva dve povratni-vozi in z določenega vidika ni varno.
Drugi pristop: posamezen bit lahko obravnavamo kot ločen register, kjer pisanje 1 predstavlja True in pisanje 0 predstavlja False. To metodo je mogoče doseči v eni sami interakciji, vendar zapravi veliko količino pomnilniškega prostora.
Protokol Modbus je bil ustvarjen leta 1979 in se zdaj uporablja v več deset tisoč napravah. Verjamem, da so se njegovi izumitelji zagotovo zavedali teh težav, vendar niso mogli implementirati enotne rešitve.
Morda bo nekega dne protokol Modbus lahko rešil ti dve težavi ...
Nekateri bi morda trdili, da ima protokol Modbus varnostne ranljivosti. Vendar pa je kot protokol, zasnovan za industrijske aplikacije, njegov glavni namen olajšati izmenjavo podatkov. V okolju brez povezave ni škode, če ni napada.




