Komunikacijski protokol Modbus RTU

Apr 27, 2026 Pustite sporočilo

Protokol Modbus RTU je kot "skupni jezik" med industrijskimi napravami, ki omogoča nemoteno "komunikacijo" med napravami, kot so električni števci in senzorji različnih znamk.

Predstavitev uporabe komunikacijskega protokola Modbus

Ta članek vas bo vodil skozi uporabo Modbus RTU v merilnikih energije na najpreprostejši in najbolj razumljiv način. Tudi če ste popolni novinec brez tehničnega znanja, lahko zlahka razumete bistvo tega pomembnega industrijskega komunikacijskega protokola.

The Modbus RTU protocol

Kaj je protokol Modbus RTU?

Modbus RTU je serijski komunikacijski protokol, ki ga je prvotno razvil Modicon (zdaj del Schneider Electric) leta 1979 za svoje PLC-je (Programmable Logic Controllers).

Danes je postal eden najbolj razširjenih protokolov v industrijski avtomatizaciji, ki ga podpira več kot 400 proizvajalcev po vsem svetu.

Zakaj se imenuje "RTU"? RTU je okrajšava za "oddaljeno terminalsko enoto", kar pomeni, da se ta protokol uporablja predvsem za komunikacijo med oddaljenimi napravami. Je kot "sistem za pošiljanje sporočil" med električno opremo, ki izmenjuje podatke prek preprostega mehanizma za zahtevo in odgovor.

Kako deluje Modbus RTU?

Modbus RTU uporablja nadrejeno-podrejeno komunikacijsko arhitekturo, kot učitelj in učenci v učilnici.

  • Master: "Učitelj", običajno računalnik, PLC ali koncentrator, je odgovoren za sprožanje vprašanj in ukazov.
  • Suženj: "Učenec", kot je električni števec ali senzor, lahko odgovarja le na učiteljeva vprašanja in ne more govoriti samostojno. (V aplikacijah števcev električne energije ...)

Modbus RTU

Format sporočila Modbus RTU

"SMS predloga" med napravami

Komunikacijska sporočila Modbus RTU so kot skrbno oblikovana besedilna sporočila z zahtevami fiksnega formata.

Celotno sporočilo Modbus RTU vsebuje naslednje dele:

Koda naslova Koda funkcije Podatkovno polje Preverite kodo
8-bitni 8-bitni N × 8-bitov 16-bitni
  • Koda naslova (1 bajt): Enakovredno "telefonski številki prejemnika", ki identificira naslov ciljnega števca energije (1-247), z 0 za oddajni naslov.
  • Funkcijska koda (1 bajt): Enakovredno "vrsti besedilnega sporočila," ki daje navodilo števcu energije za operacijo, ki jo mora izvesti (npr. branje podatkov, pisanje podatkov itd.).
  • Podatkovno polje (N bajtov): posebne informacije, ki jih je treba prenesti, kot so naslov registra, vrednost podatkov itd.
  • Kontrolna vsota CRC (2 bajta): Enakovredno "pro-kodi proti ponarejanju," ki se uporablja za preverjanje napak med prenosom.

Tipično sporočilo za branje podatkov o skupni pozitivni aktivni energiji iz števca UBS energije je naslednje:

[Naslov 00][koda funkcije 03][začetni naslov 00 0C][dolžina branja 00 02][kontrolna vsota CRC 05 D9]

To je enakovredno besedi: "Vsi števci, prosimo, preberite podatke iz registra 000C, začenši z registrom 1."

Po prejemu sporočila bo merilnik št. 1 odgovoril z:

[Naslov 01][koda funkcije 03][dolžina podatkov 04][podatki 00 00 00 00][kontrolna vsota CRC FA 33]
To pomeni: "Števec št. 1 je odgovoril: Odčitana vrednost podatkov o skupni pozitivni aktivni energiji je 00 00 00 00 (šestnajstiško)" (Opomba: Ta merilnik št. 1 je nov, neuporabljen merilnik). Spodnja slika je testna predstavitev:

Modbus RTU Message Format

"Podatkovna knjiga" v števcu električne energije: razlaga registra

V protokolu Modbus RTU so vsi podatki iz števca električne energije shranjeni v "preglednici"-registra. Registri so v glavnem razdeljeni na štiri vrste:

Vrsta registracije Dovoljenje za branje/pisanje Funkcijske kode Tipična shranjena vsebina
Register tuljav Branje/Pisanje 01, 05 Stanje releja, nadzor stikala
Diskretni vhodni register Samo-za branje 02 Digitalni vhod (npr. alarmni signali)
Vhodni register Samo-za branje 04 Merilni-podatki v realnem času (napetost, tok itd.)
register gospodarstev Branje/Pisanje 03, 06 Parametri naprave, akumulirana energija itd.

V aplikacijah števcev električne energije so najpogostejši registri:

Vhodni register

(Funkcijska koda 04H): Shranjuje podatke, izmerjene-v realnem času, kot so napetost, tok in moč.

register gospodarstev

(Funkcijska koda 03H): Shranjuje akumulirano porabo električne energije, parametre naprave itd.

UBS Energy Meter Modbus Register Address Information Tabela

Oddajni naslov protokola Modbus je 0x00. Za podrobne informacije o naslovu registra protokola Modbus za števce energije UBS glejte spodnjo tabelo:

Register (Hex) Ime spremenljivke Atribut (enota / R/W) Vrsta podatkov štetje Opombe
0x0000 enosmerna napetost Enota: V, R/W: RO S16 1 Razpon: -9999~9999; Branje=efektivna vrednost × 10^(decimalna vejica)
0x0001 Decimalna vejica napetosti Enota: Brez, R/W: RO U16 1 Fiksna vrednost: 0
0x0002 DC trenutna vrednost Enota: A, R/W: RO S16 1 Razpon: -9999~9999
0x0003 Trenutna decimalna vejica Enota: Brez, R/W: RO U16 1 Stalna vrednost: 1
0x0008 Vrednost moči Enota: kW, R/W: RO S16 1 Razpon: -9999~9999
0x0009 Decimalna vejica stopnje Enota: Brez, R/W: RO U16 1 Stalna vrednost: 1
0x000C Skupna naprej aktivna energija Enota: 0,001kWh, R/W: RO U32 2 Prvi bajt visoki, zadnji bajt nizki; Primer: Če podatki preberejo=5000, decimalna vejica=2 → Dejanska vrednost=5000 × 10^(2-3)=500.0
0x203C Napetost kanala 1 Enota: 0,0001 V, R/W: RO I32 2 Prvi bajt, zadnji bajt nizki
0x203E Napetost kanala 2 Enota: 0,0001 V, R/W: RO I32 2 Vedno 0
0x2040 Kanal 1 Trenutni Enota: 0,0001 A, R/W: RO I32 2 Prvi bajt, zadnji bajt nizki
0x2042 Kanal 2 Trenutni Enota: 0,0001 A, R/W: RO I32 2 Vedno 0
0x2044 Moč kanala 1 Enota: 0,0001kW, R/W: RO I32 2 Prvi bajt, zadnji bajt nizki
0x2046 Moč kanala 2 Enota: 0,0001kW, R/W: RO I32 2 Vedno 0
0x9A00 Naprej aktivna skupna energija Enota: kWh, R/W: RO plavati 2
0xA001/0x8900 Naslov naprave Enota: Brez, R/W: RW U16 1 Razpon: 0~247

Predstavitev branja sporočil UBS Energy Meter

S programsko opremo gostiteljskega računalnika UBS za števce energije odčitajte naslednje podatke iz pametnega števca energije DJZ1226 DC: skupno pozitivno delovno energijo, napetost, tok, moč in naslov števca.

Demonstration Of Reading UBS Energy Meter Messages

Kot je prikazano v zgornjem diagramu, je podrobna vsebina sporočila, ki ga pošlje in prejme gostiteljski računalnik, naslednja:

13:25:30.229 Skupna pozitivna aktivna energija(000C0002) ...

13:25:30.256 ▼Pošlji:00 03 00 0C 00 02 05 D9

13:25:30.344 ▲Prejmi:01 03 04 00 00 00 00 FA 33

13:25:30.359 Enosmerna napetost (00000002) ...

13:25:30.424 ▼Pošlji:00 03 00 00 00 02 C5 DA

13:25:30.428 ▲Prejem:01 03 04 00 17 00 03 0A 36

13:25:30.494 Enosmerni tok (00020002) ...

13:25:30.522 ▼Pošlji:00 03 00 02 00 02 64 1A

13:25:30.610 ▲Prejmi:01 03 04 00 30 00 02 7B FD

13:25:30.621 Power(00080002) ...

13:25:30.682 ▼Pošlji:00 03 00 08 00 02 44 18

13:25:30.690 ▲Prejem:01 03 04 00 01 00 02 2A 32

13:25:30.702 Komunikacijski naslov 2(A0010001) ...

13:25:30.779 ▼Pošlji:00 03 A0 01 00 01 F6 1B

13:25:30.783 ▲Prejmi:01 03 02 00 01 79 84

13:25:30.795 Konec branja podatkov.

Pogoste težave in tehnike za odpravljanje težav

Čeprav je protokol Modbus RTU razmeroma preprost, se lahko v praktičnih aplikacijah vseeno pojavijo različne težave. Sledijo pogoste napake in rešitve pri komunikaciji števcev električne energije:

Ni komunikacijskega odziva

● Preverite fizične povezave:

▪ Ali je ožičenje RS-485 pravilno (linije A/B obrnjene)?

▪ Ali so zaključni upori usklajeni (na splošno priključite 120Ω upore na vsakem koncu vodila)?

▪ Ali je komunikacijska razdalja presežena omejitev (RS-485 teoretično lahko doseže 1200 metrov, vendar na dejanske razdalje vplivajo okoljski dejavniki).

● Preverite nastavitve parametrov:

▪ Ali so hitrost prenosa podatkov, podatkovni biti, stop bitovi in ​​nastavitve paritete skladni z električnim števcem?

▪ Ali je naslov naprave pravilno nastavljen (ni podvojenih naslovov)?

Prekinjena komunikacija

● Preverite motnje v liniji:

▪ Uporabite oklopljen kabel s prepleteno{0}}parico in zagotovite, da je oklop na enem koncu ozemljen.

▪ Izogibajte se napeljavi kabla vzporedno z visoko{0}}napetostnimi kabli.

● Testiranje posameznih naprav:

▪ Priključite vsak števec električne energije posebej za odpravljanje težav z okvarjenimi napravami.

▪ Uporabite namensko programsko opremo gostiteljskega računalnika UBS Electronics (kot je AMS) za neposredno komunikacijo z električnim števcem in natančno določite težavo.

Podatkovne napake

● Preverjanje preverjanja CRC:

▪ Preverite, ali sta poslani in prejeti kodi CRC skladni.

▪ Potrdite vrstni red podatkovnih bajtov (Modbus RTU je običajno little-endian).

● Preverjanje preslikave registra:

▪ Potrdite, da so uporabljeni naslovi registra skladni s priročnikom števca električne energije.

▪ Upoštevajte odmik naslova registra.

Če morate uporabiti programsko opremo gostiteljskega računalnika UBS (protokol Modbus RTU), omenjeno v tem članku, se obrnite na osebo, odgovorno za naročilo vašega števca električne energije UBS, in pridobite dodatno po-tehnično podporo.

Pošlji povpraševanje