PLC问答
> 台达PLC报错PROG-E是什么原因?
台达PLC报错PROG-E是什么原因?
PROG-E这个代码什么意思?台达PLC需要怎么处理?
4 个回答
PROG-E是程序错误,台达EH/EH3系列里最常见的触发原因是程序语法或者地址越界。我上周在包装线上碰到一台EH3-40T,报PROG-E,WDT灯闪,连上WPLSoft一看提示『指令运算错误』,实际是程序里用了D1000以上的掉电保持区,但D寄存器范围没设对。台达的PROG-E要区分是语法错还是运行中运算错,语法错上电就报,运算错是跑到某一步才报。先备份程序,再用WPLSoft的『程序检查』功能扫一遍,比对着手册的指令表看,一般能定位到具体步号。
补充一点,PROG-E有时候是程序里用了不支持的指令,比如在EH2上用EH3才有的指令,或者固件版本低。我手上一台SS2就因为这个报过,换了个指令写法就好了。
从手册定义看,PROG-E对应的是程序区校验异常,具体分几类:一是程序超出容量,比如EH3标称16K步,实际写了16K+就报;二是语法结构错,比如FOR/NEXT不配对、CALL没对应子程序;三是掉电保持区D区设置和程序冲突。我处理过一台DVP-ES2,程序里MOVP K100000 D0,数值超了16位寄存器的范围,编译不报,运行到那步直接PROG-E。建议把WPLSoft里的『PLC→程序检查』和『设置→寄存器范围』两个对一遍,很多问题是编译能过但运行报错。
现场碰到先别急着改程序,看两件事:PROG-E是上电就报还是运行中报。上电就报多半是程序存储区丢了或者电池电压低导致程序损坏,量下PLC电池电压,低于2.8V左右就该换。运行中报就看是不是某个动作执行到才触发,那基本是程序逻辑或者寄存器越界。我上次一台台达就是电池没电,断电再上电程序直接乱,报PROG-E,换了电池重新下载程序才正常。