为什么会出现“I/O访问错误”和“区域长度错误”

   2024-09-19 建材之家820
核心提示:S7-300/400 CPU在下载用户程序后,会出现CPU处于停止状态,stop和sf指示灯亮的现象。在线查看CPU的诊断缓冲区,会出现两种现象: 1、第一条显示由IO访问错误引起的停止模式,第二条显示I/O访问错误(见图1)。 图1 IO访问错误 图1中的第二条诊断信息显示的含义是:I/O access error,writing——说明对一个输出地址进行写数据操作时发生错误。P a
S7-300/400 CPU在下载用户程序后,会出现CPU处于停止状态,stop和sf指示灯亮的现象。在线查看CPU的诊断缓冲区,会出现两种现象:

1、第一条显示由IO访问错误引起的停止模式,第二条显示I/O访问错误(见图1)。


图1 IO访问错误

图1中的第二条诊断信息显示的含义是:
I/O access error,writing——说明对一个输出地址进行写数据操作时发生错误。
P area,word access,Access address:200——说明是使用立即访问方式,字地址200。这两条合起来就说明对PQW200进行写操作时发生了错误。出现这样的错误多是程序中对PQW200这个地址进行了赋值,而实际的硬件配置中并没有分配PQW200这个地址。

2、或者是第一条显示由编程错误引起的停止模式,第二条显示区域长度错误(见图2)。


图2 区域长度错误

图2中的第二条诊断信息显示的含义是:
Area length error when reading——说明读取一个地址时发生长度错误。
Global DB,word access,Access address:2——说明是访问DB块中字地址2。这两条合起来就说明对全局DB块中DBW2进行读取时发生了错误。这样的错误多是由于程序中使用了DB块中的某个数据,但是DB块实际长度并没有包含所使用的地址造成的。


解决办法
出现上面两种编程使用错误地址导致CPU停机的情况时,除了可以根据诊断信息分析出错误地址然后使用交叉索引找到相应的语句外,还有一个更加简便的办法。打开CPU诊断缓冲区,鼠标点中第一条诊断信息,接着再点击下面的“Open Block”按钮,会直接打开相应的错误语句。下面举例说明。图3中的诊断信息显示编程错误导致的停止,错误的原因是区域长度错误。点中“Open Block”按钮,自动定位到程序中的错误语句(图4),里面使用到地址DB1.DBW2。打开DB1发现实际长度只有2个字节(图5),不存在DBW2这个地址,所以才产生错误。造成IO访问错误的语句也可以通过此方法查找。


图3 Open Block


图4 错误语句


图5 DB1实际长度

 
【温馨提示】本文内容和观点为作者所有,本站只提供信息存储空间服务,如有涉嫌抄袭/侵权/违规内容请联系QQ:727533600 删除!
 
举报收藏 0打赏 0评论 0

上一篇:如何查找PLC数字量信号的故障

1、检查PLC供电电源、控制电源。2、根据故障现象和中控室提供的故障信息综合分析,重点检查该设备启停条件和软、硬连锁条件是否已经此伏具备。3、检查PLC控制柜内元件的触点、接点等接触是否完好,逻辑控制回路是否完好,接线有无松动。4、控制站内的I/O端子线有无松动,控制信号能否发出,信号保险有无熔断。5、对压...

下一篇:STEP7中功能块的属性说明

STEP7 中的OB,FC,FB,DB 都可以设置一些特殊属性,本文介绍这些属性的含义及设置方法。选中OB,FC,FB,DB,在右键菜单中找到“Object Property”,打开如下属性页。 图 1 FC 的属性页 DB is write-protected in the PLC:DB 块特有的属性,勾选后DB块写保护。程序执行时只能读取DB中的内容,不能修改其中的内容。尝试向...
 
更多>同类电工资讯
推荐图文
推荐电工资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  版权声明  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报