The OPC UA ISA-95 Information Model is a representation of the ISA-95 data model in OPC Methods, ObjectTypes, VariableTypes, DataTypes and ReferenceTypes.

This model generates standard types. All ISA-95 types will be defined in their own namespace and will begin with “ISA95”

The following conventions apply to ObjectType, VariableType and DataType naming:

  • All ObjectTypes include “ObjectType” as part of the name
  • All DataTypes that are structures include “DataType” as part of the name, this is to be able to differentiate them from any VariableTypes that will just end in Type.
  • All enumerations will end in “Enum”, to clearly identify that it is an enumeration.
  • All base DataTypes (int32, float, …) used in the OPC UA server will be those defined in OPC UA, see OPC 10000-6 for more detail on the representation of the datatypes.

The ISA95JobOrderReceiverObjectType contains methods to receive job order commands and optional definitions of allowable job order information as illustrated in Figure 4.

image007.png

Figure 4 – Job Order Receiver Object Type Methods and Data

In addition, it provides information about the StateMachine of the job orders managed by instances of the ObjectType. As the job orders are not represented as Objects in the AddressSpace, but just as structured values, this ObjectType only provides the meta data of the StateMachine. It may be subtyped to add additional substates.

In Figure 5, an overview of the states is given. Note that this ObjectType does not define the substates of NotAllowedToStart, AllowedToStart, Ended and Interrupted. This is done in the ISA95JobOrderStateMachineType, defined in 6.2.2. The dotted states and transitions are not represented in the StateMachine at all. They express how job orders are added and removed from the system (InitialState and EndState and their transitions) and a logical state (Prepared) which is always exposed by its subtypes NotAllowedToStart and AllowedToStart.

image008.png

Figure 5 – States of a Job Order

A job order is added to the system by calling the Store or StoreAndStart Method defined on the ISA95JobOrderReceiverObjectType or by some internal mechanisms. Afterwards, the job order is in the state NotAllowedToStart or AllowedToStart. In both states, the job order is not executed. Using the Update Method, the job order may still be changed. Calling the Start Method switches the state from NotAllowedToStart to AllowedToStart, and calling RevokeStart vice versa.

When a job order is in the state AllowedToStart, the system may automatically start the job order depending on available recourses and priorities in case several job orders are in the same state. If the AllowedToStart state provides substates, they may indicate if a job order can be started (e.g. Waiting indicates that it cannot be started).

When the job order starts to be executed, it switches its state to Running.

Clients may interrupt a running job order by calling the Pause Method. The system may also automatically interrupt the job order. In both cases, the state switches to Interrupted. Substates may indicate if the interruption was triggered from external (Suspended) or automatic (Held).

Clients may resume the execution of an interrupted job by calling the Resume Method, or the system may automatically continue. In both cases, the state switches back to Running.

A job order may be aborted by calling the Abort Method. This can be done while the job order is running, interrupted or not even started (AllowedToStart and NotAllowedToStart). In all cases, the state switches to Aborted.

When the job order was executed, it automatically switches in the state Ended. Substates of Ended may expose whether some postprocessing needs to be done before receiving the final results of the execution.

Some job orders may not be defined to finish its execution automatically. In addition, some job orders may get stopped before the planned amount of the job order is produced. In both cases, the Stop Method is called to end the execution of the job order. This can either be done while in Running or in Interrupted. In both cases, it switches into Ended.

When the job order is either Aborted or Ended, the job order may be deleted from the system by calling the Clear Method. This is typically done by a specific Client after the Client has received the final results of the job order execution.

A job order that has not been started (AllowedToStart or NotAllowedToStart) may be removed from the system before execution by calling the Cancel Method.

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.

This Method receives a new job order and stores the new job order in local storage, but does not start the job order. After successful execution of the method, the JobOrderList shall have a new entry in state NotAllowedToStart.

The signature of this Method is specified below. Table 15 and Table 16 specify the Arguments and AddressSpace representation, respectively.

Signature

Store (

[in]ISA95JobOrderDataType JobOrder

[in]LocalizedText[] Comment

[out]0:UInt64 ReturnStatus

);

Table 15 – Store Method Arguments

Argument

Description

JobOrder

Contains information defining the job order with all parameters and any material, equipment, or physical asset requirements associated with the job order.

Comment

The comment provides a description of why the method was called. In order to provide the comment in several languages, it is an array of LocalizedText. The array may be empty, when no comment is provided.

ReturnStatus

Returns the status of the method execution.

B.2 defines common values for ReturnStatus.

Note: This specification does not define how a client can access the last comment. It may be displayed in a local HMI or provided in the parameters of the job response.

Method result codes are defined as part of the Call service (see OPC 10000-4, or Annex B Table 94, and Table 95).

Table 16 – Store Method AddressSpace Definition

Attribute

Value

BrowseName

Store

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

Mandatory

0:HasProperty

Variable

0:OutputArguments

0:Argument[]

0:PropertyType

Mandatory

This Method receives a new job order and stores the new job order in local storage, and start it as soon as the Job Order receiver is ready to start. After successful execution of the method, the JobOrderList shall have a new entry in state AllowedToStart. Note: the system may internally start executing the job order immediately, so potentially the job order is already in a different state when accessed the first time.

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

Signature

StoreAndStart (

[in]ISA95JobOrderDataType JobOrder

[in]LocalizedText[] Comment

[out]0:UInt64 ReturnStatus

);

Table 17 – StoreAndStart Method Arguments

Argument

Description

JobOrder

Contains information defining the job order with all parameters and any material, equipment, or physical asset requirements associated with the job order.

Comment

The comment provides a description of why the method was called. In order to provide the comment in several languages, it is an array of LocalizedText. The array may be empty, when no comment is provided.

ReturnStatus

Returns the status of the method execution.

B.2 defines common values for ReturnStatus.

Note: This specification does not define how a client can access the last comment. It may be displayed in a local HMI or provided in the parameters of the job response.

Method Result Codes are defined as part of the Call service (see OPC 10000-4, or Annex B Table 94, and Table 95).

Table 18 – StoreAndStart Method AddressSpace Definition

Attribute

Value

BrowseName

StoreAndStart

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

Mandatory

0:HasProperty

Variable

0:OutputArguments

0:Argument[]

0:PropertyType

Mandatory

This Method starts a job order as soon as the Job Order receiver is ready to start. After successful execution of the method, job order in the JobOrderList shall be in state AllowedToStart.

If multiple job orders have been commanded to start, then the priority and timing values in the job orders shall be used to determine the order of execution of the job orders.

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

Signature

Start (

[in]0:String JobOrderID

[in]LocalizedText[] Comment

[out]0:UInt64 ReturnStatus

);

Table 19 – Start Method Arguments

Argument

Description

JobOrderID

Identification of the Job Order to be started.

Comment

The comment provides a description of why the method was called. In order to provide the comment in several languages, it is an array of LocalizedText. The array may be empty, when no comment is provided.

ReturnStatus

Returns the status of the method execution.

B.2 defines common values for ReturnStatus.

Note: This specification does not define how a client can access the last comment. It may be displayed in a local HMI or provided in the parameters of the job response.

Method Result Codes are defined as part of the Call service (see OPC 10000-4, or Annex B Table 94, and Table 95).

Table 20 – Start Method AddressSpace Definition

Attribute

Value

BrowseName

Start

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

Mandatory

0:HasProperty

Variable

0:OutputArguments

0:Argument[]

0:PropertyType

Mandatory

This Method revokes a not started job (in AllowedToStart). After successful execution of the method, job order in the JobOrderList shall be in state NotAllowedToStart.

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

Signature

RevokeStart (

[in]0:String JobOrderID

[in]LocalizedText[] Comment

[out]0:UInt64 ReturnStatus

);

Table 21 – RevokeStart Method Arguments

Argument

Description

JobOrderID

Identification of the Job Order where the start is revoked.

Comment

The comment provides a description of why the method was called. In order to provide the comment in several languages, it is an array of LocalizedText. The array may be empty, when no comment is provided.

ReturnStatus

Returns the status of the method execution.

B.2 defines common values for ReturnStatus.

Note: This specification does not define how a client can access the last comment. It may be displayed in a local HMI or provided in the parameters of the job response.

Method Result Codes are defined as part of the Call service (see OPC 10000-4 or Annex B Table 94, and Table 95).

Table 22 – RevokeStart Method AddressSpace Definition

Attribute

Value

BrowseName

RevokeStart

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

Mandatory

0:HasProperty

Variable

0:OutputArguments

0:Argument[]

0:PropertyType

Mandatory

This Method pauses a started job. After successful execution of the method, job order in the JobOrderList shall be in state Interrupted.

The signature of this Method is specified below. Table 23 and Table 24 specify the Arguments and AddressSpace representation, respectively.

Signature

Pause (

[in]0:String JobOrderID

[in]LocalizedText[] Comment

[out]0:UInt64 ReturnStatus

);

Table 23 – Pause Method Arguments

Argument

Description

JobOrderID

Identification of the Job Order to be paused.

Comment

The comment provides a description of why the method was called. In order to provide the comment in several languages, it is an array of LocalizedText. The array may be empty, when no comment is provided.

ReturnStatus

Returns the status of the method execution.

B.2 defines common values for ReturnStatus.

Note: This specification does not define how a client can access the last comment. It may be displayed in a local HMI or provided in the parameters of the job response.

Method Result Codes are defined as part of the Call service (see OPC 10000-4, or Annex B Table 94, and Table 95).

Table 24 – Pause Method AddressSpace Definition

Attribute

Value

BrowseName

Pause

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

Mandatory

0:HasProperty

Variable

0:OutputArguments

0:Argument[]

0:PropertyType

Mandatory

This Method resumes an interrupted job (in state Interrupted). After successful execution of the method, job order in the JobOrderList shall be in state Running.

The signature of this Method is specified below. Table 25 and Table 26 specify the Arguments and AddressSpace representation, respectively.

Signature

Resume (

[in]0:String JobOrderID

[in]LocalizedText[] Comment

[out]0:UInt64 ReturnStatus

);

Table 25 – Resume Method Arguments

Argument

Description

JobOrderID

Identification of the Job Order to be resumed.

Comment

The comment provides a description of why the method was called. In order to provide the comment in several languages, it is an array of LocalizedText. The array may be empty, when no comment is provided.

ReturnStatus

Returns the status of the method execution.

B.2 defines common values for ReturnStatus.

Note: This specification does not define how a client can access the last comment. It may be displayed in a local HMI or provided in the parameters of the job response.

Method Result Codes are defined as part of the Call service (see OPC 10000-4, or Annex B Table 94, and Table 95).

Table 26 – Resume Method AddressSpace Definition

Attribute

Value

BrowseName

Resume

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

Mandatory

0:HasProperty

Variable

0:OutputArguments

0:Argument[]

0:PropertyType

Mandatory

This Method updates an existing job order that has not yet been started, with the new order information. All previously stored information is replaced.

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

Signature

Update (

[in]ISA95JobOrderDataType JobOrder

[in]LocalizedText[] Comment

[out]0:UInt64 ReturnStatus

);

Table 27 – Update Method Arguments

Argument

Description

JobOrder

Contains information defining the job order with all parameters and any material, equipment, or physical asset requirements associated with the job order.

Comment

The comment provides a description of why the method was called. In order to provide the comment in several languages, it is an array of LocalizedText. The array may be empty, when no comment is provided.

ReturnStatus

Returns the status of the method execution.

B.2 defines common values for ReturnStatus.

Note: This specification does not define how a client can access the last comment. It may be displayed in a local HMI or provided in the parameters of the job response.

Method Result Codes are defined as part of the Call service (see OPC 10000-4, or Annex B Table 94, and Table 95).

Table 28 – Update Method AddressSpace Definition

Attribute

Value

BrowseName

Update

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

Mandatory

0:HasProperty

Variable

0:OutputArguments

0:Argument[]

0:PropertyType

Mandatory

This Method aborts a job order. After successful execution of the method, job order in the JobOrderList shall be in state Aborted.

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

Signature

Abort (

[in]0:String JobOrderID

[in]LocalizedText[] Comment

[out]0:UInt64 ReturnStatus

);

Table 29 – Abort Method Arguments

Argument

Description

JobOrderID

Identification of the Job Order to be aborted.

Comment

The comment provides a description of why the method was called. In order to provide the comment in several languages, it is an array of LocalizedText. The array may be empty, when no comment is provided.

ReturnStatus

Returns the status of the method execution.

B.2 defines common values for ReturnStatus.

Note: This specification does not define how a client can access the last comment. It may be displayed in a local HMI or provided in the parameters of the job response.

Method Result Codes are defined as part of the Call service (see OPC 10000-4, or Annex B Table 94 and Table 95).

Table 30 – Abort Method AddressSpace Definition

Attribute

Value

BrowseName

Abort

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

Mandatory

0:HasProperty

Variable

0:OutputArguments

0:Argument[]

0:PropertyType

Mandatory

This Method stops a started job order. After successful execution of the method, job order in the JobOrderList shall be in state Ended.

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

Signature

Stop (

[in]0:String JobOrderID

[in]LocalizedText[] Comment

[out]0:UInt64 ReturnStatus

);

Table 31 – Stop Method Arguments

Argument

Description

JobOrderID

Identification of the Job Order to be stopped.

Comment

The comment provides a description of why the method was called. In order to provide the comment in several languages, it is an array of LocalizedText. The array may be empty, when no comment is provided.

ReturnStatus

Returns the status of the method execution.

B.2 defines common values for ReturnStatus.

Note: This specification does not define how a client can access the last comment. It may be displayed in a local HMI or provided in the parameters of the job response.

Method Result Codes are defined as part of the Call service (see OPC 10000-4, or Annex B Table 94, and Table 95).

Table 32 – Stop Method AddressSpace Definition

Attribute

Value

BrowseName

Stop

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

Mandatory

0:HasProperty

Variable

0:OutputArguments

0:Argument[]

0:PropertyType

Mandatory

This Method cancels a not started job order (in AllowedToStart or NotAllowedToStart) and removes the stored information. After successful execution of the method, there shall be no job order with the JobOrderID in the JobOrderList.

The signature of this Method is specified below. Table 33 and Table 34 specify the Arguments and AddressSpace representation, respectively.

Signature

Cancel (

[in]0:String JobOrderID

[in]LocalizedText[] Comment

[out]0:UInt64 ReturnStatus

);

Table 33 – Cancel Method Arguments

Argument

Description

JobOrderID

Identification of the Job Order to be canceled.

Comment

The comment provides a description of why the method was called. In order to provide the comment in several languages, it is an array of LocalizedText. The array may be empty, when no comment is provided.

ReturnStatus

Returns the status of the method execution.

B.2 defines common values for ReturnStatus.

Note: This specification does not define how a client can access the last comment. It may be displayed in a local HMI or provided in the parameters of the job response.

Method Result Codes are defined as part of the Call service (see OPC 10000-4, or Annex B Table 94, and Table 95).

Table 34 – Cancel Method AddressSpace Definition

Attribute

Value

BrowseName

Cancel

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

Mandatory

0:HasProperty

Variable

0:OutputArguments

0:Argument[]

0:PropertyType

Mandatory

This Method clears any maintained information on the Job Order (usually sent after a receipt of a Job Response with a status of Finished.). After successful execution of the method, there shall be no job order with the JobOrderID in the JobOrderList.

Note: It is server-specific whether Job Orders get cleared by the Server automatically when it runs out of resources or after a period of time or other reasons.

The signature of this Method is specified below. Table 35 and Table 36 specify the Arguments and AddressSpace representation, respectively.

Signature

Clear (

[in]0:String JobOrderID

[in]LocalizedText[] Comment

[out]0:UInt64 ReturnStatus

);

Table 35 – Clear Method Arguments

Argument

Description

JobOrderID

Identification of the Job Order to be cleared.

Comment

The comment provides a description of why the method was called. In order to provide the comment in several languages, it is an array of LocalizedText. The array may be empty, when no comment is provided.

ReturnStatus

Returns the status of the method execution.

B.2 defines common values for ReturnStatus.

Method Result Codes are defined as part of the Call service (see OPC 10000-4, or Annex B Table 94, and Table 95).

Table 36 – Clear Method AddressSpace Definition

Attribute

Value

BrowseName

Clear

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

Mandatory

0:HasProperty

Variable

0:OutputArguments

0:Argument[]

0:PropertyType

Mandatory

This ObjectType describes the overall state of a job order including common SubStateMachines. As the job orders are not represented as Objects in the AddressSpace, but just as structured values, this StateMachine only provides the meta data of the state machine. It may be subtyped to add additional substates.

The ObjectType formally defined in Table 37.

Table 37 – ISA95JobOrderReceiverSubStatesType definition

Attribute

Value

BrowseName

ISA95JobOrderReceiverSubStatesType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the ISA95JobOrderReceiverObjectType

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

0:HasComponent

Object

NotAllowedToStartSubstates

ISA95PrepareStateMachineType

O

0:HasComponent

Object

AllowedToStartSubstates

ISA95PrepareStateMachineType

O

0:HasComponent

Object

EndedSubstates

ISA95EndedStateMachineType

O

0:HasComponent

Object

InterruptedSubstates

ISA95InterruptedStateMachineType

O

Conformance Units

ISA-95 Job Control Job Order Receiver SubStates

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

Table 38 – ISA95JobOrderReceiverSubStatesType additional References

SourceBrowsePath

Reference Type

Is Forward

TargetBrowsePath

FromNotAllowedToStartToNotAllowedToStart

0:FromState

True

NotAllowedToStart

0:ToState

True

NotAllowedToStart

0:HasCause

True

ISA95JobOrderReceiverObjectType

Update

0:HasEffect

True

ISA95JobOrderStatusEventType

FromNotAllowedToStartToAllowedToStart

0:FromState

True

NotAllowedToStart

0:ToState

True

AllowedToStart

0:HasCause

True

ISA95JobOrderReceiverObjectType

Start

0:HasEffect

True

ISA95JobOrderStatusEventType

FromAllowedToStartToNotAllowedToStart

0:FromState

True

AllowedToStart

0:ToState

True

NotAllowedToStart

0:HasCause

True

ISA95JobOrderReceiverObjectType

RevokeStart

0:HasEffect

True

ISA95JobOrderStatusEventType

FromAllowedToStartToAllowedToStart

0:FromState

True

AllowedToStart

0:ToState

True

AllowedToStart

0:HasCause

True

ISA95JobOrderReceiverObjectType

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

ISA95JobOrderReceiverObjectType

Pause

0:HasEffect

True

ISA95JobOrderStatusEventType

FromRunningToEnded

0:FromState

True

Running

0:ToState

True

Ended

0:HasCause

True

ISA95JobOrderReceiverObjectType

Stop

0:HasEffect

True

ISA95JobOrderStatusEventType

FromRunningToAborted

0:FromState

True

Running

0:ToState

True

Aborted

0:HasCause

True

ISA95JobOrderReceiverObjectType

Abort

0:HasEffect

True

ISA95JobOrderStatusEventType

FromInterruptedToAborted

0:FromState

True

Interrupted

0:ToState

True

Aborted

0:HasCause

True

ISA95JobOrderReceiverObjectType

Abort

0:HasEffect

True

ISA95JobOrderStatusEventType

FromInterruptedToRunning

0:FromState

True

Interrupted

0:ToState

True

Running

0:HasCause

True

ISA95JobOrderReceiverObjectType

Resume

0:HasEffect

True

ISA95JobOrderStatusEventType

FromInterruptedToEnded

0:FromState

True

Interrupted

0:ToState

True

Ended

0:HasCause

True

ISA95JobOrderReceiverObjectType

Stop

0:HasEffect

True

ISA95JobOrderStatusEventType

FromNotAllowedToStartToAborted

0:FromState

True

NotAllowedToStart

0:ToState

True

Aborted

0:HasCause

True

ISA95JobOrderReceiverObjectType

Abort

0:HasEffect

True

ISA95JobOrderStatusEventType

FromAllowedToStartToAborted

0:FromState

True

AllowedToStart

0:ToState

True

Aborted

0:HasCause

True

ISA95JobOrderReceiverObjectType

Abort

0:HasEffect

True

ISA95JobOrderStatusEventType

NotAllowedToStart

0:HasSubStateMachine

True

NotAllowedToStartSubstates

AllowedToStart

0:HasSubStateMachine

True

AllowedToStartSubstates

Ended

0:HasSubStateMachine

True

EndedSubstates

Interrupted

0:HasSubStateMachine

True

InterruptedSubstates

The component Variables of the ISA95JobOrderReceiverSubStatesType have additional Attributes defined in Table 39.

Table 39 – ISA95JobOrderReceiverSubStatesType 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

NotAllowedToStartSubstates

Substates of NotAllowedToStart

AllowedToStartSubstates

Substates of AllowedToStart

EndedSubstates

Substates of Ended

InterruptedSubstates

Substates of Interrupted

This ObjectType describes a SubStateMachine that a job order may use while already stored in the system but not being executed. The ObjectType formally defined in Table 40.

Table 40 – ISA95PrepareStateMachineType definition

Attribute

Value

BrowseName

ISA95PrepareStateMachineType

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

Object

Waiting

0:StateType

0:HasComponent

Object

Ready

0:StateType

0:HasComponent

Object

Loaded

0:StateType

0:HasComponent

Object

FromWaitingToReady

0:TransitionType

0:HasComponent

Object

FromReadyToLoaded

0:TransitionType

0:HasComponent

Object

FromReadyToWaiting

0:TransitionType

0:HasComponent

Object

FromLoadedToReady

0:TransitionType

0:HasComponent

Object

FromLoadedToWaiting

0:TransitionType

Conformance Units

ISA-95 Job Control Job Order Receiver SubStates

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

Table 41 – ISA95PrepareStateMachineType additional References

SourceBrowsePath

Reference Type

Is Forward

TargetBrowsePath

FromWaitingToReady

0:FromState

True

Waiting

0:ToState

True

Ready

FromReadyToLoaded

0:FromState

True

Ready

0:ToState

True

Loaded

FromReadyToWaiting

0:FromState

True

Ready

0:ToState

True

Waiting

FromLoadedToReady

0:FromState

True

Loaded

0:ToState

True

Ready

FromLoadedToWaiting

0:FromState

True

Loaded

0:ToState

True

Waiting

The component Variables of the ISA95PrepareStateMachineType have additional Attributes defined in Table 42.

Table 42 – ISA95PrepareStateMachineType Attribute values for child Nodes

BrowsePath

Value Attribute

Description

Waiting

The necessary pre-conditions have not been met and the job order is not ready to run.

Waiting

0:StateNumber

1

Ready

The necessary pre-conditions have been met and the job order is ready to run, awaiting a Start command.

Ready

0:StateNumber

2

Loaded

In situations where only one job may be in active memory and is able to be run, then the job is loaded in active memory, the necessary pre-conditions have been met, and the job order is ready to run, awaiting a Start command.

Loaded

0:StateNumber

3

FromWaitingToReady

This transition is triggered when the system is ready to start the execution of the job order.

FromWaitingToReady

0:TransitionNumber

1

FromReadyToLoaded

This transition is triggered when the program or configuration to execute the job order is loaded.

FromReadyToLoaded

0:TransitionNumber

2

FromReadyToWaiting

This transition is triggered when the system is not ready to start the execution of the job order anymore.

FromReadyToWaiting

0:TransitionNumber

3

FromLoadedToReady

This transition is triggered when the program or configuration to execute the job order is unloaded.

FromLoadedToReady

0:TransitionNumber

4

FromLoadedToWaiting

This transition is triggered when the system is not ready to start the execution of the job order anymore.

FromLoadedToWaiting

0:TransitionNumber

5

This ObjectType describes a SubStateMachine that a job order may use after being executed. The ObjectType formally defined in Table 43.

Table 43 – ISA95EndedStateMachineType definition

Attribute

Value

BrowseName

ISA95EndedStateMachineType

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

Object

Completed

0:StateType

0:HasComponent

Object

Closed

0:StateType

0:HasComponent

Object

FromCompletedToClosed

0:TransitionType

Conformance Units

ISA-95 Job Control Job Order Receiver SubStates

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

Table 44 – ISA95EndedStateMachineType additional References

SourceBrowsePath

Reference Type

Is Forward

TargetBrowsePath

FromCompletedToClosed

0:FromState

True

Completed

0:ToState

True

Closed

The component Variables of the ISA95EndedStateMachineType have additional Attributes defined in Table 45.

Table 45 – ISA95EndedStateMachineType Attribute values for child Nodes

BrowsePath

Value Attribute

Description

Completed

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

Completed

0:StateNumber

1

Closed

The job order has been completed and no further post processing is performed.

Closed

0:StateNumber

2

FromCompletedToClosed

This transition is triggered when the system has finalized post processing of a ended job order.

FromCompletedToClosed

0:TransitionNumber

1

This ObjectType describes a SubStateMachine a job order may use when being interrupted. The ObjectType formally defined in Table 46.

Table 46 – ISA95InterruptedStateMachineType definition

Attribute

Value

BrowseName

ISA95InterruptedStateMachineType

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

Object

Held

0:StateType

0:HasComponent

Object

Suspended

0:StateType

0:HasComponent

Object

FromHeldToSuspended

0:TransitionType

0:HasComponent

Object

FromSuspendedToHeld

0:TransitionType

Conformance Units

ISA-95 Job Control Job Order Receiver SubStates

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

Table 47 – ISA95InterruptedStateMachineType additional References

SourceBrowsePath

Reference Type

Is Forward

TargetBrowsePath

FromHeldToSuspended

0:FromState

True

Held

0:ToState

True

Suspended

FromSuspendedToHeld

0:FromState

True

Suspended

0:ToState

True

Held

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

Table 48 – ISA95InterruptedStateMachineType Attribute values for child Nodes

BrowsePath

Value Attribute

Description

Held

The job order has been temporarily stopped due to a constraint of some form.

Held

0:StateNumber

1

Suspended

The job order has been temporarily stopped due to a deliberate decision within the execution system.

Suspended

0:StateNumber

2

FromHeldToSuspended

This transition is triggered when the system has switched the job order from internally held to externally suspended, for example by a call of the Pause Method.

FromHeldToSuspended

0:TransitionNumber

1

FromSuspendedToHeld

This transition is triggered when the system has switched the job order from externally suspended to an internal held, for example by a call of the Resume Method.

FromSuspendedToHeld

0:TransitionNumber

2

The ObjectType defines Events that can be send out every time the state of a job order is changing.

Table 49 contains the AddressSpace definition of an ISA95JobOrderReceiverObjectType.

Table 49 – ISA95JobOrderStatusEventType AddressSpace Definition

Attribute

Value

BrowseName

ISA95JobOrderStatusEventType

IsAbstract

True

References

NodeClass

BrowseName

Data Type

TypeDefinition

Other

Subtype of the 0:BaseEventType defined in OPC 10000-5

0:HasProperty

Variable

JobOrder

ISA95JobOrderDataType

0:PropertyType

M

0:HasProperty

Variable

JobState

ISA95StateDataType[]

0:PropertyType

M

0:HasProperty

Variable

JobResponse

ISA95JobResponseDataType

0:PropertyType

M

Conformance Units

ISA-95 Job Control Job Response Provider Job Order Status Events

The JobOrder contains the planned job order received by the system.

The JobState contains the current state of the job order. Clients may filter for Events of specific states, for example only receiving Events of ended job orders. The array shall provide at least one entry representing the top level state and potentially additional entries representing substates. The first entry shall be the top level entry, having the BrowsePath set to null. The order of the substates is not defined.

The JobResponse contains the current job response of the job order. The State in the JobResponse shall be identical to the JobState.

The ISA95JobResponseProviderObjectType contains a method to receive unsolicited job response requests as illustrated in Figure 6.

image009.png

Figure 6 – ISA95JobResponseProvider Methods

Table 50 is the AddressSpace definition of an ISA95JobResponseProviderObjectType.

Table 50 – ISA95JobResponseProviderObjectType AddressSpace Definition

Attribute

Value

BrowseName

ISA95JobResponseProviderObjectType

IsAbstract

False

References

Node Class

BrowseName

Data Type

TypeDefinition

Other

Subtype of the BaseObjectType defined in OPC 10000-5

0:HasComponent

Method

RequestJobResponseByJobOrderID

See 6.2.7.2

M

0:HasComponent

Method

RequestJobResponseByJobOrderState

See 6.2.7.3

M

0:HasComponent

Variable

JobOrderResponseList

ISA95JobResponse

DataType[]

BaseData

VariableType

O

0:GeneratesEvent

ObjectType

ISA95JobOrderStatusEventType

Conformance Units

ISA-95 Job Response Provider V2

RequestJobResponseByJobOrderID – Defines the ISA95JobResponseRequest Method which receives requests for Job Responses by JobOrderID.

RequestJobResponseByJobOrderState – Defines the ISA95JobResponseRequest Method which receives requests for Job Responses by JobOrderState.

The ISA95JobOrderReceiverObjectType with the StoreAndStart Method may be paired with an ISA95JobResponseProviderObjectType and the RequestJobResponseByJobOrderID Method, to send a Job Order and query for a JobResponse. This transaction is illustrated in Figure 7.

Objects may generate Events of ISA95JobOrderStatusEventType for every change of the state of a job order managed by the Object. In that case, the JobResponse of the Event shall be identical to the entry in the JobOrderResponseList of the job order and the JobOrder to the counterpart job order receiver Objects JobOrderList.

image010.png

Figure 7 – StoreAndStart and RequestJobResponseByJobOrderID Transaction Example

The JobOrderResponseList, if provided, shall contain one entry for each job order of the corresponding job order receiver Object provided in the JobOrderList which is not in the states AllowedToStart or NotAllowedToStart. That means, for all job orders that have at least started the execution and are still managed by the job order receiver Object, there shall be an entry. The states of the job orders in both lists (JobOrderList and JobOrderResponseList) shall match for each job order.

When a Job Order gets removed from the JobOrderList, it shall also get removed from the JobOrderResponseList.

This Method is used to return Job Responses for unsolicited requests for responses from a job order.

The signature of this Method is specified below. Table 51 and Table 52 specify the Arguments and AddressSpace representation, respectively.

Signature

RequestJobResponseByJobOrderID (

[in]0:String JobOrderID

[out]ISA95JobResponseDataTypeJobResponse

[out]0:UInt64 ReturnStatus

);

Table 51 – RequestJobResponseByJobOrderID Method Arguments

Argument

Description

JobOrderID

Contains an ID of the job order, as specified by the method caller.

JobResponse

Contains information about the execution of a job order, such as the current status of the job, actual material consumed, actual material produced, actual equipment used, and job specific data.

ReturnStatus

Returns the status of the method execution.

B.2 defines common values for ReturnStatus.

Method Result Codes are defined as part of the Call service (see OPC 10000-4, or Annex B Table 94, and Table 95).

Table 52 – RequestJobResponseByJobOrderID Method AddressSpace Definition

Attribute

Value

BrowseName

RequestJobResponseByJobOrderID

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

Mandatory

0:HasProperty

Variable

0:OutputArguments

0:Argument[]

0:PropertyType

Mandatory

This Method is used to return Job Responses for unsolicited requests for responses from a job order.

The signature of this Method is specified below. Table 53 and Table 54 specify the Arguments and AddressSpace representation, respectively.

Signature

RequestJobResponseByJobOrderState (

[in] ISA95StateDataType[] JobOrderState

[out]ISA95JobResponseDataType[]JobResponses

[out]0:UInt64 ReturnStatus

);

Table 53 – RequestJobResponseByJobOrderState Method Arguments

Argument

Description

JobOrderState

Contains a job status of the JobResponse to be returned. The array shall provide at least one entry representing the top level state and potentially additional entries representing substates. The first entry shall be the top level entry, having the BrowsePath set to null. The order of the substates is not defined.

JobResponses

Contains a list of information about the execution of a job order, such as the current status of the job, actual material consumed, actual material produced, actual equipment used, and job specific data.

ReturnStatus

Returns the status of the method execution.

B.2 defines common values for ReturnStatus.

Method Result Codes are defined as part of the Call service (see OPC 10000-4, or Annex B Table 94, and Table 95).

Table 54 – RequestJobResponseByJobOrderState Method AddressSpace Definition

Attribute

Value

BrowseName

RequestJobResponseByJobOrderState

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

Mandatory

0:HasProperty

Variable

0:OutputArguments

0:Argument[]

0:PropertyType

Mandatory

A Job Response Receiver receives unsolicited Job Responses, usually as the result of completion of a job, or at intermediate points within the job as illustrated in Figure 8.

image011.png

Figure 8 – ISA95JobResponseReceiverObjectType

Table 55 is the AddressSpace definition of an ISA95JobResponseReceiverObjectType.

Table 55 – ISA95JobResponseReceiverObjectType AddressSpace Definition

Attribute

Value

BrowseName

ISA95JobResponseReceiverObjectType

IsAbstract

False

References

NodeClass

BrowseName

Data Type

TypeDefinition

Other

Subtype of the BaseObjectType defined in OPC 10000-5

0:HasComponent

Method

ReceiveJobResponse

See 6.2.8.2

M

Conformance Units

ISA-95 Job Response Receiver V2

ReceiveJobResponse – Defines the ReceiveJobResponse Method which receives unsolicited Job Responses.

The ISA95JobOrderReceiverObjectType with the ReceiveJobOrder method may often be paired with an ISA95JobResponseReceiverObjectType and the ReceiveJobResponse method, to send a Job Order and receive a JobResponse. This transaction is illustrated in Figure 9.

image012.png

Figure 9 – ReceiveJobOrder and ReceiveJobResponse Transaction Example

The ReceiveJobResponse method is used to receive unsolicited Job Responses.

The signature of this Method is specified below. Table 56 and Table 57 specify the Arguments and AddressSpace representation, respectively.

Signature

ReceiveJobResponse(

[in]ISA95JobResponseDataType JobResponse

[out]0:UInt64 ReturnStatus

);

Table 56 – ReceiveJobResponse Method Arguments

Argument

Description

JobResponse

Contains information about the execution of a job order, such as actual material consumed, actual material produced, actual equipment used, and job specific data.

ReturnStatus

Returns the status of the method execution.

B.2 defines common values for ReturnStatus.

Method Result Codes are defined as part of the Call service (see OPC 10000-4, or Annex B Table 94, and Table 95).

Table 57 – ReceiveJobResponse Method AddressSpace Definition

Attribute

Value

BrowseName

ReceiveJobResponse

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

Mandatory

0:HasProperty

Variable

0:OutputArguments

0:Argument[]

0:PropertyType

Mandatory

The ISA95EquipmentDataType is a subtype of OPC UA Structure that defines an equipment class or a specific piece of equipment, a quantity and unit of measure, an optional description, and an optional collection of properties.

The structure is defined in Table 58.

Table 58 – ISA95EquipmentDataType Structure

Name

Type

Description

Optional

ISA95EquipmentDataType

Structure

ID

0:String

An identification of an EquipmentClass or Equipment.

False

Description

0: LocalizedText[]

Additional information and description about the equipment.

True

EquipmentUse

0:String

Information about the expected use of the equipment

True

Quantity

0:DecimalString

The quantity of the equipment.

True

EngineeringUnits

0:EUInformation

The Unit of Measure of the quantity.

True

Properties

ISA95PropertyDataType []

Any associated properties, or empty if there are no properties defined.

True

Table 59 is the AddressSpace definition of an ISA95EquipmentDataType.

Table 59 – ISA95EquipmentDataType AddressSpace Definition

Attribute

Value

BrowseName

ISA95EquipmentDataType

IsAbstract

False

Reference

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the Structure defined in OPC 10000-5

Conformance Units

ISA-95 Job Order Receiver V2

ISA-95 Job Response Provider V2

ISA-95 Job Response Receiver V2

The ISA95JobOrderDataType is a subtype of OPC UA Structure that defines the information needed to schedule and execute a job.

The structure is defined in Table 60.

Table 60 – ISA95StateDataType Structure

Name

Type

Description

ISA95StateDataType

Structure

BrowsePath

0:RelativePath

The browse path of substates. Shall be null when the top-level state is represented.

StateText

0:LocalizedText

The state represented as human readable text. Shall represent the same text as the CurrentState Variable of a StateMachine would.

StateNumber

0:UInt32

The state represented as number. Shall represent the same number as the Number subvariable of the CurrentState Variable of a StateMachine would.

Table 61 is the AddressSpace definition of an ISA95StateDataType.

Table 61 – ISA95StateDataType AddressSpace Definition

Attribute

Value

BrowseName

ISA95StateDataType

IsAbstract

False

Reference

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the Structure defined in OPC 10000-5

Conformance Units

ISA-95 Job Order Receiver V2

ISA-95 Job Response Provider V2

ISA-95 Job Response Receiver V2

The ISA95JobOrderAndStateDataType is a subtype of OPC UA Structure that defines the information needed to schedule and execute a job, including its state.

The structure is defined in Table 62.

Table 62 – ISA95JobOrderAndStateDataType Structure

Name

Type

Description

ISA95JobOrderAndStateDataType

Structure

JobOrder

ISA95JobOrderDataType

The job order

State

ISA95StateDataType[]

The State of the job order. The array shall provide at least one entry representing the top level state and potentially additional entries representing substates. The first entry shall be the top level entry, having the BrowsePath set to null. The order of the substates is not defined.

Table 63 is the AddressSpace definition of an ISA95JobOrderAndStateDataType.

Table 63 – ISA95JobOrderAndStateDataType AddressSpace Definition

Attribute

Value

BrowseName

ISA95JobOrderAndStateDataType

IsAbstract

False

Reference

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the Structure defined in OPC 10000-5

Conformance Units

ISA-95 Job Order Receiver V2

The ISA95JobOrderDataType is a subtype of OPC UA Structure that defines the information needed to schedule and execute a job.

The structure is defined in Table 64.

Table 64 – ISA95JobOrderDataType Structure

Name

Type

Description

Optional

ISA95JobOrderDataType

Structure

JobOrderID

0:String

An identification of the Job Order.

False

Description

0:LocalizedText[]

Additional information about the Job Order. The array allows to provide descriptions in different languages.

True

WorkMasterID

ISA95WorkMasterDataType[]

Work Master associated with the job order. If multiple work masters are defined, then the execution system can select the work master based on the availability of resources. If no WorkMaster is defined, then the server may use internal logic or human interactions to select the appropriate WorkMaster.

True

StartTime

0:DateTime

The proposed start time for the job order, may be empty if not specified.

True

EndTime

0:DateTime

The proposed end time for the job order, may be empty if not specified.

True

Priority

0:Int16

The priority of the job order, may be empty if not specified. Higher numbers have higher priority. This type allows the Job Order clients to pick their own ranges, and the Job Order server only has to pick the highest number.

True

JobOrderParameters

ISA95ParameterDataType[]

Key value pairs, not associated with a resource, that are provided as part of the job order, may be empty if not specified.

True

PersonnelRequirements

ISA95PersonnelDataType[]

A specification of any personnel requirements associated with the job order, may be empty if not specified.

True

EquipmentRequirements

ISA95EquipmentDataType[]

A specification of any equipment requirements associated with the job order, may be empty if not specified.

True

PhysicalAssetRequirements

ISA95PhysicalAssetDataType[]

A specification of any physical asset requirements associated with the job order, may be empty if not specified.

True

MaterialRequirements

ISA95MaterialDataType[]

A specification of any material requirements associated with the job order, may be empty if not specified.

True

Table 65 is the AddressSpace definition of an ISA95JobOrderDataType.

Table 65 – ISA95JobOrderDataType AddressSpace Definition

Attribute

Value

BrowseName

ISA95JobOrderDataType

IsAbstract

False

Reference

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the Structure defined in OPC 10000-5

Conformance Units

ISA-95 Job Order Receiver V2

The ISA95JobResponseDataType is a subtype of OPC UA Structure that defines the information needed report on the execution of a job order.

The structure is defined in Table 66 .

Table 66 – ISA95JobResponseDataType Structure

Name

Type

Description

Optional

ISA95JobResponseDataType

structure

JobResponseID

0:String

A unique identification of the Job Response.

False

Description

0:LocalizedText

Additional information about the Job Response.

True

JobOrderID

0:String

Identification of the job order associated with the job response.

False

StartTime

0:DateTime

The actual start time for the job order.

True

EndTime

0:DateTime

The actual end time for the job order, may be empty if the job has not yet completed.

True

JobState

ISA95StateDataType[]

The current state of the job. The array shall provide at least one entry representing the top level state and potentially additional entries representing substates. The first entry shall be the top level entry, having the BrowsePath set to null. The order of the substates is not defined.

False

JobResponseData

ISA95ParameterDataType[]

Key value pair with values, not associated with a resource that is provided as part of the job response, may be empty if not specified.

True

PersonnelActuals

ISA95PersonnelDataType[]

A specification of any personnel actuals associated with the job response, may be empty if not specified.

True

EquipmentActuals

ISA95EquipmentDataType[]

A specification of any equipment actuals associated with the job response, may be empty if not specified.

True

PhysicalAssetActuals

ISA95PhysicalAssetDataType[]

A specification of any physical asset actuals associated with the job response, may be empty if not specified.

True

MaterialActuals

ISA95MaterialDataType[]

A specification of any material actuals associated with the job response, may be empty if not specified.

True

Table 67 is the AddressSpace definition of an ISA95JobResponseDataType.

Table 67 – ISA95JobResponseDataType AddressSpace Definition

Attribute

Value

BrowseName

ISA95JobResponseDataType

IsAbstract

False

Reference

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the Structure defined in OPC 10000-5

Conformance Units

ISA-95 Job Response Provider V2

ISA-95 Job Response Receiver V2

The ISA95MaterialDataType is a subtype of OPC UA Structure that defines a material resource, and an optional description, material use, quantity and unit of measure, description, and collection of properties.

The structure is defined in Table 68.

Table 68 – ISA95MaterialDataType Structure

Name

Type

Description

Optional

ISA95MaterialDataType

Structure

MaterialClassID

0:String

An identification of a Material Class, or null if the Material Class is not used to identify the material.

Note: Either a MaterialClassID, MaterialDefinitionID, MaterialLotID, or MaterialSublotID must be defined.

True

MaterialDefinitionID

0:String

An identification of a Material Definition, or null if the Material Definition is not used to identify the material.

True

MaterialLotID

0:String

An identification of a Material Lot, or null if the Material Lot is not used to identify the material.

True

MaterialSublotID

0:String

An identification of a Material Sublot, or null if the Material Sublot is not used to identify the material.

True

Description

0:LocalizedText[]

Additional information and description about the material. The array allows to provide descriptions in different languages when writing. When accessing, the server shall only provide one entry in the array.

True

MaterialUse

0:String

Information about the expected use of the material.

Defined values from ANSI/ISA 95 Part 2 are:

  • consumable: resources that are not normally included in bills of material or are not individually accounted for in specific operations requests or are not lot tracked.
  • material consumed: raw and intermediate material normally included in bills of material or are individually accounted for in specific operations requests or are material lots tracked.
  • material produced: finished goods material normally included in bills of material or are individually accounted for in specific operations requests or are material lots tracked.
  • co-product produced: a planned product typically produced in conjunction with a main planned product per the material master. A product that is usually manufactured together or sequentially because of product or process similarities.
  • by-product produced: tracked waste, undesirable materials, material of value produced as a residual of or incidental to the production process. The ratio of by-product to primary product is usually predictable. By-products may be recycled, sold as-is, or used for other purposes

True

Quantity

0:DecimalString

The quantity of the material.

True

EngineeringUnits

0:EUInformation

The Unit of Measure of the quantity.

True

Properties

ISA95PropertyDataType[]

Any associated properties of the material, or empty if there are no material properties defined.

True

Table 69 is the AddressSpace definition of an ISA95MaterialDataType.

Table 69 – ISA95MaterialDataType AddressSpace Definition

Attribute

Value

BrowseName

ISA95MaterialDataType

IsAbstract

False

Reference

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the Structure defined in OPC 10000-5

Conformance Units

ISA-95 Job Order Receiver V2

ISA-95 Job Response Provider V2

ISA-95 Job Response Receiver V2

The ISA95PersonnelDataType is a subtype of OPC UA Structure that defines a personnel resource and an optional description, personnel use, quantity and unit of measure, description, and collection of properties.

The structure is defined in Table 70.

Table 70 – ISA95PersonnelDataType Structure

Name

Type

Description

Optional

ISA95PersonnelDataType

structure

ID

0:String

An identification of a Personnel Class or Person.

False

Description

0:LocalizedText[]

Additional information and description about the resource. The array allows to provide descriptions in different languages when writing. When accessing, the server shall only provide one entry in the array.

True

PersonnelUse

0:String

Information about the expected use of the personnel.

True

Quantity

0:DecimalString

The quantity of the resource.

True

EngineeringUnits

0:EUInformation

The Unit of Measure of the quantity.

True

Properties

ISA95PropertyDataType[]

Any associated properties, or empty if there are no properties defined.

True

Table 71 is the AddressSpace definition of an ISA95PersonnelDataType.

Table 71 – ISA95PersonnelDataType AddressSpace Definition

Attribute

Value

BrowseName

ISA95PersonnelDataType

IsAbstract

False

Reference

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the Structure defined in OPC 10000-5

Conformance Units

ISA-95 Job Order Receiver V2

ISA-95 Job Response Provider V2

ISA-95 Job Response Receiver V2

The ISA95PhysicalAssetDataType is a subtype of OPC UA Structure that defines a physical asset resource and an optional description, physical asset use, quantity and unit of measure, description, and collection of properties.

The structure is defined in Table 72.

Table 72 – ISA95PhysicalAssetDataType Structure

Name

Type

Description

Optional

ISA95PhysicalAssetDataType

structure

ID

0:String

An identification of a Physical Asset Class or Physical Asset.

False

Description

0:LocalizedText[]

Additional information and description about the physical asset. The array allows to provide descriptions in different languages when writing. When accessing, the server shall only provide one entry in the array.

True

PhysicalAssetUse

0:String

Information about the expected use of the physical asset.

True

Quantity

0:DecimalString

The quantity of the physical asset.

True

EngineeringUnits

0:EUInformation

The Unit of Measure of the quantity.

True

Properties

ISA95PropertyDataType[]

Any associated properties, or empty if there are no physical asset properties defined.

True

Table 73 is the AddressSpace definition of an ISA95PhysicalAssetDataType.

Table 73 – ISA95PhysicalAssetDataType AddressSpace Definition

Attribute

Value

BrowseName

ISA95PhysicalAssetDataType

IsAbstract

False

Reference

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the Structure defined in OPC 10000-5

Conformance Units

ISA-95 Job Order Receiver V2

ISA-95 Job Response Provider V2

ISA-95 Job Response Receiver V2

The ISA95PropertyDataType is a subtype of OPC UA Structure that defines an ID (which is a unique identifier for a property within the scope of the associated resource), the associated value, (which is the data for the property), and optional description, unit of measure of the value, and subproperties. The structure is defined in Table 74.

Table 74 – ISA95PropertyDataType Structure

Name

Type

Description

Optional

ISA95PropertyDataType

structure

ID

0:String

Unique identifier for a property within the scope of the associated resource

False

Value

0:BaseDataType

Value for the property

False

Description

0:LocalizedText[]

An optional description of the property. The array allows to provide descriptions in different languages when writing. When accessing, the server shall only provide one entry in the array.

True

EngineeringUnits

0:EUInformation

The Unit of Measure of the value

True

Subproperties

ISA95PropertyDataType[]

Sub properties of the property

True

Table 75 is the AddressSpace definition of an ISA95PropertyDataType.

Table 75 – ISA95PropertyDataType AddressSpace Definition

Attribute

Value

BrowseName

ISA95PropertyDataType

IsAbstract

False

Reference

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the Structure defined in OPC 10000-5

Conformance Units

ISA-95 Job Order Receiver V2

ISA-95 Job Response Provider V2

ISA-95 Job Response Receiver V2

The ISA95ParameterDataType is a subtype of OPC UA Structure that defines an ID (which is a unique identifier for a parameter), the associated value (which is the data for the parameter), and optional description, unit of measure of the value, and subproperties. The structure is defined in Table 74.

Table 76 – ISA95ParameterDataType Structure

Name

Type

Description

Optional

ISA95ParameterDataType

Structure

ID

0:String

A unique identifier for a parameter

False

Value

0:BaseDataType

Value of the parameter.

False

Description

0:LocalizedText[]

An optional description of the parameter. The array allows to provide descriptions in different languages when writing. When accessing, the server shall only provide one entry in the array.

True

EngineeringUnits

0:EUInformation

The Unit of Measure of the value

True

Subparameters

ISA95ParameterDataType[]

Sub parameters of the parameter

True

Table 77 is the AddressSpace definition of an ISA95PropertyDataType.

Table 77 – ISA95ParameterDataType AddressSpace Definition

Attribute

Value

BrowseName

ISA95ParameterDataType

IsAbstract

False

Reference

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the Structure defined in OPC 10000-5

Conformance Units

ISA-95 Job Order Receiver V2

ISA-95 Job Response Provider V2

ISA-95 Job Response Receiver V2

The ISA95WorkMasterDataType is a subtype of OPC UA Structure that defines a Work Master ID and optional description and parameters for the Work Master.

The structure is defined in Table 78.

Table 78 – ISA95WorkMasterDataType Structure

Name

Type

Description

Optional

ISA95WorkMasterDataType

structure

ID

0:String

An identification of the Work Master.

False

Description

0:LocalizedText

Additional information and description about the Work Master.

True

Parameters

ISA95ParameterDataType[]

Defined parameters for the Work Master.

True

Table 79 is the AddressSpace definition of an ISA95WorkMasterDataType.

Table 79 – ISA95WorkMasterDataType AddressSpace Definition

Attribute

Value

BrowseName

ISA95WorkMasterDataType

IsAbstract

False

Reference

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the Structure defined in OPC 10000-5

Conformance Units

ISA-95 Job Order Receiver V2