WWW_PLCJS_COM-PLC-技.术_网
1 引言WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
石油化工生产中plc常常用于大机组的联锁与控制。对于机组的振动、位移等参数,点数较少时,可以采用变送器、传感器转换成4-20ma信号送入plc,实现联锁控制,但对键相、差胀等特殊测量参数或振动、位移等测量参数点数较多时,信号转换的难度大、成本高,使用传统的框架式机械保护系统反而会经济、有效。美国bently公司3500系统是传统的框架式机械保护系统之一,它可以运行于各种冗余级别,包括双电源供电和更高要求下的三重模块冗余(tmr)监测器组态。每个i/o卡可以对 4-6个点的信号进行转换处理,并通过编程的方法实现联锁逻辑。茂名乙烯厂在2006年7月建成投产的2#丁二烯装置的压缩机联锁、控制中,采用德国西门子公司的s7-400h系统实现总的联锁和过程控制,外壳振动、轴瓦温度的联锁主要在bently3500中实现。为了实现数据共享和联锁冗余,需要将bently3500中的模拟信号和报警、联锁信号以通讯方式传输到s7-400h。本文以2#丁二烯压缩机控制系统为例,描述了simatic s7-400h与bently 3500之间modbus rtu协议通讯实现的过程。WWcW_PLCJS_COM-PLC-技.术_网
2 控制系统简介WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
s7-400是大型可编程序控制器,由电源模板(ps)、中央处理单元(cpu)、信号模板(sm)、通信处理器(cp)等部分组成。s7-400h系统是s7-400的冗余系统,通过将发生中断的单元自动切换到备用单元的方法实现系统的不中断工作。它可以通过本地机架与s7-400的i/o模件、通讯网关连接,也可以通过基于profibus-dp总线的et200m分布式i/o与s7-300的i/o模块、通讯网关连接,以实现过程控制、与其它控制系统通讯。WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
3500机械保护系统是一个全功能监测保护系统,其设计应用了最新微处理器技术。由1块或2块电源模块(3500/15)、框架接口模块(3500/20)、温度监测器模块(3500/60)、位移、速度、加速度监测模块(3500/42)、继电器模块(3500/32)、通信网关(3500/92)等组成。3500/92通信网关是3500系统主要通信通道,是与其它系统通讯的桥梁。W1WW_P4LCJS_COM-PLC-技.术_网
3 通讯方案选择WWW_PLCJS_COM-PLC-技.术_网
通讯实现的目标是将3500中的15个温度点和6个压缩机外壳振动点的值以及其报警、联锁状态送到s7-400h,由于通讯的数据量不大,选用modbus rtu协议。WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
s7-400h与3500之间通讯主要有两种方式:一是在s7-400h的本地机架上安装一个cp(通讯处理器)。s7-400h有两个冗余子系统,cp安装在其中一个子系统上,两个冗余的子系统都从该cp获得数据,并在两个相同的用户程序中进行计算。因此,就冗余系统模式中的信息处理而论,cp是连接到主cpu 还是热备cpu并无多大关系。缺点是,当子系统出现故障时,该子系统机架上的cp不再可用。另一种方式是,将cp安装在切换式i/o(et200m 分布式 i/o)上,该设备有一个有源板总线和一个冗余profibus-dp 从站接口模板im153-2,每个s7-400h子系统与et200m两个dp从接口中的一个相连。这样,某个s7-400h冗余子系统故障,cp会切换到它的冗余伙伴,可靠性高,而且经济。我们选用了该方案,通讯处理器采用cp341。WWW_P※LCJS_COM-PLC-)技.术_网
4 通讯系统硬件配置与接线WWW_P※LCJS_COM-PLC-)技.术_网
s7-400h的通讯处理器是cp341,在使用modbus rtu协议时需要一个硬件狗(dongle)。3500的通讯处理器是3500/92。由于它们处于同一柜内,距离在15米以内,传输接口形式选用了rs-232 。rs-232采用9 pin引脚,通常只用到引脚2、3、5,即接收数据、发送数据和信号地,接口连接如图1所示。WWW_PLC※JS_COM-PmLC-技.术_网
plcjs.技.术_网
图1 传输接口的连接WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
3 软件实现P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
modbus rtu格式通信协议是以主从方式进行数据传输的,在传输的过程中主站是主动方,即主站发送数据请求报文到从站,从站返回响应报文。modbus系统间的数据交换是通过功能码(function code)来控制的,有些功能码是对位操作的,通讯的用户数据是以位(bit)为单位的:WW.W_PLC※JS_C,OM-PL,C-技.术_网
fc01 读输出位的状态WWW_PLCJS@_COM%-PLC-技.术_网
fc02 读输入位的状态WWW.PLCJS.COM——可编程控制器技术门户
fc05 强制单一输出位WWW_PLCJS@_COM%-PLC-技.术_网
fc15 强制多个输出位WW.W_PLC※JS_C,OM-PL,C-技.术_网
有些功能码是对16位寄存器操作的,通讯的用户数据是以字(word)为单位的:WWW_PLC※JS_COM-PmLC-技.术_网
fc03 读输出寄存器WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
fc04 读输入寄存器WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
fc06 写单一输出寄存器WWW_P※LCJS_COM-PLC-)技.术_网
fc16 写多个输出寄存器[1]WWcW_PLCJS_COM-PLC-技.术_网
cp341与3500/92的通讯,cp341做主站,3500/92做从站,主站、从站都需要设置波特率、停止位、校验位。这里设置波特率为9600bit/s,一位停止位,无奇偶校验。cp341 modbus协议通讯是通过simatic step7编程软件,并利用库函数fb8(p-snd-rk)和fb7(p-rcv-rk)功能块进行发送和读取数据操作的。它们均通过组态数据库的方法进行发送源信息和接收目的数据的信息,请求信息时,从源数据库读取相应字段后发送,接收信息是根据发送的内容进行对应字段数据的存储。报文格式存放在db42中前6个字节中,采用语句表语言编写程序,如下:WWW_P※LCJS_CO※M-PLC-技-.术_网
l 2WWW_PLCJS_COM-PLC-技.术_网
t db42.dbb0 //从站地址WWW.PLCJS.COM——可编程控制器技术门户
l 3WWW_P※LCJS_COM-PLC-)技.术_网