西门子s7 200plc程序无法下载

2024-12-03 11:13:33
推荐回答(3个)
回答1:

PLC编译和运行时间错误

错误总结

编译和运行时间错误属于非严重错误。非严重错误可能降低PLC的某些性能,但不会阻止PLC执行用户程序或更新I/O。

?运行时间错误是在RUN(运行)模式中检测到的非严重错误,在程序可监控和评估的特别内存(SM)位中反应。(欲了解有关这些SM位的详情,请参考PLC非严重错误内存位置。)启动时,PLC读取I/O配置,并将该信息存储在SM内存中。在正常操作过程中,会定期更新I/O状态并将其存储在SM内存中。如果PLC检测到I/O配置的区别,则会设置模块错误字节的配置改变位;直至配置改变位被重设I/O模块才会更新。PLC欲重设配置改变位,模块I/O必须再次与存储在系统数据内存中的I/O配置相匹配。

?运行时间编程错误是在执行程序的过程中,您或程序造成的非严重错误条件。例如,一个编译程序时有效的间接地址指针被程序执行修改为指向超出范围的地址。使用PLC > 信息命令确定出现的错误类型。

?只有通过修改用户程序才能纠正运行时间编程错误。运行时间编程错误在下一次从STOP(停止)模式转换为RUN(运行)模式时会被清除。

?在PLC编译程序时在下载中检测到编译错误(或程序编译错误)。如果存在编译错误,编译会暂停,并检索先前的程序(该程序自从先前编译以来为有效程序)。所有这些步骤均在PLC位于STOP(停止)模式时进行。可使用PLC > 信息吤钕允颈嘁氪砦蟆?

十六进制错误代码 编译错误(非严重)
0080 程序过大,CPU无法生成可执行代码;请缩小程序大小
0081 堆栈下溢;将网络分成多个网络
0082 非法指令;检查指令助记符
0083 缺少MEND,或主程序中不允许存在指令;增加MEND指令或移除不正确的指令
0084 保留
0085 缺少FOR;增加FOR指令或删除NEXT指令
0086 缺少NEXT;增加NEXT指令或删除FOR指令
0087 缺少标签(LBL、INT、子程序);增加适当的标签
0088 缺少RET或子程序中不允许存在指令;在子程序结尾处增加RET或移除不正确的指令
0089 缺少RETI或中断例行程序中不允许存在指令;在中断例行程序结尾处增加RETI或移除不正确的指令
008A 保留
008B 至SCR段非法JMP或从SCR段非法JMP
008C 重复标签(LBL、INT、SBR);为其中一个标签重新命名
008D 非法标签(LBL、INT、SBR);核实未超出允许使用的标签数
0090 非法参数;核实指令允许使用的参数
0091 范围错误(包括地址信息);检查操作数范围
0092 指令计数域存在错误(包括计数信息);核实最大计数
0093 超过 FOR/NEXT嵌套层数
0095 缺少LSCR指令(载入SCR)
0096 缺少SCRE指令(SCR结束)或在SCRE前出现不允许使用的指令
0097 用户程序包含不带号码及带号码的EU/ED指令
0098 尝试在配备不带号码EU/ED指令的程序中执行运行时间编辑
0099 过多隐含程序段
009B 非法索引(字符串操作,已指定该操作中的一个起始位置数值0)
009C 超出最大指令长度
009D SDB0内检测到非法参数

十六进制错误代码 运行时间编程故障(非严重)
0000 无错误
0001 在执行HDEF方框之前启用HSC方框
0002 输入中断分配冲突,分配至已经分配给HSC的点
0003 输入分配冲突,分配至已经分配给输入中断或其他HSC的HSC
0004 尝试在中断例行程序中执行 ENI、DISI或HDEF指令
0005 尝试在完成第一个HSC/PLS之前执行第二个带有相同号码的HSC/PLS,与主程序中的HSC/PLS发生中断例行程序冲突
0006 间接编址错误
0007 TODW(日写入时间)或TODR(日读取时间)数据错误
0008 超出最大用户子程序嵌套层数
0009 在端口0中同时执行XMT/RCV指令
000A 尝试通过执行另一条用于相同HSC的HDEF指令重新定义HSC
000B 在端口1中同时执行XMT/RCV指令
000C 时钟盒不存在
000D 尝试重新定义现用脉冲输出
000E PTO概况段号被设为0
000F * 在比较触点指令中遇到非法数字数值
0010 当前PTO操作模式不允许的命令
0011 非法PTO命令代码
0012 非法PTO轮廓表
0013 非法PID回路表
0091 范围错误(包括地址信息);检查操作数范围
0092 指令计数域错误(包括计数信息);核实最大计数
0094 用地址信息向非易失性内存写入范围错误
009A 在用户中断中尝试转入自由端口模式
009B 非法索引(字符串操作,已指定该操作中的一个起始位置数值0)
*比较触点错误是唯一生成严重和非严重条件的错误。
生成非严重错误条件的原因是保存错误的程序地址。

另请参阅:
PLC非严重错误内存位置

回答2:

可以肯定是因为编程错误
我遇到过
你的指令助记符错误
你是用的STL语言?

告诉你一个最简单的解决方法
你可以采用排除法很快就能找到错误的位置

就是留着第一个网络,剪切掉后面所有的
编译一下
然后再编译两个
三个、四个、五个
就知道错误产生在哪里了
如果找不到 可以发给我,我给检查

还有一个情况就是你用的英文版没有改过来下载的时候也会出现这个错误
option》》》general》》》chinese就可以了
24863056@QQ.COM

回答3:

一般是定时器号指定超出范围,或者是少了SCRE什么的,很简单,在软件的菜单栏,找到,点击下面的<信息>,就会显示PLC有些什么非致命错误.会告诉你在哪个子程序,哪个网络.
如果这都还看不到的话那就没办法了.