程序扫描看门狗超时错误

   2024-09-12 建材之家530
核心提示:小弟最近做个项目是有关步进电机的,电机运行的有效行程内有一个光电传感器,我以之为零点,找零的过程是电机快速运行到零点后,由于惯性,电机已经超出了零点的位置,这时候我让电机切换到慢速,以小行程来逼近零点,如一次运行20脉冲,判断是否到零点,如果没到就再运行20脉冲,我将这个功能做成一个子程序 FzeroFzero 我做的太大,里面有循环判断指令,再循环体中我还有每个循环延时一秒来进行判断的指令
小弟最近做个项目是有关步进电机的,电机运行的有效行程内有一个光电传感器,我以之为零点,找零的过程是电机快速运行到零点后,由于惯性,电机已经超出了零点的位置,这时候我让电机切换到慢速,以小行程来逼近零点,如一次运行20脉冲,判断是否到零点,如果没到就再运行20脉冲,我将这个功能做成一个子程序 Fzero
Fzero 我做的太大,里面有循环判断指令,再循环体中我还有每个循环延时一秒来进行判断的指令;

|----|M0.1|--------|Fzero|
程序下载执行,PLC报警:【程序扫描看门狗超时错误】

请问是什么问题,如何解决?
答:首先你应该了解PLC的周期扫描的原理:自左向右,自上往下
简单的说,在扫描开始,读取输入输出数字量点状态,以之为基础,按照自左向右,自上往下的扫描顺序来执行指令的,在同一个扫描周期,一种逻辑位如V100.0,只保存在本次扫描周期结束前的最后一种状态,V100.0在一次扫描周期中改变不管改变多少次,只有最后一次会保持,直至下一个扫描周期开始;

所以你使用一些改变程序的指令,如JMP   FOR  NEXT,尤其是JMP指令,如果是逆向JMP,很容易出现看门狗错误;

这里给你几个建议:

1.将循环指令分解开,做成顺序执行,(需要增加逻辑判断语句)
2.如果有FOR ----NEXT指令,在循环体中不要用延时指令,而且数据量不要过多;
3.尽量不要修改背景时间,在要求响应速度的系统,这很不明智;
4.对你的寻零方案进行改进;

 
举报收藏 0打赏 0评论 0
更多>相关评论
暂时没有评论,来说点什么吧
更多>同类电工资讯
推荐图文
推荐电工资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  版权声明  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  帮助中心  |  网站地图  |  违规举报
粤ICP备14017808号粤公网安备 44030402000745号