温度调节控制系统文档格式.docx
《温度调节控制系统文档格式.docx》由会员分享,可在线阅读,更多相关《温度调节控制系统文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
图2建立工程导向
点击下一步,设定存入盘如图三,输入“液位控制系统”,点击下一步后,根据提示完成工程建立。
图3设定存入盘
2.定义硬件设备并完成变量设置
从工程中进入开发系统,用工具箱中的打开图库选原件设备完成原件的连接,首先单击“F2”打开图库,如图四。
图4打开图库管理器
然后,选中所选的器件双击,画在新建工程中,如图五。
图5选定器件
接下来就是硬件变量设置。
数据库是“组态王软件”最核心的部分。
在TouchView运行时,工业现场的生产状况要以动画的形式反映在屏幕上,操作者在计算机前发布的指令也要迅速送达生产现场,所有这一切都是以实时数据库为核心。
数据库中变量的集合形象地称为“数据词典”,数据词典记录了所有用户可使用的数据变量的详细信息。
分别对所有的器件定义变量,如图六。
图6器件定义
定义变量“液位”,单击“?
”,再新建变量,如图七。
图7定义变量“液位”
单击“确定”,变量定义成功。
其它的也用这种方法定义变量,变量类型,最大值,最小值等。
如果是阀门的变量,变量类型为内存离散,流动参数亦如此。
变量属性说明:
变化灵敏度,数据类型为实数型或整数型时此项有效,只有当该数据变量的值变化幅度超过设置的“变化灵敏度”时,组态王才更新与之相连接的图素(缺省为
0);
保存参数,选择此项后,在系统运行时,如果您修改了此变量的域值(可读可写型),系统将自动保存修改后的域值。
当系统退出后再次启动时,变量的域值保持为最后一次修改的域值,无需用户再去重新设置;
保存数值,选择此项后,在系统运行时,当变量的值发生变化后,系统将自动保存该值。
当系统退出后再次启动时,变量的值保持为最后一次变化的值;
最小原始值,针对I/O整型、实型变量,为组态王直接从外部设备中读取到的最小值;
最大原始值,针对I/O整型、实型变量,为组态王直接从外部设备中读取到的最大值;
最小值,用于在组态王中将读取到的原始值转化为具有实际工程意义的工程值,并在画面中显示,与最小原始值对应;
最大值,用于在组态王中将读取到的原始值转化为具有实际工程意义的工程值,并在画面中显示,与最大原始值对应。
最小原始值、最大原始值和最小值、最大值这四个数值是用来确定原始值与工程值之间的转换比例(当最小值和最小原始值一样,最大值和最大原始值一样时,则组态王中显示的值和外部设备中对应寄存器的值一样)。
原始值到工程值之间的转换方式有线性和平方根两种,线性方式是把最小原始值到最大原始值之间的原始值,线性转换到最小值至最大值之间。
工程中比较常用的转换方式是线性转换。
3.动画连接
按照实际工程的要求绘制监控画面并使静态画面随着过程控制对象产生动态效果。
将变量设好后,让其看起来有动的效果,我们先让其管道中的水流动起来。
选择工具箱中的矩形画一矩形小方块,对其填充颜色,选中右键
“组合拆分”,“组合图形元素”,对其复制,如图八。
图8构成水流
对其双击弹出对话框,设变量向上,定义为内存整数。
根据提示使其生成动画。
最大值为40,如图九。
图9设置水流
用程序语句使其流动起来:
向上=向上+3;
if(向上>
=30)
{向上=0;
}
实际工程中要求绘制监控画面连接实时曲线,首先单击工具栏实时曲线,在适当的位置拉大,如图十。
图10连接实时曲线
然后进行反应量的连接,单击“?
”,连接数据字典中的变量,如图十一。
图11定义链接变量
最后单击确定即可完成实时曲线的定义绘制。
其他元件只需双击设为已知变量,点击“确定”即可最后将所有画面进行组合,如图十二。
图12沐浴温度调节控制系统画面
再对系统数据字典进行查看,如图十三。
图13数据字典
最后编写功能程序,如图十四。
图14程序编写
4.程序编程
1)调节程序:
if(开关==1)
{
闪烁=1;
热水泵=1;
冷水泵=1;
if(温度运算>
温度设定值)
冷水阀=温度运算+2;
冷闪=1;
}
else{冷闪=0;
if(温度设定值>
温度运算)
热水阀=温度运算+2;
热闪=1;
else{热闪=0;
if(\\本站点\k5==1)
\\本站点\a01=\\本站点\P1*(1+1/\\本站点\I1+\\本站点\D1);
\\本站点\a11=\\本站点\P1*(1+2*\\本站点\D1);
\\本站点\a21=\\本站点\P1*\\本站点\D1;
\\本站点\ek0=\\本站点\温度设定值-\\本站点\温度运算;
if(abs(\\本站点\ek0)>
2)
{\\本站点\uk=\\本站点\a01*\\本站点\ek0-\\本站点\a11*\\本站点\ek01+\\本站点\a21*\\本站点\ek02+\\本站点\uk01;
\\本站点\uk01=\\本站点\uk;
\\本站点\ek02=\\本站点\ek01;
\\本站点\ek01=\\本站点\ek0;
if(\\本站点\uk<
1000)
{if(\\本站点\uk<
0)
{\\本站点\uk1=0;
else{\\本站点\uk1=\\本站点\uk;
else{\\本站点\uk1=1000;
\\本站点\温度运算=\\本站点\温度运算+10*\\本站点\uk1;
(2)水流控制程序:
向上=向上+2;
热向右=热向右-2;
if(热向右<
=0)
{热向右=10;
冷向左=冷向左+2;
if(冷向左>
=10)
{冷向左=0;
冷向上=冷向上+2;
if(冷向上>
{冷向上=0;
混合下1=混合下1+2;
if(混合下1>
{混合下1=0;
混合右=混合右+2;
if(混合右>
{混合右=0;
混合下2=混合下2+2;
if(混合下2>
{混合下2=0;
水1=水1+2;
if(水1>
{水1=0;
水2=水2+4;
if(水2>
=20)
{水2=0;
水3=水3+6;
if(水3>
{水3=0;
水4=水4+6;
if(水4>
{水4=0;
水5=水5+6;
if(水5>
{水5=0;
水6=水6+6;
if(水6>
{水6=0;
组态王除了在定义动画连接时支持连接表达式,还允许用户编写命令语言来扩展应用程序的功能,极大地增强了应用程序的可用性。
命令语言的格式类似C语言的格式,工程人员可以利用其来增强应用程序的灵活性。
组态王的命令语言编辑环境已经编好,用户只要按规范编写程序段即可,它包括:
应用程序命令语言、热键命令语言、事件命令语言、数据改变命令语言、自定义函数命令语言和画面命令语言等。
命令语言的句法和C语言非常类似,可以说是C的一个简化子集,具有完备的词法语法查错功能和丰富的运算符、数学函数、字符串函数、控件函数、SQL函数和系统函数。
各种命令语言通过“命令语言编辑器”编辑输入并进行语法检查在运行系统中进行编译执行。
经过以上步骤,将实现动画的控制使其按所制定的运动。
四、运行结果及分析
打开开关,当设定值为45℃时,温度从0开始上升,经过一段时间达到吻合,并保持不变。
当并超调到46℃,后逐渐降到45℃,然后保持稳定。
继续调节设定值时,水流继续跟踪,并在-1~1之间达到追踪。
由于函数参数模型尽量减少超调影响,再追踪时没有多大超调量,模型鲁棒性较好,如图十五。
图15液位上升调节演示
根据人体适应的温度在45℃左右感觉比较合适,所以为了安全保护温度设置在大于70℃,小于20℃时为有效范围,超过这个范围有可能对身体造成伤害。
所以系统在设置超过这个范围时为无效。
五、总结
通过这次过程控制组态设计,既加深了我对过程控制中液位控制的认识,又更一步了解了组态软件的认识。
在课程设计中,首先使用PID算法,后来发现其算法对于单变量调节性能不佳,而且动作时间过长,采用PD算法,可以有效地减少调节时间,在理想状态下(没有阀门扰动和液位扰动),采用工程边界系数法可以有效地调节,加入后扰动后,虽然调节精度变差,调节时间增长,但总体有效果还算理想,在调节过程发现e
A/wt,系数A的取值范围在0~4,超出范围,调节品质开始变差,最佳调节范围在2.5~3.8,在最佳调节范围内可以达到很好的追踪。
扰动因子q=M*cos(A*w*t),在资料中发现,进水口和出水口的扰动是不同的,按照工程整定经验公式:
当进水时,q=2*cos(3.7*w*t);
当出水时,q=5*cos(2.2*w*t),其中进水时A的取值范围3.2~3.8,出水时,A取值范围1.7~2.4。
虽然在工程构想和编辑构想中出现了一些意想不到的麻烦,经过翻阅资料和同学的帮助,大体掌握了组态王的用法。
在今后的学习中,应该本着严肃认真的态度,抓住过程的每个细节,实际考虑工程中遇到的情况加以控制,才能顺利的完成任务。
(注:
本资料素材和资料部分来自网络,仅供参考。
请预览后才下载,期待您的好评与关注!
)