电能表温度影响系列试验自动测试系统设计
2018-01-18韩圆勋钱晓耀周韶园
韩圆勋,郑 凡,钱晓耀,周韶园
(1.中国计量大学 质量与安全工程学院,杭州 310018;2.浙江省计量科学研究院,杭州 310018)
电能表温度影响系列试验是电能表型式评价中的重要试验,被测电能表需放置在恒温恒湿的环境下,在高中低不同温度下进行误差测试,考察电能表经受环境温度影响的抗干扰能力[1]。
目前电能中心配备的高低温箱和电能表校验装置无法自动配合,人员需要在各设备之间来回操作,人为监测试验过程,手工记录测试数据,试验效率低、自动化程度不高。根据JJF1245-2010系列型式评价大纲规定[2-5],每个温度测试点需稳定2 h后再进行误差测试,另外高低温箱升降温度、人工接线和校验都需要一定时间,每完成一个批次的电能表温度影响系列试验需要耗时10 h左右,但除了测试电能表误差的时间,大部分时间都在等待温度稳定,而不需要人为干预。因此,电能表型式评价温度影响系列试验自动测试系统的设计与开发,是为使两台设备协同工作,实现实验过程自动化,减少人工干预,提高工作效率。
1 系统概述
1.1 系统设计依据
被测电能表的温度影响系列试验是通过将测得的基本误差平均温度系数和时钟日计时误差的温度系数与JJF型式评价大纲相对应的误差限值相比较,以判断是否符合标准要求。
根据JJF1245.1-2010,JJF1245.3-2010,JJF1245.5-2010,JJF 1245.6-2010型式评价大纲中规定的试验方法,电能表温度影响的基本误差试验应覆盖电能表的使用温度范围。对于户内用仪表,温度范围为-10℃~45℃,对于户外用仪表,温度范围为-25℃~55℃。
试验时需将温度范围按照20℃温度间隔进行划分。对于每一个温度间隔,分别将高低温箱温度设置为间隔上限温度Tu和下限温度Tl,仪表放置于高低温箱直至温度稳定(通常在每一温度点保持2 h以上),按下列负载点测试仪表误差:
平均温度系数可通过式(1)计算得出:
式中:Tu和Tl分别为某一温度间隔的上限温度和下限温度;eu和el为该上限温度和下限温度的误差值[3-4]。
对于时钟计时准确度随温度变化影响的试验方法,首先在参比温度20℃下通以参比电压(不需参比电流)测量仪表时钟日计时误差,之后将电能表置于高低温试验箱中,分别在45℃和-10℃的温度环境下保持2 h后通以参比电压测量电能表时钟日计时误差。每个温度测试点连续进行5次测量,每次测量时间为1 min,之后计算误差平均值。最后按式(2)计算电能表时钟日计时误差的温度系数。
式中:e1和e0为在试验温度下和参比温度下的电能表时钟日计时误差;t1和t0是指试验温度和参比温度[5]。
1.2 系统框架
电能表型式评价温度影响系列试验自动测试系统的总体框架包括计算机,校验装置(智能电能表测试标准源)、高低温箱三大部分。利用面向对象的编程语言C#编写上位机软件,通过RS232串口与设备间进行通信,实现对高低温箱和校验装置的统一控制,达到全面自动测试的效果。系统主要功能是协同控制两台设备同步工作,实现自动控制温度和自动测试的功能,确保符合标准中试验方法的要求。
自动控制温度要求能自动控制高低温箱的温度设置以及保持某点温度的时间。通过上位机软件自动控制高低温箱设定符合型式评价大纲要求中的温度测试点,对于每一个温度测试点在自动设定完成后,保持在恒温状态2 h左右,恒温时间到达后,上位机软件紧接着控制电能表校验装置自动进行误差测试,误差测试包括电能表在不同负载点下的基本误差测试和时钟日计时误差测试。测试完毕后,上位机软件自动计算电能表在不同温度点和负载点下测得误差的温度系数和时钟日计时误差的温度系数,与标准规定的温度系数限值相比较自动判断是否合格。最后保存测试结果及误差的原始数据以便日后导出数据编写电能表型式评价报告。整个测试过程是在人为不干预的状态下完成的,保证试验的准确性,大大优于以往的人工方式。
图1 测试系统总体框架Fig.1 Overall framework of test system
针对上述要求,设计应满足:①高低温箱能准确地控温和恒温;②校验装置对电能表准确地误差测试。测试系统总体框架如图1所示。
2 硬件方案设计
现有的高低温箱和电能表校验设备只能分别单独控制的一个重要原因就是高低温箱没有预留RS232串口及相应的通讯协议与上位机通信,因此无法实现自动化协同控制。
目前最有效的解决方案就是购置带有外部通信接口的高低温箱及电能表校验装置,并要求设备制造商提供设备与计算机间的通讯协议,如包含命令格式、操作步骤、数据编码信息,或直接提供DLL(动态链接库)、OCX(控件)或程序集以及使用文档。现已采用伟思富奇环境试验仪器有限公司生产的C7-340型环境试验箱以及嘉兴瑞科电力仪表有限公司生产的IS32型三相电能表校验装置作为测试设备。电气连接如图2所示。
图2 电气连接图Fig.2 Electrical connection diagram
电能表校验装置与被测电能表的电气连接是通过把安置在高低温箱中的被测电能表测试所需的电压、电流、脉冲信号线和多功能信号线(用来测时钟日计时误差)通过集线端子连接到电能表校验装置上实现的。目的是增加试验结果的可信度和试验操作的规范性。
3 软件方案设计
3.1 开发工具
1)Visual Studio 2013 C#集成开发环境
2)Access 2003 数据库
3)AccessPort串口通讯工具
3.2 框架设计
在软件设计工程中采用了分层架构设计,即表现层(UI)、业务逻辑层(BLL)、通信协议层(DAL)以及数据库的方式实现“高内聚,低耦合”的设计思想,便于测试调试及后续功能的扩展。
表现层即为测试系统的人机操作界面,是以C#中Winform的形式实现,遵循以人为本的原则,界面美观大方、控件布局合理、分工明了、便于操作。业务逻辑层是核心,是表现层和通讯协议层、数据库的中转站。表现层的功能模块控件发出对应控制命令,如控制高低温箱设定温度、校验设备检定误差等,业务逻辑层通过通讯协议层将控制命令转换为对应的操作命令,并通过RS232串行通讯发送给高低温箱或校验设备实施操作。业务逻辑还与测试方案设计及全自动测试流程有关。通讯协议层是上位机控制设备的通讯渠道,高低温箱和电能表检验装置都有各自独立的通讯协议,可以由任何需要的模块进行调用。数据库用来存储温度影响下基本误差值、时钟日计时误差值及相对应计算出的温度系数,以及系统运行所必须的配置参数。整体架构如图3所示。
图3 软件框架Fig.3 Software frame diagram
3.2.1 测试流程
打开软件后,根据被测电能表铭牌上的规格参数对电能表检验设备进行参数初始化设置,其中包括参比电压、参比电流、脉冲常数、相线类型等信息。初始化完成后,选择测试方案。测试方案为一个独立的Winform界面,便于设计测试方案,其中包括设定温度、恒温时间、不同负载点下测试基本误差的参数以及测试时钟日计时误差的参数等各个子模块,对于方案的选择和设计有很大的灵活性,测试方案最后以树状图的形式展现在界面上,每一个树节点代表一个测试点。测试方案完成后,开始自动测试,依次操作每一个树节点,完成对应的设备控制。每测得一个温度点下的误差都将及时保存到对应的数据库中,直到4个温度点全部测试完毕。最后,在一个独立的界面中填写被测电能表的出厂信息,以便日后识别是哪个电能表的测试误差,然后以XML数据形式导出误差数据。整个测试流程如图4所示。
图4 测试流程Fig.4 Test flow chart
3.2.2 串行通讯设计
计算机与高低温箱和电能表校验设备之间进行串行通信是本测试系统设计的一个难点。计算机不仅要发送相应指令控制高低温箱和电能表校验设备进行相关操作,还要通过测试系统实时监控高低温箱的温度变化以及电能表校验设备输出的电参数(电压、电流、相线、功率因数等),并将这些参数信息显示在计算机界面上。此外,除主线程外,自动测试过程是处在单独线程A中,监控两台设备是处在单独线程B中,这将牵扯到多线程串行通信的问题,增加了系统设计的难度[6-7]。
经过研究和调试,我们采用AutoResetEvent来解决设备间串行通信的问题。AutoResetEvent允许线程通过发信号互相通信。通常当线程需要独占访问资源时使用该类,线程通过调用AutoResetEvent上的WaitOne函数来等待信号。如果AutoResetEvent为非终止状态,则线程会被阻止,并等待当前控制资源的线程通过调用Set函数来通知资源可用。AutoResetEvent将保持终止状态,直到一个正在等待的线程被释放,然后自动返回非终止状态。如果没有任何线程在等待,则状态将无限期地保持为终止状态。线程通讯流程如图5所示。
在自动测试过程中,程序处在自动测试线程A中。当需要检定误差时,首先阻止自动测试线程A,计算机向电能表校验设备发送检定误差指令,然后等待AutoResetEvent类中的Set函数返回释放线程A的消息,如果在规定时间内无返回消息则检定误差指令发送失败。
图5 线程通讯流程Fig.5 Thread communication flow chart
对于监控仪表线程B,此线程专门负责接收返回的监控数据。首先发送监控指令,然后会一直循环接收计算机接收数据缓冲区的数据,对数据进行判断并将数据精准地显示在主界面的对应位置上。
3.2.3 软件功能设计
软件采用ribbon风格界面,按照功能划分为多个区域,使用简单易懂。与控制相关的内容包括高低温箱控制、电能表校验设备控制以及过程控制。其中,高低温箱控制区块用于单独控制高低温箱的所有功能,包括高低温箱的起动、停止、温湿度设定、温湿度监测、温度斜率设置、延时等;电能表校验设备区块用于单独控制电能表检验装置的功率源输出、电压电流功率因数等电参量的监测、电能表误差的测试。在实际使用中,这两块功能将在手动测试、半自动测试及调试时使用。全自动控制时则采用过程控制的方式,该方式将根据预先编写好的测试方案在特定的时间节点控制温度的升降和测试误差,并实时记录存储,达到全自动检测的目的。
软件设计了一套操作自由度很高的检表方案编辑功能,用于应对不同的检测需求。这种设计方式将程序编写的基本模块和实际应用时所需的“原子功能”作为对应,将这类功能通过可视化的方式呈现,用户可以通过简单的操作自由组合形成新的功能。这种设计符合平台式的设计理念,在定义了尽可能多的基础功能元素之后,用户可以按照自己的想法自由地排列组合,在该平台的基础上形成新的程序和软件。形式上与组态王、易控之类工控软件甚至是LabVIEW都有类似点,这种开发模式将有助于今后设计开发普遍适合于电专业测量甚至是通用的计量软件平台。系统测试方案设计模块如图6所示。
图6 系统测试方案设计模块Fig.6 System test programme design module
4 试验验证
表1 误差温度系数(人工测试)Tab.1 Error temperature coefficient table(manual testing)
选择一只质量优良、性能稳定的三相四线费控智能电能表作为实验对象。在-10℃~10℃、10℃~23℃、23℃~45℃的温度区间,分别用人工测试方式与自动测试方式测试电能表在不同负载点下的误差和在参比电压下的时钟日计时误差,并分别计算出误差温度系数和时钟日计时误差温度系数。测试数据对比如表1~表3所示[8]。
从表1和表2中可以看出,同一只电能表在同样的温度区间中、2种测试方式下得出的温度系数最大值存在微小的误差(0.1%),可以忽略不计,而且试验结果都符合JJF型式评价大纲中的要求。从时钟日计时误差温度系数对比表中可以看出,同一只电能表在同样的温度区间中、2种测试方式下得出的温度系数最大值相同,试验结果一致,而且试验结果都符合JJF型评大纲中的要求。
表2 误差温度系数(自动测试)Tab.2 Error temperature coefficient table(automatic testing)
表3 时钟日计时误差温度系数对比Tab.3 Comparison of the temperature coefficient of the clock’s error
由此可以看出电能表型式评价温度影响系列试验自动测试系统的应用完全能胜任温度影响系列试验的工作,并且会大大缩短试验时间,试验过程不需要人为干预,杜绝人为随意性和出错率,试验效率得到显著提升。
5 结语
通过研读JJF型式评价大纲中温度影响系列试验的要求和细节,运用计算机自动化控制技术对电能表校验设备和高低温箱进行协同控制并自动测试误差,提高了试验过程的严谨性和试验工作效率。电能表型式评价温度影响系列试验自动测试系统具有灵活设计测试方案、自动运行测试、查看试验结果、自动导出数据、生成报表等功能,达到了高度自动化和人性化的目标。用自动化测试代替之前的人工测试,减少了人工出错率,提高了工作效率。本测试系统已经应用到型式评价温度影响系列试验中,效果良好,符合要达到的预期目标,在国内计量领域具有很大的推广价值。
[1]赵波,李博,马宇明,等.智能电能表温度影响试验远程自动测试系统设计与应用[J].上海计量测试,2015(6):2-4.
[2]JJF1245.1-2010安装式电能表型式评价大纲通用要求[S].杭州:浙江省计量科学研究院,2010.
[3]JJF1245.3-2010安装式电能表型式评价大纲特殊要求 静止式有功电能表(0.2S、0.5S、1和 2级)[S].杭州:浙江省计量科学研究院,2010.
[4]JJF1245.5-2010安装式电能表型式评价大纲特殊要求 静止式无功电能表(2和3级)[S].杭州:浙江省计量科学研究院,2010.
[5]JJF1245.6-2010安装式电能表型式评价大纲特殊要求 功能类电能表[S].杭州:浙江省计量科学研究院,2010.
[6]吴先亮,刘春生.基于多线程的串口通信软件的设计与实现[J].控制工程,2004,11(2):171-174.
[7]姜拓,张剑平.基于C#的数据采集系统上位机软件设计与实现[J].电子测试,2009(9):58-61.
[8]李博.电能表温度影响试验自动测试系统[J].计测技术,2014(2):23-26.