程序扫描看门狗超时错误

   2024-09-12 建材之家460
核心提示:小弟最近做个项目是有关步进电机的,电机运行的有效行程内有一个光电传感器,我以之为零点,找零的过程是电机快速运行到零点后,由于惯性,电机已经超出了零点的位置,这时候我让电机切换到慢速,以小行程来逼近零点,如一次运行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.对你的寻零方案进行改进;

 
【温馨提示】本文内容和观点为作者所有,本站只提供信息存储空间服务,如有涉嫌抄袭/侵权/违规内容请联系QQ:727533600 删除!
 
举报收藏 0打赏 0评论 0

上一篇:西门子S7-PLCSIM仿真软件仿真的结果的保存

S7-PLCSIM仿真完成后,在关闭S7-PLCSIM软件时,将出现图1所示的提示信息,询问是否需要将现有的仿真配置保存到名为*.lay的配置文件中。 如果需要,可以通过点击“Yes”键确认,S7-PLCSIM将把本次仿真的结果保存到ProgramFileSIEMENSPlcsimS7WSIARCHIV文件夹中。保存的*.lay文档为仿真时各种仿真对象的硬件配置、模块...

下一篇:西门子S7-200PLC的系统标志寄存器

在S7-200 PLC中,指令的执行状态存储于系统标志寄存器SM中。系统标志寄存器SM可以以二进制位触点的形式在梯形图程序中使用,但不能对其进行赋值操作。 S7-200 PLC常用的系统标志寄存器如下: SMO.O:恒“1”信号: SMO.1:第1扫描周期标记,只在PLC的第一扫描周期中为“l”; SM0.4:周期为Imin的脉冲信号: ...
 
更多>同类电工资讯
推荐图文
推荐电工资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  版权声明  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报