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

Indusoft WEB Studio и OPC UA


Author Message
Written on: 02. 12. 2013 [12:48]
rxs5
Дмитрий Лыков
In tech support
Topic creator
registered since: 06.11.2013
Posts: 205
"roman" wrote:

"MonitoredItems" дописать не успел, сейчас дописываю.

Роман, спасибо за информацию. Сообщите, пожалуйста, о завершении, чтобы начать тестирование.
Written on: 04. 12. 2013 [22:21]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"rxs5" wrote:

Роман, спасибо за информацию. Сообщите, пожалуйста, о завершении, чтобы начать тестирование.

Запишите пожалуйста сеанс обмена клиента со сторонним сервером, который нормально данные в реальном времени отдаёт.
Упёрся тут в описание DataChangeNotification, пример которого у меня есть только для источника с неизменными данными, вот и не пойму что там должно быть если данные меняются часто и опрашивается несколько объектов.

Learn, learn and learn better than work, work and work.
Written on: 05. 12. 2013 [14:42]
rxs5
Дмитрий Лыков
In tech support
Topic creator
registered since: 06.11.2013
Posts: 205
"roman" wrote:

Запишите пожалуйста сеанс обмена клиента со сторонним сервером, который нормально данные в реальном времени отдаёт.
Упёрся тут в описание DataChangeNotification, пример которого у меня есть только для источника с неизменными данными, вот и не пойму что там должно быть если данные меняются часто и опрашивается несколько объектов.

Записал обмен 2-х переменных с изменяющимися данными.
Сервер OPC UA: Ignition 7.6.4
Клиент OPC UA: IWS 7.1 sp2
Ссылка на файл в личной переписке.
Written on: 06. 12. 2013 [13:54]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"rxs5" wrote:

Записал обмен 2-х переменных с изменяющимися данными.
Сервер OPC UA: Ignition 7.6.4
Клиент OPC UA: IWS 7.1 sp2

Спасибо — несколько прояснило ситуацию.

Закончил в степени нормальной отдачи данных через Publish сервис. Проверил на UAExpert с тремя живыми параметрами. На сейчас не реализован "RePublish", которого вообще ещё не встречал и ряд экзотических особенностей. Позже, в процессе перечитывания спецификации, дополню и приведу в соответствие, хотя очевидно не проверю.

В процессе выявил ошибку в UAExpert, который не удаляет "Subscribe" для опрашиваемых данных, при отключении, хотя свой "левый" для странного параметра с фильтром удаляет. И да, фильтры тоже не реализовывал.
Ещё выявил проблему в GLibC при работе с памятью в конфигурации некоторых объектов, а именно при вызове "new string" из разных объектов возвращает одинаковый адрес, а затем сам-же и ругается на двойное освобождение, что обошёл переписав проблемный объект NodeId и оставил ключик для включения сборки с воспроизведением проблемы — погляжу на других конфигурациях.

Выгрузил, проверяйте у себя!

Learn, learn and learn better than work, work and work.
Written on: 08. 12. 2013 [13:41]
rxs5
Дмитрий Лыков
In tech support
Topic creator
registered since: 06.11.2013
Posts: 205
Проверил на сборке 2018.
"roman" wrote:

В процессе выявил ошибку в UAExpert, который не удаляет "Subscribe" для опрашиваемых данных, при отключении, хотя свой "левый" для странного параметра с фильтром удаляет.
Да, тоже заметил эту ошибку. Вы сообщите об этом разработчикам UAExpert ?

Что вообще видел по тестированию.
Сначала IWS + OPC UA - вместо данных 0.
Затем подключился UAExpert + OpenSCADA - данные вижу.
Потом снова IWS + OpenSCADA - нет данных, и качество связи вдруг плохое.
Заметил по wireshark, что идет постоянный опрос. Закрыл UAExpert, перезапустил OpenSCADA, чтобы не было опроса OPC UA.
Подключаюсь IWS + OPC UA - вместо данных 0.
Лог записал в wireshark и выложил, ссылка в личном сообщении.

Еще видел ошибку в UAExpert при отключении
14:54:36.119 | Server Node | OpenScadaOpcServer@centos97... | Disconnecting failed with error 'BadInvalidState'
Written on: 08. 12. 2013 [19:35]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"rxs5" wrote:

Да, тоже заметил эту ошибку. Вы сообщите об этом разработчикам UAExpert ?

У меня связей с ними нет.

"rxs5" wrote:

...
Подключаюсь IWS + OPC UA - вместо данных 0.
Лог записал в wireshark и выложил, ссылка в личном сообщении.

Не увидел там Publish ответов, а так-же причин тому. Подозреваю, что KeepAlive нужно у входщего транспорта отключить, иначе может получиться ситуация, что протокол и входящий транспорт для асинхронной отправки на момент отправки может быть уже закрыт. Отключить тут установкой обоих полей в "0": http://wiki.oscada.org/Doc/Soskets/files?get=sock_in.png

"rxs5" wrote:

Еще видел ошибку в UAExpert при отключении
14:54:36.119 | Server Node | OpenScadaOpcServer@centos97... | Disconnecting failed with error 'BadInvalidState'


У себя такого не замечал. Запишите сеанс для этого.

Learn, learn and learn better than work, work and work.
Written on: 08. 12. 2013 [20:35]
rxs5
Дмитрий Лыков
In tech support
Topic creator
registered since: 06.11.2013
Posts: 205
"roman" wrote:

Не увидел там Publish ответов, а так-же причин тому. Подозреваю, что KeepAlive нужно у входщего транспорта отключить, иначе может получиться ситуация, что протокол и входящий транспорт для асинхронной отправки на момент отправки может быть уже закрыт. Отключить тут установкой обоих полей в "0": http://wiki.oscada.org/Doc/Soskets/files?get=sock_in.png
Сделал, ничего не изменилось, также 0 в IWS.
В логе клиента OPC UA - в IWS есть сообщения об ошибках, возможно они помогут чем-то.
OPC UA Client: Info: Имя пользователя/пароль не установлен
OPC UA Client: Info: Connecting to the server ignition_opcua.
OPC UA Client: Info: Имя пользователя/пароль не установлен
OPC UA Client: Info: Connecting to the server oscada_opcua.
OPC UA Client: Info: Connection established successfully to the server ignition_opcua.
OPC UA Client: Info: Connection established successfully to the server oscada_opcua.
OPC UA Client: Warning: Group 1 => Could not read item 1 upon connection. : '0x80d2000' (Error: 0x80D20000)
OPC UA Client: Warning: Group 1 => Could not read item 2 upon connection. : '0x80d2000' (Error: 0x80D20000)
OPC UA Client: Error: Group 1 => Item 2 received a dataChange with status 0x80d2000.
OPC UA Client: Error: Group 1 => Item 1 received a dataChange with status 0x80d2000.
OPC UA Client: Error: Group 1 => Item 2 received a dataChange with status 0x80d2000.
OPC UA Client: Error: Group 1 => Item 1 received a dataChange with status 0x80d2000.


По традиции дамп wireshark с этого сеанса в личном сообщении.
Written on: 08. 12. 2013 [21:05]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"rxs5" wrote:

Сделал, ничего не изменилось, также 0 в IWS.
В логе клиента OPC UA - в IWS есть сообщения об ошибках, возможно они помогут чем-то.
OPC UA Client: Info: Имя пользователя/пароль не установлен
OPC UA Client: Info: Connecting to the server ignition_opcua.
OPC UA Client: Info: Имя пользователя/пароль не установлен
OPC UA Client: Info: Connecting to the server oscada_opcua.
OPC UA Client: Info: Connection established successfully to the server ignition_opcua.
OPC UA Client: Info: Connection established successfully to the server oscada_opcua.
OPC UA Client: Warning: Group 1 => Could not read item 1 upon connection. : '0x80d2000' (Error: 0x80D20000)

Такой ошибки даже в перечне статусов OPC UA нет.

"rxs5" wrote:

По традиции дамп wireshark с этого сеанса в личном сообщении.

По прежнему Publish ответов нет в сеансе.

Добавлю отладочных сообщений в модуль DAQ.OPC_UA тогда включите отладку и поглядите, почему не идут Publish ответы.

Learn, learn and learn better than work, work and work.
Written on: 09. 12. 2013 [12:20]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"roman" wrote:

"rxs5" wrote:

По традиции дамп wireshark с этого сеанса в личном сообщении.

По прежнему Publish ответов нет в сеансе.

Добавлю отладочных сообщений в модуль DAQ.OPC_UA тогда включите отладку и поглядите, почему не идут Publish ответы.

Пока без отладки обошлось поскольку увидел в чём причина, а именно в провакативности клиента. :)
Он шлёт запрос активации нулевого сеанса, который обычно является по сути признаком отсутствия сеанса, а если сервису Read объект сеанса не нужен, то Subscribe именно там и хранится.

Проверяйте!

Learn, learn and learn better than work, work and work.
Written on: 09. 12. 2013 [13:53]
rxs5
Дмитрий Лыков
In tech support
Topic creator
registered since: 06.11.2013
Posts: 205
"roman" wrote:

Пока без отладки обошлось поскольку увидел в чём причина, а именно в провакативности клиента. :)
Он шлёт запрос активации нулевого сеанса, который обычно является по сути признаком отсутствия сеанса, а если сервису Read объект сеанса не нужен, то Subscribe именно там и хранится.
Проверяйте!


Проверил, есть данные в IWS (проверял int, float). Роман, спасибо за оперативные изменения.
Правда клиент OPC UA в IWS все равно дает ошибки
OPC UA Client: Error: Group 1 => Item 1 received a dataChange with status 0x80d2000.
OPC UA Client: Error: Group 1 => Item 2 received a dataChange with status 0x80d2000.

Но это, видимо, к разработчику IWS.

У вас остались еще какие-то задачи по OPC UA (серверная часть) ?



1187