此示例显示如何使用OPC Toolbox™来浏览OPC服务器的网络,并查询服务器项及其属性的服务器名称空间。
先决条件:
你用了opcserverinfo.
在网络上查询主机的功能用于可用的OPC数据访问服务器。此示例使用本地主机。
hostInfo = opcserverinfo ('localhost')
hostinfo = host:'localhost'serverid:{'matrikon.opc.simulation.1'} serverdescription:{'matrikonopc Server用于仿真和测试'} Opcspecification:{'da2'} objectConstructor:{'opcda('localhost','matrikon.opc.simulation.1')'}
返回的结构提供有关每个服务器的信息:
hostinfo.serverdescription'
ans =“用于模拟和测试的MatrikonOPC服务器”
以及您用于创建客户端对象的服务器ID。
AllId = hostinfo.serverid'
AllId ='matrikon.opc.simulation.1'
使用上一步中找到的主机名和服务器ID来构造客户机对象。
da = opcda('localhost'那'matrikon.opc.simulation.1')
DA = OPC数据访问摘要客户端对象:localhost / matrikon.opc.simulation.1服务器参数主机:localhost serverid:matrikon.opc.simulation.1状态:断开连接超时:10秒对象参数组:0-by-1 DAGRUP对象事件日志:1000个事件0
将客户端连接到服务器。
连接(da);
检索服务器的名称空间。
ns = getNamespace(da)
ns = 4×1结构阵列与字段:name全版本nodetype节点
结构的每个元素都是服务器名称空间中的节点。
ns(1)
ans =名称:'仿真项目'全质量下降:'仿真项目¥'nodetype:'branch'节点:[8×1 struct]
使用serverItems.
在包含字符串中查找名称空间中的所有项目的功能真正的
。
Realitems = ServerItems(NS,'*真实*')
Realitems ='Bucket Brigade.arrayofreal8''Bucket Brigade.real4'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''sland.arrayofreal8'Arackor.real4'''rancom.real8'''''''''''''Read Error.real4''读取错误.Real8'''锯齿波.real4'''''''锯齿波.Real8''square waves.real4''''''''''''''三角形waves.real4''triangle waves.real8''写Error.arrayofreal8''写Error.real4''写Error.real8''''''''''''''''''''''''''''''''''''''
检查规范数据类型(propid = 1
)和项目访问权限(提前= 5
)发现的第二件物品。
candt = serveritemprops(da,sealitems {2},1)accessrights = serveritemprops(da,Realitems {2},5)
Candt =提前:1个概括:'项目规范数据类型'propvalue:'单个'propitemid:''accepsrights = propid:5 propdescription:'项目访问权限'propvalue:'读/写'propitemid:''
断开客户端与服务器的连接,并在不再需要OPC工具箱对象时从内存中删除它们。删除client对象也会删除group和item对象。
断开(DA)删除(DA)