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.]
Вкладений файл
|
Повідомлення створено: 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.
|
|
|