基于codesys的看门狗操作-CODESYS资源下载区-酷德网 - CoDeSys软件教程下载,CoDeSys工控资讯门户 

酷德网

HSC6490-cn中国制造,中国芯~
查看: 862|回复: 0

基于codesys的看门狗操作

[复制链接]
  • TA的每日心情
    开心
    2017-11-20 22:07
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2025-6-20 10:22:42 | 显示全部楼层 |阅读模式
    循环任务
    CODESYS支持多种任务类型,其中最为常见的任务类型是循环任务,循环任务是指任务函数被每隔一段时间调用一次,而且任务应该在任务间隔时间内执行完。
    但是如果任务没有在规定的时间内执行完怎么办呢?
    看门狗
    对于身负打工使命的工控技术来说,永远没有躺平的说法。为了保证任务进度,工控技术“祭出”了看门狗(watchdog)机制的大招。
    任务的看门狗会在当周期任务执行超时时,终止超时的IEC任务执行,并提示“异常”的错误状态。
    1493275-20240413094041111-1806804770.png
    图显示了codesys编程上位机编程软件在任务配置中启用看门狗功能,选择任务类型、任务周期、使能看门狗、看门狗超时和灵敏度。
    当触发看门狗报警时,运行时将输出重置为默认值,并且在上位机编程软件的相关设备界面中提示“IO update while in stop”和“set outputs to default values”。
    灵敏度
    在任务配置中,看门狗的“灵敏度”是一个比较特殊的参数,用于定义监视任务超时的一种容忍程度,有点像足球比赛中的红黄牌,数值表示看门狗会在任务执行超过多少倍时间时才会报警,如下表所示。
    灵明度超过设定时间的倍数
    0,11
    22
    nn

    最终的看门狗触发时间=时间X灵明度,当看门狗时间为100ms,灵敏度为2说明当任务执行超过100*2=200时才会触发看门狗报警,并中止超时的IEC任务。
    看门狗操作
    看门狗既可以在PLC程序组态时进行配置,也可以PLC程序中通过调用API函数进行启停操作,API函数包含在CmpIecTask.library库中,以下步骤采用ST语言:
    • 函数获得当前的IEC任务,并且声明RTS_IEC_HANDLE类型的变量来标识该IEC任务;
    • IecTaskDisableWatchdog/IecTaskEnableWatchdog接口功能实现看门狗的停用和启用。
      hIecTask = RTS_IEC_HANDLE;
      hIecTask = IecTaskGetCurrent(0);
      IecTaskDisableWatchdog(hIecTask);
      ... // Code that is protected against watchdog
      IecTaskEnableWatchdog(hIecTask);

    小结
    为了监督PLC周期任务能在正确的时间内执行完,可以在上位机编程软件的任务配置中使能看门狗,这样可以启动任务超时报警处理,同时看门狗机制是可以在程序中动态修改。

    +10
    不赞一个?
    打赏鼓励一下!
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

    本版积分规则

    
    顶部qrcode底部
    关注酷德网订阅号,获取更多资讯!

    QQ|Archiver|手机版|小黑屋|酷德论坛 ( 苏ICP备16065247号-1 )|网站地图

    GMT+8, 2026-10-30 23:05 , Processed in 0.155753 second(s), 50 queries .

    酷德网

    © 2001-2013 Hicodesys. 技术支持 by 酷德网

    快速回复 返回顶部 返回列表