К ПЛК 110-60 по RS485 подключено 2 модуля МВ110-8АС и 3 модуля МК110-4К.4Р, опрос производится с помощью библиотеки ОВЕН ModBus. Настройки соединения 115200, 8, N, 1.
Принцип опроса, взят из раздела "Примеры и полезности".
А теперь, собственно, к сути проблемы. Стоит задача ,МАКСИМАЛЬНО БЫСТРО, опросить вышеперечисленные модули УСО. Модули МВ110-8АС опрашиваются групповым запросом ,начиная с 264 регистра колличеством 24 регистра. Оба аналоговых модуля ,по части связи, работают хорошо, из тестовых 40000 запросов, ни одной ошибки.
А вот с МК110-4К.4Р происходит какаято ерунда, первый , в очереди опроса, из трех модулей практически никогда не отвечает, второй работает почти хорошо, а третий отвечает примерно в два раза чаще чем первый.
При это если опрашивать каждый модуль по отдельности, то все три модуля прекрасно отвечают на все посланные запросы.
В результате множественных эксперементов и набюдений, было установленно, что если где-то за 50мс перед опросом ,любого модуля МВ110-4К.4Р, в сети происходила какаято передача данны не адресованная ему, то он некоторое время игнорирует адресованные ему запросы. Причем дело не в таймауте а именно в игнорировании запроса.
Вобщем последовательность действий такова:
1. ПЛК посылает запрос первому МВ110-8АС, сразу получает ответ, радуется.
2. Порадовался ответу от первого, посылает запрос второму, сразу получает ответ от второго, радуется.
3. Порадовался ответу от второго, посылает запрос первому МК110-4К.4Р, и тут начинаются проблемы. Так как непосредственно перед его опросом без задержки в 50мс, происходила передача данных между ПЛК и вторым модулем МВ110-8АС, то он игнорирует запрос адресованый ему.
Следует заметить, какой таймаут не устанавливай, ответа все равно уже не будет. А вот если после опроса второго модуля МВ110-8АС подождать 50мс, то он отвечает мгновенно.
4. Так как первый модуль МК110-4К.4Р проигнорировал запрос ПЛК, функциональный блок "MB_RD_HOLD_REGS" начинает ожидание ответа и отсчет времени ТаймАута. Таким образом в сети получается "Тишина" на время ТаймАута.
5. ПЛК подождал таймаут, огорчился, и перешол к опросу второго МК110-4К.4Р, и так как перед его опросом, в сети получилась столь необходимая пауза, то он почти всегда отвечает.
Вот такая неприятность.
Какие будут советы?
Спасибо!