首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OPC基础树结构

OPC基础树结构
EN

Stack Overflow用户
提问于 2014-12-17 22:25:01
回答 1查看 480关注 0票数 0

我一直在网上搜索,但我想不出如何在OPC服务器上获得项目的树状视图。我使用了以下代码:

代码语言:javascript
复制
 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);
EN

回答 1

Stack Overflow用户

发布于 2014-12-18 00:35:42

您没有确切地说明什么是不起作用的。然而,主要的问题可能在于您使用的是BrowseFilter = browseFilter.item。树中的节点要么是树叶(有时称为项目),要么是树枝。您的代码只需要树根下的leafs。根目录下可能没有项目,您还需要获取分支,然后递归地深入到分支中。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27527763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档