40MN挤压机Profibus-DP网络通信故障分析与处理
2012-06-22王红东
王红东
(中铝洛阳铜业有限公司,河南 洛阳 471039)
40MN挤压机是我厂2002年大管大棒技术改造时安装的一台大型设备,主要用于铜及铜合金管材、棒材、型材的热挤压,是太原重型机械厂设计制造的。在这几年的生产中,电气设备运行基本正常,没有出现大的问题。后来出现的DP网络通信故障,让我们花费了很多时间,想了很多办法,最终把故障消除。现把当时的处理方法总结出来,与读者交流。
1 电气控制系统简介
40MN挤压机主要包括挤压杆、挤压筒、穿孔针、供锭机、横向模座、压余分离机构、出料辊道、冷床、锯切、液压泵站等几部分组成,有4个操作台。整个电气控制点比较散,输入和输出远离PLC,需要铺设很长的电缆,不易实现,并且也可能因为电磁干扰而使得可靠性降低。所以控制系统采用由一个主站和十个从站组成的Profibus-DP网络系统,主站由S7-400 CPU414-2DP和S7-400输入、输出模块组成,10个从站均采用ET200S分布式I/O,I/O为S7-300模块。主站和其中的6个从站分布在主控制室内,其余的4个从站分布在设备周围的四个操作台内。站与站之间用西门子专用通信电缆连接,整个网络长度将近100m,网络波特率为1.5Mbps。
2 网络故障现象
刚开始出现故障时,设备正运行着突然停了,而操作工可以马上再把设备启动起来,故障是一闪而过,看不到故障现象。到后来,故障时间加长,设备停后开不起来了。看到故障现象是主站CPU上SF信号灯闪烁,显示是外部总线通信故障,检查发现是2号操作台从站报警,ET200S的 BF信号灯闪烁,意思是本站故障或无连接报文,原因可能是I/O模块中存在错误,或缺少连接到控制器的总线电缆,也可能是背板总线故障,与主站通信中断。根据故障指示,把这个从站的模块拆掉,检查是否有接触不好,往往是拆拆装装,故障就消失了。可是过两天突然又不行了,后来不只是2号操作台报警,其他从站也报警,频次越来越高。
在线打开程序,从PLC诊断缓冲区中查看模块信息,可以看到CPU提示的报警信息,报警信息如下(选取了其中一段):
报警故障代码为39C4,表示分布式I/O、从站失灵到来状况;故障发生在5号从站,5号从站诊断地址为8187,主站诊断地址为8188,当故障发生时,系统调用OB86组织块,但未找到该块。
3 原因分析及处理
3.1 通信线路问题
故障现象是外部从站丢失,怀疑是通信线路有问题。刚开始只有2号操作台从站报警,2号台的通信线是从1号主操作台接过来的。首先检查1号、2号操作台DP插头接线是否可靠,屏蔽层与DP插头的金属片是否压紧,终端电阻开关拨的位置对不对。 往往在检查过程中故障就会消失,但故障还会不定时出现,后来又更换DP插头,仍没有从根本上解决问题。于是就想着更换 1、2号操作台之间通信电缆,怀疑是通信电缆受损,阻值增大,信号损耗引起的。1号、2号操作台相距大概有20m,我们所用电缆是西门子专用双绞通信电缆,手头暂无备品,一时无法更换。后来设备状况越来越差,很多从站都报警,电缆总长将近一百米,无法判断究竟是哪一段有问题,虽然买了一些通信电缆,但不知道该更换哪一段,最终没有更换。往往是哪个站报警,就检查哪个站的DP插头接线情况,模块插接情况,有时反复检查,故障总是在检查的过程中消失。
通信线路电磁干扰也是造成网络故障的主要原因,我们的现场布线是通信电缆与其他控制线、动力线混在一个电缆沟里,这极容易造成干扰。由于平行布线的两根电缆之间会产生电容耦合,因此为了避免相互之间的影响,通信电缆与动力电缆应避免长距离平行布线 。当初设计时未把通信线与其他线分开排布,现在想改已不具备条件,只有尽量把通信线离别的电缆远一点,但仍有长距离平行布线情况。由于接地有利于保护PLC设备以及DP通信口,消除干扰,因此对于所有的Profibus站点都进行接地检查,检查配电柜、操作台外壳接地是否可靠,把每个DP插头的接线严格按网络布线规范重新接线,Profibus网络布线规范要求:电缆在DP插头内接线时,应将外部编织网屏蔽层剥开,把铝箔屏蔽层压在插头内的金属片上,该金属部分是与插头外部的金属部分相连的,当将插头插在CPU或者ET200M等设备的DP口上时,就通过设备连接到了安装底板,而安装底板一般是连接在柜壳上并接地的,从而实现了屏蔽层的接地。另外还要保证屏蔽层不能剥开的太长,否则通信线芯会暴露在空间,成为容易受干扰的“天线”。通信电缆在进/出电柜时,把电缆的外层屏蔽层进行接地处理。这样避免外部的干扰信号进入电柜,同时也避免柜内产生的干扰对外部设备造成影响。通过规范接线,设备状况大有改观,报警次数明显减少,但没有根除。
3.2 24V电源问题
原来每个站都是由一个单独的24V电源给本站的 CPU或ET200S及背板总线、输入模块供电,所有输出模块由单独的24V供电。刚开始报2号操作台从站丢失故障时,曾怀疑2号操作台从站24V电源供电有问题,反复测量24V电源,没发现异常。又怀疑是设备在运行过程中,模块输入点外部线路可能有瞬间接地或短路的现象,造成24V电源短时故障。随着后来很多从站都报警,输入点比较多,无法确认是哪儿出了问题,为了排除输入点外部线路引起的故障,于是就增加一个 24V电源,专给CPU和ET200S及背板总线供电,让每个站的24V电源只给本站的输入点供电,这样若是外部输入线路有问题,就不会影响通信了。
更改后,设备正常运行了一天,又出现一个新的问题,CPU读不到编码器的数据。在1号主操作台从站,ET200S机架上装有一块SM338模块,模块上接有三个绝对值编码器,分别检测挤压杆、挤压筒、穿孔针的位置。CPU读不到数据,设备就无法运行。检查SM338模块电源,正常,于是更换一个新的模块,还是读不到数据。翻阅SM338模块说明,在布线规则上看到,编码器的输出接地不应与CPU的接地隔离。突然明白了,原来现在SM338模块所用电源是从站的电源,而CPU及ET200S所用电源是新增加的,两者没有共地。共地后正常。只是有一点不明白,为什么没共地前还能正常工作一天?
编码器问题解决后,设备正常运行了几天,没有出现网络的问题,当时想着问题可能解决了,可不久故障又发生了。
4 故障消除
由于前期在外部线路中未找到故障点,问题一直不能解决,所以就考虑在程序上做些文章,看能否把故障给消除掉。
4.1 在程序中增加机架故障组织块(0B86)
OB86的功能是当出现扩展机架、DP主站系统或分布式I/O从站故障(当到来或离去事件时)时,CPU的操作系统就自动调用 0B86,如果 0B86未编程,当检测到这类故障时,CPU就变为STOP方式。40MN挤压机CPU报警信息提示,当故障产生时,系统想调用 OB86块而未找到,所以在程序中增加了0B86块。下载之后,一旦故障,系统将调用OB86来处理故障,同时跳过该错误。希望当设备出现故障时,CPU能调用到0B86块,而不是直接进入STOP状态,避免设备停机。但实际并未达到效果,当出现故障时,CPU还是进入了停机状态。
4.2 修改Profibus-DP总线参数
打开程序,点击硬件组态Hardware,显示PLC硬件组态图,双击Profibus-DP总线,进入“属性-DP主站系统”,在这个界面上有一个“属性”按钮,点击进入,选“网络设置”界面,显示有“传输率”和“配置文件”,在“配置文件”中原选项为“DP”,更改为“自定义”,再点击旁边“总线参数”按钮,进入“总线参数”界面,这个界面上有一个“重试限制” 选项,原默认值为1,更改为5,目的是当某一个从站与主站通信不上时,让CPU重新多连接它几次,希望在CPU多次连接过程中,系统能正常,这样设备就不会因为瞬间故障而停机。修改参数后,设备停机次数减少,对于一闪而过的故障确实能起作用,但对于长时间出现的故障,还是会停机,不能从根本上解决问题。
4.3 修改波特率
原设计中Profibus-DP网中数据传输率为1.5Mbps,在一个DP网络中,一个区段的最大电缆长度是由传输率所决定,西门子公司建议的Profibus-DP网络中一个区段的波特率所允许的电缆长度,如表1所示。
表1 Profibus-DP网络中波特率与电缆长度的关系
从表中看出若波特率为 1.5Mbps,电缆长度最大允许 200m,实际上 40MN油压机整个网络电缆长度也不超过100m,原设计选择1.5Mbps应该没问题。但 DP通信实质上就是串行通信,走的是 485协议,它的通信质量是和距离有关系的。在通信距离一定时,波特率越低,传输数据的稳定性越好,通信质量越高。降低波特率,会增加CPU扫描周期,但对挤压机这样大型设备,增加一点时间,各部位动作应该不会受到实质的影响。于是就试着把波特率从 1.5Mbps修改为 500kbps,没想到修改后设备故障马上消除了,而且这个网络问题以后再也没有出现过,40MN挤压机的网络问题就这样解决了。
5 结论
40MN挤压机现在一直正常运行,困扰挤压机的网络问题已经过去很长时间了,但造成网络通信问题的真正原因到底是什么?我觉得可能是通信电缆受损造成的,只是没有检测手段,无法确定是那一段有问题;也可能是电磁干扰造成的。