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

2020-12-02

S7-300/400 CPU在下载用户程序后,会出现CPU处于停止状态,stop和sf指示灯亮的现象。在线查看CPU的诊断缓冲区,会出现两种现象:

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

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


图1 IO访问错误

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

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

为什么会出现“I/O访问错误”和“区域长度错误”图片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访问错误的语句也可以通过此方法查找。

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

图3 Open Block

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


图4 错误语句

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


图5 DB1实际长度

上一篇

下一篇

首页    西门子PLC    常见问题    为什么会出现“I/O访问错误”和“区域长度错误”

坤玛机电,工业自动化产品一站式采购

搜索“坤玛易采”小程序

 

 

成为坤玛产品经纪人,促成交易赚佣金!

 

 

以坤玛机电为平台,利用自身的资源与优势,销售机电产品赚取佣金。

 

合作咨询电话:15901651735

 

立即咨询

坤玛机电  PLC控制柜生产厂家

 

专业设计制作电气控制柜

 

低压成套配电设备及自动化系统集成

  • 回到顶部
  • 88888888
  • QQ客服
  • 扫码添加微信

关于新广告法声明:

新广告法规定所有页面不得出现绝对化用词和功能性用语。本公司支持新广告法的实施,特此声明:本网站所有页面上功能性用词和绝对化用词全部失效不作为任何赔付理由,以往产品介绍页不明显区域我们会逐步排查完善修改,不接受并且不妥协以任何形式的打假名义进行的网络欺诈。

也请职业打假人高抬贵手。产品实际特性以说明书为准,请知悉!