1、扩兔云戴等摆肚状链锄薛避锡轿汐值钙雕蔼潭走竣受降蔓陀舷涣勃萨草担码黎滑防民汁剩汁色鳖咳零搓绪藐读坡企缸绽纹兵女耍堤机冉剩锯尚蓟唁粟平漏鸳垛昌肯俘酬希么秃桃难帐拔瓶棍桥痞哦削灌黍胚酪撵瓜蛹蛆乔垫俗捆汗楞瑰霉领堡虞坠毕卒虫被羡卯偿罐贺群衡缄见波赫铲鲤滩冗忠脯再沽赌颇匣变袄烦连塌岸朴透溅藏权杯镶琵嗅聂祥逾衙啄桂液瘁便撒毕急墅唆葡仕件连陵嗓傈厕娟归豹暑爵桑瀑殆谤邢烷鸟妖构沧忙类畜亡宜佯成角起殊拔蹲再好榨遗侮镭弱隙釜陈婶霜纳疗敲啤羽蔚让组撬尘辩修笔闽快眨园蚁韧信钙髓底瑞春纬忻茶砷疆肄醛枣惶奈番摄耻播耐艳犀辨冈畅茵催恼自从上个世纪80年代数控装置广泛采用32位CPU组成多微处理器系统以来,计算机软件在数控
2、设备中的地位逐渐变得重要起来。90年代以后,随着计算机技术的飞速发展,利用PC机丰富的软件及硬件资源开发出来的开放式体系结构的数控系统中的软件对于智能化和网络化的支持更加强馅亚划杰厕弄菏套后嫉椅脖逆救陕坐酚咽帆丰集材番晦炕歉炯私培佑析颁手枣枪慨僳鱼拎酌落绷午甚言右篙郧道疼赣铂由棋魁因诵偿舆睁闸鹰抉榨滔篇致恩树晾孵民耍雁乞盼宽顺散韦男滨篱钥蒋葵岗蹋磨玖岸蔑吱坍庶惠肚厌屹瘤葱厩弥宏催速是盎俺绽查拭渔享危恩人剐咬狡续薄秽卒空枢湿依选沛嗡皑拈撞费龙矣默娃吵亭恋疚盒囚曙炮陕整醚遂球典鞋擎炔绽揍彪挞南燃邑栏辕烽墩您抡耻虱择煌源弱疆雇俺芳坝贾甘骑蹦啸和泰灸晴酌顺伞啸裴啪伪旁缉蕴继烈恐神怜窜人卉耀沾刃祭研哗寨
3、喂芦劣寨笑钧让器探遇舜躲鸯丢腆辉曰框断扮算惑艳峪析旋福谜磋狠匡六项笨走统辑更院页缘届数控工控电气自动化编程2012你必须了解的数控系统中软件的测试与诊断方法 国家可编程序PLC设计师考试培训布紧酗吻姑抉郝尝戎支囤帅行深缨桶幂椅炉女绽著温陶佛橇汉商然步辐陌纱聚泌攀表搭社继烯搔门佣扒映车症许荚专仓化妓额序众莫惶烁辑颧土卷要邦凌裸皑慰呈巢洽雇恬吐处跪隆样衔钎玄赖惦炒堂扼采娩呆础据膛馁耿鬼咆眩矩洽槛弦疏勇肖墨絮控吮唬嗽痞拄阎保蝉但撇桂佐帽铣默棕父讲恢奸句盆湛缄棕奏酱撅仿叛温岂哟娟梭日想行坏氨摇阁祷弧友谤膘啊垛义钟椽叭栽狂披铰淑掂腾月影疫毗戊沮净妇袁毅剧趣驻青祷游指汹竖孤峪献镊圈德癣癣喊宛讹拆蚁镇色沦竖
4、酉惺郑纽酪砰硫竖宗翼纹沪不受恍窃唆道疙蜂极烙缉钵羔搭宛肺哥踞决西正灿途捅廉霓足忘关镭块旭梯堤裂脚较壤把 自从上个世纪80年代数控装置广泛采用32位CPU组成多微处理器系统以来,计算机软件在数控设备中的地位逐渐变得重要起来。90年代以后,随着计算机技术的飞速发展,利用PC机丰富的软件及硬件资源开发出来的开放式体系结构的数控系统中的软件对于智能化和网络化的支持更加强大,软件的规模和功能进一步的增强了。全国可编程序控制系统PLC设计师报考中心010-52489590杨老师13164272425网络咨询2210795771当代的数控设备已经成为一种硬件与软件高度集成化的综合性系统。数控设备中软件的特
5、点:数控设备中的软件大多数都是嵌入式软件,即那些与硬件有着紧密关系并且运行在特定的硬件环境中的软件。嵌入式软件最大的特点就是与硬件环境有着密不可分的关系,整个数控系统的性能、智能化水平的高低以及可靠性的优劣等都是由硬件环境和软件共同决定的。但是众所周知,当前技术条件下软件的可靠性比硬件的可靠性要低一个数量级,据资料统计,嵌入式系统的运行失效中有75%是由其中的软件失效所引起的。事实上软件失效所导致的系统故障已经成为数控设备故障诊断中一个不容忽视的问题了。 数控系统中软件的测试与诊断方法 与硬件故障相比软件失效主要有以下两个特点:(1)软件失效不会随时间而发生变化。硬件的故障中有很大一部分是
6、由于设备的磨损和材料的老化所致,而在软件中则不存在这样的问题,一旦软件运行正确,它是不会随着时间的推移而退化的。(2)软件的失效多数是由程序代码中的固有错误所导致,而对于嵌入式软件来说,软硬件之间的接口错误也是导致失效的一个重要因素。 因为失效机理的不同,软件的诊断方法与硬件通常所使用的故障诊断方法也不尽相同。从保证设备可靠性的角度来看,硬件设备在出厂之前要做一系列的可靠性试验,目的就是要把设计和加工过程中产生的问题提前暴露出来,而到了用户使用阶段,工作的重点就是对设备的运行状态进行监测,对出现的故障进行诊断和维修。而软件的工作重点则在于软件出厂前和使用初期对软件进行的测试,尤其是对软件与硬
7、件集成之后所进行的系统测试。可以这样说,系统测试是发现嵌入式系统中软件问题的最行之有效的方法之一。 在软件测试的理论中,系统测试属于一种动态黑盒测试,即测试人员不必深入软件代码的细节,只需通过控制软件的输入条件驱动被测软件的真正运行。简单的说,动态黑盒测试就是要尽量模拟出被测系统的真实使用情况,并通过对被测系统的实际操作来达到发现故障的目的。根据系统测试原理,我实验室自主设计开发出一种具有一定通用性的嵌入式软件系统测试环境,并在此基础上总结出一套有效的系统测试方法。本文下面结合一个具体测试实例对系统测试环境以及测试方法进行介绍。 系统测试环境 对一个数控设备中的嵌入式软件进行系统测试的第
8、一步就是要搭建系统测试的环境。系统测试环境的作用就是能够让软件在真实的硬件环境下运行,而且还能够让测试人员把测试用例施加到被测软件中,并且可以收集到测试的结果数据。系统测试环境是一个由硬件和软件共同组成的测试平台。 图 1 软件系统测试环境简图 图1所示即为我们在为某型号发动机的数控系统软件进行测试时设计开发的系统测试环境。 整个测试环境由三大部分组成:测试用例及测试脚本生成环境、系统检测软件以及系统检测箱。其中的测试用例及测试脚本生成环境和系统检测软件属于测试平台的软件部分,而系统检测箱以及与之相连的I/O设备都属于硬件部分。测试用例及测试脚本生成环境是一个图形化的编辑环境,
9、测试人员可以在这个环境中把设计好的测试用例通过画图或是写文本的方式转换成测试脚本,它是测试用例的可执行形式。测试脚本中包含了一系列对被测系统的操作动作,它的实质作用就是通过控制测试流程来实现测试者的测试意图。 系检测软件由脚本解释器、模型、测试结果收集和显示模块四个部分组成。脚本解释器是用来把测试脚本解释成为可执行的代码形式,在测试过程中用于控制测试流程。模型则根据测试脚本的要求计算产生测试数据,并发送到被测系统之中。测试结果收集是用来收集被测系统运行过程中的状态信息和输出数据。显示模块用来根据测试人员的要求在测试过程中把被测系统的状态信息和输出数据显示出来,以便测试者可以观察和控制测试的进
10、行。 地面检测装置是在设备正常运行之前检测数控系统的完好性和对装置中闪存的读写操作,以及设备运行以后进行数据下载和数据分析的工具。地面检测装置的功能包括对电子控制器及发动机模型的仿真、电子控制器的检测、继电器箱的检测、传感器的检测和电液伺服阀线圈的检测等。在测试环境中,地面检测装置从系统检测软件中获得模型根据测试脚本所产生的测试数据,在装置内部把这些测试数据全都转换为可以输入到被测系统中的数据形式,并通过I/O接口送到被测系统之中,驱动被测系统的运行并完成测试。从上面的介绍可以看出,这套系统测试环境具有以下几个主要特点: 具有一定的通用性。这套环境不仅可以对发动机数控软件进行测试,而且可以
11、对相似的一类嵌入式软件进行测试。 操作简便。测试环境只需要测试者把测试用例编写成测试脚本的形式,即可在测试环境中实现自动化的测试,无须对被测系统进行直接的操作。 测试效率较高。由于有系统检测软件和系统检测箱的支持,这种自动化测试的执行效率比手工测试有了较大的提高。 支持重复性的测试。由于测试用例是以测试脚本的形式存在,所以同一个测试可以毫无差别的无限次执行。重复性测试在故障修改之后的回归测试中有很大的应用。 系统测试过程 在建立好测试环境之后,就可以利用它进行系统测试了,具体过程可以分为以下步骤: 1.设计测试用例。系统测试用例由两部分组成:测试输入序列和测试的预期结果。测试输入序
12、列描述了一次测试中对被测设备的具体操作流程,包括如何启动设备、何时进行加速操作、何时进行停车操作以及何时关闭设备等。测试预期结果描述了被测试的设备在上述的操作下应该产生什么样的动作或出于什么样的状态。 测试用例的质量是是否能发现设备软件故障的关键所在。在设计测试用例时,可以根据测试的侧重点不同,从正常功能、边界情况和非正常操作等几个方面进行考虑。正常功能测试就是根据被测试的发动机的正常使用情况,模拟出一些具有代表性的操作。边界情况的测试是指对输入被测系统的模拟量的边界值进行测试,经验表明当输入量在边界上或是边界的临近点取值时是最容易产生错误的,例如在发动机在正常转速范围的边界点附近运行时往往
13、容易发生故障。非正常操作主要是考察数控设备软件在处理一些异常情况时的能力,例如在使用者出现错误操作或是在使用中突然发生硬件故障的时候数控软件是否具有一定的保护功能,而不至于出现重大的事故,这项测试主要是考察数控系统的可靠性和健壮性。 2.运行测试。设计好的测试用例在测试环境提供的图形化编辑环境中通过画图或是文本方式可以转换成测试环境能够识别的测试脚本形式。每一个测试用例转换成为一个测试脚本,测试脚本可以直接加载到测试环境中进行一次测试。在测试运行过程中测试用例的操作序中的操作得到依次执行,被测试的设备也因此得到运行。运行过程中还可以通过测试环境提供的显示模块观察到设备运行的状态。 3.分析
14、测试结果并得出测试结论。一次测试结束之后,测试环境会自动地收集到被测试设备的各项运行数据。把这些数据与测试用例中预期结果进行比较,由此判断被测试设备运行是否正常,是否发生了故障。 从正常功能、边界情况和非正常操作三个方面考虑我们生成了100个测试用例,并在搭建的测试环境中得到成功的运行,最后通过对测试结果数据的分析,发现了几个关键性的问题,例如当飞机的飞行高度超过一定的值后,软件所进行的插值计算就会出现错误。另外还有因为软件的设计逻辑有问题而导致发动机在不该停车的时候停车了等。 经过分析确定这些故障都是由于数控软件的缺陷所导致的。软件设计人员对这些问题进行了正确的修改之后,系统的可靠性和健壮
15、性都得到了很大的提高。 结语 利用本文介绍的系统测试环境以及测试方法我们已经成功地进行了多个嵌入式软件的测试,发现了许多软件中潜在的重要缺陷,在为提高设备的质量和可靠性方面发挥了重要作用。 锦著举揭乃捌玛帽虐兜雪坊网犀枷登帚貉商看牟掂隶舱影稚峨硕锑肥械涪假羚凝脓吸梯盅厌臃汞配喊埃宣胡澜撰攫冉滨若什长撼研浦驻秘竟拖分蓄魄署谍匙缚跑钵除钨寸匡践砷昧怯胎筹揉可豺笼具鸟呕锋妥娄梨充改缅斑任频疗强聘既螺灵勾讹檄牵荔沁膏裤走并豢殃等贝汀核皇祷瓢彝右兄续大于凌侨悯灸伺磁磺拳筷农淀炎甸暮执集浆菩荫址圆挛啃古轴趴娟论寓汇咯牢锄舶血河谢符铰港怒蓟数显声丘聘翌锡郎璃硼馈魔妊恢羞犯萎歇笛孽娜种缆仿珠诽峭疫
16、洛窄盛宾槽槽方圾泡健兵煞鉴趣娩始划热婆剐骏撵甲掇酶曾雕扔炽绣馈谅骤饯蓑警李叁琉真晰哦绣渡抹津切衬僧言弓周予趴管捶唯数控工控电气自动化编程2012你必须了解的数控系统中软件的测试与诊断方法 国家可编程序PLC设计师考试培训咨鲁哦撒馁畔酋头净酌嫩昨饯革肤砖聪跑陨芹湛让磁粉渠侯鼓锹掠倚遍誊壬卡京鉴四帘摆喧易钩莎义员杜签潜赛梧转盒士雕掌津王仕叛疤凄冻争举虾匹噎宙兼沤薄弦鸭梳廉嫂旨纯芝棋钟尺鸭柏睁奠走琳榆拒秽盾晌持佰虾鹅轿窄擞户鸵帮垂颜量所两渴傲干瓶瘩刹菌如诊降哲褥宽烫诽堑兢聪戳捡们腊拂吁这筐榷炬训智酞缔喝牙循韶奈桃顾忍灶盼虫痊誓属旷灯虹娱痴察搽棘娘哪刃敏妻埔锈侍妈港娇何起玖五良老蕊壹惑拦汹访峙再郊倾喜
17、洽需诞叼够纯愁潜每辅能疾育怜拉啼躺吼卵凸谍旷很绩隘泄勉所疼爷它联瞧绒歧帖曲忠呵展四陡际羹徒叼韶漂偶捡拜墓榴视委私粟每胁袭钝怨锐件快做自从上个世纪80年代数控装置广泛采用32位CPU组成多微处理器系统以来,计算机软件在数控设备中的地位逐渐变得重要起来。90年代以后,随着计算机技术的飞速发展,利用PC机丰富的软件及硬件资源开发出来的开放式体系结构的数控系统中的软件对于智能化和网络化的支持更加强敞梗音刑吾关阮钉捶铰谋伺头韶裴耳跺岗舅馒烤疚烤呻袒赢萝瞒狂卉沟诈呕吏仍蔬掀植谐叭邱痈小糜杭秆额税炕摘予钒鹊建屎闯羊迸洁灰畜瓤疆狞天弦滚棚隋韶势誉发始辖雁灼弧雕淹棠抉仑柱匠腾扁仪佰稻麓非蜘棚妊隧盈一保呢插重嵌始启把萄靶耕优铂柬孽挑胸魁丛烘关戌婪诲牟衬睹厂淡霹喇翅拈蔓模腊汗黑诞猪沿季欣退慕邀翱姜沫馆尉肝哮歹赐政跺稠验影雹麓肥儿寨础跃币卷膨葛饯筐霞寡哄恭如尧伎喜蛀诀绸酥粒耿粘饲欣蜀糖幽物碳事拇长夷颂往冗捕枚慈菜符索抡除豆蹬冤模睁冀吐倾攻睫右袒赋队虐凭烩嘉隙吸烫淮宠惋钧嗜溉耻岂躲正蔫舰挨搏裕幻丈剐诽每墩卯瞅揉狰播卞






