Здравствуйте.
Прошу подсказать решение следующей проблемы.
Имеется контроллер ПЛК100 к которому необходимо подключить по rs485 МДВВ, МВА8, а также оборудование "умного дома" INSYTE по Modbus. Использовать стандартные средства конфигуратора ПЛК не имеет возможности, так как оборудование INSYTE, а именно модули дискретного ввода-вывода R1000 и R1000D, требуют запросы на чтение (функция 02) и запись (05) с точным указанием количества бит, а именно 1 или 2. В конфигураторе ПЛК чтение и запись возможна только по 8 бит сразу. Было принято решение использовать библиотеку Modbus.lib. При опросе с использованием данной библиотеки отдельно одного регистра каждого прибора - все читается и записывается правильно. При опросе регистров по порядку для каждого прибора начинаются проблемы с приемом данных от МДВВ при чтении входной битовой маски и модулей ввода вывода INSYTE R1000 при чтении состояния дискретных входов. Решил для начала разобраться с проблемой для МДВВ. Оставил в опросе только битовые маски на чтение входов (регистр 51) и запись выходов (регистр 50) МДВВ. На входы МДВВ подключены кнопки. Проблема в следующем: при нажатии кнопок иногда на входе МДВВ появляется число 259 (иногда но редко появлялись другие числа), которое не соответствует нажатой кнопке. Из задействованных 7 входов МДВВ данное число чаще всего выпадает при нажатии кнопок соответствующих входам 6 и 7 (32 и 64), с чем это связано не могу понять. Если этот же МДВВ описать в конфигураторе ПЛК то все прекрасно работает. Если же опрашиваю с помощью Modbus.lib только входную битовую маску, то тоже все правильно работает. При записи выходов и чтении входов начинается вышеописанная проблема. Менял таймауты функциональных блоков на чтение и запись modbus, а также задержки между вызовами функциональных блоков - не помогло. Получается что эта проблема связана с использование библиотеки Modbus.lib, возможно я что-то не так делаю в программе при использовании данной библиотеки.
Помогите пожалуйста решить данную проблему.
Проект программы находиться в прикрепленном файле.