配方管理器提供用于维护用户定义的变量列表的功能,称为配方定义。配方定义可以存储在PLC上的配方文件中。
存储类型 | 文本:CODESYS使用配置的列和定界符以可读格式保存配方。 二进制:CODESYS以不可读的二进制格式保存配方。此格式需要较少的存储空间。 注意:只有在未更改变量列表的情况下,才能再次读取二进制配方 |
文件路径 | <目录名称>\ 例如:AllRecipes\ 运行系统上的相对路径该路径必须以反斜杠(“\”)结尾。该目录是在目标系统上的运行时文件(PlcLogic)目录中创建的。 运行时系统中文件路径的示例:PlcLogic/AllRecipes 下载到PLC时,CODESYS为每个配方在此目录中保存一个文件。要求是选择选项PLC中配方管理。 每次重新启动应用程序时,文件都会加载到配方管理器中。 |
文件扩展名 | 配方文件的文件扩展名,格式为.<file extension> 配方文件的默认名称格式为 <recipe>.<recipe definition>.<file extension>。 |
分隔器 | 已保存文件中各个值之间的分隔符 |
可用列 选定列 | 定义在配方文件中以哪种顺序保存哪些信息 |
另存为默认值 | CODESYS将整个工程中选项卡上的设置用于所有其他配方管理器。 |
PLC中的配方管理 | :必须为用户程序或可视化元素选择,以便在运行时模式下加载配方。如果仅通过CODESYS程序接口将配方传输到PLC,则可以清除此选项。 |
.保存配方
自动将配方更改保存到配方文件 | 当选择在PLC上配方管理,有用于以下保存配方的选项: :我们建议您使用此选项,因为它可以帮助配方管理器“正常”运行。每当更改配方时,PLC上的配方文件就会在运行模式下自动更新。 |
.加载配方
当PLC中配方管理被选择,从PLC下载有以下两个选项: | |
仅下载变量列表的完全匹配项 | :仅当PLC上的文件包含应用程序配方定义的变量列表中的所有变量且这些变量以相同顺序排序时,才下载该配方。最后的其他条目将被忽略。如果不存在所需的匹配项,则将错误状态ERR_RECIPE_MISMATCH设置为(RecipeManCommands.GetLastError)。 |
下载具有匹配名称的变量 | :仅下载在应用程序的配方定义中具有与PLC配方文件中相同名称的变量的配方值。如果变量列表的组成和排序不同,则不会设置错误状态。 这样,如果文件或配方定义中的变量已删除,也可以下载配方文件。 |
.写配方
以下选项可用于将配方值写入PLC上的变量: | |
当配方值超出范围时,将变量限制为最小值/最大值 | :如果配方包含的值超出定义中指定的值范围,则将定义的最小值或最大值而不是该值写入PLC变量。 |
当配方值超出最小/最大范围时,请勿写入变量 | :如果配方包含的值超出定义中指定的值范围,则不会将任何值写入PLC变量。它保留其当前值。 |
.读配方
以下选项可用于将PLC中的配方值读入工程中的配方中: | |
检查配方是否有变化 | 始终使用功能块RecipeManCommands从RecipeManagement.library读配方切勿循环调用该方法。这是因为每个调用都可以写入文件系统,这既费时又给控制器带来负担。例如,Raspberry Pi的写周期数受到限制。 :每次调用方法时,首先将当前PLC变量值读入配方。然后,系统检查值是否已更改。仅当值更改时,配方才会保存。这意味着配方文件被当前配方覆盖。 仅当PLC上的配方值已更改时,才可以使用此选项来更新本地文件系统中的配方文件。但是,它会影响性能,因为它会生成用于检查的其他代码。 :每次调用方法时,首先将当前PLC变量值读入配方。然后将配方写入本地文件系统中的配方文件。 注意:由于每次调用都要写入文件系统,因此控制器可能会负担很重。 |