您好,欢迎访问三七文档
第十五章配方管理北京亚控科技发展有限公司726第十五章配方管理15.1配方管理概述15.1.1什么是配方什么是配方?在制造领域,配方是用来描述生产一件产品所用的不同配料之间的比例关系。配方是生产过程中一些变量对应的参数设定值的集合。例如,一个面包厂生产面包时有一个基本的配料配方,此配方列出所有要用来生产面包的配料成份表(如水,面粉,糖,鸡蛋,香油等)。另外,也列出所有可选配料成份表(如果酱,维生素,巧克力等),而这些可选配料成份可以被添加到基本配方中用以生产各种各样的面包。下表为某一面包厂生产面包时的配方:介绍配方的相关知识教您如何制作及使用组态王配方第十五章配方管理北京亚控科技发展有限公司727配方1配方2配方3配料名果酱面包巧克力面包维生素面包水200克200克200克面粉4500克4500克4500克盐325克325克325克糖500克500克500克鸡蛋10个10个10个香油300克300克300克水果5个00巧克力0500克0注:表中的数字是示意性的。又如,在钢铁厂,一个配方可能就是机器设置参数的一个集合,而对于批处理器,一个配方可能被用来描述批处理过程中的不同步骤。组态王支持对配方的管理,用户利用此功能可以在控制生产过程中得心应手,提高效率。比如当生产过程状态需要大量的控制变量参数时,如果一个接一个地设置这些变量参数就会耽误时间,而使用配方,则可以一次设置大量的控制变量参数,满足生产过程的需要。15.1.2组态王中的配方管理组态王提供的配方管理由两部分组成:配方管理器和配方函数集。配方管理器打开后,弹出对话框,用于创建和维护配方模板文件;配方函数允许组态王运行时对包含在配方模板文件中的各种配方进行选择,修改,创建和删除等一系列操作。所有配方都在配方模板文件中定义和存储,每一个配方模板文件以扩展名为csv的文件格式存储,一个配方模板文件是通过配方定义模板产生的。配方定义模板用于定义配方中的所有项目名(即配料名),项目类型,数据变量(与每一个项目名对应),配方名。每一个配方指定每一个配料成份所要求的数量大小。配方定义模板的结构如下:第十五章配方管理北京亚控科技发展有限公司728项目名变量名变量类型(项目类型)配方1配方2配方M配料1变量1实数型、整数型、离散型或字符串型1121M1配料2变量2实数型、整数型、离散型或字符串型1222M2配料3变量3实数型、整数型、离散型或字符串型1323M3配料4变量4实数型、整数型、离散型或字符串型1424M4配料N变量N实数型、整数型、离散型或字符串型1N2NMN注:配方名由用户设定,具体的配方数表示配料的数量大小,此处的数字是示意性的,并不表示具体意义。15.1.3配方的工作原理配方模板文件中的配方定义模板完成后,在组态王运行时可以通过配方函数进行各种配方的调入,修改等。其工作原理结构示意图如下:项目和变量名配方项目名项目类型变量名配料1实数型变量1配料2实数型变量2配料3整数型变量3配料4整数型变量4配料N离散型变量N配方分配配方1配方2配方3配方M112131M1122232M2132333M3142434M41N2N3NMN1N第十五章配方管理北京亚控科技发展有限公司729配方分配的功能由配方函数来完成,通过配方分配将指定配方(如配方M)传递到相应的变量中。当调用配方1时,则配方1的数据值11、12、13、14、1N分别对应地传送给变量1、变量2、变量3、变量4、变量N;同理,当调用配方M时,则同样是把配方M数据值传送给变量1、变量2、变量3、变量4、变量N。15.2如何创建配方模板组态王的工程浏览器能够创建和管理配方模板文件,在工程浏览器的目录显示区中,选中大纲项“文件”下的成员“配方”,如图15.1所示。图15.1新建配方内容显示区中用左键双击“新建”图标,或者右键单击“新建”图标,从浮动式菜单中选择命令“新建配方”,则弹出“配方定义”对话框,如图15.2所示。第十五章配方管理北京亚控科技发展有限公司730图15.2配方定义“配方定义”窗口中的前两列为变量名、变量类型。变量名:为组态王中已经定义的数据变量名,定义配方之前必须先在数据词典中定义所有配方中要用到的变量。变量类型:为整数型、实数型、离散型、字符串型中的一种,当用户选择变量名后,变量类型会自动加入,不需要用户输入。当用户手动输入变量名后,变量类型不自动加入,需要用户输入。注意:配方定义对话框中的第一行中的第一列和第二列是不可操作的,即不能在这两个单元格中输入任何内容。第十五章配方管理北京亚控科技发展有限公司731下面介绍配方定义对话框中的菜单命令。单击“表格”菜单,弹出下拉式菜单,如图15.3所示。图15.3增加行:选择此键,在输入焦点所在行的位置上面增加一行。删除行:选择此键,则删除输入焦点所在的行。增加列:选择此键,在输入焦点所在列的位置前面增加一列。删除列:选择此键,则删除输入焦点所在的列。保存:把指定文件保存在相应目录下。另存为:把指定文件保存在指定目录下。退出:退出配方,如果配方没有存盘,则提示存盘。单击“工具”菜单,弹出下拉式菜单,如图15.4所示。第十五章配方管理北京亚控科技发展有限公司732图15.4配方属性:按下此键,则弹出“定义配方”对话框如图15.5所示。图15.5定义配方属性配方名称:要建立的配方名,由用户自己设定,定义的名称要有实际的意义。配方种类数目:指定配方数目,最大值为256种。变量数量:指定与配方中的项目相对应的变量个数,最大值为1024第十五章配方管理北京亚控科技发展有限公司733个。自动右移:这时按下enter键,输入焦点自动右移。自动下移:这时按下enter键,输入焦点自动下移。不动:这时按下enter键,输入焦点不动。向上填充:输入焦点及向上所有被选中的方框都填入与输入焦点的值相同的值。向下填充:输入焦点向下所有被选中的方框都填入与输入焦点的值相同的值。向左填充:输入焦点向左所有被选中的方框都填入与输入焦点的值相同的值。向右填充:输入焦点向右所有被选中的方框都填入与输入焦点的值相同的值。单击“变量[V]”菜单,弹出“选择变量名”对话框,如图15.6所示,供用户选择数据词典中已定义的变量。注意:配方种类数目和变量数量要与实际配方中种类数目、变量数量相同,否则运行过程中不能正确调用配方。第十五章配方管理北京亚控科技发展有限公司734图15.6连接变量例:下面举一个例子介绍如何创建配方模板。1.加入变量:鼠标选中“变量1”所在列名为“变量名”的单元格,此时“变量[V]”菜单栏变为黑色有效。单击“变量”,弹出“选择变量名”窗口,选中一个已经定义好的组态王变量,单击“确定”,完成变量选择。“配方定义”窗口中相应变量的变量类型自动显示出来。如果变量名是由手动输入的,则需要手动输入相应的变量类型。加入多个变量的方法相同。2.建立配方:在第一行中各个配方名称相应的单元格中输入各种配方的名称。鼠标单击“配方1”下面的单元格,单元格变为输入状态,输入配方名称即可。接下来在下面对应变量中输入每种配方不同的变量的量值。3.修改配方属性:编辑完配方之后,鼠标单击“工具”菜单中“配方属性”,定第十五章配方管理北京亚控科技发展有限公司735义配方模板的名称为“面包配方”,按照实际配方种类和使用的变量输入数据。定义好的配方模板如图15.7所示。图15.7定义好的配方模板15.3如何使用配方配方的使用是建立配方模板后,通过使用配方命令语言函数实现的。配方命令语言函数的调用可通过建立操作按钮或是在命令语言中调用来实现。下面首先详细介绍配方命令语言函数,然后再建立一个配方操作按钮的一个实际例子。15.3.1配方命令语言函数1.RecipeDelete第十五章配方管理北京亚控科技发展有限公司736此函数用于删除指定配方模板文件中当前指定的配方。语法格式使用如下:RecipeDelete(filename,recipeName);filename:指配方模板文件存放的路径和相应的文件名;recipeName:指配方模板文件中特定配方的名字。注:文件名和配方名如果加上双引号,则表示是字符串常量,若不加双引号,则可以是组态王中的DDE或内存型字符串变量。例:RecipeDelete(“C:\recipe\北京面包厂.csv”,“配方3”);此语句将配方模板文件“北京面包厂.csv”中的配方3删除。2.RecipeLoad此函数将指定配方调入模板文件中的数据变量中。语法格式使用如下:RecipeLoad(filename,recipeName);filename:指配方模板文件存放的路径和相应的文件名;recipeName:指配方模板文件中特定配方的名字。注:文件名和配方名如果加上双引号,则表示是字符串常量,若不加双引号,则可以是组态王中的I/O型或内存型字符串变量。例:RecipeDelete(“C:\recipe\北京面包厂.csv”,”水果香型面包”);此语句将配方模板文件“北京面包厂.csv”中的配方“水果香型面包”调入到项目模板定义中的数据变量中。3.RecipeSave此函数用于存放一个新建配方或把对原配方的修改变化存入已有的配方模板文件中。第十五章配方管理北京亚控科技发展有限公司737语法格式使用如下:RecipeSave(filename,recipeName);Filename:指配方模板文件存放的路径和相应的文件名。recipeName:指配方模板文件中特定配方的名字,注1:文件名和配方名如果加上双引号,则表示是字符串常量,若不加双引号,则可以是组态王中的I/O型或内存型字符串变量。注2:配方模板文件必须存在,如果配方模板文件不存在,则要事先创建配方模板文件,否则,调用此函数将失败,并返回FALSE。例:RecipeSave(“C:\recipe\北京面包厂.csv”,“配方3”);此语句将配方的修改变化存入到配方模板文件“北京面包厂.csv”中的配方3中。如果“北京面包厂.csv”中没有配方3,则系统自动创建。4.RecipeSelectNextRecipe此函数用于在配方模板文件中选择指定配方的下一个配方。语法格式使用如下:RecipeSelectNextRecipe(filename,recipeName);filename:指配方模板文件存放的路径和相应的文件名;recipeName:是一个字符串变量,存放工程人员选择的配方名字。注:文件名和配方名如果加上双引号,则表示是字符串参数,若不加双引号,则可以是组态王中的I/O型变量或内存型变量。例:RecipeSelectNextRecipe(“C:\recipe\北京面包厂.csv”,“配方3”);此语句运行后读取模板文件中“配方3”的下一个配方,如果字符串变量recipeName的值为空或没有找到,则返回文件中的第一个配方;如果变量recipeName的值为文件中的最后一个配方,则仍返回此配方。注:配方创建后是按序存放的。第十五章配方管理北京亚控科技发展有限公司7385.RecipeSelectPreviousRecipe此函数用于在配方模板文件中选择当前配方的前一个配方。语法格式使用如下:RecipeSelectPreviousRecipe(filename,recipeName);filename:指配方模板文件存放的路径和相应的文件名;recipeName:是一个字符串变量,存放工程人员选择的当前配方名字。注:文件名和配方名如果加上双引号,则表示是字符串参数,若不加双引号,则可以是组态王中的I/O型变量或内存型变量。例:RecipeSelectPreviousRecipe(“C:\recipe\北京面包厂.csv”,“配方3”);此语句运行后读取模板文件中“配方3”的的上一个配方,如果变量recipeName的值为空或没有找到,则返回文件中的最后一个配方;如果变量recipeName的值为文件中的第一个配方,则仍返回此配方。注:配方创建后是按序存放的。6.RecipeSelectRecipe此函数
本文标题:第15章配方管理
链接地址:https://www.777doc.com/doc-2243586 .html