- {{item.name}}
为什么会出现“I/O访问错误”和“区域长度错误”
- 0
- 7187
- 4625
描述
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实际长度
关键词
I/O访问错误、区域长度错误
剩余80%未阅读,请登录后下载/查看文档
- 评论
-
分享
扫码分享
- 收藏 收藏
- 点赞 点赞
- 纠错 纠错
- 通过 TIA WinCC V16 向 HMI 面板中传送配置时,为什么会出现 “目标设备匹配失败” 错误?
- 在 STEP 7 (TIA 博途) 中,如何格式化 MMC 或 MC 卡并且为什么会出现 SDB 7 没有装载的提示信息?
- 当启动 WinCC OPC UA 配置器时,为什么会显示一个错误信息?
- 在安装外夹式流量计时,什么情况下会出现 Low Signal(低信号)或Detection Fault(检查错误)报警?分别代表什么意思?
- 使用 SIMATIC WinCC V14版本软件下载程序到 Basic 系列触摸屏时,会出现错误提示?
- 当复制一个项目的时候,为什么会有题为“Microsoft SQL Server Login”的消息,表明“访问选定的数据库被拒”?
- 为什么调用FC6 "AG_RECV"时会出现状态字"80B1"
- WinCC 用户归档编辑器的菜单为什么会变灰以及为什么不能编辑?
- 在 Windows 7 企业版 64位系统中安装 S7 Distributed Safety V5.4 时为什么会被中止?
- 使用S7-1200时,为什么会有消息提示信号板由于不正确的类型而不可用?
{{item.nickName}}