11.10.2016, 00:03 | #1 |
Новичок
Регистрация: Oct 2016
Сообщения: 1
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Косяк при чтении Long по Modbus-у?
Наблюдаю странное.
Читаю переменную типа Long (32бита) из устройства. Запрос на чтение от сегнетикса SMH 2Gi: 01 04 00 1С 00 02 B0 0D (Читаем устройство 01 ф-ция 4, два 16-битных слова начиная с адреса 001Chex). Ответ от устройства: 01 04 04 00 0С 00 00 3B 87 (значение регистра - 0000000Сhex/12dec) Контроллер "успешно" выдаёт ошибку чтения. Т.е. ответ ему не нравится. Подключаю устройство к виртуальной Master-машине Modbus на компе - всё нормально. Более того: генерирую ответ виртуальным Slave-устройством - ответ такой же! И он тоже не распознаётся сегнетиксом. Регистры другого типа (float, 16bit int) - читаются нормально (т.е. с сетью и портами проблем нет). В чём прикол? |
11.10.2016, 09:30 | #2 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 102
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Косяк при чтении Long по Modbus-у?
Цитата:
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|