今天我们来到《TSMaster 从零打造车辆控制器HIL实时仿真系列》第五章节,继续介 绍控制器实时HIL的实现。
一、HIL硬件在环
上一个章节介绍的ABS算法仿真和车辆模型的运行,它们的 功能并不是简简单单地绘制曲线,搜集运行数据,而是有着 更深层次的目的,那就是与外部世界联动,将输入和输出数 据完完全全暴露在真实世界中,达到HIL的真正目的——硬件 在环。
与外部世界交互这个过程可以说十分简单,只需要为此专门 设计一个dbc文件,加载到TSMaster中,再将系统变量中的 内容映射到总线上即可。
在此我准备了一个简单的dbc文件,它包含四个轮速,还有 四个轮缸压力信号。我们将其拖入tsmaster中。
再打开RBS,让剩余总线仿真接管这些信号的发送
随后我们打开硬件通道选择器,将CAN通道选择为同星的一 款总线工具——TC1005,作为演示, TC1005的通道1 和通道 2互相连接在了一起,确保发出的报文可以被正确应答。
我们启动RBS,打开Trace窗口,就可以看到我们需要的信号都在总线上以预定的频率发送 着,当然这些信号由于没有更新,初始值都是0,下一步就是
做信号绑定,将系统变量中的值传给这些信号。
首先停止仿真,回到我们的算法小程序,添加预发送函数,接管 轮速和压力报文的发送过程,这意味着每当报文即将被发出,系统都会调用这些预发送函数,我们只需要简单地在这 些函数内更新我们所需的信号即可。
我们试着赋一下值。最后我们在图形窗口中,添加需要观测的CAN信号,包括速度信号和压力信号等等。
至此,我们完成了所有所需的信号的预发送函数,是时候启 动整个仿真过程了,还是同样的流程,连接TSMaster的应 用程序,点击自动化模块的启动按钮。可以看到车辆正在运行过程中。
随着程序的运行,我们可以实时观测到总线上活跃的轮速和 压力信号,这些信号就最终与真实世界发生了交互。
二、实现车辆控制器的HIL仿真
有了前面的基础,可以说此时我们真正踏入了HIL实时仿真 的大门。使用这一整套流程,以不变应万变,实现各式各样 的车辆控制器的HIL仿真。
举个简单的例子,倘若我们需要对所开发的ibooster进行 HIL仿真, ibooster是真实的ECU。我们就需要导入 这个ibooster的所有网络的dbc文件,用我们的RBS将它所需的信号全部仿真出来。
而要仿真信号,最简单的方法则是,在RBS仿真界面上,选中我们所需的ibooster节点,点击右键,一键自动生成HIL配置,这步操作可以自动激活 ibooster依赖的其他节点和报文。
其次,来到小程序中,通过预发送函数,构造此节点所需的 各类总线信号。
再接下来就是一些硬件的信号,比如遇到踏板信号,可以通过电缸自动化接口或是定制的 API实现;
同时,如果遇到IO或通断信号,则通过我们的IO板卡和继电器 板卡API实现;
如果是遇到轮速等特殊传感器信号,则通过我们的轮速模拟板卡API实现。
如果遇到电源电压的控制,可以使用可编程电源配合API 的方式实现。
最后,我们可以打开自动化模块,编写一系列用例,来对我 们的产品进行各种可能的测试。
当然,这一切背后还有个重要的前提,那就是软件之外的一 切准备工作,也就是ECU机械和液压负载必须提前准备完 毕。
只要上述内容都就绪,那么便可以设计并最终执行无人值守 的全自动化参数遍历和测试,在测试结束后,再通过预先配 置的信息,实现测试报告的一键自动生成。
最后的实现内容,由于细节过于繁杂,实现方式各异,在此 从略,我们有理由相信,基于TSMaster的这一整套仿真架 构,小伙伴们也可以发挥自己的聪明才智,设计出各式各样 的HIL实时仿真系统。
结语
至此,使用TSMaster从零打造车辆控制器HIL实时仿真系列 就全部介绍完毕,在此仅仅是抛砖引玉,让我们共同将 TSMaster的潜力发挥出来。
作者: TOSUN同星, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-4003892.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
文章评论(0条评论)
登录后参与讨论