Пакет: opc.hda
Пробел имени сервера доступа к историческим данным OPC
NS = getNameSpace(HdaObj)
NS = getNameSpace(HdaObj,'StartItemID','itemID')
NS = getNameSpace(HdaObj, 'Depth',
dLevel)
NS = getNameSpace(HdaObj,'StartItemID','itemID','Depth',dLevel)
NS = getNameSpace(HdaObj) получает целый пробел имени сервера от связанного Клиента HDA OPC HdaObj.
NS = getNameSpace(HdaObj,'StartItemID','itemID') получает пробел имени сервера, начинающийся в Полностью определенном ID Элемента 'itemID', и все ветви в пространстве имен ниже 'itemID'.
NS = getNameSpace(HdaObj, 'Depth',
dLevel) получает dLevel уровни пробела имени сервера, начинающегося в корне пробела имени сервера. Определение dLevel как 1 получает только узлы (ветвь и лист) содержавшийся в корне пробела имени сервера.
NS = getNameSpace(HdaObj,'StartItemID','itemID','Depth',dLevel) получает dLevel уровень (уровни) пространства имен, запускающегося в Полностью определенном ID Элемента 'itemID'.
Во всех случаях, NS рекурсивный массив структур, представляющий пространство имен сервера. Каждый элемент NS узел в пространстве имен. NS содержит поля:
Name — описательное имя
FullyQualifiedID — полностью определенный ItemID из того узла
NodeType — задает узел как 'branch' узел (содержащий другие узлы) или 'leaf' узел (содержащий никакие другие узлы)
Nodes — массив структур с теми же полями как NS, представление узлов содержится в этой ветви пространства имен
Используйте flatnamespace сглаживать иерархическое пространство имен.
Получите целое пространство имен для Сервера Симуляции Matrikon™ на локальном хосте:
hdaObj = opchda('localhost','Matrikon.OPC.Simulation'); connect(hdaObj); nsFull = getNameSpace(hdaObj)
Получите только первый уровень пространства имен:
nsPart = getNameSpace(hdaObj,'Depth',1)Добавьте узлы, содержавшиеся в первой ветви пространства имен к существующей структуре:
nsPart(1).Nodes = getNameSpace(hdaObj, ... 'StartItemID',nsPart(1).FullyQualifiedID, ... 'Depth',1);