Пакет: 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 содержит поля:
Имя описательное имя
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);