0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

PiL测试实战(下)| PiL阶段的闭环测试

北汇信息POLELINK 2022-12-15 10:31 次阅读

作者:酷兔本兔小编:吃不饱


上篇我们介绍了单元级软件的PiL测试,对于集成级的PiL测试,其流程和单元阶段基本一致。然而,对于一些带有反馈控制逻辑的集成测试(如电机控制MCU),PiL阶段会将控制算法(Controller Model)刷入目标板,那如何带着位于PC端的Plant Model一起进行闭环测试呢?
543949f8-7bfc-11ed-b116-dac502259ad0.gif5446f6f2-7bfc-11ed-b116-dac502259ad0.png543949f8-7bfc-11ed-b116-dac502259ad0.gif图1 PiL阶段的闭环测试流程
下面我会为以一个座舱温度控制(ClimateControl)软件为例,为大家展示基于TPT Fusion-Platform的PiL阶段闭环测试解决方案。

01ClimateControl软件功能介绍

ClimateControl软件可以通过设定温度和当前座舱温度自动的控制汽车座舱的空调、暖风开启/关闭以及风机的转速,从而实现自动调节座舱温度的功能。其中Controller Model为主要控制逻辑的实现。
为了对Controller Model的功能在仿真条件下进行验证,我们搭建了模拟座舱环境的Plant Model,Plant Model通过一些预设条件以及Controller Model的控制来模拟座舱温度的变化。其中Plant Model输出的座舱温度信号会反馈到Controller Model实现反馈控制。
543949f8-7bfc-11ed-b116-dac502259ad0.gif5479f228-7bfc-11ed-b116-dac502259ad0.gif543949f8-7bfc-11ed-b116-dac502259ad0.gif图2 ClimateControl控制逻辑示意图
在进行PiL测试时,我们会将Controller Model进行代码生成、编译并刷入目标板,而Plant Model依然在PC端运行。那么如何实现不同环境下的Controller Model和Plant Model之间的通讯呢?

02TPT Fusion-Platform
Fusion-Platform是TPT提供的控制软件的软件集成平台。它允许将多个软件模块(称为“节点”)相互连接,并将它们作为单个系统执行。Fusion节点一个接一个地处理,共享Fusion平台内存,进行数据交换。
这些节点可以支持dll、UDE、Trace32、XiL API、CAN等类型的平台,因此可以很方便的实现不同环境下的软件间的通讯。
543949f8-7bfc-11ed-b116-dac502259ad0.gif54b9f904-7bfc-11ed-b116-dac502259ad0.png543949f8-7bfc-11ed-b116-dac502259ad0.gif图3 TPT Fusion-Platform
基于TPT Fusion-Platform的强大功能,我们可以很方便的实现ClimateControl软件的闭环测试,即:位于目标板的Controller Model(PLS UDE节点)+位于PC端的Plant Model(dll节点)。

03测试环境配置
首先我们需要在TPT中新建一个Fusion-Platform。并对运行步长、最大运行时间进行简单的配置。

Custom Node dll节点配置

对于Plant Model,由于需要在PC端运行,我们可以将其转成dll的格式(TPT提供了把模型生成dll的tlc文件,并且可以在TPT端实现从模型到dll的一键生成)。在Fusion-Platform新建一个Custom Node dll节点,并加载dll文件,导入接口信号
543949f8-7bfc-11ed-b116-dac502259ad0.gif54fb24ec-7bfc-11ed-b116-dac502259ad0.png543949f8-7bfc-11ed-b116-dac502259ad0.gif图4 Custom Node dll节点配置
543949f8-7bfc-11ed-b116-dac502259ad0.gif5544248a-7bfc-11ed-b116-dac502259ad0.png543949f8-7bfc-11ed-b116-dac502259ad0.gif图5 Plant Model的接口信息

PLS UDE节点配置

Controller Model我们需要将其进行代码生成、编译后刷入目标板。TPT可以通过UAD与目标板进行通讯,因此我们需要在Fusion-Platform中再新建一个PLS UDE节点。PLS UDE节点中的接口信号可以通过c文件导入,其他配置过程和我们上篇中的PLS UDE Platform的配置过程完全一致。
543949f8-7bfc-11ed-b116-dac502259ad0.gif557d5606-7bfc-11ed-b116-dac502259ad0.png543949f8-7bfc-11ed-b116-dac502259ad0.gif图6 PLS UDE节点配置

04不同环境间的信号Mapping
在我们配置好Fusion-Platform的节点之后,便可以实现不同节点之间的信号交互。但是由于不同节点之间的信号接口数量、接口名称存在不一致的情况,因此我们需要做一些简单的信号Mapping工作:

①仅在一个节点中存在的信号(例如发动机转速信号,仅存在于Plant Model):需在另一个节点中对该信号进行Hidden;

②两个节点中均存在但名称不同的信号(例如反馈信号,Controller Model中为“IntTemp_K”,Plant Model中为“IntTemp_K_”):需要在“External_Name”中设置其外部名称进行Rename。

543949f8-7bfc-11ed-b116-dac502259ad0.gif55b1a9d8-7bfc-11ed-b116-dac502259ad0.png543949f8-7bfc-11ed-b116-dac502259ad0.gif图7 信号Mapping

05闭环测试的实现
做好这些配置工作之后,我们便可以在TPT中搭建测试用例,来进行闭环测试了。TPT会同时调起两个不同环境下的节点,实现PiL阶段的闭环测试。
这里我在TPT中搭建了一个简单的测试场景:外界温度-5摄氏度,座舱设定温度18摄氏度。我们可以运行测试用例在TPT中观测各信号的变化情况。
543949f8-7bfc-11ed-b116-dac502259ad0.gif55dd2cf2-7bfc-11ed-b116-dac502259ad0.png543949f8-7bfc-11ed-b116-dac502259ad0.gif图8 “-5到18摄氏度”升温测试
543949f8-7bfc-11ed-b116-dac502259ad0.gif56059002-7bfc-11ed-b116-dac502259ad0.png543949f8-7bfc-11ed-b116-dac502259ad0.gif图9 信号变化情况
通过信号窗口可以看出,当座舱温度低于设定温度时,Controller Model会控制暖风机使能信号使能,打开暖风机。与此同时,Plant Model会通过发动机转速、扭矩等信息计算出座舱温度变化并反馈至Controller Model,实现闭环反馈控制。
so...这个方案是不是很完美?感兴趣的小伙伴快来试一试吧。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 测试
    +关注

    关注

    8

    文章

    5152

    浏览量

    126446
  • PIL
    PIL
    +关注

    关注

    0

    文章

    19

    浏览量

    8601
收藏 人收藏

    评论

    相关推荐

    CP测试和WAT测试有什么区别

    测试过程中,CP测试(Chip Probing)和WAT测试(Wafer Acceptance Test)是两个非常重要的测试环节。尽管它们都在晶圆(Wafer)
    的头像 发表于 11-22 10:52 46次阅读
    CP<b class='flag-5'>测试</b>和WAT<b class='flag-5'>测试</b>有什么区别

    什么是回归测试_回归测试测试策略

    是否在新软件版本上再次出现。 2、测试策略 回归测试的策略一般由测试经理或测试组长制定,初级软件测试人员只要按相应的策略执行
    的头像 发表于 11-14 16:44 109次阅读

    智驾仿真测试实战之自动泊车HiL仿真测试

    汽车进入智能化时代,自动泊车功能已成为标配。在研发测试阶段,实车测试面临测试场景覆盖度不足、效率低下和成本高昂等挑战。为解决这些问题,本文提出一种自动泊车HiL仿真
    的头像 发表于 10-10 08:05 2609次阅读
    智驾仿真<b class='flag-5'>测试</b><b class='flag-5'>实战</b>之自动泊车HiL仿真<b class='flag-5'>测试</b>

    导磁材料的交流测试和直流测试有什么区别

    能。 通过测量材料在直流磁场作用的磁化强度、磁滞回线等参数,来评估材料的直流磁特性。 交流测试 : 交流测试则关注材料在交变磁场下的磁性能。 通过测量材料在交流磁场作用的磁感应强度
    的头像 发表于 09-30 11:11 244次阅读

    新能源汽车 LabCar 测试系统方案

    什么是LabCar测试LabCar测试目标是进行整车黄板台架功能测试,用于整车开发和测试阶段,满足设计人员和
    的头像 发表于 09-13 16:56 1817次阅读
    新能源汽车 LabCar <b class='flag-5'>测试</b>系统方案

    环路测试仪测的是开环还是闭环

    环路测试仪是一种用于测试和分析控制系统性能的设备,它可以用于测试开环系统和闭环系统。在控制系统中,开环和闭环是两种不同的控制方式,它们在环路
    的头像 发表于 09-12 14:39 340次阅读

    请教如何测试OP放大器的相位裕量?

    请教如何测试OP放大器的相位裕量。定义为在开环的情况0DB所对应的DEG与180的差。但是也有看到提到闭环情况测试
    发表于 08-16 15:12

    如何进行辐射抗扰度磁场测试

    一、为什么要进行闭环磁场测试? 辐射抗扰度测试中进行闭环磁场测试是为了评估设备在外部磁场影响
    的头像 发表于 06-03 10:51 819次阅读
    如何进行辐射抗扰度磁场<b class='flag-5'>测试</b>?

    性能测试主要测什么 性能测试的指标有哪些

    性能测试是软件测试的一个重要组成部分,主要用于评估软件系统在各种负载条件的性能表现。性能测试的目的是确保软件系统在实际运行环境中能够满足用户的需求和期望。本文将详细介绍性能
    的头像 发表于 05-29 15:42 2079次阅读

    芯片测试和封装包含哪些流程

    测试准备阶段,需要对测试环境、测试数据和测试设备进行准备。同时需要对测试方案进行评估和修订,以
    的头像 发表于 05-08 16:55 737次阅读

    STM32F429做的PIL仿真速度非常慢的原因?

    各位大神好, 本人用MATLAB/SIMULINK搭建了小型直流电力系统。系统包含三个直流转换器。相关三个控制器被载入STM32F429中,从而与SIMULINK构成PIL仿真。仿真运行一切正常
    发表于 04-11 07:28

    SPIN3202电机可以开环启动,开环阶段结束就停机,无法进入闭环怎么解决?

    开发板:SPIN3202 电机:无刷风扇 情况:电机可以开环启动,开环阶段结束就停机,无法进入闭环。串口故障信息为:过流
    发表于 04-11 06:05

    如何实现PIL和OpenCV之间图像数据的转换呢?

    PIL图像数据格式转换成OpenCV图像数据格式
    的头像 发表于 02-25 13:43 1145次阅读

    EMI兼容测试方案——匹配不同测试标准,准确高效!

    方案背景 近场测试非常适合产品开发阶段辐射发射的EMI预兼容测试。在EMC测试中,进行辐射发射测试时,通常天线离被测物EUT很远,进行的都是
    的头像 发表于 01-22 15:00 546次阅读
    EMI兼容<b class='flag-5'>测试</b>方案——匹配不同<b class='flag-5'>测试</b>标准,准确高效!

    视觉检测类项目经历哪些测试阶段

    通过对软件的输入进行控制,从而达到不同的测试结果,通过输入输出的差异比较测试是否正确和准确,从而发现系统中的漏洞,展开研发修改与测试验证的循环过程。
    发表于 01-05 14:47 400次阅读