5813
правок
Kilpio (обсуждение | вклад) |
Kilpio (обсуждение | вклад) |
||
Строка 122: | Строка 122: | ||
Обратите внимание, утилита modbus_client при записи заменила 1 на 0x00FF, поскольку именно это значение служит для включения реле. Любое ненулевое значение будет заменено на 0x00FF, поэкспериментируйте. | Обратите внимание, утилита modbus_client при записи заменила 1 на 0x00FF, поскольку именно это значение служит для включения реле. Любое ненулевое значение будет заменено на 0x00FF, поэкспериментируйте. | ||
6. Включим все | 6. Включим все нечетные реле и выключим все четные. Для этого используем функцию 15 (Write Multiple Coils). В модуле всего 14 реле, так что мы должны передать значения для 14 регистров с 0 по 13. | ||
<syntaxhighlight lang="bash">modbus_client --debug -mrtu -pnone -s2 /dev/ttyAPP1 -a1 -t0x0f -r0x00 -c 14 0x00FF 0x0000 0x00FF 0x0000 0x00FF 0x0000 0x00FF 0x0000 0x00FF 0x0000 0x00FF 0x0000 0x00FF 0x0000</syntaxhighlight> | <syntaxhighlight lang="bash">modbus_client --debug -mrtu -pnone -s2 /dev/ttyAPP1 -a1 -t0x0f -r0x00 -c 14 0x00FF 0x0000 0x00FF 0x0000 0x00FF 0x0000 0x00FF 0x0000 0x00FF 0x0000 0x00FF 0x0000 0x00FF 0x0000</syntaxhighlight> | ||
Строка 132: | Строка 132: | ||
<01><0F><00><00><00><0E><D4><0F> | <01><0F><00><00><00><0E><D4><0F> | ||
SUCCESS: written 14 elements!</syntaxhighlight> | SUCCESS: written 14 elements!</syntaxhighlight> | ||
Обратите внимание на структуру запроса: | |||
[01] — адрес | |||
[0F] — код функции Write Multiple Coils | |||
[00][00] — адрес первого регистра флагов для записи | |||
[00][0E] — количество элементов для записи (14) | |||
[02] — количество байт данных | |||
[55][15] — 01010101 00010101 (помним про big-endian формат представления данных: первое реле — младший бит первого байта, 8 реле — старший бит первого байта, 9 реле — младший бит второго байта) | |||
[1A][97] — CRC16 | |||
А так же на структуру ответа: | |||
<01> — адрес | |||
<0F> — код функции Write Multiple Coils | |||
<00><00> — адрес первого регистра флагов для записи | |||
<00><0E> — количество записанных регистров | |||
<D4><0F> — CRC16 |
правок