RecipeMan 命令

概述

在调用配方命令时,会执行内部数据访问。根据设备类型,这需要数毫秒时间。确认这些调用未由 MAST 任务或未由具有已配置看门狗的任务或实时任务执行。此操作有可能导致某个应用程序错误,并且控制器将进入 HALT 状态。

请注意在每次修改配方时,通过选项自动保存修改到配方文件也会执行文件访问。如果配方的存储由应用程序触发,则停用该选项。

返回值

配方命令可具有以下返回值:

返回值

描述

ERR_NO_RECIPE_MANAGER_SET

控制器上没有可用配方管理器。

ERR_RECIPE_DEFINITION_NOT_FOUND

配方定义不存在。

ERR_RECIPE_ALREADY_EXIST

配方已存在于配方定义中。

ERR_RECIPE_NOT_FOUND

配方未存在于配方定义中。

ERR_RECIPE_FILE_NOT_FOUND

配方文件不存在。

ERR_RECIPE_MISMATCH

配方文件的内容与当前配方不匹配。

注意: 该返回值仅会在存储类型是文本并且文件中的变量名称与配方定义中的变量名称不匹配时生成。未载入配方文件。

ERR_RECIPE_SAVE_ERR

无法通过写入权限打开配方文件。

ERR_FAILED

操作不成功。

ERR_OK

操作成功。

CreateRecipe

该方法可在指定的配方定义中新建配方,并在此后将控制器的值读入新配方。在结束时,新配方将保存在默认文件中。

参数

描述

RecipeDefinitionName

配方定义的名称

RecipeName

配方的名称

返回值ERR_NO_RECIPE_MANAGER_SET, ERR_RECIPE_DEFINITION_NOT_FOUND, ERR_RECIPE_ALREADY_EXIST, ERR_FAILED, ERR_OK

CreateRecipeNoSave

该方法可在指定的配方定义中新建配方,并在此后将控制器的值读入新配方。

参数

描述

RecipeDefinitionName

配方定义的名称

RecipeName

配方的名称

返回值ERR_NO_RECIPE_MANAGER_SET, ERR_RECIPE_DEFINITION_NOT_FOUND, ERR_RECIPE_NOT_FOUND, ERR_FAILED, ERR_OK

DeleteRecipe

该方法可从配方定义删除配方。

参数

描述

RecipeDefinitionName

配方定义的名称

RecipeName

配方的名称

返回值ERR_NO_RECIPE_MANAGER_SET, ERR_RECIPE_DEFINITION_NOT_FOUND, ERR_RECIPE_NOT_FOUND, ERR_FAILED, ERR_OK

DeleteRecipeFile

该方法可从配方删除缺省配方文件。

参数

描述

RecipeDefinitionName

配方定义的名称

RecipeName

配方的名称

返回值ERR_NO_RECIPE_MANAGER_SET, ERR_RECIPE_DEFINITION_NOT_FOUND, ERR_RECIPE_NOT_FOUND, ERR_RECIPE_FILE_NOT_FOUND, ERR_OK

LoadAndWriteRecipe

该方法可从缺省配方文件加载配方并在此后将配方写入控制器变量。

参数

描述

RecipeDefinitionName

配方定义的名称

RecipeName

配方的名称

返回值ERR_NO_RECIPE_MANAGER_SET, ERR_RECIPE_DEFINITION_NOT_FOUND, ERR_RECIPE_NOT_FOUND, ERR_RECIPE_FILE_NOT_FOUND, ERR_RECIPE_MISMATCH, ERR_FAILED, ERR_OK

LoadFromAndWriteRecipe

该方法可从指定配方文件加载配方并在此后将配方写入控制器变量。

参数

描述

RecipeDefinitionName

配方定义的名称

RecipeName

配方的名称

FileName

文件的名称

返回值ERR_NO_RECIPE_MANAGER_SET, ERR_RECIPE_DEFINITION_NOT_FOUND, ERR_RECIPE_NOT_FOUND, ERR_RECIPE_FILE_NOT_FOUND, ERR_RECIPE_MISMATCH, ERR_FAILED, ERR_OK

LoadRecipe

该方法可从缺省配方文件加载配方。缺省配方文件名为 <配方>.<配方定义>.<配方扩展名>。

参数

描述

RecipeDefinitionName

配方定义的名称

RecipeName

配方的名称

返回值ERR_NO_RECIPE_MANAGER_SET, ERR_RECIPE_DEFINITION_NOT_FOUND, ERR_RECIPE_NOT_FOUND, ERR_RECIPE_FILE_NOT_FOUND, ERR_RECIPE_MISMATCH, ERR_FAILED, ERR_OK

ReadAndSaveRecipe

该方法将控制器值读入配方,并在此后将配方存储在缺省配方文件中。

参数

描述

RecipeDefinitionName

配方定义的名称

RecipeName

配方的名称

返回值ERR_NO_RECIPE_MANAGER_SET, ERR_RECIPE_DEFINITION_NOT_FOUND, ERR_RECIPE_NOT_FOUND, ERR_RECIPE_SAVE_ERR, ERR_FAILED, ERR_OK

ReadAndSaveRecipeAs

该方法将控制器值读入配方,并在此后将配方存储在指定的配方文件中。将会覆盖现有文件的内容。

参数

描述

RecipeDefinitionName

配方定义的名称

RecipeName

配方的名称

FileName

文件的名称

返回值ERR_NO_RECIPE_MANAGER_SET, ERR_RECIPE_DEFINITION_NOT_FOUND, ERR_RECIPE_NOT_FOUND, ERR_RECIPE_SAVE_ERR, ERR_FAILED, ERR_OK

SaveRecipe

该方法可将配方保存到缺省配方文件中。将会覆盖现有文件的内容。缺省配方文件名为 <配方>.<配方定义>.<配方扩展名>。

参数

描述

RecipeDefinitionName

配方定义的名称

RecipeName

配方的名称

返回值ERR_NO_RECIPE_MANAGER_SET, ERR_RECIPE_DEFINITION_NOT_FOUND, ERR_RECIPE_NOT_FOUND, ERR_RECIPE_SAVE_ERR, ERR_FAILED, ERR_OK

ReadRecipe

该方法将控制器值读入配方。

参数

描述

RecipeDefinitionName

配方定义的名称

RecipeName

配方的名称

返回值ERR_NO_RECIPE_MANAGER_SET, ERR_RECIPE_DEFINITION_NOT_FOUND, ERR_RECIPE_NOT_FOUND, ERR_FAILED, ERR_OK

WriteRecipe

该方法将配方写入控制器变量。

参数

描述

RecipeDefinitionName

配方定义的名称

RecipeName

配方的名称

返回值ERR_NO_RECIPE_MANAGER_SET, ERR_RECIPE_DEFINITION_NOT_FOUND, ERR_RECIPE_NOT_FOUND, ERR_FAILED, ERR_OK

ReloadRecipes

该方法可从文件系统重新加载配方列表。

参数

描述

RecipeDefinitionName

配方定义的名称

返回值ERR_NO_RECIPE_MANAGER_SET, ERR_RECIPE_DEFINITION_NOT_FOUND, ERR_FAILED, ERR_OK

GetRecipeCount

该方法从相应的配方定义返回配方数目。

参数

描述

RecipeDefinitionName

配方定义的名称

返回值:-1 :,如果未找到配方定义。

GetRecipeNames

该方法从相应的配方定义返回配方名称。

参数

描述

RecipeDefinitionName

配方定义的名称

pStrings

应当在其中保存配方值的字符串

iSize

字符串数组的大小

iStartIndex

起始索引;可用于滚动功能

返回值ERR_NO_RECIPE_MANAGER_SET, ERR_RECIPE_DEFINITION_NOT_FOUND, ERR_FAILED, ERR_OK

示例:

有 50 个配方。要创建一次显示 10 个配方名称的表格,可定义字符串数组:

strArr: ARRAY[0..9] OF STRING;

iStartIndex 对应,可从特定区域读取配方名称。

iStartIndex := 0;

返回名称 0...9。

iStartIndex := 20;

返回名称 20...29。在本例中:

iSize := 10;

GetRecipeValues

该方法从相应配方返回配方变量值。

参数

描述

RecipeDefinitionName

配方定义的名称

RecipeName

配方的名称

pStrings

要在其中保存配方值的字符串

iSize

字符串数组的大小

iStartIndex

起始索引;可用于滚动功能

iStringLength

数组中字符串的长度

返回值ERR_NO_RECIPE_MANAGER_SET, ERR_RECIPE_DEFINITION_NOT_FOUND, ERR_RECIPE_NOT_FOUND, ERR_FAILED, ERR_OK

示例:

有 50 个配方。要创建一次显示 10 个配方名称的表格,可定义字符串数组:

strArr: ARRAY[0..9] OF STRING;

iStartIndex 对应,可从特定区域读取配方名称。

iStartIndex := 0;

返回值 0...9。

iStartIndex := 20;

返回值 20...29。在本例中:

iStringLength := 80;
iSize := 10;

GetRecipeVariableNames

该方法返回相应配方的变量名称。

参数

描述

RecipeDefinitionName

配方定义的名称

RecipeName

配方的名称

pStrings

应当在其中保存配方值的字符串

iSize

字符串数组的大小

iStartIndex

起始索引;可用于滚动功能

返回值ERR_NO_RECIPE_MANAGER_SET, ERR_RECIPE_DEFINITION_NOT_FOUND, ERR_RECIPE_NOT_FOUND, ERR_FAILED, ERR_OK

示例:

有 50 个配方。要创建一次显示 10 个配方名称的表格,可定义字符串数组:

strArr: ARRAY[0..9] OF STRING;

iStartIndex 对应,可从特定区域读取配方名称。

iStartIndex := 0;

返回名称 0...9。

iStartIndex := 20;

返回名称 20...29。在本例中:

iSize := 10;

SetRecipeValues

该方法将配方值设置到相应配方中。

参数

描述

RecipeDefinitionName

配方定义的名称

RecipeName

配方的名称

pStrings

应当在其中保存配方值的字符串

iSize

字符串数组的大小

iStartIndex

起始索引;可用于滚动功能

返回值ERR_NO_RECIPE_MANAGER_SET, ERR_RECIPE_DEFINITION_NOT_FOUND, ERR_RECIPE_NOT_FOUND, ERR_FAILED, ERR_OK

示例:

有 50 个配方。要创建一次显示 10 个配方名称的表格,可定义字符串数组:

strArr: ARRAY[0..9] OF STRING;

iStartIndex 对应,可从特定区域读取配方名称。

iStartIndex := 0;

设置值 0...9。

iStartIndex := 20;

设置值 20...29。在本例中:

iStringLength := 80;
iSize := 10;

GetLastError

该方法返回上次检测到的之前操作的错误。

返回值ERR_NO_RECIPE_MANAGER_SET, ERR_OK

ResetLastError

该方法将上次检测到的错误复位。

返回值ERR_NO_RECIPE_MANAGER_SET, ERR_OK