用 VB 开发 OPC 客户端程序的步骤与实现
( 1 ) 建立新工程或项目 ,在 “工 程” 菜 单 下 选 择 “引用” , 如 图 5-3 所 示。 只有 引 用
OPCDAAuoto.DLL 后,在程序中才能创建服务器对象,然后进行一系列的操作。
( 2 ) 在 弹 出 的 引 用 窗 口 里 单 击 “ 浏 览 (B)…” 按 钮 , 弹 出 添 加 引 用 窗 口 , 选 择
OPCDAAuoto.DLL 文件。
(3)在引用窗口里的 OPCAutomation2.0 前面打钩,按“确定”按钮。
(4)定义全局变量,这样可以在窗体的任何方法的代码内应用。变量类型应该指定为对象
型。这些对象最好在窗体的通用部分声明加上“OptionExplicit”语句,表示模块里的所有变
量都需要显式声明。由于 OPC 自动化接口的数组的索引要求必须从 1 开始,而系统默认是
从 0 开始,为了避免错误最好在代码的最初加上“OptionBase1”语句。为了使对象可以处理
事件,必须将 objTestGrp 和 objServer 的声明中加上“WithEvents”语句,表示声明的对象可
以响应事件。
OptionExplicit
OptionBase1
DimWithEventsobjServerAsOPCServer
DimobjGroupsAsOPCGroups
DimWithEventsobjTestGrpAsOPCGroup
DimobjItemsAsOPCItems
(5)连接 OPC 服务器和建立 OPC 组
考虑到代码的可反复使用性,采用子程序进行编程。
SubConnect(strProgIDAsString,OptionalstrNodeAsString)
IfobjServerIsNothingThen
'建立一个 OPC 服务器对象
SetobjServer=NewOPCServer
EndIf
服 务 器 状 态 ServerState 属 性 一 共 有
OPCRunning、OPCFailed、OPCNoconfig、OPCSuspended、OPCTest 和 OPCDisconnected 六
个值,分别表示正在运行、失败、没有配置、暂停、测试和没有连接六种 OPC 服务器当前
的状态。如果 OPC 服务器没有连接,我们才执行 objServer.ConnectstrProgID,strNode 语句。
strProgID 就是 ProgID,strNode 就是用于远程通信的 IP 地址。
IfobjServer.ServerState=OPCDisconnectedThen
'连接 OPC 服务器
objServer.ConnectstrProgID,strNode
EndIf
在 VisualBasic 中,通过执行一个 Set 操作实现调用其它接口的方法。
IfobjGroupsIsNothingThen
'建立一个 OPC 组集合
SetobjGroups=objServer.OPCGroups
EndIf
IfobjTestGrpIsNothingThen