Форум : Программное обеспечениеНазвание : Передача данных по modbus © NegaSoft co., 2005 http://www.teplovizor.ru
URL этой темы
http://www.teplovizor.ru/forum/viewtopic.php?topic_id=771&forum=2
|
kalin_a : |
20.10.22 13:07 |
Добрый день, можете подсказать по передаче данных с ВИС.Та modbus: Для получения следующих данных: тип прибора, версии ПО, заводского номера, отправляется запрос вида FF 03 00 02 00 20 F0 0C. В этом запросе передаётся начальный адрес 00 02. В описании modbus на ВИС.Т перечисленные данные располагаются по адресу 00 04. Почему в запросе отличается начальный адрес?
Смещения на несколько байтов замечены и в ряде других запросов и мы никак не можешь понять причину такого поведения и где мы ошибаемся.
Вот немного разобранный пример проблемы: Столкнулись с тем, что в некоторых запросах, адресация регистров не соответствует описанию протокола.
Запрос: FF 03 00 02 00 20 F0 0C Здесь FF - адрес ID 03 - функция чтения регистров 00 - начальный адрес (старший байт) 02 - начальный адрес (младший байт) 00 20 - количество запрашиваемых байт F0 0C - сумма crc Ответ от ВИС.Т 01 03 40 ....данные
Отправляется запрос, а в ответ получает следующие данные: тип прибора, версию ПО, заводской номер. В описании протокола modbus на ВИС.Т начальный адрес ячейки с запрашиваемыми данными должен быть 00 04, а в запросе передаёт адрес 00 02 смещение на 2 байта." | |
|
xBocT : |
20.10.22 14:20 |
Вы путате "адрес в регистрах" и "смещение в байтах" получаемых структур.
В Документации "ВИС.Т-HC протокол MODBUS" указано, функцией 0x03 (Read holding registers) по Адресу 0x0000 (это адрес регистра!) можно получить "Структуру общих спецификаций прибора". Регистры в MODBUS имеют размер 16-битного слова, т.е. 2 байта... Т.е. если надо вычитать 99 байт "Структуры общих спецификаций прибора", то надо прочитать 50 регистров начиная с адреса 0х0000, и уже в полученных данных "отсчитывать" указанные для определенных параметров теплосчетчика смещения. | |
|
2kon : |
20.10.22 22:50 |
Очень, очень рекомендую вопрошающему внимательно ознакомиться с описанием протокола "Modbus" приборов ВИС.T-HC. И не использовать адрес 255 для обращения к устройству, иначе ваш вопрос с использованием этого адреса выглядит провокационно, если не сказать больше - издевательским. | |
|
|