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

image022.png

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

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

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