李志刚,王 伟,杨灵飞,李婷婷,董伟光
(海洋石油工程股份有限公司,天津 300452)
当前,工业控制逐步实现了自动化程度更加集中的集散控制方式。Modbus作为一种开放的通信协议,已经成为工业领域通信协议的业界标准,并且现在是工业电子设备之间常用的连接方式。在某些大型工业控制系统中,例如石油/天然气开采运输、石油化工、发电等为代表的过程工业领域中,由于设备繁复,工艺复杂且造价昂贵,对其中央控制系统与相连的重要子系统之间通信的稳定性要求很高,冗余Modbus通信成为了一种不错的选择。
图1 通信结构图Fig.1 Communication structure diagram
海洋油气田自动化生产控制系统作为海洋油气田开采的关键系统,对油气开采工艺过程控制及配电安全起到至关重要的作用。
某大型海上油气平台中央控制系统采用了Rockwelll品牌的集散控制系统,操作人员可以对平台设备远程、集中监控。但有部分大型设备,由于工艺及控制逻辑较为复杂,控制点数较多,为减小其并入中央控制系统所造成的负荷突增,保证各控制系统的可靠运行,因而对这些大型关键设备仍采用独立控制的方式。这样中央控制系统与这些独立控制系统的数据通信就变得尤为重要。
本项目采用了冗余的Modbus通信方式,有效地解决了这一问题。该方式结构简单,成本较低,硬件上只需要在原有控制系统的基础上,并列安装两块互为冗余的Modbus卡件,更重要的是其可靠性较高。Modbus是一种在工业领域被广为应用的真正开放、标准的网络通信协议,有着广泛的知识资源支持等特点,已经成为一种公认的通用工业标准[1]。而本案所采用的冗余Modbus通信方式将其可靠性成倍增加,保证了平台上各系统之间的数据传输稳定进行。
Prosoft Technology公司的Modbus通信卡件可以将罗克韦尔的控制器方便地连接到支持Modbus的现场设备,该类插槽类通信卡件支持众多系统[2],其中MVI56专门为ControlLogix系列PLC扩展Modbus通讯接口。
本方案提供两块MVI56E-MCM卡件作为Modbus主站,分别安装于该海上油气平台中央控制系统中的两个不同的机架上,每块MVI56E-MCM卡件的一个端口与第三方设备相连接。图1为该冗余Modbus通信的结构图。
MVI56E-MCM是一块具有Modbus TCP/IP通讯能力的模块。此模块在Modbus以太网中既可以作为Server被读写数据,同时也可以作为Client来读写网络上其他Server的数据。图1结构中,两块MVI56E-MCM模块分别位于两个Logix5000从站机架上,作为Server,形成冗余链路,与第三方设备进行Modbus通信。
图2 MVI56E-MCM工作原理图Fig.2 MVI56E-MCM schematic diagram
图3 Genegic 1756 Module参数配置Fig.3 Genegic 1756 Parameter configuration
如图2所示,模块的内部有一个用于存储的数据库。通过背板,利用模块的输入和输出,这个数据库和Control Logix处理器中的MCM.WriteData和MCM.ReadData这两个数组取得同步。对于关系参考图2。而在模块的另一侧,Modbus TCP/IP的Client驱动可以从外部设备读取数据放置在内部数据库中,也可以把内部数据库的数据发送到外部设备。Server驱动则可以把内部数据库的数据服务给外部设备来读写。利用内部数据库这个纽带,Control Logix处理器就可以和外部的Modbus TCP/IP设备取得通信[3]。
在Logix5000硬件配置中,相应添加两块Genegic 1756 Module,参数设置如图3所示。
图4 程序块导入Fig.4 Block import
新建一个梯形图程序块,导入MVI56E-MCM自带光盘里的文件MVI56EMCM_ADDON_RUNG_V2.8.L5X,如图4所示。
利用同样的方法再导入一次该程序块,用于连接与之冗余的卡件。导入后利用该功能块自带结构体变量中的MCM_Cnet01_11.STATUS.Prt1Errs.CmdErr,编辑通信中断诊断的程序,如图5所示。
在程序中导入MCM冗余功能块,如图6所示。
将图6功能块的MCM1与MCM2的相关参数与图5两个MCM程序块参数相匹配。
此案例的Modbus通信采用的是串口通信,串口通信主要参数为波特率、数据位、停止位和奇偶校验[4]。本例中采用波特率为9600,数据位是衡量通信中实际数据位的参数,本例采用8为数据位,停止位为1。奇偶校验是串口通信中一种简单的检错方式,通过设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位,这样使得接收设备可以知道这个位的状态。以此推断是否有噪声干扰了通信或者是否传输和接收数据不同步,本例校验方式为无校验。
通信双方按照计划好的通信参数来设置,保持了两边参数设置一致,如图7所示。
编程调试完毕后,分别在第三方设备以及Modbus主站中模拟写入一组数据,均可以在对方程序中监视到相关的数据。
按照该方案冗余通信要求,先将其中一块MCM通信卡件从机架拔出,此时对应该卡件的MCM通信诊断位CEP_MCS_001_Modbus_Er_Bit复位,即该卡件通信断开,但此时通信双方设备仍可以通过另一块卡件相互读写数据,并且不会造成通信数据的丢失。从而有效验证了该方案的冗余特性。
图5 MCM通信程序块Fig.5 MCM communication block
图6 MCM冗余功能块Fig.6 MCM Redundant function block
图7 MCM通信参数配置Fig.7 MCM Communication parameter configuration
图8 Modbus主站写入数据Fig.8 Modbus master writes data
目前,此方案已在该大型海洋油气田项目中稳定运行一年有余。据反馈,该通信方案的可靠性较高,再加上其硬件配置的灵活性,相信此方案的应用领域会越来越多。任何一种技术都会有优势和劣势,相信随着技术的不断进步,冗余Modbus通信应用过程中出现的各种不足和问题都会得以改进和解决。