此示例显示如何使用程序化接口创建测试线束和测试序列。您创建测试线束和测试序列块,并创作测试序列以验证巡航控制系统的两个功能属性。
1.加载模型。
模型=“sltestCruiseChart”; 负荷系统(模型)
2.创建测试线束。
sltest.harness.Create(模型,'姓名'那'harness1'那......'来源'那“测试序列”)sltest.线束.负载(型号,'harness1');set_param('harness1'那'停止'那'15');
1.添加一个局部变量最终
并将数据类型设置为布尔值
。你用最终
在测试步骤之间转换。
sltest.testsequence.addSymbol(“线束1/测试顺序”那'最终'那......“数据”那'当地的');sltest.testsequence.editsymbol(“线束1/测试顺序”那'最终'那......'数据类型'那“布尔”);
2.更改步骤的名称跑
到initialize1.
。
sltest.testsequence.editstep(“线束1/测试顺序”那'跑'那......'姓名'那'initialize1');
3.添加步骤博拉克斯特
。博拉克斯特
在应用制动器时检查巡航控制脱离。添加子步骤定义测试场景操作和验证。
sltest.testsequence.addstepafter(“线束1/测试顺序”那......'braketest'那'initialize1'那“行动”那'endtest = false;')%从| initialize1 |添加转换1 |到| braketest |。sltest.testsequence.addtransition(“线束1/测试顺序”那......'initialize1'那“真的”那'braketest')%该子步骤使巡航控制并设置速度。%| SetValesactions |是braketest.setvalues的动作。setValesactions = sprintf('cruiseonoff = true; \ nspeed = 50;');sltest.testsequence.addstep(“线束1/测试顺序”那......'braketest.setvalues'那“行动”,setValuesActions)%此子步骤接合巡航控制。setccacing = sprintf('Coastsetsw =真;');sltest.testsequence.addstepafter(“线束1/测试顺序”那......“制动测试,接合”那'braketest.setvalues'那“行动”,setccates)%此步骤应用制动器。brakeactions = sprintf('海岸= false; \ nbrake = true;');sltest.testsequence.addstepafter(“线束1/测试顺序”那......'braketest.brake'那“制动测试,接合”那“行动”,brakeactions)%此步骤验证巡航控制已关闭。BrakeVerifactions = Sprintf('验证(订婚== false)\ nendtest = true;');sltest.testsequence.addstepafter(“线束1/测试顺序”那......'braketest.verify'那'braketest.brake'那“行动”,刹车件)%在步骤之间添加转换。sltest.testsequence.addtransition(“线束1/测试顺序”那......'braketest.setvalues'那“真的”那“制动测试,接合”)sltest.testsequence.addtransition(“线束1/测试顺序”那......“制动测试,接合”那'之后(2,秒)'那'braketest.brake')sltest.testsequence.addtransition(“线束1/测试顺序”那......'braketest.brake'那“真的”那'braketest.verify')
4.添加一个步骤initialize2.
初始化组件输入。添加过渡博拉克斯特
到initialize2.
。
init2Actions=sprintf(['cruiseonoff = false; \ n'......'刹车=假; \ n'......'速度= 0; \ n'......'海岸= false; \ n'......'accelressw = false;']);sltest.testsequence.addstepafter(“线束1/测试顺序”那......'initialize2'那'braketest'那“行动”,init2actions)sltest.testsequence.addtransition(“线束1/测试顺序”那......'braketest'那'最终== true'那'initialize2')
5.添加步骤极限测试
。极限测试
检查车速超过高限时巡航控制脱离。从中添加过渡initialize2.
步骤,并添加子步骤以定义操作和验证。
sltest.testsequence.addstepafter(“线束1/测试顺序”那......'limittest'那'initialize2')sltest.testsequence.addtransition(“线束1/测试顺序”那......'initialize2'那“真的”那'limittest')%添加一个步骤以启用巡航控制并设置速度。setValuesActions2=sprintf('cruiseonoff = true; \ nspeed = 60;');sltest.testsequence.addstep(“线束1/测试顺序”那......“LimitTest.SetValues”那“行动”,setValuesActions2)%添加一个步骤以接合巡航控制。setccacing = sprintf('Coastsetsw =真;');sltest.testsequence.addstepafter(“线束1/测试顺序”那......'limittest.engage'那“LimitTest.SetValues”那“行动”,setccates)%添加了一步才能斜坡车速。sltest.testsequence.addstepafter(“线束1/测试顺序”那......'limittest.rampup'那'limittest.engage'那“行动”那'速度=速度+斜坡(5 * et);')%添加一个步骤以验证巡航控制是否已关闭。highlimverifactions = sprintf('验证(订婚== false)');sltest.testsequence.addstepafter(“线束1/测试顺序”那......'limittest.verifyhigh'那'limittest.rampup'那“行动”,Highgrimveriface)%在步骤之间添加转换。速度斜坡过渡时%车速超过90。sltest.testsequence.addtransition(“线束1/测试顺序”那......“LimitTest.SetValues”那“真的”那'limittest.engage')sltest.testsequence.addtransition(“线束1/测试顺序”那......'limittest.engage'那“真的”那'limittest.rampup')sltest.testsequence.addtransition(“线束1/测试顺序”那......'limittest.rampup'那'速度> 90'那'limittest.verifyhigh')
打开测试线束以查看测试序列。
sltest.harness.open(型号,'harness1');
双击测试序列块以打开编辑器并查看测试序列。
sltest.线束关闭(型号,'harness1'); 关闭系统(型号0);