1 引言
沂河桃园橡胶坝位于山东省临沂市境内。橡胶坝是用高分子合成材料,按要求的尺寸、锚固于河床底板上形成封闭状、用水(气)充胀后形成的挡水坝。不需挡水时,放空坝袋内的水(气),就可恢复原有河渠的过水断面。橡胶坝可用于防洪、灌溉、发电、供水、航运、挡潮及城市园林美化,也可用于活动围堰、渠系临时挡水工程等。
沂河桃园橡胶坝担负着当地拦河蓄水、泄洪、航运管理等重要任务。计算机自动化监控系统是工程正常运行管理和安全渡汛的一个重要保障措施。本自动化监控系统充分利用计算机技术、现场总线技术、网络技术、自动控制技术等高端技术进行橡胶坝的自动化监控,提升了橡胶坝和船闸状态监视,运行控制,日常管理的现代化水平,同时也为今后实现跨地区分布式网络化多媒体远程监控打下了基础。沂河桃园橡胶坝自动化控制系统的开发能够提高橡胶坝的现代化管理水平,具有很强的经济和社会意义。
2 系统整体结构
橡胶坝控制系统的整体结构设计如图1所示,主要由现地测控系统和上位远程监控系统两部分组成数据采集与监视控制系统(scada系统)。橡胶坝现地测控系统选用西门子s7-300和s7-200系列plc平台开发,以plc为核心,采集各种传感器的信号,完成上下游水位及闸室水位、葛沟水位、船舶监测、各闸门开启高度、坝袋内压、坝体高度以及坝体其他参数的检测。它主要包括两套s7-200现场船闸控制柜、一套s7-300充排水泵控制柜、一个葛沟水位站监测柜、交通信号灯、电动蝶阀和现场所安装的数据采集及相关控制设备所构成的硬件系统,同时,还包括针对大坝安全监测所用的设备渗压计。
图1 橡胶坝控制系统结构图
上位机远程控制系统主要由两台工业控制计算机及其监控软件、大坝安全监测设备mcu、工业交换机等组成。两台工业控制计算机,一台作为服务器,另一台作为客户机,客户机和服务器采用opc通讯;监控软件主要是实现控制系统的参数设置、工作状况显示、运行控制、数据统计和历史记录查询等功能,实时接收现地传感器等运行数据,记录各个坝袋以及闸门的运行情况,全面监控橡胶坝控制系统的整体运行情况。
通讯方面,两套s7-200现场船闸控制柜与s7-300控制柜采用profi-busu协议,葛沟水位s7-200监测柜与s7-300控制柜采用无线电台远程传输方式。服务器与客户机采用工业以太网通讯。同时,大坝安全监测设备mcu和监控主机采用rs485协议。
橡胶坝测控系统必须在充分考虑船闸启闭及充排水泵操作的安全性和可靠性的前提下,利用成熟的工业控制技术、传感器技术、数据传输技术以及计算机技术,实现橡胶坝船闸及泵信息的实时采集、闸门自动精确启闭、以及相关环境及船闸管理情况的实时监控。
[DividePage:NextPage]
3 监控系统功能设计
3.1 闸门和泵控制
(1) 现地控制:现场操作人员能通过一组切换开关实现人工控制方式与自动控制方式的转换。在人工控制方式下,现场操作人员可按原有方式启闭闸门或泵,其动作相关信息将接受上级部门的实时监控。在自动方式下可以进行远程控制。人工和自动控制方式也可通过远程监控系统切换。
(2) 远程控制:根据各级用户通过网络发给现场测控单元(plc)的指令,闸门可自动开启或关闭,充、排水泵自动启动或者停止,其动作由各级用户根据权限控制。
(3) 闸门启闭及泵启动告警:在闸门将要启闭以及启闭过程当中,在闸门启闭装置附近应有相应的声光装置发出告警提示,以提醒在现场的工作人员注意。
(4) 限位保护:在闸门启闭装置的最上面和最下面应安装启闭机运行范围的限位开关,一旦启闭装置运行到这两个位置时,这两个限位开关将立即通知测控单元,切断启闭机电源,以避免启闭机超出运行范围。
(5) 相序保护:在启闭机的供电线路里面应串有相序保护器,避免由于三相电源相序混乱所造成的启闭机电机的不正常运转。
(6) 过载保护:每个启闭机的控制电路里面必须配有热过载继电器,根据不同电机功率要求其有不同的设定值,当电机发生过载或是其他故障时,此继电器将能自动切断电机的供电电源,以免烧毁电机。
3.2 数据监测
实时监测数据应包括:闸前水位、闸后水位、闸门开度、闸门荷载、闸门上升或下降接触器状态、闸门行程开关状态、启闭机保护装置状态、动力和控制电源状态、有关操作按钮或开关状态、闸门启闭机电源电压、电流等。
(1) 水位监测:在闸室及闸室前后都要按水位观测要求安装水位传感器,以便实时监测闸室及闸室前后的实时水位信息。
(2) 闸位的自动跟踪测量:无论闸门动作与否,安装于闸门启闭机传动装置上的闸位计都应实时检测闸门的高度值,并上传给现场测控单元。
(3) 电流、电压监测:在供电线路里面还要配置多功能电表,用以实时监测三相电源的电流和电压,为启闭机的启闭操作提供参考数据。
(4) 液压系统监测:包括油压、压力报警信号(超压、欠压)、滤油器堵塞报警信号、油箱油位过低报警信号;
(5) 环境监测:在发电机室中装有温湿度等传感器,用以实时监测机房中的工作环境状况。
(6) 状态监测:包括进出闸信号灯状态、上下游闭锁状态、闸门上升或下降接触器状态、闸门行程开关状态、启闭机保护装置状态、动力和控制电源状态、有关操作按钮或开关状态等。
3.3 充排水控制系统
坝袋充排水控制系统主要由上位控制系统、充排水泵、软起动器、电气控制装置、水位检测设备、坝袋高度及坝袋内压检测设备等组成,根据坝袋高度、坝袋内压以及水位,通过对水泵电机的启停控制以及输水管路上的电动蝶阀的开关等进行坝袋的充排水自动控制,坝袋的充排水所需时间必须与工程的运用要求相适应。
坝袋充排水控制系统主要包括汛期和非汛期两种充排水控制方式,汛期时,我们根据葛沟水位的情况,作出一个闭环控制,来调节坝袋的高度;非汛期时,我们根据上游水位的情况,作出一个闭环控制,来调节相应坝袋的高度。
4 系统硬件设计
4.1 可编程控制器的选型
针对用户要求,要求设备plc模块化、高性能、高可靠性、高速指令处理、用户友好的参数设置、简单的维护及服务和合理的价格等,综合考虑各个plc品牌的性能和性价比,我们选用了simens的可编程控制器s7-200和s7-300系列,s7-200作为子站,s7-300作为主站。其中,葛沟水位站plc采用了cpu222,船闸启闭控制plc采用了cpu226, s7-300采用了cpu315-2dp。
[DividePage:NextPage]
4.2 扩展从站模块扩展从站模块(em277profib-us-dp):可将s7-200 cpu连接到profibus-dp网络。em277经过串行i/o总线连接到s7-200 cpu。pro-fibus网络经过其dp通信端口,连接到em277 profibus-dp模块。这个端口可运行于9600波特和12m波特之间的任何profibus波特率。作为dp从站,em277模块接受从主站来的多种不同的i/o配置,向主站发送和接收不同数量的数据。这种特性使用户能修改所传输的数据量,以满足实际应用的需要。与许多dp站不同的是,em277模块不仅仅是传输i/o数据。em277能读写s7-200cpu中定义的变量数据块。这样,使用户能与主站交换任何类型的数据。首先将数据移到s7-200 cpu中的变量存储器,就可将输入、计数值、定时器值或其它计算值传送到主站。类似地,从主站来的数据存储在s7-200cpu中的变量存储器内,并可移到其它数据区。em277 profibus-dp模块的dp端口可连接到网络上的一个dp主站上,但仍能作为一个mpi从站与同一网络上如simatic编程器或s7-300/s7-400 cpu等其它主站进行通信。
5 系统软件设计
5.1 操作系统软件
橡胶坝监控系统的操作系统软件采用windows 2000 server。它是在windows nt server 4.0的基础上,进一步发展活动目录,它采用了类似exchange server 的数据存储方式,称为extensible storage service,其特点是不需要事先定义数据库的参数,可以做到动态的增长,性能非常优良。在数据存储之上已建立索引的,可以方便快速地搜索和定位。活动目录的分区是域(domain),一个域可以存储上百万个对象,域之间还有层次关系,可无限地扩展。
在数据存储之上,建立一个对象模型,以构成活动目录。这一对象模型对ldap有纯粹的支持,还可以管理和修改schema。通过修改sche-ma的工具,用户和开发人员可以自己定义特殊的类和属性,来创建所需要的对象和对象属性。活动目录是一个分布式的目录服务,信息可以分散在多台不同的计算机上,保证快速访问和容错;同时不管用户从何处访问或信息处在何处,都对用户提供统一的视图。
5.2 plc控制程序的开发
plc作为橡胶坝测控系统的核心,plc编程软件对于实现现地、远程监控是至关重要的。step7是用于simatic s7300/400站创建可编程逻辑控制程序的标准软件;microwin是用于simatic s7200站创建可编程逻辑控制程序的标准软件,都可使用梯形逻辑图、功能块图或语句表3种方式编写具体程序。
s7200 plc中不需要编写任何与通讯有关的程序,只需要将要交换的数据整理到一个连续的v存储区当中即可,而s7300中需要在ob1(或是定时中断组织块ob35)当中调用系统功能x_get(sfc67)和x_put(sfc68),实现s7300 与s7200之间的通讯,调用sfc67和sfc68时var_addr参数填写s7200的数据地址区。
本系统s7-300控制程序的开发采用西门子公司的step7 5.4, s7-200控制程序的开发采用西门子公司的microwin v4.0 sp3。
5.3 上位机simatic wincc软件设计
本系统采用西门子公司的监控软件simatic wincc(视窗控制中心)设计而成,具有数据显示,累积量查询和报表打印等功能。
simatic wincc(视窗控制中心),是西门子(siemens)在自动化领域中的先进技术和microsoft的强大功能相结合的产物。它有各种有效功能用于自动化过程,是用于个人计算机上的,按价格和性能分级的人机界面。可以容易的结合标准和用户程序生成人机界面,准确的满足实际要求。
simatic wincc主要包括计算机(computer), 标签管理(tag manage -ment),数据类型(data type)和编辑器(editor)四大部分。其中计算机一项是对计算机进行有关的设置;标签管理是对标签进行初始化定义;数据类型是对标签所代表的数据类型进行定义;编辑器则是最为主要的部分,它主要包括以下几个部分:
(1) 图形编辑器(graphics desig -ner);
(2) 报表系统(report designer);
(3) 标签存档(tag logging);
(4) 报警存档(alarm logging)。
[DividePage:NextPage]
由于wincc软件本身是一个利用最新的面向对象的软件编程技术开发而成的32位应用程序,可以用其内嵌的c语言或vb语言编辑器(而且wincc自己也具有丰富的函数库)编写适用于用户工程需要的动作或脚本文件,来进行数据的记录及存储,这样使得对于过程数据的处理、分析比通过odbc和sql访问归档数据更为灵活、简单。其中一段关于变量采集与归档得程序如下:
void savevalues()
{ #pragma code("");
void getlocaltime(systemt -ime* lpst);
#pragma code();
sy
int nmonth; stemtime st;
int nyear;
int nday;
int nhour;
int nminute;
int nsecond; */定义时间参数/*
int i;
int nvaluecount=94; */定义变量个数/*
file *fp,*fptemp,*fplog;
char filename[64]={0};
char strerr[256]={0};
char * tagname[150]={
"zspower_leiji",
"6wf1_leiji",
."7sf4_leiji"
}; */定义参数,其中包括由需要记录的94个变量组成的数组/*
unsigned float fvalue[150]={0.0f};
getlocaltime(&st);
nyear=;
nmonth=;
nday=; */获取系统时间/*
sprintf(filename,"d:\\data-\\%04d%02d%02d",nyear,nmonth,nday);
fptemp=fopen(filename,"r");
if(fptemp) goto exit; */与系统时间相符的二进制文件是否已存在/*
fp=fopen(filename,"wb");
if(!fp)
{ fplog=fopen("d:\\data\\","wa+");
sprintf(strerr,"%04d/%02d/%02d%02d:%02d:%02d------can`t write
logfile:%04d%02d%02d",nyear,nmonth,nday,nhour,nminute,nsecond,nyear,nmonth,nday);
fwrite(strerr,sizeof(strerr),1,fplog);
fclose(fplog);
return;
} */创建与系统时间相符的二进制文件并打开/*
for (i=0;i<92;i++)
{
fvalue[i]=gettagfloat(tagname[i]);
}
fwrite(fvalue,4,94,fp);
fclose(fp); */按照数组中定义的变量顺序依次将变量瞬时值写入文件/*
exit:
fclose(fptemp); */关闭文件/*
}
5.4 监控流程设计
本系统中,plc程序设计主要完成开关量逻辑控制和模拟量回路控制。开关量逻辑控制包括各个水泵阀门的启停及其联锁控制,模拟量回路控制包括各个回路的pid控制算法的实现和比值控制系统和串级控制系统的实现。系统流程图2所示。
图2 系统流程
6 结束语
本系统按照沂河桃园橡胶坝监控系统建设的总体目标,遵循运行安全稳定、技术先进的原则,利用计算机网络技术、电力电子技术、工业控制技术和数据及视频传输技术对沂河桃园橡胶坝进行开发设计,建成一个具有先进性、可靠性、易于利用的现代化工程。本系统能实现实时信息自动采集、处理、监测、控制、远程数据传输等功能,为沂河的航运及安全提供了有力的保障。
(转载)