在做理论研究的过程中,不可能通过实物来做实验,但是我们通过硬件在环对混合动力汽车能量管理进行研究,可以大大减少时间和成本。
简单的讲:硬件在环测试(Hardware-in-the-Loop)可以比喻成F1用的模拟器,就是实体控制器+虚拟控制对象的半实物仿真。
清楚一点:引用知乎大佬的回答。
作者:一个kebab
链接:https://www.zhihu.com/question/32069347/answer/139874774
来源:知乎
首先,无论是汽车行业还是航空航天或者其他需要电控系统的工业领域,我们会先设计软件,之后生成控制器可以使用的代码,刷写进控制器也就是ECU(Electronic Control Unit不是Engine Control Unit)。
那么在做实时测试的时候,你有几种选择,要么就是上台架测试或者直接上车上飞机测试,也就是实打实玩真的硬件。
小一些的硬件还好说,大到汽车发动机,变速箱,飞机发动机,首先直接测试成本太高:整车台架动辄上千万RMB搭建成本,航空航天软件你也不能开发初期随意找来几架飞机测试吧。
另外实际硬件测试有很多限制,打个比方,你要测试混动汽车电池过热的纠错情况,总不能故意拿来电池玩过热玩爆炸吧。
这个时候你就需要使用HiL台架(Hardware in the Loop)。
什么是HiL台架?我画了一张简图:
左边的控制器是“瞎的”,他不管你右边虚线框里放的是真的汽车,飞机,还是一头大象,只要他能正常接收传感器和其他需要的信息(通过CAN信号和电信号),然后他发送正常的指令即可。
那么HiL台架正是利用了控制器的这个特点,通过中间的硬件接口接收控制器的控制指令(比如开关开闭的数字信号,或者是阀体的电流控制模拟信号),然后发送控制器需要的传感器和其他信号(比如压力,扭矩,温度信号)给控制器。
那么问题来了,这个硬件接口接收来的控制器控制信号用来控制谁呢?总不能真的去控制大象吧?然后这个接口要发送的传感器信号又来自哪里呢?
这就要说到HiL台架的核心了,也就是最右边的控制对象和运行环境。你不是不能测试软件就放飞飞机么?那我总能模拟这个假的放飞环境吧?你不是不能让电池过热么?那我总能用数学模型模拟电池过热吧?那些你不能做的,难以做到的,都可以用数字模型来模拟,这是HiL台架中“假的硬件”。
那发动机测试我喷油嘴还是比较容易连上去的吧,变速箱测试液压控制的阀体也还比较容易得到吧,那么这些系统我就可以把真的硬件连上去,作为负载,这是HiL台架中“真的硬件”。
假假真真,真真假假,只要你能权衡利弊,组合出来一个完整的控制对象和控制对象所处的运行环境,其他都是套路。
其实HiL(Hardware in the Loop)没有一个固定的定义和模式。有很多HiL台架是不连接任何真的负载,全部硬件和硬件运行环境都是模拟的,就是下面这种情况:
这时候的HiL从结构上看更像是一个PiL,当然评论里也有人说到ECU是 Hardware in the Loop 的Hardware所在,这个概念我也理解,但是我个人更愿意称类似的台架为 PiL (Processor in the Loop) 或者 Mini-HiL,这个主要是从实际软件量产项目的角度来说,PiL和HiL大多是直接连接完整量产ECU,在测试ASW核心功能上面并没有区别。
从成本和核心ASW功能测试效果来说,如果你不需要连接真实的控制对象硬件负载,那么用1/10完整HiL的成本都能搭一个PiL或者mini-HiL出来。有的时候硬件IO需要做额外的集成降低硬件成本,但是并不影响核心ASW功能测试。