Для чистоты эксперимента исключил из работы все задачи, кроме обмена по Modbus RTU, в результате максимальное время цикла 302 мкс, среднее 33 мкс, максимальный джиттер 203 мкс. В данной конфигурации время цикла обмена с модулями чуть уменьшилось до ~140мс. При задании tTimeout функции обмена меньше 15мс начинают появляться ошибки, что соответствует ~160мс/10модулей. Евгений, у вас есть возможность в лабораторных условиях проверить время задержки ответа от модулей МВ110-32ДН?
Попробовал использовать функцию IoDrvModbus.ModbusRequest2, но результат стал только хуже - начали сыпать ошибки UNDEFINED (The request’s result is undefined or not yet known, e.g. initial state). Изменение параметра uiSendTimeout (в диапазоне 0-100) на количество ошибок особо не повлияло. Возможно я неправильно использую эту функцию (мой код во вложении).




Ответить с цитированием
