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 90.
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 90 - 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 |
Conformance Units |
|||||
Scales RecipeManagement |
|||||
Scales FileRecipeManagement |
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 91 and Table 92 specify the Arguments and AddressSpace representation, respectively.
Signature
AddRecipeElement(
[in]NodeIdElementType
[in]StringElementName
[in]NodeId[]PreviousElements
[out]NodeIdElementNodeId
);
Table 91 - AddRecipeElement Method Arguments
Argument |
Description |
ElementType |
NodeId of the Object that should be added |
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 92 - 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 93 and Table 94 specify the Arguments and AddressSpace representation, respectively.
Signature
RemoveRecipeElement(
[in]NodeIdRecipeElementNodeId
);
Table 93 - RemoveRecipeElement Method Arguments
Argument |
Description |
RecipeElementNodeId |
NodeId of the Object that should be removed |
Table 94 - RemoveRecipeElement Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
RemoveRecipeElement |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |