1. У меня есть устройство отвечающее на команду Rin_Word(4) по протоколу ModBus RTU. Диапазон внутренних данных устройства от 1-10. Создаю компоненты Rin_Word(4)#1 - Rin_Word(4)#10 в терминале вижу, что первый запрос это весь диапазон данных, в следующем запросе увеличивается номер данных и уменьшается диапазон и так до последнего номера потом все снова. Как сделать запрос только на весь диапазон? 2. Еще одна проблема при опросе к устройству командой Rin_Byte(2) #1 в ModBus RTU количество запрашиваемых значений всегда равное 8 и никак меньше. Как регулировать диапазон запрашиваемых значений?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
1) При групповом запросе - если ответа от устройства нет, из запроса убирается первый канал и запрос повторяется, но уже на 1 элемент меньше. И так до тех пор, пока не останется 1 последний элемент из группы, или устройство не ответит.
2) А он всегда будет равен минимум 8 битовым регистрам (Coils), на то он и байт.
Posted by DEA (Участник № / Member № 1572) on :
А если в устройстве допустим 3(Coils - Rout_Byte(1)) или 5 (Discrete Inputs - Rin_Byte(2)) то по протоколу ModBus устройство ответит ошибка диапазона.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
В рамках 6-й версии это сделать пока никак нельзя. Внесли в базу на улучшение, чтобы как в 5-й версии размерность канала в битах определяла количество бит в запросе к устройству.