当编程器与PLC之间的连接已经建立,下载程序时,常会出现某些块无法下载的情况。
不能建立编程器与PLC之间的连接,参考如下链接:编程连接故障诊断
通常会报出错误代码:0294:x
常见原因如下:
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 区以及使用加密工具加密块
如下所示OB1下载时报294:6错误
查看帮助
非法地址,非法指令,过多的传递参数以及块号非法 ,都将导致33:53888错误。
本例子的CPU为6ES7 315-2EH14-0AB0,查看CPU技术规范,可见M区最大数目为2048字节,则其地址最多到M2047.7。OB1中的地址2048.0超出地址范围。
程序中使用了非法指令,也会导致294:6错误,如下图
ENT指令将累加器 3 的内容复制到累加器 4,累加器 2 的内容复制到累加器 3,但是CPU 315只有两个累加器,所以该指令非法。
当程序块过大时,报如下错误
当程序块过大时,超过64K,保存或者不保存直接下载,都会出现上述错误
如下图所以,OB90下载时抱错,因为该CPU不支持OB90。可在硬件组态,CPU属性里面查看CPU支持的OB块。
如下图所示,下载FB10000到CPU315下载失败。CPU支持的最大块号范围,可在CPU技术规范中查看。
当CPU处于断点调试状态时,下载该程序块,软件会提示该程序块正在被其他应用使用,是否继续下载?
如果点击确定继续下载,则会提示正处于断点调试状态,块不能写入,是否执行下载?
点击确定后,报错如下。块不能被下载。
如下所示,CPU的MMC卡大小为128K,下载的程序大小超过128K,报错如下
可以在线查看CPU存储器的使用情况
不管是不是已经下载过的块,再次下载时,系统会根据要下载的块的大小计算所需空间。 所以有时空间不够,在线删除后,再下载即可。建议装载存储器使用空间占总容量50%以下。
SFC109可以设置CPU在运行时不受访问,以保护CPU内部程序的运行。只允许CPU停机的时候进行程序下载。CPU运行时下载,将报错如下
L区使用超出范围,或者下载使用块保护工具加密的块 ,到不支持该功能的CPU将会导致以下错误。
L区的大小限制可在CPU技术规范中查看,例如CPU315
块保护工具,是Step7 V5.5以上,软件安装光盘,CD2上带的软件包。
V5.5 以上使用加密工具加密,对CPU版本有要求,不能低于以下CPU版本:
400CPU V6.0
300CPU V3.2