配方管理器处理 1 个或数个配方定义。配方定义包含变量列表以及这些变量的 1 个或数个配方(值集)。您可以将配方保存到文件,或者将配方文件写入到控制器。通过使用不同的配方,您可在一次操作中,将另一个值集分配至控制器上的一组变量。对于配方定义、配方以及每个配方的变量没有限制。
您可将一个或数个配方定义对象添加至工具树中的配方管理器节点。为此,可单击配方管理器节点的绿色加号按钮,并执行命令配方定义...。
双击节点以查看并编辑配方定义,包括单独编辑器视图中的特定配方显示。
配方定义编辑器视图
1 配方定义名称
2 配方名称
编辑器窗口将以配方定义的名称为标题。
参数 |
描述 |
---|---|
变量 |
在表格中,您可输入要对其定义 1 个或数个配方的数个项目变量。为此,可在光标处于任何行的任何字段中时,使用命令 Insert Variable。您也可以双击变量字段,或者可选择它并按下空格条来进入编辑器模式。输入项目变量的有效名称,例如 plc_prg.ivar。可以单击 ... 按钮来打开输入助手对话框。 也可以指定 POU,比如,类似于上图所示的 PLC_PRG 的程序。在这种情况下,关闭输入字段时,POU 内定义的所有变量都被自动添加到配方定义。这同样适用于数据类型或功能块。 您可以使用右侧的按钮在常规与结构化视图之间切换。 在修改了结构化数据类型或 POU 的声明之后,可自动通过相关的变量来缩减或扩展配方定义。有关更多信息,请参阅更新结构化变量命令。 |
类型 |
将自动填写类型字段。也可选择性定义符号名称。 |
名称 |
可定义符号名称。 |
注释 |
输入其他信息,例如在变量中记录的值的单位。 |
最小值和最大值 |
您可选择性指定应当允许在该变量上写入的这些值。 |
当前值 |
将于在线模式下监视该值。 |
自动保存修改到配方文件 |
最好在配方管理器编辑器的常规选项卡中,激活此选项,因为它会影响配方管理的一般行为:在运行期间进行了任何修改时,都会立即更新存储文件。注意只有配方管理器在控制器上可用时,该选项才有效。 |
您可通过在选择了表格的一个单元格时按下 DEL 键从表格中删除变量(行)。您可通过在选择单元格的同时按住 CTRL 键,选择多个行。您可通过复制和粘贴来复制所选行。粘贴命令可将复制的行插在选择的行的上方。在该情况下,将配方值插入匹配的配方列(如果可用)。
要将配方添加至配方定义,可在关注点位于编辑器视图中时,执行添加新配方命令。对于每个配方,都会创建其自身的列,以配方名称为标题(例如:上图中的 R1 和 R2)。
在线模式下,可通过相应地配置可视化元素(输入配置执行命令)或使用 Recipe_Management.library 的功能块 RecipeManCommands 的相应方法来更改配方。
以下方法在配方定义编辑器视图中配方列的上下文菜单中可用:
oReadRecipe:将当前变量值加入配方。
oWriteRecipe:将配方写入变量。
oSaveRecipe:将配方存储在缺省配方文件中。
oLoadRecipe:从缺省配方文件加载配方。
oCreateRecipe:在配方定义中创建新配方。
oDeleteRecipe:删除配方定义中的已有配方。
有关配方于具体在线状态下如何作用的信息,请参阅下面的段落。最好设置选项自动保存修改到配方文件(以获得配方管理的一般行为)。
您可离线或在线添加或删除配方。离线模式下,在配方管理器编辑器中使用命令添加新配方以及 Remove recipes。在线模式下,在相应配置的可视化元素上配置输入,或使用 Recipe_Management.library 的功能块 RecipeManCommands 的相应方法。
在添加配方时,会将另一列添加在最右一列的后面,以配方的名称为标题(请参见配方定义编辑器视图的图)。可在配方列的字段中填入相应的值。从而,对于相同的变量集,可在具体配方中准备不同的值集。
在应用程序节点中或通过在可视化元素上输入,借助 Recipe_Management.libray 提供的功能块 RecipeManCommands 的方法,可处理配方(创建、读取、写入、保存、加载、删除)。
在激活了自动保存修改到配方文件时于在线模式下处理配方:
动作 |
在项目中定义的配方 |
在运行时期间创建的配方 |
---|---|---|
在线热复位 在线冷复位 下载 |
使用已打开的项目外的值设置所有配方定义的配方。 |
动态创建的配方保持不变。 |
在线初始值复位 |
从控制器删除应用程序。如果此后完成了新下载,将以类似在线热复位的方式恢复配方。 |
|
关闭并重新启动控制器 |
在重启后,将从自动创建的文件重新载入配方。因此关闭前将恢复状态。 |
|
在线修改 |
配方值保持不变。运行时期间,仅可通过 RecipeManCommands 功能块的命令修改配方。 |
|
停止 |
在停止/启动控制器时,配方保持不变。 |
注意: 浮点值(类型 REAL/LREAL)以十进制格式和十六进制格式存储在文本配方文件中。(因为十六进制值表示确切值,而十进制 REAL 值表示第七个十进位位置的值。)
示例:PLC_PRG.realVar:=22.0F16#1600000H-5
如要手动修改配方文件中的值,请编辑十进制值,并删除后续的十六进制条目。(如果两个值都可用,则加载十六进制值。)
在未激活自动保存修改到配方文件时于在线模式下处理配方:
动作 |
在项目中定义的配方 |
在运行时期间创建的配方 |
---|---|---|
在线热复位 在线冷复位 下载 |
使用已打开的项目外的值设置所有配方定义的配方。但是仅在内存中进行这些设置。为了将配方保存在文件中,必须显式使用保存命令。 |
动态创建的配方丢失。 |
在线初始值复位 |
从控制器删除应用程序。如果此后完成了新的下载,将恢复配方。 |
动态创建的配方丢失。 |
关闭并重新启动控制器 |
在重启之后,将以初始值重新加载从项目外的值下载时创建的配方。因此将不会恢复其在关闭前的状态。 |
|
在线修改 |
配方值保持不变。运行时期间,仅可通过 RecipeManCommands 功能块的命令修改配方。 |
|
停止 |
在停止/启动控制器时,配方保持不变。 |
详细信息:
o有关在应用程序重启时重新加载的配方在文件中的存储的信息,请参阅配方管理器编辑器,存储选项卡。
o有关具体 RecipeManCommands 方法的说明,请参阅库中的文档。
o有关虚拟化元素的相应输入配置,请参阅其帮助页面(类别输入 > 执行命令)。
可执行以下有关配方的操作:
动作 |
描述 |
---|---|
创建配方(即添加新配方) |
以指定的配方定义创建新配方。 |
读配方 |
从控制器读取指定配方定义的变量的值并写入指定配方。这意味着将隐式存储值(在控制器上的文件中)。也将在配方管理器中的配方定义表格中立即监视它们。换句话讲,将使用来自控制器的实际值更新配方管理器中管理的配方。 |
写配方 |
在配方管理器中可见的给定配方的值被写入到控制器上的变量。 |
保存配方 |
将指定配方的值写入扩展名为 *.txtrecipe 的文件,您必须定义该文件的名称。为此,会打开用于在本地文件系统中保存文件的对话框。 注意: 不得覆盖用作读取和写入配方值的必要缓冲区的显式使用的配方文件。这意味着新配方文件的名称必须不同于 <配方名称>.<配方定义名称>.txtrecipe。 |
加载配方 |
可从文件中重新加载已存储在该文件中的配方(请参阅保存配方说明)。为此会打开用于浏览文件的对话框。将把过滤器自动设置为扩展名 *.txtrecipe。在重新加载文件后,将在配方管理器中相应更新配方值。 |
删除配方(即移除配方) |
从配方定义删除指定的配方。 |
更改配方 |
可更改项目变量的值。借助以下写入配方操作,使用新值写入相应项目变量。 |
为 Modicon M241 和 M251 逻辑控制器创建特定任务
对于应有权访问(创建、读取、写入、删除)配方文件的 Modicon M241 和 M251 逻辑控制器,在警戒时钟功能已禁用的情况下创建具有低优先级的特定任务。否则,这会影响应用程序的循环时间。