信号监控和参数调节
“监控和调节”操作使主机上的 Simulink® 能够在运行时与硬件板上部署的模型进行通信。
此处描述的“监控和调节”操作适用于以下硬件支持包:
Embedded Coder® Support Package for BeagleBone® Black Hardware
Simulink Coder™ Support Package for NXP™ FRDM-K64F Board
Simulink Support Package for Raspberry Pi® Hardware
Simulink Support Package for Arduino® Hardware
有关其他所有硬件支持包,请参考用于参数调节、信号监控和代码执行探查的外部模式仿真 (Simulink Coder)。
“监控和调节”的工作原理
“监控和调节”操作在主机和硬件板上创建通信服务。这两个服务在 Simulink 引擎和部署在硬件板上的生成代码之间建立通信信道。通信服务将硬件板上的模型进程与代码以及用于格式化、传输和接收数据包的传输层隔离开来。主机上的通信服务通过传输层接收数据包,并更新 Simulink 模型显示。下图显示外部模式通信服务在主机上的 Simulink 与硬件板上部署的代码之间创建的连接。

“监控和调节”中使用的通信服务可以是模型线程中的前台任务,也可以存在于后台任务中。
任务描述基于假设Single-Tasking Execution (Simulink Coder)。它们也可适用于Multitasking Execution (Simulink Coder),其中包含外部模式的后台任务以最低优先级执行。
前台任务
作为在模型的每个执行步后调用的前台任务,“监控和调节”以模型的基本速率收集数据。
下图显示与模型代码相关的外部模式的典型执行。

通过在每个模型时间步后执行,可以保持“监控和调节”从硬件板记录的数据的完整性。
当模型代码消耗每个时间步的大部分执行时间时,“监控和调节”执行会超限到下一个时间步。这会延迟下一个模型执行步的开始,并降低已部署模型的实时行为的性能。下图显示模型代码执行时间导致外部模式超限到下一个时间步。

由于这种超限,在数据记录优先于实时执行的部署模型中,请将“监控和调节”配置为前台任务。
后台任务
可以将“监控和调节”配置为在硬件上作为后台任务运行。作为后台任务,“监控和调节”使用模型代码在一个时间步中完成和在下一个时间步中开始之间的执行时间。“监控和调节”操作不会阻止模型时间步,因此可以在需要实时执行的系统中使用。这种“监控和调节”配置支持直接观测在硬件板上部署的模型,就像它在独立运行中的行为一样。
下图显示模型和后台任务的执行。

当模型代码消耗每个时间步的大部分执行时间时,后台任务中的“监视和调节”就会耗尽执行时间。如果没有足够的时间从硬件板收集数据并将其传输到主机,“监控和调节”会丢弃数据包,从而导致数据记录出现缺口。
由于可能存在这些缺口,在实时执行的优先级高于数据记录的已部署模型中,请将“监控和调节”配置为作为后台任务运行。
另请参阅
主题
- Single-Tasking Execution (Simulink Coder)
- Multitasking Execution (Simulink Coder)