EnglishУкраїнськаmRussian
Login/New
Topic with many replies

OPC UA


Author Message
Written on: 31. 01. 2014 [19:25]
rxs5
Дмитрий Лыков
In tech support
registered since: 06.11.2013
Posts: 205
"roman" wrote:

"rxs5" wrote:

Отключен это так, как на скриншоте, когда UAExpert не может подключиться из-за ошибки.
Это компьютер, на котором запущен тот самый UAExpert, который должен быть уже отключен.

Ну так к чему комментарий о том, что трафик есть и 10 подключений?
Закройте их всех и сколько станет?
Просто так 10 соединений не появляются, и трафик тоже не просто так идет. Или сервер OPC UA ни причем ?
Written on: 31. 01. 2014 [19:27]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3742
"rxs5" wrote:

Просто так 10 соединений не появляются, и трафик тоже не просто так идет. Или сервер OPC UA ни причем ?

Если клиент их плодит и не закрывает, то не при чём.
Или Вы укажите по какому критерию сервер их должен был закрыть!

Learn, learn and learn better than work, work and work.
Written on: 02. 02. 2014 [11:30]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3742
"roman" wrote:

Да ну. "Calling Republish with sequence number 1536" уже говорит о том, что там проблемы.

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

"roman" wrote:

"Keep alive время ожидания" в транспорте можно таки поставить скажем в 10 секунд, т.е. пока активность будет сокет не закроется, а если активность прекратится то он закроется через 10 секунд.

С этим была проблема в виду асинхронных ответов OPC_UA.
Исправил таймаут по времени и добавил вразумительных описаний по KeepAlive.

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

Learn, learn and learn better than work, work and work.
Written on: 03. 02. 2014 [08:48]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3742
"roman" wrote:

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

Итого 36 часов!

Learn, learn and learn better than work, work and work.
Written on: 04. 02. 2014 [15:19]
rxs5
Дмитрий Лыков
In tech support
registered since: 06.11.2013
Posts: 205
"roman" wrote:

Итого 36 часов!
60 часов тестирования (31.01.2014 21.18 - 03.02.2014 09.00)
1 клиент UAExpert и OPC UA сервер на OpenSCADA.
Ситуация, как и прежде - 10 открытых соединений и 23616 соединений сброшено по лимиту.
Есть полный лог UAExpert и лог Wireshark - достаточно информации для анализа ?
Ссылки в личных сообщениях.
----------
Есть предположение, что причина может быть в включенной по умолчанию опции sack http://tools.ietf.org/search/rfc2883

[This article was edited 1 times, at last 04.02.2014 at 17:31.]
Written on: 04. 02. 2014 [18:17]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3742
"rxs5" wrote:

1 клиент UAExpert и OPC UA сервер на OpenSCADA.
Ситуация, как и прежде - 10 открытых соединений и 23616 соединений сброшено по лимиту.
Есть полный лог UAExpert и лог Wireshark - достаточно информации для анализа ?

Достаточно.
Из обмена видно, что связь достаточно плохая, поэтому идут Republish(в случае потери PublushRespond) от сервера и перепосылка Publish запросов(в случае потери последнего PublishRequest) от клиента.
При перепосылке Publish UAExpert создаёт очередной левый Subscription (CreateSubscriptionReques).
После достижения количества открытых Subscriptions лимита и попытки создания очередного сервер отвечает ошибкой и не освобождает блокировку ресурсов OPC_UA — вот это исправил и позже выгружу.
Далее клиент открывает новое подключение, доходит до OpenSecureChannel, который лочится на ресурсе. Повторяя это 10 раз исчерпывается лимит подключений.

Накопление Subscriptions я не исправлю, поскольку создаёт их клиент и не удаляет, причём явно помнит, что десяток насоздавал уже, поскольку при перепосылке Publish шлёт на КоличествоПодписок+1, в конце там 10 Publish запросов.
Вообще я так подозреваю, что это лок бесплатной версии такой. :)

"rxs5" wrote:

Есть предположение, что причина может быть в включенной по умолчанию опции sack http://tools.ietf.org/search/rfc2883

Вы опять во внутренности самого протокола TCP/IP лезете. :)

Learn, learn and learn better than work, work and work.
Written on: 10. 02. 2014 [16:38]
rxs5
Дмитрий Лыков
In tech support
registered since: 06.11.2013
Posts: 205
"roman" wrote:

Достаточно.
Из обмена видно, что связь достаточно плохая, поэтому идут Republish(в случае потери PublushRespond) от сервера и перепосылка Publish запросов(в случае потери последнего PublishRequest) от клиента.
При перепосылке Publish UAExpert создаёт очередной левый Subscription (CreateSubscriptionReques).
После достижения количества открытых Subscriptions лимита и попытки создания очередного сервер отвечает ошибкой и не освобождает блокировку ресурсов OPC_UA — вот это исправил и позже выгружу.
Далее клиент открывает новое подключение, доходит до OpenSecureChannel, который лочится на ресурсе. Повторяя это 10 раз исчерпывается лимит подключений.
На сборке 2047 пробег 100 часов, отключения клиентов не происходит. Одновременно подключены 2 клиента: UAExpert и IWS.
Written on: 11. 02. 2014 [11:15]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3742
"rxs5" wrote:

На сборке 2047 пробег 100 часов, отключения клиентов не происходит. Одновременно подключены 2 клиента: UAExpert и IWS.

OK, только если качество связи не изменилось то количество подписок он исчерпал, а работает поскольку основная подписка с данными остаётся в числе открытых.

Learn, learn and learn better than work, work and work.
Written on: 05. 03. 2014 [11:46]
fido_max
Maxim Kochetkov
Contributor
registered since: 28.10.2010
Posts: 129
А можно поподробнее как подключить IWS к OpenSCADA через OPC UA?
А то у меня такая проблема:
Сервер вроде видит, подключается, браузер даже что-то показывет, но при попытке открыть узел DAQ IWS повисает. если тормознуть транспорт, то OpenSCADA падает в сегфолт, а IWS показывает только блочный вычислитель. Другие клиенты сразу же вышибают OpenSCADA в сегфолт.
В двух словах опишите последовательность действий (особенно про безопасность и сертификаты)
Written on: 05. 03. 2014 [12:12]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3742
"fido_max" wrote:

А то у меня такая проблема:
Сервер вроде видит, подключается, браузер даже что-то показывет, но при попытке открыть узел DAQ IWS повисает. если тормознуть транспорт, то OpenSCADA падает в сегфолт, а IWS показывает только блочный вычислитель. Другие клиенты сразу же вышибают OpenSCADA в сегфолт.
В двух словах опишите последовательность действий (особенно про безопасность и сертификаты)

Если это Рабочая версия OpenSCADA то слать отчёт о падении, а если 0.8 LTS, то ждать обновления, хотя полноценного OPC UA тут не будет, точнее без поддержки Publish.

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



15110