机床网
数控软件自动化测试系统的研发
2016-12-28 10:12:28

                             孙楠,邹捷

            (武汉华中数控股份有限公司,湖北武汉 430223)
         基金项目:“高档数控机床与基础制造装备”科技重大专项课题(2013ZX04012-021)

    摘要:本文分析了数控软件传统手工测试优缺点,介绍数控软件自动化测试系统的研发与设计,并简明扼要讲解数控软件自动化测试系统工作过程及原理。数控软件自动化测试系统现已应用在数控软件的单元测试、研发中试、发布性测试中,并且数控软件测试系统也应用在可靠性实验中,未来将在智能工厂中广泛应用。数控软件自动化测试系统缩短测试周期,提高解决问题效率,增强用户对数控软件信任度。
关键词:研发与创新;数控软件自动化测试系统;可靠性测试;
                A Numerical Control Software Automatic Testing
                   System of Research and Development
                           Sunnan,Zoujie

           (Hua zhong Numerical Control Co., Ltd, Wuhan 430223, China)
Abstract: This article analysis the advantages and disadvantages of numerical control software, introduces a NC software automation testing system of research and development, concisely explains numerical control software automation testing system working principle and process.NC software automation testing system is applied in the unit testing development of pilot and release testing of NC software, and in the reliability testing, and in the intelligent factory in the future. NC software automation testing system shorten the test cycle. and improved the efficiency of problem solving. enhanced the user trust for software.
Keywords: research and development; NC software automatic Testing; reliability testing
1.引言
    随着科学技术的发展,“工业4.0”时代来临,数控系统现已实现三化:信息化、智能化、网络化,由此可见数控软件在数控系统中扮演越来越重要的角色。数控软件的可靠性、稳定性、易用性直接决定了生产加工零件正确性及安全性,一旦数控软件的可靠、稳定性出现问题可能会导致严重的生产安全事故。因此数控软件版本发布前,必须进行充分、有效的可靠及稳定性测试。
        
    现阶段国内数控软件基本由人工手动完成可靠及稳定性测试,需要测试人员长时间守候在测试设备或平台前执行各项操作。这给测试工作带来几处难点:测试工作量大,测试周期长,测试人员对于软件功能理解及故障问题描述出现不一致现象,并且当数控软件版本更新,人员会进行大量重复测试工作。对数控软件测试来说,即便投入大量人力物力,很多时候覆盖面依旧不够。
    现有的成熟自动化测试软件大多为windows环境下的软件,而且不能对数控软件进行测试,对于嵌入式自动化测试软件国内市场依旧空白,尤其缺乏针对数控装置上的数控软件自动化测试,这给数控软件测试工作带来很大困难。
2. 数控软件测试系统设计
    数控软件自动化测试系统,应用于数控技术领域,依据“自主创新设计、智能转化、节约资源、可持续发展”理念进行设计与研发。数控软件自动化测试系统研发创新“一个核心”及“六化”;一个核心:指的是“自动化智能测试大数据平台”,自动化测试案例集中上传至“云”数据平台,“云”数据平台对案例进行归类划分,在下传至自动化测试系统,自动化测试系统对案例进行不间断测试,当案例出现问题时在传输到“云”数据平台中,同时相关测试人员可通过电脑或移动端APP程序观测到自动化测试结果,测试及开发人员准确快速分析问题出现原因并且及时修改数控系统软件。六化:“测试自动化、过程可视化、信息集成化、更新自主化、数据网络化、分析智能化”。自动化测试系统利用智能传感器技术、移动互联网、云计算技术、并建立基于移动终端对数控软件进行智能网络化监控。测试内容数据上传与下载都无需人为操作,同时自动化测试系统可自主智能完成对案例的测试。
        
                图1自动化测试系统应用领域及科研图
3.数控软件测试系统工作过程
    自动化测试系统可完成几个方面测试:测试用例库、界面模块、G代码功能模块、多个配置文件和多个配置模块。其中测试用例库、界面测试模块、G代码功能测试模块和被测试对象数控系统软件均存放在“云”数据平台,多台数控装置中的每台数控装置上均存放一个测试配置文件和一个测试配置模块。自动化测试系统工作过程如下:
1. 在“云”数据平台端建立文件传输协议(FTP),并设置数控装置访问的用户名和密码,用于“云”数据平台与多台数控装置之间的文件的传输;
2. 根据测试要求,制作界面测试用例或者G代码功能测试用例,并存放到测试用例库中;
3.编写测试配置文件,设定此次测试类型,测试用例名;
4.当自动化测式系统装置开机后,执行测试配置模块,从“云”数据平台中下载数控系统软件并加载到数控装置上,读取测试配置文件,从“云”数据平台下载界面测试模块或G代码功能测试模块,并执行;
5.所有测试用例测试完成后,生成此次测试的结果;
6.测试结果通过网络通信传输到“云”数据平台,测试人员可通过移动端APP程序或互联网主页查看自动化测试结果。分析测试数据,并且标注问题出现原因;
7.测试人员分析及标注数据后,文体通过“云”数据平台传输至软件部门。软件开发人员对数控软件进行修改后,数控软件重新上传至“云”数据平台;
8. 自动化测试系统重新对数控软件模块进行分析测试。
        
        
4.测试模块工作原理
    自动化测试系统对数控软件中的界面模块、G代码功能模块、多个配置文件和多个配置模块等测试工作原理如下:
A.测试配置模块执行下述操作:
    1.建立所在数控装置与“云”数据平台之间的网络连接;
    2.从“云”数据平台下载数控系统软件并加载到所在数控装置上;
    3.读取测试配置文件,当其中测试类型为界面测试时,执行界面测试模块步骤,当其中测试类型为G代码功能测试时,执行G代码功能测试模块步骤;
    4.从“云”数据平台下载界面测试模块并运行,生成测试结果文件;
    5.从“云”数据平台下载G代码测试模块并运行,生成测试结果文件;
    6.从“云”数据平台下载功能模块并运行,生成测试结果文件;
        
                    图3从“云”数据平台下载相应测试模块代码图

B.数控软件中G代码功能测试模块具体执行下述操作:
    1.从测试配置文件中获取测试用例名,根据测试用例名及其顺序,从测试用例库依次顺序执行G代码功能测试用例;
    2.将G代码功能测试脚本加载到自动化测试系统中,将自动化测试系统的加工模式切换为“自动”或“单段”模式,并向自动化测试系统发送运行指令,由自动化测试系统运行G代码功能测试脚本;
    3.接收自动化测试系统的处理结果,对照G代码数据校验文件,逐行比较X、Y、Z轴当前的机床实际坐标值与对应的理论坐标值是否相同,如果均相同,则测试成功,否则测试失败,并将测试结果写入测试结果文件;
    4.所有G代码功能测试用例测试完成后,统计本次测试的G代码功能测试用例个数、成功的G代码功能测试用例个数、失败的G代码功能测试用例个数、失败的G代码功能测试用例名称以及成功率,并写入测试结果文件;
    5.从“云”数据平台下载G代码功能测试模块并运行,生成测试结果文件。
        
                           图4 数控软件中G代码功能模块组自动化测试工作原理图

C. 数控软件中界面测试模块执行下述操作:
    1.从测试配置文件中获取测试用例名,根据测试用例名及其顺序,从测试用例库依次顺序读取界面测试用例;
    2.解析界面测试用例中的界面测试脚本,每解析一行,获取按键标识符和延迟时间,并将它们送至自动化测试系统,自动化测试系统根据不同按键标识符进行不同处理,每个按键标识符操作后停顿所设定的延迟时间,然后进入下一个键盘按键标识符的处理;
    3.接收自动化测试系统的处理结果,对照界面数据校验文件,逐行比较检查项对应参数的实际值和理论值是否相同,如果均相同,则测试成功,否则测试失败,并将测试结果写入测试结果文件;
    4.所有界面测试用例处理完成后,统计本次测试的界面测试用例个数、成功的界面测试用例个数、失败的界面测试用例个数、失败的界面测试用例名称以及成功率,全部写入测试结果文件。
        
                    图5数控软件中界面功能模块自动化测试工作原理图
5.数控软件测试系统的应用
    数控软件自动化测试系统目前已经应用在数控软件的单元测试、研发中试、发布性测试中,同时数控软件测试系统在长时间连续运行的可靠性实验环境中也得以应用,未来将应用到智能制造工厂中。
    数控软件的单元测试、研发中试、发布性测试中应用数控软件测试系统主要检测数控软件打包BTF文件后功能模块、G代码模块、配置文件的适配性,确保功能模块、G代码模块、配置文件的正确性,同时检测每个案例是否能正常通过测试。
    数控系统可靠性实验中应用自动化测试系统,主要是测试人员通过移动端APP或网络主页监测多台数控软件测试系统的测试结果和同步更新多台数控软件测试系统的文件及测试案例;还可检测到多套数控系统长时间连续运行时多个配置文件和多个配置模块自动更新正确性与准确性。“云数据平台”与多台数控软件自动化测试系统文件实时传输,可确保测试结果及可靠性测试平台的驱动器、电机、数控系统硬件工作中出现的故障或问题第一时间被记录和传输给测试技术人员,测试技术人员可更加快速的分析出问题出现原因,便于开发人员解决问题。
    自动化测试系统未来将在智能制造示范工厂中应用,主要检测G代码模块在实际生产加工中运行正确性,及功能模块被连续使用时稳定性。同时可监测到每台数控机床运行状态。保证智能工厂零件加工的安全性与可靠性。
        
6.结论
    数控软件测试系统,首先填补数控软件自动化测试的空白,主要解决人工手动测试不全面、测试工作量大、测试结果不准确等问题;其次使数控软件的回归测试更加方便,缩短回归测试周期,该系统可对数控软件各个功能、参数、编程代码模块进行回归测试,提高数控软件测试覆盖率;最后每次测试的结果和执行的内容的一致性是可以得到保障,从而可对测试内容和结果进行归纳总结,达到测试的可重复性,对测试人员后续的测试分析提供帮助,缩短解决问题的周期,提高了测试工作效率,充分利用资源,保证了软件质量,增强客户对数控软件的信任度。
    但自动化测试系统并不能完全取代传统的手工测试,因为有很多测试的结果需要人脑进行分析与判断,自动化测试系统并无想象力,所以受软件开发者约束。然而自动化测试系统与人工手动测试可以相互弥补彼此的不足,两者有效的结合是保证测试质量的关键。
    本数控软件自动化测试系统设计已经申请了实用新型专利。专利号:201210524866.3

参考文献:
[1]郑慧,范忠诚,等.零基础学Visual C ++[M].北京:机械工业出版社,2008.
[2]William A. Shay 著,高穿善,等,译.数据通信与网络教程[M].北京:机械工业出版社,2005
[3]黄延,林跃. 软PLC技术研究及实现[J].计算机工程,2004,30(1):15-17
[4]陈维钧.运动控制系统[M].北京:清华大学出版社,2006

基金项目:“高档数控机床与基础制造装备”科技重大专项课题(2013ZX04012-021)
作者简介:

孙楠(1989-),男,数控系统应用测试工程师,从事数控系统应用测试技术工作5年.
地址:湖北省武汉市东湖高新区庙山小区华中科技大学科技园华中数控股份有限公司.
邮编:430223
E-mail: sunnan@hzncc.com
TEL:027-87180689
移动端:13554682678

转载请标注来源158机床网
  • TA 系列:工作台移动式加工中心 TA 系列:工作台移动式加工中心
  • 自动攻牙机 在手工攻丝机的基础上加上动力头动力设施改进后,使机床自动加工零件,使用方便快捷、设计美观实用。
  • 五金模具雕铣机KR-M4-1.5Q 五金模具雕铣机KR-M4-1.5Q
  • 数控龙门加工中心XKDH3060 机床的结构特点:固定式床身、工作台移动;主轴箱随溜板上下移动;亦可沿横梁左右移动实现三轴联动;配置37kW方滑枕主镗铣头。机床具有铣削、镗削、钻削、锪孔等功能,适用于机械、钢铁、能源、汽车、航空航天、兵器、船舶等行业的大、中型零件的加工。
  • 瓦房店立车卡盘爪 公司经营范围:瓦房店三爪卡盘,瓦房店四爪卡盘,瓦房店立车卡爪,瓦房店卧车卡爪,大连车床卡盘,沈阳车床卡盘,大连机床卡盘,沈阳机床卡盘,瓦房店立车配件,瓦房店立车丝杠,瓦房店立车齿轮,瓦房店立车螺旋伞齿轮,瓦房店立车铜螺母,瓦房店立车配件,瓦房店立车大修,瓦房店立车卡盘爪,齐齐哈尔立车配件,齐齐哈尔立车大修,齐齐哈尔立车卡盘爪,武汉立车配件,武汉立车大修,武汉立车卡盘爪、大连瓦房店机床数控刀架等机床附件