此示例显示如何使用OPC Toolbox™来浏览OPC历史数据访问服务器的网络,并使用OPC Toolbox函数查询服务器项及其属性的服务器名称空间。
先决条件:
你用了OpchdaserverInfo.
在网络上查询主机的功能用于可用的OPC历史数据访问服务器。此示例使用本地主机。
hostinfo = opchdaserverinfo('localhost'的)
hostinfo = opc hda服务器信息对象:主机:localhost serverid:matrikon.opc.simulation.1说明:用于仿真和测试HDaspecification的Matrikonopc服务器:HDA1
使用Matrikon开始的描述查找服务器信息条目。
Hindex = FindDescription(hostinfo,'matrikon')Hostinfo(Hindex)
Hindex = 1 ANS = OPC HDA Server信息对象:主机:localhost serverid:matrikon.opc.simulation.1描述:用于仿真和测试HDaspecification的Matrikonopc服务器:HDA1
使用serverinfo.
对象在上一步中返回以构建客户端对象。
hdaobj = opchda(hostinfo(hindex));
您还可以直接指定主机名和服务器ID。
hdaobj = OPCHDA('localhost'那'matrikon.opc.simulation.1'的)
hdaobj = opc hda客户端localhost / matrikon.opc.simulation.1:主机:localhost serverid:matrikon.opc.simulation.1超时:10秒状态:已断开连接的聚合: - (客户端已断开连接)ItemAttributes: - (客户端是断开连接)
将客户端连接到服务器。
连接(hdaobj);
检索服务器的名称空间。
ns = getNamespace(hdaobj)
ns = 4×1结构阵列与字段:name全版本nodetype节点
结构的每个元素都是服务器名称空间中的一个节点。
ns(1)
ans = name:'仿真项目'specialqualifiedid:'仿真项目¥'nodetype:'branch'节点:[8×1 struct]
使用ServerItems.
功能要在包含字符串中查找名称空间中的所有项目真实的
。
Realitems = ServerItems(NS,'*真实的*'的)
Realitems ='Bucket Brigade.Arrayofreal8''Bucket Brigade.real4'''''''''''''''''''''''''''''''''''rancom.arrayofreal8''random.real4''random.real8'''''''''''''readR.Real4''读取错误.real8''''锯齿波.real4'''''''锯齿波.real8''''''''''''''''''''''''''''''''''''''triangle waves.real8''写Error.arrayofrea7''写Error.real4''写Error.real8''只写入.Arrayofreal8'''''''''''''''''写.real8'
检查找到的第十项的当前正常最大值。
maxval = readitemattributes(hdaobj,sealitems {10},hdaobj.itemattributes.normal_maximum,现在,现在)
警告:Saw-Tooked Waves.real4:没有历史可用于属性。maxval = itemid:'锯齿波.Real4'attributeId:11时间戳:7.3643E + 05值:100
该警告表示该项目尚未存储在历史记者数据库中,但返回预配置的项目属性。
断开客户端从服务器的连接,并在不再需要时从内存中删除OPC工具箱对象。删除客户端对象还删除组和项目对象。
断开连接(HDAOBJ)删除(HDAOBJ)