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.
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 |