УкраїнськаEnglishmRussian
Вхід/Новий
У темі багато повідомлень

OPC UA


Автор Повідомлення
Повідомлення створено: 15. 01. 2014 [18:36]
rxs5
Дмитрий Лыков
In tech support
Зареєстрован(а) с: 06.11.2013
Повідомлення: 205
"roman" wrote:

"rxs5" wrote:

Даже после завершения trial period рантайма для IWS все равно шел обмен данными.

Нет там никакого обмена. Он только шлёт Hello запросы, а OpenSCADA их отбрасывает.
В тоже время активных клиентов уже нет: UAExpert отключен, в IWS завершился Trial. Но OpenSCADA поддерживает соединения ?
Соединения не должны закрываться, если обмена нет и идет флаг FIN ?
Повідомлення створено: 15. 01. 2014 [19:40]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3747
"rxs5" wrote:

Нет там никакого обмена. Он только шлёт Hello запросы, а OpenSCADA их отбрасывает.
В тоже время активных клиентов уже нет: UAExpert отключен, в IWS завершился Trial. Но OpenSCADA поддерживает соединения ?

А кто (192.168.195.192) "Hello" сообщения шлёт?

"rxs5" wrote:

Соединения не должны закрываться, если обмена нет и идет флаг FIN ?

Согласно спецификации OPC UA сервер по своей инициативе закрывать сообщения должен по запросу "CLO" (CloseSecureChannel). Во всех остальных случаях удержание соединения определяет клиент.
И опять, "FIN" OpenSCADA не видит и видеть не может, поскольку это внутреннее дело стека TCP. Закрытие соединения OpenSCADA может увидеть только по ошибке от select(функция ожидания данных в потоке).

Learn, learn and learn better than work, work and work.
Повідомлення створено: 15. 01. 2014 [21:07]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3747
"roman" wrote:

Согласно спецификации OPC UA сервер по своей инициативе закрывать сообщения должен по запросу "CLO" (CloseSecureChannel). Во всех остальных случаях удержание соединения определяет клиент.

А также по ошибкам, ну и не полным запросам. Добавил!

Learn, learn and learn better than work, work and work.
Повідомлення створено: 16. 01. 2014 [12:49]
rxs5
Дмитрий Лыков
In tech support
Зареєстрован(а) с: 06.11.2013
Повідомлення: 205
"roman" wrote:

А также по ошибкам, ну и не полным запросам. Добавил!
На новой версии 2038 запускал задачу 2 раза с указанными ранее условиями. Пока нет замечаний, все работает.

[Повідомлення редагувалось 1 раз(ів), останній раз 16.01.2014 в 13:02.]
Повідомлення створено: 21. 01. 2014 [13:39]
rxs5
Дмитрий Лыков
In tech support
Зареєстрован(а) с: 06.11.2013
Повідомлення: 205
Есть новости по тестированию OPC UA сервера в OpenSCADA.
Как обычно работали 3 клиента OPC UA: UAExpert, IWS, контроллер OpenSCADA.
В какой-то момент времени (не увидел точно) из 3-х клиентов подключенных остался только 1. Два другие видимо пытаются постоянно подключиться, но это не удается, хотя в state входящего транспорта OPC UA количество соед соединений постоянно увеличивается.
При этом в консоли такие сообщения
JAVASCRIPT
4|/sub_Transport/mod_Sockets/in_OPCUA_4848/ | The protocol '' is not present.                                                                                           
4|/sub_Transport/mod_Sockets/in_OPCUA_4848/ | Error request to protocol.                                                                                                
0|/sub_Transport/mod_Sockets/in_OPCUA_4848/ | Socket has been disconnected by '192.168.195.192'!                                                                        
0|/sub_Transport/mod_Sockets/in_OPCUA_4848/ | Socket received message '77' from '192.168.195.97'.                                                                       
4|/sub_Transport/mod_Sockets/in_OPCUA_4848/ | The protocol '' is not present.                                                                                           
4|/sub_Transport/mod_Sockets/in_OPCUA_4848/ | Error request to protocol.                                                                                                
0|/sub_Transport/mod_Sockets/in_OPCUA_4848/ | Socket has been disconnected by '192.168.195.97'!                                                                         
0|/sub_Transport/mod_Sockets/in_OPCUA_4848/ | Socket has been connected by '192.168.195.97'!                                                                            
0|/sub_Transport/mod_Sockets/in_OPCUA_4848/ | Socket received message '77' from '192.168.195.97'.                                                                       
4|/sub_Transport/mod_Sockets/in_OPCUA_4848/ | The protocol '' is not present.                                                                                           
4|/sub_Transport/mod_Sockets/in_OPCUA_4848/ | Error request to protocol.                                                                                                
4|/sub_DAQ/mod_OPC_UA/cntr_OPCUA_controller/ | 0x80ab0000:Remote host error                                                                                             
0|/sub_Transport/mod_Sockets/in_OPCUA_4848/ | Socket has been disconnected by '192.168.195.97'!                                                                         
0|/sub_Transport/mod_Sockets/in_OPCUA_4848/ | Socket has been connected by '192.168.195.97'!                                                                            
0|/sub_Transport/mod_Sockets/in_OPCUA_4848/ | Socket has been connected by '192.168.195.192'!                                                                           
0|/sub_Transport/mod_Sockets/in_OPCUA_4848/ | Socket received message '61' from '192.168.195.192'.                                                                      
4|/sub_Transport/mod_Sockets/in_OPCUA_4848/ | The protocol '' is not present.                                                                                           
4|/sub_Transport/mod_Sockets/in_OPCUA_4848/ | Error request to protocol.                                                                                                
0|/sub_Transport/mod_Sockets/in_OPCUA_4848/ | Socket has been disconnected by '192.168.195.192'!                                                                        
0|/sub_Transport/mod_Sockets/in_OPCUA_4848/ | Socket has been connected by '192.168.195.192'!                                                                           
0|/sub_Transport/mod_Sockets/in_OPCUA_4848/ | Socket received message '61' from '192.168.195.192'.


В логе UAExpert имеются следующие сообщения
14:30:36.379 | Server Node | OpenScadaOpcServer@... | Connection status of server 'OpenScadaOpcServer@.- None - None' changed to 'ConnectionErrorApiReconnect'.
13:50:42.142 | DA Plugin | OpenScadaOpcServer@... | Calling Republish with sequence number 14524
13:49:55.142 | DA Plugin | OpenScadaOpcServer@... | Calling Republish with sequence number 14476
13:49:54.143 | DA Plugin | OpenScadaOpcServer@... | Calling Republish with sequence number 14474
13:49:53.147 | DA Plugin | OpenScadaOpcServer@... | Calling Republish with sequence number 14472


Еще при текущем состоянии сделал дамп в wireshark (он во вложении).
Также во вложении скриншот соединений в nix системе.
И скриншот состояния транспорта OpenSCADA

Не понимаю следующего:
1. Почему отключились клиенты.
2. Почему они не могут подключиться при наличии ссвободных соединений.
3. Странные сообщения в консоли о протоколе.

[Повідомлення редагувалось 1 раз(ів), останній раз 21.01.2014 в 13:41.]
Вкладений файл

2_client_not_connecting.pcapng (Тип файлу: application/octet-stream, Розмір: 10.76 кілобайтів) — 873 завантажень
2_client_not_connecting_waiting.png (Тип файлу: image/png, Розмір: 180.52 кілобайтів) — 808 завантажень
2_client_not_connecting_only1.png (Тип файлу: image/png, Розмір: 288.71 кілобайтів) — 818 завантажень
Повідомлення створено: 21. 01. 2014 [13:47]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3747
"rxs5" wrote:

В какой-то момент времени (не увидел точно) из 3-х клиентов подключенных остался только 1. Два другие видимо пытаются постоянно подключиться, но это не удается, хотя в state входящего транспорта OPC UA количество соед соединений постоянно увеличивается.

Всё остальное лишнее.
Зачем поле "Транспортный протокол" очистили?

Learn, learn and learn better than work, work and work.
Повідомлення створено: 21. 01. 2014 [13:55]
rxs5
Дмитрий Лыков
In tech support
Зареєстрован(а) с: 06.11.2013
Повідомлення: 205
"roman" wrote:

"rxs5" wrote:

В какой-то момент времени (не увидел точно) из 3-х клиентов подключенных остался только 1. Два другие видимо пытаются постоянно подключиться, но это не удается, хотя в state входящего транспорта OPC UA количество соед соединений постоянно увеличивается.

Всё остальное лишнее.
Зачем поле "Транспортный протокол" очистили?
Только сейчас заметил, что поле пустое. Не очищал его самостоятельно.
Начиная со вчерашнего дня постоянно крутил тесты стабильности по темам c bad_alloc и lib_opcua.
Соответственно было 3-4 итерации рабочих, и вот при очередной итерации сегодня оно вдруг стало пустым. Значения поля точно вручную не изменял !
Повідомлення створено: 21. 01. 2014 [14:16]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3747
"rxs5" wrote:

Только сейчас заметил, что поле пустое. Не очищал его самостоятельно.

Внутри оно тоже никогда не меняется, если конечно скриптов таких не писали.
А очистить могли случайно, например, скролили мышью в области около комбобокса.

Learn, learn and learn better than work, work and work.
Повідомлення створено: 21. 01. 2014 [14:20]
rxs5
Дмитрий Лыков
In tech support
Зареєстрован(а) с: 06.11.2013
Повідомлення: 205
"roman" wrote:

Внутри оно тоже никогда не меняется, если конечно скриптов таких не писали.
А очистить могли случайно, например, скролили мышью в области около комбобокса.
Действительно мог быть скрол, он легко меняет протокол. Можно тогда сделать так, чтобы фиксировать протокол, так же как и адрес ? Чтобы его невозможно было сменить в запущенном в Running транспорте.
Повідомлення створено: 21. 01. 2014 [19:18]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3747
"rxs5" wrote:

Действительно мог быть скрол, он легко меняет протокол. Можно тогда сделать так, чтобы фиксировать протокол, так же как и адрес ? Чтобы его невозможно было сменить в запущенном в Running транспорте.

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

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



6583