当前位置:文档之家› 组态王串级液位流量控制系统

组态王串级液位流量控制系统

{
if(\\本站点\阀门3==0) //判断阀门3是否打开
{
\\本站点\阀门3=\\本站点\控制3; //若阀门2是关闭的让他打开,否则不操作
}
\\本站点\阀门4=0;
}
else if(\\本站点\控制3<0) //控制量3小于0说明当前水位高于设定值,让阀门4打开出水,对阀门3不操作
{
\\本站点\阀门4=-\\本站点\控制3;
1、在画面上双击“水箱1“图形,弹出该对象的动画连接对话框对对话框进行相应的设置,单击“确定”按钮,完成水箱1的动画连接。这样建立连接后水箱1液位的高度随着变量“水箱1”的值变化而变化。用同样的方法设置水箱2和水箱3的动画连接。
作为一个实际可用的监控程序,操作者可能需要知道液面的准确高度而不仅是形象的表示,这个功能由“模拟值动画连接”来实现。
\\本站点\阀门2=0;
}
else if(\\本站点\控制1<0) //控制量1小于0说明当前水位高于设定值,让阀门1关闭,阀门2打开出水
{
\\本站点\阀门1=0;
\\本站点\阀门2=-\\本站点\控制1;
}
//水箱2液位控制//
\\本站点\水箱2E1=\\本站点\水箱2E0; //前一个偏差
\\本站点\水箱2E0=50-\\本站点\水箱2; //计算当前偏差
单击“文件”菜单中的“切换到VIEW”命令,进入运行系统,在画面中可看到液位以及控制量的变化值,从而达到了监控现场的目的。运行画面如图4所示。
图4运行监控画面
4.1.3
组态王除了在定义动画连接时支持连接表达式,还允许用户编写命令语言来扩展应用程序的功能,极大地增强了应用程序的可用性。
命令语言的格式类似C语言的格式,工程人员可以利用其来增强应用程序的灵活性。组态王的命令语言编辑环境已经编好,用户只要按规范编写程序段即可。
5.
通过这次应用软件实训,使我对组态王软件的认识,由开始的陌生变得逐渐熟悉。并且,在通过这次实训中对组态王的应用,使我对组态王的功能以及作用有了更加具体和深入的了解。而且,在此过程中不仅掌握了组态王的一些基本功能,比如监控画面的设计以及动态模拟,数据字典的含义作用以及在数据字典中定义需要的内存变量和I/O变量,监控系统的实时、历史曲线显示,参数报表打印等,而且还学会了报警信息的显示及提示这些重要功能。同时,也使我逐步掌握了组态王命令语言的编写,因为类似C语言的格式所以相对比较容易学习和掌握。
{
\\本站点\管道4=1;
}
else
{
\\本站点\管道4=0;
}
4.2
在工程浏览器的左侧选择“数据词典”,在右侧双击“新建”图标,弹出“变量属性”对话框,在对话框中添加相应的变量,设置完成后单击“确定”。
此外,建立三个离散型内存变量阀门1,阀门2,阀门3和阀门4,为了实现PI控制建立了六个偏差量和三个控制量。如图5所示。
{
\\本站点\管道1=1;
}
else
{
\\本站点\管道1=0;
}
if(\\本站点\阀门2>0.00005)
{
\\本站点\管道2=1;
}
else
{
\\本站点\管道2=0;
}
if(\\本站点\阀门3>0.00005)
{
\\本站点\管道3=1;
}
else
{
\\本站点\管道3=0;
}
if(\\本站点\阀门4>0.001)
2、在工具箱中选择 工具,在水箱1旁边输入字符串“xx”,这个字符串是任意的,当工程运行时,字符串的内容将被您需要输出的模拟值所取代。
3、双击文本对象“xx”,弹出动画连接对话框,在此对话框中选择“模拟量输出”选项弹出模拟量输出动画连接对话框,对对话框进行相应的设置。
4、单击“确定”按钮完成动画连接的设置。当系统处于运行状态时在文本框“xx”中将显示水箱的实际液位值。
用同样的方式建立水箱2、水箱3的动画连接。
(2)阀门动画设置
1、在画面上双击“阀门1”图形,弹出该对象的的动画连接对话框,对对话框进行相应的设置。
2、单击“确定”按钮后阀门动画设置完毕。
用同样方法设置阀门2、阀门3的动画连接。
3、单击“文件”菜单中的“全部存”命令,保存您所作的设置。
(3)实现画面切换功能
(1)建立实时曲线,如图6所示。
图6实时曲线
(2)当系统进入运行状态时,实时曲线会绘出各个水箱液位的变化趋势。如图7所示。
图7运行时的实时曲线
(3)建立历史曲线如图8所示。
图8历史曲线
(4)当系统进入运行状态时,历史曲线会绘出各个水箱液位在一定时间段内的变化趋势。如图9所示。
图9运行时的历史曲线界面
\\本站点\控制2=\\本站点\KP*(\\本站点\水箱2E0-\\本站点\水箱2E1)+\\本站点\KI*\\本站点\水箱2E0; //PID计算控制量
if(\\本站点\控制2>=0) //控制量2大于0说明当前水位低于设定值,让阀门2打开进水,阀门3关闭
{
if(\\本站点\阀门2==0) //判断阀门2是否打开
{
\\本站点\阀门2=\\本站点\控制2; //若阀门2是关闭的让他打开,否则不操作
}
\\本站点\阀门3=0;
}
else if(\\本站点\控制2<0)
{
\\本站点\阀门3=-\\本站点\控制2; //控制量2小于0说明当前水位高于设定值,让阀门3打开出水,对阀门2不操作
}
//水箱3液位控制//
\\本站点\水箱3E1=\\本站点\水箱3E0; //前一个偏差
图11运行时的参数报表画面
4.5
组态王中的报警和事件主要包括变量报警事件、操作事件、用户登录事件和工作站事件。通过这些报警和事件用户可以方便地记录和查看系统的报警和各个工作站的运行情况。当报警和事件发生时,在报警窗中会按照设置的过滤条件实时地显示出来。
(1)建立报警窗口如图12所示。
图12报警界面
(2)使用系统提供的“$新报警”变量可以实现当系统产生报警信息时将报警窗口自动弹出,
利用系统提供的“按钮”工具和ShowPicture()函数能够实现在主画面中切换到其他任一画面的功能。
选择工具箱中的按钮小图标,将鼠标放到监控画面的任一位置并按住鼠标左键画一个按钮大小的菜单对象,双击弹出对话框,单击“命令语言”按钮,弹出命令语言编辑框,在编辑框中输入如下命令语言:ShowPicture("实时曲线");等,就可建立相应的动画连接。如图3中所示。单击“确认”按钮关闭对话框,当系统进入运行状态时单击其中的每一项,即可进入相应的画面。
各种命令语言通过“命令语言编辑器”编辑输入并进行语法检查,在运行系统中进行编译执行。
应用程序如下:
\\本站点\KP=0.72;
\\本站点\KI=0.23; //PI控制参数初始化
//水箱1液位控制//
\\本站点\水箱1E1=\\本站点\水箱1E0; //前一个偏差
\\本站点\水箱1E0=60-\\本站点\水箱1; //计算当前偏差
}
\\本站点\水箱1=\\本站点\水箱1+\\本站点\阀门1-\\本站点\阀门2; //计算水箱当前液位
\\本站点\水箱2=\\本站点\水箱2+\\本站点\阀门2-\\本站点\阀门3;
\\本站点\水箱3=\\本站点\水箱3+\\本站点\阀门3-\\本站点\阀门4;
if(\\本站点\阀门1>0.000005)
通过PI控制,实现水流和液位的调节。在此,选择增量式算法,其计算公式为 ,其中 为当前偏差, 为前一个偏差,通过调节 和 的值实现快速相应和消除静差,即实现流量和液位有效控制。
4.
4.1
4.1.1
(1)打开组态王工程管理器如图1所示。在组态王工程管理器中新建题中要求设计的工程。
图1工程管理器窗口
(2)在工程管理器中选择“工具”菜单中的“切换到开发系统”命令,进入工程浏览器窗口如图2所示,此时组态王自动生成初始的数据文件。
\\本站点\控制1=\\本站点\KP*(\\本站点\水箱1E0-\\本站点\水箱1E1)+\\本站点\KI*\\本站点\水箱1E0; //PID计算控制量
if(\\本站点\控制1>=0) //控制量1大于0说明当前水位低于设定值,让阀门1打开进水,阀门2关闭
{
\\本站点\阀门1=\\本站点\控制1;
1.
基于组态软件的串级液位流量控制系统。其中要求如下:
(1)按照实际题目设计监控画面及动态模拟。
(2)在数据字典中定义需要的内存变量和I/O变量。
(3)实现监控系统的实时、历史曲线显示
(4)实现参数报表打印功能。
(5)根据自己能力进行其余功能的扩展(比如登陆界面,报警信息的显示及提示等)。
2.
系统由多级串联构成,比如多级水箱,其液位和流量都是不定的。在此,通过一定的控制方式,选择一定的控制策略,使其液位和流量实现控制,达到一定的限制。并通过实时、历史曲线,显示当前和一段时间内的液位和流量变化趋势以及变化值,实现系统监控。同时,通过报警信息的显示及提示,实现实时监控和及时给出相应的操作。
图2工程浏览器窗口
(3)在工程浏览器中建立新画面,创建完成后如图3所示。双击所创建的画面图标,通过使用图形工具箱,调色板以及图库管理器中的相关快捷小图标,生成所要制作的监控画面。通过重复以上的操作在工程浏览器中建立实时数据报表画面,报警画面,实时及历史曲线。
图3监控界面
4.1.2
(1)液位示值动画设置
\\本站点\水箱3E0=40-\\本站点\水箱3; //计算当前偏差
\\本站点\控制3=\\本站点\KP*(\\本站点\水箱3E0-\\本站点\水箱3E1)+\\本站点\KI*\\本站点\水箱3E0; //PID计算控制量
相关主题