20 ProductionDatasetManagementType

20.1 General

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

20.2 ProductionDatasetManagementType Definition

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
BrowseNameProductionDatasetManagementType
IsAbstractFalse
References Node Class BrowseName DataType TypeDefinition Other
Subtype of 0:BaseObjectType defined in OPC UA Part 5
0:HasComponentObjectActiveProductionDatasetStatusProductionDatasetStatusTypeM
0:HasComponentObjectProductionDatasetInPreparationStatusProductionDatasetStatusTypeO
0:HasComponentObjectProductionDatasetListsProductionDatasetListsTypeO
0:HasComponentObjectProductionDatasetTransferTemporaryFileTransferTypeM
0:HasComponentMethodGetProductionDatasetInformationO
0:HasComponentMethodSendProductionDatasetInformationO

20.3 ProductionDatasetStatusType

20.3.1 ActiveProductionDatasetStatus, ProductionDatasetInPreparationStatus

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
BrowseNameProductionDatasetStatusType
IsAbstractFalse
References Node Class BrowseName DataType TypeDefinition Other
Subtype of 0:BaseObjectType defined in OPC UA Part 5
0:HasPropertyVariableInformationProductionDatasetInformationType0:PropertyTypeM, RO
0:HasPropertyVariableModified0:Boolean0:PropertyTypeO, RO
0:HasPropertyVariableFrozen0:Boolean0:PropertyTypeO, RW
0:HasComponentMethodLoadO
0:HasComponentMethodSaveO

20.3.2 Information

The Information Property represents a set of information on the production dataset.

20.3.3 Modified

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.

20.3.4 Frozen

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.

20.3.5 Load

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:String	Name
		[in]	0:UInt16[]	Components);
Table 104 – Load Method Arguments
Argument Description
NameName 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
BrowseNameLoad
References Node Class BrowseName DataType TypeDefinition Modelling Rule
0:HasPropertyVariableInputArgumentsArgument[]0:PropertyTypeMandatory

20.3.6 Save

The Method Save stores a production dataset from the control of the machine to the file system of the machine.

Signature

	Save (
		[in]	0:String	Name);
Table 106 – Save Method Arguments
Argument Description
NameName under which the production dataset that should be stored in the file system.
Table 107 – Save Method AddressSpace Definition
Attribute Value
BrowseNameSave
References Node Class BrowseName DataType TypeDefinition Modelling Rule
0:HasPropertyVariableInputArgumentsArgument[]0:PropertyTypeMandatory

20.4 ProductionDatasetLists

The Object ProductionDatasetLists is used to exchange information on the available production datasets on client and server.

Table 108 – ProductionDatasetListsType Definition
Attribute Value
BrowseNameProductionDatasetListsType
IsAbstractFalse
References Node Class BrowseName DataType TypeDefinition Other
Subtype of 0:BaseObjectType defined in OPC UA Part 5
0:HasComponentMethodGetProductionDatasetListM
0:HasComponentMethodSendProductionDatasetListM
GeneratesEventObjectTypeRequestProductionDatasetListEventTypeDefined in 20.4.3

The Object ProductionDatasetLists can fire an Event RequestProductionDatasetList to initiate a call of SendProductionDataList by the MES.

20.4.1 GetProductionDatasetList

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:String	NameFilter
		[in]	0:String	MouldId
		[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", …).

MouldIdIf MouldId<>"" only production datasets for the given MouldId are requested.
ProductionDatasetListArray of ProductionDatasetInformationType (see 20.4.4) describing the available production datasets on the server.
Table 110 – GetProductionDatasetList Method AddressSpace Definition
Attribute Value
BrowseNameGetProductionDatasetList
References Node Class BrowseName DataType TypeDefinition Modelling Rule
0:HasPropertyVariableInputArgumentsArgument[]0:PropertyTypeMandatory
0:HasPropertyVariableOutputArgumentsArgument[]0:PropertyTypeMandatory

20.4.2 SendProductionDatasetList

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
ProductionDatasetListArray of ProductionDatasetInformationType describing the available production datasets in the MES.
Table 112 – SendProductionDatasetList Method AddressSpace Definition
Attribute Value
BrowseNameSendProductionDatasetList
References Node Class BrowseName DataType TypeDefinition Modelling Rule
0:HasPropertyVariableInputArgumentsArgument[]0:PropertyTypeMandatory

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.

20.4.3 RequestProductionDatasetList

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
BrowseNameRequestProductionDatasetListEventType
IsAbstractTrue
References Node Class BrowseName DataType TypeDefinition Other
Subtype of 0:BaseEventType defined in OPC UA Part 5
0:HasPropertyVariableNameFilter0:String0:PropertyTypeM
0:HasPropertyVariableMouldId0:String0:PropertyTypeM

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.

20.4.4 ProductionDatasetInformationType

This structure provides information on a production dataset. It does not contain the production dataset file itself.

Table 114 – ProductionDatasetInformationType Definition
NameTypeDescription
ProductionDatasetInformationTypestructureSubtype of 0:Structure as defined in OPC UA 10000-3

Name

0:StringName of the production dataset (=identifier).

Description

0:StringAdditional description of the production dataset.

MESId

0:StringId of the production dataset file assigned by MES.

CreationTimestamp

0:DateTimeTime when the production dataset was originally created or saved with a new name (in UTC time).

LastModificationTimestamp

0:DateTimeTime of the last modification of the production dataset (in UTC time).

LastSaveTimestamp

0:DateTimeTime when the production dataset was saved to the file system of the machine (in UTC time).

UserName

0:StringName 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:StringThese 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:StringThese 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

NOTE: This meta data shall also be included in the production dataset file itself.

Table 115 – Possible values for Variable Components (used in the context of production datasets)
Name Value Description
IMM0Injection moulding machine
ROBOT1Robot or handling device
TCD2Temperature control device
HOT_RUNNER3Hot runner
LDS4LSR dosing system
EXTRUSION_LINE5Complete extrusion line
EXTRUDER6Extruder
HAUL_OFF7Haull-off (as part of an extrusion line)
MELT_PUMP8Melt pump (as part of an extrusion line)
FILTER9Filter (as part of an extrusion line)
DIE10Die (as part of an extrusion line)
PELLETIZER11Pelletizer (as part of an extrusion line)
CUTTER12Cutter (as part of an extrusion line)
CALIBRATOR13Calibrator (as part of an extrusion line)
CORRUGATOR14Corrugator (as part of an extrusion line)
CALENDER15Calender (as part of an extrusion line)

NOTE: The list will be extended when further OPC UA models for other machine types are developed.

20.5 ProductionDatasetTransfer

20.5.1 General

OPC UA Part 5 defines a TemporaryFileTransferType for the representation of file transfers. This Type is used for the transfer of production datasets.

20.5.2 GenerateOptions in GenerateFileForRead

For the GenerateOptions in the Method GenerateFileForRead the DataType ProductionDatasetReadOptionsType as defined below shall be used.

Table 116 – ProductionDatasetReadOptionsType Definition
Name Type Description
ProductionDatasetReadOptionsTypestructureSubtype 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:StringName 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.

20.5.3 GenerateOptions in GenerateFileForWrite

For the GenerateOptions in the Method GenerateFileForWrite the DataType ProductionDatasetWriteOptionsType as defined below shall be used.

Table 117 – ProductionDatasetWriteOptionsType Definition
Name Type Description
ProductionDatasetWriteOptionsTypestructureSubtype of 0:Structure as defined in OPC UA 10000-3

Storage

StorageEnumerationIndication where the production dataset is written to. Enumeration of Type StorageEnumeration.

Name

0:StringName 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
PRODUCTION1The production dataset is written directly to the (active layer of the) control system of the machine.
PREPARATION2The production dataset is written to the preparation layer of the control system of the machine (if supported).
FILE_SYSTEM4The 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.

20.6 Events for ProductionDatasetTransfer

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
BrowseNameRequestProductionDatasetReadEventType
IsAbstractTrue
References Node Class BrowseName DataType TypeDefinition Other
Subtype of 0:BaseEventType defined in OPC UA Part 5
0:HasPropertyVariableStorageStorageEnumeration0:PropertyTypeM
0:HasPropertyVariableName0:String0:PropertyTypeM

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
BrowseNameRequestProductionDatasetWriteEventType
IsAbstractTrue
References Node Class BrowseName DataType TypeDefinition Other
Subtype of 0:BaseEventType defined in OPC UA Part 5
0:HasPropertyVariableStorageStorageEnumeration0:PropertyTypeM
0:HasPropertyVariableName0:String0:PropertyTypeM
0:HasPropertyVariableComponents0:UInt16[]0:PropertyTypeM

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.

20.7 GetProductionDatasetInformation

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:UInt32	fileHandle
		[out]	ProductionDatasetInformationType	Information);
Table 121 – GetProductionDatasetInformation Method Arguments
Argument Description
fileHandleValue of fileHandle received by GenerateFileForRead in ProductionDatasetTransfer
InformationDescription of the production dataset with ProductionDatasetInformationType (see 20.4.4)
Table 122 – GetProductionDatasetInformation Method AddressSpace Definition
Attribute Value
BrowseNameGetProductionDatasetInformation
References Node Class BrowseName DataType TypeDefinition Modelling Rule
0:HasPropertyVariableInputArgumentsArgument[]0:PropertyTypeMandatory
0:HasPropertyVariableOutputArgumentsArgument[]0:PropertyTypeMandatory

20.8 SendProductionDatasetInformation

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:UInt32	fileHandle
		[in]	ProductionDatasetInformationType	Information);
Table 123 – SendProductionDatasetInformation Method Arguments
Argument Description
fileHandleValue of fileHandle received by GenerateFileForRead in ProductionDatasetTransfer
InformationDescription of the production dataset with ProductionDatasetInformationType (see 20.4.4)
Table 124 – SendProductionDatasetInformation Method AddressSpace Definition
Attribute Value
BrowseNameSendProductionDatasetInformation
References Node Class BrowseName DataType TypeDefinition Modelling Rule
0:HasPropertyVariableInputArgumentsArgument[]0:PropertyTypeMandatory