Автор |
Повідомлення |
Повідомлення створено: 27. 01. 2016 [18:03]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 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.
|
Повідомлення створено: 31. 01. 2016 [16:04]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
|
"roman" wrote:
Добавлять заглушку?
Добавил поддержку запросов: RegisterNodesRequest, UnregisterNodesRequest
P.S. Они собственно смысловой нагрузки и не несут, поскольку просто регистрируют некоторые узлы как актуальные у клиента, для некоторой оптимизации производительности в их последующих запросах, на стороне сервера.
Learn, learn and learn better than work, work and work.
|
Повідомлення створено: 31. 01. 2016 [19:18]
|
rxs5
Дмитрий Лыков
In tech support
Автор теми
Зареєстрован(а) с: 06.11.2013
Повідомлення: 205
|
"roman" wrote:
Добавлять заглушку?
Если добавлять то желательно записать обмен со сторонним сервером, где этот запрос фигурирует.
В дампах обмена с "unified demo" этого запроса я не нашёл, кстати.
На будущей неделе запишу и пришлю дамп обмена с OPC UA сервером от Inductive Automation.
"roman" wrote:
Добавил поддержку запросов: RegisterNodesRequest, UnregisterNodesRequest
P.S. Они собственно смысловой нагрузки и не несут, поскольку просто регистрируют некоторые узлы как актуальные у клиента, для некоторой оптимизации производительности в их последующих запросах, на стороне сервера.
Спасибо. Проверил на сборке 2329 и не увидел изменений.
Дамп и скриншот клиента OPC UA во вложении. Странно, но дамп обмена по размеру небольшой.
Вкладений файл
|
Повідомлення створено: 01. 02. 2016 [15:45]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
|
"rxs5" wrote:
Спасибо. Проверил на сборке 2329 и не увидел изменений.
Видимых может и нет, а вот ошибок на предмет RegisterNodesRequest в дампе уже нет.
"rxs5" wrote:
Дамп и скриншот клиента OPC UA во вложении. Странно, но дамп обмена по размеру небольшой.
Нормальный вроде.
Сейчас там ошибка по созданию MinitoredItem, второй раз. Почему, позже повникаю.
Learn, learn and learn better than work, work and work.
|
Повідомлення створено: 02. 02. 2016 [19:14]
|
rxs5
Дмитрий Лыков
In tech support
Автор теми
Зареєстрован(а) с: 06.11.2013
Повідомлення: 205
|
"rxs5" wrote:
"roman" wrote:
Добавлять заглушку?
Если добавлять то желательно записать обмен со сторонним сервером, где этот запрос фигурирует.
В дампах обмена с "unified demo" этого запроса я не нашёл, кстати.
На будущей неделе запишу и пришлю дамп обмена с OPC UA сервером от Inductive Automation.
Записал, но запросов RegisterNodesRequest с OPC UA сервера от Inductive Automation не увидел.
Проверил также обмен Unified Demo и тоже этого запроса не увидел.
|
Повідомлення створено: 02. 02. 2016 [21:29]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 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.
|
Повідомлення створено: 04. 02. 2016 [16:15]
|
rxs5
Дмитрий Лыков
In tech support
Автор теми
Зареєстрован(а) с: 06.11.2013
Повідомлення: 205
|
"roman" wrote:
P.S. Выложите сеанс с публикацией этого клиента и другого сервера!
Сделал такой тест.
Сервер OPC UA от Inductive Automation (в составе Ignition SCADA) версии 7.8.1 (b2016012216).
Дамп во вложении.
К этого сервера клиент WW видит атрибуты при браузинге и отображает значения атрибутов в режиме просмотра.
Вкладений файл
|
Повідомлення створено: 04. 02. 2016 [16:30]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
|
"rxs5" wrote:
Дамп во вложении.
К этого сервера клиент WW видит атрибуты при браузинге и отображает значения атрибутов в режиме просмотра.
Не знаю кто там чего видит, но в дампе нет ни то что Publish но даже Read/Browse запросов, да и живого сеанса там не видно — одни обрывки.
Learn, learn and learn better than work, work and work.
|
Повідомлення створено: 08. 02. 2016 [09:58]
|
rxs5
Дмитрий Лыков
In tech support
Автор теми
Зареєстрован(а) с: 06.11.2013
Повідомлення: 205
|
"roman" wrote:
Не знаю кто там чего видит, но в дампе нет ни то что Publish но даже Read/Browse запросов, да и живого сеанса там не видно — одни обрывки.
Сделал новый дамп: подключение, браузинг, просмотр значений, отключений.
Вкладений файл
|
Повідомлення створено: 08. 02. 2016 [17:27]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 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.
|