组态王课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、工程的建立和定义外部设备
1、新建名为“饮料生产监控系统”的工程
1、单击菜单栏“文件\新建工程”命令,弹出“新建工程向导一”对话框,如图1.1所示。
图1.1 新建工程向导一图1.2 新建工程向导二
2、单击“下一步”继续新建工程。
弹出“新建工程向导二”对话框。
单击“浏览”按钮,从弹出的路径选择对话框中选择工程路径,如图1.2所示。
3、单击“下一步”进入新建工程向导三。
在“工程名称”文本框中输入“饮料生产监控系统”,单击“完成”确认新建的工程,完成新建工程操作。
如图1.3所示。
图1.3 新建工程向导三
2、定义外部设备
1、在工程浏览器的左侧选中“COM1”,在右侧双击“新建”,弹出“设备配置向导”对。
在I/O设备列表显示区中,选中PLC设备,单击符号“+”将该节点展开,再选中“亚控”,依次选中“仿真PLC”设备,选中“串行”。
如图1.4所示。
图1.4 设备运行向导图1.5 I/O设备名称设置
2、单击“下一步”按钮,则弹出“设备配置向导——逻辑名称”,在编辑框输入“PLC”,如图1.5所示。
3.接下来的对话框设置均采用默认设这,均直接单击“下一步”按钮,直至最后一个对话框,单击“完成”,即完成了外部设备的定义,则设备安装完毕。
二、主画面的制作
1、“饮料生产车间”画面的制作
1、选择工程浏览器左侧大纲项“文件\画面”,在右侧视图中双击“新建”图标,弹出“新画面”对话框,设置画面名称、画面位置和画面风格,如图2.1所示。
图2.1 饮料生产车间画面设置图2.2 搅拌器
2、制作搅拌器。
在“工具箱”中选择“多边形”工具,在画面中分别绘制出6个叶片,适当调整美化后,完整的搅拌器如图2.2所示。
为了让搅拌器显示出搅动的效果,通过工具箱下部的图素位置显示栏,估算出每个叶片的图素中心偏离搅拌器旋转中心的距离。
双击叶片,在弹出的“动画连接”对话框中,点击“旋转”按钮,弹出“旋转连接”对话框。
弹出“旋转连接”对话框中,设置表达式的关联变量为“$秒”,并根据估算结果设置“旋转圆心偏离图素中心的大小”。
如图2.3所示。
图2.3 搅拌器叶片旋转动画连接
3、通过“工具箱”中的“图库”和“立体管道”工具在画面中绘制出所需反应器、泵、阀门、开关、游标及连接管道,并命名。
利用“矩形”工具,绘制出循环冷却管道中的冷却液(以适量的矩形色块表现,并通过工具箱中的图素对齐和等间隔的工具调整出合适的位置)。
再利用“矩形”和“文本”工具,并结合“显示画刷类型”和“显示调色板”,绘制出相关的文字注释。
绘制完成后的“饮料反应车间画面”如图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、点击“工具箱”中的“插入通用控件”,在弹出的“插入控件”对话框中选择“Windows Media Player”,如图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、点击“工具箱”中的“插入通用控件”,在弹出的“插入控件”对话框中选择“Microsoft Data and Time Picker Contro 6.0(SP4)”,绘制出两个控件,并分别命名为“日期”、“时间”。
右击“日期” 控件,选择“控件属性”,在弹出的对话框中,将“General ”选项卡中的“Format ”选项设置为
“1-dptshortdata ”,同种方法将“时间”的“Format ”选项设置为“2-dpt time ”。
如图7.6所示。
8、点击“工具箱”中的“插入通用控件”,在弹出的“插入控件”对话框中选择“Calendar Control 8.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( "c:\新配方.csv", \\本站点\配方名称 );
下一配方:RecipeSelectNextRecipe( "c:\新配方.csv", \\本站点\配方名称 );
RecipeLoad("c:\新配方.csv", \\本站点\配方名称 );
选择配方:RecipeSelectRecipe( "c:\新配方.csv", \\本站点\配方名称, "请选择配方" );
RecipeLoad( "c:\新配方.csv", \\本站点\配方名称 );
增加配方:ShowPicture("增加配方");
删除配方:RecipeDelete( "c:\新配方.csv", \\本站点\配方名称 );
7、新建画面,命名为“增加配方”,绘制效果如图8.4所示。
文本关联变量方式与画面“配方”相同,各按钮分别设置命令语言为:
确定:RecipeSave("c:\新配方.csv", \\本站点\配方名称 );
ClosePicture("增加配方");
取消:ClosePicture("增加配方");
至此,配方画面制作完毕。
图8.4 增加配方画面
九、实时报表的制作
1、新建画面,命名为“实时报表”。
2、新建字符串变量“实时报表名”。
3、利用“工具箱”中的“报表窗口”工具绘制两个报表窗口,分别命名为“实时”和“实时报表查询”。
结合“文本”、“按钮”工具绘制实时报表画面,并将窗口“实时”关联变量,如图9.1所示。
图9.1 实时报表画面
4、下拉框关联变量“实时报表名”,各按钮命令语言分别设置为:
报表打印:ReportPrint( "实时报表" );
报表历史打印设置:ReportPrintSetup("实时报表");
报表保存:string name;
string year;
string month;
string day;
string hour;
string minute;
string second;
year=StrFromReal( \\本站点\$年, 0, "f" );
month=StrFromReal( \\本站点\$月, 0, "f" );
day=StrFromReal( \\本站点\$日, 0, "f" );
hour=StrFromReal(\\本站点\$时, 0, "f" );
minute=StrFromReal(\\本站点\$分, 0, "f" );
second=StrFromReal( \\本站点\$秒, 0, "f" );
name="D:\实时报表\"+year+month+day+hour+minute+second+".rtl";ReportSaveAs("实时",name);
显示报表:listClear("实时报表查询");
ListLoadFileName( "实时报表查询", "D:\实时报表\*.rtl" );报表查询:listClear("实时报表查询");
ListLoadFileName( "实时报表查询", "D:\实时报表\*.rtl" );
6、至此,实时报表制作完成。
十、历史报表的制作
1、新建画面,命名为历史报表。
2、新建内存字符串型变量“历史报表名”。
3、与实时报表绘制方法相同,绘制历史报表画面如图如图10.1所示。
图10.1 历史报表画面
4、设置下拉框名为“历史报表查询”,并关联变量“历史报表名”。
各按钮命令语言设置如下:
手动打印:ReportPrint( "历史" );
打印设置:ReportPrintSetup("历史");
报表手动保存:string name;
name="D:\历史报表\"+
StrFromReal( \\本站点\$年,0,"f" )+
StrFromReal( \\本站点\$月,0," f" )+
StrFromReal(\\本站点\$日, 0,"f" )+
StrFromReal( \\本站点\$时, 0,"f" )+
StrFromReal( \\本站点\$分,0,"f" )+
StrFromReal( \\本站点\$秒,0,"f" )+".rtl";
ReportSaveAs("历史",name);
报表查询:listClear("历史报表查询");
ListLoadFileName( "历史报表查询", "D:\历史报表\*.rtl" );
string name;
name="D:\历史报表\"+\\本站点\历史报表名;
ShowPicture("历史报表查询");
ReportLoad("查询历史",name);
5、设置画面命令语言,如图10.2所示。
6、为使报表能每分钟自动保存一次,在“事件命令语言”中新建,并设置如图10.3所示。
图10.2 画面命令语言图10.3 分钟报表设置
7、新建画面,命名为“历史查询”,如图10.4所示。
图10.4 历史查询画面
各按钮命令语言设置如下:
打印:ReportPrint( "历史" );
打印设置:ReportPrintSetup("查询历史");
历史查询:ReportSetHistData2(2,1);
退出:ClosePicture("历史查询");
至此历史报表制作完成。
十一、组态王与数据库连接的制作
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、建立 Ms Access 数据库:首先在电脑硬盘上建立两个 .mdb 格式的文件,分别命名为“生产数据库”和“报警数据库”;双击“控制面板”之“管理工具”下
的“ODBC数据源”项,弹出“ODBC数据源管理器”对话框,在“系统DSN”选项卡中,单击“添加”按钮,在弹出的对话框中选择“Driber do Mircosoft Access”,创建两个新数据源,如图10.5所示。
图10.5 创建数据源
7、新建:内存整型变量“Deviceid”;内存字符串型变量“日期返回”和“时间返回”;内存实型变量“原料罐原料重量返回”;内存整形变量“混合罐液位返回”、“混合罐温度返回”和“缓冲罐液位返回”。
8、在画面中依次设置如下几个按钮,并依次设置为(弹起时):
EXCEL数据库:ShowPicture("Excel");
数据库连接: SQLConnect( DeviceID, "dsn=生产;uid=;pwd=");
生成表格: SQLCreateTable( DeviceID, "生产数据", "生产数据表" );
插入数据: SQLInsert( DeviceID, "生产数据", "生产数据记录" );
数据库查询: SQLSelect( DeviceID, "生产数据", "查询记录", " ", " " );
第一条记录: SQLFirst( DeviceID );
上一条记录: SQLPrev( DeviceID );
下一条记录: SQLNext( DeviceID );
最后一条记录: SQLLast( DeviceID );
断开数据库: SQLDisconnect( DeviceID);
9、查询返回值显示,在画面上作文本如图10.6所示。
文本“####”对应的“模拟值输出”动画连接分别为:“日期返回”、“时间返回”、“原料罐原料重量返回”、“混合罐液位返回”、“混合管温度返回”、“缓冲罐液位返回”。
图10.6 查询返回值显示
10、最后生成的画面如图10.7所示。
至此,组态王和数据库的连接制作完毕。
十一、数据库查询的制作
1、。