通过kepserver实现OPC的数据读写C#实例程序

1、OPC

  OPC是OLE for Process Control的缩写。顾名思义,OPC是一种利用微软的COM/DCOM技术来达成自动化控制的协定。


2、建立KepServer OPC服务器

  KepServer模拟器的使用,参见han_better的博客https://blog.csdn.net/han_better/article/details/81666740
示例使用服务器随附的 Simulator 驱动程序来演示创建、配置和运行项目的过程。
  Simulator 驱动程序是基于内存的驱动程序,能为演示提供静态数据和变化数据。

3、C#如何与OPC连接

  OPC 为硬件制造商与软件开发商提供了一条桥梁,透过硬件厂商提供的 OPC Server 接口,软件开发者不必考虑各项不同硬件间的差异,便可自硬件端取得所需的信息,一般采取OPC Server/Client 运作方式


4、引用

  首先,新建C#应用程序,命名为kepOPC_test,然后将OPCAutomation.dll进行引用,并在代码页中添加如下语句进行引用:

using OPCAutomation;

5、设计

  • 接着,定义相关接口类,OPC的三个主要接口类OPCServer类、OPCGroup类和OPCItem类;
  • 在使用前,要进行枚举网络OPC服务器。枚举OPC服务器主要用到GetOPCServers()函数;
  • 连接OPC服务器Connect
  • 创建组和列出OPC服务器中所有节点信息进行使用。
                //获取OPC所有的变量
                KepBrowser = KepSever.CreateBrowser();
                KepBrowser.ShowBranches();
                KepBrowser.ShowLeafs(true);

                this.lst_Items.Items.Clear();
                foreach (var item in KepBrowser)
                {
                    this.lst_Items.Items.Add(item);
                }

                //初始化OPCGroup
                KepGroups = KepSever.OPCGroups;
                KepGroups.DefaultGroupDeadband = 0;
                KepGroups.DefaultGroupIsActive = true;

                KepGroup = KepGroups.Add("测试通讯组");
                KepGroup.IsActive = true;
                KepGroup.IsSubscribed = true;
                KepGroup.UpdateRate = 250;

                //增加一个事件(异步调用)
                KepGroup.AsyncReadComplete +=KepGroup_AsyncReadComplete;

6、程序界面

程序界面

7、参考资料

1、han_better的博客https://blog.csdn.net/han_better/article/details/81666740
2、百度经验https://jingyan.baidu.com/article/546ae185dab6921149f28cc6.html
3、优酷视频KEPServerEX6之C#开发OPC客户端实现OPCDA通讯,https://v.youku.com/v_show/id_XNDYwNjc4NDIwMA==

8、程序下载地址

1、dalong10的下载https://download.csdn.net/download/dalong10/12741990

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。