Skip to main content

对象:配方管理器

标签:存储

配方管理器提供用于维护用户定义的变量列表的功能,称为 配方定义.配方定义可以存储在 PLC 的“配方文件”中。

有关更多信息,请参阅: 使用配方设置值

存储类型

文本CODESYS 使用配置的列和分隔符以可读格式保存配方。

二进制CODESYS 以不可读的二进制格式保存配方。这种格式需要较少的存储空间。

注意:只有在未更改变量列表的情况下才能再次读取二进制配方。

文件路径

<directory name>

例子: AllRecipes

运行时系统上的路径

. 笔记:
  • 该路径通常是目标系统上运行时文件目录中的相对路径(PlcLogic)。

  • 访问目录外的路径 PlcLogic 不允许在每个控制器上使用。 Windows 系统的绝对路径可以通过按 _cds_icon_three_dots.png 按钮。

运行时系统中的文件路径示例: PlcLogic/AllRecipes

CODESYS 下载到 PLC 时,为每个配方在此目录中保存一个文件。要求是您选择 PLC 中的配方管理 选项。

每次重新启动应用程序时,这些文件都会加载到配方管理器中。

文件扩展名

配方文件的文件扩展名,格式为 .<file extension>

生成的配方文件默认名称采用以下形式: <recipe>.<recipe definition>.<file extension>

分隔器

已保存文件中各个值之间的分隔符

可用列

选定的列

定义保存的信息以及在配方文件中的顺序

另存为默认值

CODESYS 在整个项目中为所有其他配方管理器使用选项卡上的设置。

标签:常规

PLC 中的配方管理

standard icon:必须为用户程序或可视化元素选择以在运行时加载配方

如果您仅通过 CODESYS 编程界面,则可以清除该选项。

2. 保存食谱

将配方更改自动保存到配方文件

什么时候 PLC 中的配方管理 被选中,有以下选项 保存 食谱:

standard icon:我们推荐此选项,因为它有助于配方管理器“正常”运行。

每当更改配方时,PLC 上的配方文件会在运行时自动更新。



3. 加载配方

什么时候 PLC 中的配方管理 选中后,从 PLC 下载有以下两个选项:

仅下载变量列表的完全匹配

_cds_icon_radiobutton_activated.png:仅当 PLC 上的文件包含应用程序配方定义变量列表中的所有变量并且这些变量按相同顺序排序时,才会下载配方。最后的附加条目将被忽略。如果所需的匹配不存在,则错误状态 ERR_RECIPE_MISMATCH 设置(RecipeManCommands.GetLastError)。

下载具有匹配名称的变量

_cds_icon_radiobutton_activated.png:仅下载应用程序的配方定义中与 PLC 上的配方文件中名称相同的变量的配方值。如果变量列表的组成和排序不同,则不设置错误状态。

因此,如果文件或配方定义中的变量已被删除,也可以下载配方文件。



下载时覆盖现有食谱

standard icon:如果控制器上存在同名的配方文件,则在启动应用程序时,它们会被项目中的配置值覆盖。如果应该加载现有配方文件中的值,则必须禁用此选项。

要求: 存储类型文本将配方更改自动保存到配方文件 选项被选中。

4. 写食谱

以下选项可用于将配方值写入 PLC 上的变量:

当配方值超出范围时,将变量限制为最小值/最大值

_cds_icon_radiobutton_activated.png:如果配方包含的值超出定义中指定的值范围,则将定义的最小值或最大值写入 PLC 变量而不是该值。

当配方值超出最小/最大范围时,不要写入变量

_cds_icon_radiobutton_activated.png:如果配方包含的值超出定义中指定的值范围,则不会将值写入 PLC 变量。它保留其当前值。



5. 阅读食谱

以下选项可用于 配方值从 PLC 到项目中的配方中:

检查配方的变化

始终使用功能块 RecipeManCommandsRecipeManagement.library 阅读食谱。永远不要循环调用该方法。这是因为每个调用都可以写入文件系统,这既费时又给控制器带来负担。例如,Raspberry Pi 的写入周期数是有限的。

standard icon:每次调用方法时,首先将当前 PLC 变量值读入配方。然后系统检查值是否已更改。仅当值已更改时,才会保存配方。这意味着配方文件将被当前配方覆盖。

仅当 PLC 上的配方值已更改时,该选项才可用于更新本地文件系统中的配方文件。但是,它会影响性能,因为它会生成额外的检查代码。

_cds_icon_option_deactivated.png:每次调用方法时,首先将当前 PLC 变量值读入配方。然后将配方写入本地文件系统中的配方文件。

注意:由于每次调用都会写入文件系统,因此控制器的负担会很大。



在线模式下的食谱

6. 选择“自动将配方更改保存到配方文件”选项。

菜单命令

项目中定义的配方的行为

已定义配方在运行时的行为

在线 → 重新设置温暖

在线→重置冷

在线 → 下载

所有配方定义的配方都与当前项目中的值一起下载。

动态生成的配方保持不变。

在线 → 重置原点

应用程序已从 PLC 中删除。如果之后再次进行下载,则配方将恢复为在线热复位。

PLC的关闭和重启

重新启动后,将从自动创建的文件中再次下载配方。这将恢复与关机前相同的状态。

在线 → 在线更改

配方值保持不变。在运行模式下,只能通过功能块命令更改配方 RecipeManCommands.

调试 → 停止

调试 → 开始

当 PLC 停止或启动时,配方保持不变。



7. 未选择“自动将配方更改保存到配方文件”选项。

行动

项目中定义的配方

运行时定义的配方

在线 → 重新设置温暖

在线→重置冷

在线 → 下载

所有配方定义的配方都与当前项目中的值一起下载。但是,这些仅设置在内存中。要将配方保存到文件中,您必须运行 保存食谱 明确命令。

动态生成的配方丢失。

在线 → 重置原点

应用程序从 PLC 中删除。之后执行下载时,将恢复配方。

动态生成的配方丢失。

PLC的关闭和重启

重新启动后,将从自动创建的文件中再次下载配方。这将恢复与关机前相同的状态。

在线 → 在线更改

配方值保持不变。在运行模式下,只能通过功能块命令更改配方 RecipeManCommands.

调试 → 停止

调试 → 开始

当 PLC 停止或启动时,配方保持不变。