6ES7368-3BC51-0AA0参数详细
一:MODBUS RTU规约概术
MODBUS规约是MODICOM公司开发的一个为很多厂商支持的开放规约
MODBUS 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。
此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。
二:丹佛斯MODBUS RTU概念
DANFOSS 变频器在自动化领域中有着大量的应用,作为变频器供应商,DANFOSS 一直把提高产品的通信应用水平作为其重点工作之一。基于MODBUS RTU协议,DANFOSS 开发了相应的控制集成卡,通过这种集成卡DANFOSS变频器可以以MODBUS RTU 协议方便与SCADA和HMI等设备集成在一起。
DANFOSS VLT2800或VLT5000(已停产)系列变频器MODBUS RTU通讯
与FC300系列变频器的通讯类似
三:S7-200、台达PLC与丹佛斯变频器接线:
S7-200 DSUB9 DANFOSS
3----+------------------68
8------------------------69
台达PLC
正信号+---------------------68
负信号-----------------------69
四:丹佛斯变频器的参数设置
1.VLT5000(已停产)或VLT2800变频器相关通讯参数设置:
561#---------2----RTU协议
500#---------1----485地址为1
501#---------5----9600
570#---------0----1停止位,EVEN校验
其他参数使用初始化参数
2.FC300或FC51变频器相关通讯参数设置:
8-30-----1----RTU协议
8-31-----5----地址
8-32----------波特率
8-33----------1停止位,EVEN校验
五:PLC的程序例子
如果该变频器加了MCO305同步卡或PROFIBUS卡,此通讯功能被占用。
例子: 1)如果是台达的PLC,该数据地址为该参数号P*10-1,
如3-10为参考值该地址为3099
2)如果是西门子S7-200的PLC,该数据地址为该参数号前面加4P再乘上10,
如3-10为参考值地址为43100。
PLC是一种新型的通用自动化控制装置,它将传统的继电器控制技术、计算机技术和通讯技术融为一体,但在使用时由于工业生产现场的工作环境恶劣,干扰源众多,为了确保整个系统稳定可靠,还是应当尽量使PLC有良好的工作环境条件,并采取必要的抗干扰措施。
PLC在安装和维护时应注意的问题
PLC的安装PLC适用于大多数工业现场,但它对使用场合、环境温度等还是有一定要求。
控制PLC的工作环境,可以有效地提高它的工作效率和寿命。在安装PLC时,要避开下列场所:
(1)环境温度超过0~50℃的范围;
(2)相对湿度超过85%或者存在露水凝聚(由温度突变或其他因素所引起的);
(3)太阳光直接照射;
(4)有腐蚀和易燃的气体,例如氯化氢、硫化氢等;
(5)有打量铁屑及灰尘;
(6)频繁或连续的振动,振动频率为10~55Hz、幅度为0.5mm(峰-峰);
(7)超过10g(重力加速度)的冲击。
小型可编程控制器外壳的4个角上,均有安装孔。有两种安装方法,一是用螺钉固定,不同的单元有不同的安装尺寸;另一种是DIN(德国共和标准)轨道固定。DIN轨道配套使用的安装夹板,左右各一对。在轨道上,先装好左右夹板,装上PLC,然后拧紧螺钉。为了使控制系统工作可*,通常把可编程控制器安装在有保护外壳的控制柜中,以防止灰尘、油污、水溅。为了保证可编程控制器在工作状态下其温度保持在规定环境温度范围内,安装机器应有足够的通风空间,基本单元和扩展单元之间要有30mm以上间隔。如果周围环境超过55C,要安装电风扇,强迫通风。为了避免其他外围设备的电干扰,可编程控制器应尽可能远离高压电源线和高压设备,可编程控制器与高压设备和电源线之间应留出至少200mm的距离。当可编程控制器垂直安装时,要严防导线头、铁屑等从通风窗掉入可编程控制器内部,造成印刷电路板短路,使其不能正常工作甚至损坏。
1 引言
石油化工生产中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协议通讯实现的过程。
2 控制系统简介
s7-400是大型可编程序控制器,由电源模板(ps)、中央处理单元(cpu)、信号模板(sm)、通信处理器(cp)等部分组成。s7-400h系统是s7-400的冗余系统,通过将发生中断的单元自动切换到备用单元的方法实现系统的不中断工作。它可以通过本地机架与s7-400的i/o模件、通讯网关连接,也可以通过基于profibus-dp总线的et200m分布式i/o与s7-300的i/o模块、通讯网关连接,以实现过程控制、与其它控制系统通讯。
3500机械保护系统是一个全功能监测保护系统,其设计应用了新微处理器技术。由1块或2块电源模块(3500/15)、框架接口模块(3500/20)、温度监测器模块(3500/60)、位移、速度、加速度监测模块(3500/42)、继电器模块(3500/32)、通信网关(3500/92)等组成。3500/92通信网关是3500系统主要通信通道,是与其它系统通讯的桥梁。
3 通讯方案选择
通讯实现的目标是将3500中的15个温度点和6个压缩机外壳振动点的值以及其报警、联锁状态送到s7-400h,由于通讯的数据量不大,选用modbus rtu协议。
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。
4 通讯系统硬件配置与接线
s7-400h的通讯处理器是cp341,在使用modbus rtu协议时需要一个硬件狗(dongle)。3500的通讯处理器是3500/92。由于它们处于同一柜内,距离在15米以内,传输接口形式选用了rs-232 。rs-232采用9 pin引脚,通常只用到引脚2、3、5,即接收数据、发送数据和信号地,接口连接如图1所示。
图1 传输接口的连接
3 软件实现
modbus rtu格式通信协议是以主从方式进行数据传输的,在传输的过程中主站是主动方,即主站发送数据请求报文到从站,从站返回响应报文。modbus系统间的数据交换是通过功能码(function code)来控制的,有些功能码是对位操作的,通讯的用户数据是以位(bit)为单位的:
fc01 读输出位的状态
fc02 读输入位的状态
fc05 强制单一输出位
fc15 强制多个输出位
有些功能码是对16位寄存器操作的,通讯的用户数据是以字(word)为单位的:
fc03 读输出寄存器
fc04 读输入寄存器
fc06 写单一输出寄存器
fc16 写多个输出寄存器[1]
cp341与3500/92的通讯,cp341做主站,3500/92做从站,主站、从站都需要设置波特率、停止位、校验位。这里设置波特率为9600bit/s,一位停止位,无奇偶校验。cp341 modbus协议通讯是通过simatic step7编程软件,并利用库函数fb8(p-snd-rk)和fb7(p-rcv-rk)功能块进行发送和读取数据操作的。它们均通过组态数据库的方法进行发送源信息和接收目的数据的信息,请求信息时,从源数据库读取相应字段后发送,接收信息是根据发送的内容进行对应字段数据的存储。报文格式存放在db42中前6个字节中,采用语句表语言编写程序,如下:
l 2
t db42.dbb0 //从站地址
l 3
t db42.dbb1 //使用fc03功能码
l 5000
t db42.dbw2 //10进制的5000在bently 3500中是modbus寄存器组态区域的起始地址
l 63
t db42.dbw4 //63是要从从站读16-bit字的数量
由于3500/92modbus rs-232/422 i/o模件通常响应时间少于0.5秒,因此,0.5秒发送一次对从站的数据请求:
an m30.0
an m120.7 //其为1时发出读的命令
l s5t#500ms
sd t30 //对bently 3500请求数据的速率
a m0.0
r t30
a t30
= m30.0
a m30.0
s m120.7
如果正在发送请求、发送完成或发送错误,就不能发出向从站的读数据请求命令:
a m120.7
an db40.dbx 0.0 //发送请求
an db40.dbx 0.4 //发送完成
an db40.dbx 0.5 //发送错误
r m120.7
s db40.dbx 0.0 //向bently 3500发出发送请求命令
发送请求必须是边缘发出的:
a(
o db40.dbx 0.4
o db40.dbx 0.5
)
a db40.dbx 0.0
r db40.dbx 0.4
调用cp341的发送功能块fb8:
call fb8,db50
sf :=‘s’
req := db40.dbx 0.0
r:= db40.dbx 0.1
laddr:=624 //cp341的模块地址
db_no:=42 //发送数据块=db42
dbb_no:=0 //db42中的起始地址
len :=6 //6 bytes
r_typ:=‘x’
done:=db40.dbx 0.4
error:=db40.dbx 0.5
status:=db40.dbw12
接收从站响应数据:
set
= db41.dbx 0.0 //允许cp341接收数据
call fb7 ,db70
en_r:= db41.dbx 0.0
laddr:=624
db_no:=43 //接收用户数据的数据块
dbb_no:=0
ndr:=db41.dbx 0.4
error:=db41.dbx 0.5
len:=db41.dbw10
status:=db41.dbw12
3500/92作为从站只是发送数据,所以设置很简单。从3500传输数据到plc,可以使用固定的协议地址,也可以使用可组态寄存器。可组态寄存器modbus地址范围是45001-45500(浮点:46001-46000)。由3500手册可知,通道的每种状态用一个bit表示,全部通道状态可用一个word表示,见表1。对于modbus协议,每一种功能码控制一个信息帧,即读位、读字要在两个信息帧中完成。为了提高通讯速度,通道的状态作为一个字与模拟量在同一个帧中传输,到plc后再将位取出。我们选用可组态寄存器作为modbus协议地址。
3500/92的modbus通讯组态是通过rack configuration software实现的。进入communication gateway界面后,点击configue按钮进入congigurable registers窗口,选择要传送的数据,将其拖入可组态的寄存器即可,见图2。
图2 3500/92 modbus寄存器组态
4 结束语
通过采用modbus rtu通信协议,实现了cp341与3500/92之间数据交换,高效地实现了西门子s7-400h可编程控制器与bently 3500的通信,实现了关键联锁的冗余,方便了对现场设备的控制和操作,避免大量的变送器的使用,降低了成本