В процессе пуско-наладочных работ, при настройке и отладке обмена данными между технологическими контроллерами и контроллерами компрессорных установок выявлены недостатки в реализации способа обмена по протоколу ModbusRTU в программе МикроМРВ (Trace Mode), версия 5.11. Проблема заключается в неэффективности организации опроса контроллеров по протоколу Modbus. Точнее, в одном объекте описаны каналы подтипа MODBUS и одинаковым дополнением к подтипу (например Rin Word(4)) с непрерывным диапазоном номеров переменных (адресов регистров удаленного контроллера). При пересчете канала, первого в диапазоне адресов, отправляется пакет с запросом значений регистров начиная с текущего и количеством регистров равным количеству каналов из описанного выше диапазона. Вроде бы на этом и должен закончиться запрос значений данных каналов (как это, вроде бы, реализовано в подтипе DCS дополнение Ai8), но при пересчете следующего канала, второго в диапазоне адресов, отправляется пакет с запросом значений регистров начиная с текущего и количеством регистров равным количеству каналов из описанного выше диапазона уменьшенным на 1 (один). И т.д., при пересчете последнего канала в диапазоне адресов, отправляется пакет с запросом одного значения регистра текущего канала. Данный способ существенно увеличивает загрузку канала обмена данными. А также, существенно увеличивается время пересчета базы каналов контроллера. Соответственно это влияет на обмен данными с другими типами контроллеров (в данном случае УСО серии I7000 ICP CON). Большинство каналов, связанных с COM-портами, часто имеют признак недостоверности. Все это влияет на быстродействие реакции системы АСУ ТП на изменения состояния сигналов объекта. И еще, при таком способе опроса первый канал из диапазона, а то и несколько, практически никогда не изменяются вообще, хотя ответы на запросы контроллер получает практически всегда. Возможно, это связано не со способом опроса, не знаю. Подбор параметров период канала и таймаут ответа, ничего существенного не дал. Не понятно, связан ли период канала, с периодом опроса регистра удаленного контроллера для данного канала.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Ситуация, когда сервер формирует групповой запрос с постепенным уменьшением каналов в группе возникает в случае, когда на предыдущий групповой запрос был получен ошибочный ответ. При этом по тем каналам, которые выкидываются из группы на слудующей транзакции возникает 1 на атрибуте Достоверность? Если это так - то необходимо разбираться с качеством линии связи. Кроме того - рекомендую Вам обновить релиз 5.11 до 5.15 - там были исправления, в том числе и в ModBus'е.