为什么会出现“I/O访问错误”和“区域长度错误”? 点击:1860 | 回复:8



ye_w

    
  • 精华:21帖
  • 求助:1帖
  • 帖子:69帖 | 5217回
  • 年度积分:0
  • 历史总积分:46739
  • 注册:2002年4月17日
发表于:2011-10-14 09:30:39
楼主

在西门子S7-300/400的编程中,经常会出现“I/O访问错误”和“区域长度错误”。这个资料来源于西门子官方网站,我稍微整理后发过来。

 

描叙:

      S7-300/400 CPU在下载用户程序后,会出现CPU处于停止状态,stop和sf指示灯亮的现象。在线查看CPU的诊断缓冲区,会出现两种现象:
      1、第一条显示由IO访问错误引起的停止模式,第二条显示I/O访问错误(见图1)。

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

 

 

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

图2中的第二条诊断信息显示的含义是:
Area length error when reading——说明读取一个地址是发生长度错误。
Gloable 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错误的语句也可以通过此方式查找。

 

 

 




彩云之滇东北

  • 精华:20帖
  • 求助:5帖
  • 帖子:107帖 | 2725回
  • 年度积分:0
  • 历史总积分:21121
  • 注册:2005年6月14日
发表于:2011-10-15 21:30:08
1楼
说的好,顶一个         

云锋

  • 精华:1帖
  • 求助:4帖
  • 帖子:252帖 | 5541回
  • 年度积分:0
  • 历史总积分:30376
  • 注册:2005年6月24日
发表于:2011-10-18 22:48:27
2楼
好东西。顶起。  

灯炮电工

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 34回
  • 年度积分:0
  • 历史总积分:100
  • 注册:2008年3月19日
发表于:2011-10-21 11:02:10
3楼
谢谢!好东西。。。。。。。。。

dahutu007

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 46回
  • 年度积分:0
  • 历史总积分:408
  • 注册:2009年9月25日
发表于:2012-01-05 08:07:45
4楼

恩,好东西啊!讲的挺好的啊!

kongzhaoxi

  • 精华:1帖
  • 求助:0帖
  • 帖子:2帖 | 1回
  • 年度积分:0
  • 历史总积分:27
  • 注册:2010年10月11日
发表于:2012-02-15 15:46:58
5楼
好东西,靠这个帖子我解决了一个问题,顶起!!

gengzheng0073

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 23回
  • 年度积分:0
  • 历史总积分:214
  • 注册:2008年9月28日
发表于:2012-02-22 10:38:51
6楼
好东西哇 ,多发点类似的东西 ,缓冲区诊断的时候确实不好找问题

xuleiyayaya

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 14回
  • 年度积分:0
  • 历史总积分:113
  • 注册:2009年8月01日
发表于:2012-03-06 16:10:13
7楼

在我的软件里没有 OPen block 怎么办呢?

snow1987

  • 精华:0帖
  • 求助:30帖
  • 帖子:57帖 | 670回
  • 年度积分:0
  • 历史总积分:4548
  • 注册:2011年3月23日
发表于:2012-03-13 08:20:24
8楼
感谢楼主,感谢CCTV 

热门招聘
相关主题

官方公众号

智造工程师