ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
25 марта
1505364 Топик полностью
Nikolay_Po (12.03.2025 10:14, просмотров: 116) ответил LordN на нет обычный RS485 с modbus rtu
В таком случае я подобное проходил. Оказалось, что клиент умеет запрашивать непересекающиеся диапазоны регистров, с зазорами. А мой сервер не умел, умел только по одному диапазону параметров за раз. Два разных диапазона, даже смежных, не мог. 

В итоге, переписал часть, отвечающую за разбор диапазона запрошенных адресов так, чтобы она принимала любой диапазон с валидным адресом начала и отдавала все валидные регистры и зануляя данные по невалидным адресам. Заработало отлично - рассчитали максимальный размер зазора между блоками регистров, при котором ещё обеспечивается выгода по занятию шины. Настроили, проверили - работает.

Но это был наш сервер. Другие серверы могут не отрабатывать несколько диапазонов за раз. К примеру, то же самое устройство, которое клиентом опрашивает пачку диапазонов регистров за раз, может работать модбас-сервером. Но как модбас-сервер, оно отказывается отдавать даже два смежных диапазона на один запрос.