В этом разделе описывается функция OPC HDA CNS OPC HDA-сервера “КАСКАД Цифра», которая позволяет сопоставлять представления CNS с адресным пространством сервера. Таким образом, адресное пространство сервера не зависит от структуры точек данных соответствующего проекта и может быть свободно определено.
Использование CNS означает, что группы точек данных не требуются. Необходимую структуру представления CNS можно определить с помощью редактора Plantmodel или функций управления.
Конфигурация
Идентификатор представления, которое должно быть сопоставлено с адресным пространством, должен быть указан во внутренней конфигурации элемента точки данных.CNSView типа _OPCPvssServer. Каждому серверу может быть назначено только одно представление.
ПРИМЕЧАНИЕ
Сервер OPC HDA проверяет конфигурацию.Элемент точки данных CNSView только при запуске. Если в адресное пространство должно быть отображено другое представление, в элементе точки данных должен быть определен другой идентификатор представления. После этого сервер должен быть перезапущен. В случае неверного идентификатора просмотра сервер завершает работу и отображается следующее сообщение об ошибке:
СЕРЬЕЗНОЕ, 54, Непредвиденное состояние, CNSViewBrowser, Конструктор, View ‘View13’ не существует!
Системное имя “КАСКАД Цифра» и имя представления не являются частью адресного пространства сервера. Первым уровнем адресного пространства является корневой узел, настроенный с помощью элемента конфигурации rootNode. Узлы представления CNS отображаются под настроенным корневым узлом.
Уровень доступа
Атрибут AccessLevel должен использоваться для определения способа доступа к значению переменной (чтение /запись). Сервер OPC UA представляет только узлы, для которых определен соответствующий уровень доступа.
Чтобы определить уровень доступа для узла, ключевое слово OA:OPC со значением типа данных UINTEGER_VAR должно быть сохранено в пользовательских данных узла (либо автоматически через редактор Plantmodel – OPC или cnsSetProperty). Все дочерние заметки, для которых явно не задан уровень доступа, наследуют уровень доступа родительского узла.
Поле | Бит | Описание |
История | 3 | Указывает, могут ли быть запрошены исторические значения соответствующего узла через OPC HDA server (узел отображается в адресном пространстве).0: Исторические значения не могут быть запрошены 1: Исторические значения могут быть запрошены |
Наследование | 31 | Указывает, является ли уровень доступа этого узла наследуемым или действителен только для этого узла.0: Наследуемый 1: Не наследуемый |
Сопоставление с адресным пространством сервера
Точки данных могут быть назначены узлам представления CNS. Если узлу назначен элемент точки данных и определен уровень доступа, объект для этого узла представляется как КОНЕЧНЫЙ элемент и представляет текущее значение связанного элемента точки данных.
Узлы CNS без какого-либо связанного элемента точки данных представлены в виде элементов ВЕТВИ.
Обратите внимание на следующую информацию:
- Узел без уровня доступа не представлен в адресном пространстве сервера, если не определен уровень доступа по крайней мере для одного дочернего узла и дочерний узел не назначен элементу точки данных
- Узел с определенным уровнем доступа, но без назначенного элемента точки данных, не сопоставляется с адресным пространством, если только не существует хотя бы одного дочернего узла с назначенным элементом точки данных.
- Родительский узел с назначенным элементом точки данных, но без определенного уровня доступа, отображается как элемент ВЕТВИ, если уровень доступа определен для одного из дочерних узлов.
- Структура объектов в адресном пространстве соответствует структуре связанной точки данных. Если узлу назначена структура элемента точки данных, сервер OPC UA добавляет все элементы связанной структуры к узлу CNS.
ПРИМЕЧАНИЕ
Имена элементов точек данных связанной структуры используются для идентификатора узла OPC HDA. Если имена элементов точки данных связанной структуры конфликтуют с узлами CNS с тем же идентификатором, OPC HDA server выводит сообщение об ошибке в LogViewer. В этом случае узлы, которые уже существуют в адресном пространстве, остаются неизменными, а новые конфликтующие узлы не добавляются в адресное пространство.
Атрибуты представления CNS сопоставляются с адресным пространством следующим образом:
Просмотр CNS | Адресное пространство | Комментарий |
Путь к идентификатору | ItemId | Полный идентификационный путь соответствующего узла CNS без имени системы и имени представления CNS. |
Пользовательские данные (OA: OPC) | Уровень доступа | Уровень доступа (чтение/ запись) узла CNS хранится в его пользовательских данных |
Дополнительная информация
Изменения в представлении CNS
Следующие изменения в используемом представлении CNS динамически применяются к адресному пространству во время выполнения:
- Создание новых узлов
- Удаление существующих узлов
- Изменение идентификатора узла
- Связь элементов точек данных с узлами
- Удаление назначений элементов точек данных
- Изменение уровня доступа к узлам
Модификации типов точек данных “КАСКАД Цифра» (например, добавление нового узла к существующему типу точки данных или изменение типа элемента) не применяются к адресному пространству во время выполнения. Поэтому сервер должен быть перезапущен после изменения типа точки данных элемента (структуры) точки данных, который связан с узлом CNS.
ПРИМЕЧАНИЕ
В случае больших просмотров изменения корневых элементов могут предъявлять высокие требования к вычислительной мощности OPC HDA сервера. Например, все адресное пространство должно быть удалено и создано заново при изменении идентификатора корневого узла.
Пример сопоставления представления CNS с сервером
В следующем примере показано, как представление CNS может быть сопоставлено с адресным пространством OPC UA-сервера.
Просмотр CNS | Связь с точкой передачи данных | Определен уровень доступа? | Сопоставлен с сервером | ||
N1 | НЕТ | НЕТ | ДА | ||
N1_1 | ДА | НЕТ | Да (как ФИЛИАЛ) | ||
N1_1_1 | ДА | ДА | ДА | ||
N1_2 | НЕТ | ДА | НЕТ | ||
N1_3 | ДА | ДА | ДА | ||
N1_3_1 | ДА | НЕТ | ДА |