用户故事

AVL利用plc的嵌入式代码生成开发发动机调节系统的动态控制器

挑战

在短短六周内为乘用车试验台开发一套发动机调节控制系统

解决方案

利用基于模型设计的MathWorks工具对PLC上的控制系统进行设计、仿真和实现

结果

  • 开发时间减半
  • 设计迭代在数小时内完成,而不是数天
  • 文档的时间了

“使用MathWorks工具,我们在第一周就验证了我们的初始控制设计是正常的,仅在六周内就交付了一个复杂的控制系统。基于模型的设计使我们能够模拟复杂的设计,进行软件在环测试,然后为多个目标硬件平台快速生成有效代码。”

joseph Mayrhofer, AVL List
AVL客车发动机试验台。

即使是几度的发动机温度变化也会使尾气排放超出规定的限制。为了开发和校准符合全球标准的发动机管理系统,汽车工程师需要模拟发动机所经历的精确温度条件。通过发动机试验台,他们可以在可重复的环境中评估控制策略,并在不同的环境温度和驾驶条件下访问发动机性能。

基于多年为f1和NASCAR赛车开发试验台的经验,AVL List GmbH的工程师开发了一种动态发动机调节系统的控制系统。调节系统是乘用车试验台的一部分,用来模拟发动机的运行环境。他们使用MathWorks工具进行基于模型的设计,仅用了六周时间就完成了这个项目。

AVL的解决方案工程师Michael Hofer指出:“我们必须在修改用C代码编写的现有稳定状态实现和重新使用MathWorks工具之间做出选择。”“我们选择使用Simulink、statflow和Simulink Coder完全重新开发系统万博1manbetx.这种方法的速度大约是手工编码的两倍,这使我们能够按时完成项目。”

挑战

在-20至+110摄氏度的操作范围内,发动机调节系统需要将发动机温度维持在目标温度的1摄氏度以内。AVL现有一个发动机调节系统的稳态控制器。它的稳态精度为1摄氏度,动态误差为5摄氏度。

AVL的赛车应用首席工程师Josef Mayrhofer指出:“我们为赛车客户设计了一些新颖的控制策略,但它们用于更复杂的调节系统,需要为乘用汽车进行修改。”

因为他们只有六周的时间向客户交付一个工作系统,AVL工程师需要一个开发环境,使他们能够快速适应并尝试新的控制策略。此外,他们需要快速实现系统的原型,以便在生产硬件上进行实时测试。

解决方案

AVL使用基于模型设计的MathWorks工具对控制系统进行建模、模拟、实现和交付。

AVL工程师使用MATLAB®,仿万博1manbetx真软件®, Stateflow®开发由状态机和四个比例积分(PI)控制器组成的控制系统的初始模型。该模型仅用了一周的时间就完成了,团队可以在Simulink中进行开环仿真,验证基本控制策略是否可行。万博1manbetx

在使用statflow开发管理逻辑后,团队模拟了安全关键功能,以确保内部压力和温度不会达到不安全的水平。

使用嵌入式编码器®,团队从他们的Simulink控制系统模型生成C代码。万博1manbetx然后,他们使用贝加莱自动化工作室将控制算法部署在贝加莱X20可编程逻辑控制器(PLC)上仿真软件的目标。万博1manbetx

在PLC实时样机上的测试表明,新设计的性能优于稳态设计,但仍不能将温度控制在要求的1度以内。

在AVL机械师为调节系统添加了新的阀门后,工程师们修改了Simulink和statflow模型,以整合新的硬件并优化状态机,最终包含10个母状态,有些甚至多达80个子状态。万博1manbetx然后他们用Embedded Coder重新生成代码。

在验证设计符合性能规范后,团队使用Simulink实现了安全功能,并在CAN总线上添加了接口,进一步稳定了设计。万博1manbetx

该团队重新生成了最终控制系统的代码,并在将生产系统交付给客户之前,根据欧洲的驾驶周期在完整的测试台上对调节系统进行了测试。

结果

  • 开发时间减半.“借助MathWorks工具,我们在短短六周内就按时完成了项目,”霍弗说。“如果我们用c语言手工编码的话,我们需要12到15周的时间。”

  • 设计迭代在数小时内完成,而不是数天.Hofer报告说:“当我们的机械专家在物理调节系统中添加阀门时,我使用Simulink和statflow来改变一些状态,并在模型中添加PI控制器。万博1manbetx“再点击两下鼠标,我就有了一个可以测试的新原型。我们只花了半天时间就完成了一个需要花两三天时间手工编码的更改。”

  • 文档的时间了.Hofer说:“statflow模型使我们的设计很容易与AVL内的其他工程师和客户沟通,他们接受模型作为文档。”“在条件设置系统中,这节省了我们一周的文档工作,而在更大的项目中,则节省了两到三个月的时间。”