Этот пример показывает вам, как использовать OPC Toolbox™, чтобы просмотреть сеть Серверы OPC и запросить пробел имени сервера для серверных элементов и их свойств.
ПРЕДПОСЫЛКИ:
Вы используете opcserverinfo функционируйте, чтобы запросить хост в сети для доступного OPC Data доступ к серверам. Этот пример использует локальный хост.
hostInfo = opcserverinfo('localhost')
hostInfo =
Host: 'localhost'
ServerID: {'Matrikon.OPC.Simulation.1'}
ServerDescription: {'MatrikonOPC Server for Simulation and Testing'}
OPCSpecification: {'DA2'}
ObjectConstructor: {'opcda('localhost', 'Matrikon.OPC.Simulation.1')'}
Возвращенная структура предоставляет информацию о каждом сервере:
hostInfo.ServerDescription'
ans =
'MatrikonOPC Server for Simulation and Testing'
и о ID Сервера вы используете, чтобы создать объект клиента.
allID = hostInfo.ServerID'
allID =
'Matrikon.OPC.Simulation.1'
Используйте имя хоста и ID сервера, который, как находят на предыдущем шаге, создал объект клиента.
da = opcda('localhost','Matrikon.OPC.Simulation.1')
da =
Summary of OPC Data Access Client Object: localhost/Matrikon.OPC.Simulation.1
Server Parameters
Host : localhost
ServerID : Matrikon.OPC.Simulation.1
Status : disconnected
Timeout : 10 seconds
Object Parameters
Group : 0-by-1 dagroup object
Event Log : 0 of 1000 events
Соедините клиент с сервером.
connect(da);
Получите пространство имен сервера.
ns = getnamespace(da)
ns =
4×1 struct array with fields:
Name
FullyQualifiedID
NodeType
Nodes
Каждым элементом структуры является узел на пробеле имени сервера.
ns(1)
ans =
Name: 'Simulation Items'
FullyQualifiedID: 'Simulation Items¥'
NodeType: 'branch'
Nodes: [8×1 struct]
Используйте serveritems функционируйте, чтобы найти все элементы в пространстве имен, содержащем строку Real.
realItems = serveritems(ns,'*Real*')
realItems =
'Bucket Brigade.ArrayOfReal8'
'Bucket Brigade.Real4'
'Bucket Brigade.Real8'
'Random.ArrayOfReal8'
'Random.Real4'
'Random.Real8'
'Read Error.ArrayOfReal8'
'Read Error.Real4'
'Read Error.Real8'
'Saw-toothed Waves.Real4'
'Saw-toothed Waves.Real8'
'Square Waves.Real4'
'Square Waves.Real8'
'Triangle Waves.Real4'
'Triangle Waves.Real8'
'Write Error.ArrayOfReal8'
'Write Error.Real4'
'Write Error.Real8'
'Write Only.ArrayOfReal8'
'Write Only.Real4'
'Write Only.Real8'
Исследуйте канонический тип данных (PropID = 1) и права доступа элемента (PropID = 5) из второго найденного элемента.
canDT = serveritemprops(da,realItems{2},1)
accessRights = serveritemprops(da,realItems{2},5)
canDT =
PropID: 1
PropDescription: 'Item Canonical DataType'
PropValue: 'single'
PropItemID: ''
accessRights =
PropID: 5
PropDescription: 'Item Access Rights'
PropValue: 'read/write'
PropItemID: ''
Отключите клиент от сервера и удалите объекты OPC Toolbox из памяти, когда вам больше не будут нужны они. Удаление объекта клиента также удаляет объекты элемента и группа.
disconnect(da) delete(da)