Modbus通信协议在CS3000中的应用
2011-11-04王翔,丁伟
王 翔,丁 伟
(独山子石化公司炼油厂仪表车间,新疆克拉玛依 833600)
Modbus通信协议在CS3000中的应用
王 翔,丁 伟
(独山子石化公司炼油厂仪表车间,新疆克拉玛依 833600)
介绍了Modbus协议的含义及其数据传输方式,阐述了该厂CS3000系统与其他各子系统之间的应用,分析了基于Modbus进行数据交换的硬件结构配置及软件组态的应用。同时说明了利用Modbus通信协议来解决CS3000系统与第三方智能控制仪表之间的通信,在炼油自动控制系统的实际操作中极大地方便了现场的控制和操作,是一个值得推广的方式。
Modbus通信协议;传输方式;数据转换;主—从设备;硬件配置;软件配置
0 引 言
某新建成的千万吨炼油项目中,根据各个装置的工况及生产要求不同,DCS采用CS3000系统;紧急停车系统(ESD)采用TRICONEX控制系统;电气控制系统(ECS)采用RCS-9700后台监控系统,而其他的一些小系统如PAS原油过滤系统、水利出焦系统等多采用PLC控制系统。为了实现对不同系统控制设备的集中监控,设置CS3000为主要监控系统,其他系统通过Modbus通信协议将数据传送到CS3000系统中显示的方法来实现生产工艺对不同系统控制设备的集中监控。
1 数据传输方式
如图1所示,Modbus通信协议基本上遵循主—从设备(Master and Slave)。根据Modbus通信协议的规定,必须一方为主设备,另一方为从设备,不能互换角色。在该项目中以CS3000监控系统为主设备,PLC,ECD,ECS等为从设备,CS3000系统一直检查从设备的各种信息,然后显示并对各种逻辑计算及控制进行处理。
图1 主—从设备查询回应表
2 通信硬件配置
在CS3000系统中用来与子系统建立串口通信的专用卡件是ALR121卡。ALR121通信卡支持RS-422/485通信,Modbus是其最常采用的协议,它可以提供两个RS-422/RS485端口。在该项目中,CS3000系统与ESD,PLC,ECS等子系统之间皆采用的是 RS-485的两线制和四线制连接。应用层协议是Modbus,这是很典型的应用,非常方便。
2.1 CS3000与ESD系统的Modbus硬件配置
按照安全独立原则要求,ESD独立于DCS,其安全级别高于DCS。CS3000与 ESD网络连接如图2所示,TRICON的通信功能是利用其固 有 的 通 信 模 件 TCM4351B 进 行 的。TCM4351B提供了四个串行口,通过这些接口可以和 Modbus主机及DCS进行 RS-232和RS-422/RS-485串行通信;模件还可以提供两个 10/100 Mbit/s以太网端口和一个 RS-232调试端口。当DCS与 ESD进行通信时,采用RS-485接线的四线接法,将 ALR121的TX+,TX-,RX+,RX-,SG端 子 与TCM 4351B通信模件其中一个串口的1,2,3, 4,9端子连接即可。在该项目蒸馏、焦化、加氢裂化等 8个装置中,采用了双 TCM 冗余Modbus通信方式和ALR121通信卡进行通信,这样保证了通信的准确性和快速性。
图2 CS3000与ESD的网络连接
2.2 CS3000与ECS的Modbus硬件配置
该项目中,ECS采用RCS-9700后台监控系统。CS3000与 ECS网络连接如图 3所示,和CS3000进行Modbus通信的是RCS-9700系列中的RCS-9794A/B通信装置。RCS-9794A/B通信装置作为RCS-9700变电站自动化系统的规约转换装置,用于将各种继电保护设备信息、交直流屏信息、电度表信息等智能设备信息经规约转换后接入 RCS-9700变电站自动化系统。RCS-9794A/B对下支持多种标准通信规约和通信接口,对上支持RCS-9700网络103规约。进行RS-485通信时采用普通的RS-485接线的两线接法,将ALR121的 TX+,TX-,SG端子与 RCS-9794A/B中其中一个串口的 7,8,9端子连接即可。
图3 CS3000与ECS的网络连接
2.3 CS3000与PLC的Modbus硬件配置
该项目中,基于 PLC的结构灵活、传输质量高、成本低、使用面广等特点,PSA原油过滤系统、蜡油过滤、水利出焦、硫磺包装机、火炬点火系统等19套小装置都采用独立的PLC。CS3000与PLC通信网络示意如图 4所示,PLC进行Modbus通信采用CP341模块,该模块具有1个串行通信口。可以使用这个接口实现 PLC与其他串行通信设备的数据交换。在CS3000与PLC通信时,CS3000作为主设备,PLC作为从设备。Modbus为单主站网络协议,所以系统中只能够有一个Modbus主站,并且只能够实现主站和从站的数据交换,从站之间不能进行数据交换。采用普通的RS-485接线的两线接法,将ALR121的 TX+,TX-,SG端子与CP341的4,8,11端子连接即可实现CS3000与PLC的通信。
图4 CS3000与PLC的网络连接
3 通信软件配置及应用
以该项目加氢裂化ESD,焦化ECS,水利出焦S7-300型PLC与CS3000系统间通信为例,介绍TCM,RCS-9794,CP341和ALR121如何进行通信组态和编程的。
3.1 ESD软件组态配置
在对 ESD软件进行组态配置时,首先硬件定义中在 TRICON主机架的COM槽上定义一块TCM4351B通信卡,并进行设置,在端口设置参数对话框下,选择一个 TCM 模件上的通信端口(TCM共有4个通信端口)后,在接口组态设置中为选好的端口选择通信方式。在和CS3000通信中将ESD控制器作为Modbus从站进行通信,所以通信方式要选择“Modbus Slave RTU”。在ESD软件组态配置中非常重要的一点就是 ESD作为Modbus通信的从站地址的定义,从站地址字段表示接受主站报文的从站地址,用户必须设定每台从站的专用地址,只有被编地址的设备才能对主机的命令做出应答,从站发送应答报文时报文中地址的作用是向主站报告正在通信的是哪台从站当设定好Modbus通信从站地址后,还需要对该Modbus端口进行通信软件参数的设置,比如波特率、量程等,具体参数要参考Modbus通信协议以及该项目实际情况。组态完通信参数后对组态进行下装就完成了对 ESD的通信组态。ESD组态流程如图5所示。
图5 ESD软件组态流程
3.2 ECS软件组态配置
在对ECS软件进行组态配置时,如图6所示首先在 RCS-9793组态工具中选择“板卡 0 (CPU1)”,然后根据现场硬件接线的实际情况来对串行口进行组态,在焦化装置中用的是卡板0的第二个串行口,所以在“板卡串行口列表”中对串行口2进行组态,在串口2对应行“通信规约”对应列的位置,要选择“Modbus串口对上规约”因为ECS是作为从站与CS3000通信的。同时要修改串行口2端口对应的线路模式、波特率、数据位、停止位、奇偶校验等参数,具体的设置要参考Modbus通信协议以及该项目实际情况。做完上述的组态并下装后即完成了对RCS-9794A/B的通信组态
图6 ECS软件组态流程
3.3 PLC软件组态配置
在对PLC软件进行组态配置时,如图7所示首先在STEP 7 V5.3版编程软件的硬件配置中定义CP341通信卡。然后在CP341的参数设定中,对CP341参数进行设置,在设置参数时从站的定义非常重要,因为同上述的子系统一样,PLC作为和CS3000通信的Modbus从站用户必须设定专用地址,只有被编地址的设备才能对主机的命令做出应答。接下来要对CP341通信协议进行定义,其定义必须和现场硬件进行匹配,水利出焦装置现场CP341用的是RS-485两线制,所以必须定义为RS-485两线制协议。定义完通信方式并且下装后即完成了对 CP341的通信组态。
图7 PLC软件组态流程
3.4 CS3000系统软件组态配置
在CS3000组态中,如图 8所示,首先要对ALR121进行定义。进入CS3000组态管理软件SYSTEM VIEW,对已与子系统连接的ALR121卡进行属性设置,定义端口 PORT1的通信参数,如波特率,奇偶校验,响应时间等,在参数设定时要根据上述子系统设置的参数,保持和子系统通信双方的参数一致,其中通信方式是两线制还是四线制要根据现场ALR121卡件接线方式保持一致,其中同ESD通信ALR121卡件使用的是四线制,而和ECS和PLC使用的是两线制。
在定义完通信卡属性后,接下来是在ALR121中对通信数据进行关键参数定义。CS3000与子系统通信数据的定义在通信点编辑器“COMMUNICA TION I/O BUILDER”中完成,其中组态要根据子系统提供的资料进行定义。关键参数定义如下。
a)缓冲区的大小“SIZE”,其根据与子系统通信的数据量来定义,不能超出子系统通信的数据量,否则多出的数据点会在错误检测过程中被判断为故障点,从而使系统将ALR121判断为故障。
b)端口“PORT”,在“PORT”中填入与子系统通信的现场接线端口即可。
c)从站地址“STA TION”,即上述各子系统中“slave”的地址,必须要保证与通信的子系统的从站地址一致。
图8 CS3000系统Modbus软件组态流程
d)设备类型和通信数据起始地址“DEVICE&ADDRESS”,它是根据子系统提供的Modbus通信地址的起始地址进行设定的,以后的排列顺序必须与子系统提供的地址表相一致。
e)数据类型“DATA TYPE”,它的设定根据与子系统通信数据的类型选择的,如果是模拟量数据类型就选择“16位无符号整型”,其他类型以此类推。
f)位号说明“LABEL”等信息。
4 CS3000中Modbus信息换算方法
利用CS3000系统FUCTION BLOCK建立一个通信显示时,根据Modbus通信系统信息的机构特点,PLC,ESD,ECS等系统通信给CS3000的原始报文是16位整数值,需要进行数据转换。将Modbus通信的16位整数值转换为CS3000用户所能识别的浮点型实数值。在CS3000系统的详细参数设置中,在输入信号转换这一项选择通信输入“SUBSYS”,CS3000通过内部换算公式将数值转换为外部的浮点型实数值,两者之间有一定的数学关系,这个关系就是 Modbus数值量的换算关系。
5 结束语
该项目自使用Modbus通信协议将各个系统的数据通信集中到CS3000系统以来,CS3000通过RS-422,RS-485接口用Modbus RTU协议同PLC,ESD,ECS间的通信一直正常,从未出现过任何软、硬件故障以及其他干扰现象,有效地保证了 DCS的正常运行。可见,CS3000通过Modbus与PLC,ESD,ECS等系统通信是一种行之有效的方法。DCS中可以读取PLC,ESD,ECS等系统中的测量值、设定值等,同时可以远程设置和监视PLC,ESD,ECS等系统中控制阀的数据,极大地方便了现场的控制和操作。
[1] 徐建山,吕震中,于向军.利用Modbus协议实现与火电站DCS的串行通信[J].测控技术,2003,(3):40-42.
[2] 周纯杰,江建华,徐邦荃,等.基于Modbus协议的 PLC与CAN总线通信方法及实现[J].电气传动,2004,(6): 29-31.
[3] 朱 祎,郑华耀.基于Modbus通信协议的网络化电力传动船舶监控系统[J].机电一体化,2005,(3):73-77.
[4] 颜河恒,王晓华,佟为明.Modbus关键技术分析及节点开发[J].自动化技术与应用,2006,(5):49-57.
[5] 黄 宁,范轶翔,张 俊.采用Modbus协议实现DCS系统中监控级数据集成[J].电子技术应用,2002,(7):40-42.
[6] 王念春.基于Modbus协议的PC与下位机PLC间的通信程序[J].自动化仪表,2001,(8):44-46.
[7] 徐 涛,闫 科,赵景林,等.基于ModBus协议的串行接口实现与DCS通信[J].工业控制计算机,2002,(3):56-57.
[8] 卢文俊,冷 杉,杨建军.基于Modbus协议的控制器远程监控系统[J].电力自动化设备,2003,(6):54-56.
The Application of the Modbus Communication Protocol in CS3000
Wang Xiang,Ding Wei
(The Dushanzi Petrochemi.Co.Refinery Plant, instru.workshop,Kelamayi,833600,China)
The contents and means of data transmission of the Modbus protocol are introduced.The application of CS3000 system and other subsystems in the plant is presented,the hardware disposition and software configuration fordata exchangebased on theModbus are expounded. How the communication between CS3000 and intelligent control instruments of third part is realized by the Modbus communication protocol is described.That has made control and operation more convenient in the operation of refinery automatic control system and is worth promoting.
the Modbus communication protocol;transmission mode;data conversion;master and slave equipments;hardware configuration;software configuration
TP273
B
1007-7324(2011)01-0057-04
2010-11-29(修改稿)。
王 翔(1982—),男,主要从事仪表自动化及DCS应用软件开发和维护工作,任助理工程师。