The GlassMachineType provides the information of the machine and is formally defined in Table 12. A Machine or system can contain other subsystems (e.g. other machines or devices). Such a complex system can be modelled with the component structure from OPC UA Machinery (see OPC 40001-1section 11).

This GlassMachine object can be further divided into subtypes using the modular device structure from OPC UA for Machinery.

Table 12 – GlassMachineType Definition

Attribute

Value

BrowseName

GlassMachineType

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.

HasAddIn

Object

2:Identification

GlassMachineIdentificationType

Mandatory

0:HasComponent

Object

MaintenanceManuals

ManualFolderType

Optional

0:HasComponent

Object

OperationManuals

ManualFolderType

Optional

0:HasComponent

Object

Production

ProductionType

Mandatory

HasAddIn

Object

Components

3:MachineComponentsType

Optional

0:HasComponent

Object

ConfigurationRules

ConfigurationRulesType

Mandatory

Identification contains the information to identify the glass machine. For more information see GlassMachineIdentificationType and OPC 40001-1(MachineIdentificationType).

MaintenanceManuals contains the manuals or the references to the manuals for the maintenance process.

OperationManuals contains the manuals or the references to the manuals for the operation process.

Production contains the information and methods that relate to the production. This includes the states of the current jobs and methods for insert, remove, release, suspend a job.

Components contains components or submachines of the glass machine.

ConfigurationRules contains the properties that describe the machine configuration.

The GlassMachineIdentificationType provides the information about the identification process and is formally defined in Table 13.

Table 13 – GlassMachineIdentificationType Definition

Attribute

Value

BrowseName

GlassMachineIdentificationType

IsAbstract

false

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the 3:MachineIdentificationType defined in this OPC UA 400001-1 , i.e. inheriting the InstanceDeclarations of that Node.

0:HasProperty

Variable

LoggedInProfiles

UserProfileType[]

0:PropertyType

Optional

LoggedInProfiles contains a List of logged (local and via OPC UA) in user profiles at the machine.

The ManualFolderType provides information about the manuals and is formally defined in Table 14.

Table 14 – ManualFolderType Definition

Attribute

Value

BrowseName

ManualFolderType

IsAbstract

false

References

Node Class

BrowseName

DataType

TypeDefinition

Other

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

0:HasComponent

Object

<LocalManuals>

0:FileType

OptionalPlaceholder

0:HasProperty

Variable

ExternalManuals

LimitedString64[]

0:PropertyType

Optional

<LocalManuals> contains all manuals, which are stored on the machine control memory and can be accessed via OPC UA.

ExternalManuals contains URIs (by RFC 3986) of manuals, which are stored on external systems. Example: https://example.com/manual/5789; ftp://example.com/manual/234985923

The ConfigurationRulesType provides information about the configuration of the machine. This includes all nodes in the OPC UA address space that are related to the machine. It also contains the possible file format and units, which can be handeled by the server. It is formally defined inTable 14.

Table 15 – ConfigurationRulesType Definition

Attribute

Value

BrowseName

ConfigurationRulesType

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

Variable

AllowedFileFormats

FileFormatType[]

0:PropertyType

Optional

0:HasProperty

Variable

AllowedEngineeringUnits

0:EUInformation[]

0:PropertyType

Optional

0:HasProperty

Variable

MachineProcessingCoordinateSystem

CoordinateSystemEnumeration

0:PropertyType

Mandatory

AllowedFileFormats contains all file formats allowed for this machine. A file format describes the syntax and semantic of a document. If there are different versions allowed all must be added.

AllowedEngineeringUnits contains an array of engineering units that can be handled by the OPC UA server for this machine. A machine that supports a method with the input argument EUInformation must also provide this array.

Note: It is recommended to use SI units or units derived from SI units The following units should be used:

  • Millimeter (mm) for Length
  • Kilogram (kg) for Weight

MachineProcessingCoordinateSystem specifies where the machine coordinate origin is located and in which direction the axes are pointing.

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

The ProductionPlanType provides the list of ProductionJobTypes and is formally defined in Table 23.

Table 23 – ProductionPlanType Definition

Attribute

Value

BrowseName

ProductionPlanType

IsAbstract

false

References

Node Class

BrowseName

DataType

TypeDefinition

Other

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

HasOrderedComponent

Object

<OrderedObject>

ProductionJobType

OptionalPlaceholder

0:<OrderedObject> is a placeholder for any number of ProductionJobType instances. To indicate the order of jobs on the machine tool, the NumberInList parameter of the ProductionJobType is used. This index shall be 0 for the first list element and increase by one for each subsequent list element. If jobs are deleted from the list or inserted into the list, the NumberInList has to be adjusted for all following ProductionJobType instances in the list, such that the NumberInList elements always form a sequential series of numbers. For the DisplayName of the <OrderedObject>, it is recommended to use the value of the Identifier Property of the respective ProductionJobType instance.

The InstructionType provides all the information required by the glass machine to perform the job. In case of an assembly job, it contains all necessary steps for the mounting of the unit. For a glass cutting process the cutting plan is provided. The InstructionType is formally defined in Table 24.

Table 24 – InstructionType Definition

Attribute

Value

BrowseName

InstructionType

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

Object

Plan

0:FileType

Mandatory

0:HasProperty

Variable

PlanFileFormat

FileFormatType

0:PropertyType

Mandatory

Plan contains the instruction for the job. In case of a programmable machine, it contains the program code.

PlanFileFormat defines the file format of the plan. This is used to ensure compatibility between the plan and the machine.

The ProductionJobType provides all information for a single job and is formally defined in Table 25.

Table 25 – ProductionJobType Definition

Attribute

Value

BrowseName

ProductionJobType

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

Object

InputMaterials

FolderType

Mandatory

0:HasComponent

Object

OutputMaterials

FolderType

Mandatory

0:HasComponent

Variable

EndTime

0:DateTime

0:BaseDataVariableType

Mandatory

0:HasComponent

Object

Instruction

InstructionType

Mandatory

0:HasProperty

Variable

Identifier

LimitedString64

0:PropertyType

Mandatory

0:HasComponent

Object

State

ProductionStateMachineType

Mandatory

0:HasComponent

Object

Lock

2:LockingServicesType

Optional

0:HasProperty

Variable

Name

LimitedString64

0:PropertyType

Optional

0:HasComponent

Method

ReleaseJob

Optional

0:HasProperty

Variable

JobGroup

LimitedString64

0:PropertyType

Optional

0:HasComponent

Variable

StartTime

0:BaseDataVariableType

Mandatory

0:HasComponent

Method

SuspendJob

Optional

0:HasComponent

Method

AbortJob

Optional

0:HasComponent

Method

QueueJob

Optional

0:HasInterface

ObjectType

0:IOrderedObjectType

Applied from 0:IOrderedObjectType

0:HasProperty

Variable

NumberInList

0:UInt16

0:PropertyType

Mandatory

InputMaterials describes a folder that contains objects of subtypes of the BaseMaterialType. These represents the materials to be processed within the job. The folder contains a MandatoryPlaceholder of the BaseMaterialType.

OutputMaterial describes a folder that contains objects of subtypes of the BaseMaterialType. These represents the materials after processing from the materials side. The folder contains a MandatoryPlaceholder of the BaseMaterialType.

EndTime defines the timestamp when processing was finished and the machine switched to the ended or aborted state.

Instruction contains all the information required by the glass machine to perform the job. In case of an assembly job, it contains all necessary steps for the mounting of the unit. For a glass cutting process, the cutting plan is provided.

Identifier defines a unique identifier for the job.

State describes the current processing state in reference to the ProductionStateMachine.

Lock contains the methods and properties to get the information about the locking status of the job and to modify the lock. For more information refer to Locking Service in OPC 10000-100.

Name defines a human readable name of the job.

NumberInList is used to enumerate ProductionJobType instances 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 NumberInList has to be adjusted for all following nodes in the list, such that the NumberInList elements always form a sequential series of numbers.

StartTime defines the timestamp of starting processing when the machine switched from released to the running state.

JobGroup is an attribute to combine multiple jobs in a configurable order.

The components of the ProductionJobType have additional subcomponents which are defined in Table 26

Table 26 ProductionJobType Type Additional Subcomponents

BrowsePath

References

NodeClass

BrowseName

DataType

TypeDefinition

Others

InputMaterials

0:HasComponent

Object

<InputMaterial>

BaseMaterialType

MandatoryPlaceholder

OutputMaterials

0:HasComponent

Object

<OutputMaterial>

BaseMaterialType

MandatoryPlaceholder

 

Method to abort a job. Let the job enter the state Abort from the JobStateMachine. If the job is in running the stop will be stopped. The stop behaviour depends on the machine and the current conditions of the machine.

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

Signature

AbortJob (

);

Table 27 – AbortJob Method Arguments

Argument

Description

Method Result Codes (defined in Call Service)

Result Code

Description

Bad_UserAccessDenied

See OPC 10000-4 for a general description.

Table 28 – AbortJob Method AddressSpace definition

Attribute

Value

BrowseName

ReleaseJob

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Method to release a job. Let the job enter the state released from the JobStateMachine. A released job can be processed by the machine. This Release Method can be called only if the job is locked from this client (see Lock Service). This method will unlock the job within the releasing process.

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

Signature

ReleaseJob (

);

Table 29 – ReleaseJob Method Arguments

Argument

Description

Method Result Codes (defined in Call Service)

Result Code

Description

Bad_UserAccessDenied

See OPC 10000-4 for a general description.

Table 30 – ReleaseJob Method AddressSpace definition

Attribute

Value

BrowseName

ReleaseJob

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

A method to suspend a job. Let the job enter the state suspended from the JobStateMachine. A suspended job will not be processed by the machine.

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

Signature

SuspendJob (

);

Table 31 – SuspendJob Method Arguments

Argument

Description

Method Result Codes (defined in Call Service)

Result Code

Description

Bad_UserAccessDenied

See OPC 10000-4 for a general description.

Table 32 – SuspendJob Method AddressSpace definition

Attribute

Value

BrowseName

SuspendJob

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Method to queue a job which has been inserted via the InsertJob Method and all required data has been passed to the OPC UA server for production. Let the job enter the state Queued from the JobStateMachine. A queued job is ready to receive the final production release.

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

Signature

QueueJob(

);

Table 33 – QueueJob Method Arguments

Argument

Description

Method Result Codes (defined in Call Service)

Result Code

Description

Bad_UserAccessDenied

See OPC 10000-4 for a general description.

Table 34 – QueueJob Method AddressSpace definition

Attribute

Value

BrowseName

QueueJob

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

The ProductionStateMachineType describes a fundamental statemachine for processing jobs from glass machines and is formally defined in Table 38. An implementation of this statemachine is mandatory. Furthermore, it can be extended by further substatemachines (e.g. for a detailed description of the Running state). The name of each transition consists of the names of the states it connects: [FromState]To[ToState]. Their References are specified in Table 37.

On the first level, the state machine consists of the states Initialized (there is a sub-state-machine with Idle, Queued, Released), Running, Interrupted, Aborted and Ended. The state transitions can be initiated by HLS or by the machine itself. Figure 15 shows the state machine and the state transitions graphically.

Table 35 – ProductionStateMachineType Definition

Attribute

Value

BrowseName

ProductionStateMachineType

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

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

0:HasComponent

Object

Aborted

0:StateType

0:HasComponent

Object

AbortedToInitializing

0:TransitionType

0:HasComponent

Variable

0:CurrentState

0:LocalizedText

0:FiniteStateVariableType

0:Mandatory

0:HasComponent

Object

Ended

0:StateType

0:HasComponent

Object

EndedToInitializing

0:TransitionType

0:HasComponent

Object

Initializing

0:InitialStateType

0:HasComponent

Object

InitializingToAborted

0:TransitionType

0:HasComponent

Object

InitializingToRunning

0:TransitionType

0:HasComponent

Object

Interrupted

0:StateType

0:HasComponent

Object

InterruptedToAborted

0:TransitionType

0:HasComponent

Object

InterruptedToRunning

0:TransitionType

0:HasComponent

Object

Running

0:StateType

0:HasComponent

Object

RunningToAborted

0:TransitionType

0:HasComponent

Object

RunningToEnded

0:TransitionType

0:HasComponent

Object

RunningToInterrupted

0:TransitionType

0:HasComponent

Object

RunningToRunning

0:TransitionType

0:HasComponent

Object

InitializingState

InitializingSubStateMachineType

0:Mandatory

image021.png

Figure 15 – JobStateMachine

The states shall have the numbers indicated in Table 36; the transitions shall have the numbers indicated in Table 36.

Initializing is the state in which the element in production is being prepared. During this state, the machine and the job doesn’t have to be ready for production, although it has to be as soon as the transition InitializingToRunning is used. The production is not yet started. This state contains a sub-statemachine of the Type InitializingSubStateMachineType. Depending on the implementation, a glass machine starts to process the jobs which have been released for production either by itself or by an operator. The machine sets the status of the next released job in the queue to Running and processes it.

Running indicates that the operation of a job in production has been started or re-started and is currently running. There can be sub-statemachines in future versions of this standard or vendor-specific sub-statemachines.

Interrupted indicates that the execution of a job in production has been reversibly halted. This is usually due to an error or an intervention by the operating personnel. It is possible to restart operation of or on the element in production after it was in the interrupted state. From Interrupted you can switch back to the Running state by Continue or, if the processing is to be aborted with Abort to the State Aborted (both transitions are machine internal). Furthermore, an interrupted job can be brought back to the Queued state with the SuspendMethod called by an HLS.

The state Aborted indicates, that the operation of a job in production has been irreversibly stopped before finishing. In addition, an already scheduled job can be moved directly to the Aborted state with the Abort-Method from HLS if the job is not to be produced.

Ended is reached when the operation of a job in production has been finished. Jobs can only be removed in the states Ended and Initializing (only in sub-states Idle and Queued).

Table 36 – ProductionStateMachineType Attribute values for child Nodes

Source Path

Value Attribute

Description Attribute

State Numbers

Initializing

0:StateNumber

0

Running

0:StateNumber

1

Ended

0:StateNumber

2

Interrupted

0:StateNumber

3

Aborted

0:StateNumber

4

Transition Numbers

InitializingToRunning

0:TransitionNumber

0

RunningToEnded

0:TransitionNumber

1

EndedToInitializing

0:TransitionNumber

2

RunningToRunning

0:TransitionNumber

3

RunningToInterrupted

0:TransitionNumber

4

InterruptedToRunning

0:TransitionNumber

5

RunningToAborted

0:TransitionNumber

6

InterruptedToAborted

0:TransitionNumber

7

AbortedToInitializing

0:TransitionNumber

8

InitializingToAborted

0:TransitionNumber

9

Fields may be empty which means this Attribute is not defined.

InitializingToRunning is triggered when the operation of a job in production starts.

RunningToEnded is triggered when the operation of a job in production finishes.

EndedToInitializing is triggered when re-initialization of the operation of a job in production starts.

RunningToRunning is triggered when another consecutive run of the operation of a job in production in direct succession starts.

RunningToInterrupted is triggered when the operation of a job in production is interrupted.

InterruptedToRunning is triggered when an interruption ends and the operation of a job in production continues running.

RunningToAborted is triggered when the operation of a job in production is aborted while in the Running state.

InterruptedToAborted is triggered when the operation of a job in production is aborted while in the Interrupted state. AbortedToInitializing is triggered if the operation of a job in production is being re-initialized after an abort.

InitializingToAborted is triggered when the operation of a job in production is aborted while in the Initializing state.

Table 37 – ProductionStateMachineType Additional References

Source Path

ReferenceType

Is Forward

Target Path

AbortedToInitializing

0:FromState

True

Aborted

0:ToState

True

Initializing

EndedToInitializing

0:FromState

True

Ended

0:ToState

True

Initializing

InitializingToAborted

0:FromState

True

Initializing

0:ToState

True

Aborted

InitializingToRunning

0:FromState

True

Initializing

0:ToState

True

Running

InterruptedToAborted

0:FromState

True

Interrupted

0:ToState

True

Aborted

InterruptedToRunning

0:FromState

True

Interrupted

0:ToState

True

Running

RunningToAborted

0:FromState

True

Running

0:ToState

True

Aborted

RunningToEnded

0:FromState

True

Running

0:ToState

True

Ended

RunningToInterrupted

0:FromState

True

Running

0:ToState

True

Interrupted

RunningToRunning

0:FromState

True

Running

0:ToState

True

Running

The InitializingSubStateMachineType provides more finely subdivided states (Idle, Queued and Released) to the Initialized state. Idle, are jobs which have been created but not yet scheduled. If the job is scheduled by an HLS in the queue of the glass machine, the state changes to Queued. To reach the Released state, which symbolizes the production release, an HLS must confirm the release by calling the ReleasedMethod. This SubStateMachine is formally defined in Table 38. The name of each transition consists of the names of the states it connects: [FromState]To[ToState]. Their References are specified in Table 40.

.

Table 38 – InitializingSubStateMachineType Definition

Attribute

Value

BrowseName

InitializingSubStateMachineType

IsAbstract

false

References

Node Class

BrowseName

DataType

TypeDefinition

Other

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

0:HasComponent

Object

Idle

0:InitialStateType

None

0:HasComponent

Object

Queued

0:StateType

None

0:HasComponent

Object

Released

0:StateType

None

0:HasComponent

Object

IdleToQueued

0:TransitionType

0:HasComponent

Object

QueuedToReleased

0:TransitionType

0:HasComponent

Object

QueuedToIdle

0:TransitionType

0:HasComponent

Object

ReleasedToQueued

0:TransitionType

The states shall have the numbers indicated in Table 39; the transitions shall have the numbers indicated in Table 39.

Idle, are jobs that have been created but not yet scheduled.

If the job is scheduled by an HLS in the queue of the glass machine, the state changes to Queued. A job can only be modified in the states Idle and Queued.

To reach the ReleasedState, which symbolizes the production release, an HLS must confirm the release by calling the ReleasedMethod.

Table 39 – InitializingSubStateMachineType Attribute values for child Nodes

Source Path

Value Attribute

Description Attribute

State Numbers

Idle

0:StateNumber

0

Queued

0:StateNumber

1

Released

0:StateNumber

2

Transition Numbers

IdleToQueued

0:TransitionNumber

0

QueuedToReleased

0:TransitionNumber

1

QueuedToIdle

0:TransitionNumber

2

ReleasedToQueued

0:TransitionNumber

3

Fields may be empty which means this Attribute is not defined.

IdleToQueued is triggered when the job is successfully added to the JobList.

QueuedToReleased is triggered when the job receives the final release for production.

QueuedToIdle is triggered when the job is need to changed and go to Idle.

ReleasedToQueued is triggered when a job is lose his release.

Table 40 – InitializingSubStateMachineType Additional References

Source Path

ReferenceType

Is Forward

Target Path

IdleToQueued

0:FromState

True

Idle

0:ToState

True

Queued

QueuedToReleased

0:FromState

True

Queued

0:ToState

True

Released

QueuedToIdle

0:FromState

True

Queued

0:ToState

True

Idle

ReleasedToQueued

0:FromState

True

Released

0:ToState

True

Queued

The AssemblyJobType provides the information for an assembly job, which assembles multiple input materials to one output material and is formally defined in Table 41.

Table 41 – AssemblyJobType Definition

Attribute

Value

BrowseName

AssemblyJobType

IsAbstract

false

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the ProductionJobType defined in this Companion Specification, i.e. inheriting the InstanceDeclarations of that Node.

0:HasComponent

Object

<InputMaterial>

BaseMaterialType

MandatoryPlaceholder

0:HasComponent

Object

<OutputMaterial>

AssemblyType

MandatoryPlaceholder

<InputMaterial> describes the materials to be processed within the job. Can include MaterialBaseType or GlassType.

<OutputMaterial> describes the result after assembly from the materials side.

The CuttingJobType provides the information for a cutting job, which cuts one sheet of glass into multiple smaller sheets and is formally defined in Table 42.

Table 42 – CuttingJobType Definition

Attribute

Value

BrowseName

CuttingJobType

IsAbstract

false

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the ProductionJobType defined in this Companion Specification, i.e. inheriting the InstanceDeclarations of that Node.

0:HasComponent

Object

<InputMaterial>

BaseMaterialType

MandatoryPlaceholder

0:HasComponent

Object

<OutputMaterial>

GlassType

MandatoryPlaceholder

InputMaterial describes the materials to be processed within the job. Can include MaterialBaseType or GlassType.

OutputMaterial describes the result after cutting from the materials side.

The ProcessingJobType provides the information for a processing job and is formally defined in Table 43.

Table 43 – ProcessingJobType Definition

Attribute

Value

BrowseName

ProcessingJobType

IsAbstract

false

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the ProductionJobType defined in this Companion Specification, i.e. inheriting the InstanceDeclarations of that Node.

0:HasComponent

Object

<InputMaterial>

BaseMaterialType

MandatoryPlaceholder

0:HasComponent

Object

<OutputMaterial>

BaseMaterialType

MandatoryPlaceholder

InputMaterial describes the materials to be processed within the job. Can include MaterialBaseType or GlassType.

OutputMaterial describes the result after processing from the materials side.

The BaseMaterialType provides the basic material information and is formally defined in Table 44.

Table 44 – BaseMaterialType Definition

Attribute

Value

BrowseName

BaseMaterialType

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

Variable

X

0:Double

0:AnalogUnitType

Optional

0:HasComponent

Variable

Y

0:Double

0:AnalogUnitType

Optional

0:HasComponent

Variable

Z

0:Double

0:AnalogUnitType

Optional

0:HasComponent

Variable

Weight

0:Double

0:AnalogUnitType

Optional

0:HasProperty

Variable

Description

0:LocalizedText

0:PropertyType

Optional

0:HasProperty

Variable

Location

LimitedString64

0:PropertyType

Mandatory

0:HasProperty

Variable

MaterialIdentifier

LimitedString64

0:PropertyType

Mandatory

0:HasProperty

Variable

Identifier

LimitedString64

0:PropertyType

Optional

Description is a human-readable description of the article.

Location defines source or destination location of the material, depending if it is an input or an output material.

MaterialIdentifier defines an Identifier to identify the Type of the item (item number).

Identifier defines a unique identifier for the specific component (e.g. the Serial number, Sheet-Id).

X defines the dimension of the material along the X axis of the machine coordinate system. For special shapes the surrounding rectangle is used.

Y defines the dimension of the material along the Y axis of the machine coordinate system. For special shapes the surrounding rectangle is used.

Z defines the dimension of the material along the Z axis of the machine coordinate system. For special shapes the surrounding rectangle is used.

Note: X,Y,Z are modelled separate, because subtype may only use a subset of X;Y,Z.

Weight defines the mass of the item. If possible the engineering unit should be kilograms.

The FoilType provides the information for foils used in glass technology and is formally defined in Table 45.

Table 45 – FoilType Definition

Attribute

Value

BrowseName

FoilType

IsAbstract

false

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the BaseMaterialType defined in this Companion Specification, i.e. inheriting the InstanceDeclarations of that Node.

0:HasComponent

Variable

Z

0:Double

0:AnalogUnitType

Mandatory

Z defines the thickness of the foil.

The SpacerType provides the information for spacers used in glass technology and is formally defined in Table 46.

Table 46 – SpacerType Definition

Attribute

Value

BrowseName

SpacerType

IsAbstract

false

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the BaseMaterialType defined in this Companion Specification, i.e. inheriting the InstanceDeclarations of that Node.

0:HasComponent

Variable

Filling

LimitedString64

BaseDataVariableType

Optional

0:HasComponent

Variable

SealantDepth

0:Double

0:AnalogUnitType

Optional

0:HasProperty

Variable

SpacerMaterialClass

SpacerMaterialClass

0:PropertyType

Mandatory

0:HasProperty

Variable

SpacerMaterialSubClass

LimitedString64

0:PropertyType

Optional

Filling provides information about the filling of the spacer.

SealantDepth is the minimum dimension from the spacer to the outer edge of the silicone secondary seal (see section 3.3.5).

SpacerMaterialClass defines with an enumeration the material type of the spacer, e.g. metal, plastic etc.

SpacerMaterialSubClass provides a vendor-specific unique identification of the spacer material.

The GasMixType provides information about the gas mix, which is used in glass technology assembly and is formally defined in Table 47.

Table 47 – GasMixType Definition

Attribute

Value

BrowseName

GasMixType

IsAbstract

false

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the BaseMaterialType defined in this Companion Specification, i.e. inheriting the InstanceDeclarations of that Node.

0:HasComponent

Object

Gas_1

BaseMaterialType

Optional

0:HasComponent

Object

Gas_2

BaseMaterialType

Optional

0:HasComponent

Variable

GasFilling

0:Number

0:AnalogUnitType

Optional

0:HasComponent

Variable

MixingRatio

0:Number

0:AnalogUnitType

Optional

Gas_1 uniquely describes the first gas, which is part of the gas filling. The manufacturer and the material designation should be included.

Gas_2 uniquely describes the second gas, which is part of the gas filling. The manufacturer and the material designation should be included.

GasFilling defines the filling level of the gas in percent, for a filling of 100% the values is 100. For this variable are also values of more than 100 allowed, to represent an overpressure in the final product.

MixingRatio describes the ratio of the gas mixture. Here the value 0 means that only the first gas (Gas_1) is contained. If the parameter is 100 only second gas (Gas_2) is in the mixture. With a value of 50 both gases are contained in the ratio 1:1.

The component Variables of the GasMixType have additional Attributes defined in Table 48.

Table 48 – GasMixType Attribute values for child Nodes

BrowsePath

Value Attribute

Description Attribute

MixingRatio

0:EngineeringUnits

NamespaceUri: http://www.opcfoundation.org/UA/units/un/cefact

UnitId: 20529

DisplayName: %

Description: percent

GasFilling

0:EngineeringUnits

NamespaceUri: http://www.opcfoundation.org/UA/units/un/cefact

UnitId: 20529

DisplayName: %

Description: percent

The GlassType provides information about flat glass sheets and is formally defined in Table 49.

Table 49 – GlassType Definition

Attribute

Value

BrowseName

GlassType

IsAbstract

false

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the BaseMaterialType defined in this Companion Specification, i.e. inheriting the InstanceDeclarations of that Node.

0:HasComponent

Variable

Absorption

0:Number

0:AnalogUnitType

Optional

0:HasProperty

Variable

CoatingClass

CoatingClassEnumeration

0:PropertyType

Mandatory

0:HasComponent

Variable

CoatingEmessivity

0:Number

0:AnalogUnitType

Optional

0:HasProperty

Variable

CoatingSubClass

LimitedString64

0:PropertyType

Optional

0:HasComponent

Variable

ElectricalConductivity

0:Number

0:AnalogUnitType

Optional

0:HasProperty

Variable

Orientation

0:Number

0:PropertyType

Mandatory

0:HasComponent

Variable

Reflection

0:Number

0:AnalogUnitType

Optional

0:HasProperty

Variable

SignificantSide

SignificantSideEnumeration

0:PropertyType

Mandatory

0:HasProperty

Variable

StructureClass

LimitedString64

0:PropertyType

Mandatory

0:HasProperty

Variable

StructureAlignment

StructureAlignmentEnumeration

0:PropertyType

Mandatory

0:HasComponent

Variable

Transmission

0:Number

0:AnalogUnitType

Optional

The following nodes are override from BaseMaterialType and the Modelling Rules change to Mandatory

0:HasComponent

Variable

X

0:Double

0:AnalogUnitType

Mandatory

0:HasComponent

Variable

Y

0:Double

0:AnalogUnitType

Mandatory

Absorption describes the absorption of the raw material.

CoatingClass defines which coatings have been applied to the SignificantSide.

CoatingEmessivity describes the emissivity of the coating.

CoatingSubClass provides a vendor-specific unique identification of the coating material.

Electrical Conductivity describes the conductivity of the raw material in Siemens.

Orientation describes the angle of the material coordinates in reference to the MachineProcessingCoordinateSystem.

Reflection describes the reflection of the raw material.

StructureClass defines a vendor-specific description of the glass structure (surface topology). An example for that is Chinchilla white.

SignificantSide specifies whether the significant (coating) side (see definition in Terms) should be at the top or bottom during machining (see also section 3.2.6 and 0).

StructureAlignment specifies how the surface structure is aligned. See StructureAlignmentEnumeration for more information e.g. about the orientation.

Transmission describes the transmission of the raw material.

The PackagingType provides information about the packing material used in glass technology and is formally defined in Table 50.

Table 50 – PackagingType Definition

Attribute

Value

BrowseName

PackagingType

IsAbstract

false

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the BaseMaterialType defined in this Companion Specification, i.e. inheriting the InstanceDeclarations of that Node.

0:HasComponent

Variable

PerimeterProtection

LimitedString64

BaseDataVariableType

Mandatory

0:HasComponent

Variable

CornerProtection

LimitedString64

BaseDataVariableType

Mandatory

0:HasComponent

Variable

Spacer

LimitedString64

BaseDataVariableType

Mandatory

PerimeterProtection describes the protection of the wet glue for better handling of assembly units.

CornerProtection specifies the materials which will be used to protect the corners so that will not get damaged during transportation.

Spacer describes which separation materials are used to separate multiple units within the package.

The SealingMaterialType provides the information about the sealing materials used in glass technology assemblies and is formally defined Table 51.

Table 51 – SealingMaterialType Definition

Attribute

Value

BrowseName

SealingMaterialType

IsAbstract

false

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the BaseMaterialType defined in this Companion Specification, i.e. inheriting the InstanceDeclarations of that Node.

0:HasComponent

Object

Hardener

BaseMaterialType

Optional

0:HasComponent

Variable

MixingRatio

0:Double

AnalogUnitType

Mandatory

0:HasComponent

Object

Resin

BaseMaterialType

Optional

0:HasComponent

Variable

AddOnMaterial

LimitedString64

BaseDataVariableType

Optional

Hardener uniquely describes the second sealing material, which is part of the sealing mixture. The manufacturer and the material designation should be included.

MixingRatio describes the ratio of the sealing material mixture. Here the value 0 means that only the first material (Resin) is contained. If the parameter is 100 only Hardener is contained.

Resin uniquely describes the first sealing material, which is part of the sealing mixture. The manufacturer and the material designation should be included.

AddOnMaterial describes a material that is added to the sealing e.g. to increases the stiffness.

The component Variables of the SealingMaterialType have additional Attributes defined in Table 4852.

Table 52 – SealingMaterialType Attribute values for child Nodes

BrowsePath

Value Attribute

Description Attribute

MixingRatio

0:EngineeringUnits

NamespaceUri: http://www.opcfoundation.org/UA/units/un/cefact

UnitId: 20529

DisplayName: %

Description: percent

The AssemblyType provides the information about the assembled glass product and is formally defined Table 51.

Table 53 – AssemblyType Definition

Attribute

Value

BrowseName

AssemblyType

IsAbstract

false

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the BaseMaterialType defined in this Companion Specification, i.e. inheriting the InstanceDeclarations of that Node.