Автор |
Повідомлення |
Повідомлення створено: 12. 12. 2013 [15:47]
|
rxs5
Дмитрий Лыков
In tech support
Автор теми
Зареєстрован(а) с: 06.11.2013
Повідомлення: 205
|
"roman" wrote:
Просьба записать сеанс клиента UAExpert и иного сервера с парой живых данных, для сопоставления.
Здравствуйте, Роман. Записал сеанс обмена UAExpert - Ignition OPC UA сервер. Ссылка на файл в личных сообщениях.
|
Повідомлення створено: 12. 12. 2013 [17:45]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
|
"rxs5" wrote:
Записал сеанс обмена UAExpert - Ignition OPC UA сервер.
Что-то не похоже на UAExpert ибо не видать регистрации двух уведомлений да и данных нет, только KeepAlive.
Но собственно уже разобрался. Это тот самый KeepAlive в транспорте. Т.е. если он ненулевой то теряются ответы и клиент пересоздаёт сеанс, зато корректность Republish проверил.
По идее Publish уже фактически полностью реализован, если фильтры конечно не считать и режим уведомления SAMPLING, которого ни у кого не видать и проверить что оно такое нет на чём.
Выгрузил!
Learn, learn and learn better than work, work and work.
|
Повідомлення створено: 19. 12. 2013 [16:19]
|
rxs5
Дмитрий Лыков
In tech support
Автор теми
Зареєстрован(а) с: 06.11.2013
Повідомлення: 205
|
Есть изменения по теме. Используется OpenSCADA r2026 как OPC UA сервер и IWS 7.1 SP2
1. После каких-либо действий по настройкам подключения OPC UA к OpenSCADA происходит зависание IWS, обратно не возвращается, приходится завершать процесс из диспетчера.
В более ранних сборках зависание было, но через 1-2 минут IWS возвращался.
Сейчас по сути нельзя создать ни новое соединение, не редактировать прежние, ни изменить список подключенных к IWS переменных.
2. В отладочных сообщениях (debug) OpenSCADA для протокола OPC UA и для транспорта OPC UA ошибок не увидел.
[Повідомлення редагувалось 3 раз(ів), останній раз 19.12.2013 в 16:24.]
|
Повідомлення створено: 19. 12. 2013 [17:10]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
|
"rxs5" wrote:
1. После каких-либо действий по настройкам подключения OPC UA к OpenSCADA происходит зависание IWS, обратно не возвращается, приходится завершать процесс из диспетчера.
Вряд-ли я тут чем могу помочь если клиентская программа позволяет себе подвисание не просто потока взаимодействия с сервером, а целиком.
"rxs5" wrote:
2. В отладочных сообщениях (debug) OpenSCADA для протокола OPC UA и для транспорта OPC UA ошибок не увидел.
Дамп обмена клиента с сервером лучше вышлите, как обычно.
Learn, learn and learn better than work, work and work.
|
Повідомлення створено: 19. 12. 2013 [17:26]
|
rxs5
Дмитрий Лыков
In tech support
Автор теми
Зареєстрован(а) с: 06.11.2013
Повідомлення: 205
|
Скорее всего, я соглашусь, что проблему с зависанием клиента нужно решать с производителем клиента.
Что делал: в списке переменных IWS пытался привязать тег IWS к OPCUA из OpenSCADA. Браузинг дерева OPC UA выполнил успешно, при сохранении настроек произошло зависание IWS.
После зависания IWS обмен в wireshark остановился.
Дамп обмена в личных сообщениях.
|
Повідомлення створено: 19. 12. 2013 [18:46]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
|
"rxs5" wrote:
Дамп обмена в личных сообщениях.
Не увидел в дампе никаких проблем.
Он просто читал и браузил, а затем закрыл сеанс и безопасный канал.
Т.е. корректно завершил обмен и не видно, что он там повесился поскольку никто ничего после этого слать уже и не должен.
Learn, learn and learn better than work, work and work.
|
Повідомлення створено: 19. 12. 2013 [18:47]
|
rxs5
Дмитрий Лыков
In tech support
Автор теми
Зареєстрован(а) с: 06.11.2013
Повідомлення: 205
|
Спасибо, отправлю запрос разработчику IWS.
|
Повідомлення створено: 20. 12. 2013 [22:13]
|
rxs5
Дмитрий Лыков
In tech support
Автор теми
Зареєстрован(а) с: 06.11.2013
Повідомлення: 205
|
Продолжил анализ проблемы с зависанием IWS и выявил интересные подробности.
Действие - тест соединения. Клиент - IWS 7.1 sp2
1. Сервер OPC UA на основе OpenSCADA
При тесте соединения появляется сообщение об успешном тесте и IWS зависает.
В Wireshark последние строки такие
16 2.573968000 192.168.195.192 192.168.195.97 OpcUa 111 CloseSecureChannel message
17 2.614978000 192.168.195.97 192.168.195.192 TCP 60 appserv-http > 56455 [ACK] Seq=795 Ack=699 Win=16768 Len=0
2. Сервер OPC UA Ignition
При тесте соединения появляется сообщение об успешном тесте и IWS продолжает работать, позволяя сохранить параметры.
В Wireshark последние строки такие
19 1.396374000 192.168.195.192 192.168.195.97 OpcUa 111 CloseSecureChannel message
20 1.397848000 192.168.195.97 192.168.195.192 TCP 60 bre > 56562 [FIN, ACK] Seq=4129 Ack=736 Win=16768 Len=0
21 1.397910000 192.168.195.192 192.168.195.97 TCP 54 56562 > bre [ACK] Seq=736 Ack=4130 Win=65536 Len=0
22 1.397959000 192.168.195.192 192.168.195.97 TCP 54 56562 > bre [FIN, ACK] Seq=736 Ack=4130 Win=65536 Len=0
23 1.398682000 192.168.195.97 192.168.195.192 TCP 60 bre > 56562 [ACK] Seq=4130 Ack=737 Win=16768 Len=0
3. После завершения работы OpenSCADA через File-Quit
Клиент IWS, который раньше не отвечал на запросы, вдруг становится рабочим, и IWS восстанавливается.
В Wireshark добавляются такие строки.
18 17.204471000 192.168.195.97 192.168.195.192 TCP 60 appserv-http > 56455 [FIN, ACK] Seq=795 Ack=699 Win=16768 Len=0
19 17.204613000 192.168.195.192 192.168.195.97 TCP 54 56455 > appserv-http [ACK] Seq=699 Ack=796 Win=64768 Len=0
20 17.204733000 192.168.195.192 192.168.195.97 TCP 54 56455 > appserv-http [FIN, ACK] Seq=699 Ack=796 Win=64768 Len=0
21 17.205697000 192.168.195.97 192.168.195.192 TCP 60 appserv-http > 56455 [ACK] Seq=796 Ack=700 Win=16768 Len=0
Прошу проанализировать указанные несовпадения и по возможности сделать "как у них" - чтобы OPC UA в OpenSCADA выдавала такие же подтверждения, как и Ignition.
Ссылки на 2 дампа в личных сообщениях.
Могу предположить, что зависания, связанные с привязкой в IWS к объектам OPC UA в OpenSCADA, имеют ту же причину.
|
Повідомлення створено: 20. 12. 2013 [22:40]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
|
"rxs5" wrote:
Прошу проанализировать указанные несовпадения и по возможности сделать "как у них" - чтобы OPC UA в OpenSCADA выдавала такие же подтверждения, как и Ignition.
Это не сообщения OPC_UA, а служебные сообщения транспортного уровня TCP и OpenSCADA таких выдавать не может.
Разве только клиент ждёт закрытия сокета, ну так с таким успехом он его и сам мог-бы закрыть.
В случае с UA-Expert таких проблем ведь нет!
Learn, learn and learn better than work, work and work.
|
Повідомлення створено: 20. 12. 2013 [23:20]
|
rxs5
Дмитрий Лыков
In tech support
Автор теми
Зареєстрован(а) с: 06.11.2013
Повідомлення: 205
|
"roman" wrote:
Это не сообщения OPC_UA, а служебные сообщения транспортного уровня TCP и OpenSCADA таких выдавать не может.
Разве только клиент ждёт закрытия сокета, ну так с таким успехом он его и сам мог-бы закрыть.
В случае с UA-Expert таких проблем ведь нет!
Согласен, что это не OPC UA сообщения. Но они точно связаны с работой OpenSCADA.
Особенно 3-й пункт в предыдущем моем сообщении это подтверждает: закрытие OpenSCADA - приходят недостающие пакеты, которые в другом сервере OPC UA приходят сразу.
UAExpert - да, с ним работает, значит в нем как-то построена логика работы иначе.
[Повідомлення редагувалось 1 раз(ів), останній раз 20.12.2013 в 23:21.]
|