exponenta event banner

getnamespace (opcda)

Пробел имени сервера доступа к OPC Data

Синтаксис

S = getnamespace(DAObj)
S = getnamespace(DAObj,'Filter1',Val1,'Filter2',Val2, ...)

Описание

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

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

  • FullyQualifiedID — полностью определенный ItemID того узла

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

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

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

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

BrowseFilter

Описание

'StartItemID'

Задайте FullyQualifiedID узла ответвления как вектор символов или строка. Только узлы, содержавшиеся в том узле ответвления, будут возвращены. Некоторые Серверы OPC не поддерживают частичное извлечение пространства имен на основе этой опции: ошибка сгенерирована, при попытке использовать фильтр обзора 'StartItemID' на таком сервере.

'Depth'

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

'AccessRights'

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

'DataType'

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

Примеры

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

da = opcda('localhost','Matrikon.OPC.Simulation');
connect(da);
nsFull = getnamespace(da)

Получите только первый уровень пространства имен:

nsPart = getnamespace(da,'Depth',1)

Добавьте узлы, содержавшиеся в первом ответвлении пространства имен к существующей структуре:

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

Смотрите также

| |

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