程序扫描看门狗超时错误
小弟近做个项目是有关步进电机的,电机运行的有效行程内有一个光电传感器,我以之为零点,找零的过程是电机快速运行到零点后,由于惯性,电机已经超出了零点的位置,这时候我让电机切换到慢速,以小行程来逼近零点,如一次运行20脉冲,判断是否到零点,如果没到就再运行20脉冲,我将这个功能做成一个子程序 Fzero Fzero 我做的太大,里面有循环判断指令,再循环体中我还有每个循环延时一秒来进行判断的指令; |----|M0.1|--------|Fzero| 程序下载执行,plc报警:【程序扫描看门狗超时错误】 请问是什么问题,如何解决? 答:首先你应该了解PLC的周期扫描的原理:自左向右,自上往下 简单的说,在扫描开始,读取输入输出数字量点状态,以之为基础,按照自左向右,自上往下的扫描顺序来执行指令的,在同一个扫描周期,一种逻辑位如V100.0,只保存在本次扫描周期结束前的后一种状态,V100.0在一次扫描周期中改变不管改变多少次,只有后一次会保持,直至下一个扫描周期开始; 所以你使用一些改变程序的指令,如JMP FOR NEXT,尤其是JMP指令,如果是逆向JMP,很容易出现看门狗错误; 这里给你几个建议: 1.将循环指令分解开,做成顺序执行,(需要增加逻辑判断语句) 2.如果有FOR ----NEXT指令,在循环体中不要用延时指令,而且数据量不要过多; 3.尽量不要修改背景时间,在要求响应速度的系统,这很不明智; 4.对你的寻零方案进行改进; |
PC使用PC ADAPTER USB与PLC连接问题
PC与plc之间使用PC ADAPTER USB(6ES7972-0CB20-0XA0)连接,CPU是315-2DP,在不插入MMC卡时,可以建立连接,但下载硬件时会报SDB过大的错误。但一插入MMC卡,立即就会变成无法连接。使用CPU上的复位键做过复位,但问题不能解决。 答:使用下面的方法试试再下载 1、可以采用压缩功能: 将CPU置于STOP状态,此时: 可以执行菜单PLC/Diagnostic Setting/Module Information(PLC/诊断/设置/模块信息),打开模块信息窗口,选定“Memory”(存储器)选项,可以看到CPU的工作存储器和装载存储器当前使用的情况,装载内存(Load Memory RAM) 是否有足够的空间来存储新的快,你可以点击“Compress”(压缩)按钮,以便释放更多存储空间。 2、按以下步骤删除CPU中的MMC卡上的块: 、将要删除的MMC卡插入到CPU。 、 在SIMATIC管理器中,通过“View > Online”或通过相关按钮切换到在线模式。 、在在线窗口中选择块文件夹。 、标记文件夹中所有的块。 、右击并选择“Delete”(可确认 提示系统函数不能删除的信息)。 3、如果希望删除带密码保护的 MMC,按以下步骤进行。 将 MMC 卡插入到 PG 或者是个人电脑的 SIMATIC USB 读卡器中。 在 SIMATIC 管理器中选择“File”。 选择 “S7 Memory Card” ==> “Delete...” SDB过大的错误。即系统数据过大的错误。首先做的就是清楚PLC内部所有数据。清空数据,就像用一个新的plc一样。然后再把的项目的程序和硬件组态重新下载到PLC当中。 插入MMC卡就连不上? 这个MMC卡不是新的,内部有其它的数据,这样插入PLC当中就会出项这种情况!因为MMC卡内存在着别的程序和硬件组态。 你要做的就是清楚MMC卡之后再插上mmc,把你的整个项目,先把硬件组态编译保存,产生的SDB数据没有错误,把这个硬件组态先下载到你的plc中,然后把程序下载到PLC中。 清楚MMC卡的方法: (1)对新型S7-300(带MMC卡),方法如下: 建立电脑与CPU之间的连接,在SIMATIC管理器中,选择菜单View(查看)/Online(在线),在线打开Blocks(块),选中所以块,右击选择“删除”,即可删除CPU工作存储器中内容,同时也删除了MMC卡中内容;你也可以使用菜单PLC/Download user program to memory card(把用户程序下载到存储卡中),下载一个空的程序到MMC卡中,间接把MMC卡中程序删除;你也可以利用PG 或西门子专用读卡器来删除MMC卡中程序。 (2)对于标准S7-300(使用闪存FEPROM卡),首先在SIMATIC管理器中,选择菜单View(查看)/Online(在线),在线打开Blocks(块),选中所以块,右击选择“删除”,即可删除CPU工作存储器中内容,然后执行菜单PLC/Copy RAM to ROM(复制RAM到ROM),即把在线空的程序下载到FEPROM卡中,把FEPROM卡中程序删除。 |