1、自动化应用软件实训设计题 目:水塔自动供水系统 班 级: 自动化081班 姓 名: 康雯瑾 学 号: 200808420 指导教师: 张鑫 设计时间: 2011.7.22 评语:成绩 目录摘 要II1.设计方案及原理12.界面设计1 2.1内存变量的定义12.2 登录界面设计32.3水塔自动供水系统主界面的设计32.4实时曲线与历史曲线42.5 实时报表与历史报表52.6 报警窗口设计63命令语言设计73.1系统运行命令语言73.2历史报表命令语言83.3按钮的设计93.4管道流动条件的设计9总结9摘 要组态王Kingview是一种通用的工业监控软件,它融过程控制设计、现场操作及工厂资源管理于
2、一体,将一个企业内部的各种生产系统和应用以及信息交流汇集在一起,实现了最优化管理。它适用于从单一设备的生产运营管理和故障诊断,到网络结构分布式大型集中监控管理系统的开发。在生活及生产供水中, 通常是通过建造水塔以维持水压。但是, 建造水塔费用高, 还会造成水的二次污染。因此, 通常采用的方法是: 当用水量增大时, 增加水泵数量或提高水泵的运转速度以保持供水管网中的水压不变; 用水量减小时, 做出相反的调节。这就是恒压供水的基本思路。本文介绍了基于组态王的水塔供水系统的设计,在设计过程中通过模块化编程,完成了水塔的自动供水和水塔的液位保持,基本达到实际工程要求。关键字:组态王、水塔自动供水系统、
3、液位控制10自动化应用软件实训设计1.设计方案及原理本文所设计的水塔供水系统主要由七部分组成,分别是登录界面、主界面、实时曲线、历史曲线、实时报表、历史报表以及报警画面。系统可以实现水塔液位的自动运行和手动运行。自动运行时系统工作情况:当水塔液位低于60dm时,采用单位时间供水量为10dm的井泵1和单位时间供水量为5dm的井泵2同时向水塔供水;当水塔液位达到60dm并且小于80cm时,关闭井泵1,井泵2单独供水;当水塔液位大于95dm时,井泵1、井泵2均关闭,向水塔停止供水。当水塔中有水时,通过供水阀、供水泵向用户水箱1和用户水箱2供水,一旦用户水箱液位达到80dm时,则关闭用户水箱对应的阀门
4、,停止供水;而当其液位低于80dm时,打开用户水箱对应的阀门,继续供水。这样保证了用户用水的水压不会过高或者过低。水龙头1的单位时间流出量为3dm,水龙头2的单位时间流出量为4dm。手动运行时系统工作过程:手动点击相应的阀门水泵则开始向对应的存水设备供水,井泵1和井泵2供水量同自动运行过程,但水龙头1的单位时间流出量为2dm,水龙头2的单位时间流出量为3dm。2.界面设计根据软件监控的需要,要对水塔储水箱以及站点水箱的液位实行监控,但由于是模拟设计,没有真正的对象,于是构造一个虚拟对象,即设计一个基于组态王的水塔液位的模拟控制,通过对模拟水箱液位的控制来模拟现场真正的运行情况,一边进行监控。2
5、.1内存变量的定义首先打开组态王软件的工程浏览器,在数据词典中双击新建,会弹出如图1的对话框,键入变量名,设置变量类型。图1 定义变量类型如此对设计过程中需要的变量进行逐一定义,直至完成所有变量的定义为止,图2显示了所有定义过的变量。图2 所定义的所有变量 2.2 登录界面设计新建一画面,命名为:登录界面,绘制两按钮,分别为进入系统和退出系统,如图3所示。图3 登陆界面设计2.3水塔自动供水系统主界面的设计水塔自动供水系统主界面包括画面间切换和返回按钮的设计、供水管道及水塔、报警的设计等几方面内容,总体运行效果如图4示。图4 系统控制主画面2.4实时曲线与历史曲线实时趋势曲线的创建过程:新建一
6、画面,名称为实时曲线,选择工具中的工具,在画面中绘制一实时曲线窗口,如图5所示。图5 实时趋势曲线历史趋势曲线的创建为:新建一画面,命名为:历史曲线,在画面中插入通用控件窗口中的“历史趋势曲线”控件,如图6所示。图6 历史趋势曲线2.5 实时报表与历史报表实时报表的创建过程:新建一画面,名称为实时报表,选择工具中的工具,在画面中绘制一实时报表窗口,并在对应行连接变量如图7所示。图7 实时报表历史报表的创建过程:新建一画面,名称为历史报表,选择工具中的工具,在画面中绘制一历史报表窗口,如图8所示。图8 历史报表2.6 报警窗口设计新建一画面,命名为:报警窗口,选择工具箱中的工具,在画面中绘制一报
7、警窗口,如图9所示。图9 登录界面2.6帮助界面新建一画面,命名为:帮助界面。写入帮助文档。如图10所示。图10 帮助界面3命令语言设计3.1系统运行命令语言if(本站点自动运行=1)if(本站点水塔液位60 &本站点水塔液位=95)本站点井泵1=0;本站点井泵2=0;if(本站点用户水箱2=80)本站点供水阀门=1;本站点供水泵=1;本站点用户阀门2=1;if(本站点用户水箱1=80)本站点用户阀门2=0;if(本站点用户水箱1=80)本站点用户阀门1=0;if(本站点用户水箱2=80 &本站点用户水箱1=80)本站点供水阀门=0;本站点供水泵=0;本站点用户阀门2=0;本站点用户阀门1=0
8、;if(本站点用户阀门1=1)本站点用户水箱1=本站点用户水箱1+3;本站点水塔液位=本站点水塔液位-3;if(本站点用户阀门2=1)本站点用户水箱2=本站点用户水箱2+4;本站点水塔液位=本站点水塔液位-4;if(本站点水龙头1=1)本站点用户水箱1=本站点用户水箱1-2;if(本站点水龙头2=1)本站点用户水箱2=本站点用户水箱2-3;/扬程定义)if(本站点井泵1=1)本站点水塔液位= 本站点水塔液位+10;if(本站点井泵2=1)本站点水塔液位= 本站点水塔液位+5;if(本站点自动运行=0)if(本站点水龙头1=1)本站点用户水箱1=本站点用户水箱1-3;if(本站点水龙头2=1)本
9、站点用户水箱2=本站点用户水箱2-4;if(本站点供水阀门=1 &本站点供水泵=1 &本站点用户阀门1=1)本站点水塔液位= 本站点水塔液位-3; 本站点用户水箱1=本站点用户水箱1+3;if(本站点供水阀门=1 &本站点供水泵=1 &本站点用户阀门2=1)本站点水塔液位= 本站点水塔液位-4; 本站点用户水箱2=本站点用户水箱2+4;3.2历史报表命令语言生成本系统历史报表需要如下命令语言long row;row=本站点$秒+1;ReportSetCellString(Report2, row, 6,本站点$日期 );ReportSetCellString(Report2, row, 1,本
10、站点$时间 );ReportSetCellValue(Report2, row, 2,本站点水塔液位 );ReportSetCellValue(Report2, row, 3,本站点水压);ReportSetCellValue(Report2, row, 4,本站点用户水箱1);ReportSetCellValue(Report2, row, 5,本站点用户水箱2);if(row=1)ReportSetCellString2(Report2, 4, 1,63,2, );3.3按钮的设计转换界面按钮:ShowPicture(实时曲线);退出界面按钮:Exit( 0 );打印报表按钮:Report
11、PrintSetup(report1);3.4管道流动条件的设计本站点井泵1=1本站点井泵2=1本站点供水阀门=1本站点用户阀门1=1本站点用户阀门2=1本站点水龙头1=1本站点水龙头2=13.5报警指示灯闪烁条件水塔液位报警: 本站点水塔液位=90用户水箱报警: 本站点用户水箱1=75|本站点用户水箱2=75总 结在这次的组态王软件的实训中,通过自己不断的摸索,感觉到收获很多。此次课程设计,按照设计的要求首先对组态王的指导教材进行了仔细的阅读和研究,力争每个步骤都不出现不应有的错误,然后才进行画图的设计。因为我坚持做任何程序都要认真细心,任何一个小小的失误都会造成整个设计的失败,更懂得了没有足够的耐力和信心就很难坚持对课程设计每一步的顺利进行。课程设计的过程中遇到错误时很多的,当遇到错误时,我总是仔细寻找错误的根源,从根本上明白自己犯错误的原因,从而真正的解决问题,真正明白自己的不足之处。对编程环节中出现的错误解决的同时,加深了我们对程序的深层理解,清楚程序中每一步的功能,在程序的运行中是十分重要的,一个好的结构在运行中能够充分的发挥程序的功能。结构设计的合理性决定了这个程序的价值。