三相多功能电能表检定软件设计与开发

分享到:

 引言

  随着国民经济和社会的快速发展,人民生活水平的不断提高,全社会对安全、经济、优质用电的要求越来越高,于是可以计量正/反向有功电能、正/反向无功电能、四象限无功电能,并具有多费率控制,负荷曲线记录的多功能电能表已在实际工作中大量使用。三相多功能电能表检定装置也随之发展起来。为了适应三相多功能电能表检定装置的要求,本文以Delphi 7为开发平台设计和开发出了一款技术先进、功能实用、管理全面的三相多功能电能表检定软件系统。该系统除具备普通电能表检定的功能之外,还具有测量正反向有无功电量、四象限无功电能的基本误差、日计时误差和时段投切误差、最大需量误差和需量周期误差等项目的功能[1]。

  系统设计

  电能表是当前电能计量和经济结算的主要工具,它的准确与否直接关系到国家与用户的经济利益[2]。因此,必须按照先进性、实用性、可靠性、安全性、可维护性及开放性等原则[3],来设计和开放电能表检定软件系统。同时,作为多功能电能表检定软件系统,它应该对所有电能表的各项参数和指标进行检定考核,符合DL/614-2007《多功能电能表》、DL/T645-2007 《多功能电能表通讯规约》、DL/T 460-2005《交流电能表检验装置检定规程》等规程的要求。而且,具备多功能电能表数据的管理功能和极强的证书、报表的打印功能。

  根据上述分析,把三相多功能电能表检定软件系统具体分为四个子模块:参数设置模块、试验管理模块、结果查询及打印模块和系统维护模块。

  参数设置模块包括系统参数设置和资产参数设置。系统参数设置可以对校验台的挂表总数、通讯规约、通讯端口等进行设置,同时可以对误差试验的误差限内控、误差化整、误差稳定性、误差结果处理等进行设置。在资产参数中要输入资产编号、电表常数、等级、电压档位、额定电流等信息。

  试验管理模块包括试验准备、试验项目及自定义校验三个模块。试验准备是在试验校验前进行预热工作和光电头测试工作。试验项目包括基本试验、多功能试验和自定义试验。基本试验是对启动、潜动、谐波、校核常数及基本误差进行鉴定。多功能试验项目针对多功能电子表设计,试验项目有基频试验、时段投切试验、最大需量示值误差试验、计度器组合误差试验和多功能表通讯测试。可以用自定义校验对特殊点进行校验,校验时用户自己设定电压、电流、频率、相位等。

  结果查询及打印模块, 校验完成后结果自动存储,用户可以进行查询并打印检定证书或试验数据。系统维护模块,通过建立用户密码识别体系,并对用户进行权限控制,从而保证特定的用户只能执行指定允许的操作。

       系统工作流程

  该系统包括的主要校验项目如图1所示,检定人员可以任意选择一个或者几个项目进行。另外,为了让检定人员从重复劳动中解脱出来,降低工作强度,提高效率,同时也减少了人为因素的影响,使检定数据的采集更加准确可靠,本系统增加了自动校验。当选择自动校验时,设定完参数后,系统将根据图1完成所有的校验项目,直到保存校验结果、打印鉴定记录和鉴定证书试验结束。

  系统主要功能实现

  本系统以Delphi 7 为开发平台,Delphi 7具有强大的数据库支持能力,通过引擎BDE(Borland Database Engine)对数据库进行操作和管理并与各种数据库接口。同时,Delphi 7提供功能强大的数据窗口画板及其交互功能,可以提高开发效率,缩短开发周期。

 

  该系统从RS-232串口接收数据,然后转化成记录结构,各功能模块根据记录的数据进行处理和显示。主界面消息分发处理机制的主要代码如下:

  procedure Tmain_form.OnGetData(var Msg :TMsg);

  var

  lPort, mPort: integer;

  while CheckRecData(lPort, mPort, OutData) = 1 do

  begin

  if OutData.Order = UI_Order then

  Power; //电源显示

  if (OutData.Order = Error_Order)

  then

  if stand_check_form <> nil then

  //电能表误差检定

  SendMessage(stand_check_form.

  handle, MSG_ERR, 0, 0);

  end;

  if (OutData.Order = Hits_Order) or

  (OutData.Order = Capture_Order)

  then

  begin

  if Start_test_form <> nil then

  //起动、潜动试验

  SendMessage(Start_test_form.

  handle, MSG_StartTest, 0, 0);

  if Under_Test_Form <> nil then

  SendMessage(Under_test_form.

  handle, MSG_UnderTest, 0, 0);

  end;

       if (OutData.Order = Ask_FReq_

  Order) and (JpForm <> nil) then

  SendMessage(Jpform.Handle,

  MSG_JpTest, 0, 0); //基频试验

  if ((OutData.Order = Ask_Tp_

  Order) or (OutData.Order = Ask_

  Time_Order)) and (Sdform <> nil)

  then

  SendMessage(Sdform.handle,

  MSG_TpTest, 0, 0); //时段试验

  end;

  end;

  数据库和报表的建立和操作

  该系统采用Delphi自带的Paradox7.0来构建信息数据库,Paradox7.0可以在多个表的数据之间进行操作,它具有数据独立性、数据安全性、数据完整性、集中管理、控制冗余等特点[4],并且Paradox7.0数据库的存储信息量大、运行速度快、查询方便、便于维护。检定数据库的建立如图2所示。

  图2中各个表的建立过程基本一样只是包含的信息不相同,比如:电能表基本信息表,保存被检定电能表的表名称、型号、电压、电流、等级、常数等信息,而电能表的误差表,保存被校表检定的误差数据,包括了电压幅度、电流幅度、相位及合元或分元、误差等信息。电能表基本信息表结构如下:

  CREATE TABLE Misls(

  DevID VARCHAR(35),

  /*资产编号(SSS123456789)*/

  DevName VARCHAR(32),

  /*表名称(机械式三相四线多功

  能表)*/

  DevType VARCHAR(12),

  /*型号(DT862-4)*/

  DevKind VARCHAR(32),

  /*表类别(机械式,电子式,机电式,

  多功能)*/

  DevPhase VARCHAR(32),

  /*表相线(单相,三相三线,三相四

  线)*/

  DevVolt VARCHAR(12),

  /*电压(57.7,60,100,220, 380)*/

  DevCirCu VARCHAR(12),

  /*额定电流*/

  MaxCirCu VARCHAR(12),

  /*最大电流*/

  DevPCons VARCHAR(12),

  /*电子常数(3600)*/

  ⋯⋯

  PRIMARY KEY (DevId)

  )

       通信管理实现

  该系统需要通过PC机RS-232接口分别与控制箱、时间校验仪、被校表进行通信[5]。与控制箱通信实现对整个三相多功能电能表检定装置的控制并取得电压、电流、被校表基本误差等校验信息;与时间校验仪通信实现多功能试验项目;与被校表通信实现对被较表授时。主要实现程序如下:

  procedure Tmain_form.OpenPort;

  begin

  if not InitComm(PowerPort)

  then MessageDlg('与检定装置Com'

  + IntToStr(PowerPort) + '初始化错

  误!', mtInformation, [mbOk], 0)

  //初始化和校验台通讯端口

  else begin

  SetBaudRate(PowerPort, '2400');

  //设置检定装置通讯波特率2400

  SetMegDirect(PowerPort, Handle);

  //设置消息接受句柄

  end;

  if not InitComm(TimePort) then

  MessageDlg('与时间校验仪连接

  Com' + IntToStr(TimePort) + '初始

  化错误!', mtInformation, [mbOk], 0)

  else begin

  SetBaudRate(TimePort, '4800');

  //设置时间校验仪通讯波特率4800

  SetMegDirect(TimePort, Handle);

  SetMegDirect(MeterPort,Handle);

  //设置多功能电能表通讯串口

  MsComSeting(MeterPort,'1200,E,8,

  1'); //偶校验波特率1200

  end;

  end;

  结语

  该系统已经开发完成并用于实践,经过测试,程序运行稳定可靠,能根据检定规程DL/614-2007《多功能电能表》、DL/T 460-2005《交流电能表检验装置检定规程》、JJG307-2006《机电式交流电能表检定规程》、JJG596-1999《电子式电能表检定规程》的要求进行多功能电能表的检定。图3为正在做检定的截图。另外该系统能方便地实现数据查询和打印,并根据结果自动判断是否合格,同时提供有检定证书和检定记录的报表输出。另外也提供了和营销系统的Mis接口,使得检定结果数据上传至网络服务器,实现检定数据共享。