污水厂新增提升泵流量计与自动化系统通信
2014-12-14姬常州
姬常州
(广州市净水有限公司 广州)
一、概况
沥滘污水厂一期设计日处理水量为20万t,提升泵房有5台提升泵,3用2备。每台提升泵功率150 kW,使用ABB软启动进行降压启动,额定流量为2083 m3/h。污水提升高度15 m,提升泵管径D1200 mm,每天预计总提升量为23万t。一期原设计中,提升泵电房柜内有自控设备PLC,型号Allen-Bradley Logix5550 Controller,对提升泵房阀门、粗细格栅、提升泵进行自动远程控制和状态监控,没有相应的通信模块,但PLC具有较好的功能扩展性,能够按要求增加各种特殊功能模块实现不同需求。
二、改造方案
一期原设计中,污水提升泵没有安装流量计,所以无法对泵的工况流量实施监控,也不能及时与出水总量对比。为更好地体现节能降耗的效果,决定对每台提升泵安装流量计,并通过Modbust通信传输方式,实时监控泵的运行情况和记录提升流量的工况。
图1 MVI56-MCM通信模块工作原理
1.电磁流量计特点
测量管道内无阻力元件,没有附加的压力损失,不易发生堵塞,具有显著的节能意义;测量管道内无可动部件,不易磨损,因此传感器寿命长;传感器所需的直管段较短,方便安装;合理选择电极和内衬材料,可耐腐蚀和耐磨损;双向测量系统,可测正反向流量;流量的测量为体积流量,不受流量的密度、黏度、温度、压力、和电导率变化的影响;传感器感应电压信号与平均流速呈线性关系,测量精度高(±0.3%~-0.5%),量程比宽(1∶150)。一般具有模拟量输出和Modbus通信两种数据传输方式。
图2 定义模块用户数据类型
2.Modbus协议在电磁流量计通信中的作用
图3 立式铣床加工多铸球模具简图
目前污水处理厂所用的电磁流量计,大部分都配有串行数据接口(如 RS-232/485),并且接口支持 MODBUS总线协议。一般电磁流量转换器 MODBUS通信采用标准 MODBUS通信协议,MODBUS模块和上位机进行通信为 600~19 200 bps,波特率设备地址可以通过键盘进行设置。通信由主机发起,主机首先发送消息帧,消息帧的发送间隔必须>3.5个以上字符的发送时间。消息帧发送的第一个字节是设备地址,从设备不断的侦测网络总线当接收到第一个字节,每一个设备都进行解码以判断是否是发往自己的消息帧;接收到一个字符之后,如果停顿时间超过 3.5个以上字符的发送时间,标志着前一个消息帧发送结束,一个新的消息帧在此停顿后开始。字符间隔不能大于一个字符,否则认为是一条新的消息帧开始,老的消息帧结束。消息帧定义见表1。
表1 消息帧定义
Modbus通信协议规定了2种通信方式,RTU (REMOTETERMINAL UNIT)方式,采用 8位字节的二进制数据通信,数据校验采用CRC循环冗余校验,通信速度较快;ASCII方式,采用7位ASCII码进行通信,数据校验采用LRC逻辑冗余校验,通信速率较慢。
针对MODBUS在电磁流量转换器上的应用,在 MODBUS的功能码中,不同公司采用不同的方式实现,有的公司只用了3个功能码:03、04、06。03 号功能码主要用来读取流量信息,包括瞬时流量、流速、流量百分比、电极电阻、正向累计、反向累计、仪表口径、报警状态等;04号功能码用来读取键盘参数,06号功能码用来设置键盘参数。
根据以上特点,计划安装上海科隆电磁流量计。由于污水厂的节能降耗要求,需要将累计数据准确上传到中控室,电磁流量计决定使用Modbust通信传输方式。过程需要在原有自控设备PLC增加MVI56-MCM通信模块,并与流量计能进行良好通信,使用总线型拓扑结构,PLC与中控通过原有光纤传输数据,中控室上位机系统为Factorytall view SE终端控制。
表2 主站命令内容
图4 模块数据进行清零
三、设备编程调试
1.MVI56-MCM通信模块工作原理
MVI56-MCM通信模块是Modbus网络和PLC之间的一个网关。工作原理见图1。
该模块被设置为主站驱动模式,其他通信对象为从站,所有输入、输出数据都是通过模块内部数据库与镜像数据地址进行交换,该数据库长度为0~6999个字,前5000个为用户交换数据,后2000个为模块设置和状态,模块的启动及通信控制包括各个从站数据读、写,从站地址周期轮询都通过PLC程序控制,但是发送到各个从站的启动命令、控制命令等是要事先填写到模块对应的数据表中。
2.模块在PLC中的整个组态过程
(1)添加硬件模块到PLC中。选择Modbus模块点击OK添加到程序中,如果PLC程序版本比较低,则需要通过厂家提供的光盘对硬件库进行升级,才能找到后期生产的MVI56-MCM通信模块与当前PLC编程软件兼容。
(2)模块设置。对模块进行设置,包括模块名称、描述、槽号、通信的数据格式、模块输入、输出的数据库大小。
(3)设置完成后显示一个已组态的模块。
(4)接着需要定义模块用户数据类型(User Defined Data Types),见图2。在厂家提供的光盘中有这些样例程序,可以直接拷贝这些已经定义好的数据块。当模块运行时在模块中存放着通信数据和状态数据,但是这些数据是存放在连续的地址中并且不带注释,在实际使用中不能直观地了解数据内容,因此需要将这些数据传输到PLC已定义好的数据库中,方便使用和调用这些数据。
(5)打开模块定义好的标签库就可以看到相应的标签地址。为了使用模块,还需要对模块设置一些数据,这个数据块在添加模块时已经生成,仅通过定义就可以调用。
(6)模块端口设置(图3)。主站命令内容见表2。
3.程序编写
在PLC程序中添加一个Modbus周期扫描程序。模块通信不是一个连续的过程,是对各个从站进行轮询,并且PLC程序也是周期扫描读取的,因而读取到的数据会和现场有一定的延时,但它保证了准确无误差地读取数据,对于实时控制要求不高但要求数据准确的控制是有效的。为防止PLC停电和重新上电时或模块重启显示错误数据,必须要使用模块初始化程序对模块数据进行清零,见图4。
主程序通过判断Local:1:l:Data[249]的状态确定是否有新的数据从模块传输的处理器,如果有更新,程序将按顺序执行读ReadData和写WriteData任务(图5)。
图5 判断与读写
下一行程序判断在输入镜像中接收到的新数据是否是用户数据。如果是梯形逻辑程序会把数据正确的放在处理器的读数据区MCM.ReadData[].每次块传输可以传送200个数据字,除用户数据外,数据中还包含重要的状态数据。这些数据也要复制到模块的响应数据区域中区MCM.InStat,通过这些状态字可以判断模块是否正常(图6)。
图6 判断数据
图7 对从站地址发送请求命令
图8 模块设置传送
图9 模块设置命令
PLC控制模块对从站地址发送请求命令,共128个从站(图7)。
将模块设置传送到模块每次传送200个字,3次共600个数据(图8)。
允许模块设置命令为9000(图 9)。通过以上设置启动通信模块发送通信命令和接受子站数据。
4.科隆电磁流量计参数设置
C5.8.2地址设置 00……15
C5.8.3信息传输文本No parity
C5.8.4说明Big Endian
C5.8.6停止位 1 stop bit提升泵启动命令;1A 03 00 89 00 1E 17 C3
1A设备地址,03 00读取数据表,89 00 1E读取数据长度,17 C3命令校验码。
Modbus通信是当前不同厂家设备间通信普遍使用的一种协议,在实际使用中必须了解双方设备应用与设置,每种产品的设计不一样,所要编写的程序也不一样,要求厂家提供细致的说明是很必要的,但是国产设备普遍提供的说明都过于简单对调试有很大的影响,因此需要与设备技术人员进行沟通的同时需要通过第三方提供的RS232测试软件进行测试以确定其数据格式和数据表格中的位置。
四、小结
污水厂提升泵房是将需要处理的污水进行势能提升,其电能消耗在污水处理过程占相当大的部分,因此工况能耗检测是很重要的。当集水井水位过低或污水含砂量过大就会影响提升量,污水处理过程中部分污水会在污泥回流、排泥、冲渣、终水回用以及管道超越等处损失掉。当损失量过大时将影响能效比,导致生产成本提高,因此需要对提升量和出水流量进行对比,及时分析数据降低能耗,为节能降耗的工作做好铺垫。
在污水计量中起到关键作用的流量计就显得非常重要,为保证计量数据的稳定性、可靠性和精确性,采用串口方式基于Modbus协议进行数据通信的优势就尤为突出。这种串口通信方式,必将在今后污水处理厂的自动化系统和信息集成系统中,应用的更加广泛。