The CycleParametersEventType represents information on a production cycle. It is fired after each finished cycle of the machine (this can be different from quality checks by downstream equipment).

NOTE: If parts a produced in two or more steps, the cycle parameters shall be related to the finished parts. E.g. for a two-step production with two moulds, the cycle parameters after a finished cycle include the temperatures/pressures/… values from the previous machine cycle for the first production step and the values from the currently finished machine cycle for the second step:

image021.png

Figure 15 – Timing of CycleParamtersEvents

The EventSource is the root node of the interface (e.g. instance of IMM_MES_InterfaceType for OPC 40077).

NOTE: There is no CycleParameters Object which is directly accessible via data access, because this could lead to inconsistent data.

The CycleParametersEventType is formally defined in Table 95.

Table 95 – CycleParametersEventType Definition

Attribute

Value

BrowseName

CycleParametersEventType

IsAbstract

True

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of 0:BaseEventType defined in OPC UA Part 5

0:HasProperty

Variable

JobName

0:String

0:PropertyType

M

0:HasProperty

Variable

JobStatus

JobStatusEnumeration

0:PropertyType

M

0:HasProperty

Variable

CurrentLotName

0:String

0:PropertyType

M

0:HasProperty

Variable

BoxId

0:String

0:PropertyType

O

0:HasProperty

Variable

JobCycleCounter

0:UInt64

0:PropertyType

M

0:HasProperty

Variable

BoxCycleCounter

0:UInt64

0:PropertyType

O

0:HasProperty

Variable

MachineCycleCounter

0:UInt64

0:PropertyType

O

0:HasProperty

Variable

CycleTime

0:Duration

0:PropertyType

M

0:HasProperty

Variable

AverageCycleTime

0:Duration

0:PropertyType

O

0:HasProperty

Variable

JobPartsCounter

0:UInt64

0:PropertyType

M

0:HasProperty

Variable

JobGoodPartsCounter

0:UInt64

0:PropertyType

M

0:HasProperty

Variable

JobBadPartsCounter

0:UInt64

0:PropertyType

M

0:HasProperty

Variable

JobTestSamplesCounter

0:UInt64

0:PropertyType

M

0:HasProperty

Variable

BoxPartsCounter

0:UInt64

0:PropertyType

O

0:HasProperty

Variable

BoxGoodPartsCounter

0:UInt64

0:PropertyType

O

0:HasProperty

Variable

BoxBadPartsCounter

0:UInt64

0:PropertyType

O

0:HasProperty

Variable

BoxTestSamplesCounter

0:UInt64

0:PropertyType

O

0:HasProperty

Variable

CycleQuality

CycleQualityEnumeration

0:PropertyType

M

0:HasProperty

Variable

CavityCycleQuality

CavityCycleQualityEnumeration[]

0:PropertyType

O

0:HasProperty

Variable

PartId

0:String []

0:PropertyType

O

The CycleParametersEventType can be extended to include additional information. For this, a new subtype shall be derived in the OPC Server of the machine (Note: the namespace of the derived Type is then the Local Server URI with namespace index 1 or a vendor specific namespace with vendor specific index). The specifications for specific machines provide some standardized ObjectTypes that can be included (e.g. MouldCycleParametersType as defined in 19.14, InjectionUnitCycleParametersType as defined in OPC 40077).

The JobName Property represents the name of the job.

The JobStatus Property represents the current status of the job (see18.4.1).

The CurrentLotName Property represents the current production lot.

The BoxId Property represents the Id of the box in which the current production is put in.

The CycleCounter Property represents the number of the cycle in the job.

The MachineCycleCounter Property represents the number of finished cycles in the machine life time.

The CycleTime Variable represents the cycle time.

The AverageCycleTime Variable represents the average cycle time. The calculation starts from the last calling of ResetActiveJobAverageCycleTime.

These Properties represent the total number of produced parts and the numbers of good, bad and test sample parts in the current job.

These Properties represent the total number of produced parts and the numbers of good, bad and test sample parts in the current box.

The CycleQuality Property gives information on the quality of the whole cycle. The CycleQualityEnumeration is defined in Table 96.

Table 96 – CycleQualityEnumeration Definition

Name

Value

Description

GOOD_CYCLE

0

The machine has detected no failures during the cycle and the part quality (for all cavities) is assumed as good.

BAD_CYCLE

1

The quality of the part(s) is assumed as bad.

If the machine is able to evaluate the cycle quality of each cavity, detailed information can be given in the CavityCycleQuality Property. Nevertheless, already a bad part in only one cavity leads to a BAD_CYCLE value for the CycleQuality.

TEST_SAMPLE_CYCLE

2

A cycle is separated as a test sample. Triggered by operator or MES.

FAILED_CYCLE

3

The machine has detected failures during the cycle and the part quality is assumed as bad. Further information is provided by the MessageCondition fired in this case.

The CavityCycleQuality Property gives information on the quality of the cycle for each cavity if the machine is able to evaluate this.

Table 97 – CavityCycleQualityEnumeration Definition

Name

Value

Description

NO_PART

0

There is no part in cavity.

GOOD_PART

1

The machine has detected no failures during the cycle for this cavity and the part quality is assumed as good.

BAD_PART

2

The machine has detected failures during the cycle for the cavity and the part quality is assumed as bad.

REWORK

3

The machine has detected failures during the cycle for the cavity which might be fixed by reworking the part

The PartId Property is an array and represents the Ids of the parts produced in the cycle.

NOTE: The Id(s) may be generated in the machine or coming from outside (e.g. from MES or labelling machine).

The MouldCycleParametersType represents information on the production cycle related to a mould (mainly temperatures). As the number of moulds and the related temperature zones are varying, the EventType for the cycle parameters has to be derived from CycleParametersEventType by the OPC Server of the machine (Note: the namespace of the derived Type is then the Local Server URI with namespace index 1 or a vendor specific namespace with vendor specific index). When the MouldCycleParametersType is used, the BrowseNames of the additional objects shall be “MouldCycleParameters_<Nr>” (starting with 1)

Table 98 – Example of an event type derived from CycleParametersEventType with two moulds

Attribute

Value

BrowseName

ExampleCycleParametersEventType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of CycleParametersEventType

0:HasComponent

Object

MouldCycleParameters_1

Example1MouldCycleParametersType

M

0:HasComponent

Object

MouldCycleParameters_2

Example2MouldCycleParametersType

M

The Types Example1MouldCycleParametersType and Example2MouldCycleParametersType used in the example are subtypes of the MouldCycleParametersType which is formally defined in Table 99.

Table 99 – MouldCycleParametersType Definition

Attribute

Value

BrowseName

MouldCycleParametersType

IsAbstract

True

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of 0:BaseObjectType defined in OPC UA Part 5

0:HasProperty

Variable

Index

0:UInt32

0:PropertyType

M, RO

The MouldCycleParametersType is abstract and the OPC server of the machine shall create a derived type with the additional instances of TemperatureZoneCycleParametersType for the temperature zones of the mould. The BrowseNames of the objects shall be “MouldTemperatureZone_<Nr>” (starting with 1 for each mould).

Table 100 – Example of an object type derived from MouldCycleParametersType

Attribute

Value

BrowseName

Example1MouldCycleParametersType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of MouldCycleParametersType

0:HasComponent

Object

MouldTemperatureZone_1

TemperatureZoneCycleParametersType

M

0:HasComponent

Object

MouldTemperatureZone_2

TemperatureZoneCycleParametersType

M

0:HasComponent

Object

MouldTemperatureZone_3

TemperatureZoneCycleParametersType

M

0:HasComponent

Object

MouldTemperatureZone_4

TemperatureZoneCycleParametersType

M

This ObjectType is used for the temperatures in barrel and mould zones. When instances are created, the BrowseNames shall be “BarrelTemperatureZoneCycleParameters_<Nr>”, respectively “MouldTemperatureZone_<Nr>” (starting with 1).

The TemperatureZoneCycleParametersEventType is formally defined in Table 101.

Table 101 – TemperatureZoneCycleParametersType Definition

Attribute

Value

BrowseName

TemperatureZoneCycleParametersType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of 0:BaseObjectType defined in OPC UA Part 5

0:HasProperty

Variable

Index

0:UInt32

0:PropertyType

M

0:HasProperty

Variable

Name

0:String

0:PropertyType

M

0:HasProperty

Variable

Classification

TemperatureZoneClassificationEnumeration

0:PropertyType

O, RO

0:HasComponent

Variable

ActualTemperature

0:Double

0:AnalogItemType

M

The Index Property gives the number of the zone.

The Name Property represents the name of the zone.

The Classification Property represents the type of the zone. The TemperatureZoneClassificationEnumeration is defined in 17.2.5.

The ActualTemperature Variable represents the current temperature of the zone.