故事作者:拾起

最近创作

看看TA的故事

关于第一次遇到OB121编程错误的处理

已锁定

拾起

  • 帖子

    332
  • 精华

    6
  • 被关注

    52

论坛等级:奇侠

注册时间:2010-08-24

普通 普通 如何晋级?

关于第一次遇到OB121编程错误的处理

11395

25

2016-11-15 10:12:35

star star star star star

关于第一次遇到OB121编程错误的处理

昨天到一个项目地调试的时候,突然发现S7-300PLC报SF故障,于是联机发现报OB121编程故障,如下图:

个人感觉很奇怪,因为之前一直运行OK,难道是问题一直有,没人发现?


手机上网查询找答案的相关问题后,联机PLC在线删除了OB121,触发PLC停机,然后找到了故障点,修改地址后重新下载,启动PLC后正常。

事故处理后细想,其实距离不让PLC停机就找到故障点只差最后一步了。因为本人通过事件的触发时间,几乎间隔100ms触发一次,初步判断应该在OB35,因为是背景DB,也在调用FB块的地方查看有没有什么1576出现过,无奈眼拙没找到。其实只要通过编辑里的查找替换,输入1576,就可以迅速定位到错误地址。


分析报警信息,其实已经说的很明白,只是以前没经历过,不能理解。

读取时发生区域长度错误:读取操作,指令的左边。

背景DB,双字访问,访问地址:1576:调用FB时背景数据赋值错误,错误地址是DBD1576。

为了验证以下的想法,通过仿真做了一下试验:

1、  能否通过交叉参考定位到错误点。

2、  能否在PLC不停机的情况下让PLC正常。

3、  如果OB121发生在OB1里,PLC的工作情况怎样?

等等

结果如下:

1、仿真时发现,报警信息可以通过“打开块”直接进入故障点,而PLC的“打开块”是灰色的。

2、仿真时的CPU显示正常,实际PLC显示出错。

3、交叉参考不能定位DBD1576。

4、通过交叉参考查找程序结构,看哪些块调用FB,可在响应的程序块中查找定位。


有点搞笑,验证到最后,最简单的不让PLC停机,直接查找到故障点,就是通过仿真,修改问题程序后直接下载到PLC中。

需要说明,仿真的时候没办法下载程序。

好吧,我再一次验证了仿真的重要性~


关于第一次遇到OB121编程错误的处理 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

网友专栏

共有3374条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。