实时代码生成和部署过程
当您确定您的模型已准备好用于实时仿真时,请按照实时仿真过程对模型进行实时仿真。下面的流程图展示了一个实时仿真过程示例。使用固定成本求解器对模型进行仿真并检查结果和执行时间是否可接受。与模型准备过程一样,固定成本过程可能需要多次迭代来调整步长和迭代次数,如果这样做仍无法得到可接受的结果,您可能需要回到模型准备过程。
If you are performing HIL simulation to test your controller:
Configure your controller.
Connect your controller to the real-time computer.
执行硬件在环仿真
生成、下载并执行代码
使用 Simulink® Real-Time™ 执行以下操作:
在开发计算机上生成并编译代码。
将实时应用程序下载到目标计算机。
从开发计算机远程执行实时应用程序。
有关详细信息,请参阅生成、下载并执行代码。
评估准确度
将目标计算机上通过仿真得到的结果与参考结果进行比较。参考结果和修改后模型的结果是否相同?如果不同,它们是否足够相似,以至于经验或理论数据也支持从修改后模型的仿真中获得的结果?修改后的模型是否代表了您想要测量的现象?它是否正确地代表了这些现象?如果您计划使用您的模型来测试控制器设计,该模型是否足够准确,能够产生可供信赖的结果以用于系统鉴定?这些问题的答案可帮助您确定您的实时结果是否足够准确。
评估速度
若要了解您的仿真是否产生超限,请检查 Simulink Real-Time 针对该仿真生成的任务执行时间 (TET) 报告。
返回实时模型准备工作流
如果您的实时目标机上的仿真出现超限或生成的结果与您的参考结果不够匹配,则您的模型不具备实时能力。若要通过调整模型保真度来使模型具备实时能力,请返回实时模型准备或实时仿真工作流。
调整模型的保真度或范围,然后逐步执行实时模型准备工作流中的其他进程和决策。不断调整、仿真和分析您的模型,直到它足够快、足够准确,让您可以执行实时仿真工作流。执行实时仿真工作流,然后再次尝试硬件在环仿真工作流。有关详细信息,请参阅Model Preparation Process和Fixed-Cost Simulation Process。
返回实时仿真工作流
如果您的实时目标机上的仿真出现超限或生成的结果与您的参考结果不够匹配,则您的模型不具备实时能力。若要通过调整仿真求解器设置来使模型具备实时能力,请返回实时仿真工作流。
执行实时仿真工作流,然后再次尝试硬件在环仿真工作流。有关详细信息,请参阅Fixed-Cost Simulation Process。
硬件在环仿真计算能力不足
您的实时目标机可能缺乏实时运行模型的计算能力。如果您的模型未能实时运行,或在实时工作流多次迭代后在目标机上依然生成不了可靠的结果,请考虑对系统的各个部件进行并行仿真。要了解详细信息,请参阅Simulating Parts of the System in Parallel。
管理模型变体
变体模块使您能够创建满足多个变体要求的单个模型。此类模型具有固定的通用结构和有限的可变组件集。可变组件的激活取决于您选择的变体选择项。因此,所得的活动模型是固定结构和基于变体选择项的可变组件的组合。在模型中使用变体模块有助于针对称为变体选择项的不同条件表达式重用模型。有关详细信息和示例,请参阅Implement Variations in Separate Hierarchy Using Variant Subsystems。
但是,您无法使用未指定默认变体选择项的代码在实时目标硬件上进行仿真。在生成代码进行实时仿真之前,请使用变体管理器来识别模型中的变体模块并管理使用这些模块建模的变体点。要了解如何使用变体管理器,请参阅 Variant Manager for Simulink。
限制
Simscape™ 不支持模型变体的条件编译。
故障排除
如果您的实时应用程序产生超限,若要缩短应用程序执行时间:
使用Model Preparation Process、Fixed-Cost Simulation Process和实时代码生成和部署过程中描述的过程。
运行 Simulink Real-Time 性能顾问检查。使用性能顾问中的执行实时应用程序活动模式,其中包括特定于物理模型的检查。此模式可帮助您优化您的 Simscape 模型以实时执行。这些检查被整理在文件夹中。Simscape 检查文件夹中的检查适用于所有物理模型。子文件夹包含针对来自附加产品(例如 Simscape Electrical™ 和 Simscape Driveline™)的模块的检查。
要访问这些检查:
打开性能顾问。在调试选项卡上,点击性能按钮。
在“性能顾问”窗口中,在活动下,选择执行实时应用程序。
在左窗格中,依次展开实时文件夹和 Simscape 检查文件夹。
运行顶级 Simscape 检查。如果您的模型还包含来自附加产品的模块,请运行与该产品对应的子文件夹中的检查。
有关详细信息,请参阅Troubleshoot Unsatisfactory Real-Time Performance (Simulink Real-Time)。
由于开发和目标计算机问题、底层系统软件的更改、I/O 模块问题和程序错误,Simulink Real-Time 仿真也可能失败。要解决这些问题,请遵循Troubleshooting Basics (Simulink Real-Time) 中的工作流。有关详细信息,请参阅 Troubleshooting in Simulink Real-Time (Simulink Real-Time)。