The ObjectType is formally defined in Table 12. Note that the transitions do not expose causes as the StateMachine is not used on an individual Object exposing its state, but just as meta data for values.

Table 12 – ISA95JobOrderReceiverObjectType definition

Attribute

Value

BrowseName

ISA95JobOrderReceiverObjectType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

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

0:HasComponent

Method

Store

See 6.2.1.3

O

0:HasComponent

Method

StoreAndStart

See 6.2.1.4

O

0:HasComponent

Method

Start

See 6.2.1.5

O

0:HasComponent

Method

Update

See 6.2.1.9

O

0:HasComponent

Method

Abort

See 6.2.1.10

O

0:HasComponent

Method

Stop

See 6.2.1.10

O

0:HasComponent

Method

Cancel

See 6.2.1.12

O

0:HasComponent

Method

Clear

See 6.2.1.13

O

0:HasComponent

Method

Pause

See 6.2.1.7

O

0:HasComponent

Method

Resume

See 6.2.1.8

O

0:HasComponent

Method

RevokeStart

See 6.2.1.6

O

0:HasProperty

Variable

MaxDownloadableJobOrders

0:UInt16

0:PropertyType

M,RO

0:HasComponent

Variable

JobOrderList

ISA95JobOrderAndStateDataType[]

0:BaseDataVariableType

M,RO

0:HasComponent

Variable

WorkMaster

ISA95WorkMasterDataType[]

0:BaseDataVariableType

M,RO

0:HasComponent

Variable

MaterialClassID

0:String[]

0:BaseDataVariableType

M,RO

0:HasComponent

Variable

MaterialDefinitionID

0:String[]

0:BaseDataVariableType

M,RO

0:HasComponent

Variable

EquipmentID

0:String[]

0:BaseDataVariableType

M,RO

0:HasComponent

Variable

PhysicalAssetID

0:String[]

0:BaseDataVariableType

M,RO

0:HasComponent

Variable

PersonnelID

0:String[]

0:BaseDataVariableType

M,RO

0:HasComponent

Object

NotAllowedToStart

0:StateType

0:HasComponent

Object

AllowedToStart

0:StateType

0:HasComponent

Object

Running

0:StateType

0:HasComponent

Object

Interrupted

0:StateType

0:HasComponent

Object

Ended

0:StateType

0:HasComponent

Object

Aborted

0:StateType

0:HasComponent

Object

FromNotAllowedToStartToNotAllowedToStart

0:TransitionType

0:HasComponent

Object

FromNotAllowedToStartToAllowedToStart

0:TransitionType

0:HasComponent

Object

FromAllowedToStartToNotAllowedToStart

0:TransitionType

0:HasComponent

Object

FromAllowedToStartToAllowedToStart

0:TransitionType

0:HasComponent

Object

FromAllowedToStartToRunning

0:TransitionType

0:HasComponent

Object

FromRunningToInterrupted

0:TransitionType

0:HasComponent

Object

FromRunningToEnded

0:TransitionType

0:HasComponent

Object

FromRunningToAborted

0:TransitionType

0:HasComponent

Object

FromInterruptedToAborted

0:TransitionType

0:HasComponent

Object

FromInterruptedToRunning

0:TransitionType

0:HasComponent

Object

FromInterruptedToEnded

0:TransitionType

0:HasComponent

Object

FromNotAllowedToStartToAborted

0:TransitionType

0:HasComponent

Object

FromAllowedToStartToAborted

0:TransitionType

Conformance Units

ISA-95 Job Order Receiver V2

The components of the ObjectType have additional references which are defined in Table 13.

Table 13 – ISA95JobOrderReceiverObjectType additional References

SourceBrowsePath

Reference Type

Is Forward

TargetBrowsePath

FromNotAllowedToStartToNotAllowedToStart

0:FromState

True

NotAllowedToStart

0:ToState

True

NotAllowedToStart

0:HasCause

True

Update

0:HasEffect

True

ISA95JobOrderStatusEventType

FromNotAllowedToStartToAllowedToStart

0:FromState

True

NotAllowedToStart

0:ToState

True

AllowedToStart

0:HasCause

True

Start

0:HasEffect

True

ISA95JobOrderStatusEventType

FromAllowedToStartToNotAllowedToStart

0:FromState

True

AllowedToStart

0:ToState

True

NotAllowedToStart

0:HasCause

True

RevokeStart

0:HasEffect

True

ISA95JobOrderStatusEventType

FromAllowedToStartToAllowedToStart

0:FromState

True

AllowedToStart

0:ToState

True

AllowedToStart

0:HasCause

True

Update

0:HasEffect

True

ISA95JobOrderStatusEventType

FromAllowedToStartToRunning

0:FromState

True

AllowedToStart

0:ToState

True

Running

0:HasEffect

True

ISA95JobOrderStatusEventType

FromRunningToInterrupted

0:FromState

True

Running

0:ToState

True

Interrupted

0:HasCause

True

Pause

0:HasEffect

True

ISA95JobOrderStatusEventType

FromRunningToEnded

0:FromState

True

Running

0:ToState

True

Ended

0:HasCause

True

Stop

0:HasEffect

True

ISA95JobOrderStatusEventType

FromRunningToAborted

0:FromState

True

Running

0:ToState

True

Aborted

0:HasCause

True

Abort

0:HasEffect

True

ISA95JobOrderStatusEventType

FromInterruptedToAborted

0:FromState

True

Interrupted

0:ToState

True

Aborted

0:HasCause

True

Abort

0:HasEffect

True

ISA95JobOrderStatusEventType

FromInterruptedToRunning

0:FromState

True

Interrupted

0:ToState

True

Running

0:HasCause

True

Resume

0:HasEffect

True

ISA95JobOrderStatusEventType

FromInterruptedToEnded

0:FromState

True

Interrupted

0:ToState

True

Ended

0:HasCause

True

Stop

0:HasEffect

True

ISA95JobOrderStatusEventType

FromNotAllowedToStartToAborted

0:FromState

True

NotAllowedToStart

0:ToState

True

Aborted

0:HasCause

True

Abort

0:HasEffect

True

ISA95JobOrderStatusEventType

FromAllowedToStartToAborted

0:FromState

True

AllowedToStart

0:ToState

True

Aborted

0:HasCause

True

Abort

0:HasEffect

True

ISA95JobOrderStatusEventType

The component Variables of the ISA95JobOrderReceiverObjectType have additional Attributes defined in Table 14.

Table 14 – ISA95JobOrderReceiverObjectType Attribute values for child Nodes

BrowsePath

Value Attribute

Description

NotAllowedToStart

The job order is stored but may not be executed.

NotAllowedToStart

0:StateNumber

1

AllowedToStart

The job order is stored and may be executed.

AllowedToStart

0:StateNumber

2

Running

The job order is executing.

Running

0:StateNumber

3

Interrupted

The job order has been temporarily stopped.

Interrupted

0:StateNumber

4

Ended

The job order has been completed and is no longer in execution.

Ended

0:StateNumber

5

Aborted

The job order is aborted.

Aborted

0:StateNumber

6

FromNotAllowedToStartToNotAllowedToStart

This transition is triggered when the Update Method is called and the job order is modified.

FromNotAllowedToStartToNotAllowedToStart

0:TransitionNumber

1

FromNotAllowedToStartToAllowedToStart

This transition is triggered when the Start Method is called.

FromNotAllowedToStartToAllowedToStart

0:TransitionNumber

2

FromAllowedToStartToNotAllowedToStart

This transition is triggered when the RevokeStart Method is called.

FromAllowedToStartToNotAllowedToStart

0:TransitionNumber

3

FromAllowedToStartToAllowedToStart

This transition is triggered when the Update Method is called and the job order is modified.

FromAllowedToStartToAllowedToStart

0:TransitionNumber

4

FromAllowedToStartToRunning

This transition is triggered when a job order is started to be executed.

FromAllowedToStartToRunning

0:TransitionNumber

5

FromRunningToInterrupted

This transition is triggered when an executing job order gets interrupted, either internally or by the Pause Method.

FromRunningToInterrupted

0:TransitionNumber

6

FromRunningToEnded

This transition is triggered when the execution of a job order has finished, either internally or by the Stop Method.

FromRunningToEnded

0:TransitionNumber

7

FromRunningToAborted

This transition is triggered when Abort Method is called.

FromRunningToAborted

0:TransitionNumber

8

FromInterruptedToAborted

This transition is triggered when Abort Method is called.

FromInterruptedToAborted

0:TransitionNumber

9

FromInterruptedToRunning

This transition is triggered when Resume Method is called.

FromInterruptedToRunning

0:TransitionNumber

10

FromInterruptedToEnded

This transition is triggered when Stop Method is called.

FromInterruptedToEnded

0:TransitionNumber

11

FromNotAllowedToStartToAborted

This transition is triggered when Abort Method is called.

FromNotAllowedToStartToAborted

0:TransitionNumber

12

FromAllowedToStartToAborted

This transition is triggered when Abort Method is called.

FromAllowedToStartToAborted

0:TransitionNumber

13

JobOrderList - Defines a read-only list of job order information available from the server. The information returned is defined by the server and may be a complete copy of a received job order or may be just the IDs and the state of the job orders. If there are no job orders available from the server, then this may be null.

MaxDownloadableJobOrders – Defines the maximum number of job orders that can be managed at the same time. As all managed job orders are accessible in the JobOrderList, it restricts the length of that array. Max of UInt16 indicates, that there is no limit.

WorkMaster - Defines a read-only set of work master IDs that may be specified in a job order, and the read-only set of parameters that may be specified for a specific work master. If there are no restrictions on what work master IDs can be sent with a job order, then this may be null.

Recipes associated with the job order are identified using the WorkMasterID. The ID in the ISA95WorkMasterDataType is an identification of the Work Master and can be internal identifications, NodeIds, web links, or a client and server agreed to format.

MaterialClassID - Defines a read-only set of Material Classes IDs that may be specified in a job order. If there are no restrictions on what Material Classes IDs can be sent with a job order, then this may be null.

MaterialDefinitionID - Defines a read-only set of Material Definition IDs that may be specified in a job order. If there are no restrictions on what Material Definition IDs can be sent with a job order, then this may be null.

EquipmentID - Defines a read-only set of Equipment Class IDs and Equipment IDs that may be specified in a job order. If there are no restrictions on what Equipment IDs can be sent with a job order, then this may be null.

PhysicalAssetID - Defines a read-only set of Physical Asset Class IDs and Physical Asset IDs that may be specified in a job order. If there are no restrictions on what Physical Asset IDs can be sent with a job order, then this may be null.

PersonnelID - Defines a read-only set of Personnel IDs and Person IDs that may be specified in a job order. If there are no restrictions on what Personnel IDs can be sent with a job order, then this may be null.

The ObjectType inherits from the 0:FiniteStateMachineType to provide the StateMachine all job orders managed by the instances of the ObjectType support. The mandatory CurrentState inherited shall always return a BAD StatusCode, as the Object only provides the meta data of the states of the job orders provided in the JobOrderList. The ObjectType may provide be subtyped to provide SubStateMachines for specific states and also the AvailableStates and AvailableTransitions Variables may be provided to restrict the usage of the StateMachine.