主要内容

查找和浏览OPC数据访问服务器

这个示例向您展示了如何使用OPC Toolbox™来浏览网络中的OPC服务器,并查询服务器项及其属性的服务器名称空间。

先决条件:

步骤1:浏览网络中的OPC服务器

您使用opcserverinfo用于查询网络上主机上可用的OPC数据访问服务器的函数。此示例使用本地主机。

hostInfo=opcserverinfo(“本地主机”)
hostInfo=Host:'localhost'服务器ID:{'Matrikon.OPC.Simulation.1'}服务器描述:{'MatrikonOPC模拟和测试服务器'}opcsSpecification:{'DA2'}对象构造函数:{'opcda('localhost','Matrikon.OPC.Simulation.1')}

返回的结构提供了关于每个服务器的信息:

hostInfo.ServerDescription'
ans = '模拟和测试的MatrikonOPC服务器'

以及用于创建客户端对象的服务器ID。

allID=hostInfo.ServerID'
allID='Matrikon.OPC.Simulation.1'

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

使用上一步中找到的主机名和服务器ID构造客户端对象。

da=opcda(“本地主机”,'Matrikon.OPC.Simulation.1')
da=OPC数据访问客户端对象的摘要:localhost/Matrikon.OPC.Simulation.1服务器参数主机:localhost ServerID:Matrikon.OPC.Simulation.1状态:断开连接超时:10秒对象参数组:0-by-1 dagroup对象事件日志:0/1000事件

将客户端连接到服务器。

连接(da);

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

检索服务器的名称空间。

ns=getnamespace(da)
ns=4×1带字段的结构数组:Name FullyQualifiedID节点类型节点

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

ns(1)
ans=Name:'Simulation Items'FullyQualifiedID:'Simulation Items¥'节点类型:'branch'节点:[8×1结构]

步骤4:在名称空间中查找项目

使用服务器项函数查找名称空间中包含字符串的所有项真实的.

realItems=serveritems(ns,“*真实*”)
realItems='Bucket Badget.ArrayOfReal8''Bucket Badget.Real4''Bucket Badget.Real8''Random.ArrayOfReal8''Random.Real4''Random.Real8''读取错误。Real4''读取错误。Real8''锯齿波。Real4''锯齿波。Real8''方波。Real4''方波。Real8''三角波。Real4''三角波。Real8''写入e错误。ArrayOfReal8“”写入错误。Real4“”写入错误。Real8“”只写。ArrayOfReal8“”只写。Real4“”只写。Real8'

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

检查规范数据类型(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:'

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

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

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