1 引言
在供水系统中,恒压供水是指在供水网系中用水量发生变化时,出口压力保持不变的供水方式。本文采用计算机(PC)、可编程控制器(PLC)、变频器组成变频恒压供水监控系统,通过变频调速实现恒压供水、满足节能降耗的要求,而且有利于实现生产的自动化及远程监测。用水量变化具有随机性,用水高峰时水压不足,低谷时又造成能量浪费。变频恒压供水系统根据公共管网的压力变化,通过PLC和变频器自动调节水泵的增减、水泵电机的运行方式及电机的转速,实现恒压供水,既防止了能量空耗,又避免出现电机启动时冲击电流对设备的影响。
2 工作原理
变频恒压供水系统采用一台变频器拖动两台大功率电动机,可在变频和工频两种方式下运行;一台低功率的电机,作为辅助泵电机。
启动方式:为避免启动时的冲击电流,电机采用变频启动方式,从变频器的输出端得到逐渐上升的频率和电压。启动前变频器要复位。
变频调速:根据供水管网流量、压力变化自动控制变频器输出频率,从而调节电动机和水泵的转速,实现恒压供水。如设备的输出电压和频率上升到工频仍不能满足供水要求时,PLC发出指令1号泵自动切换到工频电源运行,待1号泵完全退出变频运行,对变频器复位后,2号泵投入变频运行。
多泵切换:根据恒压的需要,采取无主次切换,即“先开先停”的原则接入和退出。在PLC的程序中,通过设置变频泵的工作号和工频泵的台数,由给定频率是否达到上限频率或下限频率来判断增泵或减泵。在用水量较小的情况下,采用辅助泵工作。
为了避免一台泵长期工作,任一泵不能连续变频运行超过3小时。当工频泵台数为零,有一台运行于变频状态时,启动计时器,当达到3小时时,变频泵的泵号改变,即切换到另一台泵上。当有泵运行于工频状态,或辅助泵启动时,计时器停止计时并清零。
故障处理:能对水位下限,变频器、PLC故障等报警。PLC故障,系统从自动转入手动方式。
3 PLC控制电路
系统采用S7-200PLC作下位机。S7-200PLC硬件系统包含一定数量的输入/输出(I/O)点,同时还可以扩展I/O模块和各种功能模块。输入点为6个,其中水位上、下限信号分别为I0.0、I0.1。输出点为10个,O0.0-O1.0对应PLC的输出端子。对变频器的复位是由输出点O1.0通过一个中间继电器KA的触点来实现的。根据控制系统I/O点及地址分配可知,系统共有5个开关量输入点,9个开关量输出点;1个模拟量输入点和1个模拟量输出点。可以选用CPU224PLC(14DI/10DO),再扩展一个模拟量模块EM235(4AI/1AO)。
4 PLC通信程序
S7-200PLC硬件功能完善,指令系统丰富。可为用户提供多种通讯方式:PPI方式,MPI方式,自由通讯口方式等。应用自由通讯口方式,使S7-200PLC可以与任何通信协议已知,具有串口通讯的智能设备和控制器(如打印机、变频器、上位PC机等)进行通信,也可以用于两个CPU之间简单的数据交换。该通信方式使可通信的范围大大增大,使控制系统配置更加灵活、方便。
采用PLC自由通讯口方案,PLC工作于从站,PC处于主站模式,PLC从站只响应来自主站的申请。主站向PLC从站发送指令格式的报文,读指令00为向从站PLC申请产生于PLC的数据,读取水压,频率,变频泵号,工频台数,辅助泵状态等数据;写指令01为向PLC传送产生于主站的数据,包括压力设定值和控制器输出值。在自由口通信模式下,通信协议完全由用户程序控制。通过设定特殊存储字节SMB30(端口0)或SMB130(端口1)允许自由口模式,用户程序可以通过使用发送中断、接收中断、发送指令(XMT)和接收指令(RCV)对通信口操作。
应用发送指令(XMT),可以将发送数据缓冲区(TBL)中的数据通过指令指定的通信端口(PORT)发送出去,发送完成时将产生一个中断事件,数据缓冲区的第一个数据指明了要发送的字节数。应用接收指令(RCV),可以通过指令指定的通信指定端口(PORT)接收信息并存储与接收数据缓冲区(TBL)中,接收完成也将产生一个中断事件,数据缓冲区的第一个数据指明了要发送的字节数。
初始化程序:
LD SM0.0 // 开机始终为ON
MOVB 16#9,SMB30
file://自由口通信,选择9600波特,8位数据位,无校验
MOVB 16#2, VB0 file://预设PLC地址
MOVD &VB1000, VD20
file://设置接收缓冲区,将其首地址传给指针VD20
MOVD &VB1200, VD30
file://设置发送缓冲区,将首地址传给VD30
MOVD VD20, VD24 file://指针值保存
MOVD VD30, VD34
MOVB 8, SMB34
file://设置8ms的定时器0时基中断
ATCH 0,8
file://接收字符连接到中断0,连接静止线定时器和接收器
ATCH 1,10
file://定时中断0,连接到中断1
ENI file://开中断
为了保证通讯接收的可靠性,程序采用前导符,PLC地址,静止线接收,结束字符。首字符的确认可通过设置前导符来完成,并且通过比较还可以剔除部分干扰字符。首字符确认:
Network 1 file://判断前导符
LD SM0.0
AB<> SMB2, 16#40
file://不是前导符则跳出中断
RETI
Network 2 file://终止定时中断
LD SM0.0
DTCH 10 file://断开时基中断
Network 3
file://是前导符则连接中断3
LD SM0.0
AB= SMB2, 16#40
ATCH 3, 8
静止线是通讯过程中的一个检测用时间,即设定的数据传输过程中无任何数据的任意2点的间隔时间。静止线的设计和处理包括长度的确定及定时器和接收器的设计。
INT_ // 静止线定时器
LD SM0.0
ATCH 1, 10
file://静止线定时器采用8ms的时基中断。
INT_1 // 静止线接收器
LD SM0.0
ATCH 2, 8 file://开始接收字符
尾字符的确认和校验处理:
Network 1 // 接收及计算校验码
LDN M0.0
LDB<> SMB2, 16#2A
// 判断是否为第一个结束符
MOVB SMB2,*VD24
file://不是则保存数据并计算异或值
XORW SMW1, AC0
INCD VD24
INCD VB40
Network 2
file://如果是第一个结束符,则对M0.0置位,并跳出中断,
file://接收下一个字符,看是否为第二个结束符
LDN M0.0
AB= SMB2,16#2A
S M0.0, 1
MOVB SMB2, AC1
RETI
Network3
LD M0.0
AB<> SMB2, 16#0A
file://判断第二个结束符,如不是则继续执行
AB<> SMB2,16#2A
file://判断又是第一个结束符?不是则执行保存数据,
file://异或运算,并对M0.0复位。
XORW AC1, AC0
MOVB VB300, *VD24
INCD VD24
MOVB SMB2, *VD24
XORW SMW1, AC0
INCD VD24
INCD VB40
INCD VB40
R M0.0, 1
RETI
Network 4
file://如果又是第一个结束符,则上一个是有用的数据,需要保存
LD M0.0
AB= SMB2, 16#2A
XORW AC1, AC0
MOVB VB1300, *VD24
INCD VD24
MOVB SMB2, AC1
RETI
Network 5
file://如前一个为2A,现在接收到0A,则接收完毕,启动延时中断
LD M0.0
AB= SMB2, 16#0A
DTCH 8
file://断开接收状态,准备组织发送
MOVB 20, SMB34
ATCH 5, 10
file://连接中断5,根据接收到的信息组织数据发送
对不方便设置尾字符的,可以采用计数的方式对中间字符进行接收,计数到则执行一个专门中断程序来执行接收结束的处理。对尾字符的判断处理采用以下流程进行处理。校验采用从PLC地址号开始,与数据(不包括两个连续的尾字符)进行异或校验。每接收一个字符就进行尾字符判断,如果不是尾字符则在接收的同时进行异或校验。
5 监控程序设计
上位机的程序流程图如图1所示。根据接收到的数据进行判断,如接收到的是读写错误,则要求重发。如为写成功,则开启定时器1,定时采样;如读成功,接收到的是采样数据则进行显示和调用神经网络进行数字处理,处理完毕发送频率和设定压力值,并开启定时器2,等待响应。
系统主窗体四个按钮控件,分别为参数设置、实时监测、启动和关闭系统。参数设置界面如图2所示。用户可根据实际情况修改压力设定值。
主要控件功能包括:
(1) 压力设定值:压力设定值范围:0.30-0.60Mpa。
(2) 校正系数:主要是对压力显示进行校正,使压力显示与压力表显示一致。
(3) 复位按钮:运行中按下,将使系统重新启动,各参数回到初始设置。
(4) 设定按钮:在文本框输入压力设定值和校正系数后,按下此按钮,压力设定值和校正系数才能通过串口发送给下位机。
图1 上位机流程图
图2 供水系统参数设置界面
图3 供水系统实时监测界面
图3所示为系统实时监测界面,可显示当前的实际水压和频率值;三个指示灯主要接收PLC回送的信息,实时监测各泵的运行情况,正常显示为绿色;故障时,相应的控件变成红色显示。
6 结束语
投入运行的项目工作稳定,人机界面直观友好。项目充分发挥S7-200 PLC硬件功能完善,指令系统丰富和通讯功能强大的技术特点。