电能表自动校验系统的改进设计

2015-09-22 07:25:06陈爱春宁夏启元药业有限公司宁夏银川750010
化工管理 2015年23期
关键词:测试程序电能表线程

陈爱春(宁夏启元药业有限公司,宁夏 银川 750010)

电能表作为企事业单位和居民用电的电能计量装置,其国内和国际每年的需求量都是非常大的,作为全球制造业中心,电子式电能表占了大部分。近两年来,国内电能表招标和国际招标有了相同的特点:合同数量大、供货时间短和产品价格低。采用传统的电能表校验系统,表计误差合格率较低,测试系统使用的计算机占用了较大的空间,不同的测试点需要测试人员人工改变负荷大小,这些都直接或间接造成了企业工时的浪费,增加了企业的制造成本。

针对这种现状,提出了以三星ARM9内核的S3C2440A为微处理器,WindowsCE5.0为嵌入式操作系统构成电能表自动校验系统平台,利用原有的电能表误差测试台的通信接口,采用多线程编程技术和软误差修正编写校表软件,对电能表校验系统进行改进设计。同时,结合成熟的无线以太网通信技术实现了被测表校验误差等信息接入企业数据库服务器,提高了表计信息的使用效率。

1 系统方案设计

该系统方案由电能表误差测试台、误差调测试系统和企业信息管理系统组成,如图1所示:

图1 改进的电能表自动误差校验方案

电能表误差测试台根据误差调测试系统发送过来的校表参数按规定公式完成误差的计算并将其发送给误差调测试系统,同时根据误差调测试系统的指令和参数完被测表的误差修正。误差调测试系统自动完成负载点、校验圈数、校表系数、等参数的设置和被测表超差与否的判断,操作人员根据完成校验后的提示拆卸被测表并将误差修正后仍不合格的被测表分离。同时,误差调测试系统将被测表的校验数据通过无线以太网接口接入企业的信息管理系统。

2 硬件设计

误差调测试系统硬件部分以S3C2440A处理器为核心,在外围相应地配有其他的功能模块,存储模块LCD和触摸屏、电源电路模块以及无线网卡模块等组成,如图2所示:

图2 误差调测试系统硬件构成

硬件结构图该结构以S3C2440A为核心,4MNOR型Flash存放BootLoader引导程序,64MSDRAM作为内存,128MNAND⁃Flash存放编译好的误差调测试应用程序,LCD液晶屏用来显示设置的参数、误差信息和操作按钮,操作员通过触摸屏完成参数的设置和校验的启动,USB接口主要是用来下载操作系统和同步调试应用程序,Wi-Fi将误差调测试系统接入企业的局域网。

3 软件设计

软件设计主要包括误差调测试应用程序、操作系统定制和通信接口设计。WindowCE是为小型设备如掌上电脑和嵌入式系统设计的,是一个实时的操作系统。由于这些设备只有有限的资源,WindowCE必须能够适应这种限制,目前它的最小内核只有500KB,不仅可以处理进程、线程等操作系统对象,而且还可以读写文件、注册表和系统数据库。WindowCE提供了丰富灵活的有线/无线网络连接支持,另外还支持GPS、GPRS、ISDN等多种通信方式。WindowCE还为硬件上快速开发应用提供了两组端对端的开发工具集,包括操作系统卡发工具集Platform⁃Builder和应用程序开发工具集MicrosoftEmbeddedVisualC++以及集成了.NETCoMPactFramework的MicrosoftVisualStudio.NET[4-5]。

3.1 操作系统定制

一个操作系统设计所包含的WindowCE特征取决于开发目标,使用PlatformBuilder定制WindowCE平台,执行以下操作:

3.1.1 从PlatformBuilder的预配置BSP(BoardSupportPackage,BSP)选择一个BSP或者开发者自己创建一个BSP;

3.1.2 从PlatformBuilder提供的设计模板中选择一个基本的操作系统配置;

3.1.3 选择开发者希望包含的附加应用程序、媒体或网络通信等支持,如InternetExplorer、PocketWord、蓝牙等;

3.1.4 添加开发者希望添加的特征,包括无线网卡的驱动等。文中定制的操作系统将所需的无线网卡等硬件的驱动加入,将不需要的WindowCE组件如PocketWord等删除,以便将节约的内存空间留给应用程序使用。

3.2 误差调测试程序设计

误差调测试程序在操作员完成电能表误差测试台上的挂架后自动完成企业所生产相电能表的校验任务,实现了在统一主界面下对多型号电能表的测试目的。程序采用MicrosoftVi⁃sualStudio.NET开发,操作界面如图3所示。

误差调测试程序主要采用了多线程编程技术和测试误差的软修正技术,以此提高电能表的误差合格率。

3.2.1 多线程编程在此自动校表软件中,校表通讯部分采用了多线程编程技术,即接收线程和发送线程。接收线程实时监测通讯端口,只要通讯端口有数据则就被触发就接收,此端口返回的数据是电能表误差测试台体返回的,根据端口返回的数据来判断表位误差是否正确,从而决定是否重新发送校表命令。发送线程为每一个表位创建了一发送队列,通过先进先出原理来实现,发送线程判断只要此发送队列有数据并且发送状态不处于等待状态就向端口发送数据。这样就实现了通讯多线程,大大提高了通讯和校表速度。

3.2.2 软误差修正软误差修正是指对被测电能表的误差曲线进行修正,文中软误差修正只针对以下三个特殊点进行修调:1.0的100%Ib,0.5L的100%Ib和1.0的5%Ib。在软件修调过程中调测试程序自动根据调试点来控制切换测试台体,等台体所出误差稳定后,如果表的误差范围电能表误差等级允许的范围内就认为误差合格,如果某表误差不在容许的误差范围内,就可以根据表位误差值和误差调试算法计算一个准确值按其所对应的表位进行修调,一般只修调一次表误差就可达到正确范围。

3.3 通信接口设计

文中通信接口设计主要是指误差调测试程序在完成误差校验后将电能表的误差等校验信息通过无线以太网接入企业信息管理系统,为企业电能表的校验管理提供基础数据。文中采用Socket编程技术进行将数据提交到企业数据库服务器中。

图3 误差调测试参数设置界面

图4 误差调测试程序与服务器端口连接流程

Socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。美国伯克利大学为了能够方便的开发网络应用软件在Unix上推出的一种应用程序访问通信协议。socket的出现使程序员可以很方便的访问TCP/IP,从而开发各种网络应用的程序。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序[6]。图4是误差调测试程序终端与企业服务器端建立网络连接的流程。

误差调测试系统的应用程序虽然是一个典型的客户—服务器的数据库应用程序,采用Socket作为交互数据接口,用户必须在此基础上自己定义其应用的通信协议,其通信协议的帧格式如下:

?

这里的记录是指被测电能表的误差等数据,由于单相和三相电能表这些参数的差异致使其数据长度不能统一。校验码是用来检验数据的完整性和正确性,由仪表数、仪表类型和记录数三个部分进行相关的运算得到的。

4 结语

目前改进的电能表自动校验系统在实际使用中提高了生产效率。一方面,缩短了工时,在完成48表位的单相电能表的测试工作,所用时间为原来手工记录测试的10%;另一方面,软误差修调技术的采用使所有表的误差线性趋于一致并且将产品合格率由90%左右提高至95%左右。同时也为管理部门实时了解企业的生产情况提供了基础数据。不过这项改进的电能表校验系统是针对该公司现有的设备而开发的,不具有通用性。

[1]王勇,吕华,李冶泉等.检定电能表检验装置中存在

的问题与改进[J].电测与仪表,2003,40(1):48-50.

[2]张玫,曹建荣,段晨旭.全自动电能表误差校验装置设计[J].电力自动化设备,2004,24(8):59-61.

[3]张冬泉,谭南林,王雪梅等著.WindowsCE使用开发技术.北京:电子工业出版社[M],2006.

[4]黄嘉辉.C#.NET网络程序设计[M].北京:科学出版社,2004.

[5]帕森斯,伦道夫.VisualStudio2005高级编程[M].吴雷译.清华大学出版社,2008.

[6]黄嘉辉.C#.NET网络程序设计[M].北京:科学出版社,2004.

猜你喜欢
测试程序电能表线程
巧数电能表
认识电能表
基于Castle型机械手的三温量产测试平台实现
手机APP交互界面人因适合性测试程序的设计与实现
浅谈linux多线程协作
环球市场(2017年36期)2017-03-09 15:48:21
中心主导制订的《VHF/UHF频率范围内测向系统测向灵敏度的测试程序》等两项国际标准在ITU官网正式发布
电气自动化控制设备可靠性测试探讨
电能表自动化检定机器人可靠挂卸表方案设计与实现
基于MSP430+ATT7022B的三相三线多回路多功能电能表的研究
电测与仪表(2014年6期)2014-04-04 11:59:34
Linux线程实现技术研究