admin 管理员组文章数量: 1184232
2024年3月12日发(作者:cssmargin塌陷解决方案)
维普资讯
基于Delphi7的智能仪表OPC DA服务器设计任雯,等
基于Delphi7的智能仪表OPC DA服务器设计
Design of Intelligent Instrument OPC DA Server Based on Delphi?
侄 至 磐岚殄2
(新疆大学电气工程学院 ,乌鲁木齐830008;北京联合大学自动化学院 ,北京100101)
摘要:为了有效解决分布式异构系统的集成问题,采用了OPC客户/服务器体系结构的解决方案。通过对OPC技术和规范的深人
研究,以Delphi7作为开发平台,Huafu OPC Tool Kit作为开发工具,研发了宇电A1808智能仪表OPC数据访问服务器的设计方法。最
后,注册并测试了服务器的性能,同时与工控组态软件MCGS实现了信息交互和集成。所述方法具有一定的可行性和有效性。
关键词:OPC技术智能仪表OPC数据访问服务器有效性开发平台
中图分类号:TP18 文献标志码:A
Abstract:In order to effectively resolve the problems of integration of distributed and isomeric systems,the scheme of OPC client/server archi—
tecture is adopted Through research on OPC technology and speciifcation,the design method of Yudian A1808 inteHigent instrument OPC data
access server is developed wiht the developing tool of Huafu OPC Tool Kit on Delphi7 platform of development.Finally,the performance of the
server is tested and registered,and information intercommunication and integration wiht configuration software MCGS ale implemented The
proposed method offers the feasibility and effectiveness.
Keywords:0PC technology Intelligent instrument OPC DA server Effectiveness Platform of development
O 引言
可靠性更加困难。同时,虽然计算机中的SCAD.AHMI
等软件都有独立的驱动程序,但一般也不允许同时访问
许多企业在逐年的设备改造与升级过程中,往往是 相同的设备,否则很容易造成系统崩溃 。
分阶段采购设备,造成了多种设备、多种信息子系统并
Wonderware公司 l I 北京亚控公司的 l I 监视、报表、
存的异构环境。这些子系统独立性强、软件封闭、互操
lntouch软件 l l 组态王软件 l l 趋势图应用软件
作性差、实现系统集成难度大。开发具有自主产权的
孺1
OPC数据访问服务器具有重要的意义,本文以宇光系列
设备A l l 设备B l I 设备C I l 设备D
智能仪表为例,研发OPC数据访问服务器的设计方法。
图1 传统控制软件与设备的接口
1 oPC技术介绍
Fig.1 Interface of conventional control so ̄twares and
equipments
1.1 OPC技术的优势
在OPC(OLE process contro1)出现以前,工业软件
由于不同客户有着不同的需要,同时也存在着不同
开发商需要开发大量的驱动程序来连接各种控制设
的数据传输协议,因此一直没有完整的解决方案。问题
备。只要硬件供应商在硬件上做了一些小小改动,应
的关键在于系统之问的接口没有统一标准。OPC作为
一
用程序就可能需要重写。例如,在图1所示的由4种控
个工业标准应运而生。OPC的宗旨是在微软COM、
制设备以及与其连接的3个应用程序构成系统时,必须
DCOM技术规范基础上开发一个开放的和互操作的接
花费大量时问为每个应用程序开发4个设备驱动程序,
口标准 ,可以实现自动化控制软件和硬件的万能连
3个应用程序就要开发12种驱动程序。由于系统中共
接。上层应用作为OPC技术的客户端,可以不包含任
存各种各样的驱动程序,也使维护运转环境的稳定性和
何硬件驱动程序,不关心底层是什么硬件,只要遵循
OPC数据接口协议,就能够从不同的OPC数据服务器
新疆维吾尔自治区高校科研计划科学研究重点项目(编号:XJEDU
中取得数据,从而实现数据的灵活配置和多种系统的真
2005102)。
正集成,如图2所示的是OPVC控制系统的结构。
修改稿收到日期:2007—04—17。
1.2 OPC服务器的结构原理
第一作者任雯,男,1979年生,现为新疆大学电气工程学院在读硕士
一
研究生;主要研究方向为集散控制系统与计算机应用、检测技术与自动
个OPC服务器由数个Server对象、Group对象
化装置。
和Item对象构成 。三种对象的主要功能如下:①服
《自动化仪表》第28卷第9期2007年9月
57
维普资讯
基于Delphi7的智能仪表OPC DA服务器设计任雯。等
Wolnderware公司
【lntouch软件
北京亚控公司的
组态王软件
监视、报表、
趋势图应用软件
置标签属性;⑤调用RunSvr函数,运行服务器,这时,服
务器可以向客户端提供服务;⑥用户和驱动通信,得到
标签数据后,调用UpdateTag等函数刷新OPC运行库中
lOPC客户端
I
I
OPC客户端
I
I
OPC客户端
l
ovc ̄g
oPc  ̄oPc k ̄
标签的数据;⑦在服务器退出时,调用UninitOPCSvr()。
c
I
备
J J
备
。
D1
图2 利用OPC的控制系统结构
Fig.2 Structure of control system based on OPC
务器对象(server)。拥有服务器的所有信息,也是组对
象(group)的容器,一个服务器对应于一个OPC Server
(即一种设备的驱动程序)。②组对象(group)。拥有
本组的所有信息,包容并逻辑组织OPC数据项。OPC
组对象提供了客户组织数据的一种方法,组是应用程
序组织数据的一个单位。③数据项(item)。OPC数据
图4调用OPC Tool Kit接口的流程图
项是服务器端定义的对象,通常指向设备的一个寄存器
Fig.4 Flowchart of interface calling OPC Tool Kit
单元。OPC客户对设备寄存器的操作都是通过其数据
OPC服务器在提供服务前,首先要完成自注册工
项来完成。OPC数据项并不提供对外接口,客户不能直
作。本系统作为一个COM服务器,提供注册与注销的
接对其进行操作,所有操作都是通过组对象进行的 。
功能,以便客户端的查询与通信。本文所开发的OPC
2 OPC DA服务器的Delphi实现
服务器是以EXE模块的形式出现的,对服务器的注册
就要使用命令行参数regserver或unregserver。
2.1 实现智能仪表oPC DA服务器的方案选择
2.3智能仪表通信模块
为了缩短开发周期以及增加可靠性,选用了北京
AIBUS是厦门宇电自动化科技有限公司为AI系
华富惠通技术有限公司的OPC数据访问服务器快速
列显示智能仪表开发的通信协议。
开发工具包(Huafu OPC Tool Kit)作为开发工具,Huafu
基于AIBUS协议的OPC服务器主要由OPC服务
OPC Tool Kit完全符合OPC Data Access 2.05标准 ,
器和硬件驱动程序两部分组成。OPC服务器主要用来
同时选用Delphi7作为开发平台。
对数据进行管理和组织,和客户端进行通信;硬件驱动
2.2 用工具包开发oPC DA服务器的框架及流程
程序主要用来从现场读取数据,并且将数据传送给
Huafu OPC Tool Kit将OPC规范所定义的COM。。
OPC服务器。将以上几个部分结合,然后对所设计的
及其实现封装在OPCDLL.DLL动态链接库中,通过std—
call规范来调用工具包中的接口,其框架如图3所示。
OPC服务器进行测试和修改,完成最后的设计。
3应用实例与测试
服务器设计完成后,对它的测试很重要,可以用标
准OPC客户端进行测试,也可以利用已有的支持OPC
服务器的客户端软件来测试。下面就以MCGS组态软
件对OPC的支持来介绍服务器的使用和测试过程。
图3 OPC DA服务器的框架
①在测试前需要安装OPC环境,即发布服务器,
Fig.3 Framework of OPC DA server
这需要把相关代理文件/存根文件在系统中注册。对
在服务器的开发过程中,首先用Delphi7建立应
于OPC DA服务器,需要进行的注册如下:
用程序,加载OPC运行库,然后按照工具包提供的接
REGSVR32 opccomn
—
S.dll
口进行函数调用,从而与设备进行通信。图4是调用
REGSVR32 opcpmxy.dll
OPC Tool Kit接口的流程图,主要步骤是:
OpcEnum.Exe/regserver
①用户首先调用InitOPCSvr进行初始化;②初始化
这是OPC服务器和OPC客户程序能够运行的必
成功之后,注册回调函数;③用户通过CreateTag向OPC
要条件。它们提供了进程问程序调用接口参数列集的
运行库可添加多个标签;④通过SetTagProperties函数设
必要信息。
58 PROCESS AUTOMATION INSTRUMENTATION Vo1.28 No.9 September 2O07
维普资讯
基于Delphi7的智能仪表OPC DA服务器设计任雯,等
②带参数(regserver)运行OPC服务器应用程序,
即运行“yudianOPCServer.exe/regserver”(yudian OPC—
pNewValue:PVARIANT;pDeviceError:PDWORD);std—
call;...
Server为所开发的服务器程序名)。
SvrClsID:string=‘{87A8CF77—32A4—44B0一B8ED一
③启动MCGS组态环境,并建立新的应用。进入
147B176C96F8}’; ∥定义CLSID
设备组态窗口,添加OPC设备,如图5所示。
图5 OPC设备组态对话框
Fig.5 Dialog box of OPC device configuration
选中要测试的服务器yudian.OPCserver.1,点击确
定即可把要测试的OPC服务器添加到工程中,此步骤
测试了服务器的注册信息是否正确。
④进入运行状态。当进入运行状态时,客户程序
将使用规范规定的OPC服务器程序必须提供的所有
功能。只有客户程序与服务器程序能够正常交互才能
说明测试的服务器程序是成功的,MCGS客户端与
OPC服务器的运行情况如图6所示。
图6 MCGS客尸端与OPC服务器的运行演示
Fig、6 Running demo of MCGS client and OPC server
4核心程序源码
①在Delphi中建立一个应用,应用起名为yudian
OPCServer;
②将OPCDLL.DLL和Borlndmm.DLL放在搜索
路径下;
③在工程中加入一个Unit,起名为opc.pas,在该
文件头引用Windows和opctypes文件。在Interface部
分加入如下代码:
Interface
type ∥写回调函数类型的声明
WRITENOTIFYPROC=procedure(handle:THandle;
《自动化仪表》第28卷第9期2007年9月
SvrName:stirng ‘yudian.OPCserver.1’;∥定义ProgID
SvrDesc:stirng=‘OPC Server’;//定义服务器的描述;
∥对OPC运行库的引出函数进行声明
function InitOPCSvr(pCLSID—Svr:LPCSTR;ServerRate:
UINT):BOOL;stdcall;extemal‘opcdl1.
dll’:...
④创建OPC Tool K“回调函数,在opc.pas文件
中interface部分加入如下代码:
procedure WriteTag(Handle:THandle;pNewValue:
PVARIANT;pDeviceError:PDWORD);
stdcall;...
在impememnt部分加入以下代码:
∥WRITENOTIFYPROC回调函数
procedure WriteTag(Handle:THandle;pNewValue:
PVARIANT:pDeviceError:PD—
WORD);stdcall;
begin
∥对设备进行写操作
pDeviceError^::0:
∥假设设备永远成功
end;...
5结束语
为了实现整个自动化控制系统的正常运行,解决
好通信兼容问题是关键。目前国内多数仪表采用专用
驱动程序与自动化控制软件进行数据通信,它们与不
同的软件进行连接时需要开发不同的驱动程序,大大
限制了其应用范围。本智能仪表服务器已通过兼容性
测试,实现了驱动程序的标准化,能与客户端无缝连
接,因此,本文提出的方法和所开发的数据访问服务器
具有普遍意义和实用价值。
参考文献
1李京,宋真君,凌志浩,等.“工控软件互操作规范OPC技术”
讲座第1讲OPC规范的产生与发展[J].自动化仪表,2002,23
(4):68—70.
2顾国昌,李庆军,张英辉.基于组件结构的OPC数据访问服务器
开发的研究[J].测控技术,2004,23(7):56—58.
3金建新.基于OPC规范的串口数据采集技术的应用[J].华东电
力,2004,32(1):62—64.
4花新峰,负卫国.使用Delphi进行OPC服务器的开发[J].工业
控制计算机,2005,18(9):36—38.
5 OPC Foundation.OPC Data Access Custom Interface Speciifcation[s].
Version 2.05,2001.
6潘爱民.COM原理与应用[M].北京:清华大学出版丰十,1999.
59
版权声明:本文标题:基于Delphi7的智能仪表OPC DA服务器设计 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1710186069a561429.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论