Simple-Scada forum

Simple-Scada 2 => Ошибки => Тема начата: Миханик от 14 Января 2019, 09:39:36

Название: Ошибка отображения переменных с OPC UA сервера
Отправлено: Миханик от 14 Января 2019, 09:39:36
Если используемой переменной, считываемой с OPC UA сервера, назначить пользовательскую Шкалу, то переменная перестает отображаться в запущенном клиенте (показывается восклицательный знак слева от поля и нуль в поле).
Название: Re: Ошибка отображения переменных с OPC UA сервера
Отправлено: Simple-Scada от 14 Января 2019, 09:47:28
Здравствуйте.
Что-то здесь не так. Шкала переменной не имеет никакого отношения к OPC-серверам (ни UA, ни DA). Скорее всего дело в чем-то другом, а восклицательный знак после смены шкалы просто совпадение. Вы уверены, что указанная переменная на OPC-сервере всегда корректно считывается и имеет хорошее качество (можно посмотреть в окне самого OPC-сервера)? Какой UA-сервер Вы используете?
Название: Re: Ошибка отображения переменных с OPC UA сервера
Отправлено: Миханик от 14 Января 2019, 09:57:25
Я долго не мог понять из-за чего не отображаются переменные. Потом удалил все переменные и заново добавил их в проект. Как только добавил переменные - они стали отображаться в клиенте. Затем я начал редактировать часть переменных - изменял формат, шкалу, архивирование. И заметил, что как только я изменяю шкалу, то переменная перестает отображаться, когда неизменные переменные отображаются - то есть проблем со считыванием данных с ОПС сервера нет.
Схема такая: на Сервере1 данные считываются MasterOPC Universal Modbus Server (Инсат), на нем же установлен плагин для туннелирования этих данных в другую сеть (Multi-Protocol MasterOPC Server конвертирует эти данные в OPC UA) и потом я считываю их с OPC UA сервера.
Название: Re: Ошибка отображения переменных с OPC UA сервера
Отправлено: Миханик от 14 Января 2019, 10:20:25
Я Вас немного обманул. Пока записывал демонстрационное видео для Вас обнаружил, что переменные перестают отображаться, когда я делаю любые изменения после их добавления в проект, даже после того как убираю все изменения, то переменные не отображаются. Видать происходит какой-то сбой после сохранения редактированной переменной.
На видео видно ошибку https://yadi.sk/i/y9CcbYIyooG4og (https://yadi.sk/i/y9CcbYIyooG4og)
Название: Re: Ошибка отображения переменных с OPC UA сервера
Отправлено: Миханик от 14 Января 2019, 10:40:28
Нашел ошибку.
Получается при редактировании переменной меняется адрес тега (из адреса удаляются пробелы).
Из картинки видно - желтым отмечены измененные адреса тегов
вместо ns=1, s=OPCDACLIENT.Modbus.ГП201 M-GATE2.ENCONT.P2
подставляется такой адрес ns=1, s=OPCDACLIENT.Modbus.ГП201M-GATE2.ENCONT.P2
Название: Re: Ошибка отображения переменных с OPC UA сервера
Отправлено: Simple-Scada от 14 Января 2019, 11:11:21
Все верно, спасибо за тесты и приложенное видео. Исправим эту проблему в самое ближайшее время и опубликуем внеочередное обновление.
Название: Re: Ошибка отображения переменных с OPC UA сервера
Отправлено: Simple-Scada от 16 Января 2019, 10:28:45
Скачайте последнюю версию скады повторно и установите её поверх текущей для обновления. Теперь не должно возникать проблем с пробелами в адресах.
Название: Re: Ошибка отображения переменных с OPC UA сервера
Отправлено: Миханик от 17 Января 2019, 12:57:56
Спасибо, теперь работает!
Название: Re: Ошибка отображения переменных с OPC UA сервера
Отправлено: Neskad от 15 Октября 2020, 12:19:37
Здравствуйте. Пробую подключить к SScada OPC UA сервер - Взлет СП4.
При импорте тега адрес переменной выглядит так: ns=3;EquipSetParam(E=4;SP=2)
В проекте тег работает и отображается корректно.

При попытке изменить шкалу переменной (и возможно, остальные свойства), от адреса остается только: ns=3;EquipSetParam(E=4. При попытке отредактировать адрес вручную, тот сохраняет адрес только до второго символа ";", а сам символ и всё последующее исчезает. Соответственно, при запуске проекта сервер скады пишет в журнал "неверный адрес тега", а сам тег перестает считываться из OPC UA.
Название: Re: Ошибка отображения переменных с OPC UA сервера
Отправлено: Simple-Scada от 16 Октября 2020, 10:28:17
Здравствуйте. Проблема возникает из-за того, что в адресе используется ";", которая служит разделителем параметров. Попробуем исправить в ближайшем обновлении. Странно что такой адрес вообще работает, т.к. в OPC-UA адреса должны содержать пространство имён + тип идентификатора + сам идентификатор (подробное описание здесь (http://documentation.unified-automation.com/uasdkhp/1.0.0/html/_l2_ua_node_ids.html)). Но в данном случае есть только указание на пространство имён "ns=3;", а далее сразу идёт идентификатор, без типа, что неправильно. Вы уверены, что адрес после импорта выглядит именно так: "ns=3;EquipSetParam(E=4;SP=2)"?
Или может быть он такой:
"ns=3;s=EquipSetParam(E=4;SP=2)"?
Название: Re: Ошибка отображения переменных с OPC UA сервера
Отправлено: Neskad от 16 Октября 2020, 11:49:13
Извиняюсь, опечатался, адрес после импорта выглядит так, как вы указали: ns=3; s=EquipSetParam(E=4;SP=2)
Название: Re: Ошибка отображения переменных с OPC UA сервера
Отправлено: Simple-Scada от 20 Октября 2020, 21:49:07
Проблема исправлена в обновлении 2.4.0.10.
Название: Re: Ошибка отображения переменных с OPC UA сервера
Отправлено: Roman93 от 07 Октября 2022, 08:34:38
Ошибка "некоторые переменные имеют неверный адрес (Bad_NodeIdUnknown):BlowbyPrees_31,not _qvit_alarm, not_qvit_alarm2,Tag30,Tag31" как убрать? Что за ошибка?
Название: Re: Ошибка отображения переменных с OPC UA сервера
Отправлено: Simple_Scada от 07 Октября 2022, 09:59:07
Здравствуйте.

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

Также, на UA-серверах, которые формируют конфигурацию тегов после подключения к ПЛК, данная ошибка может возникать из-за того, что в момент подписки на теги UA-сервер еще не подключился к ПЛК и у него в конфигурации нет этих тегов. Поэтому он будет возвращать такую ошибку. Для работы с такими UA-серверами можно в расширенных настройках UA-сервера установить опцию "Реакция на BadNodeIdUnknown (https://simple-scada.com/help/manual/index.html?opcuanew.html#uapar)" в "попытаться подписаться позже". Тогда, после ошибки скада будет периодически пытаться подписаться на теги повторно. Если конфигурация UA-сервера постоянная и не изменяется при подключении к ПЛК, то данная опция должна быть установлена в "прекратить попытки подписаться".
Название: Re: Ошибка отображения переменных с OPC UA сервера
Отправлено: Roman93 от 07 Октября 2022, 10:12:51
Спасибо будем исправлять