6ES7223-1BH22-0XA8诚信经营
- 供应商
- 浔之漫智控技术-西门子PLC代理商
- 认证
- 手机号
- 15221406036
- 经理
- 聂航
- 所在地
- 上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
- 更新时间
- 2024-05-08 07:10
6es7223-1bh22-0xa8诚信经营
1 引言
石油化工生产中plc常常用于大机组的联锁与控制。对于机组的振动、位移等参数,点数较少时,可以采用变送器、传感器转换成4-20ma信号送入plc,实现联锁控制,但对键相、差胀等特殊测量参数或振动、位移等测量参数点数较多时,信号转换的难度大、成本高,使用传统的框架式机械保护系统反而会经济、有效。美国bently公司3500系统是传统的框架式机械保护系统之一,它可以运行于各种冗余级别,包括双电源供电和更高要求下的三重模块冗余(tmr)监测器组态。每个i/o卡可以对4-6个点的信号进行转换处理,并通过编程的方法实现联锁逻辑。茂名乙烯厂在2006年7月建成投产的2#丁二烯装置的压缩机联锁、控制中,采用德国西门子公司的s7-400h系统实现总的联锁和过程控制,外壳振动、轴瓦温度的联锁主要在bently3500中实现。为了实现数据共享和联锁冗余,需要将bently3500中的模拟信号和报警、联锁信号以通讯方式传输到s7-400h。本文以2#丁二烯压缩机控制系统为例,描述了simatics7-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,由于通讯的数据量不大,选用modbusrtu协议。
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,在使用modbusrtu协议时需要一个硬件狗(dongle)。3500的通讯处理器是3500/92。由于它们处于同一柜内,距离在15米以内,传输接口形式选用了rs-232。rs-232采用9 pin引脚,通常只用到引脚2、3、5,即接收数据、发送数据和信号地,接口连接如图1所示。
图1 传输接口的连接
3 软件实现
modbusrtu格式通信协议是以主从方式进行数据传输的,在传输的过程中主站是主动方,即主站发送数据请求报文到从站,从站返回响应报文。modbus系统间的数据交换是通过功能码(functioncode)来控制的,有些功能码是对位操作的,通讯的用户数据是以位(bit)为单位的:
fc01 读输出位的状态
fc02 读输入位的状态
fc05 强制单一输出位
fc15 强制多个输出位
有些功能码是对16位寄存器操作的,通讯的用户数据是以字(word)为单位的:
fc03 读输出寄存器
fc04 读输入寄存器
fc06 写单一输出寄存器
fc16 写多个输出寄存器[1]
cp341与3500/92的通讯,cp341做主站,3500/92做从站,主站、从站都需要设置波特率、停止位、校验位。这里设置波特率为9600bit/s,一位停止位,无奇偶校验。cp341modbus协议通讯是通过simaticstep7编程软件,并利用库函数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/92modbusrs-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.dbx0.0 //发送请求
an db40.dbx0.4 //发送完成
an db40.dbx0.5 //发送错误
r m120.7
s db40.dbx0.0 //向bently 3500发出发送请求命令
发送请求必须是边缘发出的:
a(
o db40.dbx0.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实现的。进入communicationgateway界面后,点击configue按钮进入congigurableregisters窗口,选择要传送的数据,将其拖入可组态的寄存器即可,见图2。
图2 3500/92 modbus寄存器组态
4 结束语
通过采用modbusrtu通信协议,实现了cp341与3500/92之间数据交换,高效地实现了西门子s7-400h可编程控制器与bently3500的通信,实现了关键联锁的冗余,方便了对现场设备的控制和操作,避免大量的变送器的使用,降低了成本
引言:在工业现场,计算机与设备之间的通信,一般都采用串行通信方式,通过计算机的串口,将串口线与设备的通讯口连接。根据现场控制要求,计算机与设备之间会有一定的距离。鉴于rs232接口标准的通信距离短,速率低的缺点,更多项目会采用rs485标准。rs485是从rs232标准中改进而来的,数据信号采用差分传输方式,也称作平衡传输,它使用一对双绞线,信号的“正”、“负”逻辑是通过两线之间电平的正负来确定的。在接线时,线的两端的接收器和发送器对应引脚相连。
软件简介
根据现场控制的要求,计算机要对在工业现场采集的参数实时显示,相应的发布控制指令完成对整个过程的控制。世纪星组态软件是在pc机上开发的智能人机接口软件,以microsoftbbbbbb98/nt/xp中文平台作为其操作系统。该软件充分利用了bbbbbbs图形功能完备、界面一致性好的特点,比以往的使用专用机开发的工业控制系统更有通用性,并且可以利用pc机丰富的软件资源进行二次开发。
硬件驱动设备
通信软件的核心是串口的通信驱动程序,利用vc++或vb等编程软件都可以实现串口通讯的底层协议的编制。在vc++中一般用如下方法可以进行串口通讯。一种是利用microsoft公司提供的activex控件microsoftcommunicationscontrol。另一种是直接用vc++访问串口,直接利用api对串口操作,此方法较复杂,但有很大的灵活性。为了缩短软件的开发周期,可以利用第三方提供的关于串口通信的动态连接库(dll)。将其连接或添加到自己要开发的程序中,就可以直接利用里面已编制好的函数来完成串口编程的操作;也可以选用组态软件的通讯协议以完成控制信号的传递。
硬件驱动是上位机远程控制的核心环节,要实现计算机与设备的串口通信,首先要打开计算机的串口并对其属性进行设置(即波特率、数据位、奇偶校验、停止位等参数的设置),此串口属性的设定要与设备的串口属性一致,否则将无法建立通信联系。其次,建立数据传输的格式时,不同的下位硬件的数据格式各不相同。实现通讯的两设备之间的数据传输格式必须严格一致,否则将不能对传入的数据进行识别,从而无法实现通讯。
软件设置
应用世纪星组态软件可以从复杂的通讯格式的编制中解脱出来。设备驱动程序和世纪星有机的结合在一起。来完成数据采集和实时控制。对于不同的硬件设备,利用世纪星的设备安装向导,配置相应的设备驱动程序即可。在世纪星的浏览器下。选择设备驱动,用户可以按照系统的提示,依次完成i/o设备驱动参数的设置。其操作步骤如下:
1)设备安装向导
双击设备安装向导,出现设备安装向导对话框,框中列出了工业生产中常用的一些硬件设备(如plc、板卡、智能仪表、变频器等)。如图1所示:
图1
组态软件已经对这些常用的设备根据各自的通讯标准,制作了相应的驱动程序,使应用人员从繁琐的底层驱动程序的开发中解脱出来。
2)选择硬件设备
在列表中选择相应厂家生产的硬件设备。列表将以树型分支方式列出某类设备的各种型号。根据用户的实际需要选择适当的类型。注意,由于设备的类型不同,其通信协议也可能不同,如果设备类型与实际应用的类型不符,将会出现无法通信的现象。
3)设置通信参数
设备选择完后,点击下一步后进行通讯方式及参数等设置。在设置窗口中需要指定设备名称、通信的端口号、设备地址以及出现故障时尝试恢复的时间间隔和恢复时间的上限。设备名称实际上是所建立的驱动程序的对象名。与实体的硬件设备建立一一对应的联系。在上位机对多台下位设备控制时。上位机通过各个设备的设备名称来区分应该对哪个设备进行控制。通信端口的列表框内列出了32个串口(coml~com32),在进行选择时,端口号应与通讯线实际连接的串口一致。设备地址实质是为新建的设备指定一个编号,在rs485标准的串行通讯协议中有地址信息,其数据应在这里指定。在多串口参数设置窗口中,根据设备说明书,对波特率、数据位、校验位等进行设置。通过上述的过程,为上位机与设备的通讯连接已经做好了充分的准备。
4)变量定义
在开发系统的浏览器中双击变量词典,世纪星组态软件把变量分为“内存变量”、“i/o变量”和“系统变量”等。i/o变量的特点在于可以与i/o设备进行数据交换。为了使建立的变量中的值能和硬件设备数据寄存器中的值建立一一对应的关系,必须为该变量指定要连接的设备名,以及对应的寄存器。如果采集上来的i/o值与要显示的工程值存在一定的比例关系,则需要在建立变量时做一个线性转换。例如:i/o值为3500时,要显示的工程值如果为70,需得将i/o值比例缩小50倍,即:i/o小值除以小值等于50、i/o大值除以大值等于50。如图2所示:
图2
定义好变量之后,就可以在工程的画面中做一些变量连接和动画效果了。开发者可根据要求进一步丰富控制画面,从而达到直观、生动的效果。
结束:
本文详细介绍了世纪星组态软件如何实现上位机与硬件设备的连接。基于组态软件的远程监控系统使操作人员远离危险操作环境,避免人员伤亡和国家的财产损失。利用组态系统中的报警记录、历史数据记录、报表生成的功能,使工业生产在管理层面上更方便、快捷。组态软件的工业化运用有很大的发展前景,在工业控制中占有优势
1 引言
现场总线控制系统(fcs)用数字信号取代模拟信号,以提高系统的可靠性、jingque度和抗干扰能力,并延长信息传输的距离。它既是一个开放的通信网络,有时一种全分布的控制系统,是一种新型的网络集成自动化系统,它以现场总线为纽带,把挂接在总线上相关的网络节点组成自动化系统,实现基本控制、补偿计算、参数修改、报警、显示、综合自动化等多项功能。
fcs用“工作站-现场总线智能仪表”的二层机构完成了集散控制系统(dcs)“操作站-控制站-现场仪表”的三层结构模式,降低了成本,提高了可靠性,且在统一的下可实现真正的开放式互连系统结构,是一种正在发展的很有前途的计算机控制系统。
目前具代表性的现场总线是profibus(processfieldbus)。profibus是由siemens公司推出的一种开放式现场总线标准,1989年成为德国标准din19245,1996年成为欧洲标准en50170,1999年12月被接受为iec61158的一部分。用于工厂自动化系统三级网络中的底层,即车间级监控和现场设备层数据通信与控制;使用于分散的、具有通讯接口的现场受控设备对底层设备有较高的数据集成和远程诊断、故障报警及数字化要求的系统。
profibus遵循iso/osi模型,其通信模型由三层构成:物理层、数据链路层和应用层。profibus由三部分组成,profibus-fms(fieldbusmessage specification,现场总线报文规范)、profibus-dp(decentralizedperiphery,分散型外围设备)、profibus-pa(processautomation,过程自动化)。其中profibus-dp已广泛适用于水电站自动化领域。
2profibus-dp的特性及系统组成
2.1profibus-dp的特性
profibus-dp使用物理层,数据链接层和用户接口,用于现场层的高速数据传送。主站周期地读取从站地输入信息并周期地向从站发送输出信息。总线循环时间必须要比主站程序循环时间短。此外,profibus-dp还提供智能化现场设备所需的非周期性通信以进行组态、诊断和报警处理及复杂设备在运行中参数的确定。
profibus-dp基本功能和特性如下:
(1) 远程离高速通信
支持9.6kbps到12mbps的传输速率;12mbps时大传输距离为100m,1.5mbps时为200m,另外还可以用中继器延长;
(2) 分布式结构
各主站间令牌传递,主站与从站为主-从传送;每段可有32个站,用连接线可扩展到126个站;
(3) 易于安装,开放式的通讯网络;
(4) 可靠性高,具备自诊断功能。
profibus-dp主站分为一类主站和二类主站。一类主站完成总线通信控制与管理,完成周期性数据访问,包括plc、pc或可做一类主站的控制器。二类主站完成非周期性数据访问,如数据读写、系统配置、故障诊断等,包括操作员工作站(如pc机加图形监控软件)、编程器、hmi等。profibus-dp从站主要进行输入、输出信号采集和发送,包括plc或其他控制器、分散式i/o、智能现场设备等。
2.2系统组成
为便于叙述和理解,现组成一个双主站单从站的profibus-dp网络,如图1所示。具体配置如下:
图1 profibus-dp网络
(1) 硬件:带siemens cp5611卡的pc机两台,一台配置为一类主站,另一台配置为二类主站;从站为siemenss7-200 系列plc的cpu224一块,带siemens em277dp通讯模块;三个网络连接器;连接线为双绞线。
(2) 软件:用于软件编程的step7-microwin3.2和用于实现profibus-dp协议网络配置的simaticnet6.0