主要内容

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

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

先决条件:

第一步:浏览网络,寻找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'

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

使用上一步中找到的主机名和服务器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);

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

检索服务器的名称空间。

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

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

ns(1)
ans =名称:'仿真项目'全质量下降:'仿真项目¥'nodetype:'branch'节点:[8×1 struct]

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

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

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

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

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

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

断开(DA)删除(DA)