Форум : Программное обеспечение

Название : Передача данных по modbus

 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 для обращения к устройству, иначе ваш вопрос с использованием этого адреса выглядит провокационно, если не сказать больше - издевательским.

© NegaSoft co., 2005
http://www.teplovizor.ru

URL этой темы
http://www.teplovizor.ru/forum/viewtopic.php?topic_id=771&forum=2