摘要:海上天然气平台有一套由Allen-Bradley PLC 5组成的 ESD系统,和一套由 EMERSON 8.0 版本DeltaV组成的 DCS。两者之间的通信由PLC 5 1771 KE模块和DeltaV可编程通信接口卡把各自的信号都转换成 RS232 而进行的。但是发现两套系统之间通信不稳定,出现数据错包,丢包甚至通信完全中断的情况。通过分析故障现象,检查通信线路和设置,在没有改变其他设置和参数的情况下,把接线方式改成采用流量控制后,通信不稳定甚至中断问题得到彻底解决,没有再出现故障。关键词:自动化;通信;AB PLC 5;DeltaV;握手
Abstract: The seaborne natural gas platform has one set of ESD system formed by Allen-Bradley PLC 5 and one set of Emerson 8.0 DeltaV system. The communication between them was achieved by PLC 5 1771 card and DeltaV interface card which transfes the signals to RS232 respectively. But it was found that the communication is not stable, and leads data loss and even totally broken. The problem can be completely solved when the cable connection was modified to use handshaking while others setting remained unchanged.
key words: Automation; Communication; PLC5; DeltaV; Handshaking
1 引言
崖城Y13-1气田原来DCS系统是由EMERSON ROSEMOUNT SYSTEM 3组成的,ESD系统是由Allen-Bradley PLC 5组成。这套DCS系统是20年前购买的,现在市场上很难找到备件,决定把它升级成EMERSON DeltaV 8.0系统。升级后DCS系统和 ESD系统的通信方式不变,由Allen-Bradley PLC 5的1771 KE模块 (Series B)把DH+信号转换成RS232信号,DeltaV系统是由可编程通信接口卡(Series 2)把Ethernet信号转换成RS232信号,通过通信线把两块卡相连,再在各自的系统里做相应的设置,这样两个系统间的通信就建立起来了。在这个工作完成后的前5天,通信良好。之后3天在DeltaV的操作界面上能够观察到数据错包和丢包现象,而且越来越严重,最后由于错包和丢包太多,造成通信完全中断,KE卡和可编程通信接口卡也出现红灯报警[1]。影响了气田的安全运行。
2 故障处理
为了解决这个问题,从硬件和软件着手。硬件上更换了KE卡、可编程通信接口卡和通信线。软件上重新检查了通信设置,包括地址,波特率,校验位和校验方式[2],确保这些设置在两个系统是一致的。而且接线方式和参数设置和出厂测试是一样的。又确认供电、温度、湿度和噪声等系统运行环境和升级前没有变化。但是问题还是和以前一样,正常运行几天后,然后数据包出错和丢失问题再次出现,最后通信完全中断。
3 采用握手接线方式
在处理故障的时候发现RS-232的接线方式是把各自的DSR和DTR信号线短接,把握手信号旁通了,如图1所示。笔者尝试采用握手信号,把各自的DTR和DSR相接,如图2所示[3]。

图1 不握手接线方式

图2 握手接线方式
4 结果
按图2接线后,通信即时恢复,卡上红灯报警消除,数据交换正常。到现在已经运行了2年,再没有出现数据包出错或丢失和现通信中断的情况,至此这个通信问题完全解决。
5 原因分析
既然两个系统间的通信已经建立而且开始时是正常的,只是过了一段时间才出现问题的。说明参数的设置应该是对的,有可能是由于数据量太大变成拥塞最后完全瘫痪的。那么采用握手信号来进行流量控制就正好能够解决问题。而在厂家测试时也是没有用握手信号但通信没有发现问题,而且这也是DeltaV可编程通信接口卡手册上允许的。厂家测试时可能是通信数据量较少,PLC网络结构单一,测试时间也只有两天,所以没有暴露出问题。
流量控制,是为了保证传输双方都能正确地发送和接收数据而不会丢失。如果发送的速度大于接收的速度,而接收端的处理器来不及处理,则缓冲区在一定时间后溢出,造成以后发送来的数据无法进入缓冲区而漏失[3]。解决这个问题的办法是让接收方通知发送端何时发送及何时停止发送。流量控制又称为握手(Hand Shaking),常用的方式有硬件握手和软件握手[4]。
我们采用了硬件握手方式。在接线上把对方DTR(Data Terminal Ready 和DSR(Data Set Ready)相连接,发送方通过DSR告诉对方我准备好了,如果接收方通过DTR回应说我也准备好了,那么发送方才开始发送数据,否则就等待,直到对方回应准备好[5]。CTS(Clear to send) 和RTS(Ready to Send) 信号没有连接。
6 结语
接线方式改成采用握手信号后,运行了2年,再没有出现数据包出错或丢失的现象,更没有出现通信中断的情况,问题得到完全解决。实践证明在PLC 5和 DeltaV采用RS-232串行通信时需要正确地连接成握手方式,有利于控制流量,否则在实际应用时由于数据交换量大和网络结构复杂,会出现通信错包,丢包堵塞,甚至中断现象。
参考文献:
[1] 王志鹏, 可编程逻辑器原理与程序设计[M]. 北京: 国防工业出版社, 2005.
[2] ALLEN-Bradley Driver for DeltaV Series 2 Programmable Serial Interface Card User Manual, 2011,
[3] 陈光军, 数据通信技术与应用[M]. 北京: 北京邮电大学出版社, 2005.
[4] 李斯伟, 雷新生, 数据通信技术[M]. 北京: 人民邮电出版社, 2004.
[5] 王华忠. 监控与数据采集 (SCADA) 系统及其应用[M]. 北京: 电子工业出版社, 2010.
作者简介
兰明光(1970-),男,江西高安人,高级工程师,学士学位,现就职于中海石油(中国)有限公司崖城作业公司,主要从事自动化系统的维护管理方面的工作。
|