主要内容

电动窗控制项目

这个例子展示了如何使用MathWorks®软件和基于模型的开发流程来实现汽车电动车窗系统的概念和实现。本示例使用Simulink®,Sim金宝appulink®Coverage™,DSP System Toolbox™,Simscape™Multibody™,Fixed-Point Designer™,Simscape™Electrical™,Simscape™和Simulink®Real-Time™。

设计要求概述

在这个例子中,考虑汽车的乘客侧电动车窗系统。注:该系统的一个关键方面是,当关闭车窗时,它不能对物体施加超过100 N的力,例如:

当模型检测到这样的物体时,它必须将窗口降低大约10厘米。

有关设计需求的更多信息,请参见电动窗.

使用基于模型的开发和大规模建模

此示例使用基于模型的设计和大规模建模技术,例如,

  • 模型块将层次结构分离到单独的模型中。

  • 可变子系统块对不同的设计选择进行建模和切换。

  • 捕获算法以便在不同的子系统中重用。

  • 项目管理系统开发所需的文件。

打开电源窗口控制项目

运行以下命令创建并打开本例中项目文件的工作副本。

slexPowerWindowStart

探索该项目

对项目进行目视检查后,可以看到用于组织示例的功能。这些特点是:

  • 文件夹

  • 文件分类

  • 捷径

文件夹

项目被组织到以下文件夹中:

  • 配置模型- MATLAB®文件控制主要系统模型的变体配置

  • 数据-项目所需的图像

  • 人机界面-设置电动窗响应动画的文件

  • 模型-主系统模型、控制器模型、用于测试控制器的模型以及支持这些模型的库金宝app

  • 任务- MATLAB文件,用于对不同的模型配置进行模型仿真,生成控制器的覆盖报告

  • 公用事业-MATLAB文件用于初始化模型、生成电子表格输入、向生成的电子表格添加数据以及在启动和关闭时管理项目环境

文件分类

项目中的文件在“标签”窗格中具有不同的可见分类。每个标签描述文件对项目主体的特定角色。在该项目中,添加了新的分类,包括:

  • 配置—配置项目或模型的文件。

  • PrjConfig-通过在启动时将其文件添加到该路径,并在关闭时删除它们来配置项目的文件

  • DesignConfig-确定在给定时间内哪个模型配置是活动的文件

  • 设计-主系统模型及其参考控制模型

  • Design金宝appSupport-库、数据和模型模拟等文件

  • 模拟-为特定配置模拟模型的文件

  • 测验-控件覆盖、控件交互和测试线束模型

  • 形象化-设置电动窗运动动画的文件

捷径

项目快捷方式用于快速访问最常用的项目文件。某些快捷方式包含常规任务,例如在启动时将项目添加到路径,在关闭时将其删除。此外,项目快捷方式组有助于组织快捷方式。新的快捷方式组是

  • 交互测试—用于控制器交互测试的文件

  • 主要模型-顶级Simulink模型文件金宝app

  • 模型覆盖-用于控制器模型覆盖的文件

  • 模拟-用于模拟模型变量配置的文件

项目中Simulin金宝appk模型的探索

这个项目金宝app的Simulink模型位于模型文件夹中。感兴趣的模型有:

  • 主要系统模型

  • 模型测试

主要系统模型

在本例中,模型文件夹下的主系统模型为SLEXPOWERWINDOWE示例. 该模型由驾驶员和乘客开关模块组成,它们为系统生成输入。然后输入通过控制系统模型,该模型验证乘客和驾驶员输入的状态。控制系统块还确定是否有障碍物阻挡车窗路径。参考控制器产生发送至车窗系统激活变型的车窗运动指令信号。车窗系统输出是对控制系统块的反馈。

为了可视化仿真结果,仿真数据检查器(SDI)记录输出数据和Simulink 3D动画™ 设置窗口运动的动画。金宝app

模型变体

本项目中的主系统模型使用不同的子系统块,以允许在子系统内的多个实现。可以在模拟之前以编程方式更改活动实现。在主模型中,有四个变量子系统块,每个子系统块都有可以编程修改的变量选项。这四个不同的子系统是:

  • slexPowerWindowExample/driver\U开关

  • SLEXPOWERWINDOWE示例/乘客侧开关

  • slexPowerWindowExample / window_system

  • SLEXPOWERWINDOWE示例/电动车窗控制系统/检测障碍物

每个变体选择都与一个变体控制相关联。当变量控制计算为时,变量选择是主动的真正的.

由于在主模型中有四个可编程修改的变型子系统块,因此有MATLAB文件来控制变型选择的组合,以创建在DesignConfig分类。可用的模型变体配置是

  • 电动车窗控制器混合系统模型

  • 电源窗口控制器和详细的工厂模型

  • 具有数据采集效果的电源窗口控制器

  • 带控制器局域网(CAN)通信的电动车窗控制器

电动车窗控制器混合系统模型

该模型变体使用statflow®和Simulink建模离散事件反应行为和连续时金宝app间行为。它使用低阶工厂模型来验证上滚和下滚行为。控件可以模拟此变体配置简单杂交植物低阶快捷方式。此快捷方式仅激活与此模型配置相对应的变体子系统。由于该模型不考虑功率影响,因此记录的唯一输出是位置。模拟数据检查器(SDI)显示记录的位置数据。

电源窗口控制器和详细的工厂模型

这个模型变体显示了一个更详细的植物模型,包括权力影响机电领域用于验证窗口困对象施加的力从来没有超过100 n需要这个模型变体Simscape™多体™和Simscape电力系统™安装产品。下载188bet金宝搏控件可以模拟此变体配置SimHybridPlantPowerEffects捷径。与之前的变体模型不同,此变体配置考虑了功率效应。SDI显示电枢电流、位置和电动车窗施加的力的记录数据。

具有数据采集效果的电源窗口控制器

此模型变量显示由于影响控件的实现而产生的附加效果。包括测量电枢电流的信号调节和测量的量化。此型号变体需要Simscape多体、Simscape电力系统、DSP系统工具箱™, 和定点设计器™ 要安装的产品。您可以使用下载188bet金宝搏SimHybridPlantPowerEffects + ControlDAQEffects捷径。与之前的型号一样,SDI显示电枢电流、位置和电动窗施加的力的记录数据。

带CAN通讯的电动窗控制器

这个模型变体显示了使用CAN来传递控制窗口移动的命令。开关可能位于车辆的中央控制台,并产生命令,包括在这个型号的变体。该模型变体需要安装Simscape多体、Simscape电源系统、DSP系统工具箱和定点设计器产品。下载188bet金宝搏您可以在运行windows操作系统的机器上使用|SimCANCommunication|快捷方式模拟此变体配置。

模型测试

要测试控制电源窗口的状态机,可以运行项目快捷方式进行测试。测试控制器的可用模型快捷方式有

  • InteractiveExample

  • 覆盖率示例

  • 增加覆盖率示例

InteractiveExample

此模型快捷方式打开模型slexPowerWindowCntlInteract。此模型包含电动车窗控制器,它是一个状态机。该模型还包含通过手动开关块选择的控制器输入。

电动车窗控制器有四个外部输入:

  • 乘客输入

  • 驱动输入

  • 窗框止动块

  • 障碍物存在

乘客输入

这个输入由一个带有三个元素的向量组成:

  • 中立的:乘客控制开关未按下

  • 向上的:乘客控制开关产生上升信号

  • 向下:乘客控制开关产生下降信号

驱动输入

这个输入由一个带有三个元素的向量组成:

  • 中立的:驾驶员控制开关未按下

  • 向上的:驱动器控制开关产生up信号

  • 向下:驱动器控制开关产生下行信号

窗框止动块

这个输入由一个带有两个元素的向量组成:

  • 0:窗口在顶部和底部之间自由移动

  • 1.:由于物理限制,窗口卡在顶部或底部

障碍物存在

这个输入由一个带有两个元素的向量组成:

  • 0:窗口在顶部和底部之间自由移动

  • 1.:窗户的框架内有障碍物

您可以交互式地测试控制器通过模拟模型和选择所需的组合输入通过手动开关块。在选择输入之后,您可以根据特定输入集的期望结果验证内部控制器状态和控制器输出。

覆盖率示例

此模型快捷方式打开模型slexPowerWindowCntlCoverage。此模型包含电动车窗控制器,它是一个状态机。该模型还包含控制器的输入,这些输入是重复序列块。

您可以使用Simulink Co金宝appverage(TM)模型覆盖工具验证窗口的离散事件控制。模型覆盖工具有助于确定模型测试用例执行控制器条件分支的程度。它还帮助评估在给定我们运行的测试用例的情况下,离散事件控件中的所有转换是否都被执行。它还评估启用特定转换的条件中的所有子句是否都已变为真。一个转换可以由多个子句启用,例如,当出现100个滴答声或达到endstop时,从紧急返回到空档的转换发生。

增加覆盖率示例

此模型快捷方式打开模型SLEXPOWERWINDOWCNTLCOVERRAGEINCREASE。此型号包含作为状态机的电动车窗控制器。该模型还包含一个From电子表格块,该块向控制器提供多组输入。这些输入集与CoverageExample模型中的输入集相结合,以执行电动车窗控制器中的更多逻辑。

这些输入集是:

  • 记录:从CoverageExample记录。

  • loggedobstacleon:从CoverageExample记录,可点击endstop。

  • LoggedObstacleOnEndStopOff:从覆盖区记录例如窗口中有障碍物。

  • LoggedObstacleOnEndStopOn:从Coverage中记录例如,窗口中有障碍物,并且能够点击endstop。

  • 驾驶员记录乘客空档:仅用于驱动程序的CoverageExample记录。乘客没有采取任何行动。

  • 驾驶员下乘客中心:司机降低车窗。乘客没有采取任何行动。

  • 传动装置制动传感器空档:驾驶员升起车窗。乘客不采取任何行动。

  • DriverAutoDownPassengerNeutral:驾驶员降下车窗1秒(自动降下)。乘客不采取任何行动。

  • 驾驶室Rautouppassenger空档:驾驶员升起车窗1秒(自动上升)。乘客不采取任何行动。

  • 客运专线:乘客降下车窗1秒(自动降下)。司机不采取任何行动。

  • PassengerAutoUpDriverNeutral:乘客升起车窗1秒(自动上升)。司机不采取任何行动。

模型覆盖率快捷方式GenerateIncreasedCoverage使用Simulink覆盖率模型覆盖率工具的多个输入集来验证窗口的离散事件控制,并为多个输入集生成覆盖率报告。模型覆盖工具金宝app有助于确定模型测试用例执行控制器条件分支的程度。它还有助于评估在给定我们运行的输入集的情况下,离散事件控件中的所有转换是否都已考虑在内。

相关的话题