Author |
Message |
Written on: 27. 01. 2016 [18:03]
|
roman
Roman Savochenko
Moderator Contributor Developer
registered since: 12.12.2007
Posts: 3750
|
"rxs5" wrote:
Проверил на сборке 2328. Есть позитивные изменения: в браузере тегов отображаются атрибуты.
OK
"rxs5" wrote:
Но данные в браузере не отображаются.
В Wireshark есть сообщения от OPC UA сервера вида
192.168.195.97 192.168.100.217 OpcUa 106 UA Secure Conversation Message: ServiceFault
ServiceResult: 0x80250000 [BadSessionIdInvalid]
Возможно они связаны с отсутствием данных.
Дамп Wireshark во вложении
В первую очередь это связано с использованием "левого" сервиса RegisterNodesRequest .
Добавлять заглушку?
Если добавлять то желательно записать обмен со сторонним сервером, где этот запрос фигурирует.
В дампах обмена с "unified demo" этого запроса я не нашёл, кстати.
Learn, learn and learn better than work, work and work.
|
Written on: 31. 01. 2016 [16:04]
|
roman
Roman Savochenko
Moderator Contributor Developer
registered since: 12.12.2007
Posts: 3750
|
"roman" wrote:
Добавлять заглушку?
Добавил поддержку запросов: RegisterNodesRequest, UnregisterNodesRequest
P.S. Они собственно смысловой нагрузки и не несут, поскольку просто регистрируют некоторые узлы как актуальные у клиента, для некоторой оптимизации производительности в их последующих запросах, на стороне сервера.
Learn, learn and learn better than work, work and work.
|
Written on: 31. 01. 2016 [19:18]
|
rxs5
Дмитрий Лыков
In tech support
Topic creator
registered since: 06.11.2013
Posts: 205
|
"roman" wrote:
Добавлять заглушку?
Если добавлять то желательно записать обмен со сторонним сервером, где этот запрос фигурирует.
В дампах обмена с "unified demo" этого запроса я не нашёл, кстати.
На будущей неделе запишу и пришлю дамп обмена с OPC UA сервером от Inductive Automation.
"roman" wrote:
Добавил поддержку запросов: RegisterNodesRequest, UnregisterNodesRequest
P.S. Они собственно смысловой нагрузки и не несут, поскольку просто регистрируют некоторые узлы как актуальные у клиента, для некоторой оптимизации производительности в их последующих запросах, на стороне сервера.
Спасибо. Проверил на сборке 2329 и не увидел изменений.
Дамп и скриншот клиента OPC UA во вложении. Странно, но дамп обмена по размеру небольшой.
Attachment
|
Written on: 01. 02. 2016 [15:45]
|
roman
Roman Savochenko
Moderator Contributor Developer
registered since: 12.12.2007
Posts: 3750
|
"rxs5" wrote:
Спасибо. Проверил на сборке 2329 и не увидел изменений.
Видимых может и нет, а вот ошибок на предмет RegisterNodesRequest в дампе уже нет.
"rxs5" wrote:
Дамп и скриншот клиента OPC UA во вложении. Странно, но дамп обмена по размеру небольшой.
Нормальный вроде.
Сейчас там ошибка по созданию MinitoredItem, второй раз. Почему, позже повникаю.
Learn, learn and learn better than work, work and work.
|
Written on: 02. 02. 2016 [19:14]
|
rxs5
Дмитрий Лыков
In tech support
Topic creator
registered since: 06.11.2013
Posts: 205
|
"rxs5" wrote:
"roman" wrote:
Добавлять заглушку?
Если добавлять то желательно записать обмен со сторонним сервером, где этот запрос фигурирует.
В дампах обмена с "unified demo" этого запроса я не нашёл, кстати.
На будущей неделе запишу и пришлю дамп обмена с OPC UA сервером от Inductive Automation.
Записал, но запросов RegisterNodesRequest с OPC UA сервера от Inductive Automation не увидел.
Проверил также обмен Unified Demo и тоже этого запроса не увидел.
|
Written on: 02. 02. 2016 [21:29]
|
roman
Roman Savochenko
Moderator Contributor Developer
registered since: 12.12.2007
Posts: 3750
|
"roman" wrote:
Сейчас там ошибка по созданию MinitoredItem, второй раз. Почему, позже повникаю.
Повникал, и в целом там правильно, т.е. после MinitoredItem идёт ответ Publish, единственно, что:
- Около трёх подключений/отключений иногда с парой параллельно.
- OpenSCADA формирует PublishResponse на первый PublishRequest от клиента, после чего клиент PublishRequest запросов не формирует.
- В результате имеется один MinitoredItem на который OpenSCADA отвечает, что подписки нет. А это может быть связанно с отсутствием PublishRequest от клиента.
В результате: клиент тупит, не видит PublishResponse или просто не шлёт PublishRequest.
P.S. Выложите сеанс с публикацией этого клиента и другого сервера!
Learn, learn and learn better than work, work and work.
|
Written on: 04. 02. 2016 [16:15]
|
rxs5
Дмитрий Лыков
In tech support
Topic creator
registered since: 06.11.2013
Posts: 205
|
"roman" wrote:
P.S. Выложите сеанс с публикацией этого клиента и другого сервера!
Сделал такой тест.
Сервер OPC UA от Inductive Automation (в составе Ignition SCADA) версии 7.8.1 (b2016012216).
Дамп во вложении.
К этого сервера клиент WW видит атрибуты при браузинге и отображает значения атрибутов в режиме просмотра.
Attachment
|
Written on: 04. 02. 2016 [16:30]
|
roman
Roman Savochenko
Moderator Contributor Developer
registered since: 12.12.2007
Posts: 3750
|
"rxs5" wrote:
Дамп во вложении.
К этого сервера клиент WW видит атрибуты при браузинге и отображает значения атрибутов в режиме просмотра.
Не знаю кто там чего видит, но в дампе нет ни то что Publish но даже Read/Browse запросов, да и живого сеанса там не видно — одни обрывки.
Learn, learn and learn better than work, work and work.
|
Written on: 08. 02. 2016 [09:58]
|
rxs5
Дмитрий Лыков
In tech support
Topic creator
registered since: 06.11.2013
Posts: 205
|
"roman" wrote:
Не знаю кто там чего видит, но в дампе нет ни то что Publish но даже Read/Browse запросов, да и живого сеанса там не видно — одни обрывки.
Сделал новый дамп: подключение, браузинг, просмотр значений, отключений.
Attachment
|
Written on: 08. 02. 2016 [17:27]
|
roman
Roman Savochenko
Moderator Contributor Developer
registered since: 12.12.2007
Posts: 3750
|
"rxs5" wrote:
Сделал новый дамп: подключение, браузинг, просмотр значений, отключений.
Проанализировал.
RegisterNodesRequest тут есть.
В целом поведение OpenSCADA корректно, в сравнении с указанным сервером. Из различий встретил только такое:
oscada = ww_galaxy_opcua_browser_20160131_oscada_pending.pcapng
ignition = ww_galaxy_opcua_browser_20160208_ignition.pcapng
oscada: После CreateSubscriptionRequest (41) и PublishRequest (43) нет ответа PublishResponse
ignition: После CreateSubscriptionRequest (268) и PublishRequest (270) есть пустой ответа PublishResponse
oscada: Почему клиент разорвал подключение в 49, почему после корректного PublishResponse (209) не прислал PublishRequest?
Т.е. вышеуказанного певедения клиента я объяснить не могу!
Единственно попробую инициировать таймаут публикации в 0, после CreateSubscriptionRequest, чтобы он сразу после PublishRequest отвечал пустым PublishResponse.
Learn, learn and learn better than work, work and work.
|