异常:“ProcessorLoadWatchdog”


此看门狗必须在 CODESYSControl.cfg 配置文件中激活。

该限制在“CmpSchedule”部分中定义。

经验表明,在高负载下,控制器更容易出现通信问题。

  • 创建一个“标准项目”并选择 CODESYS ControlWin V3 作为设备。
  • 通过网络扫描连接目标系统

图1

  • 按如下修改 PLC_PRG:

声明


VAR
    xToggle   : BOOL;
    xSwitch   : BOOL;
    udiCnt    : UDINT;
END_VAR

实现

udiCnt := udiCnt + 1;
IF xSwitch Then
    WHILE TRUE DO
        xToggle := NOT xToggle;
    END_WHILE
END_IF

  • 启动项目并将 xSwitch 变量设置为 TRUE。

图2

日志中存在以下条目:

图3

随着多核支持 (V3.5.SP13) 的引入,处理器负载计算为所有 CPU 的平均值。 这也适用于没有多核支持的运行时许可证。

因此,以下情况会导致 8 核处理器出现活动的无限循环的情况:

图4

要触发看门狗,必须在 ini 文件中将限制设置为大约 10%。

[CmpSchedule] ProcessorLoad.Maximum=10