Modbus RTU-protokollen er som et "fælles sprog" mellem industrielle enheder, hvilket muliggør jævn "kommunikation" mellem enheder såsom elmålere og sensorer fra forskellige mærker.
Modbus Communication Protocol Application Demonstration
Denne artikel vil guide dig gennem anvendelsen af Modbus RTU i energimålere på den enkleste og mest forståelige måde. Selvom du er en komplet novice uden teknisk baggrund, kan du nemt forstå kernepunkterne i denne vigtige industrielle kommunikationsprotokol.

Hvad er Modbus RTU-protokollen?
Modbus RTU er en seriel kommunikationsprotokol, der oprindeligt blev udviklet af Modicon (nu en del af Schneider Electric) i 1979 til dets PLC'er (Programmable Logic Controllers).
I dag er det blevet en af de mest udbredte protokoller inden for industriel automation, understøttet af over 400 producenter verden over.
Hvorfor hedder det "RTU"? RTU er en forkortelse for "Remote Terminal Unit", hvilket indikerer, at denne protokol primært bruges til kommunikation mellem eksterne enheder. Det er som et "sms-system" mellem elektrisk udstyr, der udveksler data gennem en simpel anmodnings- og svarmekanisme.
Hvordan fungerer Modbus RTU?
Modbus RTU bruger en master-slave-kommunikationsarkitektur, som en lærer og elever i et klasseværelse.
- Mester: "Læreren", typisk en computer, PLC eller koncentrator, er ansvarlig for at starte spørgsmål og kommandoer.
- Slave: "Eleven", såsom en elmåler eller sensor, kan kun svare på lærerens spørgsmål og kan ikke tale selvstændigt. (I elmålerapplikationer...)

Modbus RTU-meddelelsesformat
"SMS-skabelon" mellem enheder
Modbus RTU kommunikationsmeddelelser er som omhyggeligt udformede tekstbeskeder med faste formatkrav.
En komplet Modbus RTU-meddelelse indeholder følgende dele:
| Adressekode | Funktionskode | Datafelt | Tjek kode |
|---|---|---|---|
| 8-bit | 8-bit | N × 8-bit | 16-bit |
- Adressekode (1 byte): Svarer til en "modtagers telefonnummer", der identificerer adressen på målenergimåleren (1-247), med 0 for en udsendelsesadresse.
- Funktionskode (1 byte): Svarer til en "tekstmeddelelsestype", der instruerer energimåleren om den handling, der skal udføres (f.eks. at læse data, skrive data osv.).
- Datafelt (N bytes): Den specifikke information, der skal transmitteres, såsom registeradresse, dataværdi osv.
- CRC Checksum (2 bytes): Svarer til en "anti-forfalskningskode", der bruges til at kontrollere for fejl under transmission.
En typisk meddelelse til aflæsning af samlet positiv aktiv energidata fra en UBS-energimåler er som følger:
[Adresse 00][Funktionskode 03][Startadresse 00 0C][Læselængde 00 02][CRC Checksum 05 D9]
Dette svarer til at sige: "Alle målere, læs venligst data fra register 000C, startende med register 1."
Efter at have modtaget beskeden, vil måler #1 svare med:
[Adresse 01][Funktionskode 03][Datalængde 04][Data 00 00 00 00][CRC Checksum FA 33]
Dette betyder: "Måler #1 svarede: Den samlede positive aktive energidataværdi aflæst er 00 00 00 00 (hexadecimal)" (Bemærk: Denne måler #1 er en ny, ubrugt måler). Billedet nedenfor er en testdemonstration:

"Databogen" i en elmåler: Register forklaret
I Modbus RTU-protokollen gemmes alle data fra en elmåler i et "regneark"-registret. Registrene er hovedsageligt opdelt i fire typer:
| Registreringstype | Læse-/skrivetilladelse | Funktionskoder | Typisk lagret indhold |
|---|---|---|---|
| Spoleregister | Læs/skriv | 01, 05 | Relæstatus, kontaktstyring |
| Diskret inputregister | Kun læse- | 02 | Digital input (f.eks. alarmsignaler) |
| Input register | Kun læse- | 04 | Måledata- i realtid (spænding, strøm osv.) |
| Beholdningsregister | Læs/skriv | 03, 06 | Enhedsparametre, akkumuleret energi osv. |
I elmålerapplikationer er de mest almindelige registre:
Input register
(Funktionskode 04H): Gemmer målte-tidsdata såsom spænding, strøm og effekt.
Beholdningsregister
(Funktionskode 03H): Gemmer akkumuleret elforbrug, enhedsparametre mv.
UBS Energimåler Modbus Register Adresse Information Tabel
Modbus-protokollens broadcast-adresse er 0x00. For detaljerede Modbus-protokolregisteradresseoplysninger for UBS-energimålere, se venligst tabellen nedenfor:
| Registrer (Hex) | Variabel navn | Attribut (Enhed/R/W) | Datatype | Tælle | Bemærkninger |
|---|---|---|---|---|---|
| 0x0000 | DC spænding | Enhed: V, R/W: RO | S16 | 1 | Rækkevidde: -9999~9999; Læser=effektiv værdi × 10^(decimalpunkt) |
| 0x0001 | Spændingsdecimalpunkt | Enhed: Ingen, R/W: RO | U16 | 1 | Fast værdi: 0 |
| 0x0002 | DC nuværende værdi | Enhed: A, R/W: RO | S16 | 1 | Rækkevidde: -9999~9999 |
| 0x0003 | Nuværende decimalpunkt | Enhed: Ingen, R/W: RO | U16 | 1 | Fast værdi: 1 |
| 0x0008 | Strømværdi | Enhed: kW, R/W: RO | S16 | 1 | Rækkevidde: -9999~9999 |
| 0x0009 | Power Decimalpunkt | Enhed: Ingen, R/W: RO | U16 | 1 | Fast værdi: 1 |
| 0x000C | Total fremadrettet aktiv energi | Enhed: 0,001kWh, R/W: RO | U32 | 2 | Høj byte først, lav byte sidst; Eksempel: Hvis data læser=5000, decimalkomma=2 → Faktisk værdi=5000 × 10^(2-3)=500.0 |
| 0x203C | Kanal 1 Spænding | Enhed: 0,0001V, R/W: RO | I32 | 2 | Høj byte først, lav byte sidst |
| 0x203E | Kanal 2 Spænding | Enhed: 0,0001V, R/W: RO | I32 | 2 | Altid 0 |
| 0x2040 | Kanal 1 Aktuel | Enhed: 0,0001A, R/W: RO | I32 | 2 | Høj byte først, lav byte sidst |
| 0x2042 | Kanal 2 Aktuel | Enhed: 0,0001A, R/W: RO | I32 | 2 | Altid 0 |
| 0x2044 | Kanal 1 Strøm | Enhed: 0,0001kW, R/W: RO | I32 | 2 | Høj byte først, lav byte sidst |
| 0x2046 | Kanal 2 Strøm | Enhed: 0,0001kW, R/W: RO | I32 | 2 | Altid 0 |
| 0x9A00 | Fremad aktiv Total Energi | Enhed: kWh, R/W: RO | flyde | 2 | |
| 0xA001/0x8900 | Enhedens adresse | Enhed: Ingen, R/W: RW | U16 | 1 | Område: 0~247 |
Demonstration af læsning af UBS Energy Meter-meddelelser
Ved hjælp af UBS-energimålerens værtscomputersoftware kan du læse følgende data fra DJZ1226 DC smart energimåleren: samlet positiv aktiv energi, spænding, strøm, effekt og måleradresse.

Som vist i diagrammet ovenfor er det detaljerede beskedindhold, der sendes og modtages af værtscomputeren, som følger:
13:25:30.229 Samlet positiv aktiv energi(000C0002) ...
13:25:30.256 ▼Send:00 03 00 0C 00 02 05 D9
13:25:30.344 ▲Modtag:01 03 04 00 00 00 00 FA 33
13:25:30.359 DC-spænding(00000002) ...
13:25:30.424 ▼Send:00 03 00 00 00 02 C5 DA
13:25:30.428 ▲Modtag: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 ▲Modtag:01 03 04 00 30 00 02 7B FD
13:25:30.621 Power(00080002) ...
13:25:30.682 ▼Send:00 03 00 08 00 02 44 18
13:25:30.690 ▲Modtag:01 03 04 00 01 00 02 2A 32
13:25:30.702 Kommunikationsadresse 2(A0010001) ...
13:25:30.779 ▼Send:00 03 A0 01 00 01 F6 1B
13:25:30.783 ▲Modtag:01 03 02 00 01 79 84
13:25:30.795 Slut på læsning af data.
Almindelige problemer og fejlfindingsteknikker
Selvom Modbus RTU-protokollen er forholdsvis enkel, kan der stadig opstå forskellige problemer i praktiske applikationer. Følgende er almindelige fejl og løsninger i elmålerkommunikation:
Intet kommunikationssvar
● Tjek fysiske forbindelser:
▪ Er RS-485-ledningerne korrekte (A/B-linjer omvendt)?
▪ Er termineringsmodstandene matchede (tilslut normalt 120Ω modstande i hver ende af bussen)?
▪ Er kommunikationsafstanden overskredet grænsen (RS-485 kan teoretisk nå 1200 meter, men de faktiske afstande er påvirket af miljøfaktorer).
● Bekræft parameterindstillinger:
▪ Er baudrate, databit, stopbit og paritetsindstillinger i overensstemmelse med elmåleren?
▪ Er enhedens adresse indstillet korrekt (ingen duplikerede adresser)?
Intermitterende kommunikation
● Tjek for linjeinterferens:
▪ Brug parsnoet-skærmet kabel, og sørg for, at skærmen er jordet i den ene ende.
▪ Undgå at føre kablet parallelt med-højspændingskabler.
● Test af individuelle enheder:
▪ Tilslut hver elmåler individuelt for at fejlfinde defekte enheder.
▪ Brug UBS Electronics' dedikerede værtscomputersoftware (såsom AMS) til at kommunikere direkte med elmåleren og lokalisere problemet.
Datafejl
● Bekræftelse af CRC-tjek:
▪ Tjek, om de sendte og modtagne CRC-koder stemmer overens.
▪ Bekræft databyterækkefølgen (Modbus RTU er normalt lille-endian).
● Kontrol af registerkortlægning:
▪ Bekræft, at de anvendte registeradresser stemmer overens med elmålerens manual.
▪ Bemærk registeradresseforskydningen.
Hvis du skal bruge UBS-værtscomputersoftwaren (Modbus RTU-protokol), der er nævnt i denne artikel, bedes du kontakte den person, der er ansvarlig for din UBS-elmålerordre og få mere-eftersalgs teknisk support.




