exponenta event banner

opcuanode

Создание объектов узла OPC UA

Описание

пример

NodeList = opcuanode(Index,Id) создает объект узла OPC UA или массив объектов из информации в Index и Id. Index - числовой или числовой вектор. Id - символьный вектор, строка, скалярное целое число или массив ячеек, содержащий символьные векторы и скалярные целые числа. Этот синтаксис используется для создания объектов узла для известных узлов на сервере OPC UA. Каждый узел Name свойство имеет значение 'Index:Identifier'и другие свойства узла остаются пустыми до тех пор, пока узел не будет использован для доступа к серверу OPC UA. При успешном использовании объекта узла с клиентом с помощью writeValue или readValue, Client свойству узла присваивается значение client, а другие атрибуты считываются с этого клиента.

пример

NodeList = opcuanode(Index,Id,UaClient) немедленно связывает объект узла с указанным клиентом UaClient. Если UaClient подключен в это время, opcuanode функция также извлекает другие свойства с сервера, связанного с UaClient.

Использовать opcuanode создавать объекты узла, только если известен индекс и идентификатор интересующих узлов. Для узлов, которые необходимо найти на сервере, создайте объекты узлов путем просмотра пространства имен подключенного клиентского объекта OPC UA с помощью browseNamespace или getNamespaceили просмотрите Parent и Children свойств существующих узловых объектов.

Примеры

свернуть все

Создайте объект узла из значений индекса и идентификатора. Используйте узел для записи значения на сервер, а затем обратите внимание, что его свойства заданы с сервера.

S = opcuaserverinfo('localhost');
UaClient = opcua(S);
connect(UaClient);
myNode = opcuanode(2,10225); % Not associated with server yet.
writeValue(UaClient,myNode,pi)
myNode
myNode = 
OPC UA Node:
   Node Information:
                      Name: 2:10225
               Description: 
            NamespaceIndex: 2
                Identifier: 10225
                  NodeType: Variable

   Hierarchy Information:
                    Parent: ''
                  Children: 0

   Server Information:
            ServerDataType: Float
        AccessLevelCurrent: read/write
        AccessLevelHistory: none
               Historizing: 0

Создайте известный объект узла и используйте его для поиска других узлов.

UaClient = opcua('localhost',51210);
connect(UaClient);
boilerNode = opcuanode(4,1241,UaClient);
ftxNodes = findNodeByName(boilerNode,'FTX','-partial')
ftxNodes = 
1x2 OPC UA Node array:
    index   Name   NsInd  Identifier  NodeType  Children
    -----  ------  -----  ----------  --------  --------
      1    FTX001  4      1243        Object    1
      2    FTX002  4      1266        Object    1

Входные аргументы

свернуть все

Индекс узла, указанный как числовое значение или массив.

Пример: 2

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Идентификатор узла, указанный как числовое, символьное или строковое значение, или их массив.

Пример: 10225

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | char | string

клиент OPC UA, указанный как opc.ua.Client объект. Можно создать клиент с помощью opcua функция.

Пример: opcua()

Выходные аргументы

свернуть все

узлы OPC UA, возвращаемые в виде массива opc.ua.Node объекты. Объект узла OPC UA хранит информацию о узле на сервере OPC UA. Можно считывать и записывать текущие данные, а также считывать исторические данные с помощью переменных узлов. Пространство имен можно просматривать с помощью объектных и переменных узлов.

Тип узла описывается его NodeType свойство, которое может указывать 'Object' или 'Variable' тип. Узлы переменных типов могут содержать значения данных, тогда как узлы объектных типов не могут содержать значения. Каждый тип узла может содержать другие узлы: объектные узлы могут содержать объектные и переменные узлы, переменные узлы могут содержать другие переменные узлы.

Объекты узла включают следующие свойства.

СобственностьОписание
Свойства удостоверения
NameОтображаемое имя узла.
NodeTypeТип узла: 'Object' или 'Variable'.
NamespaceIndexИндекс пространства имен для этого узла.
IdentifierTypeТип идентификатора: 'string', 'numeric', или 'GUID'.
IdentifierУникальный идентификатор. Символьный вектор или целое число, в зависимости от IdentifierType.
Свойства связи
ParentРодительский узел этого узла.
ChildrenДочерние узлы этого узла.
ClientСсылка на клиент OPC UA, связанный с узлом.
FullyQualifiedIdСимвольный вектор, однозначно описывающий этот узел.
Основные атрибуты
DescriptionСимвольный вектор, описывающий узел.
MinimumSamplingIntervalМинимальная скорость, с которой может изменяться значение узла.
HistorizingTrue, если сервер хранит историю для узла.
ServerDataTypeТип данных OPC UA для узла.
Информационные атрибуты
AccessLevelCurrentУровень доступа пользователя к текущему значению: 'none', 'read', 'write', 'read/write'.
AccessLevelHistoryУровень доступа пользователя к историческим значениям: 'none', 'read', 'write', 'read/write'.
ServerValueRankОграничения на размер значения сервера: 'unrestricted', 'scalar', 'vector', или 'array'.
ServerArrayDimensionsРазмеры массива значения сервера. Может быть пустым, так как это свойство является необязательным для серверов.
Представлен в R2015b