УкраїнськаEnglishmRussian
Вхід/Новий
У темі багато повідомлень

Indusoft WEB Studio и OPC UA


Автор Повідомлення
Повідомлення створено: 09. 12. 2013 [15:06]
rxs5
Дмитрий Лыков
In tech support
Автор теми
Зареєстрован(а) с: 06.11.2013
Повідомлення: 205
"rxs5" wrote:

Проверил, есть данные в IWS (проверял int, float). Роман, спасибо за оперативные изменения.

Вернул обратно значение параметров KeepAlive, данные, все равно отображаются.
Повідомлення створено: 09. 12. 2013 [15:42]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
"rxs5" wrote:

Проверил, есть данные в IWS (проверял int, float). Роман, спасибо за оперативные изменения.

Пожалуйста, и Вам спасибо за возможность с реальным клиентом проверить, а не только на "кошках". :)

"rxs5" wrote:

Правда клиент OPC UA в IWS все равно дает ошибки
OPC UA Client: Error: Group 1 => Item 1 received a dataChange with status 0x80d2000.
OPC UA Client: Error: Group 1 => Item 2 received a dataChange with status 0x80d2000.

Но это, видимо, к разработчику IWS.

Да, наверное, поскольку в сеансе обмена причин этому не видно да и код ошибки неизвестен.

"rxs5" wrote:

У вас остались еще какие-то задачи по OPC UA (серверная часть) ?

Хватает:
- разделить объект "EndPoint на явно выраженные "Discovery" и "Data" типы, чтобы "Discovery" можно было отдельно описать;
- автоматическое создание и конфигурация входящего транспорта из настроек EndPoint;
- перечитать спецификацию и привести отдельные моменты реализации в соответствие;
- добавить поддержку аутентификации.

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

"rxs5" wrote:

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

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

Learn, learn and learn better than work, work and work.
Повідомлення створено: 10. 12. 2013 [16:21]
rxs5
Дмитрий Лыков
In tech support
Автор теми
Зареєстрован(а) с: 06.11.2013
Повідомлення: 205
Здравствуйте, Роман. Хочу проконсультироваться по работе модуля OPC UA в OpenSCADA.
Оставил вчера работающий сервер OPC UA в OpenSCADA c 3-мя подключенными клиентами (при мне работал несколько часов).
Сегодня увидел, что данные не отображаются в клиентах. Когда зашел в настройки Transport-Input-OPC UA, то обратил внимание на более чем 30000 connections. Скриншот во вложении. Интересно, откуда появляется такое число соединений.

"roman" wrote:

Добавлю отладочных сообщений в модуль DAQ.OPC_UA тогда включите отладку и поглядите, почему не идут Publish ответы.

Если возможно, добавьте, пожалуйста, отладочные сообщения в DAQ.OPC_UA. Чтобы на этапе тестирования можно было по максимуму понять, что происходит.

[Повідомлення редагувалось 1 раз(ів), останній раз 10.12.2013 в 16:22.]
Вкладений файл

opcua_input_transport.png (Тип файлу: image/png, Розмір: 101.04 кілобайтів) — 540 завантажень
Повідомлення створено: 10. 12. 2013 [16:40]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
"rxs5" wrote:

Оставил вчера работающий сервер OPC UA в OpenSCADA c 3-мя подключенными клиентами (при мне работал несколько часов).
Сегодня увидел, что данные не отображаются в клиентах. Когда зашел в настройки Transport-Input-OPC UA, то обратил внимание на более чем 30000 connections. Скриншот во вложении. Интересно, откуда появляется такое число соединений.

Клиент задолбал, наверно.
Само по себе это количество не проблема и просто отражает количетво подключений/отключений клиента. Если клиент сам этого не делает то это как раз и делает KeepAlive, почему и желательно их в ноль поставить.

В этот момент можно запустить Wireshark и поглядеть, что там происходит.

"rxs5" wrote:

"roman" wrote:

Добавлю отладочных сообщений в модуль DAQ.OPC_UA тогда включите отладку и поглядите, почему не идут Publish ответы.

Если возможно, добавьте, пожалуйста, отладочные сообщения в DAQ.OPC_UA. Чтобы на этапе тестирования можно было по максимуму понять, что происходит.

Вообще они там и есть, хотя не совсем полезны были конкретно для Publish.

Learn, learn and learn better than work, work and work.
Повідомлення створено: 10. 12. 2013 [16:57]
rxs5
Дмитрий Лыков
In tech support
Автор теми
Зареєстрован(а) с: 06.11.2013
Повідомлення: 205
"roman" wrote:

Клиент задолбал, наверно.
Само по себе это количество не проблема и просто отражает количетво подключений/отключений клиента. Если клиент сам этого не делает то это как раз и делает KeepAlive, почему и желательно их в ноль поставить.

В этот момент можно запустить Wireshark и поглядеть, что там происходит.

Странно, т.к. KeepAlive установлен был в 0, на скриншоте это видно.
Сейчас, при уже не считываемых данных по OPC UA, все равно продолжается рост числа подключений/отключений и их число перешло за 35000.
Посоветуйте, где искать причину постоянных подключений/отключений ?
И непонятно, что стало с данными, в какую сторону смотреть.

[Повідомлення редагувалось 1 раз(ів), останній раз 10.12.2013 в 16:58.]
Повідомлення створено: 10. 12. 2013 [18:00]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
"rxs5" wrote:

Странно, т.к. KeepAlive установлен был в 0, на скриншоте это видно.

Значит клиент рвёт.

"rxs5" wrote:

Сейчас, при уже не считываемых данных по OPC UA, все равно продолжается рост числа подключений/отключений и их число перешло за 35000.
Посоветуйте, где искать причину постоянных подключений/отключений ?
И непонятно, что стало с данными, в какую сторону смотреть.

Я же Вам говорил в предыдущем сообщении — "Запишите текущий трафик и вышлите".

Learn, learn and learn better than work, work and work.
Повідомлення створено: 11. 12. 2013 [10:35]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
"rxs5" wrote:

Сейчас, при уже не считываемых данных по OPC UA, все равно продолжается рост числа подключений/отключений и их число перешло за 35000.
Посоветуйте, где искать причину постоянных подключений/отключений ?
И непонятно, что стало с данными, в какую сторону смотреть.

Похоже это необработка Renewal для канала безопасности, при которой старые ответы Publish не проходят.
Поправил и на UAExpert более двух часов проработало, при том, что там таймаут продления составляет 1 час, а запрос на продления приходит через 0.75 от этого времени.

P.S. По ходу обнаружил, что UAExpert некорректно такое обрабатывает, а именно крышится примерно через пол часа после полного пересоздания соединения, а также зависает при получении не совсем правильной ошибки аутентификации.

Learn, learn and learn better than work, work and work.
Повідомлення створено: 11. 12. 2013 [18:34]
rxs5
Дмитрий Лыков
In tech support
Автор теми
Зареєстрован(а) с: 06.11.2013
Повідомлення: 205
Здравствуйте, Роман. Есть новая информация. Сегодня снова тестировал связку OPC UA клиент в составе IWS + OPC UA сервер в составе OpenSCADA.
Число соединений все время было 1, открытых 1. (В том случае, когда был рост числа соединений за 30000 были и другие клиенты, не только IWS).
Сегодня увидел следующие ошибки.
Лог в IWS
OPC UA Client: Info: Connection established successfully to the server oscada_opcua. [12/11/2013, 18:01:22.401ms]
OPC UA Client: Error: Group 1 => Fail to republish. : 'Bad - Message Not Available' (Error: 0x807B0000) [12/11/2013, 19:01:28.747ms]
OPC UA Client: Error: Group 1 => Item 1 received a dataChange with status 0x80d2000. [12/11/2013, 19:53:48.133ms]
OPC UA Client: Error: Group 1 => Item 2 received a dataChange with status 0x80d2000. [12/11/2013, 19:53:48.133ms]
Также параллельно записывал дамп в wireshark. Ссылка на него в личном сообщении.
Сможете что-то сказать по ошибкам по анализу дампа в wireshark ?
Повідомлення створено: 11. 12. 2013 [19:06]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
"rxs5" wrote:

Сегодня увидел следующие ошибки.
Лог в IWS
OPC UA Client: Info: Connection established successfully to the server oscada_opcua. [12/11/2013, 18:01:22.401ms]
OPC UA Client: Error: Group 1 => Fail to republish. : 'Bad - Message Not Available' (Error: 0x807B0000) [12/11/2013, 19:01:28.747ms]
OPC UA Client: Error: Group 1 => Item 1 received a dataChange with status 0x80d2000. [12/11/2013, 19:53:48.133ms]
OPC UA Client: Error: Group 1 => Item 2 received a dataChange with status 0x80d2000. [12/11/2013, 19:53:48.133ms]
Также параллельно записывал дамп в wireshark. Ссылка на него в личном сообщении.
Сможете что-то сказать по ошибкам по анализу дампа в wireshark ?

Republish я не реализовывал ещё, о чём ранее писал. Кроме того этих запросов в дампе не видать, позже включили или рано выключили наверное.

По поводу дампа вообще, то складывается впечатление, что источник данных "System" в вашей конфигурации OpenSCADA работает с большим периодом (похоже 10 секунд), следствием чего является KeepAlive Publish ответы через раз с нормальными. У меня такого, с периодом 1 секунда на UAExpert нет.

А в конце клиент вообще на 45 секунд заснул и только после прислал Publish запрос.

Learn, learn and learn better than work, work and work.
Повідомлення створено: 12. 12. 2013 [08:09]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
"roman" wrote:

Republish я не реализовывал ещё, о чём ранее писал. Кроме того этих запросов в дампе не видать, позже включили или рано выключили наверное.

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

Просьба записать сеанс клиента UAExpert и иного сервера с парой живых данных, для сопоставления.

Learn, learn and learn better than work, work and work.



21003