Бага! modbus/tcp modbus_client

Ну это ж самое ценное - толковый замотивированный тестер, которому надо.

1 лайк

Как обещал - отвечаю. Будет на следующей неделе, дадим версию (просто пакет файлом) для тестирования.Так что можно готовить шаблоны устройств.

1 лайк

Привет, я бы тоже затестил modbusTCP, актуально очень

Ну, буду иметь в виду.
Но с нестабильными версиями и такое бывает:

Во, я тоже хочу. А то сторонние костыли юзать не комильфо.

Версия wb-mqtt-serial 2.3.0 можно установить из репы experimental. Добавлен TCP.

1 лайк

Yessup.
Смотрим.

так, я 2.2.1 в experimental вижу - не там смотрю?

apt update && apt policy wb-mqtt-serial        
wb-mqtt-serial:
  Installed: 2.2.2
  Candidate: 2.3.0
  Version table:
     2.3.0 910
        910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
 *** 2.2.2 100
        100 /var/lib/dpkg/status
     2.2.1 920
        920 http://releases.contactless.ru/unstable/stretch stretch/main armhf Packages
     2.2.0 920

Странно…

apt-cache policy wb-mqtt-serial

wb-mqtt-serial:
Installed: 2.2.1
Candidate: 2.2.1
Version table:
2.3.0 910
910 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
*** 2.2.1 920
920 http://releases.contactless.ru/unstable/stretch stretch/main armhf Packages

при этом

cat 10wb-experimental

Package: *
Pin: release o=wirenboard, l=experimental*
Pin-Priority: 910

Ща пофиксим.

Так.
Я правильно понимаю, что описание в виде стандартной рыбы (template) пока не парсится?

wb-mqtt-serial -d1 -c ./wb-mqtt-serial.conf

ERROR: [serial] Validation failed.
Error 1
context: [device][channels][0]
desc: Object contains a property that could not be validated using ‘properties’ or ‘additionalProperties’ constraints: ‘channel_readonly’.
Error 2
context: [device][channels][0]
desc: Failed to validate against child schema #0.
Error 3
context: [device][channels][0]
desc: Object contains a property that could not be validated using ‘properties’ or ‘additionalProperties’ constraints: ‘address’.
Error 4
context: [device][channels][0]
desc: Failed to validate against child schema #1.
Error 5
context: [device][channels][0]
desc: Failed to validate against any child schemas allowed by oneOf constraint.
Error 6
context: [device][channels]
desc: Failed to validate item #0 in array.
Error 7
context: [device][channels][1]
desc: Object contains a property that could not be validated using ‘properties’ or ‘additionalProperties’ constraints: ‘channel_readonly’.
Error 8
context: [device][channels][1]
desc: Failed to validate against child schema #0.
Error 9
context: [device][channels][1]
desc: Object contains a property that could not be validated using ‘properties’ or ‘additionalProperties’ constraints: ‘address’.
Error 10
context: [device][channels][1]
desc: Failed to validate against child schema #1.
Error 11
context: [device][channels][1]
desc: Failed to validate against any child schemas allowed by oneOf constraint.
Error 12
context: [device][channels]
desc: Failed to validate item #1 in array.
Error 13
context: [device]
desc: Failed to validate against schema associated with property name ‘channels’.
Error 14
context:
desc: Failed to validate against schema associated with property name ‘device’.

Вы лучше пишите прямо в тему Поддержка MODBUS TCP в wb-mqtt-serial - там отвечает сразу разработчик.

Благодарю.

Пришлите, пожалуйста, wb-mqtt-serial.conf, который вызвал эту ошибку. Тут парсер ругается на неизвестный параметр ‘channel_readonly’ и неверный формат параметра ‘address’.

Добрый день, я уже переделал, не включением template в конфиг, а внесением напрямую заработало:

    {
        "address": "10.112.31.11",
        "port": 502,
        "port_type": "modbus tcp",
        "devices": [
            {
                "slave_id": 502,
                "name": "burgess",
                "enabled": true,
                "poll_interval": 512,
                "id": "saia2",
                "channels": [
                    {
                        "name": "UFO1STAT",
                        "reg_type": "discrete",
                        "address": "14"
                    },
                    {
                        "name": "UFO2STAT",
                        "reg_type": "discrete",
                        "address": "13"
                    }
                ],
                "guard_interval_us": 2000,
                "device_timeout_ms": 500
            }
        ],
        "poll_interval": 1000,
        "enabled": true,
        "type": null,
        "response_timeout_ms": 500
    }

Всё таки интересно посмотреть на конфиг, который не заработал, чтобы мы починили его разбор.

А так и не решился вопрос, кстати… Сейчас возюкаюсь с другим дивайсом, фаберже идентичные…

А версия wb-mqtt-serial какая? сейчас кардиналтно переработана.

Да с ним-то норм, работает. Надо таймауты овна отдебажить, а _client по-прежнему не фунциклирует с tcp.

С modbus TCP - работает, и работал.

modbus_client --debug -mtcp -p 550 127.0.0.1 -a11 -t0x03 -r128 -c1
0x007f Connecting to 0.0.0.0
[00][01][00][00][00][06][0B][03][00][80][00][01]
Waiting for a confirmation...
<00><01><00><00><00><05><0B><03><02><00><0B>
SUCCESS: read 1 of elements:
	Data: 0x000b 

Вот в Modbus over TCP - нет. Но тут проще “порт” создать с помощью soсat так:
https://wirenboard.com/wiki/Доступ_к_порту_RS-485_контроллера_Wiren_Board_с_компьютера