Сообщение от
saper117
Тем временем я попытался залезть в тему поглубже. Если я правильно понял принцип работы "драйверов модулей", то они делают именно что групповой опрос всех оперативных параметров модуля. Я же, описывая через стандартное устройство МВ110-32ДН со сдвигом 0x0063 и длиной 2, опрашивал только битовую маску значений входов. В то время как у данного модуля есть ещё регистры значений счётчиков до 0х0084 включительно. Поэтому я смоделировал следующую ситуацию:
Всё так же дано 3 устройства: СПК107, МВ110-32ДН, МВ110-2АС.
И в этот раз я опрашиваю уже все оперативные параметры обоих модулей согласно их РЭ.
Вариант 4.
МВ110-32ДН описан как стандартное устройство модбас (сдвиг 0x0063, длина 34) - работает корректно.
МВ110-2АС описан как стандартное устройство модбас (сдвиг 0x0100, длина 14) - горит индикатор "авария", связи нет.
И вариант 5 после последовательного отсечения крайних регистров.
МВ110-32ДН описан как стандартное устройство модбас (сдвиг 0x0063, длина 29) - работает корректно.
МВ110-2АС описан как стандартное устройство модбас (сдвиг 0x0100, длина 14) - работает корректно.
То есть при попытке прочитать любой из последних пяти счётчиков МВ110-32ДН, неизбежно отваливается МВ110-2АС. Я бы предположил, что у меня неисправный МВ110-32ДН, но у меня их два (второй на объекте) и оба ведут себя похожим образом. А так как "драйверы модулей" опрашивают все оперативные параметры приборов, то происходит описанная мною проблема, которую, как оказалось можно повторить и при использовании стандартных устройств модбас. Я надеюсь это поможет в решении проблемы. Быть может дело в моих кривых руках, я даже не знаю уже. Если нужны какие-либо другие данные, предоставлю.