一、自动化接口和自定义接口
开发OPCDA客户端程序,主要分为自动化接口和自定义接口两种:
- 使用自动化接口
需要用到OPCDAAuto.dll - 使用自定义接口
需要用到多个Wrapper:OpcRcw.Ae.dll,OpcRcw.Batch.dll,OpcRcw.Comn.dll,OpcRcw.Da.dll,OpcRcw.Dx.dll,OpcRcw.Hda.dll,OpcRcw.Sec.dll
对于这两种接口的选择,如果采用像C++这样的语言来开发OPC客户端时,我们会选择自定义接口的方式。而如果采用VB/.NET和C#/.NET这样的高级语言来开发OPC客户端时,我们一般就采用自动化接口,但这并不意味着C#不能使用自定义接口,只是自动化接口更加方便和简单。
二、自动化接口
自动化接口是OPC基金会组织为了方便并统一OPC客户端开发而发布的一个接口、属性和方法的协议集。
自动化接口中共定义了6类对象:OPCServer对象、OPCBrowser对象、OPCGroups对象、OPCGroup对象、OPCItems对象、OPCItem对象。
1、OPCServer对象
由客户端创建的OPCServer自动化对象,然后客户端通过其方法实现连接到OPC数据访问自定义接口。
OPCServer对象现在可以用来获取关于OPC服务器的一般信息,并创建和操作OPCGroup对象的集合。
- 主要属性:
ServerName、ServerState、OPCGroups、ServerNode等 - 主要方法
GetOPCServers、CreateBrowser、Connect、Disconnect等
2、OPCBrowser对象
OPCBrowser对象是在服务器中存在的分支或项目名称的集合。其是可选的。如果服务器不支持,将不会创建这个对象。
3、OPCGroups对象
OPCGroups是OPCGroup对象的集合,以及创建、删除和管理它们的方法。
该对象还具有OPCGroup默认属性。当添加OPCGroups时,DefaultGroupXXXX属性设置其初始状态。可以更改默认值,以添加具有不同初始状态的OPC组。更改默认值并不会影响已经创建的组。添加OPCGroup后,它的属性可以被修改,这减少了调用Add方法所需的参数数量。
4、OPCGroup对象
OPC组为客户组织数据提供了一种方式。例如,组可能表示特定操作符显示或报告中的项。数据可以读写。
基于异常的连接也可以在客户端和组中的项之间创建,可以根据需要启用和禁用。
OPC客户机可以配置OPC服务器应该向OPC客户机提供数据更改的速率。
5、OPCItems对象
这个对象还具有OPCItem默认的属性。当添加OPCItem时,DefaultXXXX属性设置其初始状态。可以更改默认值,以添加具有不同初始状态的OPCItems。当然,一旦添加了OPCItem,它的属性可以被修改,这减少了调用Add方法所需的参数数量。
6、OPCItem对象
OPC项表示与服务器中的数据源的连接。
与每个项目相关联的是一个值,质量和时间戳。
值以变量的形式出现,质量表示通信是否正常。
三、OPCDAAuto注册
-
OPC服务器搭建完成后,我们接着开发OPC客户端,这里使用通信库OPCDAAuto.dll,在使用该库之前,需要进行注册,注册dll步骤如下:
-
管理员权限运行CMD窗口;
-
将OPCDAAuto.dll文件复制到C:\Windows\System32路径下;
-
执行regsvr32 C:\Windows\System32\OPCDAAuto.dll;
-
提示注册成功即可。
四、
五、参考资料
「盐沉一」的博客:
https://blog.csdn.net/weixin_33764463/article/details/112719273
Moonan的博客:
https://blog.51cto.com/u_520887/5291474











网友评论