Production datasets are used for the configuration of machines. They are stored in files which can be exchanged over the network (e.g. between a machine and MES). This chapter defines methods and events for the exchange of lists of available production datasets and for the transfer of the files themselves.
NOTE: Transferred production datasets are always complete and consistent (includes data for the core machine and connected peripheral equipment, e.g. robot). As the production dataset files themselves are not standardized, a set of metadata is included in the ProductionDatasetInformationType (see 20.4.4).
Figure 16 – ProductionDatasetManagementType Overview
This ObjectType is a container for the functionalities related to the listing and exchange of production datasets. It is formally defined in Table 102.
Table 102 – ProductionDatasetManagementType Definition
Attribute |
Value |
||||
BrowseName |
ProductionDatasetManagementType |
||||
IsAbstract |
False |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Other |
Subtype of 0:BaseObjectType defined in OPC UA Part 5 |
|||||
0:HasComponent |
Object |
ActiveProductionDatasetStatus |
|
ProductionDatasetStatusType |
M |
0:HasComponent |
Object |
ProductionDatasetInPreparationStatus |
|
ProductionDatasetStatusType |
O |
0:HasComponent |
Object |
ProductionDatasetLists |
|
ProductionDatasetListsType |
O |
0:HasComponent |
Object |
ProductionDatasetTransfer |
|
TemporaryFileTransferType |
M |
0:HasComponent |
Method |
GetProductionDatasetInformation |
|
|
O |
0:HasComponent |
Method |
SendProductionDatasetInformation |
|
|
O |
This Object represents the status of the production dataset which is active in the control system of the machine or in preparation (in analogy to ActiveJob and JobInPreparation). The ProductionDatasetStatusType is formally defined in Table 103.
NOTE: Production datasets are manufacturer specific files which contain settings of production parameters for the machine and for connected peripheral devices.
Table 103 – ProductionDatasetStatusType Definition
Attribute |
Value |
||||
BrowseName |
ProductionDatasetStatusType |
||||
IsAbstract |
False |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Other |
Subtype of 0:BaseObjectType defined in OPC UA Part 5 |
|||||
0:HasProperty |
Variable |
Information |
ProductionDatasetInformationType |
0:PropertyType |
M, RO |
0:HasProperty |
Variable |
Modified |
0:Boolean |
0:PropertyType |
O, RO |
0:HasProperty |
Variable |
Frozen |
0:Boolean |
0:PropertyType |
O, RW |
0:HasComponent |
Method |
Load |
|
|
O |
0:HasComponent |
Method |
Save |
|
|
O |
The Information Property represents a set of information on the production dataset.
The Modified Property informs if the production dataset has been changed after the last storage.
NOTE: This information is only valid for the machine directly connected to the client. If the dataset also includes parameters for peripheral devices to that machine, changes in the peripheral devices might not be recognized.
The Frozen Property indicates whether changes in the production dataset are not allowed. If TRUE, no changes on the machine in the production dataset (change of process parameters) are allowed.
NOTE: This information is only valid for the machine directly connected to the client. If the dataset also includes parameters for peripheral devices to that machine, changes in the peripheral devices might still be possible.
The Method Load loads a production dataset from the file system of the machine to the control of the machine. As production datasets can contain parameter settings not only for the machine itself but also for peripheral equipment (e.g. robots/handling devices), the parts of the production dataset which shall be activated can be chosen.
Signature
Load (
[in]0:StringName
[in]0:UInt16[]Components);
Table 104 – Load Method Arguments
Argument |
Description |
Name |
Name of the production dataset that should be loaded. |
Components |
Indication which parts of the production dataset shall be activated. See Table 115 for possible values If Components is not given (array length 0) then the complete Production dataset is activated. |
Table 105 – Load Method AddressSpace Definition
Attribute |
Value |
||||
BrowseName |
Load |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Modelling Rule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |
The Method Save stores a production dataset from the control of the machine to the file system of the machine.
Signature
Save (
[in]0:StringName);
Table 106 – Save Method Arguments
Argument |
Description |
Name |
Name under which the production dataset that should be stored in the file system. |
Table 107 – Save Method AddressSpace Definition
Attribute |
Value |
||||
BrowseName |
Save |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Modelling Rule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |
The Object ProductionDatasetLists is used to exchange information on the available production datasets on client and server.
Table 108 – ProductionDatasetListsType Definition
Attribute |
Value |
||||
BrowseName |
ProductionDatasetListsType |
||||
IsAbstract |
False |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Other |
Subtype of 0:BaseObjectType defined in OPC UA Part 5 |
|||||
0:HasComponent |
Method |
GetProductionDatasetList |
|
|
M |
0:HasComponent |
Method |
SendProductionDatasetList |
|
|
M |
GeneratesEvent |
ObjectType |
RequestProductionDatasetListEventType |
Defined in 20.4.3 |
The Object ProductionDatasetLists can fire an Event RequestProductionDatasetList to initiate a call of SendProductionDataList by the MES.
This Method is used to read a list from the server which production datasets are available on the machine's file system (e.g. for a check before an activation or transfer of a production dataset is initiated). The NameFilter and MouldId can be used to reduce the length of the list or for a targeted search.
Signature
GetProductionDatasetList (
[in]0:StringNameFilter
[in]0:StringMouldId
[out]ProductionDatasetInformationType[]ProductionDatasetList);
Table 109 – GetProductionDatasetList Method Arguments
Argument |
Description |
NameFilter |
The Filter can be used to reduce the length of the list or for a targeted search. The wildcards "*" and "?" may be used.
NameFilter = "" requests a lists of all available production datasets, NameFilter = "300" requests only information on the production dataset with ProductionDatasetName "300" (if available), NameFilter = "3*" requests information on production datasets with a ProductionDatasetName starting with "3" (e.g. "300", "301", …). |
MouldId |
If MouldId <>"" only production datasets for the given MouldId are requested. |
ProductionDatasetList |
Array of ProductionDatasetInformationType (see 20.4.4) describing the available production datasets on the server. |
Table 110 – GetProductionDatasetList Method AddressSpace Definition
Attribute |
Value |
||||
BrowseName |
GetProductionDatasetList |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Modelling Rule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |
0:HasProperty |
Variable |
OutputArguments |
Argument[] |
0:PropertyType |
Mandatory |
This Method is used to send a list of production datasets available on the client to the server.
Signature
SendProductionDatasetList (
[in]ProductionDatasetInformationType[]ProductionDatasetList);
Table 111 – SendProductionDatasetList Method Arguments
Argument |
Description |
ProductionDatasetList |
Array of ProductionDatasetInformationType describing the available production datasets in the MES. |
Table 112 – SendProductionDatasetList Method AddressSpace Definition
Attribute |
Value |
||||
BrowseName |
SendProductionDatasetList |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Modelling Rule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |
It is possible to call the Method without an InputArgument (length of the array ProductionDatasetList is zero) as an answer to the Event RequestProductionDatasetList (see below) if no production dataset which fits the NameFilter and/or MouldId transferred with the event is available.
The Object ProductionDatasetLists can fire an Event RequestProductionDatasetListEventType to initiate a call of SendProductionDatasetList by the client. This can for example be triggered by an operator who wants to load a production dataset not existing on the server.
Table 113 – RequestProductionDatasetListEventType Definition
Attribute |
Value |
||||
BrowseName |
RequestProductionDatasetListEventType |
||||
IsAbstract |
True |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Other |
Subtype of 0:BaseEventType defined in OPC UA Part 5 |
|||||
0:HasProperty |
Variable |
NameFilter |
0:String |
0:PropertyType |
M |
0:HasProperty |
Variable |
MouldId |
0:String |
0:PropertyType |
M |
The MouldFilter and MouldId parameters which can be used to reduce the length of the list or for a targeted search is used in the same way as in the Method GetProductionDatasetList defined in 20.4.1.
This structure provides information on a production dataset. It does not contain the production dataset file itself.
Table 114 – ProductionDatasetInformationType Definition
Name |
Type |
Description |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ProductionDatasetInformationType |
structure |
Subtype of 0:Structure as defined in OPC UA 10000-3 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name |
0:String |
Name of the production dataset (=identifier). |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description |
0:String |
Additional description of the production dataset. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MESId |
0:String |
Id of the production dataset file assigned by MES. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CreationTimestamp |
0:DateTime |
Time when the production dataset was originally created or saved with a new name (in UTC time). |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LastModificationTimestamp |
0:DateTime |
Time of the last modification of the production dataset (in UTC time). |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LastSaveTimestamp |
0:DateTime |
Time when the production dataset was saved to the file system of the machine (in UTC time). |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
UserName |
0:String |
Name of the user who has made the last parameter change on the machine. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Components |
0:UInt16[] |
Informs for which machines information is included in the file. The possible values are defined in Table 115. If the production dataset contains information for two machines of the same types, the enumeration value is repeated. Example: The production dataset contains information for 1 injection moulding machine and 2 robots: Components = [0 1 1]. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Manufacturer |
0:String |
These Properties are representing the values stored in the MachineInformation at the time the production dataset file is created. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SerialNumber |
0:String |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Model |
0:String |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ControllerName |
0:String |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
UserMachineName |
0:String |
These Properties are taken from the MachineConfiguration at the time the production dataset file is created. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LocationName |
0:String |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ProductName |
0:String[] |
These Properties are in analogy with the Properties in the JobInformationType. MouldId and NumCavities are optional in the derived CyclicJobInformationType, so here empty 0:Strings / value zero are possible. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MouldId |
0:String |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NumCavities |
0:UInt32 |
Name |
Value |
Description |
IMM |
0 |
Injection moulding machine |
ROBOT |
1 |
Robot or handling device |
TCD |
2 |
Temperature control device |
HOT_RUNNER |
3 |
Hot runner |
LDS |
4 |
LSR dosing system |
EXTRUSION_LINE |
5 |
Complete extrusion line |
EXTRUDER |
6 |
Extruder |
HAUL_OFF |
7 |
Haull-off (as part of an extrusion line) |
MELT_PUMP |
8 |
Melt pump (as part of an extrusion line) |
FILTER |
9 |
Filter (as part of an extrusion line) |
DIE |
10 |
Die (as part of an extrusion line) |
PELLETIZER |
11 |
Pelletizer (as part of an extrusion line) |
CUTTER |
12 |
Cutter (as part of an extrusion line) |
CALIBRATOR |
13 |
Calibrator (as part of an extrusion line) |
CORRUGATOR |
14 |
Corrugator (as part of an extrusion line) |
CALENDER |
15 |
Calender (as part of an extrusion line) |
NOTE: The list will be extended when further OPC UA models for other machine types are developed.
OPC UA Part 5 defines a TemporaryFileTransferType for the representation of file transfers. This Type is used for the transfer of production datasets.
For the GenerateOptions in the Method GenerateFileForRead the DataType ProductionDatasetReadOptionsType as defined below shall be used.
Table 116 – ProductionDatasetReadOptionsType Definition
Name |
Type |
Description |
ProductionDatasetReadOptionsType |
structure |
Subtype of 0:Structure as defined in OPC UA 10000-3 |
Storage |
StorageEnumeration |
Indication from where the production dataset is read. Enumeration of Type StorageEnumeration. Although StorageEnumeration is defined as a Mask, here only the values 1, 2 and 4 are allowed (no combination). |
Name |
0:String |
Name of the production dataset that should be transferred from the server to the client. This parameter is only relevant, if Storage is 4 (FILE_SYSTEM). In other cases, it shall be an empty 0:String. |
For the GenerateOptions in the Method GenerateFileForWrite the DataType ProductionDatasetWriteOptionsType as defined below shall be used.
Table 117 – ProductionDatasetWriteOptionsType Definition
Name |
Type |
Description |
ProductionDatasetWriteOptionsType |
structure |
Subtype of 0:Structure as defined in OPC UA 10000-3 |
Storage |
StorageEnumeration |
Indication where the production dataset is written to. Enumeration of Type StorageEnumeration. |
Name |
0:String |
Name of the production dataset that should be transferred from the client to the server. |
Components |
0:UInt16[] |
Array which indicates which parts of the production dataset shall be activated in the machine control after writing. Only valid if Storage is PRODUCTION_1 or PREPARATION_2.
Array of UInt16. See possible values in Table 115.
If Components has the array length 0 then complete production dataset is activated. |
Table 118 – StorageEnumeration Definition
Name |
Value |
Description |
PRODUCTION |
1 |
The production dataset is written directly to the (active layer of the) control system of the machine. |
PREPARATION |
2 |
The production dataset is written to the preparation layer of the control system of the machine (if supported). |
FILE_SYSTEM |
4 |
The production dataset is written to the file system of the machine for later activation. |
This Enumeration is defined as a Mask. With this, writing to several destinations with one Method call is possible (e.g. StorageEnumeration = 6 writes the production dataset to the file system and the preparation layer of the control system.
NOTE: It is possible that the machine does not support all storage options (e.g. only writing to file system allowed). In this case, the server will return the StatusCode Bad_InvalidArgument when calling the GenerateFileForWrite Method with a not supported value for Storage.
RequestProductionDatasetRead and RequestProductionDatasetWrite are Events to trigger a file transfer by the machine/server (e.g. initiated by the operator).
Table 119 – RequestProductionDatasetReadEventType Definition
Attribute |
Value |
||||
BrowseName |
RequestProductionDatasetReadEventType |
||||
IsAbstract |
True |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Other |
Subtype of 0:BaseEventType defined in OPC UA Part 5 |
|||||
0:HasProperty |
Variable |
Storage |
StorageEnumeration |
0:PropertyType |
M |
0:HasProperty |
Variable |
Name |
0:String |
0:PropertyType |
M |
Storage: Indication from where the dataset is read. Although StorageEnumeration is defined as a Mask, here only the values 1, 2 and 4 are allowed (no combination).
Name: Name of the production dataset that should be transferred from the server to the client. This parameter is only relevant, if Storage is 4 (FILE_SYSTEM).
Table 120 – RequestProductionDatasetWriteEventType Definition
Attribute |
Value |
||||
BrowseName |
RequestProductionDatasetWriteEventType |
||||
IsAbstract |
True |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Other |
Subtype of 0:BaseEventType defined in OPC UA Part 5 |
|||||
0:HasProperty |
Variable |
Storage |
StorageEnumeration |
0:PropertyType |
M |
0:HasProperty |
Variable |
Name |
0:String |
0:PropertyType |
M |
0:HasProperty |
Variable |
Components |
0:UInt16[] |
0:PropertyType |
M |
Name: Name of the production dataset that should be transferred from the client to the server.
Storage: Indication where the dataset is written to.
Components: Array which indicates which parts of the production dataset shall be activated in the machine control after writing. Only valid if Storage is CONTROL_SYSTEM_1 or FILE_AND_CONTROL_SYSTEM_2. Array of UInt16. See possible values in Table 115. If Components has the array length 0 then complete production dataset is activated.
This Method allows reading the description of a production dataset during the file transfer from the server to the client with ProductionDatasetTransfer. It may only be called between receiving the fileHandle generated by GenerateFileForRead and closing the file.
Signature
GetProductionDatasetInformation (
[in]0:UInt32fileHandle
[out]ProductionDatasetInformationTypeInformation);
Table 121 – GetProductionDatasetInformation Method Arguments
Argument |
Description |
fileHandle |
Value of fileHandle received by GenerateFileForRead in ProductionDatasetTransfer |
Information |
Description of the production dataset with ProductionDatasetInformationType (see 20.4.4) |
Table 122 – GetProductionDatasetInformation Method AddressSpace Definition
Attribute |
Value |
||||
BrowseName |
GetProductionDatasetInformation |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Modelling Rule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |
0:HasProperty |
Variable |
OutputArguments |
Argument[] |
0:PropertyType |
Mandatory |
This Method allows sending of the description of a production dataset during the file transfer from the client to the server with ProductionDatasetTransfer. It may only be called between receiving the fileHandle generated by GenerateFileForWrite and closing the file.
Signature
SendProductionDatasetInformation (
[in]0:UInt32fileHandle
[in]ProductionDatasetInformationTypeInformation);
Table 123 – SendProductionDatasetInformation Method Arguments
Argument |
Description |
fileHandle |
Value of fileHandle received by GenerateFileForRead in ProductionDatasetTransfer |
Information |
Description of the production dataset with ProductionDatasetInformationType (see 20.4.4) |
Table 124 – SendProductionDatasetInformation Method AddressSpace Definition
Attribute |
Value |
||||
BrowseName |
SendProductionDatasetInformation |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Modelling Rule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |