了解示例模型的功能行为。
了解示例测试工具及其组件的角色。
在模型上运行模拟测试。
能够打开和修改Simulink金宝app®模型和子系统。
了解子系统以及如何查看子系统的详细信息。
了解被引用的模型以及如何查看被引用的模型细节。
能够设置模型配置参数。
在使用每个示例模型文件之前,将一个副本放在可写位置,并将其添加到MATLAB路径中。
rtwdemo_throttlecntrl
模型文件
rtwdemo_throttlecntrl_testharness
模型文件
这个例子使用了一个简单的,但功能完整的,节气门控制器的例子模型。该模型具有冗余控制算法。该模型强调了一个标准的模型结构和一套算法设计的基本模块。
开放rtwdemo_throttlecntrl
并保存一个副本为throttlecntrl
在MATLAB路径上的可写位置。
请注意
该模型使用statflow®软件
模型的顶层由以下元素组成:
子系统 | PI_ctrl_1 PI_ctrl_2 Define_Throt_Param Pos_Command_Arbitration |
顶级的输入 | pos_rqst fbk_1 fbk_2 |
顶级输出 | pos_cmd_one pos_cmd_two ThrotComm1 |
信号路由 | |
省略改变信号值的块,例如总和和积分器 |
该布局为模型使用了基本的建筑风格:
从信号路由(线路和总线)中分离计算
划分为子系统
你可以把这种风格应用到各种各样的模型上。
研究顶部模型中的两个子系统。
如果还没有打开,就打开throttlecntrl
.
顶部模型中的两个子系统代表比例积分(PI)控制器,PI_ctrl_1
和PI_ctrl_2
.在这个阶段,这些相同的子系统使用相同的数据。
打开PI_ctrl_1
子系统。
模型中的PI控制器来自a图书馆,用于重用的一组相关块或模型。库提供了包含和重用模型的两种方法之一。第二种方法,模型引用,在仿真测试环境.不能编辑从库中添加到模型中的块。编辑库中的块,以便不同模型中的块实例保持一致。
打开Pos_Command_Arbitration
子系统。这个状态流程图对两个命令信号执行基本的错误检查。如果命令信号间隔太远,则状态流图将输出设置为fail_safe
的位置。
关闭throttlecntrl
.
为了测试油门控制器算法,把它合并到测试工具.测试工具是评估控制算法的模型,并提供以下好处:
从控制算法中分离测试数据。
从控制算法中分离设备或反馈模型。
为控制算法的多个版本提供可重用的环境。
本例的测试工具模型实现了一个通用的仿真测试环境,该环境由以下部分组成:
单元测试下
测试向量源
评估和记录
设备或反馈系统
输入输出缩放
探索模拟测试环境。
打开测试工具模型rtwdemo_throttlecntrl_testharness
并保存一个副本为throttlecntrl_testharness
在MATLAB路径上的可写位置。
设置您的throttlecntrl
模型作为测试装置的控制算法。
打开Unit_Under_Test
阻塞并查看控制算法。
控件,以查看模型引用参数Unit_Under_Test
块和选择块参数(ModelReference).
rtwdemo_throttlecntrl
显示为引用模型的名称。
改变模型名称来throttlecntrl
.
通过单击来更新测试工具模型图模拟>更新图.
控制算法是单元测试下,如名称所示模型块,Unit_Under_Test
.
的模型块提供了重用组件的方法。从顶部模型,它允许您引用其他模型(直接或间接)为编译功能.默认情况下,当引用的模型金宝app发生变化时,Simulink软件会重新编译模型。编译函数比库具有以下优点:
大型模型的仿真时间更快。
你可以直接模拟编译后的函数。
模拟需要更少的内存。即使模型被多次引用,内存中也只有一个已编译模型的副本。
打开测试向量源,在此测试工具中实现为Test_Vectors
子系统。
子系统使用信号生成器块,用于测试向量源。该块具有驱动模拟的数据(PosRequest
)并提供所使用的预期结果验证
子系统。这个示例测试工具只使用一组测试数据。通常情况下,创建一个测试套件来充分地运行系统。
打开评估和记录子系统,在此测试装置中作为子系统实现验证
.
一个测试装置将控制算法的仿真结果与金色的数据-由专家认证的显示控制算法所需行为的测试结果。在验证
子系统,一个断言Block比较了模拟节流阀位置从工厂与黄金值从测试线束。如果两个信号之间的差异大于5%,则测试失败,断言块停止模拟。
或者,您可以在模拟执行完成后评估模拟数据。使用任一MATLAB执行评估®脚本或第三方工具。执行后评估为数据分析提供了更大的灵活性。然而,它需要等待直到执行完成。结合这两种方法可以提供一个高度灵活和高效的测试环境。
打开设备或反馈系统,在此测试工具中实现为植物
子系统。
的植物
子系统用规范形式的传递函数对节气门动力学进行建模。您可以创建不同逼真度的植物模型。在不同的试验阶段使用不同的植物模型是很常见的。
打开输入输出缩放子系统,在这个测试中实现为Input_Signal_Scaling
和Output_Signal_Scaling
.
缩放输入和输出的子系统执行以下主要功能:
选择输入信号路由到被测单元。
选择输出信号到工厂的路由。
在工程单元和被测单元的可写单元之间重新调整信号。
处理设备和被测设备之间的速率转换。
保存并关闭throttlecntrl_testharness
.
检查您的工作文件夹是否设置为可写文件夹,例如您放置示例模型文件副本的文件夹。
打开测试工具模型的副本,throttlecntrl_testharness
.
启动一个测试装置模型模拟。模拟完成后,会出现以下结果。
右下角的图显示了预期(黄金)油门位置和工厂计算的油门位置之间的差异。如果两个数值的差值大于±0.05,则模拟停止。
保存和关闭油门控制器和测试线束模型。
基本模型体系结构将计算与信号路由分离,并将模型划分为子系统
模型重用的两种选择包括块库和模型引用。
如果您在一个测试工具中表示控制算法为模型块,在“模型参考参数”对话框中指定控制算法模型的名称。
测试工具是评估控制算法的模型。通常,一个工具包括一个被测试的单元、一个测试矢量源、评估和记录、一个设备或反馈系统,以及输入和输出缩放组件。
被测单元是被测控制算法。
测试矢量源提供驱动仿真的数据,仿真生成用于验证的结果。
在验证过程中,测试工具将控制算法仿真结果与黄金数据进行比较,并记录结果。
测试装置的设备或反馈组件模拟被控制的环境。
在开发测试工具时,
缩放输入和输出组件。
选择输入信号路由到被测单元。
选择输出信号到工厂的路由。
在工程单元和被测单元的可写单元之间重新调整信号。
处理设备和被测设备之间的速率转换。
在运行模拟或完成验证之前,考虑使用model Advisor检查模型。