Автонастройка на нужное устройство modbus

236
06 июня 2018, 13:20

Есть приложение wpf, которое общается с устройством, которое подключается по rs485 и работает по протоколу modbus.
Пример чтения регистров:
запрос - 01 03 00 00 00 02 C4 0B

Где:
Первый байт - номер устройства (адрес)
Второй байт - номер функции (03 = чтение регистров)
Третий и четвертый - адрес начала регистров (0000)
Пятый и шестой - количество регистров (0002)
Последние два байта - контрольная сумма.
Ранее было известно какой адрес был у устройства. После прихода новых железок, адреса стали меняться, а широковещательный запрос (0х00) стал не проходить. Нужно реализовать настройку на работающее устройство. У меня есть команда на чтение byte {}= (0х01, 0x03,0x00 ,0x00, 0x00, 0x02, 0xC4, 0х0B)

Все классно, если известен адрес. Но как сделать корректно перебор адресов? т.е. сначала отправляем (0х01, 0x03,0x00 ,0x00, 0x00, 0x02, 0xC4, 0х0B), если нет ответа (0х02, 0x03,0x00 ,0x00, 0x00, 0x02, ..,..),если нет (0х03, 0x03,0x00 ,0x00, 0x00, 0x02, ..,..) итд.

Адрес находится в диапазоне от 1 до 254, т.е. занимает 1 байт.

Answer 1

ПО стандарту modbus должно быть до 247 вроде бы, хотя если железка не полностью соответствует стандарту может и 254. Другого способа нет. Хотя возможно есть другой способ подключения. У меня например встречался прибор при подключении по USB которому ни адрес ни скорость не нужен, да их надо указать, но можно любые. может и там также?

READ ALSO
Ошибки компиляции MyDataAdapter

Ошибки компиляции MyDataAdapter

Может, что в using добавить надо?

218
Unity отложенное выполнение

Unity отложенное выполнение

Делаю свою кастомную таблицуТо есть UI элемент

216
Как выполнить метод после return в web api?

Как выполнить метод после return в web api?

Код, который должен создать объект, отправить id, а затем обработать в бдПроблема в том, что я не понимаю как Сначала вернуть ответ, а уже потом...

275
Как в ListBox (WPF) добавить иконку?

Как в ListBox (WPF) добавить иконку?

Есть ListBox в который выводится список папок и файловКак в каждый item добавить маленькую иконку (как в Total Commander например)? По сути не понимаю...

246