APP下载

基于CANoe搭建的一种simulink模型仿真测试界面设计

2018-10-22郭健段罡郑欣焦帅康武李德军

汽车实用技术 2018年19期
关键词:实车软件测试界面

郭健,段罡,郑欣,焦帅,康武,李德军

(陕西重型汽车有限公司,陕西 西安 710200)

引言

截止目前,软件测试一直是汽车产品V流程开发过程中的重要环节。其意义在于能够在前期设计过程中发现逻辑问题,并加以纠正。从而降低后期修改带来的成本增加问题。而且按照以往的软件测试流程,通常只是某个控制逻辑模块进行单独仿真测试,分别进行信号的输入搭建及输出显示。而进行系统联合测试的条件过于复杂,需要设置大量的模块工作量大且繁琐,而且往往因为单个数据输入问题导致测试失败。为此文章介绍的基于 CANoe系统搭建的人机交互界面可以充分利用模型化界面的优势,从输入参数到输出参数及中间变量都可以在界面中加以同步显示。不仅可以实时观测当前测试模块系统的变化,而且可以观测到整车所有输出信号的变化。并找出其中的关联属性,为完善逻辑设计提供更有力的测试环境。

软件测试包含:

(1)输入接口测试

(2)输出接口测试

(3)数据处理测试

(4)单一模块控制逻辑测试

(5)子系统多模块测试

1 软件测试

软件测试是基于simulink进行的模型级设计逻辑验证,通常使用simulink内部模块搭建即可完成。包括人工可改写的输入参数模块,需要验证的逻辑模型及用于观测的输出模块。测试方法相对简单,通过改变输入量的值来观测逻辑模块中的运行逻辑是否正确,同时观测输出量是否满足设计要求。此种测试方法需要测试人员对测试对象有很明确的认识,需要了解所有的输入数据范围及逻辑对应输出值大小。如图1所示,其中左侧Constant模块为数值变量输入,右侧Display为数显模块,Scope为变化波形显示模块。

图1 软件测试模型

2 基于CANoe开发测试交互界面

文章所设计的交互界面,是利用CANoe软件模拟了一种便于进行数据输入及输出数据观测的交互界面。界面设计分为三个部分:数据交互、窗口搭建及参数匹配。

2.1 数据交互

图2 联合仿真测试模型

数据交互作为联合仿真的基础需要利用 CANoe自带底层数据驱动包作为传输核心,通过模块与simulink模型建立数据传输路径。数据通过模块传递至 CANoe处理中心并进行上传打包传递至 CANoe模块。其中需要通过数据库文件配置相关输入输出数据类型(系统变量,环境变量,总线数据等)。图中所示,Input为数据输入模块,可以从导入的数据库中选择相对应的输入数据,Output为输出模块对应相关数据库中的数据输出类型,Simulation Step为基础工程模块用以在CNAoe和Simulink之间传输实时仿真数据进行数据传输处理。

图3 数据传输路径

其数据交互方式图3所示。数据从CANoe输入经过数据库传递至 Simulink模块参与逻辑仿真,输出结果从Simulink传递至数据库再上传至CANoe界面进行显示。其中底层数据交互模块由CANoe自带驱动模块完成,基于CAN网络数据库 DBC文件即可定义相关数据并实现数据库的同步。其中需要注意的是数据库中的数据格式传递至 CANoe中只能识别double类型的数据格式。需要再Simulink模型中对其他类型的数据变量进行转化才能转移至数据库中。

2.2 窗口界面搭建

传统的软件仿真方式通常采用Display、Scope等观测模块进行数据的观测,但模块一般需要放置在变量输出旁边用以准确定位。当进行系统仿真时不仅数据庞大,而且无法同时观测大量数据的变化。因此窗口界面的设计是文章的核心所在。

通过Toolbox模块可以根据不同的需求建立相关输入开关或者拖动条并配以数字显示模块同步显示量化数值,同时输出模块能够仿真实车的屏显及灯控模块。

也可以自行建立仿实车图标,可以更加形象的模拟实车操作。同时面板的设计也可参照实车进行摆放。在界面搭建过程中需要设计人员对实车信号有一定程度的了解,方便定义信号的来源及形态。从而在界面设计中可以更好的接近实车情况。

图4 界面设计

2.3 参数匹配

通过 Properties模块可以将图三中设定好的图标内部参数与simulink模型中的输入输出数据一一对应。文本类的字体及颜色均可自由设定,其中 Symbol用以选择数据库中的变量名称,Symbol Filter为此变量对应的数据传输类型。设定完毕后此时该显示模块已经与Simulink对应输入输出值进行关联,可以同步启动仿真进行测试。需要注意的是Symbol Filter所定义的类型分为:系统变量、环境变量、总线参数及诊断变量。不同的数据类型在实际应用中有不同的选择。需要设计人员对数据类型加以识别进行设定,才能达到最佳的使用效果。

图5 配置界面

3 实际用例

以某新能源商用车型测试程序为例。整个测试面板分为两大部分。上部为数据显示窗口,其中包含所有的硬线输出信号状态灯,CAN线输出信号状态灯,故障指示灯以及相关重点观测参数。下部为输入操作界面,包含所有的各类开关,数字输入,模拟信号输入及部分零部件重要参数输入(注:图中所示参数变量均为初始化状态,不具有指导意义不涉及商业机密)。

当仿真运行时不需要在关注Simulink中的模型,仅从此页面即可观测被测系统的各项指标状态,同时任何异常变化都能在测试过程中及时发现。大大降低了测试难度,其中观测状态灯或数值可以定义异常数据范围,对数显或灯的颜色进行变化,从视觉上加强了对反馈信号的关注度。

图6 人机交互仿真界面

为保证测试的准确性,在交互界面配置时可对部分参数进行初始化设置,将其初始值定义为所测系统或模块所需要的值,在进行测试时不需要进行重复设置工作,从而提高了测试效率。同时也可以利用不同的初始值定义不同的测试用例,满足模型的测试范围。

该测试面板不仅可以应用于仿真测试,在实车测试时也可以使用,但是无法实现系统变量及环境变量的观测,仅可用于观测 CAN网络数据状态,具有同样的测试效果。可以与实车状态进行对比,用以发现不同点或异常点,进而协助排查整车线束故障、整车供电故障、继电器故障等一些不容易发现的问题。

4 总结

根据文章所描述的测试方法对试制样车程序进行软件测试,完成了相关控制逻辑模块的测试及子系统模块输入输出测试。可以有效发现问题点并及时解决,保证了任务节点,进行实车测试时相关系统设计均可满足功能要求。同时为系统软件测试流程优化提供帮助,更好的服务于整车控制系统软件开发环节。

猜你喜欢

实车软件测试界面
实车碰撞试验牵引系统钢丝绳疲劳损伤问题分析
软件测试方向人才培养“1+X”融合研究
不同截面类型钢管RPC界面粘结性能对比研究
基于手机蓝牙的奥迪A4L发动机故障设置系统设计
微重力下两相控温型储液器内气液界面仿真分析
基于WiFi的奥迪A4L发动机故障设置系统
国企党委前置研究的“四个界面”
基于OBE的软件测试课程教学改革探索
航天软件测试模型构建与应用
无需多言