Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: Нет подключения к Wago OPCUA при перезапуске OPC UA в процессе работы  (Прочитано 6319 раз)

Eugene_

  • Пользователь
  • **
  • Сообщений: 97
    • Просмотр профиля
Есть связка:
- wago контроллер в режиме OPC UA, Security Policy - none/Basic128Rsa15/Basic256Sha256 режим "sign and encrypt";
- Simple Scada 2.6.9.0 и 2.10.13.0;
Если первым запустить контроллер, а затем SCADA - все ок. Но если потом, уже при ранее установленном и действующем соединении перезагрузить контроллер - SCADA подключается с ошибкой. Судя по логу - непосредственно соединение с OPC UA сервером происходит, но подписки корректно не восстанавливаются, значения тегов  - Bad.
Проверено на двух релизах SCADA, проверены режим и none и Basic128Rsa15, в некоторых случаях - 1 из 10 перезагрузок контроллера чтение тегов все таки восстанавливается, при этом в логе сервера ошибка все еще фиксируется.

Возможно  в данной ситуации такой сценарий (это не точно, но на программном ОРС такое можно сделать) - контроллер восстанавливает непосредственно  сетевой стек быстро, но namespace в нем в OPC UA сервере заполняется с задержкой. Таким образом при рестарте ПЛК SCADA видит открытый порт, успешно подключается, делает запрос подписок - а namespace еще пустой. Так как непосредственно факт успешного подключения уже есть - закрытия и открытия сессии со стороны SCADA не происходит. Возможно имеет смысл сделать перезапуск всего подключения со стороны SCADA если ни на один из опрашиваемых тегов не удалось подписаться.

Во вложении успешная и неуспешная попытка подключения к ПЛК при его перезагрузке.

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3226
    • Просмотр профиля
    • Simple-Scada
Здравствуйте.

Повторите проблему с версией 2.6.13.0 (желательно в режиме None) по шагам:
1. Сначала импортируйте с UA-сервера переменную "Server -> ServerStatus -> State". Разместите поле на мнемосхеме и привяжите его к этой переменной;
2. Запустите проект. Когда проблема возникнет, подождите минимум две минуты и убедитесь, что связь и подписки не восстановились. Запомните и напишите нам, какое значение у переменной State отображается в поле;
3. Затем откройте окно сервера скады и перейдите в раздел OPC-серверы. Найдите проблемный UA-сервер в списке и кликните по нему (он должен подсветиться зелёным цветом);
4. Завершите работу сервера скады и вышлите нам на support@simple-scada.com лог файл "Server-log.txt" из папки "Logs\" для проверки.

Цитировать
Возможно имеет смысл сделать перезапуск всего подключения со стороны SCADA если ни на один из опрашиваемых тегов не удалось подписаться.
Судя по скринам во всех случаях удалось успешно подписаться на все переменные, иначе сообщение "ua start subscription..." не выдавалось бы. Похоже проблема в состоянии самого сервера (как будто он находится в состоянии "остановлен", либо "в процессе запуска", но не запущен полностью.
« Изменён: 20 Августа 2024, 20:36:58 от Simple-Scada »

Eugene_

  • Пользователь
  • **
  • Сообщений: 97
    • Просмотр профиля
выполнил, для  2.6.13.0 для двух настроек безопасности - none и Basic128Rca15.
Скриншоты успешного подключения (n и rca) в хронологическом порядке. В случае Basic128Rca15 в одной из итераций была ошибка подключения и чтение тега не восстановилось, но в логах этот момент (сравнивая успешное и нет подключение) - виден. Тесты проводил путем перезагрузки контроллера из его web-интерфейса.

логи отправил на почту.
« Изменён: 22 Августа 2024, 15:49:17 от Simple-Scada »

Eugene_

  • Пользователь
  • **
  • Сообщений: 97
    • Просмотр профиля
вот пример не успешной попытки подключения - чтение тегов не восстановилось через несколько минут.

P.S: в самом имени проекта опечатка, не существенно, только сейчас заметил
« Изменён: 22 Августа 2024, 15:48:28 от Simple-Scada »

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3226
    • Просмотр профиля
    • Simple-Scada
В переписке по почте с помощью подробных логов выявили причину проблемы с восстановлением переменных, которые отсутствуют в конфигурации UA-сервера во время подключения. Проблема воспроизводится только в том случае, если первое подключение было успешным (и прошло некоторое время) + во время переподключения для переменной UA-сервер вернул ошибку BadNodeIdUnknown + во время повторного добавления вернул её же с плохим качеством. Эта последовательность могла приводить к тому, что повторные ежеминутные попытки добавить переменную в подписку полностью прекращались до перезапуска проекта на сервере скады.

UPD: добавили исправление в обновление 2.6.14.0
« Изменён: 29 Августа 2024, 10:48:34 от Simple-Scada »