技术论坛

应用探讨——西门子S7-300/400模块诊断探讨——发帖整理

作者 主题
总坛主
西门子官方工程师

经验值: 23712
发帖数: 3792
精华帖: 8
主题:应用探讨——西门子S7-300/400模块诊断探讨——发帖整理


只看楼主 楼主 2013-06-06 10:08:38
工业现场环境复杂,会有各种意想不到的情况发生,进而对自动化控制系统产生影响。有时这种影响会耽误生产,因此快速的诊断模块故障是解决此类问题的关键所在。诊断方式是多种多样,比如:
1.观察各模块SF灯状态,接口模块的BF灯是否闪烁或者常亮。
2.具有诊断能力的模块使用组织块来读取模块诊断信息。
3.通过STEP7在线的方式读取模块信息。
4.RSE功能。
5.系统功能块(如SFC13)来读取诊断信息。
以上诊断方式都用过哪些呢?有何优缺点?是否有过模块故障却又不知如何下手的经历?

首先感谢各位工程师将现场经验与诊断方法的无私分享,相信大家对于诊断方法的多样性有了更深的认识。有的网友将工程截图一并附上,有的将程序附上供大家探讨,这对于理解诊断方法方式都有很大帮助。通过本次讨论,可以看到很多工程师对于诊断中断组织块OB82、机架故障组织块OB86等有一定的认识。但是很多工程师并没有更深一步的使用组织块提供给大家的信息,也很少使用系统功能或功能块来读取详细的诊断信息。另外RSE功能也是西门子提供给大家的很有效的诊断方法。希望大家借助本次交流,提升自身水平,在实际工程应用中能够正确使用诊断功能,在第一时间找到问题,这也正是本次交流的意义所在。

查看原帖请点击这里
 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?b_id=4&a_id=1075356&s_id=23&pno=1

总坛主
西门子官方工程师

经验值: 23712
发帖数: 3792
精华帖: 8
回复:应用探讨——西门子S7-300/400模块诊断探讨——发帖整理


只看楼主 楼主 1楼 2013-06-06 10:21:24
quote:以下是引用Automann在2013-05-09 08:11:33的发言:
quote:以下是引用lghhaha在2013-05-08 17:23:57的发言:
SF一般就是内部故障,找软件的问题
BF一般是网络硬件故障,就是线没接好

请看《CPU 31xC 和 CPU 31x安装操作说明 》10.8节(使用状态和出错 LED 进行诊断),其中有 CPU 所有状态和错误显示灯的组合意义,和 SF、BF灯的详细说明。
SF(系统故障)灯亮可能是软件(用户程序)错误和硬件故障。这本手册用表格方式给出了可能出现的问题 、CPU 的响应和可能的解决方法。可能的错误和故障非常多,一共有4页表格。
可以在现场用电子文档查阅读可能的故障和解决的方法。
实际上SF灯只能告诉你有、无故障,具体的故障只能去猜想。要想知道准确的故障原因和位置,还需要采用别的诊断方法。如果有STEP7的项目文件,可以用STEP7来获取具体的故障信息,例如诊断缓冲区中的信息。

 
以下网友喜欢您的帖子:

  
总坛主
西门子官方工程师

经验值: 23712
发帖数: 3792
精华帖: 8
回复:应用探讨——西门子S7-300/400模块诊断探讨——发帖整理


只看楼主 楼主 2楼 2013-06-06 10:22:15
quote:以下是引用中高在2013-05-10 08:52:00的发言:
现场实际处理通讯故障方面的问题时经常通过STEP7在线的方式读取模块信息,这样可以一目了然的知道哪个站存在故障,然后进行处理,当然还有直观上的判断,比如通过各模块上的指示灯的状态进行判断等
公司有一台国外原装设备,CPU-412-2DP,带有5个ET200M及8台西门子6ES70逆变器,经常出现逆变器报故障F082(通讯故障)并且经常损坏逆变器控制板(CUVC板),进行故障判断时采用STEP7在线的方式读取模块信息,就能够非常直接的看到是那个从站出现问题,后来通过更换全部Profibus-DP电缆,严格根据要求做好接地系统,完毕后设备运行稳定

 
以下网友喜欢您的帖子:

  
总坛主
西门子官方工程师

经验值: 23712
发帖数: 3792
精华帖: 8
回复:应用探讨——西门子S7-300/400模块诊断探讨——发帖整理


只看楼主 楼主 3楼 2013-06-06 10:22:39
quote:以下是引用划痕在2013-05-10 21:35:30的发言:
quote:以下是引用物流仓储在2013-05-10 14:02:30的发言:
最近刚做了一个项目,通过profinet组态391和ET200M的通讯,调用OB86做掉站处理。但是遇到几个问题,请大家帮忙解答:1、网络拓扑结构为所有站点和cpu连接到216交换机上,如果交换机掉站,那是不是说整个网络都瘫痪掉?能不能做到对每个交换机端口的诊断,而不是整个设备的诊断。如何做?2、网线断了和掉站产生的后果是不是一样的?3、在319和每个分站下边都连接一个西门子T900的屏,触摸屏和各分站之间的连接是不是profinet网络?

1、交换机坏掉,整个网络就瘫痪掉;
2、网线断了就会掉站,后果可想而知;
3、触摸屏可以使用Profinet连接到S7-319的PN网络中,也可以使用其它通讯方式的。

 
以下网友喜欢您的帖子:

  
总坛主
西门子官方工程师

经验值: 23712
发帖数: 3792
精华帖: 8
回复:应用探讨——西门子S7-300/400模块诊断探讨——发帖整理


只看楼主 楼主 4楼 2013-06-06 10:23:07
quote:以下是引用凌波微步在2013-05-13 09:28:36的发言:
quote:以下是引用麻省理工在2013-05-08 16:13:48的发言:
S7-300 Alighment error
Alignment error when writing
Event 1 of 10: Event ID 16# 2529
Alignment error when writing
P area, double-word access, Incorrect address: 0
Requested OB: Programming error OB (OB121)
Priority class: 1
Internal error, Incoming event
08:27:08.621 AM 04/28/2013
(Coding: 16# 2529 0179 0030 0000 0000 0000)

Check help:
Cause:
A bit address (bits 0 to 2) was specified for byte, word, or double word access.

To correct or avoid errors:
Make sure that the bit address contains access address 0.

CPU的SF灯闪烁,怎样才能让红灯不闪啊?

就着这位朋友的问题,我来讲讲我是如何来通过诊断信息判断故障的原因:
1.首先必须能够将这些英文看懂,也就是先翻译成中文;
2.其次对于每句话要能够明白其提示的意义;
3.根据其提示的意义结合HELP去判断问题点或故障点;
4.找出真正的原因并解决它。
如:
S7-300 Alighment error------S7-300 排序错误(你应该知道大概的问题出在软件上,而非硬件错误);
Alignment error when writing------当执行写操作时出现排序错误
Event 1 of 10: Event ID 16# 2529----第1个事件(共10个事件),事件ID 16进制的2529(这个是告知诊断信息中事件的基本信息)
Alignment error when writing ----当执行写操作时出现排序错误
P area, double-word access, Incorrect address: 0 ----P区域(我理解是过程映像区),双字读取,错误地址:0
Requested OB: Programming error OB (OB121) -----需要的OB:程序错误OB(OB121),如果没有这个OB,CPU会停机;
Priority class: 1 -----优先级:1
Internal error, Incoming event -----内部错误,错误存在(说明错误是一直存在的)
08:27:08.621 AM 04/28/2013 ------错误发生的时间 (用于判断错误发生的时间,从而判断是否和生产受到影响的原因有关联)
(Coding: 16# 2529 0179 0030 0000 0000 0000) -----错误代码(很少用到)

Check help:(检查帮助)
Cause: (原因)
A bit address (bits 0 to 2) was specified for byte, word, or double word access.(bit0~2地址已经定义成字节,字或双字)

To correct or avoid errors: (解决或规避错误:)
Make sure that the bit address contains access address 0.(确定BIT地址包含地址0)
--------------综上所诉,我们知道这是一个因地址定义错误而产生的程序读取地址时出现地址冲突的问题。问题的具体原因在BIT0~2被定义成了字节,字或者双字类型,而程序中的使用此地址排序有冲突。
--------------虽然首次分析未必会很准确到位,但至少我们得到了问题(CPU的SF灯闪烁)出现的原因是跟BIT0~2有关系;那么我们就可以通过交叉参考把与BIT0~2有关的程序段都找出来,然后分析,是哪段程序出了问题,然后修改并测试,最终找到问题的根本原因。

虽然我们仅是种简单的翻译,但很多的人并没有习惯去仔细查看或分析诊断信息,包括其他的系统的提示信息也是一样。我个人认为,经验来源于实践,而实践的最好帮手就是这些诊断信息和提示信息,它能帮助你分析问题的根本原因,从而有效的发现问题并提供解决的方案。

 
以下网友喜欢您的帖子:

  
总坛主
西门子官方工程师

经验值: 23712
发帖数: 3792
精华帖: 8
回复:应用探讨——西门子S7-300/400模块诊断探讨——发帖整理


只看楼主 楼主 5楼 2013-06-06 10:23:36
quote:以下是引用氢气在2013-06-04 17:15:08的发言:
quote:以下是引用陶冶在2013-05-24 21:57:09的发言:
quote:以下是引用Automann在2013-05-10 07:30:39的发言:
quote:以下是引用菲戈在2013-05-09 14:24:28的发言:
大家都知道一旦PLC出错后会调用相应的OB块,如果OB块不存在就会引发PLC停止
但是PLC停止有利有弊,所有我会根据自己的需要建立OB块。举个例子:
OB121<=>编程错误,我一般不建立因为一旦建立过后自己程序中的一些错误就会被忽略。反正编程错误肯定是在编程的过程中,我可以用S7在线诊断查找我的错误所在。
OB86<=>机架/DP错误,这属于硬件错误,一般会出现在最终使用过程中。所以我一定会建立,并且做处理。否则设置在运行过程中PLC停止的话可能会造成很大的损失。
灵活利用OB块可以很好的方便编程者和用户诊断PLC的故障

万一从站、机架故障不是很快自动恢复,而是长期实实在在的故障,继续运行可能导致严重问题,下载空的OB86是很危险的。可在OB86中编程来处理不同的故障,判断故障的性质(持续的时间),来决定是忽略故障还是应该停机。


您好,我看了下,我们单位用的ob86块里边是空的,是不是也应该填写相应的程序?我也注意到别的系统块里边都没有程序,是不是也应该填写上相应的程序,谢谢!!

如果出现机架/DP错误,空的OB86仅能起到不停机作用,如果想知道相信诊断信息,就需要编写程序。推荐在OB86里面编写程序,比如使用SFB54(同步块)接受报警信息,当然也可以使用SFC51(异步块)在OB1里做诊断。

 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
应用探讨——西门子S7-300/400模块诊断探讨——发帖整理
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。