6.7 Methods
6.7.1 Overview
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
6.7.2 SetUnitMode Method
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
);| 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
| 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.
| Attribute | Value | ||||
| BrowseName | SetUnitMode | ||||
| References | NodeClass | BrowseName | DataType | TypeDefinition | ModellingRule |
|---|---|---|---|---|---|
| HasProperty | Variable | InputArguments | Argument[] | PropertyType | Mandatory |
6.7.3 SetMachSpeed Method
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
);| Argument | Description |
| RequestedMachineSpeed | The target machine speed |
Method result codes are defined in Table 27
| 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.
| Attribute | Value | ||||
| BrowseName | SetMachSpeed | ||||
| References | NodeClass | BrowseName | DataType | TypeDefinition | ModellingRule |
|---|---|---|---|---|---|
| HasProperty | Variable | InputArguments | Argument[] | PropertyType | Mandatory |
6.7.4 SetProduct Method
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
);| 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
| 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.
| Attribute | Value | ||||
| BrowseName | SetProduct | ||||
| References | NodeClass | BrowseName | DataType | TypeDefinition | ModellingRule |
|---|---|---|---|---|---|
| HasProperty | Variable | InputArguments | Argument[] | PropertyType | Mandatory |
6.7.5 Abort Method
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.
| 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.
| Attribute | Value | ||||
| BrowseName | Abort | ||||
| References | NodeClass | BrowseName | DataType | TypeDefinition | ModellingRule |
|---|---|---|---|---|---|
6.7.6 Clear Method
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.
| 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.
| Attribute | Value | ||||
| BrowseName | Clear | ||||
| References | NodeClass | BrowseName | DataType | TypeDefinition | ModellingRule |
|---|---|---|---|---|---|
6.7.7 Stop Method
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
| 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.
| Attribute | Value | ||||
| BrowseName | Stop | ||||
| References | NodeClass | BrowseName | DataType | TypeDefinition | ModellingRule |
|---|---|---|---|---|---|
6.7.8 Reset Method
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.
| 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.
| Attribute | Value | ||||
| BrowseName | Reset | ||||
| References | NodeClass | BrowseName | DataType | TypeDefinition | ModellingRule |
|---|---|---|---|---|---|
6.7.9 ToComplete Method
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.
| 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.
| Attribute | Value | ||||
| BrowseName | ToComplete | ||||
| References | NodeClass | BrowseName | DataType | TypeDefinition | ModellingRule |
|---|---|---|---|---|---|
6.7.10 Start Method
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
); | 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.
| 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.
| Attribute | Value | ||||
| BrowseName | Start | ||||
| References | NodeClass | BrowseName | DataType | TypeDefinition | ModellingRule |
|---|---|---|---|---|---|
| HasProperty | Variable | InputArguments | Argument[] | PropertyType | Mandatory |
6.7.11 Unhold Method
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
| 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.
| Attribute | Value | ||||
| BrowseName | Unhold | ||||
| References | NodeClass | BrowseName | DataType | TypeDefinition | ModellingRule |
|---|---|---|---|---|---|
6.7.12 Suspend Method
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
| 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.
| Attribute | Value | ||||
| BrowseName | Suspend | ||||
| References | NodeClass | BrowseName | DataType | TypeDefinition | ModellingRule |
|---|---|---|---|---|---|
6.7.13 Unsuspend Method
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
| 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.
| Attribute | Value | ||||
| BrowseName | Unsuspend | ||||
| References | NodeClass | BrowseName | DataType | TypeDefinition | ModellingRule |
|---|---|---|---|---|---|
6.7.14 Hold Method
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
| 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.
| Attribute | Value | ||||
| BrowseName | Hold | ||||
| References | NodeClass | BrowseName | DataType | TypeDefinition | ModellingRule |
|---|---|---|---|---|---|
6.7.15 RemoteCommand Method
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.


The RemoteCommand Method parameters are defined in Table 53
Signature
RemoteCommand(
[in] PackMLRemoteInterfaceDataType[] RemoteInterface);| 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.
| 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.
| Attribute | Value | ||||
| BrowseName | RemoteCommand | ||||
| References | NodeClass | BrowseName | DataType | TypeDefinition | ModellingRule |
|---|---|---|---|---|---|
| HasProperty | Variable | InputArguments | Argument[] | PropertyType | Mandatory |
6.7.16 SetInterlock Method
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);| 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
| 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.
| Attribute | Value | ||||
| BrowseName | SetInterlock | ||||
| References | NodeClass | BrowseName | DataType | TypeDefinition | ModellingRule |
|---|---|---|---|---|---|
| HasProperty | Variable | InputArguments | Argument[] | PropertyType | Mandatory |
6.7.17 SetParameter Method
This Method allows an OPC UA Client to set the parameters that are by the machine.
Signature
SetParameter(
[in] PackMLDescriptorDataType[] Parameter
); | Argument | Description |
| Parameter | The array of parameter that can be used by the method |
Method result codes are defined in Table 60
| 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.
| Attribute | Value | ||||
| BrowseName | SetParameter | ||||
| References | NodeClass | BrowseName | DataType | TypeDefinition | ModellingRule |
|---|---|---|---|---|---|
| HasProperty | Variable | InputArguments | Argument[] | PropertyType | Mandatory |