Ətraflı təsvir və nümunələr ilə birlikdə Modbus RTU haqqında sadə izahlı məlumat
Bu məqalədə avtomatlaşdırılmış prosesə nəzarət sistemində (APNS) geniş şəkildə istifadə olunan Modbus RTU protokolu haqqında məlumat əldə edəcəksiniz. Məqalənin ingiliscə versiyası bu internet səhifəsində mövcuddur: ipc2u.com. Modbus TCP protokolunun təsviri haqqında məlumatı bu məqalədən əldə edə bilərsiniz.
RS-232, RS-422 və RS-485 interfeysləri arasındakı fərqlər haqqında sadə izahlı məlumat.
Mündəricat :
- Modbus RTU protokolunun təsviri
- Modbus RTU komandaları hansılardır?
- Rəqəmsal çıxışı oxumaq üçün Modbus RTU komandasını necə göndərmək olar? Komanda 0x01
- Rəqəmsal çıxışı oxumaq üçün Modbus RTU komandasını necə göndərmək olar? Komanda 0x02
- Analoq çıxışı oxumaq üçün Modbus RTU komandasını necə göndərmək olar? Komanda 0x03
- Analoq çıxışı oxumaq üçün Modbus RTU komandasını necə göndərmək olar? Komanda 0x04
- Rəqəmsal çıxışı yazmaq üçün Modbus RTU komandasını necə göndərmək olar? Komanda 0x05
- Analoq çıxışı yazmaq üçün Modbus RTU komandasını necə göndərmək olar ? Komanda 0x06
- Bir neçə rəqəmsal çıxışı yazmaq üçün Modbus RTU komandasını necə göndərmək olar? Komanda 0x0F
- Bir neçə analoq çıxışı yazmaq üçün Modbus RTU komandasını necə göndərmək olar? Komanda 0x10
- Modbus sorğu xətaları hansılardır ?
- Modbus RTU protokolu ilə işləmək üçün proqramlar
- Modbus RTU protokolunu dəstəkləyən avadanlıqlar
Modbus RTU protokolunun təsviri
Modbus — Başda duran -tabe olan (master-slave) arxitekturasına əsaslanan kommunikasiya protokoludur. O, məlumatların ötürülməsi üçün RS-485, RS-422, RS-232 interfeyslərindən, həmçinin Ethernet TCP/IP şəbəkələrindən (Modbus TCP protokolu) istifadə edir.
MGate seriyalı Modbus TCP və Modbus RTU protokol çeviriciləri
Modbus RTU mesajı SlaveID cihazının ünvanından, funksiya kodunun özündən, eləcə də funksiya kodundan asılı olan xüsusi məlumatlardan və CRC yoxlama cəmindən ibarətdir.
SlaveID |
Funksiya kodu |
Xüsusi məlumatlar |
CRC |
SlaveID ünvanını və CRC yoxlama cəmini çıxsanız, o halda PDU, Protocol Data Unit əldə ediləcəkdir.
SlaveID – bu, cihazın ünvanıdır, 0-dan 247-yə qədər qiyməti qəbul edə bilər, 248-dən 255-ə qədər ünvanlar rezerv saxlanır.
Moduldakı məlumatlar 4 cədvəldə saxlanır.
İki cədvəl yalnız oxumaq üçün, ikisi isə oxumaq-yazmaq üçündür.
Hər cədvəldə 9999 qiymət var.
Registr nömrəsi |
HEX registrinin ünvanı |
Növü |
Adı |
Növü |
1-9999 |
0000 – dən 270E –dək |
Oxumaq-Yazmaq |
Discrete Output Coils |
DO |
10001-19999 |
0000 – dən 270E – dək |
Oxumaq |
Discrete Input Contacts |
DI |
30001-39999 |
0000 – dən 270E –dək |
Oxumaq |
Analog Input Registers |
AI |
40001-49999 |
0000 –dən 270E–dək |
Oxumaq-Yazmaq |
Analog Output Holding Registers |
AO |
Modbus mesajı ünvan registrindən istifadə edir.
Məsələn, birinci AO Holding Register registrinin 40001 nömrəsi var, lakin onun ünvanı 0000-ə bərabərdir.
Bu iki qiymət arasındakı fərq ofset sürüşmədir.
Hər bir cədvəlin müvafiq olaraq öz sürüşməsi var: 1, 10001, 30001 və 40001.
17-ci cihazının ünvanı ilə 40108 saylı registrdən 40110 saylı registrə qədər AO analoq çıxışın (holding registers) qiymətini almaq üçün Modbus RTU sorğusunun nümunəsi aşağıda verilib.
11 03 006B 0003 7687
11 |
SlaveID (17 = 11 hex) cihazının ünvanı |
03 |
Funksiya kodu Function Code (Analog Output Holding Registers-i oxuyuruq) |
006B |
Birinci registrin ünvanı (40108-40001 = 107 =6B hex) |
0003 |
Tələb olunan registrlərin sayı (40108-dən 40110-a qədər 3 registri oxuyuruq) |
7687 |
CRC yoxlama cəmi |
Modbus RTU Slave cihazından aşağıdakıları alırıq:
11 03 06 AE41 5652 4340 49AD
Olduğu yerdə:
11 |
Cihazın ünvanı (17 = 11 hex) |
SlaveID |
03 |
Funksiya kodu |
Function Code |
06 |
Növbəti baytların sayı (6 bayt sonra gəlir) |
Byte Count |
AE |
Registrin ən yüksək mərtəbəsinin (bitinin) qiyməti (AE hex) |
Register value Hi (AO0) |
41 |
Registrin ən aşağı mərtəbəsinin (bitinin) qiyməti (41 hex) |
Register value Lo (AO0) |
56 |
Registrin ən yüksək mərtəbəsinin (bitinin) qiyməti (56 hex) |
Register value Hi (AO1) |
52 |
Registrin ən aşağı mərtəbəsinin (bitinin) qiyməti (52 hex) |
Register value Lo (AO1) |
43 |
Registrin ən yüksək mərtəbəsinin (bitinin) qiyməti (43 hex) |
Register value Hi (AO2) |
40 |
Registrin ən aşağı mərtəbəsinin (bitinin) qiyməti (40 hex) |
Register value Lo (AO2) |
49 |
Yoxlama cəmi |
CRC value Lo |
AD |
Yoxlama cəmi |
CRC value Hi |
AO0 analoq çıxış registri onluq sistemdə AE 41 HEX və ya 44609 qiyməti təyin edilir.
AO1 analoq çıxış registri onluq sistemdə 56 52 HEX və ya 22098 qiyməti təyin edilir.
AO2 analoq çıxış registri onluq sistemdə 43 40 HEX və ya 17216 qiyməti təyin edilir.
AE 41 HEX qiyməti 16 bit 1010 1110 0100 0001-dir, təqdimolunma tipindən asılı olaraq fərqli qiymət qəbul edə bilər.
40108 registrinin qiyməti 40109 registri ilə birləşdirildikdə 32 bitlik qiymət verir.
Təqdimolunma nümunələri .
Təqdimolunma tipi |
Aralıq qiymətləri |
HEX-də nümunə |
Onluq formada olacaq |
16-bit unsigned integer |
0 -dan 65535 -ə qədər |
AE41 |
44,609 |
16-bit signed integer |
-32768 -dən 32767 -yə qədər |
AE41 |
-20,927 |
two character ASCII string |
2 simvol |
AE41 |
® A |
discrete on/off value |
0 və 1 |
0001 |
0001 |
32-bit unsigned integer |
0 -dan 4,294,967,295 -ə qədər |
AE41 5652 |
2,923,517,522 |
32-bit signed integer |
-2,147,483,648 –dən 2,147,483,647-ə qədər |
AE41 5652 |
-1,371,449,774 |
32-bit single precision IEEE floating point number |
1,2·10−38-dən 3,4×10+38-ə qədər |
AE41 5652 |
-4.395978 E-11 |
four character ASCII string |
4 simvol |
AE41 5652 |
® A V R |
Modbus RTU komandaları hansılardır?
Modbus RTU registrlərinin oxunması və yazılması üçün kodlar olan cədvəl aşağıda verilib.
Funksiyaların kodu |
Bu funksiya nə edir |
Qiymətin tipi |
Giriş tipi |
|
01 (0x01) |
DO Oxumaq |
Read Coil Status |
Rəqəmsal |
Oxumaq |
02 (0x02) |
DI Oxumaq |
Read Input Status |
Rəqəmsal |
Oxumaq |
03 (0x03) |
AO Oxumaq |
Read Holding Registers |
16 bit |
Oxumaq |
04 (0x04) |
AI Oxumaq |
Read Input Registers |
16 bit |
Oxumaq |
05 (0x05) |
Bir DO Yazmaq |
Force Single Coil |
Rəqəmsal |
Yazmaq |
06 (0x06) |
Bir AO Yazmaq |
Preset Single Register |
16 bit |
Yazmaq |
15 (0x0F) |
Bir neçə DO Yazmaq |
Force Multiple Coils |
Rəqəmsal |
Yazmaq |
16 (0x10) |
Bir neçə AO Yazmaq |
Preset Multiple Registers |
16 bit |
Yazmaq |
Modbus Protokolunun konvertasiyasının nüansları. Şluz nə vaxt lazımınız olacaq və serial cihaz serverinə nə vaxt ehtiyacınız var?
Yuxarıda - Mündəricat bölməsində
Rəqəmsal çıxışı oxumaq üçün Modbus RTU komandasını necə göndərmək olar? Komanda 0x01
Bu komandadan DO rəqəmsal çıxışların qiymətlərini oxumaq üçün istifadə olunur.
PDU sorğusu birinci DO registrinin başlanğıc ünvanını və tələb olunan DO qiymətlərinin növbəti sayını təyin edir . PDU - larda DO qiymətləri sıfırdan başlayaraq ünvanlanır.
Cavabdakı DO qiymətləri bir baytda yerləşir və bitlərin qiymətinə uyğundur.
Bit qiymətləri 1 = ON və 0 = OFF kimi müəyyən edilir.
Birinci məlumat baytının ən aşağı biti sorğuda ünvanı göstərilən DO qiymətini özündə daşıyır. Qalan DO qiymətləri artan sıra ilə ən yüksək bayt qiymətinə qədər davam edir, yəni, sağdan sola doğru.
Əgər səkkizdən az DO qiyməti tələb edilmiş olarsa, o halda cavabda qalan bitlər sıfırlarla doldurulacaqdır (ən aşağı baytdan ən yüksək bayta qədər). Byte Count Növbəti baytların sayı sahəsi cavabdakı məlumatların tam baytlarının sayını göstərir.
SlaveID cihazının ünvanı 17 üçün 20 saylı registrdən 56 saylı registrə qədər DO sorğusunun nümunəsi. Birinci registrin ünvanı 0013 hex = 19 olacaq, çünki hesab 0 ünvanından aparılır (0014 hex = 20, -1 sıfır sürüşmə = 0013 hex = 19 alırıq).
Bayt |
Sorğu |
Bayt |
Cavab |
(Hex) |
Sahənin adı |
(Hex) |
Sahənin adı |
11 |
Cihazın ünvanı |
11 |
Cihazın ünvanı |
01 |
Funksiya kodu |
01 |
Funksiya kodu |
00 |
Birinci Hi bayt registrin ünvanı |
05 |
Növbəti baytın miqdarı |
13 |
Birinci Lo bayt registrin ünvanı |
CD |
Bu registrin qiyməti: DO 27-20 (1100 1101) |
00 |
Hi bayt registrlərinin miqdarı |
6B |
Bu registrin qiyməti: DO 35-28 (0110 1011) |
25 |
Lo bayt registrlərinin miqdarı |
B2 |
Bu registrin qiyməti: DO 43-36 (1011 0010) |
0E |
CRC yoxlama cəmi |
0E |
Bu registrin qiyməti: DO 51-44 (0000 1110) |
84 |
CRC yoxlama cəmi |
1B |
Bu registrin qiyməti: DO 56-52 (0001 1011) |
45 |
CRC yoxlama cəmi |
||
E6 |
CRC yoxlama cəmi |
DO 27-20 çıxışlarının statusları CD hex baytının qiymətləri kimi və ya ikilik sistemi 1100 1101-də göstərilir.
DO 56-52 registrində sağdakı 5 bit tələb olunmuş və qalan bitlər tam bayta (0001 1011) kimi sıfırlarla doldurulmuşdur.
Kanallar |
- |
- |
- |
DO56 |
DO55 |
DO54 |
DO53 |
DO52 |
Bitlər |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
hex |
1B |
Rəqəmsal çıxış modulları: M-7065, ioLogik R1214, ADAM-4056S
Yuxarıda - Mündəricat bölməsində
Rəqəmsal girişi oxumaq üçün Modbus RTU komandasını necə göndərmək olar? Komanda 0x02
Bu komandadan DI rəqəmsal girişlərin qiymətlərini oxumaq üçün istifadə olunur.
SlaveID cihazının ünvanı 17 üçün 10197 saylı registrdən 10218 saylı registrə qədər DI sorğusunun nümunəsi. Birinci registrin ünvanı 00C4 hex = 196 olacaq, çünki hesab 0 ünvanından aparılır.
Bayt |
Sorğu |
Bayt |
Cavab |
(Hex) |
Sahənin adı |
(Hex) |
Sahənin adı |
11 |
Cihazın ünvanı |
11 |
Cihazın ünvanı |
02 |
Funksiya kodu |
02 |
Funksiya kodu |
00 |
Birinci Hi bayt registrin ünvanı |
03 |
Növbəti baytın miqdarı |
C4 |
Birinci Lo bayt registrin ünvanı |
AC |
Bu registrin qiyməti: DI 10204-10197 (1010 1100) |
00 |
Hi bayt registrlərinin miqdarı |
DB |
Bu registrin qiyməti: DI 10212-10205 (1101 1011) |
16 |
Lo bayt registrlərinin miqdarı |
35 |
Bu registrin qiyməti: DI 10218-10213 (0011 0101) |
BA |
CRC yoxlama cəmi |
20 |
CRC yoxlama cəmi |
A9 |
CRC yoxlama cəmi |
18 |
CRC yoxlama cəmi |
Rəqəmsal girişi olan modullar: M-7053, ioLogik R1210, ADAM-4051
Yuxarıda - Mündəricat bölməsində
Analoq çıxışı oxumaq üçün Modbus RTU komandasını necə göndərmək olar? Komanda 0x03
Bu komandadan AO analoq çıxışlarının qiymətlərini oxumaq üçün istifadə olunur.
SlaveID cihazının ünvanı 17 üçün 40108 saylı registrdən 40110 saylı registrə qədər AO sorğusunun nümunəsi. Birinci registrin ünvanı 006B hex = 107 olacaq, çünki hesab 0 ünvanından aparılır.
Bayt |
Sorğu |
Bayt |
Cavab |
(Hex) |
Sahənin adı |
(Hex) |
Sahənin adı |
11 |
Cihazın ünvanı |
11 |
Cihazın ünvanı |
03 |
Funksiya kodu |
03 |
Funksiya kodu |
00 |
Birinci Hi bayt registrin ünvanı |
06 |
Növbəti baytın miqdarı |
6B |
Birinci Lo bayt registrin ünvanı |
AE |
Bu registrin qiyməti: Hi #40108 |
00 |
Hi bayt registrlərinin miqdarı |
41 |
Bu registrin qiyməti: Lo #40108 |
03 |
Lo bayt registrlərinin miqdarı |
56 |
Bu registrin qiyməti: Hi #40109 |
76 |
CRC yoxlama cəmi |
52 |
Bu registrin qiyməti: Lo # 40109 |
87 |
CRC yoxlama cəmi |
43 |
Bu registrin qiyməti: Hi #40110 |
40 |
Bu registrin qiyməti: Lo # 40110 |
||
49 |
CRC yoxlama cəmi |
||
AD |
CRC yoxlama cəmi |
Analoq çıxışı olan modullar: M-7024, ioLogik R1241, ADAM-4024
Yuxarıda - Mündəricat bölməsində
Analoq girişi oxumaq üçün Modbus RTU komandasını necə göndərmək olar? Komanda 0x04
Bu komandadan AI analoq girişlərinin qiymətlərini oxumaq üçün istifadə olunur.
SlaveID cihaz ünvanı 17 üçün 30009 saylı registrdən AI sorğusunun nümunəsi. Birinci registrin ünvanı 0008 hex = 8 olacaq, çünki hesab 0 ünvanından aparılır.
Bayt |
Sorğu |
Bayt |
Cavab |
(Hex) |
Sahənin adı |
(Hex) |
Sahənin adı |
11 |
Cihazın ünvanı |
11 |
Cihazın ünvanı |
04 |
Funksiya kodu |
04 |
Funksiya kodu |
00 |
Birinci Hi bayt registrin ünvanı |
02 |
Növbəti baytın miqdarı |
08 |
Birinci Lo bayt registrin ünvanı |
00 |
Bu registrin qiyməti: Hi #30009 |
00 |
Hi bayt registrlərinin miqdarı |
0A |
Bu registrin qiyməti: Lo # 30009 |
01 |
Lo bayt registrlərinin miqdarı |
F8 |
CRC yoxlama cəmi |
B2 |
CRC yoxlama cəmi |
F4 |
CRC yoxlama cəmi |
98 |
CRC yoxlama cəmi |
Analoq girişli modullar: M-7017, ioLogik R1240, ADAM-4017+
Yuxarıda - Mündəricat bölməsində
Rəqəmsal çıxışı yazmaq üçün Modbus RTU komandasını necə göndərmək olar? Komanda 0x05
Bu komandadan DO rəqəmsal çıxışının bir qiymətini yazmaq üçün istifadə olunur.
FF 00 hex qiyməti ON işə salınma vəziyyətinə qoyulur.
00 00 hex qiyməti OFF söndürülmə vəziyyətinə qoyulur.
Bütün digər qiymətlər etibarsızdır və çıxış qiymətinə təsir etməyəcəkdir.
Belə bir sorğuya normal cavab DO statusu dəyişdirildikdən sonra qaytarılan əks-sədadır (cavabda sorğunun təkrarlanması).
SlaveID cihaz ünvanı 17 üçün 173 saylı registrdən DO yazısının nümunəsi. Birinci registrin ünvanı 00AC hex = 172 olacaq, çünki hesab 0 ünvanından aparılır
Bayt |
Sorğu |
Bayt |
Cavab |
(Hex) |
Sahənin adı |
(Hex) |
Sahənin adı |
11 |
Cihazın ünvanı |
11 |
Cihazın ünvanı |
05 |
Funksiya kodu |
05 |
Funksiya kodu |
00 |
Birinci Hi bayt registrin ünvanı |
00 |
Birinci Hi bayt registrin ünvanı |
AC |
Birinci Lo bayt registrin ünvanı |
AC |
Birinci Lo bayt registrin ünvanı |
FF |
Hi bayt qiyməti |
FF |
Hi bayt qiyməti |
00 |
Lo bayt qiyməti |
00 |
Lo bayt qiyməti |
4E |
CRC yoxlama cəmi |
4E |
CRC yoxlama cəmi |
8B |
CRC yoxlama cəmi |
8B |
CRC yoxlama cəmi |
DO173 statusu söndürülmə OFF -dan işəsalma ON vəziyyətinə dəyişdirilib.
Rəqəmsal Çıxış Modulları: M-7053, ioLogik R1210, ADAM-4051
Yuxarıda - Mündəricat bölməsində
Analoq çıxışı yazmaq üçün Modbus RTU komandasını necə göndərmək olar? Komanda 0x06
Bu komandadan AO analoq çıxışının bir qiymətini yazmaq üçün istifadə olunur.
SlaveID cihaz ünvanı 17 üçün 40002 saylı registrdən AO yazısının nümunəsi. Birinci registrin ünvanı 0001 hex = 1 olacaq, çünki hesab 0 ünvanından aparılır.
Bayt |
Sorğu |
Bayt |
Cavab |
(Hex) |
Sahənin adı |
(Hex) |
Sahənin adı |
11 |
Cihazın ünvanı |
11 |
Cihazın ünvanı |
06 |
Funksiya kodu |
06 |
Funksiya kodu |
00 |
Birinci Hi bayt registrin ünvanı |
00 |
Birinci Hi bayt registrin ünvanı |
01 |
Birinci Lo bayt registrin ünvanı |
01 |
Birinci Lo bayt registrin ünvanı |
00 |
Hi bayt qiyməti |
00 |
Hi bayt qiyməti |
03 |
Lo bayt qiyməti |
03 |
Lo bayt qiyməti |
9A |
CRC yoxlama cəmi |
9A |
CRC yoxlama cəmi |
9B |
CRC yoxlama cəmi |
9B |
CRC yoxlama cəmi |
Analoq çıxışı olan modullar: M-7024, ioLogik R1241, ADAM-4024
Yuxarıda - Mündəricat bölməsində
Bir neçə rəqəmsal çıxışı yazmaq üçün Modbus RTU komandasını necə göndərmək olar? Komanda 0x0 F
Bu komandadan DO rəqəmsal çıxışın bir neçə qiymətini yazmaq üçün istifadə olunur.
SlaveID cihaz ünvanı 17 üçün 20 saylı registrdən 29 saylı registrə qədər bir neçə DO yazısının nümunəsi. Registrin ünvanı 0013 hex = 19 olacaq, çünki hesab 0 ünvanından aparılır.
Bayt |
Sorğu |
Bayt |
Cavab |
(Hex) |
Sahənin adı |
(Hex) |
Sahənin adı |
11 |
Cihazın ünvanı |
11 |
Cihazın ünvanı |
0F |
Funksiya kodu |
0F |
Funksiya kodu |
00 |
Birinci Hi bayt registrin ünvanı |
00 |
Birinci Hi bayt registrin ünvanı |
13 |
Birinci Lo bayt registrin ünvanı |
13 |
Birinci Lo bayt registrin ünvanı |
00 |
Hi bayt registrlərinin miqdarı |
00 |
Yazılı registr Hi baytlarının miqdarı |
0A |
Lo bayt registrlərinin miqdarı |
0A |
Yazılı registr Lo baytlarının miqdarı |
02 |
Növbəti baytın miqdarı |
26 |
CRC yoxlama cəmi |
CD |
Bu baytın qiyməti: DO 27-20 (1100 1101) |
99 |
CRC yoxlama cəmi |
01 |
Bu baytın qiyməti: DO 29-28 (0000 0001) |
||
BF |
CRC yoxlama cəmi |
||
0B |
CRC yoxlama cəmi |
Cavab yazılan registrlərin sayını qaytarır.
Rəqəmsal çıxış modulları: M-7053, ioLogik R1210, ADAM-4051
Yuxarıda - Mündəricat bölməsində
Bir neçə analoq çıxışı yazmaq üçün Modbus RTU komandasını necə göndərmək olar? Komanda 0x10
Bu komandadan AO analoq çıxışının bir neçə qiymətini yazmaq üçün istifadə olunur.
SlaveID cihaz ünvanı 17 üçün 40002 saylı registrdən 40003 saylı registrə qədər bir neçə AO yazısının nümunəsi. Birinci registrin ünvanı 0001 hex = 1 olacaq, çünki hesab 0 ünvanından aparılır.
Bayt |
Sorğu |
Bayt |
Cavab |
(Hex) |
Sahənin adı |
(Hex) |
Sahənin adı |
11 |
Cihazın ünvanı |
11 |
Cihazın ünvanı |
on |
Funksiya kodu |
on |
Funksiya kodu |
00 |
Birinci Hi bayt registrin ünvanı |
00 |
Birinci Hi bayt registrin ünvanı |
01 |
Birinci Lo bayt registrin ünvanı |
01 |
Birinci Lo bayt registrin ünvanı |
00 |
Hi bayt registrlərinin miqdarı |
00 |
Yazılı registr Hi baytlarının miqdarı |
02 |
Lo bayt registrlərinin miqdarı |
02 |
Yazılı registr Lo baytlarının miqdarı |
04 |
Növbəti baytın miqdarı |
12 |
CRC yoxlama cəmi |
00 |
Bunun qiyməti: Hi 40002 |
98 |
CRC yoxlama cəmi |
0A |
Bunun qiyməti: Lo 40002 |
||
01 |
Bunun qiyməti: Hi 40003 |
||
02 |
Bunun qiyməti: Lo 40003 |
||
C6 |
CRC yoxlama cəmi |
||
F0 |
CRC yoxlama cəmi |
Analoq çıxışı olan modullar: M-7024, ioLogik R1241, ADAM-4024
Yuxarıda - Mündəricat bölməsində
Modbus sorğu xətaları hansılardır?
Əgər cihaza sorğu daxil olursa, lakin sorğunun emal edilməsi mümkün olmursa, o zaman cihaz xəta kodu ilə cavab verəcəkdir.
Cavab dəyişdirilmiş Funksiya kodunu özündə daşıyacaq, onun ən yüksək biti 1-ə bərabər olacaqdır.
Nümunə:
Olmuşdur |
Baş vermişdir |
Sorğudakı funksiya xətası kodu |
Cavabdakı funksiya xətası kodu |
01 (01 hex) 0000 0001 |
129 (81 hex) 1000 0001 |
02 (02 hex) 0000 0010 |
130 (82 hex) 1000 0010 |
03 (03 hex) 0000 0011 |
131 (83 hex) 1000 0011 |
04 (04 hex) 0000 0100 |
132 (84 hex) 1000 0100 |
05 (05 hex) 0000 0101 |
133 (85 hex) 1000 0101 |
06 (06 hex) 0000 0110 |
134 (86 hex) 1000 0110 |
15 (0F hex) 0000 1111 |
143 (8F hex) 1000 1111 |
16 (10 hex) 0001 0000 |
144 (90 hex) 1001 0000 |
Xətalı sorğu və cavab nümunələri:
Bayt |
Sorğu |
Bayt |
Cavab |
(Hex) |
Sahənin adı |
(Hex) |
Sahənin adı |
0A |
Cihazın ünvanı |
0A |
Cihazın ünvanı |
01 |
Funksiya kodu |
81 |
Dəyişdirilmiş bit ilə Funksiya kodu |
04 |
Birinci Hi bayt registrin ünvanı |
02 |
Xəta kodları |
A1 |
Birinci Lo bayt registrin ünvanı |
B0 |
CRC yoxlama cəmi |
00 |
Hi bayt registrlərinin miqdarı |
53 |
CRC yoxlama cəmi |
01 |
Lo bayt registrlərinin miqdarı |
||
AC |
CRC yoxlama cəmi |
||
63 |
CRC yoxlama cəmi |
Xəta kodlarının açıqlanması
01 |
Qəbul edilmiş Funksiya kodunu emal etmək mümkün olmadı. |
02 |
Sorğuda göstərilən məlumat ünvanı mövcud deyil. |
03 |
Sorğu məlumatı sahəsində olan qiymət etibarsız qiymətdir. |
04 |
Tabe olan cihaz tələb olunan hərəkəti yerinə yetirməyə cəhd edərkən bərpa olunmayan xəta baş verdi. |
05 |
Tabe olan cihaz sorğunu qəbul edib və onu emal edir, lakin bu, çox vaxt tələb edir. Bu cavab başda duran cihazın taym-aut xətası yaratmasının qarşısını alır. |
06 |
Tabe olan cihaz komandaları emal etməklə məşğuldur. Başda duran cihaz daha sonra tabe olan cihaz azad olan zaman mesajı təkrar etməlidir. |
07 |
Tabe olan cihaz sorğuda göstərilən proqram funksiyasını yerinə yetirə bilmir. Bu kod 13 və ya 14 nömrəli funksiyalardan istifadə edərək uğursuz proqram sorğusu üçün qaytarılır. Başda duran cihaz tabe olan cihazdan diaqnostika haqqında informasiyaları və ya xətalar haqqında informasiyaları tələb etməlidir. |
08 |
Tabe olan cihaz genişləndirilmiş yaddaşı oxuyarkən paritet xətası ilə qarşılaşdı. Başda duran cihaz sorğunu təkrarlaya bilər, lakin belə hallarda adətən təmir tələb olunur. |
10 |
Şlüz səhv konfiqurasiya edilib və ya sorğularla həddən artıq yüklənib. |
11 |
Slave cihazı onlayn deyil və ya ondan heç bir cavab yoxdur. |
Yuxarıda - Mündəricat bölməsində
Modbus RTU protokolu ilə işləmək üçün proqramlar
Aşağıda Modbus ilə işləməyi asanlaşdıran proqramlar verilmişdir .
RTU, ASCII, DCON dəstəyi ilə DCON Utility Pro . Yüklə
RTU, ASCII, TCP dəstəyi ilə Modbus Master Tool. Yüklə
Modbus TCP dəstəyi ilə Modbus TCP client. Yüklə