专利名称:一种继电保护装置单板自动测试方法
技术领域:
本发明属于电力系统电力电子与继电保护领域,具体涉及一种继电保护装置单板测试的方法,是一种安全的继电保护装置单板自动测试方法。
背景技术:
在继电保护等装置的生产和使用过程中,经常需要进行测试工作。如在生产完单板(这里的单板是指印制板经过装焊相应电子元件后安装在装置内可独立完成一定功能的电子元件插件)后,要对单板进行测试,测试硬件是否完好;装置生产过程中,要对装置硬件进行测试,测试功能是否完备,是否有性能指标下降;在使用过程中,要定期对装置设备进行监测,检查硬件是否正常。这些检测方法由于要多次测试装置的外设和内外部回路是否完好,一般通过编写一定的测试程序实现。这些测试程序要对单片机或者DSP的外设进行操作。由于继电保护设备对安全性可靠性的苛刻要求,一般不把测试程序放在设备正常运行的可执行程序中,以免装置正常运行时由于软件异常导致跳转到测试程序区,造成保护装置异常动作。所以,保护设备厂家都针对每个硬件单板设计有独立的自动测试程序。独立的自动测试程序运行于保护装置内各插件的单片机或者DSP中,通过一定的规约和上位机程序,执行测试指令并上报测试结果报告。采用独立的自动测试程序当然能够检测出运行过程中的一些异常问题,但也有很多不方便的地方I、给生产带来额外的工序,测试完毕后需要重新下载程序。2、当外设改变或者测试方法升级后,需要升级自动测试程序,给管理带来麻烦。更有甚者,当通信规约发生变化后,有时为了优化一个自动测试程序而升级很多自动测试程序。3、在正常运行的设备中,由于定期检测时一般不允许修改运行程序,只能用保护的应用程序所带的自检功能做测试,基于安全性考虑,这些测试一般比专门的自动测试程序功能少,或者不够彻底。
发明内容
为解决现有技术中存在的以上问题,本申请公开了一种继电保护装置单板自动测试方法。本发明具体采用以下技术方案。一种继电保护装置单板自动测试方法,其特征在于,所述自动测试方法包括以下步骤(I)将自动测试程序做为数据包存放在测试后台;本发明中所述的“自动测试程序”为现有技术中已有的可以实现的单板测试程序,这属于现有技术,本申请的发明点不在于此;
(2)在继电保护装置各单板的应用程序中,设置一个钩子函数用来响应自动测试程序数据包消息;(3)当需要对继电保护装置单板进行测试时,测试后台将所述自动测试程序下传至相应的继电保护装置单板;(4)当继电保护装置单板中的钩子函数接收到该数据包时,将所述数据包存放到单板中的一个可执行RAM区,之后判断自动测试程序是否校验通过,其中自动测试程序校验包括奇偶校验、CRC校验等程序校验方法;(5)自动测试程序校验通过后应用程序跳转到RAM区,开始执行自动测试程序,所述自动测试程序首先判断是否需要测试RAM区,如需要将测试程序转移到flash中运行测试RAM区是否完好,测试完成后再将程序移回RAM区进入测试服务响应流程,如不需要测试RAM区,则直接进入测试服务响应流程;
(6)测试服务响应流程初始化完毕后,等待测试后台下发测试服务命令,接到测试服务命令后,开始传送测试配置信息,所述测试配置信息包括待测单板的硬件参数信息,待测硬件的设置信息等,测试配置信息传送成功后进行单项测试(指针对单板上的硬件单元或模块进行单独测试,如flash,AD,电源等),直到响应完所有的测试服务命令后退出测试程序;(7)测试进度和测试结果通过待测单板上的指定端口实时发送至上位机显示,当测试结束后单板掉电并再次上电,应用程序自检RAM时,清理可执行RAM区数据包,测试程序被自动删除。本发明将测试程序一次下载到待测单板中,当两块待测单板通过背板相连后,可以自动识别并自动将一块板设为服务器端,另一块板设为被测试端,对被测试端开始测试。待被测试板通过测试后两者角色互换对另一块板进行测试。这样便可以实现两块板同时进行自动测试的功能,提高测试的效率。在产品故障率较低的情况下,此方式可以大大提高检测效率,因为手工安装一次可以同时检测完两块单板。用以前的方式,手工安装一次只能测试一块被测单板。另外还可以通过外接跳线的方式对单板的角色进行设定,一方角色确定后,另一方会自动适应确定自己的角色进行自动测试。这样,当检测出某一对单板或一个单板有问题时,可以有针对性的对单板进行测试,快速的确定问题单板的原因所在。也可以根据待测单板故障率的高低选择双板自动测试方式还是通过跳线确定一块好的单板为服务器端,每次用这块单板测试其他待测单板的好坏。本发明的另一个创新点是测试程序在测试内存模块或flash模块时可以将程序转移,比如原来程序在flash中,当测到flash时程序可以被转移到内存中(或已检测过的flash中),对flash进行全面的检测。同理,也可以对内存进行全面的检测。因此提高了测试的全面性,提升了装置的可靠性。本发明具有以下技术效果I、自动测试程序不放在程序内部,做为数据包放在测试后台,测试完成后单板重新上电测试程序会自动被删除,具有本质安全性。2、采用应用程序附加接口方式,程序统一。任何地方测试效果一致。不论硬件是否相同,同一平台的各种设备的接口函数一致。
3、硬件改变,运行于芯片的程序可不做改变,极大地减少嵌入式软件的升级频率。4、服务器程序和测试程序合并,不需为服务器板和待测试板分别下载不同程序,可实现两板间自动识别,提高测试效率。5、测试程序可以在内存和flash间进行切换,以便于完整测试内存和flash存储单元情况。
图I是本发明继电保护装置单板自动测试方法流程示意图;图2是本发明测试方法硬件连接图。
具体实施例方式下面结合说明书附图对本发明的技术方案作进一步详细说明。附图I是本发明方法的流程图,待测单板是通过背板CAN总线相连的,也可通过以太网交换机组网,服务器(或称测试后台)将测试程序数据包在局域网或CAN网上发送。待测单板中增加一个钩子函数,这个函数接收到某数据包消息并校验正确后,可以执行特定的动作。当服务器(或称测试后台)有传送测试文件请求时,待测单板从消息数据包中提取测试程序可执行代码,存到指定的RAM区中。当测试程序传送成功后会,待测单板发出传送成功消息关闭传送测试文件请求,所述待测单板对自动测试程序进行校验,校验通过后开始判断是否测试RAM ;如果自动测试程序校验失败会发送校验失败消息,进入错误处理函数再返回初始化后的状态。需要测试RAM时,待测单板会将测试程序转移到flash中运行,转移后也会对其进行校验,校验通过便开始测试RAM,测试完成再将测试程序移回到指定的RAM区,进入测试服务响应流程的初始化阶段,当不需要对RAM进行测试时测试程序直接进入该阶段。如果在测试程序从RAM区转移到flash过程中校验失败,则发送flash测试失败消息(测试程序转移失败可以视为flash存在问题),进入错误处理函数之后返回初始化后的状态。测试服务响应流程初始化后,首先会判断测试命令是否有变化如果有变化则开始传送测试配置信息,传送完成校验传送是否成功,当传送成功时开始执行单项测试(针对单板上的硬件单元或模块进行单独测试,如flash,AD,电源等),单项测试结束后判断所有测试命令是否响应完毕,如所有测试命令响应完毕便退出测试程序,报测试完毕;如果测试命令没有变化或测试配置信息传送失败,则发送测试配置信息无变化消息后判断所有测试命令是否响应完毕,如没有响应完毕,便返回判断测试命令是否有变化重新判断。测试进度和测试结果通过待测单板上的指定端口实时发送至上位机显示,当测试结束后单板掉电并再次上电,应用程序自检RAM时,清理可执行RAM区数据包,测试程序被自动删除。在设计自动测试方案的时候,针对单板的各个硬件组成部分,设计独立的自动测试程序,并编译成可执行代码,形成数据包。这个数据包就是上面所讲的下载到单板中的运行的那个数据包。数据包中包括针对某个硬件组成部分的测试方法、流程、判据和规约。这些数据包独立编号。针对某个单板,选择适应的数据包,形成一个测试模板。和单板通信后,逐个数据包下载、执行,并将执行结果(测试结果)上报,完成测试工作。当该单板掉电后,RAM区的数据将不复存在,即使存在也不会被执行。因为上电后,根据插件设置,要运行的是应用程序。应用程序自检RAM后,会将该区域再做清理,彻底解决了运行过程中误入测试环节。针对同一类单板,很多外设是一样的,可以不重复开发测试用“数据包”。这些数据包可以在使用时现生成,也 可预先生成后保存。现生成的好处是,可以随时根据规约文本自动生成最新代码,预先生成的好处是节约时间。亦可根据实际情况将两者相结合,以提高测试效率。测试方法的硬件连接示意图如附图2所示,两块待测单板通过背板CAN总线相连,多个串口可以以任意组合方式相连。根据需要可针对待测单板将其中一个串口与上位机相连,手动的方式选择测试项目,还可以将两块待测单板和上位机同时接到交换机上,上位机通过以太网来访问被测单板,选择测试项目。在测试通讯功能时,如测试CAN总线通讯时,可以通过串口或以太网来传递测试信息与命令,来验证通讯是否正常,同理测试以太网(或串口)通讯时可以通过CAN总线或串口(或以太网)验证,也就是说三个网络可以相互验证,保证通信的可靠性。另外,在对串口进行测试时,待测板也许会存在多个串口或以太网口,这时不需要固定两板的端口对应关系,程序可以做到自动相互识别,确定对方是哪个端口与自己的哪个端口进行通信,提高测试方法的灵活性与自适应性。
权利要求
1.一种继电保护装置单板自动测试方法,其特征在于,所述自动测试方法包括以下步骤 (1)将自动测试程序做为数据包存放在测试后台; (2)在继电保护装置各单板的应用程序中,设置一个钩子函数用来响应自动测试程序数据包消息; (3)当需要对继电保护装置单板进行测试时,测试后台将所述自动测试程序下传至相应的继电保护装置单板; (4)当继电保护装置单板中的钩子函数接收到该数据包时,将所述数据包存放到单板中的一个可执行RAM区,之后判断自动测试程序是否校验通过 (5)自动测试程序校验通过后应用程序跳转到RAM区,开始执行自动测试程序,所述自动测试程序首先判断是否需要测试RAM区,如需要将测试程序转移到flash中运行测试RAM区是否完好,测试完成后再将程序移回RAM区进入测试服务响应流程,如不需要测试RAM区,则直接进入测试服务响应流程; (6)测试服务响应流程初始化完毕后,等待测试后台发送的测试服务命令,接到测试服务命令后,开始传送测试配置信息,测试配置信息传送成功后进行单项测试,直到响应完所有的测试服务命令后退出测试程序; (7)测试进度和测试结果通过待测单板上的指定端口实时发送至上位机显示,当测试结束后单板掉电并再次上电,应用程序自检RAM时,清理可执行RAM区数据包,测试程序被自动删除。
2.根据权利要求I所述的继电保护装置单板自动测试方法,其特征在于 在步骤(I)中,将针对继电保护装置单板的各个硬件组成部分的独立的自动测试程序编译成可执行代码,形成数据包,所述数据包包括针对某个硬件组成部分的测试方法、流程、判据和规约。
3.根据权利要求2所述的继电保护装置单板自动测试方法,其特征在于 所述数据包可以在使用时现生成,也可预先生成后保存。
4.根据权利要求I所述的继电保护装置单板自动测试方法,其特征在于 在步骤(3)中,当将自动测试程序分别下载到两个待测单板上时,两块待测单板通过背板相连自动相互识别,一方作为服务器端,另一方作为测试端,对测试端单板进行功能测试,当测试完毕后两板互换角色,对另一块单板进行测试。
5.根据权利要求I所述的继电保护装置单板自动测试方法,其特征在于 在步骤(3)中,当将自动测试程序分别下载到两个待测单板上时,通过硬件跳线人为设置哪块单板作为服务器端,另一块作为测试端。
6.根据权利要求I所述的继电保护装置单板自动测试方法,其特征在于 所述自动测试程序可以对单板上内存和flash的存储单元进行全面的测试。在测试过程中,可以将自动测试程序从可执行RAM区导入到flash中测试全部内存,或从将自动测试程序从flash导入到可执行RAM区中测试全部flash。
全文摘要
本发明公开了一种继电保护装置单板自动测试方法,这种方法是将单板插件上的程序中加入一个钩子函数,当有测试程序数据包发送过来的时候,钩子函数会获取相应的数据包,并将其存放到一个可执行的RAM区。应用程序会自动跳转到这个RAM区执行测试程序,测试单板的各项功能是否正常,当单板掉电并再次上电后,应用程序自检RAM后,清理可执行RAM区数据包,测试程序被自动删除。这种方法可以为继电保护设备的单板测试带来方便,减少单板调试步骤,提高生产效率。
文档编号G01R31/00GK102621432SQ201210105010
公开日2012年8月1日 申请日期2012年4月11日 优先权日2012年4月11日
发明者刘安, 张涛, 徐刚, 肖鲲 申请人:北京四方继保自动化股份有限公司