Modbus RTU-protokollet är som ett "gemensamt språk" mellan industriella enheter, vilket möjliggör smidig "kommunikation" mellan enheter som elmätare och sensorer från olika märken.
Modbus Communication Protocol Application Demonstration
Den här artikeln guidar dig genom tillämpningen av Modbus RTU i energimätare på det enklaste och mest begripliga sättet. Även om du är en nybörjare utan teknisk bakgrund kan du enkelt förstå kärnpunkterna i detta viktiga industriella kommunikationsprotokoll.

Vad är Modbus RTU-protokollet?
Modbus RTU är ett seriellt kommunikationsprotokoll som ursprungligen utvecklades av Modicon (nu en del av Schneider Electric) 1979 för sina PLC:er (Programmable Logic Controllers).
Idag har det blivit ett av de mest använda protokollen inom industriell automation, med stöd av över 400 tillverkare över hela världen.
Varför heter det "RTU"? RTU är en förkortning för "Remote Terminal Unit", vilket indikerar att detta protokoll främst används för kommunikation mellan fjärrenheter. Det är som ett "sms-system" mellan elektrisk utrustning, utbyte av data genom en enkel begäran och svarsmekanism.
Hur fungerar Modbus RTU?
Modbus RTU använder en master-slavkommunikationsarkitektur, som en lärare och elever i ett klassrum.
- Mästaren: "Läraren", vanligtvis en dator, PLC eller koncentrator, är ansvarig för att initiera frågor och kommandon.
- Slav: "Eleven", till exempel en elmätare eller sensor, kan bara svara på lärarens frågor och kan inte tala självständigt. (I elmätareapplikationer...)

Modbus RTU meddelandeformat
"SMS-mall" mellan enheter
Modbus RTU-kommunikationsmeddelanden är som noggrant utformade textmeddelanden, med fasta formatkrav.
Ett komplett Modbus RTU-meddelande innehåller följande delar:
| Adresskod | Funktionskod | Datafält | Kontrollera kod |
|---|---|---|---|
| 8-bitar | 8-bitar | N × 8-bitar | 16-bitar |
- Adresskod (1 byte): Motsvarar en "mottagarens telefonnummer", som identifierar adressen till målenergimätaren (1-247), med 0 för en sändningsadress.
- Funktionskod (1 byte): Motsvarar en "textmeddelandetyp", som instruerar energimätaren om operationen som ska utföras (t.ex. läsa data, skriva data, etc.).
- Datafält (N byte): Den specifika information som ska överföras, såsom registeradress, datavärde, etc.
- CRC-kontrollsumma (2 byte): Motsvarar en "anti-kod för förfalskning", som används för att leta efter fel under överföring.
Ett typiskt meddelande för att läsa total positiv aktiv energidata från en UBS-energimätare är följande:
[Adress 00][Funktionskod 03][Startadress 00 0C][Läslängd 00 02][CRC Checksum 05 D9]
Detta motsvarar att säga: "Alla mätare, läs data från register 000C, börja med register 1."
Efter att ha tagit emot meddelandet kommer mätare #1 att svara med:
[Adress 01][Funktionskod 03][Datalängd 04][Data 00 00 00 00][CRC Checksum FA 33]
Detta betyder: "Mätare #1 svarade: Det totala positiva aktiva energidatavärdet avläst är 00 00 00 00 (hexadecimalt)" (Obs! Denna mätare #1 är en ny, oanvänd mätare). Bilden nedan är en testdemonstration:

"Databoken" i en elmätare: Register förklaras
I Modbus RTU-protokollet lagras all data från en elmätare i ett "kalkylblad"-registret. Register är huvudsakligen indelade i fyra typer:
| Registreringstyp | Läs-/skrivtillstånd | Funktionskoder | Typiskt lagrat innehåll |
|---|---|---|---|
| Spoleregister | Läs/skriv | 01, 05 | Relästatus, brytarstyrning |
| Diskret ingångsregister | Läs endast- | 02 | Digital ingång (t.ex. larmsignaler) |
| Inmatningsregister | Läs endast- | 04 | Mätdata i realtid- (spänning, ström, etc.) |
| Innehavsregister | Läs/skriv | 03, 06 | Enhetsparametrar, ackumulerad energi, etc. |
I elmätareapplikationer är de vanligaste registren:
Inmatningsregister
(Funktionskod 04H): Lagrar uppmätta-realtidsdata som spänning, ström och effekt.
Innehavsregister
(Funktionskod 03H): Lagrar ackumulerad elförbrukning, enhetsparametrar, etc.
UBS Energimätare Modbus Register Adressinformationstabell
Modbus-protokollets sändningsadress är 0x00. För detaljerad Modbus-protokollregisteradressinformation för UBS energimätare, se tabellen nedan:
| Registrera (Hex) | Variabelnamn | Attribut (Enhet/R/W) | Datatyp | Räkna | Anmärkningar |
|---|---|---|---|---|---|
| 0x0000 | DC-spänning | Enhet: V, R/W: RO | S16 | 1 | Område: -9999~9999; Läser=Effektivt värde × 10^(decimalkomma) |
| 0x0001 | Spänningsdecimalpunkt | Enhet: Ingen, R/W: RO | U16 | 1 | Fast värde: 0 |
| 0x0002 | DC aktuellt värde | Enhet: A, R/W: RO | S16 | 1 | Räckvidd: -9999~9999 |
| 0x0003 | Aktuell decimalpunkt | Enhet: Ingen, R/W: RO | U16 | 1 | Fast värde: 1 |
| 0x0008 | Effektvärde | Enhet: kW, R/W: RO | S16 | 1 | Räckvidd: -9999~9999 |
| 0x0009 | Power decimalkomma | Enhet: Ingen, R/W: RO | U16 | 1 | Fast värde: 1 |
| 0x000C | Total Forward Active Energy | Enhet: 0,001kWh, R/W: RO | U32 | 2 | Hög byte först, låg byte sist; Exempel: Om data läser=5000, decimalkomma=2 → Faktiskt värde=5000 × 10^(2-3)=500.0 |
| 0x203C | Spänning för kanal 1 | Enhet: 0,0001V, R/W: RO | I32 | 2 | Hög byte först, låg byte sist |
| 0x203E | Kanal 2 Spänning | Enhet: 0,0001V, R/W: RO | I32 | 2 | Alltid 0 |
| 0x2040 | Kanal 1 Aktuell | Enhet: 0,0001A, R/W: RO | I32 | 2 | Hög byte först, låg byte sist |
| 0x2042 | Kanal 2 Aktuell | Enhet: 0,0001A, R/W: RO | I32 | 2 | Alltid 0 |
| 0x2044 | Kanal 1 Power | Enhet: 0,0001kW, R/W: RO | I32 | 2 | Hög byte först, låg byte sist |
| 0x2046 | Kanal 2 Power | Enhet: 0,0001kW, R/W: RO | I32 | 2 | Alltid 0 |
| 0x9A00 | Forward Active Total Energy | Enhet: kWh, R/W: RO | flyta | 2 | |
| 0xA001/0x8900 | Enhetsadress | Enhet: Ingen, R/W: RW | U16 | 1 | Område: 0~247 |
Demonstration av läsning av UBS energimätarmeddelanden
Med hjälp av UBS-energimätarens värddatorprogramvara, läs följande data från DJZ1226 DC smart energimätare: total positiv aktiv energi, spänning, ström, effekt och mätaradress.

Som visas i diagrammet ovan är det detaljerade meddelandeinnehållet som skickas och tas emot av värddatorn enligt följande:
13:25:30.229 Total positiv aktiv energi(000C0002) ...
13:25:30.256 ▼Skicka:00 03 00 0C 00 02 05 D9
13:25:30.344 ▲Ta emot:01 03 04 00 00 00 00 FA 33
13:25:30.359 DC-spänning(00000002) ...
13:25:30.424 ▼Skicka:00 03 00 00 00 02 C5 DA
13:25:30.428 ▲Ta emot:01 03 04 00 17 00 03 0A 36
13:25:30.494 DC-ström(00020002) ...
13:25:30.522 ▼Skicka:00 03 00 02 00 02 64 1A
13:25:30.610 ▲Ta emot:01 03 04 00 30 00 02 7B FD
13:25:30.621 Power(00080002) ...
13:25:30.682 ▼Skicka:00 03 00 08 00 02 44 18
13:25:30.690 ▲Ta emot:01 03 04 00 01 00 02 2A 32
13:25:30.702 Kommunikationsadress 2(A0010001) ...
13:25:30.779 ▼Skicka:00 03 A0 01 00 01 F6 1B
13:25:30.783 ▲Ta emot:01 03 02 00 01 79 84
13:25:30.795 Slut på att läsa data.
Vanliga problem och felsökningstekniker
Även om Modbus RTU-protokollet är relativt enkelt, kan olika problem uppstå i praktiska tillämpningar. Följande är vanliga fel och lösningar inom elmätarkommunikation:
Inget kommunikationssvar
● Kontrollera fysiska anslutningar:
▪ Är RS-485-ledningarna korrekta (A/B-linjer omvända)?
▪ Är termineringsmotstånden matchade (vanligtvis anslut 120Ω-motstånd i vardera änden av bussen)?
▪ Har kommunikationsavståndet överskridits gränsen (RS-485 kan teoretiskt nå 1200 meter, men faktiska avstånd påverkas av miljöfaktorer).
● Verifiera parameterinställningar:
▪ Är överföringshastigheten, databitarna, stoppbitarna och paritetsinställningarna förenliga med elmätaren?
▪ Är enhetens adress korrekt inställd (inga dubbletter av adresser)?
Intermittent kommunikation
● Kontrollera efter linjestörningar:
▪ Använd tvinnad-parskärmad kabel och se till att skärmen är jordad i ena änden.
▪ Undvik att dra kabeln parallellt med-högspänningskablar.
● Testa enskilda enheter:
▪ Anslut varje elmätare individuellt för att felsöka felaktiga enheter.
▪ Använd UBS Electronics dedikerade värddatorprogramvara (som AMS) för att kommunicera direkt med elmätaren och lokalisera problemet.
Datafel
● Verifierar CRC-kontroll:
▪ Kontrollera om de skickade och mottagna CRC-koderna är konsekventa.
▪ Bekräfta databyteordningen (Modbus RTU är vanligtvis lite-endian).
● Kontrollera registermappning:
▪ Kontrollera att de registeradresser som används överensstämmer med elmätarens manual.
▪ Notera registeradressförskjutningen.
Om du behöver använda UBS-värddatorprogramvaran (Modbus RTU-protokoll) som nämns i den här artikeln, kontakta den person som ansvarar för din beställning av UBS-elmätaren och få mer teknisk support efter-försäljning.




