【问题标题】:OPC Foundation Tree structureOPC 基础树结构
【发布时间】:2014-12-17 14:25:00
【问题描述】:

我一直在网上搜索,但不知道如何获得 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);

【问题讨论】:

    标签: treeview opc


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢!你有我搜索根后如何搜索下一个叶子的示例吗?
    猜你喜欢
    • 2013-10-20
    • 1970-01-01
    • 1970-01-01
    • 2021-11-15
    • 2010-09-10
    • 2014-04-30
    • 1970-01-01
    • 1970-01-01
    • 2016-04-05
    相关资源
    最近更新 更多