持续集成在HIL仿真中的成功应用

HIL仿真模型开发的重大变化

在过去几年中,HIL仿真和测试在开发和验证过程中越来越重要。HIL系统的设计、调试和供应方式,利用方式和验证过程中的集成方式也在发生重大变化。例如,通常基于一些建模专家和HIL仿真专家的经验和合作,实现了实时HIL仿真的被测模型的开发和集成。然而,HIL系统的数量在不断上升,专业化也越来越高,这带来了一些挑战,而传统手段无法克服。

同时,由于排放法规更严格、电气化动力传动应用、车辆动力学、制动和主动安全特性方面性能算法更复杂,并且还有其它安全要求(例如,在自动驾驶方面),对HIL仿真的要求也变得更具挑战性。因此,对HIL仿真模型的适用范围和精度的要求越来越高。因此,对其它领域和部门的模型进行复用的趋势越来越明显,有时甚至使用不同的、特定于领域的建模工具来实现。

此外,汽车原始设备制造商或供应商对HIL系统的需求越来越大,从单个系统到大型原始设备制造商的整个HIL厂都有涉及。ECU和模型变体进过无数次组合,复杂性进一步提高。因此,在多个HIL系统中管理、分配和部署模型是一个巨大的挑战。

最后,为了缩短开发周期并提高生产率,需要在系统的利用方面实现最大程度的自动化。因此需要尽量减少停机时间。

在这种背景下,我们需要新的方法来集成和使用如下仿真模型:

  • 来自不同领域和来源
  • 协调一致的过程,
  • 高度自动化的方式,
  • 具有最高水平的流程可靠性,
  • 不同的HIL系统。

换句话说,必须实现从专家工作流程到生产性“模型工厂”的转化。相关的方法已经就绪了,它们可以传输到HIL应用程序,如下所示。

持续集成是现代软件开发过程的关键因素

现代软件开发过程为这些新的挑战提供了很好的理念,这些理念可以用于HIL仿真,并且会有很大帮助。持续集成就是其中的一个理念,即使在大型组织中也能够通过它以高效和敏捷的方式开发大规模的软件产品。

持续集成使Agile Manifesto 中的以下原则成为现实:“工作软件是衡量进步的主要标准。”持续集成的关键理念通过极大地改变软件开发和测试来实现这一目标。首先,员工被编成小的敏捷团队,其具有明确的职责和决策权。团队将工作按优先级排列,并依次解决。通过这种方式,团队在1到4周的时间内以小迭代(也称为sprint)的方式开发软件。

在敏捷开发中,每次迭代都会产生产品的工作增量。为了实现软件的这种增量开发,计划、开发、构建和测试必须与每个迭代中的单元测试相结合。因此,增量的质量在开发过程中得到了保证;有时这种模式被称为内在质量。因此,持续集成与瀑布方法形成了对比,瀑布方法的开发和测试阶段是相互分离的。

但如何才能实现这种增量开发呢?在这个动态和连续的过程中,许多技术都会发挥作用:

  • 使用SVN或Git等工具对软件进行版本控制
  • 当前集成的自动构建
  • 自动执行测试
  • 对代码质量的即时反馈
  • 测试的并行化和编排

正如我们所看到的,自动化和协调的测试对于实现持续集成至关重要。《使用dSPACE进行高效连续测试》一文描述了这一独特的汽车软件开发的机制以及dSPACE的解决方案。

HIL仿真中连续集成应用的成功因素

敏捷方法,尤其是持续集成,越来越多地应用到汽车软件开发中。由于待测代码有特殊的要求(例如,实时性),因此对质量和测试都有很高的要求。除了SIL测试外,HIL仿真也是测试方法的重要组成部分。

为了在连续集成方法中使用HIL 仿真,获得可执行HIL 仿真系统的流程正在发生巨大的变化。尤其是HIL系统的调试和部署不再被理解为需要一步一步进行的既定准则。相反,从大型仿真模型的开发到多个HIL系统部署的所有步骤都必须并行执行。

此过程中的典型任务包括:

  • 配置模型-模型通信
  • 配置模型-IO通信
  • 总线配置
  • 任务配置
  • 编译实时应用程序
  • 部署到HIL

然而,正如一些公司的实践,持续集成方法可以非常成功地应用于HIL测试。在这里,两个连续的集成周期相互作用。第一个周期是ECU软件开发过程,第二个周期是HIL的模型集成过程。dSPACE为客户提供全面的支持和建议,帮助他们顺利完成工作。

通过实践,以下方法已被证明是HIL仿真引入持续集成的真正成功因素。

模型模块化

模块化的模型结构,由小单元组成,实现强大、方便和高效的集成。使用模块化的模型结构,敏捷团队能够在内部确保质量,因为他们自己开发模型,并在测试的不同阶段(虚拟和实时)检查其质量,大型模型的开发不依赖于其它团队,因此不会有相关的阻碍。团队和模型管理的灵活性使得快速变化的开发周期具有更高的性能,同时使变体管理变得更容易。

提前准备仿真模型

HIL集成过程可能非常冗长且效率低下。每次对整个系统模型执行集成过程中的两个步骤时,通常会出现这种情况:

  1. 模型代码生成
  2. 模型代码编译

这种情况非常关键,因为在大多数情况下,只有模型的个别部分(<10%)在迭代中发生了更改。

基本方法是将这两个步骤前置,从HIL集成转移到模型开发阶段。例如,在加入模型的新版本时,这两个步骤都可以自动执行。在本例中,每个模型都已经作为生成和编译的代码进行分布。我们将这种部署表单称作模型容器。这种方法大大加快了HIL集成过程。

通过命名约定管理接口映射

由于采用了以下技术,将模型连接到IO和其它模型会非常容易:

  • 基于模型端口的规范化名称的端口映射。
  • 通过对唯一标识端口进行一致使用,即使在模型交换场景中也可以建立持久通信。

因此,即使模型接口不断变化,也可以实现高度自动化的模型交换过程和高效的变更管理。

将虚拟ECU作为数字孪生

在许多情况下,即使HIL系统已经设置好了,实际的ECU还不可用。这会停止整个HIL部署和测试过程。为了克服这个问题,建议仿真丢失的ECU。这可以使用非常简单的行为模型(称为Soft ECU),更高级的方法是使用现有的ECU应用程序代码并构建虚拟ECU,其中还能包含一些测试所需的基础软件。Soft ECU和虚拟ECU都可以理解为丢失的真实ECU的数字孪生。持续使用Soft ECU和虚拟ECU可以显著加快HIL系统的速度,因为无论实际ECU是否可用,系统始终可以执行。

除了解决可用性问题外,使用Soft ECU或虚拟ECU还可以使连续测试更加强大,因为在单个硬件组件发生故障的情况下,仍然可以执行整个仿真。这种方法需要大量的基础设施,尤其是所需的残余总线仿真。

管理过渡过程

在许多公司中,为HIL应用程序中的模型开发和集成引入持续集成过程已经成为使HIL测试更加高效的关键。上述最佳操作,如模块化模型结构、预编译模型代码、接口管理和映射以及Soft ECU或虚拟ECU的使用,是成功应用持续集成的关键。目前,dSPACE工具和解决方案已经可以用于HIL仿真的连续集成过程。因此,可以建立高度自动化的模型构建服务器和流程。新的软件模型,如基于云的集成和构建过程,甚至构建即服务的业务模型和基础设施都即将出现。dSPACE始终站在行业发展的最前沿,在这一课题上与多个客户密切合作。通过dSPACE的工具,您可以管理从经典流程到高度灵活自动化模型生产和交付流程的过渡,以应对当今和未来汽车开发和验证领域中的新挑战和不断的变化。

dSPACE: dSPACE–您的仿真和验证合作伙伴。

Further Information

订阅新闻通讯

订阅/管理订阅/取消订阅 dSPACE新闻简讯