配方定义

概述

配方管理器处理 1 个或数个配方定义。配方定义包含变量列表以及这些变量的 1 个或数个配方(值集)。您可以将配方保存到文件,或者将配方文件写入到控制器。通过使用不同的配方,您可在一次操作中,将另一个值集分配至控制器上的一组变量。对于配方定义、配方以及每个配方的变量没有限制。

注: 在应用程序初始化阶段结束时,配方管理读取在配方定义中定义的变量的值。由于应用程序变量的初始值都在此时进行了设置,因此能够正确初始化配方文件中的缺失值。

配方定义

您可将一个或数个配方定义对象添加至工具树中的配方管理器节点。为此,可单击配方管理器节点的绿色加号按钮,并执行命令配方定义...

双击节点以查看并编辑配方定义,包括单独编辑器视图中的特定配方显示。

配方定义编辑器视图

1 配方定义名称

2 配方名称

编辑器窗口将以配方定义的名称为标题。

参数

描述

变量

在表格中,您可输入要对其定义 1 个或数个配方的数个项目变量。为此,可在光标处于任何行的任何字段中时,使用命令 Insert Variable。您也可以双击变量字段,或者可选择它并按下空格条来进入编辑器模式。输入项目变量的有效名称,例如 plc_prg.ivar。可以单击 ... 按钮来打开输入助手对话框。

也可以指定 POU,比如,类似于上图所示的 PLC_PRG 的程序。在这种情况下,关闭输入字段时,POU 内定义的所有变量都被自动添加到配方定义。这同样适用于数据类型或功能块。

您可以使用右侧的按钮在常规与结构化视图之间切换。

在修改了结构化数据类型或 POU 的声明之后,可自动通过相关的变量来缩减或扩展配方定义。有关更多信息,请参阅更新结构化变量命令

类型

将自动填写类型字段。也可选择性定义符号名称

名称

可定义符号名称

注释

输入其他信息,例如在变量中记录的值的单位。

最小值最大值

您可选择性指定应当允许在该变量上写入的这些值。

当前值

将于在线模式下监视该值。

自动保存修改到配方文件

最好在配方管理器编辑器的常规选项卡中,激活此选项,因为它会影响配方管理的一般行为:在运行期间进行了任何修改时,都会立即更新存储文件。注意只有配方管理器在控制器上可用时,该选项才有效。

您可通过在选择了表格的一个单元格时按下 DEL 键从表格中删除变量(行)。您可通过在选择单元格的同时按住 CTRL 键,选择多个行。您可通过复制和粘贴来复制所选行。粘贴命令可将复制的行插在选择的行的上方。在该情况下,将配方值插入匹配的配方列(如果可用)。

要将配方添加至配方定义,可在选中了编辑器视图中时,执行添加新配方 命令。对于每个配方,都会创建其自身的列,以配方名称为标题(例如:上图中的 R1R2)。

在线模式下,可通过相应地配置可视化元素(输入配置执行命令)或使用 Recipe_Management.library 的功能块 RecipeManCommands 的相应方法来更改配方。

有关在配方定义编辑器视图中配方列的上下文菜单中可用的一系列方法,请参阅 在线模式下使用配方

有关配方于具体在线状态下如何作用的信息,请参阅下面的段落。最好设置选项自动保存修改到配方文件(以获得配方管理的一般行为)。

配方

您可离线或在线添加或删除配方。在离线模式下,使用配方管理器编辑器中的添加新配方删除配方。在线模式下,在相应配置的可视化元素上配置输入,或使用 Recipe_Management.library 的功能块 RecipeManCommands 的相应方法。

在添加配方时,会将另一列添加在最右一列的后面,以配方的名称为标题(请参见配方定义编辑器视图的图)。可在配方列的字段中填入相应的值。从而,对于相同的变量集,可在具体配方中准备不同的值集。

在线模式下使用配方

在应用程序节点中或通过在可视化元素上输入,借助 Recipe_Management.libray 提供的功能块 RecipeManCommands 的方法,可处理配方(创建、读取、写入、保存、加载、删除)。

在激活了自动保存修改到配方文件时于在线模式下处理配方:

操作

在项目中定义的配方

在运行时期间创建的配方

在线热复位

在线冷复位

下载

使用已打开的项目外的值设置所有配方定义的配方。

动态创建的配方保持不变。

在线初始值复位

从控制器删除应用程序。如果此后完成了新下载,将以类似在线热复位的方式恢复配方。

关闭并重新启动控制器

在重启后,将从自动创建的文件重新载入配方。因此关闭前将恢复状态。

在线修改

配方值保持不变。运行时期间,仅可通过 RecipeManCommands 功能块的命令修改配方。

停止

在停止/启动控制器时,配方保持不变。

注: 浮点值(类型 REAL/LREAL)以十进制格式和十六进制格式存储在文本配方文件中。(因为十六进制值表示确切值,而十进制 REAL 值表示第七个十进位位置的值。)

示例:PLC_PRG.realVar:=22.0F16#1600000H-5

如要手动修改配方文件中的值,请编辑十进制值,并删除后续的十六进制条目。(如果两个值都可用,则加载十六进制值。)

在未激活自动保存修改到配方文件时于在线模式下处理配方:

操作

在项目中定义的配方

在运行时期间创建的配方

在线热复位

在线冷复位

下载

使用已打开的项目外的值设置所有配方定义的配方。但是仅在内存中进行这些设置。为了将配方保存在文件中,必须显式使用保存命令。

动态创建的配方丢失。

在线初始值复位

从控制器删除应用程序。如果此后完成了新的下载,将恢复配方。

动态创建的配方丢失。

关闭并重新启动控制器

在重启之后,将以初始值重新加载从项目外的值下载时创建的配方。因此将不会恢复其在关闭前的状态。

在线修改

配方值保持不变。运行时期间,仅可通过 RecipeManCommands 功能块的命令修改配方。

停止

在停止/启动控制器时,配方保持不变。

其他信息:

  • 有关在应用程序重启时重新加载的配方在文件中的存储的信息,请参阅配方管理器编辑器,存储选项卡

  • 有关具体 RecipeManCommands 方法的说明,请参阅库中的文档。

  • 有关可视化元素的输入配置,请参阅其帮助页面(类别输入 > 执行命令)。

可执行以下有关配方的操作:

操作

描述

创建配方(即添加新配方

以指定的配方定义创建新配方。

读取配方

从控制器读取指定配方定义的变量的值并写入指定配方。因此,将隐式存储值(在控制器上的文件中)。也将在配方管理器中的配方定义表格中立即监视它们。换句话讲,将使用来自控制器的实际值更新配方管理器中管理的配方。

写配方

在配方管理器中可见的给定配方的值被写入到控制器上的变量。

保存配方

将指定配方的值写入扩展名为 *.txtrecipe* .rcp 的文件,您必须定义该文件的名称。为此,会打开用于在本地文件系统中保存文件的对话框。

注: 不得覆盖用作读取和写入配方值的必要缓冲区的显式使用的配方文件。因此,新配方文件的名称必须不同于 <配方名称>.<配方定义名称>.txtrecipe / .rcp。

加载配方

可从文件中重新加载已存储在该文件中的配方(请参阅保存配方说明)。为此会打开用于浏览文件的对话框。将过滤器自动设置为扩展名 *.txtrecipe / * .rcp。在重新加载文件后,将在配方管理器中相应更新配方值。有关更多信息,请参阅菜单命令在线帮助中有关加载配方命令的描述。

删除配方(即移除配方

从配方定义删除指定的配方。

更改配方

可更改项目变量的值。借助以下写入配方操作,使用新值写入项目变量。

注:

使用配方文件(创建、读取、写入、删除)时,在禁用了警戒时钟功能的情况下,创建具有低优先级的特定任务