Зависает опрос по модбасу.

Avatar
  • обновлен
  • Отвечен

В проекте используется Modbus ТСР (примерно 1500 каналов), ОРС UA (50 каналов), OPC DA (20 каналов) и виртуальные каналы (около 300 каналов). Будет каналов еще раза в два больше.

Примерно через сутки работы монитора прекращается опрос по модбасу. Интерфейс пользователя продолжает работать (мнемосхемы открываются), ОРС продолжает работать. Watchdog не срабатывает. При попытке закрыть монитор очень долго (больше часа) висит окошко "Завершение работы", приходится выключать монитор через диспетчер задач.

Версия симплайта 4.7.8.101 Enterprise.

Avatar
СИМП Лайт (тех поддержка)
  • На рассмотрении

День добрый.

Когда стало проявляется такое поведение? Связь с устройствами modbus стабильно? Все устройства которые добавлены в проект онлайн?

Avatar
Виктор

Проект работает месяца три, постоянно обновляясь - добавляются новые устройства. Такое поведение замечали раз пять уже за последнее время, но то забывали проверить работу ОРС, то просто перезагружали. В общем не мог собрать полную картину, как проявляется проблема.

Связь с устройствами нестабильная, постоянно кто-то отваливается, кто-то появляется - устройства в глуши расположены и сеть через роутеры ростелекомовские организована. 

Отсутствие текущих данных для проекта не очень критично. Для индикации оператору отсутствия прибора в сети используется системный тег "Состояние". НО важно знать, что данных именно НЕТ. Ситуация, когда данные показываются, но они как бы "замороженные", суточной давности, недопустима.

Avatar
Цитата от Виктор

Проект работает месяца три, постоянно обновляясь - добавляются новые устройства. Такое поведение замечали раз пять уже за последнее время, но то забывали проверить работу ОРС, то просто перезагружали. В общем не мог собрать полную картину, как проявляется проблема.

Связь с устройствами нестабильная, постоянно кто-то отваливается, кто-то появляется - устройства в глуши расположены и сеть через роутеры ростелекомовские организована. 

Отсутствие текущих данных для проекта не очень критично. Для индикации оператору отсутствия прибора в сети используется системный тег "Состояние". НО важно знать, что данных именно НЕТ. Ситуация, когда данные показываются, но они как бы "замороженные", суточной давности, недопустима.

Проект работает месяца три, постоянно обновляясь - добавляются новые устройства. Такое поведение замечали раз пять уже за последнее время, но то забывали проверить работу ОРС, то просто перезагружали. В общем не мог собрать полную картину, как проявляется проблема.
Связь с устройствами нестабильная, постоянно кто-то отваливается, кто-то появляется - устройства в глуши расположены и сеть через роутеры ростелекомовские организована.
Отсутствие текущих данных для проекта не очень критично. Для индикации оператору отсутствия прибора в сети используется системный тег "Состояние". НО важно знать, что данных именно НЕТ. Ситуация, когда данные показываются, но они как бы "замороженные", суточной давности, недопустима.

Если связь с устройствами не стабильна - тогда я бы пересмотрел настройки драйвера, на предмет таймаутов, кол-ва перезапросов при ошибках, и паузы между перезапросами. Т.к. если связь плохая, то "выпавшие" устройства могут тормозить весь опрос, т.к. драйвер будет тратить на них время в попытке достучаться. 

Avatar
Виктор

А какие настройки посоветуете?

Сейчас для всех устройств стоит таймаут 5000мс и нет попыток повтора.

Устройства могут отваливаться на 5 минут, а могут и на неделю.

Avatar
Цитата от Виктор

А какие настройки посоветуете?

Сейчас для всех устройств стоит таймаут 5000мс и нет попыток повтора.

Устройства могут отваливаться на 5 минут, а могут и на неделю.

А интервал опроса какой установлен?

Avatar
Виктор

У всех параметров 1 секунда.

Avatar
Цитата от Виктор

У всех параметров 1 секунда.

Для нестабильной связи слишком малый интервал.

Рекомендации:

1. Увеличить интервал опроса - 3-5 секунд.

2. Таймаут ожидания - секунды на 2 больше интервала опроса.

3. 1-2 перезапроса при ошибке.

4. Повторное соединение - до минуты.

Тем самым разгрузим драйвер при работе с приборами которые отваливаются

Avatar
Виктор

Спасибо, попробую  и понаблюдаю.

По результатам отпишусь.

Avatar
Цитата от Виктор

Спасибо, попробую  и понаблюдаю.

По результатам отпишусь.

ок. договорились.

Avatar
Barbus

Было такое. Скада размером 7-8 тысяч физических тэгов нормально работала с орс-сервером овен, стали добавлять устройства в modbus драйвер, и скада начала вылетать. Чем больше устройств, тем чаще вылетает. Watchdog не помогает, он вроде пытается запустить скаду, но у него не получается. Взяли за правило перезагружать скаду раз в сутки вручную и смотреть, получилось у неё заработать или нет, только так и спасались, но потом она стала вылетать уже несколько раз в сутки.

Опрос через GPRS, таймаут 5000-10000 мсек, минимальный интервал опроса 10 сек, но у основной массы тэгов раз в несколько минут.

Проблему решили покупкой инсатовского орс-сервера и постепенным на него переездом. Сейчас в modbus драйвере осталось примерно 10 устройств, может, там какие-то нехорошие процессы изредка и происходят, но привычка ежесуточной ручной перезагрузки скады осталась, поэтому что-то конкретное сказать не могу.

Обратили внимание, что когда начинаются проблемы, драйвер начинает беспрерывно слать пачки запросов на один и тот же адрес, буквально каждую миллисекунду, это в окне отладочной информации видно.

В общем, трудности именно у драйвера. Неверные таймауты, конечно, помешают получению данных, но они никак не должны вешать программу.