1、自动化应用电力设备固件开发各种软件架构流派的总结与分析童旭芬1,陈爱华,梁祥威3徐京生4(1.浙江正泰仪器仪表有限责任公司杭州分公司,浙江杭州310 0 0 0;2.上海正泰智能科技有限公司,上海2 0 16 0 0;3.广东电网有限责任公司广州供电局,广东广州510 0 0 0;4.华立科技股份有限公司,浙江杭州310 0 2 3)摘要:本文针对不同的电能计量装置的要求,选择对应的软件架构方案,并讨论了功能简单的普通计量装置、多功能计量装置、复杂功能协议的计量装置的软件实现方法。关键词:计量装置,软件架构,固件开发中图分类号:TM02Summary and Analysis of Vario
2、us Software Architecture Schools in Firmware Development(1.Hangzhou Branch,Zhejiang Zhengtai Instruments Co.,Ltd.,Hangzhou,Zhejiang 310000,China;2.Shanghai Chint IntelligentTechnology Co.,Ltd.,Shanghai 201600,China;3.Guangzhou Power Supply Bureau of Guangdong Power Grid Co.,Ltd.,Guangzhou,Abstract:A
3、ccording to the requirements of different electric energy metering devices,this paper selects the correspondingsoftware architecture scheme,and discusses the software implementation methods of ordinary metering devices with simplefunctions,multi-function metering devices,and metering devices with co
4、mplex functional protocols.Key words:metering device,software architecture,firmware development文献标识码:ATONG Xufen,CHEN Aihua,LIANG Xiangwei?,XU Jingsheng4Guangdong 510000,China;4.Holley Technology Co.,Ltd.,Hangzhou,Zhejiang 310023,China)0引言在智能电表的固件开发中,软件架构对于智能电表的稳定性和可靠性具有重要的作用。合适的架构不仅结构清晰,而且后续的开发和维护方
5、便快捷。初期的开发者一般会从前后台顺序执行架构开始开发智能电表的固件。软件架构对于固件开发的技术人员是开放、友好的,可以先执行这个任务后执行那个任务,或某个时刻先执行这个任务再执行那个任务,或某个事件会触发那个任务等,不同的软件架构有不同的解决方法。软件架构的益处在于帮助开发人员掌控项目工程的整体架构,快速定位并处理解决系统出现的问题。主要的软件架构有顺序执行的前后台系统、时间片轮转系统和多任务处理系统3种。为了更好地说明这3种系统的优缺点,本文分别使用不同功能智能电表的实际项目说明每个系统的应用情况。1顺序执行的前后台软件架构在开发过的智能电表项目中,采用国内厂家的低成本芯片方案开发的普通计
6、度器表采用了顺序执行的前后台系统。该方案通过国内厂家的低成本芯片采集计数计量芯作者简介:童旭芬,女,19 7 6 年生,中级工程师,从事计量仪器仪表、通信设备、智能终端设备、电能计量箱等研发及管理工作。通讯作者:徐京生,男,19 7 4年生,高级工程师,从事智能电表及能源计量等相关设计研究工作。134|自动化应用片输出的脉冲数转换为电量并输出控制计度器的旋转1。1.1顺序执行前后台软件整体描述在顺序执行的前后台系统中,电量累计、液晶显示、系统自检放到了主循环和前台系统。触发液晶显示以及系统自检的功能标志则在后台系统的中断服务函数中。前后台互相配合很好地实现了系统的功能。1.2顺序执行前后台软件
7、框架以下代码是顺序执行的前后台系统的主程序架构设计。void main(void)I0 口初始化;串口初始化;AD采样初始;化定时器初始化;while(1)电量累计;11电力设备自动化应用在以下的中断服务程序中,实现定时标志的置位的软电量数据显示;件架构设计。1void Timero()interrupt 1void TimerO()interrupt 11ms 中断一次;1 min 到:计数器A清零;系统自检;200 ms 到:计数器B清零;电量数据显示;1这种架构的特点是使用简单,便于理解,缺点是每个任务占用的CPU时间过长,会导致程序的实时性差,如电量的累计功能。2时间片轮转软件架构分析
8、2.1时间片轮转软件整体描述时间片轮转一般是操作系统的中间使用。本文讨论的是前后台系统的时间片轮转,其开发功能比较复杂,由多费率控制,继电器控制的智能电表采用了时间片轮转的方法2。2.2时间片轮转软件架构时间片轮转的本质是设置一个定时器,按定时器计数器的不同值实现不同的任务。计数器不同的数值即时间片,时间片的最小时间片与选择定时器的特性与需求有关。为了保证系统运行的实时性和运行效率,这个值选用200ms、1m i n,具体时间片的每个值可以按照系统运行的要求灵活调整,为了保证控制的精确性,将定时器的最小时间片,即分辨率设置为1ms,对于一般的系统时间粒子已足够小,可以实现10 0%时间相关的控
9、制功能。以下是时间片轮转的主程序。void main(void)I0口初始化;串口初始化;AD采样初始化;定时器初始化;while(1)电量累计;1 min 到:计数器A清零;系统自检;200 ms 到:计数器B清零;1 ms 中断一次;1 min 到:计数器A清零;1200 ms 到:计数器B清零;1以上是时间片轮转的定时器中断服务程序,可以看出时间片轮转系统比顺序执行既有顺序执行的优点,也有操作系统的部分属性和优点。由于在中断函数中,只是对相关的时间片标志进行标志,时间机会没有停顿,而主函数中根据时间片的标志判断是否执行对应功能的函数。3多任务操作系统在开发标准的圆表过程中,由于功能和协议
10、复杂,本文采用了多任务操作系统的做法,但这里并不是真正地采用了UCOS系统或另外的实时系统,而是借用了多任务操作系统中多任务的概念来实现功能和协议均复杂的智能电表功能的实现3。为了实现多任务操作系统的架构,本文主要构建了2个结构体,并创建了1个多任务运行的表格来实现系统对多任务的管理,定义了运行任务的结构体,具体如下。typedef struct上电是否运行();掉电运行();是否有子任务();子任务个数();运行的任务名称();运行的条件限制();1STR_RUN_TASK_TAB;定义了分任务的进程结构体,具体如下所示:typedef struct I/分任务进程结构体分任务();I ST
11、R_RUN_SUB_TASK_TAB;还定义了一个运行任务的表格。通过多任务的方式进行系统的设计。const STR_RUN_TASK_TAB RunTaskTab=时钟进程();2023|16期/1354结语自动化应用电力设备计量芯片计算();费率阶梯处理();电量处理();分相电量();需量处理();安全处理();通讯进程();电表清零();显示进程();AD 检测();1在开发不同的智能电表,并用不同的硬件方案平台项目开发过程中,如普通计度器表的51核单片机,多费率多功能表的ARMO核MCU,ANSI标准协议要求的ARM3核的复杂多功能智能电表,本文针对每个产品的特点,分别选用了3个软件
12、架构中的1个:普通计度器表选用了顺序执行的前后台系统软件架构;多费率多功能表选用了时间片轮转的系统软件架构;ANSI标准多功能表选用了多任务系统软件架构。在智能电表的实际开发中,由于不同的客户项目需求不同,适合用不同的程序设计方法,因此,并没有最好的软件架构,只有最合适的软件架构,单纯去分析和比较哪个软件架构最好没有任何实际意义。在一些逻辑清晰、功能单一的系统中,适合选用顺序执行的前后台软件架构,此架构已足够满足考核的需求。在一些功能相对复杂、要求性价比高的系统中,适合选用时间片轮转的软件架构,只是在设计时需重复考虑时间片轮转的效率和最小时间粒子的确定。时间片的最小分辨率是1ms、5m s,还
13、是10 ms,在一些功能要求复杂、协议解析任务繁多的系统中,最合适的是多任务操作系统架构。作为智能电表固件开发人员,掌握3种软件架构是非常有必要的。每种系统的软件架构都具备优势和不足,它们可以让开发人员在开发不同项目的固件时,游刃有余地开发项目,并保证项目系统的实时性和可靠性。1宋伟伟,孙华,崔浪.嵌入式软件开发模式及软件架构的研究J.电子技术与软件工程,2 0 2 1(9):51-52.2刘挺蜀.以嵌入式软件开发模式与软件架构研究J.计算机迷,2 0 17(17):41-41.3张雪.垒议嵌入式软件开发模式与软件架构J.今日自动化,2018(2):91-92.(责任编辑:李慧)参考文献(上接
14、第133页)不同的应用效果。其中,本文提出的基于机器视觉的低压电气柜接线自动检错方法的准确率高达9 9.35%,明显高于另外2 种检错方法,能更加精确地检测低压电气柜接线的实时工况,且完成自动检错耗时较短,符合快速时间内高精度检错的要求,表现出了高效率、高检错质量的优势,可行性较高。3结语为了解决传统检错方法应用范围有限,检错效率与质量效果不佳,无法有效满足电力工程检测人员与电气柜设备安全工作需求的问题,本文引人了机器视觉,提出了一种低压电气柜接线自动检错方法。本文研究实现了在减少接线检错人员工作量的前提下,保证检错结果准确度的目标,检错效率与检错质量显著提升,对提高电气柜生产线的生产质量,促
15、进电力工程的稳定建设发展具有重要的研究意义。1李祖瑜,林道志.一种紧凑型低压接线端子排的改良与研制J.中国新技术新产品,2 0 2 2(2 2):6 9-7 1.2马忠明,冯新颖,李存超,基于Creo二次开发的电气柜自动布线数字化设计J.电工技术,2 0 2 2(16):119-12 2.3李作鑫,王飞,林祥礼,等.动车组车下电气柜模块化设计与研究J.铁道车辆,2 0 2 2,6 0(2):56-6 2.4张锦标,张参参,赵小磊,等.基于NIOPC的架车机电气柜模拟测试系统设计J.设备管理与维修,2 0 2 2(15):2 1-2 2.5王金荣,曾忠平.浅谈非标电气柜从设计到使用的质量管理J.
16、中国设备工程,2 0 2 2(11):2 3-2 5.6崔洪岩,丁伟民,李丹,等.电力机车低压电气柜接线端子排设计J.铁道技术监督,2 0 2 1,49(11):59-6 2.7韩玮,邵春伟,李生军,等.城轨车辆司机室电气柜设计的研究J.中国设备工程,2 0 2 1(2 0):115-117.8侯军燕,胡迎春,基于改进蚁群算法的数控机床电气柜布局优化J.机床与液压,2 0 2 1,49(16):10 4-10 9.9于子轩,折俊艺,孔晓旭,等.基于热敏绝缘材料的电气柜区块式自灭火装置研究J.消防科学与技术,2 0 2 1,40(2):2 45-251.10王昕,沈行良,李鹏鹏,等.基于机器识别的电气接线自动检参考文献测技术研究J.制造业自动化,2 0 2 0,42(11):47-50.(责任编辑:李慧)136|自动化应用