使用TSMaster从零打造车辆控制器HIL实时仿真系列2-ECU嵌入式代码生成与TSMaster小程序集成

今天我们继续分享使用TSMaster从零打造车辆控制器HIL实时仿真系列第二章节。接下来我们亲手设计实时仿真也就是HIL的环节,为了让示例通俗易懂,我们选取了CARSIM自带的ABS控制器作为仿真的对象。

 

一、Simulink模型

我们打开CARSIM,然后选择Simulink模型,对开路面Multi-port SLX,这个示例使用的是一辆不带ABS系统的小轿车,它是前驱的配置。

 

我们来看procedure,也就是驾驶员控制的部分,初始的速度是65公里每小时,自动压力是15兆帕,在0.3秒内完成也就是我们常说的150bar,档位控制是在合理的范围内自动切换,而转向部分则交给驾驶员模型进行闭环控制。

 

路面部分为对开路面,从3米开始,一侧的系数是0.2,另外一侧是0.5,回到主页,点击Send to Simulink,等待Simulink启动完毕,Simulink模型则是今天的重点。

 

二、ABS控制算法

我们可以将这个控制算法生成嵌入式代码,下载到带ABS功能的ECU中运行,可以看到这个算法模型包含了一个CARSIM的S function作为车辆模型的接口,还有一个简化版本的基于漂移率的轮缸压力控制策略以及后轴低选策略,还有制动性模型中的制动力分配等等。

 

我们运行下这个模型,可以看到,这个轮速与车速的图形窗口中绘制了在对开路面上的ABS自动循环,而这个轮缸压力窗口中,则是四个车轮的轮缸压力控制曲线,这是一个简易版本的控制算法。制动力分配,也就是前轴压力比上后轴压力是1比0.4,很容易判断出,制动结束后,压力上升到15兆帕的两个车轮为前轮压力,而压力上升到6兆帕的是后轮压力。

 

二、RT的低成本替代方案——软件HIL

大家可能注意到在Simulink环境中,运行的时间是10秒,然而点击运行后实际上只用了很短的时间就跑完了整个仿真,说明此仿真的过程并不是实时的。Simulink所起的作用仅仅是按照每个step来执行算法,收集每个step产出的数据并将其绘制在图形窗口里而已。如果我们想在ABS制动过程中像整车总线上面实时发送ABS激活的flag或者是轮缸压力值,这些都是无法做到的。而在拥有的CarSim RT版本的环境中,该模型可以被编译为dll,下载到实时系统中运行,从而实现模型算法与真实世界的交互,这个解决方案是目前被广泛采纳的仿真模式。各大主机厂和零部件厂所依赖的HIL仿真也是基于此方案展开。然而此方案存在两个问题:一是成本高,不但需要车辆动力学软件本身的license,还需要RT的license;二是部署的过程很浪费时间,在CarSim中修改参数之后需要重新部署,自动和程度不高。而在本例中,我们通过TSMaster来模拟ABS算法,让ABS算法在TSMaster的实时环境中运行,运行过程中可以通过CAN接口或者是连接在个人电脑上的IO接口等等,与外部的世界进行交互,再通过自研的实时引擎接管CarSim的仿真过程实现车辆模型在电脑上的实时运行,如此我们便得到了RT的低成本替代方案——软件HIL。

 

三、实现ECU嵌入式代码生成与TSMaster小程序集成

下面我们从零一步步基于TSMaster来搭建ABS算法的实时仿真环境。第一步是要通过Simulink将ABS的算法自动生成嵌入式代码,将它作为一个小程序运行在TSMaster的实时环境中。

我们首先将这个模型另存,然后需要修改路径,让代码的生成放置在这个新的路径中。

 

随后我们需要在模型上做一些修改让其可以生成嵌入式代码。首先就需要删除示波器等等一系列无用的控件,再删除CarSim的s function,将s function的接口转化为in 和 out。

 

为了正确的生成嵌入式代码,还需要在代码生成上做一番修改,打开配置,首先是stop time,设置为inf,然后是salvar,再次使用的是定步长,step我们使用了业界通用的5毫秒。

 

接下来来到代码生成的环节,Target file自然是ert,我们还需要转到interface,在这里将continuous time勾上,因为轮缸压力模型中间用到的是传递函数,是连续状态,随后按Ctrl+B生成代码,很快代码就生成完毕了。

 

那么在这份代码中,我们需要将ABS.c.h以及一些列的其他的头文件复制粘贴到TSMaster的小程序的文件夹中间参与编译过程。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
免费的工业基础软件 TSMaster V2021.10.26.651 Options: 汽车仿真开发 本资源是TSMaster在2021-10-26发布的最新版,地址(http://www.tosun.tech/TOSUNSoftware/TSMaster_Setup_beta.exe) Release Note: [1] New: auto code gen in CAN RBS in popup menu [2] New: API to set message cycle in CAN RBS [3] Improved: address in A2L now supports 0xXXXL (non official) [4] Improved: mouse wheel on signal Y axis in Graphics: scroll to move, Ctrl + scroll to zoom [5] Bug fix: get or set vendor detect options API 本软件安装后就不用再到网络上寻找升级包了,只要打开软件-帮助-更新,就可以自动在线更新,请勾选beta版本以享受超快功能推送,若有希望增加的功能请联系同星智能,我们承诺95%以上的核心功能都是永久免费!永久免费!永久免费! TSMaster 是同星智能推出的虚拟仪器软件平台,可连接、配置并控制所有的同星硬件工具、设备,实现汽车总线监控、仿真、诊断、标定、BootLoader、I/O 控制、测量测试、EOL等多种场合的功能需求。 永久免费,但性能堪比CANoe,CANape,首款同时支持TOSUN、Vector、PEAK、Intrepidcs、Kvaser、周立功、CANable 硬件的软件产品,可与CarSim、Carla联合仿真,可直接编译Simulink生成的ECU代码做SIL仿真TSMaster 自带的小程序功能支持用户自定义仿真测试面板,测试流程,测试逻辑,甚至测试系统和报告自动化生成。 特性: CAN、LIN、CAN FD总线监控、仿真、测试; 报文信息,显示总线报文数据、帧率; 报文发送,可配置周期发送且连续变化的总线信号; 图形窗口,显示总线信号的变化曲线; 数据库管理,加载并解析DBC文件、LDF文件; 仿真功能,支持剩余总线仿真,以及任意逻辑模拟节点行为; 通道映射,支持用户自定义应用程序的逻辑通道进行联合仿真; 报文记录和回放功能,支持BLF格式的CAN、LIN、CANFD报文记录和回放, 记录文件大小没有限制; 测试系统,用户可以定义完整的测试系统,支持自动化测试和自动报告生成; 支持同星CAN/CAN FD/LIN/FastLIN系列硬件; 支持Vector、Kavaser、PEAK、Interpics、周立功、CANable等多家厂商CAN总线硬件; 支持报文监测,分析,仿真发送,图形界面Panel绘制等功能; 支持blf、asc格式数据记录和离线/在线回放; 内置脚本编辑,支持虚拟仿真、半实物仿真; 支持外部程序调用API接口。
### 回答1: 您好,关于如何搭建一套基于发动机ECU控制器HIL测试系统,需要考虑以下几个方面: 1. 硬件设备:需要选择适合的HIL测试设备,包括模拟器、信号发生器、数据采集卡等。 2. 软件平台:需要选择适合的HIL测试软件平台,包括MATLAB/Simulink、dSPACE等。 3. 测试用例设计:需要根据测试需求,设计相应的测试用例,包括功能测试、性能测试、稳定性测试等。 4. 测试执行与分析:需要进行测试执行和数据分析,根据测试结果进行问题排查和优化。 以上是一些基本的考虑因素,具体的搭建过程需要根据实际情况进行细化和调整。希望对您有所帮助。 ### 回答2: 搭建一套基于发动机ECU控制器HIL测试系统需要以下步骤: 1. 确定系统需求:首先需要明确测试系统的目标和需求,包括所要测试的功能、性能和可靠性等方面。 2. 选择硬件平台:基于发动机ECU控制器HIL测试系统需要选择适合的硬件平台,包括计算机、接口卡、信号发生器和仿真器等设备。 3. 开发测试用例:根据需求和目标,制定相应的测试用例,包括正常工作情况和各种异常情况的测试场景。 4. 编写仿真模型:根据发动机ECU控制器的功能和算法,开发相应的仿真模型,以模拟真实的发动机工作环境和操作情况。 5. 实现接口连接:通过接口卡将仿真模型与发动机ECU控制器连接起来,实现数据的交换和通信。 6. 进行测试:根据测试用例进行测试,包括功能验证、性能测试、边界值测试、故障注入和兼容性测试等。 7. 分析测试结果:对测试结果进行分析和评估,比对预期目标和实际结果,发现和解决问题。 8. 优化和完善系统:根据测试结果和反馈,对系统进行优化和完善,改进测试方法和流程。 9. 维护和更新系统:定期对系统进行维护和更新,保证其稳定性和可靠性,适应新的测试需求和技术发展。 通过以上步骤,可以搭建一套基于发动机ECU控制器HIL测试系统,用于对发动机ECU控制器的功能、性能和可靠性等方面进行全面的测试和评估。 ### 回答3: 搭建一套基于发动机ECU控制器HIL(硬件在环)测试系统需要以下步骤: 1. 确定测试需求:明确测试目的、测试用例和测试策略。这包括确定需要测试的功能、性能和可靠性等方面的要求。 2. 硬件选型:根据测试需求选择适合的硬件平台。这可能包括选择适用的ECU控制器、传感器和执行器等。 3. 软件开发:根据测试需求,开发或选择合适的测试软件。这可能涉及编写测试脚本、模拟或模型化发动机行为等。 4. 搭建测试台架:将所选的硬件平台、ECU控制器和传感器等组装到测试台架中。确保连接正确,并进行必要的校准和调试。 5. 集成测试平台与ECU:将HIL测试系统与发动机的ECU控制器进行连接。确保通信和数据传输正常。这可能涉及使用CAN或其他通信协议。 6. 编写测试用例:编写测试用例并将其加载到测试系统中。测试用例应该覆盖到足够的功能、性能和可靠性场景。 7. 执行测试:根据测试用例,运行测试系统并收集测试结果。确保获得预期的输出或反馈。 8. 分析和报告:分析测试结果并生成测试报告。报告应包括测试环境、测试过程、测试结果和问题汇总等内容。 9. 优化和重复测试:根据测试结果,优化系统设计、软件或硬件配置,并进行必要的重复测试,直到满足测试目标。 10. 维护和更新:定期维护和更新HIL测试系统,确保它与最新版本的ECU控制器和软件兼容,并持续改进系统的性能和稳定性。 总之,搭建一套基于发动机ECU控制器HIL测试系统需要综合考虑硬件选型、软件开发、测试用例编写和执行测试等方面。通过专业的组装和配置,可以有效地测试和验证发动机ECU控制器的功能、性能和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TOSUN同星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值