OPC基础树结构

时间:2014-12-17 14:25:01

标签: treeview opc

我一直在网上搜索,但我无法弄清楚如何在OPC服务器上获取项目的树视图。我使用了以下代码:

 using Opc.Da;
 using Server=Opc.Da.Server;
 using Factory=OpcCom.Factory;

 string urlstring = string.Format("opcda://{0}/{1}/{{{2}}}", _hostName, _serverName, serverid);
 Server s = new Server(new Factory(), new URL(urlstring));
 ItemIdentifier itemId = null;
 BrowsePosition position;
 BrowseFilters filters = new BrowseFilters() {BrowseFilter = browseFilter.item};
 BrowseElement[] elements = s.Browse(itemId, filters, out position);

1 个答案:

答案 0 :(得分:0)

您没有说明究竟什么不起作用。但是,主要问题可能在于您使用的是BrowseFilter = browseFilter.item。树中的节点是叶子(有时称为项目)或分支。您的代码只询问树根下的叶子。根目录下可能没有任何项目,你也需要获得分支,然后递归地深入分支。

首先更改代码以使用BrowseFilter = browseFilter.all。这应该为您提供根目录下的所有节点。然后,使用每个分支的项目ID作为新浏览的起点,递归调用您收到的分支(只是分支,而不是项目)。