变压器温控仪OPC数据访问服务器的设计与实现
《工业控制计算机》2009年22卷第5期49
变压器温控仪OPC数据访问服务器的设计与实现
OPCDataAccessServerofTransformTemperatureController
李旭辉1
陈海华2
李日涵1
(1广东新粤交通投资有限公司,广东广州510410;
2广东省高速公路有限公司客户服务中心,广东广州510600)
摘
关键词:OPCServer,温控仪,软件开发
Abstract
Thispaperintroduceanimplementationmethodofatransformtemperaturecontroller'sOPCdataaccessserver,basedonserialcommunication.Boththesoftwarestructureandthekeyprocedureareprovided.
Keywords:OPCServer,transformtemperaturecontroller,software

development
要
介绍了一种基于串口通信的变压器温控仪的OPC数据访问服务器的实现方法,并给出了软件构成及关键实现过程。
在电力监控SCADA系统中,变压器温控仪一般提供
RS232/485串口通信。本文讨论的温控仪型号为TTC310RTU。
上位机与变压器温控仪通信,主要功能分为两方面:一是读取温控仪采集的变压器A、B、C相三相铁芯温度;二是读取温控仪控制输出状态,包括风机控制继电器输出状态(0为停止,1为启动)、报警继电器输出状态(0为未报警,1为报警)、跳闸继电器输出状态(0为未跳闸,1为跳闸)、工作状态继电器输出(1为无故障,0为故障)、铁芯报警继电器输出状态(0为未报警,1为报警)、门信号输出状态(0为门关闭,1为门打开)等。本文基于拓林OPCServer快速开发包(RapidDevelopmentKit),提供一种基于Delphi语言开发的变压器温控仪OPCServer程序设计与实现的方法。
3关键实现过程
3.1单元OpcModule.pas中实现的关键定义及函数封装
var
m_Tags:TTagList;True
functionOnUnRegister():BOOL;//反注册OPC服务器,成功返回True
//声明二维标签数组列表
//注册OPC服务器,成功返回
functionOnRegister():BOOL;
functionOnInitOpcServer():BOOL;//初始化OPC服务器,成功返回True
procedureOnUnInitOpcServer();procedureOnAddAllItem();procedure
//结束时,清理OPC运行库
//增加所有设备的标签(Item)
procedureOnDeleteAllItem();//删除所有设备的标签
OnUpdateItem;//刷新所有设备标签的值
//服务器状态、信息
procedureOnServerState;
1拓林OPCServer快速开发包简介
拓林OPCServer快速开发包实际上是一个名称为
TLSvrRDK.dll的动态链接库,这是一个基于Windows平台的32位常规动态库程序,提供一系列封装DataAccess1.0a,2.05和3.0版本规范的API函数。工具包只是一个API函数的集合,并不是一个OPC服务器。用户须在工具包基础上建立的应用程序通过注册后,成为一个OPC服务器。
本文提供一个基于Delphi语言开发的变压器温控仪OPCServer实例过程。
2温控仪OPCServer软件逻辑功能划分
本程序开发采用完全面向对象设计,其逻辑结构功能模块划分如下:
3.2单元DeviceModule.pas中关键定义及实现
1)设备模块单元定义。
type
TDeviceDM=class(TDataModule)...public
DeviceList:TList;//在内存生成变压器温控仪链表,管理温控仪procedureGenerateDeviceList;//根据数据库中的设备表记录,生成设备链表
procedureIniDeviceComm;procedureGetDeviceData;给该设备的相应属性
//设备通信初始化
//关闭设备通信端口
//采集所有设备数据,并解析后赋值
procedureCloseDeviceComm;
end;
2)定义温控仪设备类。
type
TDevice=class(TObject)private
FCommState:Boolean;//表征设备通信状态,True正常,False通信异常
FATemperature:Real;//A相温度,其它略


