The RecipeManagementType is the entry point for the recipe management on the TTD. It provides an array of RecipeIds containing the metadata of all recipes that are stored on the TTD as well as methods for accessing the content of the recipe and methods for adding/deleting recipes to/from the TTD.

The RecipeManagementType is formally defined in Table 20.

Table 20 – RecipeManagementType Definition

Attribute

Value

BrowseName

RecipeManagementType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of 0:BaseObjectType defined in OPC 10000-5

0:HasProperty

Variable

RecipeIds

RecipeIdDataType[]

0:PropertyType

M

0:HasComponent

Method

GetRecipeIds

M

0:HasComponent

Method

GetRecipe

O

0:HasComponent

Method

SetRecipe

O

0:HasComponent

Method

DeleteRecipe

O

0:HasComponent

Method

GetRecipes

O

0:HasComponent

Method

SetRecipes

O

Conformance Units

TTD_RecipeManagementType

RecipeIds is a Property that stores the metainformation for all recipes that are stored on the TTD.

GetRecipeIds is a Method that is used to retrieve the metadata for all recipes that are stored on the TTD.

GetRecipe is a Method that is used to retrieve the content of a recipe with a given id.

SetRecipe is a Method that is used to store a recipe on the TTD. A flag is used to indicate if the recipe should be overwritten if a recipe with the same id already exists on the TTD.

DeleteRecipe is a Method that is used to remove a recipe from the TTD. The id of the recipe is used to identify the recipe that is to be deleted.

GetRecipes is a Method that is used to retrieve all recipes (metadata and content) that are stored on the TTD at once.

SetRecipes is a Method that is used to store a set of recipes on the TTD. A flag is used to indicate if the recipes should be overwritten if a recipe with the same id already exists on the TTD.

The Method GetRecipeIds is used to get information about all recipes that are stored on the TTD. The recipe metadata for all recipes is returned in the output parameter RecipeIds.

The signature of this Method is specified below. Table 21 and Table 22 specify the Arguments and AddressSpace representation, respectively.

Signature

GetRecipeIds (

[out]RecipeIdDataType[]RecipeIds)

Table 21 – GetRecipeIds Method Arguments

Argument

Description

RecipeIds

An array containing the recipe ids that are stored on the device.

Table 22 – GetRecipeIds Method AddressSpace Definition

Attribute

Value

BrowseName

GetRecipeIds

References

Node Class

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:OutputArguments

0:Argument[]

0:PropertyType

0:Mandatory

The Method GetRecipe is used to get the recipe content for a given RecipeId. The RecipeId has to match the system-wide unique Id property of the RecipeIdDataType associated with the recipe on the TTD. The output parameter Recipe is used to return the recipe.

The signature of this Method is specified below. Table 23 and Table 24 specify the Arguments and AddressSpace representation, respectively.

Signature

GetRecipe (

[in]0:StringRecipeId,

[out]RecipeDataTypeRecipe)

Table 23 – GetRecipe Method Arguments

Argument

Description

RecipeId

The id of the recipe that is to be retrieved.

Recipe

The recipe.

Method Result Codes (defined in Call Service)

Result Code

Description

Bad_NotFound

See OPC 10000-4 for a general description. Returned when there is no Recipe with the given RecipeId.

Table 24 – GetRecipe Method AddressSpace Definition

Attribute

Value

BrowseName

GetRecipe

References

Node Class

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

0:Mandatory

0:HasProperty

Variable

0:OutputArguments

0:Argument[]

0:PropertyType

0:Mandatory

The Method SetRecipe is used to store a recipe on the TTD. Beneath the Recipe that is to be stored on the TTD the method takes an additional input parameter Overwrite that indicates if the recipe should be overwritten in case a recipe with the same id already exists on the TTD.

The signature of this Method is specified below. Table 25 and Table 26 specify the Arguments and AddressSpace representation, respectively.

Signature

SetRecipe (

[in]RecipeDataTypeRecipe,

[in]0:BooleanOverwrite)

Table 25 – SetRecipe Method Arguments

Argument

Description

Recipe

The recipe that is to be stored on the TTD.

Overwrite

A flag is used to indicating if the Recipe shall be overridden if there is already a recipe with the same id on the TTD.

Method Result Codes (defined in Call Service)

Result Code

Description

Bad_InvalidState

Returned when the Overwrite flag is set to false and a Recipe with the same id already exists on the server so that the server is not allowed to overwrite.

Bad_NotSupported

Returned if the Overwrite flag is set but not supported by the server.

Table 26 – SetRecipe Method AddressSpace Definition

Attribute

Value

BrowseName

SetRecipe

References

Node Class

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

0:Mandatory

The Method DeleteRecipe is used to delete a recipe from the TTD. The given RecipeId has to match the system-wide unique Id property of the RecipeIdDataType associated with the recipe on the TTD.

The signature of this Method is specified below. Table 27 and Table 28 specify the Arguments and AddressSpace representation, respectively.

Signature

DeleteRecipe (

[in]0:StringRecipeId)

Table 27 – DeleteRecipe Method Arguments

Argument

Description

RecipeId

The id of the recipe that is to be deleted.

Method Result Codes (defined in Call Service)

Result Code

Description

Bad_NotFound

See OPC 10000-4 for a general description. Returned when there is no Recipe with the given RecipeId.

Table 28 – DeleteRecipe Method AddressSpace Definition

Attribute

Value

BrowseName

DeleteRecipe

References

Node Class

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

0:Mandatory

The Method GetRecipes is used to get the recipe content for all recipes stored on the TTD. The output parameter Recipes is used to return all recipes that are currently stored on the TTD.

The signature of this Method is specified below. Table 29 and Table 30 specify the Arguments and AddressSpace representation, respectively.

Signature

GetRecipes (

[out]RecipeDataType[] Recipes)

Table 29 – GetRecipes Method Arguments

Argument

Description

Recipes

An array of all stored recipes on the TTD.

Method Result Codes (defined in Call Service)

Result Code

Description

BadEncodingLimitsExceeded

Returned when the size of the Recipes on the TTD exceeds the maximum message size of the server. This may happen if a large number of Recipes are stored on the TTD and the maximum message size is configured small.

Table 30 – GetRecipes Method AddressSpace Definition

Attribute

Value

BrowseName

GetRecipes

References

Node Class

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:OutputArguments

0:Argument[]

0:PropertyType

0:Mandatory

The Method SetRecipes is used to store a set of recipes on the TTD. Beneath the Recipes that are to be stored on the TTD the method takes an additional input parameter Overwrite that indicates if the recipes should be overwritten in case a recipe with the same id already exists on the TTD.

The signature of this Method is specified below. Table 31 and Table 32 specify the Arguments and AddressSpace representation, respectively.

Signature

SetRecipes (

[in]RecipeDataType[]Recipes,

[in]0:BooleanOverwrite)

Table 31 – SetRecipes Method Arguments

Argument

Description

Recipes

An array of recipes that is to be stored on the TTD.

Overwrite

A flag indicating if recipes should be replaced if there are already recipes with the same id on the TTD.

Table 32 – SetRecipes Method AddressSpace Definition

Attribute

Value

BrowseName

SetRecipes

References

Node Class

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

0:Mandatory