组态王课程设计Word格式.docx
- 文档编号:20021191
- 上传时间:2023-01-15
- 格式:DOCX
- 页数:26
- 大小:944.19KB
组态王课程设计Word格式.docx
《组态王课程设计Word格式.docx》由会员分享,可在线阅读,更多相关《组态王课程设计Word格式.docx(26页珍藏版)》请在冰豆网上搜索。
再利用“矩形”和“文本”工具,并结合“显示画刷类型”和“显示调色板”,绘制出相关的文字注释。
绘制完成后的“饮料反应车间画面”如图2.4所示。
图2.4饮料反应车间画面
4、新建所需变量。
在工程浏览器中左边的目录树中选择“数据词典”项,双击右侧“新建”图标,弹出“定义变量”属性对话框,设置相关内容。
“饮料反应车间画面”中所需基本变量有:
I/O变量(l连接设备均为PLC):
“原料罐原料重量(实型)”、“混合罐液位(整型)”、“混合罐温度(整型)”、“缓冲罐液位(整型)”;
内存离散变量:
“冷却液管道开关”、“原料泵”、“混合罐抽出泵”、“缓冲罐抽出泵”、“混合罐进料阀”;
内存整型变量:
“控制冷却液流动”(用于实现冷却液流动效果)。
其中,变量“原料罐原料重量”采用的寄存器为“DECREA100”,初始值和最大值设为100,其具体设置如图2.5所示。
其余三个I/O变量的设置相同,以变量“混合罐液位”为例,相关设置如图2.6所示。
此四个I/O变量均在“记录和安全区”选项卡中设置为“数据变化记录”,并设置“变化灵敏”为1,如图2.7所示。
图2.5变量“原料罐原料重量”图2.6变量“混合罐液位”
图2.7记录和安全区设置图2.8变量“混合罐抽出泵”
内存离散变量设置相同,以变量“混合罐抽出泵”为例,如图2.8所示。
内存整型变量“控制冷却液流动”的设置如图2.9所示。
图2.9变量“控制冷却液流动”图2.10缓冲罐变量关联
5、将画面中的相关图素进行变量关联和动画连接。
以缓冲罐为例,如图2.10所示。
6、在“混合罐液位”和“混合罐温度”下,利用“工具箱”中的“文本”工具分别绘制“混合罐液位:
##”、“混合罐温度:
##”字样,分别用于以数字形式实时显示“混合罐液位”和“混合罐温度”的瞬时值。
需分别关联变量“混合罐液位”和变量“混合罐温度”,以“混合罐液位:
##”的关联为例,双击“##”,在弹出的动画连接对话框点击“模拟值输出”,关联变量“混合罐液位”,具体设置如图2.11所示。
图2.11
7、为了实现“冷却液根据混合管温度值要求进行流动”、“阀的自动开关”等动画效果,需要设置画面命令语言。
在画面空白处右键单击,选择“画面语言”,在弹出的对话框中点击“命令语言”,选择“存在时”输入以下命令语言,如图2.12所示。
图2.12画面语言的设置
至此,饮料反应车间画面制作完毕。
2、“下界面”画面的制作
1、为能够在工程运行时方便地切换各个画面,故制作“下界面”。
新建画面“下界面”,设置画面属性为“距顶边862”、“高98”、“宽1280”。
2、利用“工具箱”中的“按钮”工具,在下界面中绘制一个名为“退出”的按钮,双击按钮,在弹出的“动画连接”对话框中,点击“弹起时”,输入命令语言“Exit(0);
”。
同法绘制“主画面”、“报警画面”、“历史曲线1”、“历史曲线2”、“棒图和XY曲线”、“影音控件”、“实时报表”、“历史报表”、“数据库1”、“数据库查询”等按钮,并以“ShowPicture("
画面名"
);
”的方式输入相应的命令语言,如“ShowPicture("
报警画面"
下界面最终绘制结果如图2.13所示。
图2.13下界面
3、主画面的设置
在工程浏览器中左边的目录树中选择“设置运行系统”项,双击右侧“设置运行系统”图标,在“主画面配置”选项卡中设置“饮料生产车间”和“下界面”为主画面,如图2.14所示。
图2.14主画面设置
三、报警画面的制作
1、在工程浏览器中左边的目录树中选择“报警组”项,双击右侧图标进入“报警组定义”对话框。
单击“修改”,在弹出的“修改报警组”对话框中改名为“饮料生产”,如图3.1所示。
2、单击“增加”按钮,在“饮料车间”报警组下再增加一个分组“饮料反应车间”,如图3.2所示。
图3.1修改报警组图3.2增加分组
3、新建画面,命名为“报警画面”。
4、在“工具箱”中单击“报警窗口”按钮,绘制出两个报警窗口,调整到合适大小,分别命名为“历史报警”、“实时报警”。
5、双击报警窗口,弹出报警窗口配置属性页。
在通用属性页中有一个实时报警窗和历史报警窗的选项,如果选择“实时报警窗”,则当前窗口将成为实时报警窗;
如果选择“历史报警窗”,则当前窗口将成为历史报警窗。
以实时报警为例,如图3.3所示。
图3.3实时报警设置图3.4列属性设置
6、单击报警窗口配置属性页中的“列属性”标签,设置报警窗口的列属性,如图3.4所示。
7、利用“工具箱”中的“图库”、“矩形”和“文本”工具绘制指示灯、游标、“报警确认”按钮、“报警上下限”等,绘制完成的报警画面如图3.5所示。
图3.5报警画面
8、新建内存离散变量“原料罐原料重量报警”、“混合罐液位报警”、“混合罐温度报警”、“缓冲罐液位报警”,“报警画面”中左侧的四组指示灯分别依次与此四个变量相关联,并设置闪烁条件为“相应关联的变量==1”,以混合罐液位为例,如图3.6所示。
四个游标自上而下依次与变量“原料罐原料重量”、“混合罐液位”、“混合罐温度”、“缓冲罐液位”关联。
“报警画面”中右上侧的指示灯关联变量“$新报警”,如图3.7所示。
图3.6混合罐液位报警图3.7新报警
9、在“数据词典”中,修改并设置变量“原料罐原料重量”、“混合罐液位”、“混合罐温度”、“缓冲罐液位”的报警定义,以设置报警值。
以“混合罐液位”的报警设置为例,双击变量“混合罐液位”,在弹出的“定义变量”对话框的“报警定义”选项卡中,设置“报警限”如图3.8所示。
9、画面中各报警上下限的设置方式相同。
以混合罐液位上下限的设置为例,上限设置模拟值输入和模拟值输出关联变量为“\\本站点\混合罐液位.Hilimit”,下限关联“\\本站点\混合罐液位.Lolimit”。
以“上限”为例,如图3.9所示。
图3.8变量报警定义图3.9画面中“上限”的设置
10、画面左侧的四个“报警确认”设置相似,以混合罐液位的报警确认为例,设置为“弹起时”的命令语言如图3.10所示。
11、画面右上方的“报警确认”设置为“弹起时”的命令语言为“设置为“弹起时”的命令语言如图3.11所示。
图3.10混合罐液位报警确认图3.11新报警报警确认
12、设置画面命令语言如图3.10所示。
图3.10报警画面画面命令语言图3.11报警事件命令语言
13、为使出现报警时能自动切换至报警画面,在工程浏览器左侧目录树中选择“事件命令语言”选项,双击右边“新建”图标,在弹出的“事件命令语言”设置对话框中设置如图3.11所示。
至此,报警画面制作完毕。
四、棒图和X-Y曲线画面的制作
1、新建画面,命名为“棒图和X-Y曲线画面”。
2、点击“工具箱”的“插入控件”工具,在弹出的“创建控件”对话框中,分别选用“趋势曲线”中的“X-Y轴曲线”和“立体棒图”控件,并在画面中绘制“X-Y轴曲线”和“立体棒图”,如图4.1所示。
图4.1插入控件图4.2“立体棒图”控件属性设置
3、“X-Y轴曲线”控件属性采用默认,“立体棒图”控件属性设置为“三维条形图”,如图4.2所示。
4、设置画面命令语言“显示时”、“存在时”分别如图4.3、图4.4所示。
图4.3“显示时”图4.4“存在时”
5、至此,棒图和X-Y曲线画面制作完毕。
最终画面如图4.5所示。
图4.5棒图和X-Y曲线画面
五、实时趋势曲线的制作
1、利用“工具箱”中的“实时趋势曲线”工具,在饮料反应车间画面适当位置绘制趋势曲线。
2、双击此实时趋势曲线,弹出“实时趋势曲线”对话框,设置“曲线1”关联变量“原料罐原料重量”,相关设置如图5.1所示。
“原料罐原料重量”实时趋势曲线绘制结果如图5.2所示。
图5.1实时曲线设置图5.2实时趋势曲线
3、运用同种方法分别绘制“混合罐液位实时趋势曲线”、“混合罐温度实时趋势曲线”、“缓冲罐液位实时趋势曲线”。
至此,实时趋势曲线制作完毕。
六、历史趋势曲线的制作
方法一:
1、新建画面,命名为“历史曲线1”。
2、新建内存整形变量“跨度”和“百分比”。
3、利用“工具箱”中的“图库”工具,在弹出的“图库管理器”中选择“历史曲线”,绘制历史趋势曲线控件。
双击该控件,在弹出的“历史曲线向导”中的“曲线定义”和“操作面板和安全属性”选项卡中分别设置如图6.1.1、图6.1.2所示。
图6.1.1曲线定义图6.1.2操作面板和安全属性
至此,历史趋势曲线1制作完毕,最终换面如图6.1.3所示。
图6.1.3历史趋势曲线1
方法二:
1、新建画面,命名为“历史曲线2”。
2、利用“工具箱”中的“插入通用控件”工具,在弹出的“插入控件”中选择“历史趋势曲线”,绘制历史趋势曲线控件。
右键单击该控件,选择“控件属性”,在弹出的对话框中的“曲线”选项卡中增加四条曲线,分别对应于变量“原料罐原料重量”、“混合罐液位”、“混合罐温度”、“缓冲罐液位”,四条曲线的设置方式相同,以“混合罐液位”为例,单击“增加”按钮,在弹出的“增加曲线”对话框中设置如图6.2.1所示。
图6.2.1增加曲线
3、坐标系的设置采用默认,至此历史趋势曲线2制作完毕,制作效果如图6.2.2所示。
图6.2.2历史趋势曲线2
七、影音及时间日期控件的制作
1、新建画面,命名为“影音控件”。
2、新建内存整型变量“年”、“月”、“日”、“时”、“分”、“秒”及内存字符串型变量“FILENAME”。
3、点击“工具箱”中的“插入通用控件”,在弹出的“插入控件”对话框中选择“WindowsMediaPlayer”,如图7.1所示,绘制出影音控件,并命名为影音。
图7.1插入影音控件
4、点击“工具箱”中的“插入通用控件”,在弹出的“创建控件”对话框中选择“窗口控制”中的“下拉式组合框”,绘制出三个下拉框,并依次命名为“FILE”、“FILE1”、“FILE2”,并依次在此三个下拉框右边绘制三个名为“MP3”、“rmvb”、“swf”的按钮,构成三组组合。
这三组的下拉框均关联变量“FILENAME”,如图7.2所示,而三个按钮的设置方法相同,以“MP3”为例,如图7.3所示。
图7.2下拉框变量关联图7.3“MP3”按钮设置
5、在工程浏览器左侧目录树中选择“数据改变命令语言”选项,双击右边“新建”图标,在弹出的“数据改变命令语言”设置对话框中设置如图7.4所示。
图7.4数据改变命令语言图7.5日期时间文本显示
6,利用“工具箱”中的“文本工具”分别绘制出入图7.5所示各文本,并将各“##”依次关联变量“年”、“月”、“日”、“时”、“分”、“秒”。
7、点击“工具箱”中的“插入通用控件”,在弹出的“插入控件”对话框中选择“MicrosoftDataandTimePickerContro6.0(SP4)”,绘制出两个控件,并分别命名为“日期”、“时间”。
右击“日期”控件,选择“控件属性”,在弹出的对话框中,将“General”选项卡中的“Format”选项设置为“1-dptshortdata”,同种方法将“时间”的“Format”选项设置为“2-dpttime”。
如图7.6所示。
8、点击“工具箱”中的“插入通用控件”,在弹出的“插入控件”对话框中选择“CalendarControl8.0”,绘制出日历控件,并命名为“日历”。
如图7.7所示。
图7.6控件格式设置图7.7日历控件
9、双击“日期”控件,在弹出的对话框的“事件”选项卡中,双击“CloseUp”关联函数,在弹出的“控制事件函数”对话框中设置如图7.8所示。
同种方法将“时间”控件的“Chang”关联函数设置如图7.9所示。
图7.8日期控件设置图7.9时间控件设置
10、至此,影音画面制作完毕,最终效果如图7.10所示。
图7.10影音画面
八、配方画面的制作
1、新建画面,命名为“配方”。
2、新建内存整形变量“水”、“碳酸”、“果汁”及内存字符串型变量“配方名称”。
3、在工程浏览器左侧目录树中选择“配方”,双击“新建”,弹出“配方定义”对话框。
选择“工具”之“表格属性”,设置名称为“新配方”、配方种类数目为4、配方变量为3。
并将表格关联变量,并填写相关数据如图8.1所示。
保存为“C:
\新配方.csv”。
图8.1定义配方表格属性图8.2配方表格的设置
4、利用“按钮”、“文本”和“矩形”工具绘制配方画面如图8.3所示。
图8.3配方画面
5、将画面中的文本“##”自上而下依次关联变量“水”、“碳酸”、“果汁”“配方名称”。
6、各按钮分别设置命令语言为:
上一配方:
RecipeSelectPreviousRecipe("
c:
\新配方.csv"
\\本站点\配方名称);
RecipeLoad("
下一配方:
RecipeSelectNextRecipe("
RecipeLoad("
选择配方:
RecipeSelectRecipe("
\\本站点\配方名称,"
请选择配方"
);
增加配方:
ShowPicture("
增加配方"
);
删除配方:
RecipeDelete("
7、新建画面,命名为“增加配方”,绘制效果如图8.4所示。
文本关联变量方式与画面“配方”相同,各按钮分别设置命令语言为:
确定:
RecipeSave("
ClosePicture("
取消:
至此,配方画面制作完毕。
图8.4增加配方画面
九、实时报表的制作
1、新建画面,命名为“实时报表”。
2、新建字符串变量“实时报表名”。
3、利用“工具箱”中的“报表窗口”工具绘制两个报表窗口,分别命名为“实时”和“实时报表查询”。
结合“文本”、“按钮”工具绘制实时报表画面,并将窗口“实时”关联变量,如图9.1所示。
图9.1实时报表画面
4、下拉框关联变量“实时报表名”,各按钮命令语言分别设置为:
报表打印:
ReportPrint("
实时报表"
报表历史打印设置:
ReportPrintSetup("
报表保存:
stringname;
stringyear;
stringmonth;
stringday;
stringhour;
stringminute;
stringsecond;
year=StrFromReal(\\本站点\$年,0,"
f"
month=StrFromReal(\\本站点\$月,0,"
day=StrFromReal(\\本站点\$日,0,"
hour=StrFromReal(\\本站点\$时,0,"
minute=StrFromReal(\\本站点\$分,0,"
second=StrFromReal(\\本站点\$秒,0,"
name="
D:
\实时报表\"
+year+month+day+hour+minute+second+"
.rtl"
;
ReportSaveAs("
实时"
name);
显示报表:
listClear("
实时报表查询"
ListLoadFileName("
"
\实时报表\*.rtl"
报表查询:
);
6、至此,实时报表制作完成。
十、历史报表的制作
1、新建画面,命名为历史报表。
2、新建内存字符串型变量“历史报表名”。
3、与实时报表绘制方法相同,绘制历史报表画面如图如图10.1所示。
图10.1历史报表画面
4、设置下拉框名为“历史报表查询”,并关联变量“历史报表名”。
各按钮命令语言设置如下:
手动打印:
历史"
打印设置:
报表手动保存:
\历史报表\"
+
StrFromReal(\\本站点\$年,0,"
)+
StrFromReal(\\本站点\$月,0,"
f"
StrFromReal(\\本站点\$日,0,"
StrFromReal(\\本站点\$时,0,"
StrFromReal(\\本站点\$分,0,"
StrFromReal(\\本站点\$秒,0,"
)+"
历史报表查询"
\历史报表\*.rtl"
+\\本站点\历史报表名;
ReportLoad("
查询历史"
5、设置画面命令语言,如图10.2所示。
6、为使报表能每分钟自动保存一次,在“事件命令语言”中新建,并设置如图10.3所示。
图10.2画面命令语言图10.3分钟报表设置
7、新建画面,命名为“历史查询”,如图10.4所示。
图10.4历史查询画面
各按钮命令语言设置如下:
打印:
历史查询:
ReportSetHistData2(2,1);
退出:
历史查询"
至此历史报表制作完成。
十一、组态王与数据库连接的制作
1、新建画面,命名为“EXCEL”,如图11.1所示。
2、选择“工程浏览器”左侧目录中“设备”的“DDE”,双击新建,指定连接对象名为“电子表格”,其他设置如图11.2所示。
图10.1“EXCEL”画面图10.2电子表格DDE的设置
3、新建I/O字符串型变量“EXCEL数据1”,I/O整型变量“EXCEL数据2”、I/O实型变量“EXCEL数据3”、I/O离散变量“EXCEL数据4”,项目名依次设置为“r1c1”、“r1c2”、“r1c3”、“r1c4”,连接设备均设置为“电子表格”,将此四个变量依次与“EXCEL”中各“####”文本自上而下分别关联,至此,“EXCEL”数据库制作完毕。
4、在“工程浏览器”左侧目录中选择“SQL访问管理器”下的“表格模板”,双击新建,在弹出的“创建表格模板”对话框中设置如图10.3所示。
5、选择“SQL访问管理器”下的“记录体”,双击新建,在弹出的“创建表格模板”对话框中设置如图10.4所示。
图10.3创建表格模板图10.4创建记录体
6、建立MsAccess数据库:
首先在电脑硬盘上建立两个.mdb格式的文件,分别命名为“生产数据库”和“报警数据库”;
双击“控制面板”之“管理工具”下的“ODBC数据源”项,弹出“ODBC数据源管理器”对话框,在“系统DSN”选项卡中,单击“添加”按钮,在弹出的对话框中选择“DriberdoMircosoftAccess”,创建两个新数据源,如图10.5所示。
图10.5创建数据源
7、新建:
内存整型变量“Deviceid”;
内存字符串型变量“日期返回”和“时间返回”;
内存实型变量“原料罐原料重量返回”;
内存整形变量“混合罐液位返回”、“混合罐温度返回”和“缓冲罐液位返回”。
8、在画面中依次设置如下几个按钮,并依次设置为(弹起时):
EXCEL数据库:
Excel"
数据库连接:
SQLConnect(DeviceID,"
dsn=生产;
uid=;
pwd="
生成表格:
SQLCreateTable(DeviceID,"
生产数据"
生产数据表"
插入数据:
SQLInsert(DeviceID,"
生产数据记录"
数据库查询:
SQLSelect(DeviceID,"
查询记录"
"
第一条记录:
SQLFirst(DeviceID)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 组态 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)