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

OPC UA


Автор Повідомлення
Повідомлення створено: 31. 01. 2014 [19:25]
rxs5
Дмитрий Лыков
In tech support
Зареєстрован(а) с: 06.11.2013
Повідомлення: 205
"roman" wrote:

"rxs5" wrote:

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

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

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

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

Learn, learn and learn better than work, work and work.
Повідомлення створено: 02. 02. 2014 [11:30]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
"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.
Повідомлення створено: 03. 02. 2014 [08:48]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
"roman" wrote:

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

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

Learn, learn and learn better than work, work and work.
Повідомлення створено: 04. 02. 2014 [15:19]
rxs5
Дмитрий Лыков
In tech support
Зареєстрован(а) с: 06.11.2013
Повідомлення: 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

[Повідомлення редагувалось 1 раз(ів), останній раз 04.02.2014 в 17:31.]
Повідомлення створено: 04. 02. 2014 [18:17]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
"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.
Повідомлення створено: 10. 02. 2014 [16:38]
rxs5
Дмитрий Лыков
In tech support
Зареєстрован(а) с: 06.11.2013
Повідомлення: 205
"roman" wrote:

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

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

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

Learn, learn and learn better than work, work and work.
Повідомлення створено: 05. 03. 2014 [11:46]
fido_max
Maxim Kochetkov
Contributor
Зареєстрован(а) с: 28.10.2010
Повідомлення: 129
А можно поподробнее как подключить IWS к OpenSCADA через OPC UA?
А то у меня такая проблема:
Сервер вроде видит, подключается, браузер даже что-то показывет, но при попытке открыть узел DAQ IWS повисает. если тормознуть транспорт, то OpenSCADA падает в сегфолт, а IWS показывает только блочный вычислитель. Другие клиенты сразу же вышибают OpenSCADA в сегфолт.
В двух словах опишите последовательность действий (особенно про безопасность и сертификаты)
Повідомлення створено: 05. 03. 2014 [12:12]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
"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.



5234