Выберите предложения в фильтре событий - PullRequest
0 голосов
/ 07 февраля 2020

У меня есть два вопроса относительно событий. (Я не уверен, что они касаются Milo (который я сейчас использую) или OPCUA в целом.):

1) Я создал EventFilter, который используется в MonitoringParameters object.

Фильтр selectClauses представляет собой массив SimpleAttributeOperands, каждый из которых имеет NodeId моего EventType плюс QualifiedName свойств, которые я хочу получить.

Тип события и его свойства имеют ns=2, но странно, я должен указать квалифицированные имена, такие как QualifiedName(ns=0, property_name).

Это работает, но я нашел это довольно запутанным. Указание ns=2 дает нулевые значения, что приводит ко второму моему вопросу:

2) В той же настройке. Когда я добавляю SimpleAttribute со ссылкой на полное имя, которого нет на сервере, я получаю нулевое значение. Я бы ожидал, что вместо этого выдается ошибка (как в SQL).

Любая помощь очень ценится. Большое спасибо заранее!

1 Ответ

1 голос
/ 07 февраля 2020

Первый описанный вами сценарий звучит как ошибка на сервере.

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

Спецификация c может сказать об этом следующее:

В соответствующем поле события в ответе Publi sh возвращается нулевое значение, если выбранное поле не является частью события или в selectClauseResults объекта EventFilterResult была возвращена ошибка.

...