exponenta event banner

getnamespace

Пространство имен сервера OPC DA

Описание

пример

S = getnamespace(DAObj) возвращает все пространство имен сервера, связанного с доступом к данным (opcda) объект, указанный DAObj. S - рекурсивный структурный массив, представляющий пространство имен сервера. Каждый элемент S является узлом в пространстве имен. S содержит поля:

  • Name - описательное имя

  • FullyQualifiedID - полностью квалифицированный ItemID этого узла

  • NodeType - определяет узел как 'branch' узел (содержащий другие узлы) или 'leaf' узел (не содержащий других узлов)

  • Nodes - структурный массив с теми же полями, что и S, представляющий узлы, содержащиеся в этой ветви пространства имен.

Использовать flatnamespace для выравнивания иерархического пространства имен.

S = getnamespace(DAObj,'Filter1',Val1,'Filter2',Val2, ...) позволяет фильтровать полученное пространство имен на основе нескольких доступных фильтров обзора. Доступные фильтры описаны в таблице в разделе Обзор фильтров.

Примеры

свернуть все

  1. Получите все пространство имен для сервера моделирования Matrikon™ на локальном хосте:

    da = opcda('localhost','Matrikon.OPC.Simulation');
    connect(da);
    nsFull = getnamespace(da)
  2. Получить только первый уровень пространства имен:

    nsPart = getnamespace(da,'Depth',1)
  3. Добавьте узлы, содержащиеся в первой ветви пространства имен, в существующую структуру:

    nsPart(1).Nodes = getnamespace(da, ...
       'StartItemID', nsPart(1).FullyQualifiedID, ...
       'Depth',1);

Совет

BrowseFilter

Описание

'StartItemID'

Укажите FullyQualifiedID узла ветви в виде символьного вектора или строки. Будут возвращены только узлы, содержащиеся в этом узле ветви. Некоторые OPC-серверы не поддерживают частичное извлечение пространства имен на основе этого параметра: При попытке использовать 'StartItemID' просмотр фильтра на таком сервере.

'Depth'

Укажите глубину возвращаемого пространства имен. A 'Depth' значение 1 возвращает только узлы, содержащиеся в начальной позиции. A 'Depth' значение 2 возвращает узлы, содержащиеся в начальной позиции, и все их узлы. A 'Depth' значение Inf возвращает все узлы. При сочетании с 'StartItemID' фильтр, 'Depth' фильтр предоставляет удобный способ исследовать иерархию сервера имен на одном уровне за один раз.

'AccessRights'

Ограничивает поиск конечными узлами с определенными характеристиками прав доступа. Определить 'read' для возврата узлов, которые включают право доступа на чтение, и 'write' для возврата узлов, которые включают право доступа на запись. Пустой символьный вектор ('') возвращает узлы с любыми правами доступа. Обратите внимание, что узлы ветви по-прежнему будут возвращаться в пространстве имен, чтобы содержать конечные узлы, которые имеют запрошенные права доступа.

'DataType'

Ограничивает поиск узлами с определенным каноническим типом данных. Допустимые типы данных: 'double', 'single', 'int8', 'int16', 'int32', 'uint8', 'uint16', 'uint32', 'logical', 'currency', и 'date'. Используйте 'DataType' фильтр для поиска элементов сервера с определенным типом данных, например, 'double' или 'date'. Обратите внимание, что узлы ветвей по-прежнему будут возвращаться в пространстве имен, чтобы содержать конечные узлы с требуемым типом данных.

См. также

Функции

Представлен до R2006a