14. 通过TASK ExceedCounter排查错误

 

场景描述:

在实际的设备开发与调试过程中可能会出现一些“神奇现象”,这种现象无法通过已观察到的信息直接联想到问题出现的原因,此时需要进行系统的“基础参数”(任务周期、任务优先级、内核分配等)的设置检查,其中检查任务的Exceed Counter情况就是非常关键的一环,任务周期设置不合理出现实际所需时间大于任务周期情况,这会导致一些看起来很“神奇”的异常现象。

 

方案介绍:

在TwinCAT 3中,提供了FB_ReadTaskExceedCounter功能块,可以用来读取进行指定任务的ExceedCounter信息,结合ADSLOGDINT函数,可以实现非常好的协助分析效果。

当任务出现周期时间溢出的情况时,会在系统的“事件管理器”中记录相关日志,在事件管理器中查看周期时间溢出日志与异常现象日志是否有时间上的相关性,以此来判定是否为该参数配置不合理导致的异常现象。

 

测试现象:

触发单周期循环50万次时会出现周期溢出情况。

 

附录:

参考链接:https://infosys.beckhoff.com/english.php?content=../content/1033/tcplclib_tc2_system/11267603979.html&id=6554750661018839478

测试样例:下载链接

 

2025.11.26 云龙 供稿