The RecipeType defines the structure of an Object of the RecipeType. Figure 42 shows the hierarchical structure and details of the composition. It is formally defined in Table 85.

An Object of the RecipeType represents a recipe. It defines additional methods and properties required for managing a recipe. The description and the structure of the recipe can be found in Annex B.

image057.gif

Figure 42 − Overview RecipeType

Table 85 − RecipeType Definition

Attribute

Value

BrowseName

RecipeType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseObjectType defined in OPC 10000-5

0:HasComponent

Object

RecipeElements

FolderType

Optional

0:HasProperty

Variable

RecipeId

0:String

0:PropertyType

Mandatory

0:HasProperty

Variable

RecipeName

0:LocalizedText

0:PropertyType

Mandatory

0:HasComponent

Method

AddRecipeElement

Optional

0:HasComponent

Method

RemoveRecipeElement

Optional

0:HasComponent

Object

RecipeFile

0:FileType

Optional

RecipeElements defines a folder for all RecipeElements that are part of the recipe.

RecipeId defines a unique identifier of a recipe.

RecipeName defines a user-readable name of the recipe.

RecipeFile is a file that contains the recipe in a vendor-specific format. If a client uploads the file, the recipe elements can be also part of the AddressSpace. But the Method AddRecipeElement and RemoveRecipeElement should not be used. So a recipe uploaded via file transfer cannot be modified via AddRecipeElement or RemoveRecipeElement. This avoids that there is another version of the recipe in the file and the server.

AddRecipeElement is a method to add an additional RecipeElement to the recipe. Table 86 and Table 87 specify the Arguments and AddressSpace representation, respectively.

Signature

AddRecipeElement(

[in]NodeIdElementType

[in]StringElementName

[in]NodeId[]PreviousElements

[out]NodeIdElementNodeId

);

Table 86 – AddRecipeElement Method Arguments

Argument

Description

ElementType

NodeId of the Object that should be removed

ElementName

A user-readable name of the element

PreviousElements

The NodeIds of the directly previous Elements. If the element is the start Element use the Recipe node.

ElementNodeId

The NodeId of the created RecipeElement

Table 87 – AddRecipeElement Method AddressSpace definition

Attribute

Value

BrowseName

AddRecipeElement

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

InputArguments

Argument[]

0:PropertyType

Mandatory

0:HasProperty

Variable

OutputArguments

Argument[]

0:PropertyType

Mandatory

Method to remove a RecipeElement in this recipe with all related references. Table 88 and Table 89 specify the Arguments and AddressSpace representation, respectively.

Signature

RemoveRecipeElement(

[in]NodeIdRecipeElementNodeId

);

Table 88 – RemoveRecipeElement Method Arguments

Argument

Description

RecipeElementNodeId

NodeId of the Object that should be removed

Table 89 – RemoveRecipeElement Method AddressSpace definition

Attribute

Value

BrowseName

RemoveRecipeElement

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

InputArguments

Argument[]

0:PropertyType

Mandatory