The ProductionType provides a job management structure to manage the machine capacity utilization and is formally defined in Table 16.

Table 16 – ProductionType Definition

Attribute

Value

BrowseName

ProductionType

IsAbstract

false

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the BaseObjectType defined in OPC 10000-5, i.e. inheriting the InstanceDeclarations of that Node.

0:HasComponent

Method

ChangePositionInList

Optional

0:HasComponent

Method

DeleteJob

Optional

0:HasComponent

Method

InsertJob

Optional

0:HasComponent

Object

ProductionPlan

ProductionPlanType

Mandatory

0:HasProperty

Variable

JobListIsRecommendation

0:Boolean

0:PropertyType

Mandatory

0:HasProperty

Variable

MaxCountOfJobs

0:UInt32

0:PropertyType

Optional

0:HasProperty

Variable

CurrentCountOfJobs

0:UInt32

0:PropertyType

Optional

0:HasProperty

Variable

SupportedMaterialTypes

0:NodeId[]

0:PropertyType

Optional

ProductionPlan defines a folder for the placeholders of jobs and keeps all information regarding the jobs. The job list contains all jobs that should be processed with this machine. The jobs are sorted in the ProductionPlan, but that sorting can be changed. If a job is ended, the machine decides which Job will be processed next.

JobListIsRecommendation is a flag which indicates that the sequence in the ProductionPlan is a recommendation. That means that the machine and/or the operator can modify the sequence. If the first job in the sequence is interrupted or idled/queued another job can be processed. The sequence in the JobList is fixed if the flag is false and if the first job cannot be processed, an interaction is necessary.

MaxCountOfJobs contains the maximum amount of jobs, which the server is able to handle within its memory capacity. CurrentCountOfJobs contains the current number of jobs, which are stored on the server at the moment.

SupportedMaterialTypes contains the NodeId of all MaterialTypes (subtypes of the BaseMaterialType) that can be used in this machine.

This method requests a change of the PositionInList to modify the processing order. The new position is specified by the NodeId of another job. If the flag ´before´ is true, the new position is before the given job. If the flag ´before´ is false, the new position will be after the given job. For example, the list contains 3 jobs (job_a, job_b, job_c), if the method is called for job_c with the NodeId of job_a and before is true, the new list is job_c, job_a, job_b. If the same method is called with the flag false, the new list is job_a, job_c, job_b.

The signature of this Method is specified below in Table 17 and Table 18 which specify the Arguments and AddressSpace representation, respectively.

Signature

ChangePositionInList (

[in]LimitedString64Target,

[in]LimitedString64Source,

[in]0:BooleanBefore);

Table 17 – ChangePositionInList Method Arguments

Argument

Description

Target

NodeID of the target job

Source

NodeID of the source job

Before

Boolean: If it is true the actual Job is moved before the target in list, if it is false the actual Job if moved behind.

Method Result Codes (defined in Call Service)

Result Code

Description

Bad_UserAccessDenied

See OPC 10000-4 for a general description.

Table 18 – ChangePositionInList Method AddressSpace definition

Attribute

Value

BrowseName

ChangePositionInList

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

0:Mandatory

Method to delete a specific job. The HLS sends a deletion request to the machine. As a result, the job is removed from the job list. This is only possible, if the job has been suspended before. Suspend acts as a parking place.

The signature of this Method is specified below in Table 19 and Table 20 which specify the Arguments and AddressSpace representation, respectively.

Signature

DeleteJob (

[in] LimitedString64Identifier

);

Table 19 – DeleteJob Method Arguments

Argument

Description

Identifier

Unique Identifier for the job

Method Result Codes (defined in Call Service)

Result Code

Description

Bad_UserAccessDenied

See OPC 10000-4 for a general description.

Table 20 – DeleteJob Method AddressSpace definition

Attribute

Value

BrowseName

DeleteJob

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

0:Mandatory

Method to create a new job. HLS creates and sends a job into the job list on the machine. The JobState is suspended (= default job state).

The signature of this Method is specified below in Table 21 and Table 22 which specify the Arguments and AddressSpace representation, respectively.

The AddressSpace definition can be omitted if there are no Properties other than InputArguments and OutputArguments.

Signature

InsertJob (

[in]LimitedString64Identifier,

[in]LimitedString64Name,

[in]0:NodeId[]InputMaterial,

[in]0:NodeId[]OutputMaterial

[out]0:NodeIdJobNodeId

);

Table 21 – InsertJob Method Arguments

Argument

Description

Identifier

Unique ID for the job

Name

Human readable name of the job

InputMaterial

Optional: Describes the materials to be processed within the job. Can include MaterialBaseType, RawGlassType, (Surface)GlassType

OutputMaterial

Optional: Describes the material-result of processing from the materials side.

JobNodeId

Optional: NodeId of the new created Job object (subtype of ProductionJobType)

Method Result Codes (defined in Call Service)

Result Code

Description

Bad_UserAccessDenied

See OPC 10000-4 for a general description.

Table 22 – InsertJob Method AddressSpace definition

Attribute

Value

BrowseName

InsertJob

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

0:Mandatory

0:HasProperty

Variable

0:OutputArguments

0:Argument[]

0:PropertyType

0:Mandatory