Всем доброго утра! Давно я сюда не писал, но тут решил заняться переделками в IoB и столкнулся с глюком. Суть следующая. Имеем некий девайс с modbus RTU. Живет он у меня давно и раньше работал так... его регистры опрашивал специфический китайский девайс, формировал собственные регистры, которые отдавал в modbus драйвер в IoB по ТСP. Вообщем-то работало, но была одна проблема - в такой схеме holding регистры не записывались. Вообщем-то это не очень и нужно, но все же изредка необходимость возникала. И решил я переделать... Перенести опрос на шлюз RTU-TCP, к которому и подключил интересующий меня девайс. Ну и обычно... создал драйвер, прописал регистры... и нифига. Не работает. Путем долгих исследований выяснил, что проблема возникает из-за конфликта отдельных регистров друг с другом (а их там много). Причем как с input, так и с holding. Ошибка адреса. Регистр не видит. Если некоторую часть удалить из опроса - все работает. Ну можно предположить, что где-то ошибся с адресами. Но нет. Если создать еще один modbus драйвер в IoB и засунуть все, что удалено из первого, во второй - он работает также нормально. Если в качестве теста опрашивать через Modbus pool - никаких проблем. В принципе можно так и оставить - два драйвера для опроса одного устройства. Но как-то некрасиво... Это похоже недоработка в IoB. Как может конфликтовать внутри одного драйвера опрос нескольких регистров - ума не приложу. Вот такая проблемка...