1.应用的基本信息
1.1基本应用信息描述
这次故障源自我承担的一项公司设备改造项目,所涉及的都是西门子产品。。
多年前公司所建车间共有6条生产线配置了Andon功能。不知当时出于什么原因,没有采用公司标准的PLC程序由各生产线的PLC分别实现,而是采用了一个专用的Andon PLC(型号CPU319-3PN/DP)为所有生产线实现Andon功能:所有Andon拉绳和指示灯都接到线边的IM151-3PN接口模块和ET200S电子模块所组成的IO设备;就近的几个IO设备接入一个X008交换机,共有12个X008交换机;就近的几个X008交换机接入一个XF204-2交换机,共有5个XF204-2交换机,他们之间用光纤相连形成环网;Andon PLC和每条生产线PLC之间有一个PN/PN Coupler,Andon PLC通过Coupler发送生产线起停信号到生产线PLC;另外有大屏幕显示停机工位等Andon信息;Andon PLC的硬件配置中没有交换机,没有拓扑图,甚至没有纸质版的资料,以上基本信息都是后来在现场捋线然后取得的信息。
后来公司因要使用公司标准的Sicalis生产监控,所以需要与每条生产线PLC通信获取信息,需要把Andon功能转移到每条生产线上来。为了节约费用和时间,我提出来在现有Andon PLC系统基础上进行改造。把Andon拉绳和指示灯信号通过PN/PN Coupler传递到各生产线PLC,然后在各生产线PLC(型号CPU319-3PN/DP)采用公司标准的PLC程序来实现Andon功能,由各生产线PLC控制Andon起停,然后与Sicalis服务器通信,在大屏幕上显示停机工位等Andon信息。
项目进行过程中就出现了问题,拉了Andon拉绳之后,偶尔出现生产线不能正常起停、大屏幕上也不能显示应有起停状态的故障,不但导致Sicalis无法实现生产监控,甚至造成了生产线不能正常起停。
2.故障的检测和解决
2.1故障或问题分析
从故障现象来看,故障原因有两种可能:1、拉绳信号没有传送到生产线PLC中去;2、生产线PLC程序编制有问题。后来,经过排查PLC程序,认为PLC程序没有问题,因为PLC程序有问题会导致每次有故障而不是偶尔有故障。这样,基本上确认拉绳信号没有传送到生产线PLC中去,首先我怀疑的就是PN/PN Coupler可能可靠性不高,不能可靠传递瞬间的Andon拉绳信号。大家知道,拉绳信号拉一下,只有很短的接通时间。为此我还咨询了西门子技术支持热线,想确认一下PN/PN Coupler是不是不能用于传递瞬间的信号?热线工程师显然没有经历过这个问题,换了几个工程师,都无法确认或否认,答复不了我的问题。
2.2故障或问题处理
后来,我自己一想,确认或否认了又如何?无助于解决问题啊!这显然是一个硬件问题,无法解决,只能通过修改程序来规避。我首先修改了PLC程序,仍旧由Andon PLC控制生产线的起停。这样,生产线能够正常起停了,但是大屏幕上的显示还是不能保证每次都正常。
没办法,我只能继续修改程序规避硬件问题。后来经长时间多种办法修改程序仍旧解决不了问题,这个问题折腾了我很长时间。不得已,最终的办法是废弃了公司的标准PLC程序,通过PN/PN Coupler把Andon PLC中的大屏幕显示起停信号传送到生产线PLC中,然后再与Sicalis服务器通信。经过试用,发现问题不再出现。Andon PLC中的大屏幕显示起停信号是一个长期保持的信号,不同于拉绳信号是瞬间信号,这似乎坐实了PN/PN Coupler可靠性不高,不能可靠传递瞬间信号的问题。
但是,这个问题始终萦绕在我心,因为最终的结果与初衷不同,让我很难接受。并且,我知道PN/PN Coupler的Update time是2ms。拉绳信号虽然是瞬间信号,但是真的能比2ms还要短?我觉着不可能,也许存在我没注意到的其他问题。拉绳信号持续的时间到底是多少?如何测量? 这些都是悬而未决的问题,并且都在我能力之外。
3.实践联系理论
为了更深入的了解Profinet通信,能在理论高度上联系实践解决问题,我需要深入学习Profinet通信的理论,并且掌握一些诊断工具。我在西门子技术支持网站上,下载了所有能下载的和Profinet有关的文档,还从知网等网站上下载了许多Profinet技术论文,对Profinet各方面的问题,尤其是实时性问题作了深入研究,因为这个问题显然是一个实时性问题。通过研究,有了一些心得,于今年春节和疫情宅家期间写成了一篇论文,已经通过专家审核,即将发表在专业期刊上。经过一番理论准备,下一步就要动手实践了。
首先,我下载了Proneta软件,想用它来确定一下Andon PLC的拓扑结构,遗憾的是X008交换机没有网管功能,无法用Proneta来确定拓扑结构,只能看个大概。最终,还是结合现场捋线确定了拓扑结构。在捋线的过程中,发现有一个XF204-2交换机Fault灯亮了,并且这个交换机还是环网的Manager。其实很久之前我就发现了这个问题,但是当时理论准备不足心里没底并且这个Fault似乎没有影响Andon的正常工作,就没有自找麻烦去解决这个问题。现在心里有一定把握了,就打算把这个问题解决一下。断电后我在这个报警的交换机上插了C-PLUG卡,然后再上电保存了设置,然后断电后换了一个新的XF204-2交换机并插上了这个C-Plug卡,但是这个Fault灯还是亮的,故障没有解决。看来交换机没有出问题,那么是配置出了问题?在Proneta上,与其他交换机对比了一番,没见有什么不同的设置。最后,我只能把这个交换机恢复出厂设置重新进行设置。还好,其实需要设置参数的不多,只是设置了IP地址等,环网参数自动进行设置。之后,Fault灯消失了。为什么重新设置就消除了这个Fault报警?不知道……
我想确认在使用公司程序的情况下,用Wireshark监控出现故障时PN/PN Coupler是否丢失了信号。Anodon PLC系统用的XF204-2和生产线PLC系统用的X414E都有端口镜像功能,所以用Wireshark进行监控不成问题。于是我用了两台笔记本电脑,分别监控这个PN/PN Coupler的两个端口。在此之前,我把一条生产线恢复使用了公司程序,然后在现场多次拉Andon拉绳,希望能够再现故障。很遗憾的是,尽管拉了上百次拉绳,这个故障没有再次出现,在以后长时间的使用过程中也没有出现。
4.经验总结
4.1遗留的问题
故障就在这样不知不觉中消除了,到底是什么原因造成了故障?现在只能做一个后知后觉的分析,根本原因可能还是那个XF204-2的Fault灯,他造成了通信故障,导致PN/PN Coupler偶尔不能正常传递信号。如果我能先知先觉,我应该先用Wireshark来进行监控,不应该先把这个XF204-2的Fault灯消除。现在故障不能重现,到底发生了什么问题,已经无法进行追查了。非常遗憾,让我纠结两三年的问题就这样被放走了……
4.2改进方法
重视每一个异常现象,不轻易放过任何一个异常现象,哪怕看上去好像与真正的故障没有联系。