基于MPI网络的自来水厂分布式监控系统_通信网络论文
关键词:mpi网络 plc 监控系统
目前,应用于各种领域和场合的计算机分布式监控系统种类繁多,设计方法和构成方式各不相同,但共同的目标都是朝着高效、可靠和通用方向发展。此外,所设计的监控系统应具有较高的性能价格比也是业内人士的共识。笔者根据多年的开发经验,设计了一种性能价格比较高的适用于中小型的分布式数据采集与监控,运行效果良好。
1 监控系统的构成
某自来水厂按功能分为两部分,一部分是水源地;另一部分是水厂区,二者距离 900m。水源地的任务是通过三台深井泵对水厂区的蓄水池进行供水;而水厂区的任务是对水池的水进行消毒处理后,通过加压泵向市区管路进行恒压供水。
整个监控系统由位于水厂区的上位pc机、主站plc和水源地的三个从站plc构成(见图1)。上位pc机通过cp5611mpi卡与主站plc完成整个系统的现场数据检测、数据处理及计量等工作。主站plc完成两方面任务,一是水厂区现场数据的采集及市区恒压供水的控制;二是与水源地的三个从站进行通信,完成水源地现场数据的采集与深井泵的控制。
监控系统的主站和从站plc都选用西门子s7系列产品。该产品在工程领域应用广泛,尤其是有较强的是有较强的组网能力。s7系列plc通常有四种组网方式:点对点、mpi多点网络、profibus和工业以太网。其中profibus现场总线的应用目前较为普遍,它有较好的通用性,速度达12mbps,距离达28.5km,相关应用著作也较多。而其它方式如工业以太网方式对硬件要求较高;点对点的速度太慢,都不适合本监控系统。相对而言,mpi网络速度可达187.5mbps;通过一级中继器可达距离1km。根据水厂的具体情况,我们最后确定了以mpi方式组成网络,主站cpu为s7-300系列的cpu312ifm;从站为s7-200系列的cpu222.这样既满足了系统要求,又相对于profibus网络节省了三分之一的开销,更重要的是为中小规模场合的分布式监控系统的设计提供了一种较高性能价格比的设计方法。至于中继器的选择,由于plc的层采用rs485接口,所以有很多相关的第三方产品支持。从中我们选用一种带防雷保护的中继器,使系统的安全运行得到了保障。
2 主部plc控制原理
主站plc有三个任务:
(1)水厂现场数据采集;
(2)供水管恒压力控制;
(3)水源地数据采集及深井泵远程控制。
以cpu312imf为核心的主站控制电路如图2所示。
首先,水厂现场数据有7路模拟量,我们选择的ai/ao扩展模块为sm334,它包括4路模拟量输入和2路模拟量输出。为降低成本,我们用2片cd4066模拟开关进行扩展,构成8路ai输入。当ao2输出0v时,选通4066-1的4路模拟量输入;而当ao2输出10v时选通4066-2的4路模拟量。这种分时采集的方法利用plc编程较易实现。实际应用中,分时操作时间间隔为100ms,各个采集量的含义及内存地址如表1所示。
表1 水厂区模拟量数据
名 称 | ai地址 | 内存 | ao2输出(v) | 含 义 |
电压 | piw256 | mw0 | 0 | 变频控制柜电源电压 |
电流1 | piw258 | mw2 | 0 | 1#水泵工作电流 |
电流2 | piw260 | mw4 | 0 | 2#水泵工作电流 |
备用 | piw262 | mw6 | 0 | 备用 |
流量 | piw256 | mw10 | 10 | 供水流量 |
压力 | piw258 | mw12 | 10 | 供水母管压力 |
液位 | piw260 | mw14 | 10 | 蓄水池液位 |
余氯 | piw262 | mw16 | 10 | 蓄水池水中余氯含量 |
其次,对水厂加压泵的控制采取变频调速技术,以供水母管压力为被控量,实现恒压力控制。水厂加压泵有p1和p2两台,在恒压力控制过程中,根据市政区用水流量的大小变化,plc要通过数字输出端口q124.0~3控制两台泵的工作状态。两台加压泵共有5种工作状态,如表2所示。
表2 p1和p2水泵的工作状态
状态 | q124.0 | .1 | .2 | .3 | 说 明 |
s1 | 1 | 0 | 0 | 0 | p1变频 p2停机 |
s2 | 0 | 1 | 1 | 0 | p1工频 p2变频 |
s3 | 0 | 0 | 1 | 0 | p1停机 p2变频 |
s4 | 1 | 0 | 0 | 1 | p1变频 p2工频 |
s0 | 0 | 0 | 0 | 0 | 系统停机 |
5种工作状态的相互转换如图3所示。当然,实际plc编程时,要根据水泵的工作特点,应利用定时器加入适当的延时,在我们设计的系统中,欠压加泵延时为90秒;超压减泵延时为60秒。
供水压力闭环控制算法,我们采用一种适用于plc控制的智能pid算法。其原理是,按压力偏差e(k)划分三个区,如图4所示。该偏差变化率为ec=e(k)-e(k-1),pid算法输出为u(k),相应的控制规则如下:
规则1:e(k)>emax,则u(k)=umax;最大值输出
规则2:e(k)<-emax,则u(k)=0;最小值输出
规则3:|e(k)|<emin,则u(k)=u(k-1);保持区
规则4:emin≤|e(k)| ≤emax,
则u(k)=u(k-1)+k1×e(k)+k2×ec(k)/(k)
式中,k1和k2为系数。pid运算的结果u(k)通过ao1输出(0~10v),送给变频调速器,通过调速加压泵p1或p2达到供水恒压控制的目的。经实验验证,该pid算法效果较理想。
关于水源地数据采集及深井泵控制问题,将在后面通信问题中讨论。
另外,变频控制系统中的故障信号分别通过i124.0、i124.1和i124.2输入plc中。当故障产生时,系统停机。图5(a)为主站plc的程序结构。
3 从站plc控制原理
三个从站plc都以cpu222为核心,控制电路及结构相同,分别控制三个取水深水泵的运行及现场数据采集,如图6所示。其中q0.0控制深井泵的运行,i0.0为深井泵过载信号输入端,q0.1为故障报警输出端。深井的水管压力、深井泵电压和电流三路模拟信号的现场采集通过4路模拟量输入模块em231实现。程序框图见图5(b)所示。
4 主从站plc的通信
主、从站plc的通信主要是完成水源地深井泵的控制及现场数据的采集。在mpi网络中,各节点的地址分别为:pc机为0;主站plc为2;从站1 plc为4;从站2 plc为6;从站3plc为8。主站通过系统功能函数sfc67和sfc68分别对三个从站进行读和写操作。具体说,主站plc的m8.0实现深井泵的启停控制,而深井泵的压力、电压、电流和过载故障信号则由主站plc进行读取。
5 上位pc机编程
为了监控plc的通信,使系统软件更稳定可靠,上位pc机使用西门子公司的simatic wincc软件进行组态软件设计。通过系统变量标签、图形编辑器和报表编辑器等组态工具,可以方便地由主站plc中获取整个监控系统的状态参数及运行数据。另外,我们通过vb编程,对系统数据进行计算和管理;利用dde技术分别实现vb与wincc的数据交换、excel与wincc的数据交换。我们设计的上位机软件可以实时监测水厂及水源地的各个现场数据、报警状态;显示与打印电流、压力及流量等各种曲线及报表,并将数据存入excel数据库中。此外,在界面设计上,我们利用动画技术,使界面更友好、生动,且操作方便。通过人机交互,可以方便地控制整个监控系统的运行。
本文所述自来水厂分布式监控系统,由于采用mpi网络通信和wincc组态软件,使系统在整个上具有较高性价比。在上位机关机时,监控系统在主站plc控制下仍可正常工作。对于中小规模监控场合,该系统具有较好的推广价值。