Modbus RTU-protokollen er som et "vanlig språk" mellom industrielle enheter, og muliggjør jevn "kommunikasjon" mellom enheter som strømmålere og sensorer fra forskjellige merker.
Modbus Communication Protocol Application demonstrasjon
Denne artikkelen vil guide deg gjennom bruken av Modbus RTU i energimålere på den enkleste og mest forståelige måten. Selv om du er en nybegynner uten teknisk bakgrunn, kan du enkelt forstå kjernepunktene i denne viktige industrielle kommunikasjonsprotokollen.

Hva er Modbus RTU-protokollen?
Modbus RTU er en seriell kommunikasjonsprotokoll opprinnelig utviklet av Modicon (nå en del av Schneider Electric) i 1979 for sine PLS-er (Programmable Logic Controllers).
I dag har det blitt en av de mest brukte protokollene innen industriell automatisering, støttet av over 400 produsenter over hele verden.
Hvorfor heter det "RTU"? RTU er en forkortelse for "Remote Terminal Unit", som indikerer at denne protokollen primært brukes til kommunikasjon mellom eksterne enheter. Det er som et "tekstsystem" mellom elektrisk utstyr, utveksling av data gjennom en enkel forespørsel og svarmekanisme.
Hvordan fungerer Modbus RTU?
Modbus RTU bruker en master-slavekommunikasjonsarkitektur, som en lærer og elever i et klasserom.
- Mester: «Læreren», vanligvis en datamaskin, PLS eller konsentrator, er ansvarlig for å sette i gang spørsmål og kommandoer.
- Slave: «eleven», for eksempel en strømmåler eller sensor, kan bare svare på lærerens spørsmål og kan ikke snakke selvstendig. (I applikasjoner for strømmålere...)

Modbus RTU meldingsformat
"SMS-mal" mellom enheter
Modbus RTU-kommunikasjonsmeldinger er som nøye utformede tekstmeldinger, med faste formatkrav.
En fullstendig Modbus RTU-melding inneholder følgende deler:
| Adressekode | Funksjonskode | Datafelt | Sjekk kode |
|---|---|---|---|
| 8-biter | 8-biter | N × 8-biter | 16-biter |
- Adressekode (1 byte): Tilsvarer en "mottakers telefonnummer", som identifiserer adressen til målenergimåleren (1-247), med 0 for en kringkastingsadresse.
- Funksjonskode (1 byte): Tilsvarer en "tekstmeldingstype", som instruerer energimåleren om operasjonen som skal utføres (f.eks. lese data, skrive data osv.).
- Datafelt (N byte): Den spesifikke informasjonen som skal overføres, for eksempel registeradresse, dataverdi, etc.
- CRC-sjekksum (2 byte): Tilsvarer en "anti-forfalskningskode", som brukes til å se etter feil under overføring.
En typisk melding for lesing av total positiv aktiv energidata fra en UBS-energimåler er som følger:
[Adresse 00][Funksjonskode 03][Startadresse 00 0C][Leselengde 00 02][CRC Checksum 05 D9]
Dette tilsvarer å si: "Alle målere, les data fra register 000C, start med register 1."
Etter å ha mottatt meldingen vil måler #1 svare med:
[Adresse 01][Funksjonskode 03][Data Lengde 04][Data 00 00 00 00][CRC Checksum FA 33]
Dette betyr: "Måler #1 svarte: Den totale positive aktive energidataverdien som er lest er 00 00 00 00 (heksadesimal)" (Merk: Denne måleren #1 er en ny, ubrukt måler). Bildet nedenfor er en testdemonstrasjon:

"Databoken" i en strømmåler: Register forklart
I Modbus RTU-protokollen lagres alle data fra en strømmåler i et "regneark"-registeret. Registrene er hovedsakelig delt inn i fire typer:
| Registreringstype | Lese-/skrivetillatelse | Funksjonskoder | Typisk lagret innhold |
|---|---|---|---|
| Spoleregister | Les/skriv | 01, 05 | Reléstatus, bryterstyring |
| Diskret inngangsregister | Lese-bare | 02 | Digital inngang (f.eks. alarmsignaler) |
| Inndataregister | Lese-bare | 04 | Sanntidsmålingsdata (spenning, strøm osv.) |
| Holdingregister | Les/skriv | 03, 06 | Enhetsparametere, akkumulert energi, etc. |
I strømmålerapplikasjoner er de vanligste registrene:
Inndataregister
(Funksjonskode 04H): Lagrer målte-sanntidsdata som spenning, strøm og effekt.
Holdingregister
(Funksjonskode 03H): Lagrer akkumulert strømforbruk, enhetsparametere osv.
UBS Energimåler Modbus Register Adresseinformasjonstabell
Modbus-protokollens kringkastingsadresse er 0x00. For detaljert Modbus-protokollregisteradresseinformasjon for UBS-energimålere, se tabellen nedenfor:
| Registrer (Hex) | Variabelnavn | Attributt (Enhet / R/W) | Datatype | Telle | Merknader |
|---|---|---|---|---|---|
| 0x0000 | DC spenning | Enhet: V, R/W: RO | S16 | 1 | Område: -9999~9999; Leser=effektiv verdi × 10^(desimaltegnet) |
| 0x0001 | Spenning desimalpunkt | Enhet: Ingen, R/W: RO | U16 | 1 | Fast verdi: 0 |
| 0x0002 | DC gjeldende verdi | Enhet: A, R/W: RO | S16 | 1 | Rekkevidde: -9999~9999 |
| 0x0003 | Gjeldende desimalpunkt | Enhet: Ingen, R/W: RO | U16 | 1 | Fast verdi: 1 |
| 0x0008 | Strømverdi | Enhet: kW, R/W: RO | S16 | 1 | Rekkevidde: -9999~9999 |
| 0x0009 | Power desimalpunkt | Enhet: Ingen, R/W: RO | U16 | 1 | Fast verdi: 1 |
| 0x000C | Total Forward Active Energy | Enhet: 0,001kWh, R/W: RO | U32 | 2 | Høy byte først, lav byte sist; Eksempel: Hvis data leser=5000, desimaltegn=2 → Faktisk verdi=5000 × 10^(2-3)=500.0 |
| 0x203C | Spenning for kanal 1 | Enhet: 0,0001V, R/W: RO | I32 | 2 | Høy byte først, lav byte sist |
| 0x203E | Spenning for kanal 2 | Enhet: 0,0001V, R/W: RO | I32 | 2 | Alltid 0 |
| 0x2040 | Kanal 1 Aktuell | Enhet: 0,0001A, R/W: RO | I32 | 2 | Høy byte først, lav byte sist |
| 0x2042 | Kanal 2 Aktuell | Enhet: 0,0001A, R/W: RO | I32 | 2 | Alltid 0 |
| 0x2044 | Kanal 1 Strøm | Enhet: 0,0001kW, R/W: RO | I32 | 2 | Høy byte først, lav byte sist |
| 0x2046 | Kanal 2 Strøm | Enhet: 0,0001kW, R/W: RO | I32 | 2 | Alltid 0 |
| 0x9A00 | Forover Aktiv Total Energi | Enhet: kWh, R/W: RO | flyte | 2 | |
| 0xA001/0x8900 | Enhetsadresse | Enhet: Ingen, R/W: RW | U16 | 1 | Område: 0~247 |
Demonstrasjon av lesing av UBS energimålermeldinger
Bruk UBS-energimålerens vertsdatamaskinprogramvare, les følgende data fra DJZ1226 DC smart energimåler: total positiv aktiv energi, spenning, strøm, effekt og måleradresse.

Som vist i diagrammet ovenfor, er det detaljerte meldingsinnholdet sendt og mottatt av vertsdatamaskinen som følger:
13:25:30.229 Total positiv aktiv energi(000C0002) ...
13:25:30.256 ▼Send:00 03 00 0C 00 02 05 D9
13:25:30.344 ▲Motta:01 03 04 00 00 00 00 FA 33
13:25:30.359 DC spenning(00000002) ...
13:25:30.424 ▼Send:00 03 00 00 00 02 C5 DA
13:25:30.428 ▲Motta:01 03 04 00 17 00 03 0A 36
13:25:30.494 DC strøm(00020002) ...
13:25:30.522 ▼Send:00 03 00 02 00 02 64 1A
13:25:30.610 ▲Motta:01 03 04 00 30 00 02 7B FD
13:25:30.621 Strøm(00080002) ...
13:25:30.682 ▼Send:00 03 00 08 00 02 44 18
13:25:30.690 ▲Motta:01 03 04 00 01 00 02 2A 32
13:25:30.702 Kommunikasjonsadresse 2(A0010001) ...
13:25:30.779 ▼Send:00 03 A0 01 00 01 F6 1B
13:25:30.783 ▲Motta:01 03 02 00 01 79 84
13:25:30.795 Slutt på lesing av data.
Vanlige problemer og feilsøkingsteknikker
Selv om Modbus RTU-protokollen er relativt enkel, kan det likevel oppstå ulike problemer i praktiske applikasjoner. Følgende er vanlige feil og løsninger i strømmålerkommunikasjon:
Ingen kommunikasjonsrespons
● Sjekk fysiske tilkoblinger:
▪ Er RS-485-kablingen riktig (A/B-linjer omvendt)?
▪ Er termineringsmotstandene samsvarende (vanligvis kobler du 120Ω motstander i hver ende av bussen)?
▪ Er kommunikasjonsavstanden overskredet grensen (RS-485 kan teoretisk nå 1200 meter, men faktiske avstander påvirkes av miljøfaktorer).
● Bekreft parameterinnstillinger:
▪ Er overføringshastigheten, databitene, stoppbitene og paritetsinnstillingene i samsvar med strømmåleren?
▪ Er enhetens adresse satt riktig (ingen dupliserte adresser)?
Intermitterende kommunikasjon
● Se etter linjeinterferens:
▪ Bruk tvunnet- skjermet kabel og sørg for at skjermen er jordet i den ene enden.
▪ Unngå å føre kabelen parallelt med-høyspentkabler.
● Testing av individuelle enheter:
▪ Koble hver strømmåler individuelt for å feilsøke defekte enheter.
▪ Bruk UBS Electronics sin dedikerte vertsdatamaskinprogramvare (som AMS) for å kommunisere direkte med strømmåleren og finne problemet.
Datafeil
● Bekrefter CRC-sjekk:
▪ Sjekk om de sendte og mottatte CRC-kodene stemmer overens.
▪ Bekreft databyte-rekkefølgen (Modbus RTU er vanligvis liten-endian).
● Kontrollere registerkartlegging:
▪ Bekreft at registeradressene som brukes stemmer overens med håndboken til strømmåleren.
▪ Merk registeradresseforskyvningen.
Hvis du trenger å bruke UBS-vertsdatamaskinprogramvaren (Modbus RTU-protokollen) som er nevnt i denne artikkelen, kan du kontakte personen som er ansvarlig for bestillingen av UBS-elektrisitetsmåler og få mer teknisk støtte etter-salg.




