The definition which product (family) is produced is done by a job group. This defines which equipment, production dataset and materials are used and which configuration parameters (e.g. width, length of foil) are offered. The concrete products (roll of film with defined width and length) are models as jobs inside this group.

NOTE: Examples for different combinations of jobs are presented in the Annex.

image007.png

Figure 2 – Job Management Overview

This is a container for the job groups.

Table 4 – JobGroupsType Definition

Attribute

Value

BrowseName

JobGroupsType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of 0:BaseObjectType defined in OPC 10000-5

0:HasProperty

Variable

0:NodeVersion

0:String

0:PropertyType

M, RO

0:HasComponent

Object

JobGroup_<Nr>

JobGroupType

OP

0:HasComponent

Method

AddJobGroup

O

0:HasComponent

Method

RemoveJobGroupById

O

0:HasComponent

Method

StartJobGroupById

O

0:HasComponent

Method

InterruptJobGroupById

O

0:HasComponent

Method

FinishJobGroupById

O

0:GeneratesEvent

ObjectType

JobGroupStatusChangedEventType

Defined in 8.2.23

0:GeneratesEvent

ObjectType

JobStatusChangedEventType

Defined in 8.3.17

0:GeneratesEvent

ObjectType

UnitFinishedEventType

Defined in 8.3.18

0:GeneratesEvent

ObjectType

LotFinishedEventType

Defined in 8.3.19

0:GeneratesEvent

ObjectType

0:GeneralModelChangeEventType

Conformance Units

OPC 40084-2 Jobs

The NodeVersion Property as defined in OPC 10000-3 is used to inform the client about model changes. Here it informs about added or removed instances of JobGroupType.

This is a placeholder for the job groups (see 8.2). When instances are created the BrowseNames shall be “JobGroup_<Nr>” where <Nr> is a three-digit number with leading zeros, starting with “001”.

This method adds a new job group with the needed Properties.

Signature

AddJobGroup (

[in]0:StringId

[in]0:StringDescription

[in]0:StringEquipmentDescription

[in]0:StringProductionDatasetName

[in]MaterialMappingType[]MaterialMapping

[in]0:UInt32Priority

[in]0:UtcTimePlannedStart

[in]0:DurationPlannedProductionTime

[in]0:DurationPlannedSetUpTime

[in]0:UtcTimeLatestEnd

[out]0:NodeIdJobGroupNodeId);

Table 5 – AddJobGroup Method Arguments

Argument

Description

Id

See 8.2, where the Properties of a job group are defined.

Description

See 8.2, where the Properties of a job group are defined.

EquipmentDescription

See 8.2, where the Properties of a job group are defined.

ProductionDatasetName

See 8.2, where the Properties of a job group are defined.

MaterialMapping

See 8.2, where the Properties of a job group are defined.

Priority

See 8.2, where the Properties of a job group are defined.

PlannedStart

See 8.2, where the Properties of a job group are defined.

PlannedProductionTime

See 8.2, where the Properties of a job group are defined.

PlannedSetUpTime

See 8.2, where the Properties of a job group are defined.

LatestEnd

See 8.2, where the Properties of a job group are defined.

JobGroupNodeId

The method returns the NodeId of the created instance for the job group

Table 6 – AddJobGroup Method AddressSpace Definition

Attribute

Value

BrowseName

AddJobGroup

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

0:Mandatory

0:HasProperty

Variable

0:OutputArguments

0:Argument[]

0:PropertyType

0:Mandatory

This method removes a job group instance.

Signature

RemoveJobGroupById (

[in]0:StringId);

Table 7 – RemoveJobGroupById Method Arguments

Argument

Description

Id

Id of the job group that shall be removed

Table 8 – RemoveJobGroupById Method AddressSpace Definition

Attribute

Value

BrowseName

RemoveJobGroupById

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

0:Mandatory

With this method the client requests to start the production of a specific job group.

Signature

StartJobGroupById (

[in]0:StringId);

Table 9 – StartJobGroupById Method Arguments

Argument

Description

Id

Id of the job group that shall be started

Table 10 – StartJobGroup Method AddressSpace Definition

Attribute

Value

BrowseName

StartJobGroupById

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

0:Mandatory

With this method the client requests to interrupt the production of a specific job group.

Signature

InterruptJobGroupById (

[in]0:StringId);

Table 11 – InterruptJobGroupById Method Arguments

Argument

Description

Id

Id of the job group that shall be interrupted

Table 12 – InterruptJobGroupById Method AddressSpace Definition

Attribute

Value

BrowseName

InterruptJobGroupById

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

0:Mandatory

To continue the production of the job group, StartJobGroupById is called.

With this method the client requests to finish the production of a specific job group.

Signature

FinishJobGroupById (

[in]0:StringId);

Table 13 – FinishJobGroupById Method Arguments

Argument

Description

Id

Id of the job group that shall be finished

Table 14 – FinishJobGroupById Method AddressSpace Definition

Attribute

Value

BrowseName

FinishJobGroupById

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

0:Mandatory

The JobGroups Object fires all Events related to the included job groups and jobs. With this, a client needs to subscribe to these events only at this node. The different events are described in 8.2 and 8.3.

This ObjectType represent a job group.

Table 15 – JobGroupType Definition

Attribute

Value

BrowseName

JobGroupType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of 0:BaseObjectType defined in OPC 10000-5

0:HasProperty

Variable

0:NodeVersion

0:String

0:PropertyType

M, RO

0:HasProperty

Variable

Id

0:String

0:PropertyType

M, RO

0:HasProperty

Variable

Description

0:String

0:PropertyType

M, RO

0:HasProperty

Variable

EquipmentDescription

0:String

0:PropertyType

M, RO

0:HasProperty

Variable

ProductionDatasetName

0:String

0:PropertyType

M, RO

0:HasProperty

Variable

MaterialMapping

MaterialMappingType[]

0:PropertyType

M, RO

0:HasProperty

Variable

ConfigurationParameters

ConfigurationParameterType[]

0:PropertyType

M, RO

0:HasProperty

Variable

Priority

0:UInt32

0:PropertyType

M, RO

0:HasProperty

Variable

PlannedStart

0:UtcTime

0:PropertyType

M, RO

0:HasProperty

Variable

PlannedProductionTime

0:Duration

0:PropertyType

M, RO

0:HasProperty

Variable

PlannedSetUpTime

0:Duration

0:PropertyType

M, RO

0:HasProperty

Variable

LatestEnd

0:UtcTime

0:PropertyType

M, RO

0:HasProperty

Variable

Status

3:JobStatusEnumeration

0:PropertyType

M, RO

0:HasComponent

Variable

ElectricalEnergyConsumption

0:Double

0:AnalogUnitType

O, RO

0:HasComponent

Variable

FluidEnergyConsumption

0:Double

0:AnalogUnitType

O, RO

0:HasComponent

Variable

PressureAirConsumption

0:Double

0:AnalogUnitType

O, RO

0:HasComponent

Object

Job_<Nr>

JobType

OP

0:HasComponent

Method

AddJob

O

0:HasComponent

Method

RemoveJobById

O

0:HasComponent

Method

StartJobById

O

0:HasComponent

Method

InterruptJobById

O

0:HasComponent

Method

FinishJobById

O

0:GeneratesEvent

ObjectType

0:GeneralModelChangeEventType

Conformance Units

OPC 40084-2 Jobs

The NodeVersion Property as defined in OPC 10000-3 is used to inform the client about model changes. Here it informs about added or removed instances of JobType in the group.

Id of the job group.

Description of the job group.

Description of the equipment needed for job. This is only for information (e.g. for operator)

NOTE: It makes sense only to mention the interchangeable equipment of the extrusion line here (e.g. die, screw).

Name of the production dataset which is needed for the job.

Information, which material is needed for the production. The MaterialMappingType is defined in Table 16.

Table 16 – MaterialMappingType Definition

Name

Type

Description

MaterialMappingType

structure

MaterialId

String

Id of the material as specified in the MaterialList (see 6.8)

MaterialLot

String

Lot of the material (empty string allowed if not relevant)

HopperId

String

Id of the hopper in which the material shall be put (empty string allowed if not supported)

Priority of the job group: 1 = highest priority, higher values represent lower priorities.

Planned start of the job (in UTC time). If not relevant the value shall be 0.

Planned time for the production of the job group. If not relevant the value shall be 0.

Planned total time needed for set up and tear down of the extrusion line for the job group. If not relevant the value shall be 0.

Latest end of the job (in UTC time). If not relevant the value shall be 0.

Array of offered configuration parameters. The ConfigurationParameterType is defined in OPC 40083. Which ConfigurationParameters are offered to the jobs in the group depends on the machine / implementation / production dataset.

Status of the job group. The JobStatusEnumeration is defined in OPC 40083.

Cumulated electrical energy consumption of the extrusion line for the job group in kWh.

Cumulated energy for the cooling of the whole extrusion line with fluid for the job group in kWh.

Cumulated consumption of pressure air of the whole extrusion line (volume at standard conditions) for the job group in kWh.

This is a placeholder for the jobs inside the group (see 8.3). When instances are created the BrowseNames shall be “Job_<Nr>” where <Nr> is a three-digit number with leading zeros, starting with “001”.

This method adds a new job to the group with the needed Properties.

Signature

AddJob (

[in]0:StringId

[in]0:StringDescription

[in]0:StringCustomerName

[in]0:StringProductName

[in]0:StringProductDescription

[in]0:UInt32Strand

[in]0:UInt32Sequence

[in]3:ParameterSettingType[]ParameterSetting

[in]0:DoubleSetOutput

[in]0:DoubleLotSize

[out]0:NodeIdJobNodeId);

Table 17 – AddJob Method Arguments

Argument

Description

Id

See 8.3, where the Properties of a job are defined.

Description

See 8.3, where the Properties of a job are defined.

CustomerName

See 8.3, where the Properties of a job are defined.

ProductName

See 8.3, where the Properties of a job are defined.

ProductDescription

See 8.3, where the Properties of a job are defined.

Strand

See 8.3, where the Properties of a job are defined.

Sequence

See 8.3, where the Properties of a job are defined.

ParameterSetting

See 8.3, where the Properties of a job are defined.

SetOutput

See 8.3, where the Properties of a job are defined.

LotSize

See 8.3, where the Properties of a job are defined.

JobNodeId

The method returns the NodeId of the created instance for the job group

Table 18 – AddJob Method AddressSpace Definition

Attribute

Value

BrowseName

AddJob

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

0:Mandatory

0:HasProperty

Variable

0:OutputArguments

0:Argument[]

0:PropertyType

0:Mandatory

This method removes a job from a group.

Signature

RemoveJobById (

[in]0:StringId);

Table 19 – RemoveJobById Method Arguments

Argument

Description

Id

Id of the job that shall be removed

Table 20 – RemoveJobById Method AddressSpace Definition

Attribute

Value

BrowseName

RemoveJobById

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

0:Mandatory

With this method the client requests to start the production of a specific job in the group.

Signature

StartJobById (

[in]0:StringId);

Table 21 – StartJobById Method Arguments

Argument

Description

Id

Id of the job that shall be started

Table 22 – StartJob Method AddressSpace Definition

Attribute

Value

BrowseName

StartJobById

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

0:Mandatory

With this method the client requests to interrupt the production of a specific job.

Signature

InterruptJobById (

[in]0:StringId);

Table 23 – InterruptJobById Method Arguments

Argument

Description

Id

Id of the job that shall be interrupted

Table 24 – InterruptJobById Method AddressSpace Definition

Attribute

Value

BrowseName

InterruptJobById

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

0:Mandatory

To continue the production of the job, StartJobById is called.

With this method the client requests to finish the production of a specific job.

Signature

FinishJobById (

[in]0:StringId);

Table 25 – FinishJobById Method Arguments

Argument

Description

Id

Id of the job that shall be finished.

Table 26 – FinishJobById Method AddressSpace Definition

Attribute

Value

BrowseName

FinishJobById

References

Node Class

BrowseName

DataType

TypeDefinition

Modelling Rule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

0:Mandatory

This EventType  is used to inform the client about the change of the Status Property of a job group. It is fired by the parent JobGroups object to have only one Node for the subscription.

Table 27 – JobGroupStatusChangedEventType Definition

Attribute

Value

BrowseName

JobGroupStatusChangedEventType

IsAbstract

True

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of 0:BaseEventType defined in OPC 10000-5

0:HasProperty

Variable

Id

0:String

0:PropertyType

M

0:HasProperty

Variable

LastStatus

3:JobStatusEnumeration

0:PropertyType

M

0:HasProperty

Variable

ActiveStatus

3:JobStatusEnumeration

0:PropertyType

M

Conformance Units

OPC 40084-2 Jobs

Id: Id of the job group.

LastStatus:Value of the Status Property of the job group before the change

ActiveStatus:Value of the Status Property of the job group after the change

The SourceNode (part of BaseEventType) shall be the NodeId of the relevant job group.

This ObjectType represent a single job inside a job group.

Table 28 – JobType Definition

Attribute

Value

BrowseName

JobType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of 0:BaseObjectType defined in OPC 10000-5

0:HasProperty

Variable

Id

0:String

0:PropertyType

M, RO

0:HasProperty

Variable

Description

0:String

0:PropertyType

M, RO

0:HasProperty

Variable

CustomerName

0:String

0:PropertyType

M, RO

0:HasProperty

Variable

ProductId

0:String

0:PropertyType

M, RO

0:HasProperty

Variable

ProductDescription

0:String

0:PropertyType

M, RO

0:HasProperty

Variable

Strand

0:UInt32

0:PropertyType

M, RO

0:HasProperty

Variable

Sequence

0:UInt32

0:PropertyType

M, RO

0:HasProperty

Variable

ParameterSetting

ParameterSettingType[]

0:PropertyType

M, RO

0:HasProperty

Variable

SetOutput

0:Double

0:PropertyType

M, RO

0:HasProperty

Variable

LotSize

0:Double

0:PropertyType

M, RO

0:HasProperty

Variable

Status

3:JobStatusEnumeration

0:PropertyType

M, RO

0:HasComponent

Variable

GoodProduct

0:Boolean

0:BaseDataVariableType

M, RO

0:HasComponent

Variable

Throughput

0:Double

0:AnalogUnitType

O, RO

0:HasComponent

Variable

ProductWeight

0:Double

0:AnalogUnitType

O, RO

0:HasComponent

Variable

LineSpeed

0:Double

0:AnalogUnitType

O, RO

0:HasComponent

Variable

ActualLot

0:UInt32

0:BaseDataVariableType

M, RO

0:HasComponent

Variable

ActualLotName

0:String

0:BaseDataVariableType

O, RW

0:HasComponent

Variable

ActualOutput

0:Double

0:BaseDataVariableType

M, RO

0:HasComponent

Variable

ActualGoodOutput

0:Double

0:BaseDataVariableType

O, RO

0:HasComponent

Variable

ActualBadOutput

0:Double

0:BaseDataVariableType

O, RO

0:HasComponent

Variable

ActualSampleOutput

0:Double

0:BaseDataVariableType

O, RO

0:HasComponent

Variable

ActualOutputRate

0:Double

0:BaseDataVariableType

M, RO

Conformance Units

OPC 40084-2 Jobs

Id of the job. It shall be unique inside the relevant job group. Two jobs inside different job groups may have the same Id.

Description of the job.

Name of the customer for that the job is produced.

Id of the product produced by the job.

Description of the product produced by the job.

Strand is used when several products (two pipes is parallel, foil cut into several smaller foils) are produced in parallel. When only one product is produced at the same time, the value is always 1.

Planned sequence when the job group contains multiple job for one strand. When there is only one job for a string in the production group the value is always 1.

Array for the configuration of the job by setting values for the offered configuration parameters. The ParameterSettingType is defined in OPC 40083. If an entry in the ConfigurationParameters Array in the job group has no corresponding entry in the ParameterSetting Array, the default value is used.

Set output of the job. The output is always counted in units, where a unit can be a piece of pipe/profile, roll of film, bag of compound, but also a defined bundle (e.g. one unit consist of 4 bags). What a unit is, may be configurable by the configuration parameters.

Size of a production lot. This used to control the

  • frequency of the Events of LotFinishedEventType (see 8.3.19)
  • production of different jobs in a group: When LotSize is reached, the next job in the group is produced (see examples in Annex).

Status of the job. The JobStatusEnumeration is defined in OPC 40083.

Indication if the produced product has a good quality. Can be set by the machine or the operator. When it changes from true to false the line control shall create an alarm.

Which lot (number) is currently in production.

Optional name for the actual lot.

These Variables represent the total number of produced (finished) units and the numbers of good, bad and test sample units in the current job. (See explanation above for unit in SetOutput.)

Average output rate of the job in units per hour.

This EventType is used to inform the client about the change of the Status Property of a job. It is fired by the JobGroups object to have only one Node for the subscription.

Table 29 – JobStatusChangedEventType Definition

Attribute

Value

BrowseName

JobStatusChangedEventType

IsAbstract

True

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of 0:BaseEventType defined in OPC 10000-5

0:HasProperty

Variable

JobGroupId

0:String

0:PropertyType

M

0:HasProperty

Variable

JobId

0:String

0:PropertyType

M

0:HasProperty

Variable

LastStatus

3:JobStatusEnumeration

0:PropertyType

M

0:HasProperty

Variable

ActiveStatus

3:JobStatusEnumeration

0:PropertyType

M

Conformance Units

OPC 40084-2 Jobs

JobGroupId: Id of the job group.

JobId: Id of the job.

LastStatus:Value of the Status Property of the job group before the change

ActiveStatus:Value of the Status Property of the job group after the change

The SourceNode (part of BaseEventType) shall be the NodeId of the relevant job.

This EventType  is used to inform the client a finished product unit. It is fired by the parent JobGroups object to have only one Node for the subscription.

Table 30 – UnitFinishedEventType Definition

Attribute

Value

BrowseName

UnitFinishedEventType

IsAbstract

True

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of 0:BaseEventType defined in OPC 10000-5

0:HasProperty

Variable

JobGroupId

0:String

0:PropertyType

M

0:HasProperty

Variable

JobId

0:String

0:PropertyType

M

0:HasProperty

Variable

Unit

0:UInt32

0:PropertyType

M

0:HasProperty

Variable

GoodProduct

0:Boolean

0:PropertyType

M

Conformance Units

OPC 40084-2 Jobs

JobGroupId: Id of the job group.

JobId: Id of the job.

Unit:Counter, which unit out of the total amount has been finished.(e.g. roll number 4 roll is finished)

GoodProduct:Information if the finished unit has a good quality.

The SourceNode (part of BaseEventType) shall be the NodeId of the relevant job.

This EventType  is used to inform the client a finished production lot. It is fired by the parent JobGroups object to have only one Node for the subscription.

Table 31 – LotFinishedEventType Definition

Attribute

Value

BrowseName

LotFinishedEventType

IsAbstract

True

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of 0:BaseEventType defined in OPC 10000-5

0:HasProperty

Variable

JobGroupId

0:String

0:PropertyType

M

0:HasProperty

Variable

JobId

0:String

0:PropertyType

M

0:HasProperty

Variable

Lot

0:UInt32

0:PropertyType

M

Conformance Units

OPC 40084-2 Jobs

JobGroupId: Id of the job group.

JobId: Id of the job.

Lot:Counter, which lot has been finished. (e.g. lot number 6 roll is finished)

The SourceNode (part of BaseEventType) shall be the NodeId of the relevant job.

NOTE: The three events JobStatusChanged, UnitFinished and LotFinished may be fired simultaneously. E.g. when a job is finished, then the status is changed, the last product is finished as well as the last lot. If the job is the last in the job group, the JobGroupStatusChanges event will be fired in addition. However, the client decides which EventTypes are subscribed.