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

Iconics Genesis64 и OPC UA


Author Message
Written on: 21. 12. 2014 [15:06]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"rxs5" wrote:

Роман, ведите себя цивилизованно и уважительно. Без криков со знаками !!! И давайте вместо выяснения кто умнее решать вопрос.

Я вовсе не обязан в рамках бесплатной ТП что-то выяснять вообще, о чём уже также говорил неоднократно!
Поэтому если Вы хотите "цивилизованной" из ваших слов ТП, то знаете, что для этого нужно делать.

"rxs5" wrote:

сервер закрывает подключения только по прямым командам закрытия от клиента;

Вы видели дамп?

Видел.

"rxs5" wrote:

Я считал, что после того, как расписал по номерам пакетов что и когда происходит, вопроса о порядке взаимодействия не возникнет.
Клиент Genesis64 запрос на удаление подписки делает. Что отвечает сервер?
Клиент Genesis64 запрос на закрытие сессии делает. Что отвечает сервер?

А их не возникает — у меня всё закрывается и удаляется.

"rxs5" wrote:

- для случаев внезапного исчезновения клиента или "забывания" им про ранние подключения есть KeepAlive время, которое Вы категарически не ставили;

Каким образом KeepAlive поможет серверу отвечать на запросы клиента?

Какой вопрос был первичный, может превышение лимитов подключений?

"rxs5" wrote:

И в добавление к этому, насколько я помню, как раз Вы и советовали KeepAlive устанавливать в 0 здесь http://oscada.org/ua/forum/posts//indusoft_web_studio_i_opc_ua//2/

А последний раз, что поставить советовал или может ещё с самого начала начнем?

Learn, learn and learn better than work, work and work.
Written on: 21. 12. 2014 [15:12]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"rxs5" wrote:

У меня приходят.
Так и я написал, что в случае UAexpert на запрос клиента сервер отвечает нормально и удаляет подписку, и закрывает сессию. В случае клиента Genesis64 запрос на сервер есть, ответа от сервера нет. В этом и суть предыдущего моего сообщения с примерами.
Если это некорректное поведение клиента, то не пойму в чем оно выражается. Клиент Genesis64 запросы от отключение делает, судя по дампу. Если можете указать в чем именно некорректность Genesis64 - сообщу разработчикам.

Опять, я этого не обязан и не могу делать для невоспроизводимых у меня проблем!
Включайте отладку модуля OPC-UA, добавляйте недостающие сообщения и разбирайтесь!

Learn, learn and learn better than work, work and work.
Written on: 21. 12. 2014 [15:16]
rxs5
Дмитрий Лыков
In tech support
Topic creator
registered since: 06.11.2013
Posts: 205
Я вовсе не обязан в рамках бесплатной ТП что-то выяснять вообще, о чём уже также говорил неоднократно!
Поэтому если Вы хотите "цивилизованной" из ваших слов ТП, то знаете, что для этого нужно делать.
Про ТП из того что мне известно: ваш партнер в России не спешил оформить необходимые бумаги, а Вы не сделали своему российскому партнеру необходимое пояснение, чтобы он не забыл про нас. И нам приходилось буквально напоминать вашему же партнеру, что желательно все оформить, но так и не закончилось ничем. Или не так?

Т.е. подводя итог, вы согласны, что при работе с клиентом Genesis64 сервер ведет себя некорректно (в части удаления подписок и закрытия сессий), но согласны этот вопрос исследовать только в рамках ТП. Все верно?
Written on: 21. 12. 2014 [16:18]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"rxs5" wrote:

По дампу, мои поиски (сервер .21, клиент .175)
1-е соединение
24 - открытие сессии 1

Создание.

"rxs5" wrote:

79 - создание подписки
608 - запрос клиента удалить подписку
612 - запрос клиента закрытие сессии 1

Так, забываем ещё быстрее?
Или ответы на Publish не насторожили, и что не понятного в 609, 613:
ServiceResult: 0x80250000 [BadSessionIdInvalid]

"rxs5" wrote:

2-е соединение
641 - открытие сессии
698 - создание подписки
1268 - запрос клиента на удаление подписки
1272 - запрос клиента на закрытие сессии 2

Что не понятно в 1269, 1277?

"rxs5" wrote:

3-е соединение
1297 - открытие сессии 3
1350 - создание подписки
1661 - запрос клиента на удаление подписки
1666 - запрос клиента на закрытие сессии 3

Что не понятно в 1662, 1670?

Где запросы CloseSecureChannel в конце этих кривых запросов к отсутствующему сеансу?

"rxs5" wrote:

Про ТП из того что мне известно: ваш партнер в России не спешил оформить необходимые бумаги, а Вы не сделали своему российскому партнеру необходимое пояснение, чтобы он не забыл про нас. И нам приходилось буквально напоминать вашему же партнеру, что желательно все оформить, но так и не закончилось ничем. Или не так?

Тот кто хочет не создаёт бумажных проблем.

"rxs5" wrote:

Т.е. подводя итог, вы согласны, что при работе с клиентом Genesis64 сервер ведет себя некорректно (в части удаления подписок и закрытия сессий), но согласны этот вопрос исследовать только в рамках ТП. Все верно?

По итогам — Вы забываете даже то, что обсуждалось в прошлой итерации и под проблемой клиента выставляете претензии к серверу!


Learn, learn and learn better than work, work and work.
Written on: 21. 12. 2014 [16:58]
rxs5
Дмитрий Лыков
In tech support
Topic creator
registered since: 06.11.2013
Posts: 205
От клиента Genesis64 идет запрос
UA Secure Conversation Message: DeleteSubscriptionsRequest

Сервер отвечает
UA Secure Conversation Message: ServiceFault
с сообщением
ServiceResult: 0x80250000 [BadSessionIdInvalid]

И это при условии, на момент времени 609 пакета сессия была только одна и она вдруг стала IdInvalid
Или ответы на Publish не насторожили
Насторожили, начиная с 111-го пакета. Почему сервер отвечает BadSessionIdInvalid мне непонятно, т.к. новая сессия не создавалась и активная только сессия, созданная на пакете 24.

Где запросы CloseSecureChannel в конце этих кривых запросов к отсутствующему сеансу?

Вот пример из UAExpert
"112","24.971146000","192.168.195.175","192.168.195.21","OpcUa","112","UA Secure Conversation Message: CloseSessionRequest"
"113","25.238082000","192.168.195.21","192.168.195.175","OpcUa","106","UA Secure Conversation Message: CloseSessionResponse"
"114","25.240828000","192.168.195.175","192.168.195.21","OpcUa","111","CloseSecureChannel message: CloseSecureChannelRequest"

Сначала идет закрытие сессии, потом уже CloseSecureChannelRequest от клиента.

Вот пример из Genesis64
"612","6.241505000","192.168.195.175","192.168.195.21","OpcUa","112","UA Secure Conversation Message: CloseSessionRequest"
"613","6.243019000","192.168.195.21","192.168.195.175","OpcUa","106","UA Secure Conversation Message: ServiceFault"

Нет от сервера ответа CloseSessionResponse, и клиент не делает запроса CloseSecureChannelRequest.
Зачем клиент Genesis64 должен делать запрос на закрытие CloseSecureChannelRequest, если сервер отвечает ServiceFault на предыдущий запрос?
И где ответы сервера на CloseSessionRequest после кривых ServiceFault (пользуясь вашими терминами) в ответе на Publish?

Тот кто хочет не создаёт бумажных проблем.
либо альтернативный вариант - кто хочет, проходит процесс бумажных согласований, и не пускает дело на самотек. Ответ про ТП услышал.

[This article was edited 1 times, at last 21.12.2014 at 16:59.]
Written on: 21. 12. 2014 [17:01]
rxs5
Дмитрий Лыков
In tech support
Topic creator
registered since: 06.11.2013
Posts: 205
И еще один момент, упустил ранее, сейчас заметил.
Клиент Genesis64 на 107 пакете делает запрос
UA Secure Conversation Message: CreateMonitoredItemsResponse"

Но ответа от сервера не получает и далее делает еще запрос
UA Secure Conversation Message: PublishRequest

На который сервер отвечает
ServiceFault

Для сравнения с UAExpert
Клиент делает запрос
UA Secure Conversation Message: CreateMonitoredItemsRequest

И получает ответ от сервера
UA Secure Conversation Message: CreateMonitoredItemsResponse

Почему сервер OPC UA не ответил клиенту Genesis64 сообщением CreateMonitoredItemsResponse?
Во всех 3-х соединениях сервер OPC UA на запрос клиента Genesis64 с сообщением CreateMonitoredItemsRequest не отвечает аналогичным сообщением CreateMonitoredItemsResponse. И после этого уже идут ServiceFault.

Это просто в дополнение к предыдущему пояснению. Вопрос о ТП не отменяется.
Written on: 21. 12. 2014 [17:29]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"rxs5" wrote:

ServiceResult: 0x80250000 [BadSessionIdInvalid]

И это при условии, на момент времени 609 пакета сессия была только одна и она вдруг стала IdInvalid

Не вдруг, а на переподключении в 168, где он открыл новый канал и не создал новый сеанс или переподключился к существующему с помощью ActivateSession, смотрим спецификацию Part4, 5.6.2.1.

"rxs5" wrote:

Или ответы на Publish не насторожили
Насторожили, начиная с 111-го пакета. Почему сервер отвечает BadSessionIdInvalid мне непонятно, т.к. новая сессия не создавалась и активная только сессия, созданная на пакете 24.

Выше!

"rxs5" wrote:

Где запросы CloseSecureChannel в конце этих кривых запросов к отсутствующему сеансу?

Вот пример из UAExpert
"112","24.971146000","192.168.195.175","192.168.195.21","OpcUa","112","UA Secure Conversation Message: CloseSessionRequest"
"113","25.238082000","192.168.195.21","192.168.195.175","OpcUa","106","UA Secure Conversation Message: CloseSessionResponse"
"114","25.240828000","192.168.195.175","192.168.195.21","OpcUa","111","CloseSecureChannel message: CloseSecureChannelRequest"

Сначала идет закрытие сессии, потом уже CloseSecureChannelRequest от клиента.

Может ссылаться таки на один файл?

"rxs5" wrote:

Вот пример из Genesis64
"612","6.241505000","192.168.195.175","192.168.195.21","OpcUa","112","UA Secure Conversation Message: CloseSessionRequest"
"613","6.243019000","192.168.195.21","192.168.195.175","OpcUa","106","UA Secure Conversation Message: ServiceFault"

Нет от сервера ответа CloseSessionResponse, и клиент не делает запроса CloseSecureChannelRequest.

Чего это он должен закрывать то чего у него, на этом канале, нет?
О чём и сообщает.

"rxs5" wrote:

И еще один момент, упустил ранее, сейчас заметил.
Клиент Genesis64 на 107 пакете делает запрос
UA Secure Conversation Message: CreateMonitoredItemsResponse"
Но ответа от сервера не получает и далее делает еще запрос
UA Secure Conversation Message: PublishRequest

А то, что ответов ServiceFault два (111, 113) ни о чём не говорит?

"rxs5" wrote:

Почему сервер OPC UA не ответил клиенту Genesis64 сообщением CreateMonitoredItemsResponse?

Всё по тому, что нет активного сеанса.

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



21402