Modbus RTU protokols ir kā "kopēja valoda" starp industriālajām ierīcēm, kas nodrošina netraucētu "komunikāciju" starp ierīcēm, piemēram, elektrības skaitītājiem un dažādu zīmolu sensoriem.
Modbus sakaru protokola pielietojuma demonstrācija
Šis raksts palīdzēs jums visvienkāršākajā un saprotamākajā veidā izmantot Modbus RTU enerģijas skaitītājos. Pat ja esat pilnīgs iesācējs bez tehniskas pieredzes, varat viegli saprast šī svarīgā industriālās komunikācijas protokola galvenos punktus.

Kas ir Modbus RTU protokols?
Modbus RTU ir sērijas sakaru protokols, kuru sākotnēji izstrādāja Modicon (tagad Schneider Electric daļa) 1979. gadā saviem PLC (programmējamiem loģiskiem kontrolieriem).
Mūsdienās tas ir kļuvis par vienu no visplašāk izmantotajiem protokoliem rūpnieciskajā automatizācijā, ko atbalsta vairāk nekā 400 ražotāju visā pasaulē.
Kāpēc to sauc par "RTU"? RTU ir saīsinājums no "Remote Terminal Unit", kas norāda, ka šis protokols galvenokārt tiek izmantots saziņai starp attālajām ierīcēm. Tā ir kā "īsziņu sūtīšanas sistēma" starp elektroiekārtām, kas apmainās ar datiem, izmantojot vienkāršu pieprasījuma un atbildes mehānismu.
Kā darbojas Modbus RTU?
Modbus RTU izmanto galveno{0}}vergu sakaru arhitektūru, piemēram, skolotāju un studentus klasē.
- Meistars: "Skolotājs", parasti dators, PLC vai koncentrators, ir atbildīgs par jautājumu un komandu ierosināšanu.
- Vergs: "Skolēns", piemēram, elektrības skaitītājs vai sensors, var atbildēt tikai uz skolotāja jautājumiem un nevar runāt patstāvīgi. (Elektrības skaitītāju lietojumos...)

Modbus RTU ziņojuma formāts
"SMS veidne" starp ierīcēm
Modbus RTU komunikācijas ziņas ir kā rūpīgi izstrādātas īsziņas ar fiksētām formāta prasībām.
Pilns Modbus RTU ziņojums satur šādas daļas:
| Adreses kods | Funkcijas kods | Datu lauks | Pārbaudiet kodu |
|---|---|---|---|
| 8 biti | 8 biti | N × 8 biti | 16 biti |
- Adreses kods (1 baits): līdzvērtīgs "saņēmēja tālruņa numuram", identificējot mērķa enerģijas skaitītāja adresi (1-247), ar 0 apraides adresi.
- Funkcijas kods (1 baits): līdzvērtīgs "īsziņas veidam", norādot enerģijas skaitītājam veicamo darbību (piemēram, datu nolasīšanu, datu ierakstīšanu utt.).
- Datu lauks (N baiti): konkrētā pārsūtāmā informācija, piemēram, reģistra adrese, datu vērtība utt.
- CRC kontrolsumma (2 baiti): līdzvērtīgs "viltošanas novēršanas kodam", ko izmanto, lai pārsūtīšanas laikā pārbaudītu kļūdas.
Tipisks ziņojums kopējo pozitīvo aktīvās enerģijas datu nolasīšanai no UBS enerģijas skaitītāja ir šāds:
[Adrese 00][Funkcijas kods 03][Sākuma adrese 00 0C][Lasīšanas garums 00 02][CRC kontrolsumma 05 D9]
Tas ir līdzvērtīgs teiktajam: "Visi skaitītāji, lūdzu, nolasiet datus no reģistra 000C, sākot ar 1. reģistru."
Pēc ziņojuma saņemšanas skaitītājs #1 atbildēs ar:
[Adrese 01][Funkcijas kods 03][Datu garums 04][Dati 00 00 00 00][CRC kontrolsumma FA 33]
Tas nozīmē: "Mērītājs Nr. 1 atbildēja: kopējā nolasītā pozitīvā aktīvās enerģijas datu vērtība ir 00 00 00 00 (heksadecimāls)" (Piezīme: šis skaitītājs Nr. 1 ir jauns, neizmantots skaitītājs). Zemāk redzamais attēls ir testa demonstrācija:

"Datu grāmata" elektrības skaitītājā: reģistra skaidrojums
Modbus RTU protokolā visi dati no elektrības skaitītāja tiek saglabāti "izklājlapā"-reģistrā. Reģistrus galvenokārt iedala četros veidos:
| Reģistra veids | Lasīšanas/rakstīšanas atļauja | Funkciju kodi | Tipisks saglabātais saturs |
|---|---|---|---|
| Spoles reģistrs | Lasīt/rakstīt | 01, 05 | Releja statuss, slēdža vadība |
| Diskrētā ievades reģistrs | Tikai{0}}lasāms | 02 | Digitālā ieeja (piemēram, trauksmes signāli) |
| Ievades reģistrs | Tikai{0}}lasāms | 04 | Reāllaika{0}}mērījumu dati (spriegums, strāva utt.) |
| Saimniecības reģistrs | Lasīt/rakstīt | 03, 06 | Ierīces parametri, uzkrātā enerģija utt. |
Elektrības skaitītāju lietojumos visizplatītākie reģistri ir:
Ievades reģistrs
(Funkcijas kods 04H): saglabā reāllaika izmērītos{1}}datus, piemēram, spriegumu, strāvu un jaudu.
Saimniecības reģistrs
(Funkcijas kods 03H): Saglabā uzkrāto elektroenerģijas patēriņu, ierīces parametrus utt.
UBS enerģijas skaitītāja Modbus reģistra adreses informācijas tabula
Modbus protokola apraides adrese ir 0x00. Detalizētu Modbus protokola reģistra adreses informāciju UBS enerģijas skaitītājiem skatiet tabulā:
| Reģistrēties (hex) | Mainīgais nosaukums | Atribūts (vienība/R/W) | Datu tips | Skaitīt | Piezīmes |
|---|---|---|---|---|---|
| 0x0000 | Līdzstrāvas spriegums | Mērvienība: V, R/W: RO | S16 | 1 | Diapazons: -9999 ~ 9999; Nolasa=efektīvā vērtība × 10^ (decimālzīme) |
| 0x0001 | Sprieguma decimālpunkts | Mērvienība: nav, R/W: RO | U16 | 1 | Fiksētā vērtība: 0 |
| 0x0002 | Līdzstrāvas pašreizējā vērtība | Mērvienība: A, R/W: RO | S16 | 1 | Diapazons: -9999~9999 |
| 0x0003 | Pašreizējā decimālzīme | Mērvienība: nav, R/W: RO | U16 | 1 | Fiksētā vērtība: 1 |
| 0x0008 | Jaudas vērtība | Mērvienība: kW, R/W: RO | S16 | 1 | Diapazons: -9999~9999 |
| 0x0009 | Jauda decimālpunkts | Mērvienība: nav, R/W: RO | U16 | 1 | Fiksētā vērtība: 1 |
| 0x000C | Kopējā uz priekšu aktīvā enerģija | Mērvienība: 0,001 kWh, R/W: RO | U32 | 2 | Augstais baits pirmais, zemais baits pēdējais; Piemērs: ja dati tiek nolasīti=5000, decimālpunkts=2 → faktiskā vērtība=5000 × 10^(2-3)=500.0 |
| 0x203C | 1. kanāla spriegums | Mērvienība: 0,0001V, R/W: RO | I32 | 2 | Augstais baits pirmais, zemais baits pēdējais |
| 0x203E | 2. kanāla spriegums | Mērvienība: 0,0001V, R/W: RO | I32 | 2 | Vienmēr 0 |
| 0x2040 | 1. kanāla pašreizējais | Mērvienība: 0,0001A, R/W: RO | I32 | 2 | Augstais baits pirmais, zemais baits pēdējais |
| 0x2042 | 2. kanāla pašreizējais | Mērvienība: 0,0001A, R/W: RO | I32 | 2 | Vienmēr 0 |
| 0x2044 | 1. kanāla jauda | Mērvienība: 0,0001 kW, R/W: RO | I32 | 2 | Augstais baits pirmais, zemais baits pēdējais |
| 0x2046 | 2. kanāla jauda | Mērvienība: 0,0001 kW, R/W: RO | I32 | 2 | Vienmēr 0 |
| 0x9A00 | Uz priekšu aktīva kopējā enerģija | Mērvienība: kWh, R/W: RO | peldēt | 2 | |
| 0xA001/0x8900 | Ierīces adrese | Mērvienība: nav, R/W: RW | U16 | 1 | Diapazons: 0–247 |
UBS enerģijas skaitītāja ziņojumu nolasīšanas demonstrācija
Izmantojot UBS enerģijas skaitītāja resursdatora programmatūru, nolasiet šādus datus no viedā enerģijas skaitītāja DJZ1226 DC: kopējā pozitīvā aktīvā enerģija, spriegums, strāva, jauda un skaitītāja adrese.

Kā parādīts iepriekš redzamajā diagrammā, resursdatora nosūtītais un saņemtais detalizētais ziņojumu saturs ir šāds:
13:25:30.229 Kopējā pozitīvā aktīvā enerģija (000C0002) ...
13:25:30.256 ▼Sūtīt:00 03 00 0C 00 02 05 D9
13:25:30.344 ▲ Saņemt:01 03 04 00 00 00 00 FA 33
13:25:30.359 Līdzstrāvas spriegums (00000002) ...
13:25:30.424 ▼Sūtīt:00 03 00 00 00 02 C5 DA
13:25:30.428 ▲ Saņemt:01 03 04 00 17 00 03 0A 36
13:25:30.494 Līdzstrāva (00020002) ...
13:25:30.522 ▼Sūtīt:00 03 00 02 00 02 64 1A
13:25:30.610 ▲ Saņemt:01 03 04 00 30 00 02 7B FD
13:25:30.621 Jauda (00080002) ...
13:25:30.682 ▼Sūtīt:00 03 00 08 00 02 44 18
13:25:30.690 ▲ Saņemt:01 03 04 00 01 00 02 2A 32
13:25:30.702 Saziņas adrese 2 (A0010001) ...
13:25:30.779 ▼Sūtīt:00 03 A0 01 00 01 F6 1B
13:25:30.783 ▲ Saņemt:01 03 02 00 01 79 84
13:25:30.795 Datu nolasīšanas beigas.
Biežākās problēmas un traucējummeklēšanas metodes
Lai arī Modbus RTU protokols ir salīdzinoši vienkāršs, praktiskā pielietojumā joprojām var rasties dažādas problēmas. Tālāk ir norādītas izplatītākās kļūdas un risinājumi elektrības skaitītāja komunikācijā:
Nav komunikācijas atbildes
● Pārbaudiet fiziskos savienojumus:
▪ Vai RS-485 vadi ir pareizi (A/B līnijas ir apgrieztas)?
▪ Vai gala rezistori ir saskaņoti (parasti pievienojiet 120Ω rezistorus katrā kopnes galā)?
▪ Vai sakaru attālums ir pārsniegts (RS-485 teorētiski var sasniegt 1200 metrus, bet faktiskos attālumus ietekmē vides faktori).
● Pārbaudiet parametru iestatījumus:
▪ Vai datu pārraides ātrums, datu biti, apturēšanas biti un paritātes iestatījumi atbilst elektrības skaitītājam?
▪ Vai ierīces adrese ir iestatīta pareizi (nav dublikātu adrešu)?
Intermitējoša komunikācija
● Pārbaudiet līnijas traucējumus:
▪ Izmantojiet vītā{0}}pāra ekranētu kabeli un pārliecinieties, vai vairogs ir iezemēts vienā galā.
▪ Nevadiet kabeli paralēli augstsprieguma{0}}kabeļiem.
● Atsevišķu ierīču testēšana:
▪ Pievienojiet katru elektrības skaitītāju atsevišķi, lai novērstu bojātas ierīces.
▪ Izmantojiet UBS Electronics speciālo resursdatora programmatūru (piemēram, AMS), lai sazinātos tieši ar elektrības skaitītāju un precīzi noteiktu problēmu.
Datu kļūdas
● CRC pārbaudes pārbaude:
▪ Pārbaudiet, vai nosūtītie un saņemtie CRC kodi ir konsekventi.
▪ Apstipriniet datu baitu secību (Modbus RTU parasti ir mazs{0}}endians).
● Reģistra kartēšanas pārbaude:
▪ Pārliecinieties, vai izmantotās reģistra adreses atbilst elektrības skaitītāja rokasgrāmatai.
▪ Ievērojiet reģistra adreses nobīdi.
Ja jums ir jāizmanto šajā rakstā minētā UBS resursdatora programmatūra (Modbus RTU protokols), lūdzu, sazinieties ar personu, kas atbild par jūsu UBS elektrības skaitītāja pasūtījumu, un saņemiet papildu tehnisko atbalstu pēc-pārdošanas.




