倍福twincat关于配方数据的保存和读取的基本使用
1.添加配方管理,右键 PLC 工程,在 ADD 列表中添加 Recipe Manager,如图:
2.配置配方双击 Recipe Mamger,配置配方保存文件格式、路径及内容,从直观性角度而言 Textual 要比 Binary 方便,如图:
1.其中存储类型包含2进制和文本制,文本制可以更改保存后的配方并且载入进程序中。
2.创建配方时,弹出的界面中产品名称无法修改默认为RecipeManager。
3.建立需要存储的变量,如图:
4.配置配方变量参数,右键 Recipe Mamger,添加 Recipe Definition,起名
‘Recipes’,双击‘Recipes’在 Variable 中添加配方变量,如图:
‘Recipes’,为配方后缀名。稍后在调用配方函数的功能时需要用到。
1.双击‘’变量‘’下方矩形框,如图:
2.点击矩形框右侧小…添加配方中需要保存的变量。
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.程序调试
①我们将程序本地登录,将原先的变量写入一些初始值。如图:
②写入初始值后,再将程序开始的信号写入,此时可以在我们之前设置的目录下找到我们的配方文件。
③以记事本方式打开配方,可以看到保存的变量数据。
④更改其中数值并保存。 (更改时注意变量的类型)
⑤将载入配方的信号赋值,写入程序。此时我们可以观察到更改后的配方已经被载入到变量中。