OPC服务器的研究及其在CAN总线系统中的实现
注册表是客户和组件程序共同访问的信息仓库,通常情况下,当组件程序被安装到计算机上之后,必须通过某种途径把它的信息注册到注册表中,然后客户程序才能根据注册表中的信息对组件程序进行操作。
根据COM规范,组件程序可分为自注册组件程序和非自注册组件程序。OPC基金会提供的组件都是自注册组件。对于非自注册组件程序,其注册过程与组件程序没有直接关系,必须单独进行注册信息的配置,比如,可以编写一个注册表文件,然后在RegEdit中引入。
对于DLL形式的进程内自注册组件,Windows系统提供了RegSvr32.exe注册工具进行组件注册和注销。组件程序本身必须包含DllRegisterServer和DllUnregisterServer两个注册表入口函数。注册和注销的格式分别为:
RegSvr32系统路径>
RegSvr32/u系统路径>
对于EXE形式的进程外自注册组件,COM规范规定,必须支持两个命令行参数/RegServer和/UnregServer(大小写无关,并且“/”可以用“-”代替),以便完成注册和注销操作。注册和注销的格式分别为:
系统路径>/RegServer
系统路径>/UnregServer
OPC服务器经过调试之后,还需要利用OPC客户程序对它的主要功能进行测试。
本文开发的OPC服务器是针对华控公司的CAN通讯卡编写的,用于从华控的CAN通讯卡和RSM智能模块组成的现场通讯网络中读取信息。
3.1系统组成
系统主要由上位机,CAN通讯卡,OPC客户端,OPC服务器,RSM智能模块,通讯媒体等组成。如图2所示。

图2系统构成
①上位机的软、硬件配置:MicrosoftWindows98/2000或WindowsNT操作系统;32M以上内存、1G以上可用硬盘空间、SVGA显示卡。
②CAN通讯卡选用华控公司的HK-CAN30B,它是一种将CAN通讯协议与PC机PCI总线标准相连接的非智能CAN插卡,通过该卡可对工业现场具有CAN通讯接口的仪表和控制设备进行监控。
③CAN现场设备选用华控的RSM智能模块,每个模块都是在一个嵌入式实时多任务的内核管理下周期性工作,按组态要求定时地向上发送和取得数据。
④通讯媒体可以选用双绞线、带屏蔽双绞线等。
⑤客户端选用力控公司的力控2.6监控组态软件。力控2.6支持OPC技术。它作为OPC客户端,充分利用了OPC服务器的强大性能,为工程人员提供了方便高效的数据访问能力。在力控中可以同时挂接任意多个OPC服务器,每个OPC服务器都可以当作一个外部设备进行定义、增加或删除。
3.2OPC服务器与客户端的连接
3.2.1定义OPC设备
首先在力控导航器窗口中选择“实时数据库”中的“I/O设备驱动”并展开,出现“OPC”设备。双击“OPC(Client)”,出现I/O设备定义对话框。在“设备名称”中定义逻辑设备的名称(由用户随意定义),不妨定义为“OPC”,在“数据更新周期”中指定采集周期,填写故障后恢复查询的周期和最长时间,然后单击“下一步”,出现OPC设备定义对话框。
力控会自动搜索计算机系统中已经安装的所有OPC服务器。如果OPC服务器编写无误并且注册正确,则点击下拉框“OPC服务器”时会列出已经安装的所有OPC服务器的名称,选择要使用的OPC服务器,这里选择本文设计的服务器“OPC.Server.1”。
选择“Server类型”,是“当地(local)”还是“远程(remote)”。在“数据访问方式”中选择“缓冲区”或“外设”方式,对于“缓冲区”方式,OPC客户程序将通过OPC服务器的缓冲区读取数据;对于“外设”方式,OPC客户程序将通过OPC服务器直接从设备读取数据。从设备直接读取数据速度会慢一些,一般只有在故障诊断或极特殊的情况下才会使用。在“死区百分比”中输入一个百分值,表示过程数据值的变化不超出这个比例将不对其进行数据更新。单击“确定”就完成了OPC设备的定义。
3.2.2对OPC数据项进行数据连接
启动力控的数据库组态程序DBMan。首先在点组态中创建所要用的变量,不妨设为gg1。展开“数据连接”项,已经建立的OPC设备就排列在其中。双击我们刚才建立的OPC设备“OPC”,则出现“数据连接”对话框。选择要连接的点参数gg1后,单击“增加”按钮,出现“数据项组态”对话框。
如果OPC服务器支持“浏览”功能,双击右上侧列表框中的“Root”,列表框会自动列出它提供的数据区;如果OPC服务器不支持“浏览”功能,其数据项的描述需要用户根据OPC服务器的资料说明,在“数据项”输入框内手工填写。选择“数据类型”和“读写权限”,在“访问路径”中输入数据的访问路径(这一项不是必需的,需要填写的,可以参考所使用的OPC服务器的手册),这里不用填写。
最后单击“确定”按钮,就生成了一个数据项的数据连接,如图3所示,从而实现了与现场实际信息的连接。

图3力控数据连接结果
在系统运行时,力控和服务器建立连接,自动完成和OPC服务器之间的数据交换。
4结束语
本文设计的OPC数据访问服务器符合OPC规范,实现了对数据的实时读写,具有实用价值。总之,有了OPC规范,控制系统软件可以高效、稳定地对硬件设备进行数据存取,系统应用软件之间也可以灵活地进行信息交互,极大地提高了控制系统的互操作性和适应性。
评论