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