opcda获取目录及点位

OPCBrowser C# (CSharp) Code Examples - HotExamples

奇怪的技能又增加了,我学会了用ETS5配置KNX_wwyyxx26的专栏-CSDN博客_ets knx里提到的原因,我在做opcda接入。还真麻烦。这篇文件只讲讲opcda获取目录的时遇到的问,目前项目上接入了3个opcda服务,在接入其中一个服务时,获取目录总是出问题。

经过我不懈努力(上网搜索),终于找到了一个满意的方式,代码如下,就是置顶的连接所提到了的方法了。这个是基于动态库opcdaauto.dll的,好使。

/// <summary>
        /// Рекурсивно обходит содержимое OPC-сервера.
        /// </summary>
        /// <param name="aBrowser">Браузер OPC-сервера.</param>
        /// <param name="aPrefix">Префикс для построения дерева.</param>
        private static void ShowOpcTagsRecurcive(OPCBrowser aBrowser, string aPrefix = "")
        {
            var isError = false;
            try {
                aBrowser.ShowBranches();
            }
            catch (Exception ex) {
                Console.WriteLine("Ошибка при отображении ветки.");
                isError = true;
            }

            if (!isError) {
                foreach (var item in aBrowser) {
                    Console.WriteLine(aPrefix + "Ветвь: " + item);
                    aBrowser.MoveDown(item.ToString());
                    ShowOpcTagsRecurcive(aBrowser, aPrefix + "-");
                    aBrowser.MoveUp();
                }
            }

            isError = false;
            try {
                aBrowser.ShowLeafs();
            }
            catch (Exception ex) {
                Console.WriteLine("Ошибка при отображении листа.");
                isError = true;
            }

            if (!isError) {
                foreach (var item in aBrowser) {
                    Console.WriteLine(aPrefix + "Лист:" + item);
                }
            }
        }

这里主要就是对函数ShowBranches MoveDown MoveUp ShowLeafs的使用,这几个函数的具体说明在文档OPC_DA_Auto_2.02_Specification.pdf4.2.4 OPCBrowser Methods里,感兴趣的同学可以看看。也可以直接使用上面的函数了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值