主要内容

找到并浏览OPC历史数据访问服务器

此示例显示如何使用OPC Toolbox™来浏览OPC历史数据访问服务器的网络,并使用OPC Toolbox函数查询服务器项及其属性的服务器名称空间。

先决条件:

第1步:浏览OPC HDA服务器的网络

你用了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

第2步:构建客户端对象并连接到服务器

使用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);

步骤3:检索服务器名称空间

检索服务器的名称空间。

ns = getNamespace(hdaobj)
ns = 4×1结构阵列与字段:name全版本nodetype节点

结构的每个元素都是服务器名称空间中的一个节点。

ns(1)
ans = name:'仿真项目'specialqualifiedid:'仿真项目¥'nodetype:'branch'节点:[8×1 struct]

第4步:查找名称空间中的项目

使用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'

步骤5:查询服务器项属性

检查找到的第十项的当前正常最大值。

maxval = readitemattributes(hdaobj,sealitems {10},hdaobj.itemattributes.normal_maximum,现在,现在)
警告:Saw-Tooked Waves.real4:没有历史可用于属性。maxval = itemid:'锯齿波.Real4'attributeId:11时间戳:7.3643E + 05值:100

该警告表示该项目尚未存储在历史记者数据库中,但返回预配置的项目属性。

第6步:清理OPC工具箱对象

断开客户端从服务器的连接,并在不再需要时从内存中删除OPC工具箱对象。删除客户端对象还删除组和项目对象。

断开连接(HDAOBJ)删除(HDAOBJ)