1.添加配方管理,右键 PLC 工程,在 ADD 列表中添加 Recipe Manager,如图:

2.配置配方双击 Recipe Mamger,配置配方保存文件格式、路径及内容,从直观性角度而言 Textual 要比 Binary 方便,如图:


– 其中存储类型包含2进制和文本制,文本制可以更改保存后的配方并且载入进程序中。
– 创建配方时,弹出的界面中产品名称无法修改默认为RecipeManager。

3.建立需要存储的变量,如图:

4.配置配方变量参数,右键 Recipe Mamger,添加 Recipe Definition,起名‘Recipes’,双击‘Recipes’在 Variable 中添加配方变量,如图:


– .双击‘’变量‘’下方矩形框,如图:

– 点击矩形框右侧小…添加配方中需要保存的变量。

5.程序编写,先命名 RecipeManCommands 为 RecipeManCommands 类型,之后在实例调用下就可以调用操作配方的各种方法,本例实现的是数据的保存及调用。代码如下:

var
    Parameter :ARRAY[1..2] OF DUT ;
    Value1 : INT ;
    Value2 : BOOL ;
    Value3 : REAL ;
    Value4 : STRING ;   

    RecipeManCommands : RecipeManCommands ;
    bStart_Save : BOOL ;            //保存配方指令
    bStart_Load : BOOL ;            //载入配方指令
    sSave_Name : STRING ;           //保存配方的名称
    sLoad_Name : STRING ;           //载入配方的名称

    rt_Save : Tc2_Standard.R_TRIG;
    rt_Load : Tc2_Standard.R_TRIG;
END_VAR
IF rt_Save.Q THEN  
     RecipeManCommands.CreateRecipe(RecipeDefinitionName:='Recipes' , RecipeName:='wobushipeifang' );
     //这条语句为创建配方指令,在第一次创建配方时需要使用。

     RecipeManCommands.ReadAndSaveRecipe(RecipeDefinitionName:='Recipes' , RecipeName:='wobushipeifang' );

 bStart_Save := FALSE; 
END_IF
IF rt_Load.Q  THEN

    RecipeManCommands.LoadAndWriteRecipe(RecipeDefinitionName:='Recipes' , RecipeName:='wobushipeifang' );

    bStart_Load := FALSE; 
END_IF

6.程序调试

  • 我们将程序本地登录,将原先的变量写入一些初始值。如图:
  • 写入初始值后,再将程序开始的信号写入,此时可以在我们之前设置的目录下找到我们的配方文件。
  • 以记事本方式打开配方,可以看到保存的变量数据。
  • 更改其中数值并保存。 (更改时注意变量的类型)
  • 将载入配方的信号赋值,写入程序。此时我们可以观察到更改后的配方已经被载入到变量中。