OPC编程汇编
OPC客户端的自动化实现
OPC是建立在,D的基础商的,因此绝大多数语言都可以很好的进行开发。在Net中开发客户端有以下几种方式:
(1) 使用OPetAPI,,OPetAPI..dll
(2) 使用自动化接口,
(3) 使用自定义接口,需要用到多个Wrapper:,,,,,,
以上开发方式所需的动态库可以从OPC基金会(./)的上下载,一些下载项目可能需要注册,或成为基金会的成员。
不同的方式有各自的有缺点,请参见…
本文使用自动化接口,,开发项目是无线射频(RFID)卡方面的应用,典型的如公交车,或公司考勤使用的刷卡机。需要注意的是自动化接口存在一个“不是问题”的问题,数组下标是以1开始的,而不是传统计算机开发上的以0开始。不知道设计者头脑是怎么想(有人知道吗?);这可能会给一些语言的开发造成问题(有人碰到吗,没有你就是幸运的)
需求:
(一) :客户端开发流程
OPC客户端的开发主要遵循下图所示的开发流程,下面就从以下几个开发步骤进行说明
(二) :枚举OPC服务器列表
枚举服务器主要是通过OPCServer接口的GetOPCServers方法来实现的,该方法会返回OPC服务器数组(以1为下界,上面已有说明),以下是代码段
'枚举OPC服务器列表
Private Sub Form1_Load(ByVal sender As , ByVal e As ) Handles
Try
GlobalOPCServer = New ()
Dim ServerList As Object =
For index As Short = LBound(ServerList) To UBound(ServerList) '加入控件列表中,注意这里使用LBound和UBound
(ServerList(index))
Next
If > 0 Then
= 0
End If
ResetControlStatus() '设置控件状态
GlobalOPCServer = Nothing
Catch Ex As Exception
("List OPC servers failed: " + , "OPCSample", )
End Try
End Sub
(三) :连接OPC服务器
自动化接口中连接到服务器是使用connect方法
Public Overridable Sub Connect(ByVal ProgID As String, Optional ByVal Node As Object = Nothing)
ProgID指服务器的ProgID,Node代表网络节点,如果是本机则放空即可。
连接到服务器后,以下属性需要特别注意:
:服务器的启动时间
:服务器的当前时间,各个客户端可以通过这个属性值完成一些同步的操作
:以后添加的Group是否默认激活
:Grou
opc客户端编程汇编 来自淘豆网www.taodocs.com转载请标明出处.