蒋凯波
(上海铁路通信有限公司,上海 200333)
一种基于web技术的总线型测试工装及管理系统技术研究
蒋凯波
(上海铁路通信有限公司,上海 200333)
提出一种较为先进且现代化的基于web技术的总线型测试工装及测试管理系统,并对其涉及的系统架构、主要功能,以及关键的实现技术进行初步研究。
测试工装;测试总线;web;虚拟仪表;测试流程;测试管理
现代化的制造企业需要现代化的先进工装测试系统,以满足企业对其生产电子类产品品质的管理与控制需要,这不仅体现在测试过程的标准化、模块化和自动化上,同时也体现在测试管理过程和结果的信息化上。笔者通过对AF904测试工装系统的研究,结合相关web技术、测控技术、虚拟仪表和BPMN技术,在对其模块化、标准化研究的基础上,提出一种集测试与测试管理为一体的先进的总线型测试工装及管理系统,以满足公司的实际生产和管理需求。
如图1所示,从系统构成上看,系统主要包括测试管理服务器、测试平台软件、测试仪器仪表、输入输出测控总线、接口适配及被测设备等几部分,其中接口适配以上部分为通用部分,硬件部分一旦建成可满足绝大多数测试任务的需求。对于测试系统与被测系统之间的匹配工作,由接口适配器单元负责完成。
各部分的主要功能阐述如下。
1)输入输出测控总线及接口适配
这里的输入输出测控总线非传统意义上的测控总线(如VXI、PXI、GPIB等测试仪表总线),而是测试工装系统内部设备与被测系统间的结构化总线技术,是为了解决仪器仪表与被测系统之间复杂的、非通用的匹配关系,在对测试工装标准化、模块化的基础上提出来的。
在常见的工装测试系统中,主要针对电压、电流、频率、波形、记数器、通信数据等指标进行测量,采用的仪器仪表可能包括输入输出量、也可能仅是输出量或输入量,因此,将仪器仪表与被测系统之间复杂的连接关系抽象为输入总线、输出总线、控制总线,以及通信总线,各种测试仪表与总线之间通过一个电子继电器接口连接,电子继电器连接着控制总线,通过测试平台的测控软件按照测试流程自动控制。
对于一般的测试系统,接口适配单元可直接接到总线上,可同时并行几到十几个被测系统,在多个并行测试时,需要考虑总线的负载能力;
对于不同类型的被测对象需要并发测试的场合,则需要通过电子继电器接口转接。
2)测试平台软件
测试工装另一个核心为测试管理软件,主要包括功能组件:虚拟仪表显示与控制组件、输入输出测控组件、测试流程管理组件、通信功能组件等几部分。各组件功能如下。
虚拟仪表显示与控制组件:将测试系统需要的常见仪器仪表通过软件进行整和,通过web技术实现仪表的虚拟化视图和操作。
输入输出测控组件:通过图形化的web界面,将输入输出各控制节点的状态和操作直观的显示出来,操作人员只需要对这些节点通过点击鼠标即可方便地完成输入输出的控制;对于自动化测试的需求,可针对不同的被测设备,编写不同的脚本,在自动测试过程中自动加载控制。
测试流程管理组件:根据不同的测试大纲需求,对其进行分解,生成HTML格式的测试脚本,按照该脚本自动或手动完成整个测试流程,并提供直观的过程视图,包括每一步测试过程的结果(如实测值、偏差、是否测试通过等),是否需要人工干预(如手动测试节点提示、是否进入下一步测试、手动输入测量值等),并自动输出测试结果。
通信功能组件:对于涉及通信功能的测试,通常需要单独的界面进行收发测试,如串口测试、CAN口测试、以太网通信测试等,以及测试过程可能涉及到的对被测设备固件的变更等功能。
3)测试管理服务器软件
测试与测试管理虽然密不可分,但在实际的操作中,这两个环节通常脱离的比较严重,传统的ERP等管理软件,由于各种条件的限制,无法进行更精细的管理,如有多少待测设备、已测多少、一次通过率是多少、各批次设备常见的故障点统计数据、每个设备的测试数据、报告信息化管理等。目前这些信息通常都是通过人工统计、事后管理的方式去控制,无论是实时性还是精确度上,都难以满足现代制造业的管理需求。因此,测试管理服务器作为测试工装的一个管理系统,与测试工装一起构成一个密不可分的测试+测试管理的先进测试系统,其主要功能包括测试过程的出入管理、测试结果的管理、测试过程的信息统计、测试过程记录与追溯等,该软件顶层参考业务流程建模与标注(BPMN)技术实现,具体业务流程需针对具体的需求进行专门设计。
本测试工装及管理系统最重要的任务是实现测试的标准化和模块化,以及测试与管理的一体化。
前者通过标准化的输入输出测控总线技术和灵活的接口适配技术实现,涉及的主要是硬件相关的技术,不是研究的重点,本文研究的重点在于软件,即如何通过技术手段,向测试和管理人员提供尽可能一致的、友好的操作界面,屏蔽具体的实现细节,使其专注于测试过程和管理。
系统采用web技术对传统的测试工装进行重构,并解决构建过程中遇到的问题,这是本研究需要解决的问题也是难点。
1)软件架构
系统采用的软件分层架构模型如图2所示。
系统包括客户端、server、仪器仪表、输入输出测控总线和被测系统。
客户端采用通用的IE或Chome等浏览器即可运行,为操作人员提供一致的测试和管理界面。
Web层位于服务器中,主要包括两类界面:用于实现测试配置、测试流程界面和用于测试管理界面。该层涉及的技术包括javascript、html5、SVG、JSF等web 技术。
业务层也位于服务器中,主要实现web层的各种业务逻辑,用于测试的,如测试流程文件编辑配置、测试流程、测试结果输出、虚拟仪表的实现、输入输出总线控制逻辑的实现等;用于管理的,如库存清单、设备状态、追溯管理、测试过程信息统计管理等功能模块。
驱动层主要对标准仪表的输入输出进行控制,通过仪器仪表厂商提供的SDK/API实现对仪器仪表的互操作,系统也可以通过通信接口完成与被测系统的通信,如烧写固件等操作。
系统所需要的信息和过程信息都存储在数据库中,通过数据库完成信息的加载和记录等。
2)web虚拟仪表与测试技术
虚拟仪表技术是贯穿本测试系统软件部分最关键的核心技术,在实际测试中采用了两种技术实现。
一种是直接或间接利用常规的仪器仪表内置的web server实现测试过程中与仪器仪表的交互。现在多数仪器仪表都内置管理web,通过该web实现对仪表的输入输出管理控制,而不用再去关心底层的SDK/API编程了,同时也可通过相关技术直接嵌入到html web测试界面中,彻底实现测试工装web化。不过这种方法主要适合人工手动测试,不适合自动化流程测试的场合,一款电源和一款示波器的web HMI如图3所示。
另一种是通过LABVIEW WEB技术实现仪表的虚拟化,并实现业务逻辑自动化,自动完成与仪器仪表的交互,并最终集成到系统的测试管理平台中,而对客户端的操作人员而言,就是普通的web,而且该方法与常规的SCADA技术实现的虚拟化仪表技术相比,能提供更好的交互操作体验,而且可以对不同类型的仪表进行横向的整合,提供统一的web界面。在测试验证阶段采用基于labview技术实现的web仪表盘和控件如图4所示,一个基于web实现的测试页如图5所示。
这两种实现方法中,前者适合简单的或很复杂的测试量少的测试任务,这些任务通常需要手动进行单步测试操作,而后者适合数量比较大的批量测试任务,可自动完成整个测试过程,也可手动单步完成测试过程,可实现完整测试,也可实现局部的测试。
此外,还可以直接在业务层利用仪器仪表厂家提供的SDK/API直接驱动仪器仪表的输入输出控制,最终实现自动化测试,但是该方法涉及大量的开发任务,而且在后期系统平台软件的集成上都难以达到预期的效果。
3)测试流程配置管理
不同被测设备的测试流程,主要依据这些被测对象的测试大纲逐步完成,传统的方法是根据每个测试大纲编写对应的测试流程软件,将测试大纲转化为测试脚本。测试脚本的开发,在测试工装系统开发中一直是一个比较烦琐的事情,通常需要专门的软件开发工具和专业的软件开发人员进行开发,完成后通常还需要进行测试验证,不仅周期长,而且工作量很大。
本研究无论是测试配置、测试流程脚本和测试结果管理,这些都采用标准化的web技术实现,具体说是html。采用该技术可实现前端表现层和业务实现的分离,编辑和验证可同时快速完成,整个转化和验证过程无需专业的编程人员参与,只要根据提供的html模板,直接添加修改即可,不需要专业的编程编辑工具,而且整个编辑、验证、修改等过程可直接使用IE或Chome浏览器完成。
为提高脚本的复用性,将测试脚本中常用的部分,以控件或标准模块的形式单独存储,需要时直接引用即可,以提高测试脚本的模块化和复用性,提高长期重复测试的质量统一性和工作效率。
本研究首先对仪器仪表测试设备与被测系统之间复杂的连接进行了抽象,提出更为通用的输入输出测试总线的思路和方法;另外,研究将web技术对工装测试系统进行了重构,不仅涉及到与仪器仪表web环境下的交互,而且还体现在web式的测试脚本、测试流程和测试结果输入输出管理上,并研究了在这一技术框架下测试过程和测试管理在系统整合开发过程中遇到的一些关键技术。
[1] Eric Jendrock,Ian Evan,Devika Gollapudi,等.李鹏,韩智,译.Java EE6权威指南(基础篇)[M].北京: 人民邮电出版社,2012.
[2]窦安生,李鸿飞.VXI和PXI总线技术的应用及其发展前景[J].工业控制计算机,2002,15(11):11-12.
[3] Robert H.Bishop,National Instruments. LabVIEW实践教程[M].乔瑞萍,林欣,等译.北京:电子工业出版社,2014.
[4]辛鹏,荣浩.工作流及BPM技术的理论、规范、模式及最佳实践[M].北京:人民邮电出版社,2014.
This paper presents a more advanced and modern web-based bus test tooling and test management system, and studies the system architecture, the main functions and key implementing technologies.
test tooling; test bus; web; virtual instrument; testing process; test management
10.3969/j.issn.1673-4440.2016.02.014
2015-08-31)