The ProductionJobTypeprovides aggregated production data for running a sequence to produce several parts after one preparation mounting.

Examples for such a mounting are putting four raw parts on a pallet for a machining centre, setting up the fitting diameter bars in a turning centre bar feeder or loading a metal sheet from which hundreds of parts can be cut or punched. This sequence shall represent several parts which will usually (but not always) be several identical products. A job may be executed several times.

The ProductionJobTypeis formally defined in Table 35.

Table 35– ProductionJobType Definition

Attribute

Value

BrowseName

ProductionJobType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:BaseObjectTypedefined in OPC 10000-5i.e. inheriting the InstanceDeclarations of that Node

0:HasProperty

Variable

CustomerOrderIdentifier

0:String

0:PropertyType

O, RO

0:HasProperty

Variable

Identifier

0:String

0:PropertyType

M, RO

0:HasProperty

Variable

OrderIdentifier

0:String

0:PropertyType

O, RO

0:HasComponent

Variable

PartsCompleted

0:UInt32

0:BaseDataVariableType

O, RO

0:HasComponent

Object

PartSets

0:BaseObjectType

O

0:HasComponent

Variable

PartsGood

0:UInt32

0:BaseDataVariableType

O, RO

0:HasComponent

Object

ProductionPrograms

0:OrderedListType

M

0:HasComponent

Variable

RunsCompleted

0:UInt32

0:BaseDataVariableType

M, RO

0:HasComponent

Variable

RunsPlanned

0:UInt32

0:BaseDataVariableType

M, RO

0:HasComponent

Object

State

ProductionJobStateMachineType

M

0:HasInterface

ObjectType

0:IOrderedObjectType

Applied from 0:IOrderedObjectType

0:HasProperty

Variable

0:NumberInList

0:UInt16

0:PropertyType

M, RO

Conformance Units

MachineTool Production Job

MachineTool Production Dynamic Job List

MachineTool Production Job Available

MachineTool Production Simple Parts Monitoring

The components of the ProductionJobType have additional references which are defined in Table 36.

Table 36– ProductionJobType Additional Subcomponents

BrowsePath

References

NodeClass

BrowseName

DataType

TypeDefinition

Others

PartSets

0:HasComponent

Object

<PartSet>

ProductionPartSetType

MP

ProductionPrograms

0:HasOrderedComponent

Object

0:<OrderedObject>

ProductionProgramType

MP

RunsPlanned

0:HasProperty

Variable

IsValid

Boolean

PropertyType

M, RO

The Identifieris the identifier of the job. This Identifieris used to reference the job in other places of the AddressSpace, e.g. in the ProductionPartTransitionEventType. For this reason, the Identifiershall be unique.

The CustomerOrderIdentifieris used to reference the customer order this job belongs to. This information often originates from an external system handling production organisation (e.g. MES).

The OrderIdentifieris used to reference a company internal order the job belongs to. This information often originates from an external system handling production organisation (e.g. MES).

PartsCompletedindicates how many parts have been completed in the current job including all runs. This counter does not give any indication about the part quality. If PartSets are used, this counter shall be in sync with the respective PartsCompletedPerRuncounter.

PartSetscontains a list of ProductionPartSetTypenodes related to the job. It is a list of the part sets, which contain the parts produced in the current run of the job. For the DisplayNameof the <PartSet>, it is recommended to use the value of the NameProperty of the respective ProductionPartSetTypeinstance.

PartsGoodindicates how many good parts have been completed in the current job including all runs. A part is counted as long as there is no contradicting evidence. Note that such evidence may arise in subsequent processing steps (on different machines), even if a part was counted as good. In this case, the data on the OPC UA Server are not changed retrospectively. If individual Parts are modelled, this counter shall be identical to the number of PartTypeinstances with PartQualityset to Good, CapabilityUnavailableor WillNotBeMeasured.

ProductionProgramscontains a list of ProductionProgramTypenodes representing the programs used in the job. This list is made out of at least one instance of ProductionProgramType. The ordering of the programs is displayed using the HasOrderedComponent Referenceand the NumberInListcomponent of the ProductionProgramTypeinstance applied from the IOrderedObjectType. The underlying ordering is the call sequence of the programs. The program called first shall have the number 0 and appear first along the OrderedComponents. For the DisplayNameof the <OrderedObject>, it is recommended to use the value of the NameProperty of the respective ProductionProgramTypeinstance.

The ProductionProgramsmay include one single ProductionProgramTypeinstance. If it contains more than one ProductionProgramTypeinstance, the call hierarchy of the programs is not shown in this list. Neither is the relation of programs and channels modelled in the ProductionProgramType. Which programs to include in the list can be chosen by the integrator of the information model (e.g. main program only, subprograms included, …). The list shall include programs relevant to the job and manufacturing of the job, macros and cycles for general purpose tasks are usually not included.

RunsCompletedis a counter that increases after each completed run of the job. This means, the run was not aborted and finished regularly. This counter does not give any indication about the part quality.

RunsPlannedindicates how many times a job should be executed. RunsPlannedhas a Propertycalled IsValid, which indicates if the planned number of job runs is known to the machine (True) or not (False). The number of planned job runs not being known occurs in continuous production, that is if the machine is started with the respective job and job runs are repeated endlessly. The production process only ends when the machine is stopped by an external measure (operator or system).

Stateis an instance representation of the ProductionJobStateMachineType. It indicates the current state the job is in and the transition used to get into this state.

NumberInListis used to enumerate ProductionJobTypeinstances used as list elements. This index shall be 0 for the first list element and increase by one for each subsequent list element. If nodes are deleted from the list or inserted into the list, the NumberInListhas to be adjusted for all following nodes in the list, such that the NumberInListelements always form a sequential series of numbers.