1、一、工程的建立和定义外部设备1、新建名为“饮料生产监控系统”的工程 1、单击菜单栏“文件新建工程”命令,弹出“新建工程向导一”对话框,如图 1.1 所示。图 1.1 新建工程向导一 图 1.2 新建工程向导二2、单击“下一步”继续新建工程。弹出“新建工程向导二”对话框。单击“浏览”按钮,从弹出的路径选择对话框中选择工程路径,如图 1.2 所示。3、单击“下一步”进入新建工程向导三。在“工程名称”文本框中输入“饮料生产监控系统”,单击“完成”确认新建的工程,完成新建工程操作。如图1.3 所示。图 1.3 新建工程向导三2、定义外部设备1、在工程浏览器的左侧选中“COM1”,在右侧双击“新建”,弹
2、出“设备配置向导”对。在 I/O 设备列表显示区中,选中 PLC 设备,单击符号“+”将该节点展开,再选中“亚控”,依次选中“仿真 PLC”设备,选中“串行”。 如图1.4 所示。图 1.4 设备运行向导 图 1.5 I/O 设备名称设置2、单击“下一步”按钮,则弹出“设备配置向导逻辑名称”, 在编辑框输入“PLC”,如图 1.5 所示。3.接下来的对话框设置均采用默认设这,均直接单击“下一步”按钮,直至最后一个对话框,单击“完成”,即完成了外部设备的定义,则设备安装完毕。二、主画面的制作1、“饮料生产车间”画面的制作1、选择工程浏览器左侧大纲项“文件画面”,在右侧视图中双击“新建”图标,弹出
3、“新画面”对话框,设置画面名称、画面位置和画面风格,如图 2.1所示。图 2.1 饮料生产车间画面设置 图 2.2 搅拌器2、制作搅拌器。在 “工具箱”中选择“多边形”工具,在画面中分别绘制出6 个叶片,适当调整美化后,完整的搅拌器如图 2.2 所示。为了让搅拌器显示出搅动的效果,通过工具箱下部的图素位置显示栏,估算出每个叶片的图素中心偏离搅拌器旋转中心的距离。双击叶片,在弹出的“动画连接”对话框中,点击“旋转”按钮,弹出“旋转连接”对话框。弹出“旋转连接”对话框中,设置表达式的关联变量为“$秒”,并根据估算结果设置“旋转圆心偏离图素中心的大小”。如图 2.3 所示。图 2.3 搅拌器叶片旋转
4、动画连接3、通过“工具箱”中的“图库”和“立体管道”工具在画面中绘制出所需反应器、泵、阀门、开关、游标及连接管道,并命名。利用“矩形”工具,绘制出循环冷却管道中的冷却液(以适量的矩形色块表现,并通过工具箱中的图素对齐和等间隔的工具调整出合适的位置)。再利用“矩形”和“文本”工具,并结合“显示画刷类型”和“显示调色板”,绘制出相关的文字注释。绘制完成后的“饮料反应车间画面”如图 2.4 所示。图 2.4 饮料反应车间画面4、新建所需变量。在工程浏览器中左边的目录树中选择“数据词典”项,双击右侧“新建”图标,弹出“定义变量”属性对话框,设置相关内容。“饮料反应车间画面”中所需基本变量有:I/O 变
5、量 (l 连接设备均为 PLC):“原料罐原料重量(实型) ”、“混合罐液位(整型)”、“混合罐温度(整型)”、“缓冲罐液位(整型)”;内存离散变量:“冷却液管道开关”、“原料泵”、“混合罐抽出泵”、“缓冲罐抽出泵”、“混合罐进料阀”;内存整型变量:“控制冷却液流动”(用于实现冷却液流动效果)。其中,变量“原料罐原料重量”采用的寄存器为“DECREA100”,初始值和最大值设为 100,其具体设置如图 2.5 所示。其余三个 I/O 变量的设置相同,以变量“混合罐液位”为例,相关设置如图 2.6 所示。此四个 I/O 变量均在“记录和安全区”选项卡中设置为“数据变化记录”,并设置“变化灵敏”为
6、 1,如图 2.7所示。图 2.5 变量“原料罐原料重量” 图 2.6 变量“混合罐液位”图 2.7 记录和安全区设置 图 2.8 变量“混合罐抽出泵”内存离散变量设置相同,以变量“混合罐抽出泵”为例,如图 2.8 所示。内存整型变量“控制冷却液流动”的设置如图 2.9 所示。图 2.9 变量“控制冷却液流动” 图 2.10 缓冲罐变量关联5、将画面中的相关图素进行变量关联和动画连接。以缓冲罐为例,如图 2.10所示。6、在“混合罐液位”和“混合罐温度”下,利用“工具箱”中的“文本”工具分别绘制“混合罐液位:#”、“混合罐温度:#”字样,分别用于以数字形式实时显示“混合罐液位”和“混合罐温度”
7、的瞬时值。需分别关联变量“混合罐液位”和变量“混合罐温度”,以“混合罐液位:#”的关联为例,双击“#”,在弹出的动画连接对话框点击“模拟值输出”,关联变量“混合罐液位”,具体设置如图 2.11 所示。图 2.11 7、为了实现“冷却液根据混合管温度值要求进行流动”、“阀的自动开关”等动画效果,需要设置画面命令语言。在画面空白处右键单击,选择“画面语言”,在弹出的对话框中点击“命令语言”,选择“存在时”输入以下命令语言,如图 2.12 所示。图 2.12 画面语言的设置至此,饮料反应车间画面制作完毕。2、“下界面”画面的制作1、为能够在工程运行时方便地切换各个画面,故制作“下界面”。新建画面“下
8、界面”,设置画面属性为“距顶边 862”、“高 98”、“宽 1280”。2、利用“工具箱”中的“按钮”工具,在下界面中绘制一个名为“退出”的按钮,双击按钮,在弹出的“动画连接”对话框中,点击“弹起时”,输入命令语言“Exit(0 );”。同法绘制“主画面”、“报警画面”、“历史曲线 1”、“历史曲线 2”、“棒图和 XY 曲线”、“影音控件”、 “实时报表”、 “历史报表”、“数据库 1”、“数据库查询”等按钮,并以“ShowPicture(“画面名“);”的方式输入相应的命令语言,如“ShowPicture(“报警画面“);”。下界面最终绘制结果如图 2.13 所示。图 2.13 下界面3
9、、主画面的设置在工程浏览器中左边的目录树中选择“设置运行系统”项,双击右侧“设置运行系统”图标,在“主画面配置”选项卡中设置“饮料生产车间”和“下界面”为主画面,如图 2.14 所示。图 2.14 主画面设置三、报警画面的制作1、在工程浏览器中左边的目录树中选择“报警组”项,双击右侧图标进入“报警组定义”对话框。单击“修改”,在弹出的“修改报警组” 对话框中改名为“饮料生产”,如图 3.1 所示。2、单击“增加”按钮,在“饮料车间”报警组下再增加一个分组“饮料反应车间”,如图 3.2 所示。图 3.1 修改报警组 图 3.2 增加分组3、新建画面,命名为“报警画面”。4、在“工具箱”中单击“报
10、警窗口”按钮,绘制出两个报警窗口,调整到合适大小,分别命名为“历史报警”、“实时报警”。5、双击报警窗口,弹出报警窗口配置属性页。在通用属性页中有一个实时报警窗和历史报警窗的选项,如果选择“实时报警窗”,则当前窗口将成为实时报警窗;如果选择“历史报警窗”,则当前窗口将成为历史报警窗。以实时报警为例,如图 3.3 所示。图 3.3 实时报警设置 图 3.4 列属性设置6、单击报警窗口配置属性页中的“列属性”标签,设置报警窗口的列属性,如图 3.4 所示。7、利用“工具箱”中的“图库”、“矩形”和“文本”工具绘制指示灯、游标、“报警确认”按钮、“报警上下限”等,绘制完成的报警画面如图 3.5 所示
11、。图 3.5 报警画面8、新建内存离散变量“原料罐原料重量报警”、“混合罐液位报警”、“混合罐温度报警”、“缓冲罐液位报警”, “报警画面”中左侧的四组指示灯分别依次与此四个变量相关联,并设置闪烁条件为“相应关联的变量=1”,以混合罐液位为例,如图 3.6 所示。四个游标自上而下依次与变量“原料罐原料重量”、“混合罐液位”、“混合罐温度”、“缓冲罐液位”关联。“报警画面”中右上侧的指示灯关联变量“$新报警”,如图 3.7 所示。图 3.6 混合罐液位报警 图 3.7 新报警9、在“数据词典”中,修改并设置变量“原料罐原料重量”、“混合罐液位”、“混合罐温度”、“缓冲罐液位”的报警定义,以设置报
12、警值。以“混合罐液位”的报警设置为例,双击变量“混合罐液位”,在弹出的“定义变量”对话框的“报警定义”选项卡中,设置“报警限”如图 3.8 所示。9、画面中各报警上下限的设置方式相同。以混合罐液位上下限的设置为例,上限设置模拟值输入和模拟值输出关联变量为“本站点混合罐液位.Hilimit”,下限关联“本站点混合罐液位.Lolimit”。以“上限”为例,如图 3.9 所示。图 3.8 变量报警定义 图 3.9 画面中“上限”的设置10、画面左侧的四个“报警确认”设置相似,以混合罐液位的报警确认为例,设置为“弹起时”的命令语言如图 3.10 所示。11、画面右上方的“报警确认”设置为“弹起时”的命
13、令语言为“设置为“弹起时”的命令语言如图 3.11 所示。图 3.10 混合罐液位报警确认 图 3.11 新报警报警确认12、设置画面命令语言如图 3.10 所示。图 3.10 报警画面画面命令语言 图 3.11 报警事件命令语言13、为使出现报警时能自动切换至报警画面,在工程浏览器左侧目录树中选择“事件命令语言”选项,双击右边“新建”图标,在弹出的“事件命令语言”设置对话框中设置如图 3.11 所示。至此,报警画面制作完毕。四、棒图和 X-Y 曲线画面的制作1、新建画面,命名为“棒图和 X-Y 曲线画面”。2、点击“工具箱”的“插入控件”工具,在弹出的“创建控件”对话框中,分别选用“趋势曲线
14、”中的“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、利用“工具箱”中的“实时趋势曲线”工具,在饮料反应车间画面适当位置
15、绘制趋势曲线。2、双击此实时趋势曲线,弹出“实时趋势曲线”对话框,设置“曲线 1”关联变量“原料罐原料重量”,相关设置如图 5.1 所示。“原料罐原料重量”实时趋势曲线绘制结果如图 5.2 所示。图 5.1 实时曲线设置 图 5.2 实时趋势曲线3、运用同种方法分别绘制“混合罐液位实时趋势曲线”、“ 混合罐温度实时趋势曲线”、“ 缓冲罐液位实时趋势曲线”。至此,实时趋势曲线制作完毕。六、历史趋势曲线的制作方法一:1、新建画面,命名为“历史曲线 1”。2、新建内存整形变量“跨度”和“百分比”。3、利用“工具箱”中的“图库”工具,在弹出的“图库管理器”中选择“历史曲线”,绘制历史趋势曲线控件。双击
16、该控件,在弹出的“历史曲线向导”中的“曲线定义”和“操作面板和安全属性”选项卡中分别设置如图 6.1.1、图6.1.2 所示。图 6.1.1 曲线定义 图 6.1.2 操作面板和安全属性至此,历史趋势曲线 1 制作完毕,最终换面如图 6.1.3 所示。图 6.1.3 历史趋势曲线 1方法二:1、新建画面,命名为“历史曲线 2”。2、利用“工具箱”中的“插入通用控件”工具,在弹出的“插入控件”中选择“历史趋势曲线”,绘制历史趋势曲线控件。右键单击该控件,选择“控件属性”,在弹出的对话框中的“曲线”选项卡中增加四条曲线,分别对应于变量“原料罐原料重量”、“混合罐液位”、“混合罐温度”、“缓冲罐液位
17、”,四条曲线的设置方式相同,以“混合罐液位”为例,单击“增加”按钮,在弹出的“增加曲线”对话框中设置如图 6.2.1 所示。图 6.2.1 增加曲线3、坐标系的设置采用默认,至此历史趋势曲线 2 制作完毕,制作效果如图 6.2.2所示。图 6.2.2 历史趋势曲线 2七、影音及时间日期控件的制作1、新建画面,命名为“影音控件”。2、新建内存整型变量“年”、“月”、“日”、“时”、“分”、“秒”及内存字符串型变量“FILENAME”。3、点击“工具箱”中的“插入通用控件”,在弹出的“插入控件”对话框中选择“Windows Media Player”,如图 7.1 所示,绘制出影音控件,并命名为影
18、音。图 7.1 插入影音控件4、点击“工具箱”中的“插入通用控件”,在弹出的“创建控件”对话框中选择“窗口控制”中的“下拉式组合框”,绘制出三个下拉框,并依次命名为“FILE”、“FILE1”、“FILE2”,并依次在此三个下拉框右边绘制三个名为“MP3”、“rmvb”、“swf”的按钮,构成三组组合。这三组的下拉框均关联变量“FILENAME”,如图 7.2 所示,而三个按钮的设置方法相同,以“MP3”为例,如图 7.3 所示。图 7.2 下拉框变量关联 图 7.3 “MP3”按钮设置5、在工程浏览器左侧目录树中选择“数据改变命令语言”选项,双击右边“新建”图标,在弹出的“数据改变命令语言”
19、设置对话框中设置如图 7.4 所示。图 7.4 数据改变命令语言 图 7.5 日期时间文本显示6,利用“工具箱”中的“文本工具”分别绘制出入图 7.5 所示各文本,并将各“#”依次关联变量“年”、“月”、“日”、“时”、“分”、“秒”。7、点击“工具箱”中的“插入通用控件”,在弹出的“插入控件”对话框中选择“Microsoft Data and Time Picker Contro 6.0(SP4)”,绘制出两个控件,并分别命名为“日期”、“时间”。右击“日期” 控件,选择“控件属性”,在弹出的对话框中,将“General”选项卡中的“Format”选项设置为“1-dptshortdata”,
20、同种方法将“时间”的“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、至此,影音画面制作完
21、毕,最终效果如图 7.10 所示。图 7.10 影音画面八、配方画面的制作1、新建画面,命名为“配方”。2、新建内存整形变量“水”、“碳酸”、“果汁”及内存字符串型变量“配方名称”。3、在工程浏览器左侧目录树中选择“配方”,双击“新建”,弹出“配方定义”对话框。选择“工具”之“表格属性”,设置名称为“新配方”、配方种类数目为 4、配方变量为 3。并将表格关联变量,并填写相关数据如图 8.1 所示。保存为“C:新配方.csv”。图 8.1 定义配方表格属性 图 8.2 配方表格的设置4、利用“按钮”、“文本”和“矩形”工具绘制配方画面如图 8.3 所示。图 8.3 配方画面5、将画面中的文本“#
22、”自上而下依次关联变量“水”、“碳酸”、“果汁” “配方名称”。6、各按钮分别设置命令语言为:上一配方:RecipeSelectPreviousRecipe( “c:新配方.csv“, 本站点配方名称 );RecipeLoad( “c:新配方.csv“, 本站点配方名称 );下一配方:RecipeSelectNextRecipe( “c:新配方.csv“, 本站点配方名称 );RecipeLoad(“c:新配方.csv“, 本站点配方名称 );选择配方:RecipeSelectRecipe( “c:新配方.csv“, 本站点配方名称, “请选择配方“ );RecipeLoad( “c:新配方.
23、csv“, 本站点配方名称 );增加配方:ShowPicture(“增加配方“);删除配方:RecipeDelete( “c:新配方.csv“, 本站点配方名称 );7、新建画面,命名为“增加配方”,绘制效果如图 8.4 所示。文本关联变量方式与画面“配方”相同,各按钮分别设置命令语言为:确定:RecipeSave(“c:新配方.csv“, 本站点配方名称 );ClosePicture(“增加配方“);取消:ClosePicture(“增加配方“);至此,配方画面制作完毕。图 8.4 增加配方画面九、实时报表的制作1、新建画面,命名为“实时报表”。2、新建字符串变量“实时报表名”。3、利用“工
24、具箱”中的“报表窗口”工具绘制两个报表窗口,分别命名为“实时”和“实时报表查询”。结合“文本”、“按钮”工具绘制实时报表画面,并将窗口“实时”关联变量,如图 9.1 所示。图 9.1 实时报表画面4、下拉框关联变量“实时报表名”,各按钮命令语言分别设置为:报表打印:ReportPrint( “实时报表“ );报表历史打印设置:ReportPrintSetup(“实时报表“);报表保存:string name;string year;string month;string day;string hour;string minute;string second;year=StrFromReal(
25、本站点$年, 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(“实时报表查询“);ListLoad
26、FileName( “实时报表查询“, “D:实时报表*.rtl“ );报表查询:listClear(“实时报表查询“);ListLoadFileName( “实时报表查询“, “D:实时报表*.rtl“ );6、至此,实时报表制作完成。十、历史报表的制作1、新建画面,命名为历史报表。2、新建内存字符串型变量“历史报表名”。3、与实时报表绘制方法相同,绘制历史报表画面如图如图 10.1 所示。图 10.1 历史报表画面4、设置下拉框名为“历史报表查询”,并关联变量“历史报表名”。各按钮命令语言设置如下:手动打印:ReportPrint( “历史“ );打印设置:ReportPrintSetup
27、(“历史“);报表手动保存: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
28、“ );string name;name=“D:历史报表“+本站点历史报表名;ShowPicture(“历史报表查询“);ReportLoad(“查询历史“,name);5、设置画面命令语言,如图 10.2 所示。6、为使报表能每分钟自动保存一次,在“事件命令语言”中新建,并设置如图10.3 所示。图 10.2 画面命令语言 图 10.3 分钟报表设置7、新建画面,命名为“历史查询”,如图 10.4 所示。图 10.4 历史查询画面各按钮命令语言设置如下:打印:ReportPrint( “历史“ );打印设置:ReportPrintSetup(“查询历史“);历史查询:ReportSetHis
29、tData2(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”、 “r1c
30、2”、 “r1c3”、 “r1c4”,连接设备均设置为“电子表格”,将此四个变量依次与“EXCEL”中各“#”文本自上而下分别关联,至此,“EXCEL”数据库制作完毕。4、在“工程浏览器”左侧目录中选择“SQL 访问管理器”下的“表格模板”,双击新建,在弹出的“创建表格模板”对话框中设置如图 10.3 所示。5、选择“SQL 访问管理器”下的“记录体”,双击新建,在弹出的“创建表格模板”对话框中设置如图 10.4 所示。图 10.3 创建表格模板 图 10.4 创建记录体6、建立 Ms Access 数据库:首先在电脑硬盘上建立两个 .mdb 格式的文件,分别命名为“生产数据库”和“报警数据库
31、”; 双击“控制面板”之“管理工具”下的“ODBC数据源”项,弹出“ODBC数据源管理器”对话框,在“系统DSN”选项卡中,单击“添加”按钮 ,在弹出的对话框中选择 “Driber do Mircosoft Access”,创建两个新数据源,如图10.5所示。图10.5 创建数据源7、新建:内存整型变量“Deviceid”;内存字符串型变量“日期返回”和“时间返回”; 内存实型变量“原料罐原料重量返回”;内存整形变量“混合罐液位返回”、“混合罐温度返回”和“缓冲罐液位返回”。8、在画面中依次设置如下几个按钮,并依次设置为(弹起时):EXCEL数据库:ShowPicture(“Excel“);数
32、据库连接: 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、