程序无法下载诊断

当编程器与PLC之间的连接已经建立,下载程序时,常会出现某些块无法下载的情况。

不能建立编程器与PLC之间的连接,参考如下链接:编程连接故障诊断

通常会报出错误代码:0294x

常见原因如下:

1.使用的地址超出系统支持范围   M T C I/O L

2.程序中使用的指令,CPU不支持,例如ENT

3.块的大小过大,超过64K

4.某些块,OB FB SFB不被CPU支持

5.块的编号不在合理范围内

6.CPU处于一些特殊状态 ,如断点调试

7.CPU 存储空间不足

8.SFC109写保护

9. L 区以及使用加密工具加密块

1.    使用的地址超出系统支持范围 M T C I/O L

如下所示OB1下载时报294:6错误

查看帮助

非法地址,非法指令,过多的传递参数以及块号非法 ,都将导致33:53888错误。

本例子的CPU6ES7 315-2EH14-0AB0,查看CPU技术规范,可见M区最大数目为2048字节,则其地址最多到M2047.7OB1中的地址2048.0超出地址范围。

2.    程序中使用的指令,CPU不支持,例如ENT

程序中使用了非法指令,也会导致294:6错误,如下图

ENT指令将累加器  3  的内容复制到累加器  4,累加器  2  的内容复制到累加器  3,但是CPU 315只有两个累加器,所以该指令非法。

3.    块的大小过大,超过64K

当程序块过大时,报如下错误

当程序块过大时,超过64K,保存或者不保存直接下载,都会出现上述错误

 

4.    某些块,OB FB SFB不被CPU支持     

如下图所以,OB90下载时抱错,因为该CPU不支持OB90。可在硬件组态,CPU属性里面查看CPU支持的OB块。                                             

5.    块的编号不在合理范围内

如下图所示,下载FB10000CPU315下载失败。CPU支持的最大块号范围,可在CPU技术规范中查看。

6.    CPU处于一些特殊状态 ,如断点调试

CPU处于断点调试状态时,下载该程序块,软件会提示该程序块正在被其他应用使用,是否继续下载?

如果点击确定继续下载,则会提示正处于断点调试状态,块不能写入,是否执行下载?

点击确定后,报错如下。块不能被下载。

7.    CPU 存储空间不足

如下所示,CPUMMC卡大小为128K,下载的程序大小超过128K,报错如下

 

可以在线查看CPU存储器的使用情况

不管是不是已经下载过的块,再次下载时,系统会根据要下载的块的大小计算所需空间。 所以有时空间不够,在线删除后,再下载即可。建议装载存储器使用空间占总容量50%以下。

8.    SFC109写保护

SFC109可以设置CPU在运行时不受访问,以保护CPU内部程序的运行。只允许CPU停机的时候进行程序下载。CPU运行时下载,将报错如下

9.    L 区以及使用加密工具加密块

L区使用超出范围,或者下载使用块保护工具加密的块 ,到不支持该功能的CPU将会导致以下错误。

L区的大小限制可在CPU技术规范中查看,例如CPU315

 

块保护工具,是Step7 V5.5以上,软件安装光盘,CD2上带的软件包。

V5.5 以上使用加密工具加密,对CPU版本有要求,不能低于以下CPU版本:

400CPU     V6.0

300CPU     V3.2