0
На рассмотрении

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

Виктор 3 недели назад в Монитор обновлен СИМП Лайт (тех поддержка) 2 недели назад 21

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

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

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

На рассмотрении

День добрый.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

День добрый.

Подскажите какая версия (цифры) была установлена у Вас?

Программа проработала полтора суток, и опять модбас остановился. 

День добрый.

На почту выслали файл для теста.

Да, увидел уже, спасибо.

Установил обновленную версию Симплайта. Система проработала выходные без зависаний.

Но есть другая проблемка - за выходные примерно на сутки пропадала связь с двумя устройствами. А, когда связь восстановилась (часов 8 уже прошло) - система не видит их. После перезапуска скады все подцепилось и работает.

Еще раз параметры связи - таймаут 5000, повторы при ошибке 2, повторное соединение 60.

День добрый.

По логам не смотрели, по устройствам которые отвалились были запросы на подключение?

Нет, не смотрели.

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

Если логи сохраняются, где-то в папках, могу посмотреть.

нет, лог надо предварительно включить. Если будет возможность снимите лог обмена.

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

Без лога программа работает. Правда тоже перезагружается иногда watchdogом (когда через двое суток, когда через 5 часов). Но, главное, что данные по модбасу всегда актуальные.

Возможно, дело в самом компьютере - там установлено куча всего, и он не первой свежести. Пока, для наших нужд, такое поведение (имеется в виду периодическая перезагрузка) приемлемо.

Сервис поддержки клиентов работает на платформе UserEcho