主要内容

检测和修复任务溢出Arduino硬件

您可以配置Simulink金宝app®模型在目标硬件上运行,以检测任务溢出并在发生任务溢出时通知您。如果在计划启动任务的下一个实例时,目标硬件仍在执行任务的一个实例,则会发生任务溢出。您可以通过降低计划运行任务的频率和/或通过减少模型定义的任务数量来修复溢出。

启用溢出检测:

  1. 单击工具菜单,并选择在目标硬件上运行>选项

  2. 在打开的“硬件实现”窗格中,选择被检测>使被检测复选框。

  3. 使用数字输出设置为超限参数来指定数字输出的插脚号。

  4. 点击好吧

要为你的电路板创建一个视觉超限指示器,将一个合适的电阻器与LED之间串联接地和所指定的硬件引脚数字输出设置为超限参数。定位LED,使较长的腿(正)连接到数字输出引脚。

当任务溢出时:

  • 指示的数字输出管脚的状态数字输出设置为超限参数从低(0伏)到高(5伏)。

  • 模型继续运行,但有效样本时间将比指定的时间长。

若要修复超限条件,可采用以下一种或多种解决方案,以减轻模型的处理负担:金宝搏官方网站

  • 增加模型的采样时间。例如,增加样品时间所有数据源块中的参数。

  • 简化模型。

如果您正在使用外部模式,且上述解决方案不能解决任务溢出的问题,请考虑禁用外部模式。金宝搏官方网站外部模式将一个轻量级服务器添加到目标硬件上运行的模型中。该服务器增加了目标硬件的处理负担,可能导致任务溢出。