自动化应用软件实训
专 业: 自动化
班 级: 动091
姓 名: 雒兴文
学 号: 200908450
指导教师: 董唯光
兰州交通大学自动化与电气工程学院
2012 年 7月 8日
1 绪论
生产生活中的用水量常随时间而变化,季节、昼夜相差很大。用水和供水的不平衡集中体现在水压上,用水多而供水少则水压低,用水步而供水多则水压高。人口的增加以及人们的生活水平的提高,对城市供水质量、数量、稳定性等问题提出来越来越高的要求。而用户用水的多少是时常变动的,因此供水不足或供水过剩的事情时常会发生。而供水与用水的不平衡主要集中在供水的压力上,供水压力又表现为供水量的多少。若供水多于用水,则水压低,反之,水压高。保持供水压力的恒定,可以使用水和供水之间保持平衡,即用水多时,供水也多,用水少时,供水也少,为了能更好地做到这点,本论文采用了三个水泵供水以提供足够的压力,从而提高供水的质量。
2 系统需求分析
自动供水系统的工作原理:首先,水泵抽水向蓄水箱中注满水,保证蓄水箱内的液位能保持在一定的范围内。这里设定两个报警器,当水箱液位低于水箱液位下限时,报警器2报警,供水管道向水箱注入水,当水箱液位高于水箱液位上限时,报警器1报警,供水管道停止向蓄水箱供水。当水箱液位在水箱液位上限与水箱液位下限之间时,报警器1和报警器2都不报警。然后再由蓄水箱引出三根水管,通过三个水泵向用户供水。当用水量为高峰期时,三个泵同时供水;当用水量为正常期时,两个水泵同时供水;当用水量为低峰期时,一个泵供水。如此以保证用户用水水压的恒定,实现自动供水。
3 系统方案论证
根据常识可知,供水与用水的不平衡主要集中在供水的压力上,供水压力又表现为供水量的多少。若供水多于用水,则水压低,反之,水压高。保持供水压力的恒定,可以使用水和供水之间保持平衡,即用水多时,供水也多,用水少时,供水也少,为了能更好地做到这点,本论文采用了三个水泵以提供足够的压力,从而提高供水的质量。同时,为了保证三个水泵随时都有水可抽,前面设计了蓄水箱,蓄水箱自带有液位自测系统,能随时保证一定的水量供求。为了实现人机界面的友好,在系统画面上还设置了多个仪表,用以随时观测系统的运行情况,便于系统的分析。
4 系统监控界面设计
4.1 新建工程
打开组态王首先新建立工程“自动供水控制系统”,进入画面界面,点击新建工程画面,进入开发系统界面,确定背景属性。如图4.1所示。
图4.1 开发系统界面
4.2 调用器件
打开工具栏,使用图库创建所需的器件:水泵、指示灯、阀门、水管、水箱、仪表等。如图4.2所示。
图4.2 图库管理器
4.3 画面部署
然后调整好各器件的位置,进行相应的管道连接,使得整个画面安排合理、紧凑。如图4.3所示。
图4.3 自动供水控制系统仿真图
4.4历史趋势曲线
新建画面,调用历史趋势曲线,进行相应的属性设置和文字标注,然后保存,以进行后续操作。
4.5 实时趋势曲线
新建画面,调用实时趋势曲线,进行相应的属性设置和文字标注,然后保存,以进行后续操作。
5数据字典设计
5.1 定义变量
选中左边的数据字典,然后双击新建来定义变量,并注意其变量类型及其后续设置。按题目要求定义相应的变量,最后结果如图5.1所示。
图5.1 变量表
5.2 动画连接
回到系统监控界面,把定义的变量与相应的器件进行动画连接,使系统监控界面能实现动态仿真,模拟自动供水系统的效果。
当所有设定完成后,进入工程浏览器双击“应用程序命令语言”输入以下控制程序。
5.2.1 运行程序
if(\\本站点\阀门==1)
{
\\本站点\压力=5;
if(\\本站点\水箱液位<=\\本站点\液位下限)
{
\\本站点\控制水流1=9;
\\本站点\报警1=0;
}
if(\\本站点\水箱液位>=\\本站点\液位上限)
{
\\本站点\控制水流1=0;
\\本站点\报警2=0;
}
if(\\本站点\水箱液位<\\本站点\液位上限&&\\本站点\水箱液位>\\本站点\液位下限)
{
\\本站点\报警1=1;
\\本站点\报警2=1;
}
if(\\本站点\控制水流1==-255)
\\本站点\控制水流1=0;
if(\\本站点\控制水流1==9)
\\本站点\水箱液位=\\本站点\水箱液位+3;
if(\\本站点\控制水流1==0)
\\本站点\水箱液位=\\本站点\水箱液位-3;
if(\\本站点\流水<30)
{
\\本站点\控制水流2=3;
\\本站点\泵1=1;
\\本站点\控制水流3=0;
\\本站点\泵2=0;
\\本站点\控制水流4=0;
\\本站点\泵3=0;
\\本站点\控制水流5=9;
}
if(\\本站点\流水>=30 && \\本站点\流水<=60)
{
\\本站点\控制水流2=3;
\\本站点\泵1=1;
\\本站点\控制水流3=3;
\\本站点\泵2=1;
\\本站点\控制水流4=0;
\\本站点\泵3=0;
\\本站点\控制水流5=9;
}
if(\\本站点\流水>60)
{
\\本站点\控制水流2=3;
\\本站点\泵1=1;
\\本站点\控制水流3=3;
\\本站点\泵2=1;
\\本站点\控制水流4=3;
\\本站点\泵3=1;
\\本站点\控制水流5=9;
}
}
if(\\本站点\阀门==0)
{
\\本站点\控制水流2=0;
\\本站点\泵1=0;
\\本站点\控制水流3=0;
\\本站点\泵2=0;
\\本站点\控制水流4=0;
\\本站点\泵3=0;
\\本站点\控制水流5=0;
\\本站点\控制水流1=-255;
\\本站点\压力=0;
}
5.2 系统调试和仿真
最后进行系统调试和仿真。如图5.2所示。
图5.2 自动供水系统仿真图
图5.3 实时趋势曲线
6 心得体会
这次课程设计使我熟悉了组态王软件的应用,可以利用组态王设计出自动供水控制系统。使我得到了一次用专业知识、专业技能分析和解决实际问题全面系统的锻炼。相信以后在使用组态软件设计能够更全面,设计出更方便的实现监控和控制的功能,同时让我在使用编程技巧的熟悉度向前迈了一大步。在课程设计的期间,我学到了很多课本上学不到的知识,拓展了自己的视野和拓宽了自己的知识面,这让我受益匪浅,由衷的感谢老师给我们这个机会学到这么多知识。
第二篇:基于组态王过程控制课程设计 水槽液位
过程控制课程设计报告
——水槽液位控制系统
一、课程设计目的
1.熟悉并熟练掌握组态王软件;
2.通过组态王软件的使用,进一步掌握了解过程控制理论基础知识;
3.培养自主查找资料、收索信息的能力;
4.培养实践动手能力与合作精神。
二、组态王简介
“组态王”是运行于microsoft windows 200/NT4.0.XP中文平台的中文界面软件,充分利用了windows图形功能完备、界面一致性好、易学易用的特点,并且采用了多线程。COM组件等新技术,实现了实时多任务,软件运行稳定可靠。
“组态王”软件包括由工程浏览器(TouchExplorer)、工程管理器(Proj-Manager)和画面运行系统(TouchVew)三大部分组成。在工程浏览中可以查看工程的各个组成部分,也可以完成数据库构造、定义外部设备等工作;工程管理器中内嵌了画面管理系统,用于新工程的创建和已有工程的管理。画面的开发和运行由工程浏览器调用画面制作系统touchMak和运行系统touchVew来完成。
三、工程建立
设计思路:这个系统是我们对照着课本课后题的图画的,所以在控制上可能会有点粗糙;
首先,一打开运行,就是进入首页,点击“水槽液位控制系统”进入主界面,动作之前,先要给定高水位、低水位和出口温度预设值,然后点击自动按钮,就可以观察实时曲线;也可以手动控制,当水位超过90时,报警指示灯会亮并水箱会排水。
(一)设计过程
首先建立工程“水槽液位控制系统”,进入画面界面,点击新建工程画面,进入开发系统界面,确定背景属性,打开工具栏,使用图库(快捷键F2)创建所需的器件:泵、电动阀门、流量计、水槽等;并设计水流的动态表示;
设置串口(根据教程设置就行);
然后打开数据词典,定义所需的变量,注意其变量类型及其后续设置;
接下来就是动画连接,双击画面上的器件,输入变量,或点击“?”进入变量浏览器选择所需变量,当设定完成后,进入工程浏览器双击“应用程序命令语言”输入控制程序。
系统变量定义
图1.变量定义
图2.数据词典-变量集合
图3.动画连接
图形界面的设计
图4.控制界面
运行结果如下
图5.系统运行图
(二)运行程序如下:
//自动控制状态
if(\\本站点\装换开关==1)
{
\\本站点\a=\\本站点\出口温度期望值-\\本站点\出口温度;
\\本站点\出口温度=\\本站点\出口温度+0.05*\\本站点\a;
if(\\本站点\液位变化<=\\本站点\水槽液位低水位) //如果水槽实际液位低于设定的低水位
{
\\本站点\阀门1=1; //打开阀门1
\\本站点\阀门2=1; //打开阀门2
\\本站点\阀门3=0; //关闭阀门3
}
if(\\本站点\液位变化>\\本站点\水槽液位高水位) //如果水槽实际液位高于设定的高水位
{
\\本站点\阀门1=0; //关闭阀门1
\\本站点\阀门2=0; //关闭阀门2
\\本站点\阀门3=1; //打开阀门3
}
if(\\本站点\液位变化==\\本站点\水槽液位高水位) //如果水槽实际液位等于设定的高水位
{
\\本站点\阀门1=0; //关闭阀门1
\\本站点\阀门2=0; //关闭阀门2
\\本站点\阀门3=0; //关闭阀门3
}
if(\\本站点\液位变化>\\本站点\水槽液位低水位 && \\本站点\液位变化<\\本站点\水槽液位高水位 && \\本站点\液位变化!=(\\本站点\水槽液位高水位+\\本站点\水槽液位低水位)/2)//如果水槽实际液位在设定的高水位和低水位之间
{
\\本站点\阀门1=1; //打开阀门1
\\本站点\阀门2=1; //打开阀门2
\\本站点\阀门3=1; //打开阀门3
}
if(\\本站点\液位变化>\\本站点\水槽液位低水位 && \\本站点\液位变化<\\本站点\水槽液位高水位 && \\本站点\液位变化==(\\本站点\水槽液位高水位+\\本站点\水槽液位低水位)/2)//如果水槽实际液位在设定的高水位和低水位之间
{ \\本站点\阀门1=0; //关闭阀门1
\\本站点\阀门2=0; //关闭阀门2
\\本站点\阀门3=0; //关闭阀门3
}
} //自动控制结束
//手动控制状态
if(\\本站点\停止按钮==1)
{\\本站点\装换开关=0;
\\本站点\阀门1=0;
\\本站点\阀门2=0;
\\本站点\阀门3=0;
}
//液面高度保持不变
if(\\本站点\阀门1==0 && \\本站点\阀门2==0 && \\本站点\阀门3==0 )
{ \\本站点\液位变化=\\本站点\液位变化; }
else
\\本站点\液位变化=\\本站点\液位变化;
//最大进水量
if(\\本站点\阀门1==1 && \\本站点\阀门2==1 && \\本站点\阀门3==0 )
{\\本站点\液位变化=\\本站点\液位变化+4;}
else
\\本站点\液位变化=\\本站点\液位变化;
//阀门1进水
if(\\本站点\阀门1==1 && \\本站点\阀门2==0 && \\本站点\阀门3==0 )
\\本站点\液位变化=\\本站点\液位变化+2;
else
\\本站点\液位变化=\\本站点\液位变化;
//阀门2进水
if(\\本站点\阀门1==0 && \\本站点\阀门2==1 && \\本站点\阀门3==0 )
\\本站点\液位变化=\\本站点\液位变化+2;
else
\\本站点\液位变化=\\本站点\液位变化;
//最大排水量
if(\\本站点\阀门1==0 && \\本站点\阀门2==0 && \\本站点\阀门3==1 )
\\本站点\液位变化=\\本站点\液位变化-1;
else
\\本站点\液位变化=\\本站点\液位变化;
//最小排水量
if(\\本站点\阀门1==1 && \\本站点\阀门2==0 && \\本站点\阀门3==1 )
\\本站点\液位变化=\\本站点\液位变化-2;
else
\\本站点\液位变化=\\本站点\液位变化;
//适中排水
if(\\本站点\阀门1==0 && \\本站点\阀门2==1 && \\本站点\阀门3==1 )
\\本站点\液位变化=\\本站点\液位变化-2;
else
\\本站点\液位变化=\\本站点\液位变化;
//最小进水量
if(\\本站点\阀门1==1 && \\本站点\阀门2==1 && \\本站点\阀门3==1 )
{ \\本站点\液位变化=\\本站点\液位变化+1; }
else
\\本站点\液位变化=\\本站点\液位变化;
//管道流动动画
if(\\本站点\阀门1==1)
\\本站点\管道流动=\\本站点\管道流动+5;
if(\\本站点\管道流动>95)
\\本站点\管道流动=0;
if(\\本站点\阀门2==1)
\\本站点\管道流动2=\\本站点\管道流动2+5;
if(\\本站点\管道流动2>95)
\\本站点\管道流动2=0;
if(\\本站点\阀门3==1)
\\本站点\管道流动3=\\本站点\管道流动3+5;
if(\\本站点\管道流动3>95)
\\本站点\管道流动3=0;
//水泵
if(\\本站点\阀门1==1)
\\本站点\泵=1;
else
\\本站点\泵=0;
if(\\本站点\阀门2==1)
\\本站点\泵2=1;
else
\\本站点\泵2=0;
//指示灯
if(\\本站点\液位变化>=90)
\\本站点\指示灯=0;
else
\\本站点\指示灯=1;
if(\\本站点\指示灯==0)
{
\\本站点\阀门1=0; //关闭阀门1
\\本站点\阀门2=0; //关闭阀门2
\\本站点\阀门3=1; //打开阀门3
}
//实时曲线
\\本站点\x轴=\\本站点\x轴+1;
xyAddNewPoint( "液位实时监控", \\本站点\x轴, \\本站点\液位变化,1);
\\本站点\x轴=\\本站点\x轴+1;
xyAddNewPoint( "液位实时监控", \\本站点\x轴, \\\本站点\出口温度,2);
(三)运行结果
如图中实时曲线所示当水槽液位等于设定的高、低水位的平均值时,水位保持恒定(未加热);
加热器可以等到液位恒定之后启动加热或者是一边加液一边加热。
四、课程设计感想
通过这次课程设计,我们熟练掌握了组态王软件6.52版的使用。
使我对组态软件有了更深刻的理解,特别是组态王软件的应用、组态王软件的系统开发过程。在画面加工上做的更美观,立体感更强。使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。相信以后在使用组态软件设计能够更全面,设计出更方便的实现监控和控制的功能,同时让我在使用编程技巧的熟悉度向前迈了一大步。
五、参考文献
《可编程序控制器应用系统设计及通信网络技术》 郭宗仁 吴弈锋 郭宁明编著 人民邮电出版社 出版
《组态软件控制技术》 覃贵礼 吴尚庆编著 北京理工大学出版社 出版
《过程控制》 金以慧 编著 清华大学出版社 出版