Українська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
Сообщения: 3742
"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
Сообщения: 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.
Сообщение создано: 03. 02. 2014 [08:48]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3742
"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
Сообщения: 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.
Сообщение создано: 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
Сообщения: 3742
"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
Сообщения: 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.



6013