This section provides definition of the method used in this specification. These methods are referenced from more than one location or are part of more than one object in some cases. The functionality for the method is the same for all objects

This Method allows an OPC UA Client to change the mode of the unit. Parameters are defined in Table 23

Signature

SetUnitMode(

[in] Int32 RequestedMode

);

Table 23 - SetUnitMode Method Parameters

Argument

Description

RequestedMode

The requested mode from the list of available modes in the enumeration from NodeID “UnitSupportedModes” in PackMLStatusObjectType

Method result codes are defined in Table 24

Table 24 - SetUnitMode Method Result Codes

Result Code

Description

Bad_MethodInvalid

See OPC 10000-4 – Services for the description of this result code. (The Method id does not refer to a Method for the specified Object.)

Bad_NotImplemented

See OPC 10000-4 – Services for the description of this result code. (Requested operation is not implemented.)

Bad_NodeIdUnknown

See OPC 10000-4 – Services for the description of this result code. (Used to indicate that the specified Object is not valid)

Bad_InvalidState

See OPC 10000-4 – Services for the description of this result code. (The operation cannot be completed because the Object is closed, uninitialized or in some other invalid state.)

Bad_ArgumentsMissing

See OPC 10000-4 – Services for the description of this result code (The Client did not specify all of the input arguments for the Method.)

Bad_TooManyArguments

See OPC 10000-4 – Services for the description of this result code (The Client specified more input arguments than defined for the Method.)

Bad_InvalidArgument

See OPC 10000-4 – Services for the description of this result code. (Used to indicate in the operation level results that one or more of the input arguments are invalid. The inputArgumentResults contain the specific status code for each invalid argument.)

Bad_TypeMismatch

See OPC 10000-4 – Services for the description of this result code. (Used to indicate that an input argument does not have the correct data type.)

Table 25 specifies the AddressSpace representation for the SetUnitMode Method. SetUnitMode includes an InputArgument, where the input argument details are provided in Table 23.

Table 25 - SetUnitMode Method AddressSpace Definition

Attribute

Value

BrowseName

SetUnitMode

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

HasProperty

Variable

InputArguments

Argument[]

PropertyType

Mandatory

This Method allows an OPC UA Client to change the speed of the machine or unit. Parameters are defined in Table 26

Signature

SetMachSpeed(

[in] Float RequestedMachineSpeed

);

Table 26 - SetMachSpeed Method Parameters

Argument

Description

RequestedMachineSpeed

The target machine speed

Method result codes are defined in Table 27

Table 27 - SetMachSpeed Method ResultCodes

Result Code

Description

Bad_MethodInvalid

See OPC 10000-4 – Services for the description of this result code. (The Method id does not refer to a Method for the specified Object.)

Bad_NotImplemented

See OPC 10000-4 – Services for the description of this result code. (Requested operation is not implemented.)

Bad_NodeIdUnknown

See OPC 10000-4 – Services for the description of this result code. (Used to indicate that the specified Object is not valid)

Bad_InvalidState

See OPC 10000-4 – Services for the description of this result code. (The operation cannot be completed because the Object is closed, uninitialized or in some other invalid state.)

Bad_ArgumentsMissing

See OPC 10000-4 – Services for the description of this result code (The Client did not specify all of the input arguments for the Method.)

Bad_TooManyArguments

See OPC 10000-4 – Services for the description of this result code (The Client specified more input arguments than defined for the Method.)

Bad_InvalidArgument

See OPC 10000-4 – Services for the description of this result code. (Used to indicate in the operation level results that one or more of the input arguments are invalid. The inputArgumentResults contain the specific status code for each invalid argument.)

Bad_TypeMismatch

See OPC 10000-4 – Services for the description of this result code. (Used to indicate that an input argument does not have the correct data type.)

Table 28 specifies the AddressSpace representation for the SetMachSpeed Method. SetMachSpeed includes an array of InputArguments, where the input argument details are provided in Table 26.

Table 28 – SetMachSpeed Method AddressSpace Definition

Attribute

Value

BrowseName

SetMachSpeed

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

HasProperty

Variable

InputArguments

Argument[]

PropertyType

Mandatory

This Method allows an OPC UA Client to change product associated with this PackML system. Parameters are defined in Table 29.

Signature

SetProduct(

[in] PackMLProductDataType[] Product

);

Table 29 - SetProduct Method Parameters

Argument

Description

Product

This structure is an array of product definition, which includes the ProductId, ProcessVariables array and Ingredients array. See 6.5.6 for a definition of the DataType.

Method result codes are defined in Table 30

Table 30 - SetProduct Method Result Codes

Result Code

Description

Bad_MethodInvalid

See OPC 10000-4 – Services for the description of this result code. (The Method id does not refer to a Method for the specified Object.)

Bad_NotImplemented

See OPC 10000-4 – Services for the description of this result code. (Requested operation is not implemented.)

Bad_NodeIdUnknown

See OPC 10000-4 – Services for the description of this result code. (Used to indicate that the specified Object is not valid)

Bad_InvalidState

See OPC 10000-4 – Services for the description of this result code. (The operation cannot be completed because the Object is closed, uninitialized or in some other invalid state.)

Bad_ArgumentsMissing

See OPC 10000-4 – Services for the description of this result code (The Client did not specify all of the input arguments for the Method.)

Bad_TooManyArguments

See OPC 10000-4 – Services for the description of this result code (The Client specified more input arguments than defined for the Method.)

Bad_InvalidArgument

See OPC 10000-4 – Services for the description of this result code. (Used to indicate in the operation level results that one or more of the input arguments are invalid. The inputArgumentResults contain the specific status code for each invalid argument.)

Bad_TypeMismatch

See OPC 10000-4 – Services for the description of this result code. (Used to indicate that an input argument does not have the correct data type.)

Table 31 specifies the AddressSpace representation for the SetProduct Method. SetProduct includes an array of InputArguments, where the input argument details are provided in Table 29.

Table 31 – SetProduct Method AddressSpace Definition

Attribute

Value

BrowseName

SetProduct

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

HasProperty

Variable

InputArguments

Argument[]

PropertyType

Mandatory

This Method is used as part of the PackMLBaseStateMachineType. It allows an OPC UA Client to change the state of this state machine to the Aborting state.

Signature

Abort(

);

Method result codes are defined in Table 32.

Table 32 - Abort Method result codes

Result Code

Description

Bad_MethodInvalid

See OPC 10000-4 – Services for the description of this result code. (The Method id does not refer to a Method for the specified Object.)

Bad_NotImplemented

See OPC 10000-4 – Services for the description of this result code. (Requested operation is not implemented.)

Bad_NodeIdUnknown

See OPC 10000-4 – Services for the description of this result code. (Used to indicate that the specified Object is not valid)

Bad_InvalidState

See OPC 10000-4 – Services for the description of this result code. (The operation cannot be completed because the Object is closed, uninitialized or in some other invalid state.)

Table 33 specifies the AddressSpace representation for the Abort Method. Abort has no input or output parameters and has no referenced objects or variables.

Table 33 – Abort Method AddressSpace Definition

Attribute

Value

BrowseName

Abort

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

This Method is used as part of the PackMLBaseStateMachineType. It allows an OPC UA Client to change the state of this state machine to the Cleared state.

Signature

Clear(

);

Method result codes are defined in Table 34.

Table 34 - Clear method result codes

Result Code

Description

Bad_MethodInvalid

See OPC 10000-4 – Services for the description of this result code. (The Method id does not refer to a Method for the specified Object.)

Bad_NotImplemented

See OPC 10000-4 – Services for the description of this result code. (Requested operation is not implemented.)

Bad_NodeIdUnknown

See OPC 10000-4 – Services for the description of this result code. (Used to indicate that the specified Object is not valid)

Bad_InvalidState

See OPC 10000-4 – Services for the description of this result code. (The operation cannot be completed because the Object is closed, uninitialized or in some other invalid state.)

Table 35 specifies the AddressSpace representation for the Clear Method. Clear has no input or output parameters and has no referenced objects or variables.

Table 35 – Clear Method AddressSpace Definition

Attribute

Value

BrowseName

Clear

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

This Method is used as part of the PackMLMachineStateMachineType. It allows an OPC UA Client to change the state of this state machine to the Stopping state.

Signature

Stop(

);

Method result codes are defined in Table 36

Table 36 - Stop Method result codes

Result Code

Description

Bad_MethodInvalid

See OPC 10000-4 – Services for the description of this result code. (The Method id does not refer to a Method for the specified Object.)

Bad_NotImplemented

See OPC 10000-4 – Services for the description of this result code. (Requested operation is not implemented.)

Bad_NodeIdUnknown

See OPC 10000-4 – Services for the description of this result code. (Used to indicate that the specified Object is not valid)

Bad_InvalidState

See OPC 10000-4 – Services for the description of this result code. (The operation cannot be completed because the Object is closed, uninitialized or in some other invalid state.)

Table 37 specifies the AddressSpace representation for the Stop Method. Stop has no input or output parameters and has no referenced objects or variables.

Table 37 – Stop Method AddressSpace Definition

Attribute

Value

BrowseName

Stop

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

This Method is used as part of the PackMLExecuteStateMachineType. It allows an OPC UA Client to change the state of this state machine to the Resetting state.

Signature

Reset(

);

Method result codes are defined in Table 38.

Table 38 - Reset Method result codes

Result Code

Description

Bad_MethodInvalid

See OPC 10000-4 – Services for the description of this result code. (The Method id does not refer to a Method for the specified Object.)

Bad_NotImplemented

See OPC 10000-4 – Services for the description of this result code. (Requested operation is not implemented.)

Bad_NodeIdUnknown

See OPC 10000-4 – Services for the description of this result code. (Used to indicate that the specified Object is not valid)

Bad_InvalidState

See OPC 10000-4 – Services for the description of this result code. (The operation cannot be completed because the Object is closed, uninitialized or in some other invalid state.)

Table 39 specifies the AddressSpace representation for the Reset Method. Reset has no input or output parameters and has no referenced Objects or Variables.

Table 39 – Reset Method AddressSpace Definition

Attribute

Value

BrowseName

Reset

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

This Method is used as part of the PackMLExecuteStateMachineType. It allows an OPC UA Client to change the state of this state machine to the Complete state.

Signature

ToComplete(

);

Method result codes are defined in Table 40.

Table 40 - ToComplete Method result codes

Result Code

Description

Bad_MethodInvalid

See OPC 10000-4 – Services for the description of this result code. (The Method id does not refer to a Method for the specified Object.)

Bad_NotImplemented

See OPC 10000-4 – Services for the description of this result code. (Requested operation is not implemented.)

Bad_NodeIdUnknown

See OPC 10000-4 – Services for the description of this result code. (Used to indicate that the specified Object is not valid)

Bad_InvalidState

See OPC 10000-4 – Services for the description of this result code. (The operation cannot be completed because the Object is closed, uninitialized or in some other invalid state.)

Table 41 specifies the AddressSpace representation for the ToComplete Method. Complete has no input or output parameters and has no referenced objects or variables.

Table 41 – ToComplete Method AddressSpace Definition

Attribute

Value

BrowseName

ToComplete

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

This Method is used as part of the PackMLExecuteStateMachineType. It allows an OPC UA Client to change the state of this state machine to the Starting State and send parameters at the same time. Which is an extension to the ISA-TR88.00.02-2015 specification. The parameter is defined in Table 42

Signature

Start(

[in] PackMLDescriptorDataType[] Parameter

);

Table 42 - Start Method Parameters

Argument

Description

Parameter

The array of parameter with Id, Name, Unit and Value can be used by the method. See 6.5.4 for the definition of the DataType.

Method result codes are defined in Table 43.

Table 43 - Start Method result codes

Result Code

Description

Bad_MethodInvalid

See OPC 10000-4 – Services for the description of this result code. (The Method id does not refer to a Method for the specified Object.)

Bad_NotImplemented

See OPC 10000-4 – Services for the description of this result code. (Requested operation is not implemented.)

Bad_NodeIdUnknown

See OPC 10000-4 – Services for the description of this result code. (Used to indicate that the specified Object is not valid)

Bad_InvalidState

See OPC 10000-4 – Services for the description of this result code. (The operation cannot be completed because the Object is closed, uninitialized or in some other invalid state.)

Bad_ArgumentsMissing

See OPC 10000-4 – Services for the description of this result code (The Client did not specify all of the input arguments for the Method.)

Bad_TooManyArguments

See OPC 10000-4 – Services for the description of this result code (The Client specified more input arguments than defined for the Method.)

Bad_InvalidArgument

See OPC 10000-4 – Services for the description of this result code. (Used to indicate in the operation level results that one or more of the input arguments are invalid. The inputArgumentResults contain the specific status code for each invalid argument.)

Bad_TypeMismatch

See OPC 10000-4 – Services for the description of this result code. (Used to indicate that an input argument does not have the correct data type.)

Table 44 specifies the AddressSpace representation for the Start Method. Start includes an array of InputArguments, where the input argument details are provided in Table 42.

Table 44 – Start Method AddressSpace Definition

Attribute

Value

BrowseName

Start

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

HasProperty

Variable

InputArguments

Argument[]

PropertyType

Mandatory

This Method is used as part of the PackMLExecuteStateMachineType. It allows an OPC UA Client to change the state of this state machine to the Unholding state.

Signature

Unhold(

);

Method result codes are defined in Table 45

Table 45 - Unhold Method result codes

Result Code

Description

Bad_MethodInvalid

See OPC 10000-4 – Services for the description of this result code. (The Method id does not refer to a Method for the specified Object.)

Bad_NotImplemented

See OPC 10000-4 – Services for the description of this result code. (Requested operation is not implemented.)

Bad_NodeIdUnknown

See OPC 10000-4 – Services for the description of this result code. (Used to indicate that the specified Object is not valid)

Bad_InvalidState

See OPC 10000-4 – Services for the description of this result code. (The operation cannot be completed because the Object is closed, uninitialized or in some other invalid state.)

Table 46 specifies the AddressSpace representation for the Unhold Method. Unhold has no input or output parameters and has no referenced objects or variables.

Table 46 – Unhold Method AddressSpace Definition

Attribute

Value

BrowseName

Unhold

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

This Method is used as part of the PackMLExecuteStateMachineType. It allows an OPC UA Client to change the state of this state machine to the Suspending state.

Signature

Suspend(

);

Method result codes are defined in Table 47

Table 47 - Suspend Method result codes

Result Code

Description

Bad_MethodInvalid

See OPC 10000-4 – Services for the description of this result code. (The Method id does not refer to a Method for the specified Object.)

Bad_NotImplemented

See OPC 10000-4 – Services for the description of this result code. (Requested operation is not implemented.)

Bad_NodeIdUnknown

See OPC 10000-4 – Services for the description of this result code. (Used to indicate that the specified Object is not valid)

Bad_InvalidState

See OPC 10000-4 – Services for the description of this result code. (The operation cannot be completed because the Object is closed, uninitialized or in some other invalid state.)

Table 48 specifies the AddressSpace representation for the Suspend Method. Suspend has no input or output parameters and has no referenced objects or variables.

Table 48 – Suspend Method AddressSpace Definition

Attribute

Value

BrowseName

Suspend

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

This Method is used as part of the PackMLExecuteStateMachineType. It allows an OPC UA Client to change the state of this state machine to the Unsuspending state.

Signature

Unsuspend(

);

Method result codes are defined in Table 49

Table 49 - Unsuspend Method result codes

Result Code

Description

Bad_MethodInvalid

See OPC 10000-4 – Services for the description of this result code. (The Method id does not refer to a Method for the specified Object.)

Bad_NotImplemented

See OPC 10000-4 – Services for the description of this result code. (Requested operation is not implemented.)

Bad_NodeIdUnknown

See OPC 10000-4 – Services for the description of this result code. (Used to indicate that the specified Object is not valid)

Bad_InvalidState

See OPC 10000-4 – Services for the description of this result code. (The operation cannot be completed because the Object is closed, uninitialized or in some other invalid state.)

Table 50 specifies the AddressSpace representation for the Unsuspend Method. Unsuspend has no input or output parameters and has no referenced Objects or Variables.

Table 50 – Unsuspend Method AddressSpace Definition

Attribute

Value

BrowseName

Unsuspend

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

This Method is used as part of the PackMLExecuteStateMachineType. It allows an OPC UA Client to change the state of this state machine to the Holding state.

Signature

Hold(

);

Method result codes are defined in Table 51

Table 51 - Hold Method result codes

Result Code

Description

Bad_MethodInvalid

See OPC 10000-4 – Services for the description of this result code. (The Method id does not refer to a Method for the specified Object.)

Bad_NotImplemented

See OPC 10000-4 – Services for the description of this result code. (Requested operation is not implemented.)

Bad_NodeIdUnknown

See OPC 10000-4 – Services for the description of this result code. (Used to indicate that the specified Object is not valid)

Bad_InvalidState

See OPC 10000-4 – Services for the description of this result code. (The operation cannot be completed because the Object is closed, uninitialized or in some other invalid state.)

Bad_MethodInvalid

See OPC 10000-4 – Services for the description of this result code. (The Method id does not refer to a Method for the specified Object.)

Table 52 specifies the AddressSpace representation for the Hold Method. Hold has no input or output parameters and has no referenced objects or variables.

Table 52 – Hold Method AddressSpace Definition

Attribute

Value

BrowseName

Hold

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

This Method is used to issue a command to the UA Server that can then be passed on to any other internal system as illustrated in Figure 19 or it can be used to pass information on to an upstream or downstream system as illustrated in Figure 20. In both cases, it is up to the UA Server and/or the underlying system to determine when the command is passed on.

image023.png

Figure 19 - Remote Command and Internal systems

image024.png

Figure 20 - Remote Command – Line and Upstream/Downstream systems

The RemoteCommand Method parameters are defined in Table 53

Signature

RemoteCommand(

[in] PackMLRemoteInterfaceDataType[] RemoteInterface);

Table 53 - RemoteCommand Method Parameters

Argument

Description

RemoteInterface

This structure is an array of remote interface information which include Number, ControlCmdNumber, CmdValue and Parameter. Parameter itself is a structure formally defined in 6.5.4. The PackMLRemoteInterfaceDataType is formally defined in 6.5.7

Method result codes are defined in Table 54.

Table 54 - RemoteCommand Method result codes

Result Code

Description

Bad_MethodInvalid

See OPC 10000-4 – Services for the description of this result code. (The Method id does not refer to a Method for the specified Object.)

Bad_NotImplemented

See OPC 10000-4 – Services for the description of this result code. (Requested operation is not implemented.)

Bad_NodeIdUnknown

See OPC 10000-4 – Services for the description of this result code. (Used to indicate that the specified Object is not valid)

Bad_InvalidState

See OPC 10000-4 – Services for the description of this result code. (The operation cannot be completed because the Object is closed, uninitialized or in some other invalid state.)

Bad_MethodInvalid

See OPC 10000-4 – Services for the description of this result code. (The Method id does not refer to a Method for the specified Object.)

Bad_ArgumentsMissing

See OPC 10000-4 – Services for the description of this result code (The Client did not specify all of the input arguments for the Method.)

Bad_TooManyArguments

See OPC 10000-4 – Services for the description of this result code (The Client specified more input arguments than defined for the Method.)

Bad_InvalidArgument

See OPC 10000-4 – Services for the description of this result code. (Used to indicate in the operation level results that one or more of the input arguments are invalid. The inputArgumentResults contain the specific status code for each invalid argument.)

Bad_TypeMismatch

See OPC 10000-4 – Services for the description of this result code. (Used to indicate that an input argument does not have the correct data type.)

Table 55 specifies the AddressSpace representation for the RemoteCommand Method. RemoteCommand includes an array of InputArguments, where the input argument details are provided in Table 53.

Table 55 – RemoteCommand Method AddressSpace Definition

Attribute

Value

BrowseName

RemoteCommand

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

HasProperty

Variable

InputArguments

Argument[]

PropertyType

Mandatory

This Method allows an OPC UA Client to set an interlock associated with this PackML system parameter. The parameters for the SetInterlock Method are defined in Table 56.

Signature

SetInterlock(

[in] Int32 InterlockId,

[in] Boolean State);

Table 56 - SetInterlock Method Parameters

Argument

Description

InterlockId

ID of the target interlock to set or reset. The ID typically refer to the element in the Boolean Array in the MaterialInterlock tag.

State

The state that the targeted interlock should be set to. True is set to interlocked, false is not interlocked.

Method result codes are defined in Table 57

Table 57 - SetInterlock Method result codes

Result Code

Description

Bad_MethodInvalid

See OPC 10000-4 – Services for the description of this result code. (The Method id does not refer to a Method for the specified Object.)

Bad_NotImplemented

See OPC 10000-4 – Services for the description of this result code. (Requested operation is not implemented.)

Bad_NodeIdUnknown

See OPC 10000-4 – Services for the description of this result code. (Used to indicate that the specified Object is not valid)

Bad_InvalidState

See OPC 10000-4 – Services for the description of this result code. (The operation cannot be completed because the Object is closed, uninitialized or in some other invalid state.)

Bad_MethodInvalid

See OPC 10000-4 – Services for the description of this result code. (The Method id does not refer to a Method for the specified Object.)

Bad_ArgumentsMissing

See OPC 10000-4 – Services for the description of this result code (The Client did not specify all of the input arguments for the Method.)

Bad_TooManyArguments

See OPC 10000-4 – Services for the description of this result code (The Client specified more input arguments than defined for the Method.)

Bad_InvalidArgument

See OPC 10000-4 – Services for the description of this result code. (Used to indicate in the operation level results that one or more of the input arguments are invalid. The inputArgumentResults contain the specific status code for each invalid argument.)

Bad_TypeMismatch

See OPC 10000-4 – Services for the description of this result code. (Used to indicate that an input argument does not have the correct data type.)

Table 58 specifies the AddressSpace representation for the SetInterlock Method. SetInterlock includes an array of InputArguments, where the input argument details are provided in Table 56.

Table 58 – SetInterlock Method AddressSpace Definition

Attribute

Value

BrowseName

SetInterlock

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

HasProperty

Variable

InputArguments

Argument[]

PropertyType

Mandatory

This Method allows an OPC UA Client to set the parameters that are by the machine.

Signature

SetParameter(

[in] PackMLDescriptorDataType[] Parameter

);

Table 59 - SetParameter Method Parameters

Argument

Description

Parameter

The array of parameter that can be used by the method

Method result codes are defined in Table 60

Table 60 - SetParameter Method result codes

Result Code

Description

Bad_MethodInvalid

See OPC 10000-4 – Services for the description of this result code. (The Method id does not refer to a Method for the specified Object.)

Bad_NotImplemented

See OPC 10000-4 – Services for the description of this result code. (Requested operation is not implemented.)

Bad_NodeIdUnknown

See OPC 10000-4 – Services for the description of this result code. (Used to indicate that the specified Object is not valid)

Bad_InvalidState

See OPC 10000-4 – Services for the description of this result code. (The operation cannot be completed because the Object is closed, uninitialized or in some other invalid state.). If a machine determines that it is not in a state that allows parameter changes this error is returned.

Bad_MethodInvalid

See OPC 10000-4 – Services for the description of this result code. (The Method id does not refer to a Method for the specified Object.)

Table 61 specifies the AddressSpace representation for the SetParameter Method. SetParameter includes an array of InputArguments, where the input argument details are provided in Table 59.

Table 61 – SetParameter Method AddressSpace Definition

Attribute

Value

BrowseName

SetParameter

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

HasProperty

Variable

InputArguments

Argument[]

PropertyType

Mandatory