实时仿真与测试
该工作流始于实时仿真与测试,随后在 Speedgoat® 目标计算机上进行模型创建、回归测试及压力测试。
创建 Simulink 或 Stateflow 模型
在 Simulink® 编辑器中,于 Simulation 选项卡下,从 New 中选择 Model。
从 Simulink 起始页面选择模型模板或点击 Blank Model。
在 Simulink 中通过将模块拖拽至模型来创建模块图。如果可能,请将模型和模块参数设置为使用固定步长求解器,并指定与模型实时要求兼容的采样时间。
将模型仿真为非实时应用程序
Simulink 使用计算得出的时间向量来步进模型。在计算完给定时间值的输出后,Simulink 会立即重复计算下一个时间值,直至达到停止时间。
由于计算出的时间向量未与物理时钟连接,输出结果的计算速度取决于计算机的运行速度。仿真的经过时间可能与实际系统的经过时间存在显著差异。
您可以记录仿真结果以便后续比较。
配置开发和目标计算机
配置开发计算机与目标计算机之间的通信方式。
通过以下方式配置 MATLAB® 开发计算机和 Speedgoat 目标计算机:
为实时执行准备模型
将模型配置参数设置为与实时执行兼容的值:
在 Apps 选项卡上,点击 Simulink Real-Time。此选项将 System target file 模型参数设置为 speedgoat.tlc(或另一个 Simulink Real-Time™ STF),并将 Type 模型参数设置为 Fixed-step。
在 Real-Time 选项卡上,点击 Hardware Settings。在 Configuration Parameters > Solver > Fixed-step size 中,选择与模型实时要求兼容的步长。
在 Real-Time 选项卡上,点击 Hardware Settings。为 Configuration Parameters > Code Generation > Simulink Real-Time Options 选择选项。这些设置为实时应用程序选项设定初始值。如有需要,您可以在构建应用程序后为实时应用程序更改这些选项。
向模型中添加代表您的 I/O 板的 Simulink Real-Time I/O 模块。
要可视化仿真结果,请使用仿真数据检查器在模型中标记用于数据记录的信号。请参阅在仿真数据检查器中查看仿真数据。
连接并重新启动目标计算机
将开发计算机连接至 Speedgoat 目标计算机。将目标计算机中的 IO 模块连接至相应的物理硬件。
使用以下命令重启搭载 Simulink Real-Time 实时操作系统的目标计算机:
目标计算机重启按钮。
构建并下载实时应用程序
在 Real-Time 选项卡中,将 Toggle target computer connection 切换为 Connected,然后点击 Run on Target。有关构建和下载实时应用程序的更多信息,请参阅:
您也可以通过分步操作来构建、部署和运行实时应用程序。有关详细信息,请参阅使用分步命令在 Simulink 外部模式下执行实时应用程序。
可视化信号
要在实时应用程序运行时查看信号数据,请使用仿真数据检查器标记要记录的信号。使用标记的信号从实时应用程序中获取并显示信号数据。您可以使用 Simulink Real-Time Explorer 对分层信号进行分组,以便将其流式传输至仿真数据检查器。
要在目标计算机上记录信号数据并在实时应用程序运行后查看数据,请插入 File Log 模块并将这些模块连接至待记录的信号。运行结束后,数据将加载到仿真数据检查器中进行查看。
要在 MATLAB 仪表板应用程序中查看信号数据,请创建一个 App Designer 仪表板应用程序,并使用
Instrument对象将该应用程序连接到实时应用程序。您将图形仪表插入仪表板中用于数据显示。通过以下方式可视化信号:
调整参数
调整可观测参数,例如时间延迟、输入和输出振幅以及输入和输出频率。
注意
Simulink Real-Time 不支持多词数据类型的参数。
使用以下方法调整参数:
信号表选择来自 Simulink 编辑器中的实时选项卡
准备回归测试和压力测试
编写能够以可重复方式执行参数扫描和极值测试的 MATLAB 脚本,并将结果作为已知有效数据进行累积。