综保装置自动测试系统的制作方法

文档序号:6375259阅读:319来源:国知局
专利名称:综保装置自动测试系统的制作方法
技术领域
本发明涉及一种综保装置自动测试系统。背景技术
目前我司的综保装置的生产测试采用纯手工的方式,由操作员将装置手动定位于测试工装后,手工完成模拟量采集,开入量等外部输入的测试,以及通道零点校准,通道系数的校准等出厂设置,完成相关操作后,在预先打印好的测试报告中手动填写测试记录数据,所有环节均由操作员完成,不可靠因素较多,风险大,且效率低下,随着公司的发展,发货量的增大,手工操作的生产测试模式将会成为制约发展的瓶颈。
发明内容
本发明为了解决上述背景技术中的不足之处,提供一种操作简单、使用方便的综保装置自动测试系统,
为实现上述目的,本发明采用的技术方案为一种综保装置自动测试系统,其特征在于所述的测试系统包括装置侧和PC侧,
所述的装置侧包括采用4层分布,分别为应用层、业务管理层、业务实现层和硬件抽象
层;
所述的应用层负责管理页面,以及消息管理器的启动;
所述的业务管理层主要是对消息的管理;
所述的业务实现层是每个测试项的具体逻辑实现,以及从终端取消息和将结果送到终端的功能的实现,所有的业务动作都是在这一层具体体现的;
所述的硬件抽象层设置硬件的驱动部分;
所述的PC侧包括采用4层分布,分别为应用层、业务管理层、业务实现层和硬件抽象
层;
所述的应用层负责管理页面,输出打印;
所述的业务管理层主要是对测试队列的管理;
业务实现层是每个测试项的具体逻辑实现,以及对测试源的控制,测试台的管理; 硬件抽象层主要是通讯模块,承载上下的数据交互业务;
所述的装置侧的流程步骤为
(1)开始;
(2)初始化;
(3)捕获消息,投入到消息列队,从消息队列中读取消息;是,则进入下一步,否,则重新从消息队列中读取消息;
(4)启动执行器;
(5)输出执行结果;
所述的PC侧的流程步骤为
(1)开始;
(2)初始化;(3)启动测试线路,是,则进入下一步,否则重新启动测试线路;
(4)启动执行器;
(5)执行单个测试项写命令;
(6)执行单个测试项读命令;
(7)判定并记录执行结果;
(8)测试项执行完毕,是,则进入下一步,否则返回到第(5)步;
(9)输出测试结果。 所述的装置侧内的业务管理层包括消息队列管理器、消息输入单元、消息处理单元和执行结果输出单元;
消息队列管理器建立了一个消息队列以及提供对消息队列的访问管理,这是一个核心的模块,与外设以及具体业务无关,消息队列的基本操作如初始化,消息入队,消息出队等功能在这里实现;
所述的消息队列管理器分为消息入队和消息出队;
消息输入单元实现对外设的信息捕获,以及将捕获的信息解析成标准消息格式,随后访问消息管理器,将消息压入消息队列,在解析时需要进行具体测试业务与消息体的绑定,如果出现带参消息情况,在解析时,消息体中只是保留了参数指针和参数长度,具体的参数需要使用预分配的内存来保存,本单元只提供一个接口给应用层使用,所有动作均在接口内部实现;
消息处理单元本单元维护了一个执行器在运行,执行器反复执行消息动作接口函数,流程上首先访问消息管理器,从消息队列中取出消息,如有消息再将此消息传给执行器执行,从而完成具体业务的操作;
所述的消息入队的流程步骤为
(1)开始;
(2)新消息输入;
(3)重定位写消息指针;
(4)查看当前位置是否有消息,是,则退出;否,则进入下一步;
(5)新消息入队;
(6)退出;
所述的消息出队的流程步骤为
(1)开始;
(2)消息是否为空,是,则进入最后一步;否则进入下一步;
(3)当前消息是否有效,是,则进入下一步;否,则进入最后一步;
(4)当前消息出队;
(5)重定位读消息指针;
(6)退出;
所述的消息输入单元的流程步骤为
(1)开始;
(2)从外设获取消息ID;
(3)组建标准格式消息;(4)新消息入队;
所述的消息处理单元的流程步骤为
(1)开始;
(2)从队列弹出消息;
(3)消息校验;
(4)执行消息的行接口;
(5)抛出执行结果到外设;
所述的执行结果输出单元主要是对消息执行结果 的输出获取,以及输出到外设,在执行动作结束后,消息体内会保存本次执行动作的结果,本单元将负责将此结果输出到终端 用户,若有测试无法用单一状态返回给上位机的情况,则需要返回一些状态量,此情况与消息带参情况一般处理。所述的业务实现层包括测试项单元、消息输入和结果输出,所述的测试项单元实现具体的测试逻辑,所有的测试业务都在这里进行个性化实现,在每个测试项的子类接口里,通过对硬件驱动的访问,实现单个测试项的测试逻辑,测试项的具体动作在这里得到完整的体现。所述的PC侧的业务管理层为操作队列管理,负责将测试队列分解执行,逐个访问队列中的每个操作节点;
所述的操作队列管理的流程步骤为
(1)开始测试;
(2)启动测试器;
(3)测试节点执行;
(4)测试队列执行完毕,是,则进行下一步;否,则返回上一步;
(5)退出。所述的PC侧的测试业务具体测试逻辑实现,根据测试类型对测试逻辑进行细化,将测试动作转化为一系列数据帧发给装置侧软件,并对回复数据进行判定,得到最终测试结果,将此结果以消息的形式发给主界面模块,测试源控制管理,为测试业务提供相应的功能,配合完成测试,测试台模块也是测试业务的配合模块;
所述的测试业务的流程步骤为
(1)测试业务逻辑装换为逻辑数据包;
(2)数据包下发;
(3)等待返回结果并判断;
(4)退出。所述的PC侧的硬件抽象层内的通讯模块负责PC侧和装置侧的数据交互,设计借用原有上位机通讯模块。与现有技术相比,本发明具有的优点和效果如下本发明通过自动化的方式快速检测YZ系列综保装置的硬件是否工作正常,并通过检测定位硬件存在的确切问题。该系统可代替传统手工测试过程,操作简单,使用方便,操作员只需要操作PC机即可完成对综保装置的测试,可大幅度提高生产测试的效率,降低生产测试成本。四

图I为本发明装置侧流程 图2为本发明PC侧流程 图3为本发明装置侧结构框架 图4为本发明PC侧结构框架 图5为本发明消息入队流程 图6为本发明消息出对流程 图7为本发明消息输入流程 图8为本发明消息处理流程图;
图9为本发明界面流程 图10为本发明操作队列流程 图11为本发明测试业务流程 图12为本发明总体流程图。五具体实施例方式 1.1本发明的功能要求
通讯功能检测由PC机下发通讯命令,检查被测装置是否回复正确。如果不回复或回复错误则通讯通道有问题。单片机ROM自检检测单片机的ROM是否有坏BANK。采用抽样地址读写检测方案。装置在接受到PC机下发的ROM自检命令后,装置在固定的几个区域选择固定的地址进行读写操作。如果写入和读出得数据有不一致的现象。则表示ROM区有坏BANK。则判定该单片机ROM有问题。单片机RAM自检检测单片机的RAM是否有坏BANK。采用抽样地址读写检测方案。装置在接受到PC机下发的RAM自检命令后,装置在固定的几个区域选择固定的地址进行读写操作。如果写入和读出得数据有不一致的现象。则表示ROM区有坏BANK。则判定该单片机RAM有问题。开出量检测由PC机遥控被测装置开出量输出,PC机同时检测测试台是否收到被测装置的开出信号。若测试台未收到装置的开出信号,则判为被测装置开出信号有问题。开入量检测由PC机遥控测试台向被测装置发出开入量信号,PC机同时检测被测装置是否收到开入信号。被测装置未收到开入量则判为开入量通道有问题。AD通道检测由PC机控制电流、电压源给被测装置输出电流、电压信号,PC机同时检测被测装置的测量信号。(最好能做到通过后台校正通道零点,调整通道系数)如果通道零点,通道系数无法调整或测量的电流、电压值偏差比较大,则判为AD通道有问题。看门狗芯片检测由PC机关掉喂狗功能检测被测装置是否有重新启动现象,如果被测装置没有重启则判为看门狗芯片有问题。打开喂狗功能,检测被测装置在一段时间内是否有重启现象,如果被测装置有重启现象,则判为看门狗芯片有问题。铁电芯片检测由PC机下发向铁电芯片写入的数据,写完数据,由PC机控制测试台断电,重新上电。再由PC机读取铁电数据,检测写入和读取的数据是否一致。若不一致则判断铁电读取通道或者铁电芯片有问题。EEPROM芯片检测检测方法同铁电芯片。时钟芯片检测由PC机向被测装置写入时间,并监测被测装置的时间是否正常变化。如果未正常变化则判时钟芯片有问题。如果正常变化,则断电一段时间后重新上电后再由PC机读取时间。如果重新上电后读取的时间不对,则时钟芯片有问题。后续Vrl. I. 0. 0版本需加入按键,液晶,硬压板等测试项,
通讯测试部分是否需要加入不同波特率的测试
I. 2本发明的运行环境
YZ系列综保装置自动测试软件系统分为两部分,分别运行于装置侧和PC侧,以下我们分开来论述。自动测试装置侧软件寄生于YZ系列综合微机保护装置的嵌入式应用软件,所以该软件也运行于YZ系列综合微机保护装置的硬件+嵌入式实时操作系统平台。YZ102系列综合微机保护装置的嵌入式实时操作系统运行于YZ系列综合微机保护装置的硬件平台。
自动测试PC侧软件运行于windows平台,通过串口遵循modbus协议与装置通讯,完成对装置侧的测试控制。I. 3本发明的基本设计概念和处理流程 装置侧(参见图I)
装置侧软件参考了 Windows的消息管理机制,将每个测试动作抽象为一条消息,测试软件维持了一个消息队列管理器来管理消息,它不断地从终端(如界面,通讯模块等)捕获消息,并将捕获的消息压入消息队列,同时又从消息队列里取出消息并执行,并将执行结果返回到终端(如界面,通讯模块等),从而完成了对每个测试项的测试功能。因PKOS未提供内存动态分配机制,所以采用预分配的方式来实现消息队列实体MsgQueue的内存领用,此数据结构为私有数据,对外只暴露接口,鉴于存在有对队列的异步访问,所以同步问题在接口内部使用PKOS的临界区机制来解决。借鉴C++多态的思想,测试业务抽象而来的消息(基类)有一个抽象执行动作接口(函数指针),此接口并不实现具体的测试逻辑,而是将测试逻辑交由底层子类来实现,所以上层只需要通过对消息执行动作接口的访问就可完成具体的测试动作。但因为我们使用的是纯C的环境,并没有多态机制来约束,所以在消息解析时需要完成具体测试项在消息体上的挂载。若存在消息带参以及测试结果无法用单一状态表示的这两种情况,为保存这些信息,我们需要另行分配内存,此内存全局共享,无访问限制。PC侦彳(参见图2):
PC侧软件运行于VC++环境,windows平台,这里我们通过多线程的方式来实现多路并行测试,每条测试线路可挂多台装置,每条线路采用纵向测试策略(即逐个先测每个装置的同类型测试项,完成后再继续进行下一个测试项的多机测试)。我们定义了一个操作节点OperationItem来封装测试类的数据和行为,同样是采用纯虚函数接口,具体测试业务交由子类实现。所有操作节点均封装在一个操作队列里,在实际操作中,某个测试线路启动之后随之启动操作队列执行器,遍历整个队列即可完成对所有测试项的测试。为了实现对操作过程的监控以及结果的输出,在每个测试项测试完成之后(是完成,不是成功),将测试完成的状态以消息的形式发给主界面线程,用来刷新界面以及输出
最终结果。
I. 4本发明系统架构设计
装置侧(参见图3)
装置侧软件采用4层分布,每层向上提供明晰的接口。应用层负责管理页面,以及消息管理器的启动。业务管理层主要是对消息的管理。业务实现层是每个测试项的具体逻辑实现,以及从终端取消息和将结果送到终端的功能的实现,所有的业务动作都是在这一层具体体现的。硬件抽象层主要是硬件驱动部分,这部分借用YZ102以实现的模块。
PC侦彳(参见图4):
PC侧软件也采用4层分布,定义基本与装置侧相似。应用层负责管理页面,输出打印等。业务管理层主要是对测试队列的管理。业务实现层是每个测试项的具体逻辑实现,以及对测试源的控制,测试台的管理。硬件抽象层主要是通讯模块,承载上下的数据交互业务。I. 5子系统 装置侧
消息管理模块
本模块由以下几部分组成
消息队列管理器(参见图5、图6):
本单元建立了一个消息队列以及提供对消息队列的访问管理,这是一个核心的模块,与外设以及具体业务无关,消息队列的基本操作如初始化,消息入队,消息出队等功能在这里实现。消息输入单元(参见图7):
本单元实现对外设的信息捕获,以及将捕获的信息解析成标准消息格式,随后访问消息管理器,将消息压入消息队列。在解析时需要进行具体测试业务与消息体的绑定。特别说明的是,如果出现带参消息情况,在解析时,消息体中只是保留了参数指针和参数长度,具体的参数需要使用预分配的内存来保存。本单元只提供一个接口给应用层使用,所有动作均在接口内部实现。消息处理单元(参见图8)
本单元维护了一个执行器在运行,执行器反复执行消息动作接口函数。流程上首先访问消息管理器,从消息队列中取出消息,如有消息再将此消息传给执行器执行,从而完成具体业务的操作。执行结果输出单元
本单元主要是对消息执行结果的输出获取,以及输出到外设。在执行动作结束后,消息体内会保存本次执行动作的结果,本单元将负责将此结果输出到终端用户。若有测试无法用单一状态返回给上位机的情况,则需要返回一些状态量,此情况与消息带参情况一般处理。输出单元这部分功能比较单一,只是将一个布尔型的输出结果(表示某个模块的测试结果)分发到外设,如界面显示或者发给后台。I. 6测试业务模块本模块实现了具体的测试逻辑,这才是真正的测试环节,所有测试业务都在这里进行个性化的实现。在每个测试项的子类接口里,通过对硬件驱动的访问,实现单个测试项的测试逻辑,测试项的具体动作在这里得到完整的体现。实现的测试业务有
通讯功能检测
单片机ROM自检 单片机RAM自检 开出量检测 开入量检测 AD通道检测 看门狗芯片检测 铁电芯片检测 EEPROM芯片检测 时钟芯片检测 I. 7页面管理模块
本模块主要对页面进行管理,机制与YZ系列综保装置软件保持一致,不再赘述,只是不同的测试方案下页面显示将会有所区别。I. 8外设驱动模块
调用102成熟模块,驱动硬件完成测试动作。PC 侧
I. 9界面管理(参见图9)
采用单文档模式设计,暂定4个线路的测试,所以在窗口类里嵌入容量为4的测试队列类指针数组,初始化时再将各个测试队列实例化,在指定线程里访问对应的测试队列。实现状态机,接收处理各个测试项发来消息,以线程ID为所以更新不同线路的测试状态。多线程创建和管理功能也在这部分提供。2.0输出打印
将测试结果输出给打印设备(测试报告文件)。2. I操作队列管理(参见图10)
执行单元,负责将测试队列分解执行,逐个访问队列中的每个操作节点,与装置侧软件的消息处理单元功能类似。2. 2测试业务(参见图11)
具体测试逻辑实现,根据测试类型对测试逻辑进行细化,将测试动作转化为一系列数据帧发给装置侧软件,并对回复数据进行判定,得到最终测试结果,将此结果以消息的形式发给主界面模块。测试源控制管理,为测试业务提供相应的功能,配合完成测试。测试台模块也是测试业务的配合模块。2. 3通讯模块
这部分负责PC侧和装置侧的数据交互。设计借用原有上位机通讯模块。
权利要求
1.一种综保装置自动测试系统,其特征在于所述的测试系统包括装置侧和PC侧, 所述的装置侧包括采用4层分布,分别为应用层、业务管理层、业务实现层和硬件抽象层; 所述的应用层负责管理页面,以及消息管理器的启动; 所述的业务管理层主要是对消息的管理; 所述的业务实现层是每个测试项的具体逻辑实现,以及从终端取消息和将结果送到终端的功能的实现,所有的业务动作都是在这一层具体体现的; 所述的硬件抽象层设置硬件的驱动部分; 所述的PC侧包括采用4层分布,分别为应用层、业务管理层、业务实现层和硬件抽象层; 所述的应用层负责管理页面,输出打印; 所述的业务管理层主要是对测试队列的管理; 业务实现层是每个测试项的具体逻辑实现,以及对测试源的控制,测试台的管理; 硬件抽象层主要是通讯模块,承载上下的数据交互业务; 所述的装置侧的流程步骤为 (1)开始; (2)初始化; (3)捕获消息,投入到消息列队,从消息队列中读取消息;是,则进入下一步,否,则重新从消息队列中读取消息; (4)启动执行器; (5)输出执行结果; 所述的PC侧的流程步骤为 (1)开始; (2)初始化; (3)启动测试线路,是,则进入下一步,否则重新启动测试线路; (4)启动执行器; (5)执行单个测试项写命令; (6)执行单个测试项读命令; (7)判定并记录执行结果; (8)测试项执行完毕,是,则进入下一步,否则返回到第(5)步; (9)输出测试结果。
2.根据权利要求I所述的综保装置自动测试系统,其特征在于所述的装置侧内的业务管理层包括消息队列管理器、消息输入单元、消息处理单元和执行结果输出单元; 消息队列管理器建立了一个消息队列以及提供对消息队列的访问管理,这是一个核心的模块,与外设以及具体业务无关,消息队列的基本操作如初始化,消息入队,消息出队等功能在这里实现; 所述的消息队列管理器分为消息入队和消息出队; 消息输入单元实现对外设的信息捕获,以及将捕获的信息解析成标准消息格式,随后访问消息管理器,将消息压入消息队列,在解析时需要进行具体测试业务与消息体的绑定,如果出现带参消息情况,在解析时,消息体中只是保留了参数指针和参数长度,具体的参数需要使用预分配的内存来保存,本单元只提供一个接口给应用层使用,所有动作均在接口内部实现; 消息处理单元本单元维护了一个执行器在运行,执行器反复执行消息动作接口函数,流程上首先访问消息管理器,从消息队列中取出消息,如有消息再将此消息传给执行器执行,从而完成具体业务的操作; 所述的消息入队的流程步骤为 (1)开始; (2)新消息输入; (3)重定位写消息指针; (4)查看当前位置是否有消息,是,则退出;否,则进入下一步; (5)新消息入队; (6)退出; 所述的消息出队的流程步骤为 (1)开始; (2)消息是否为空,是,则进入最后一步;否则进入下一步; (3)当前消息是否有效,是,则进入下一步;否,则进入最后一步; (4)当前消息出队; (5)重定位读消息指针; (6)退出; 所述的消息输入单元的流程步骤为 (1)开始; (2)从外设获取消息ID; (3)组建标准格式消息; (4)新消息入队; 所述的消息处理单元的流程步骤为 (1)开始; (2)从队列弹出消息; (3)消息校验; (4)执行消息的行接口; (5)抛出执行结果到外设; 所述的执行结果输出单元主要是对消息执行结果的输出获取,以及输出到外设,在执行动作结束后,消息体内会保存本次执行动作的结果,本单元将负责将此结果输出到终端用户,若有测试无法用单一状态返回给上位机的情况,则需要返回一些状态量,此情况与消息带参情况一般处理。
3.根据权利要求I或2所述的综保装置自动测试系统,其特征在于所述的业务实现层包括测试项单元、消息输入和结果输出,所述的测试项单元实现具体的测试逻辑,所有的测试业务都在这里进行个性化实现,在每个测试项的子类接口里,通过对硬件驱动的访问,实现单个测试项的测试逻辑,测试项的具体动作在这里得到完整的体现。
4.根据权利要求3所述的综保装置自动测试系统,其特征在于所述的PC侧的业务管理层为操作队列管理,负责将测试队列分解执行,逐个访问队列中的每个操作节点; 所述的操作队列管理的流程步骤为 (1)开始测试; (2)启动测试器; (3)测试节点执行; (4)测试队列执行完毕,是,则进行下一步;否,则返回上一步; (5)退出。
5.根据权利要求4所述的综保装置自动测试系统,其特征在于所述的PC侧的测试业务具体测试逻辑实现,根据测试类型对测试逻辑进行细化,将测试动作转化为一系列数据帧发给装置侧软件,并对回复数据进行判定,得到最终测试结果,将此结果以消息的形式发给主界面模块,测试源控制管理,为测试业务提供相应的功能,配合完成测试,测试台模块也是测试业务的配合模块; 所述的测试业务的流程步骤为 (1)测试业务逻辑装换为逻辑数据包; (2)数据包下发; (3)等待返回结果并判断; (4)退出。
6.根据权利要求5所述的综保装置自动测试系统,其特征在于所述的PC侧的硬件抽象层内的通讯模块负责PC侧和装置侧的数据交互,设计借用原有上位机通讯模块。
全文摘要
本发明涉及一种综保装置自动测试系统。现有的生产测试采用纯手工的方式,由操作员将装置手动定位于测试工装后,手工完成模拟量采集,开入量等外部输入的测试,以及通道零点校准,通道系数的校准等出厂设置,完成相关操作后,在预先打印好的测试报告中手动填写测试记录数据,所有环节均由操作员完成,不可靠因素较多,风险大,且效率低下。本发明是通过自动化的方式快速检测YZ系列综保装置的硬件是否工作正常,并通过检测定位硬件存在的确切问题。该系统可代替传统手工测试过程,操作简单,使用方便,操作员只需要操作PC机即可完成对综保装置的测试,可大幅度提高生产测试的效率,降低生产测试成本。
文档编号G06F11/00GK102819463SQ201210292878
公开日2012年12月12日 申请日期2012年8月17日 优先权日2012年8月17日
发明者聂都, 吴立鸿 申请人:西安远征智能软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1