0
Planned

Ошибка в драйвере модбас?

Roman Fatykov 4 years ago in Bugs and problems updated by Vladimir Ovchinnikov (expert) 4 years ago 3

Проблема обнаружена в драйвере Modbus TCP Server (Slave mode) (Замечено на серверном проекте, на панельном не проверял). И заключается в том что если создать в драйвере feedbak (с command не пробовал) и назначить ему любой unsigned тип (unsigned word/dword) то значения фидбеков всегда == 0. А при работе с ними из скритпа - взаимодействующие с ним переменные имеют тип undefined (в моём случае я присваивал значение фидбека - виртуальному фидбеку и в веб интерфейсе сервера значение виртуального тега - undefined). Если же я меняю тип фидбека на word/dword то проблема исчезает. Но тогда нет возможности получать из модбаса значения больше чем 32767, соответственно, для 16и битных регистров . Проект прилагаю (скрипт можно удалить, без него, с "пустым проектом" аналогичная ситуация. А также сейчас тип фидеков стоит word - можно любой изменить на unsigned, и описанная особенность должна появиться). Версия студии 2019, самая последняя. Пробовал как на UMC сервере, так и на эмуляторе, с отправкой данных модбас, на сервера, из разных источников. 

Я что-то делаю не так или действительно есть проблема?

Проект

Under review

Добрый день.

Типы signed/unsigned в Иридиум для всех драйверов Modbus сейчас перерабатываются, поэтому пока что можете использовать Word без указания типа. Если для Word используется signed, то допустимый интервал в пределах от -32768 до 32767, если unsigned, то от 0 до 65535.

В том и дело, что у меня из модбаса приходят 16бит unsigned и значения больше чем 32767, поэтому, на данный момент не имею возможности их вывести, как писал - при выборе типа фидбека unsigned word - все значения нулевые. при выборе просто word - те что больше 32767 - становятся отрицательными. Буду ждать переработанного драйвера)) пока не критично

Planned

Добрый день.

Мы сообщим по готовности релиза с signed/unsigned для Modbus.