Перейти к содержанию

Навигация

Modbus-client: различия между версиями

Строка 196: Строка 196:


===Чтение модели устройства===
===Чтение модели устройства===
Модель устройства занимает 6 регистров начиная с 200. В прошивках с [[Modbus#Поддержка_быстрого_Modbus_в_прошивках | быстрым Modbus]] поддерживается расширение модели устройства, которое хранится в регистрах 206-219.


Прочтем регистры релейного модуля WB-MR14 с адресом <code>1</code>, содержащие модель устройства: WBMR14. Известно, что модель хранится по адресу 200 и занимает 6 регистров.
====Чтение модели на старых прошивках====
 
Прочтем регистры релейного модуля WB-MR6C с адресом <code>1</code>, содержащие модель устройства: WBMR6C.
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-1 -a1 -t0x03 -r200 -c 6
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-1 -a1 -t0x03 -r200 -c 6
Строка 204: Строка 205:
Ответ:
Ответ:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
Opening /dev/ttyAPP1 at 9600 bauds (N, 8, 2)
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[01][03][00][C8][00][06][44][36]
[87][03][00][C8][00][06][5B][90]
Waiting for a confirmation...
Waiting for a confirmation...
<01><03><0C><00><57><00><42><00><4D><00><52><00><31><00><34><D4><76>
<87><03><0C><00><57><00><42><00><4D><00><52><00><36><00><43><23><F3>
SUCCESS: read 6 of elements:
SUCCESS: read 6 of elements:
         Data: 0x0057 0x0042 0x004d 0x0052 0x0031 0x0034
         Data: 0x0057 0x0042 0x004d 0x0052 0x0036 0x0043
</syntaxhighlight>
</syntaxhighlight>


Строка 218: Строка 219:
Ответ:
Ответ:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
WBMR14
WBMR6C
</syntaxhighlight>
 
====Чтение модели на прошивках с быстрым Modbus====
В прошивках с [[Modbus#Поддержка_быстрого_Modbus_в_прошивках | быстрым Modbus]] нужно считать 20 регистров (200-219).
<syntaxhighlight lang="bash">
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-1 -a1 -t0x03 -r200 -c 20
</syntaxhighlight>
Ответ:
<syntaxhighlight lang="bash">
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[87][03][00][C8][00][14][DB][9D]
Waiting for a confirmation...
<87><03><28><00><57><00><42><00><4D><00><52><00><36><00><43><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><94><A3>
SUCCESS: read 20 of elements:
        Data: 0x0057 0x0042 0x004d 0x0052 0x0036 0x0043 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
</syntaxhighlight>
Или сразу преобразованный вид:
<syntaxhighlight lang="bash">
echo -e $(modbus_client -mrtu -b9600 -pnone -s2 /dev/ttyRS485-1 -a1 -t0x03 -r200 -c 20 | grep Data | sed -e 's/.*Data://' -e 's/ 0x00/\\x/g')
</syntaxhighlight>
Ответ:
<syntaxhighlight lang="bash">
WBMR6C
</syntaxhighlight>
</syntaxhighlight>


translator, wb_editors
4197

правок