gpt4 book ai didi

matlab - 如果已经执行了 MIL(循环中的模型)仿真,为什么在 HIL(循环中的硬件)之前使用 SIL(循环中的软件)?

转载 作者:太空宇宙 更新时间:2023-11-03 19:53:24 28 4
gpt4 key购买 nike

我已经在 simulink 中实现了一个新的 Controller 逻辑,并使用 MIL(循环中的模型)仿真对其进行了测试。

  1. 在进入 HIL 之前是否必须执行 SIL?
  2. 什么样的错误可以在 SIL 中发现,而在 MIL 中无法检测到?

请帮我举一个例子。

最佳答案

我不会说这是强制性的,但这是一种很好的做法。

通过进行 MIL 测试,您可以测试 Controller 逻辑在功能和算法上是否正确。当您转向 SIL 测试时,您实际上是在测试从模型生成的代码(对于 Controller 部分),而在 MIL 中,您是在测试在 Simulink 中实现的 Controller 算法,而不是 C 代码。当然,C 代码通常编译为用于 SIL 测试的 Windows DLL,因此您没有测试 Controller 的最终实现,但它仍然是朝着正确方向迈出的一步。如果您正在生成 C 代码并在最终 Controller 硬件上编译(与运行工厂模型的 PC 串行连接),那就更好了。您没有测试的另一件事是实时执行。

基本上,使用 MIL,您可以检测在 Simulink 中实现的 Controller 是否适合代码生成(数据类型、采样时间等)以及代码生成过程是否存在任何错误/问题(不太可能但仍有可能)。

迁移到 HIL 让您更有信心,因为现在被控对象模型和 Controller 模型都是实时运行的,因此您可以在尽可能真实的条件下运行从 Controller 逻辑生成的代码,这些代码在其最终硬件上实现.

这一切都是为了在开发周期中降低风险并增强信心。

关于matlab - 如果已经执行了 MIL(循环中的模型)仿真,为什么在 HIL(循环中的硬件)之前使用 SIL(循环中的软件)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32962524/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com