The PackMLBaseObjectType defines a base type that can be used with any machine or object. This base type provides all required information for a working PackML system.

image015.png

Figure 11 - PackMLBaseObjectType Overview

Table 3 formally defines the PackMLBaseObjectType.

Table 3 – PackMLBaseObjectType Definition

Attribute

Value

BrowseName

PackMLBaseObjectType

IsAbstract

False

Reference

Node Class

BrowseName

DataType

TypeDefinition

ModellingRule

RW

Subtype of the BaseObjectType from OPC 10000-5.

HasProperty

Variable

TagID

String

PropertyType

Optional

R

HasProperty

Variable

PackMLVersion

String

PropertyType

Optional

R

HasComponent

Object

Admin

PackMLAdminObjectType

Mandatory

HasComponent

Object

Status

PackMLStatusObjectType

Mandatory

HasComponent

Object

BaseStateMachine

PackMLBaseStateMachineType

Mandatory

HasComponent

Method

SetUnitMode

Defined in section 6.7.2

Mandatory

HasComponent

Method

SetMachSpeed

Defined in section 6.7.3

Mandatory

HasComponent

Method

SetProduct

Defined in section 6.7.4

Mandatory

HasComponent

Method

SetParameter

Defined in section 6.7.17

Mandatory

HasComponent

Method

RemoteCommand

Defined in section 6.7.15

Optional

HasComponent

Method

SetInterlock

Defined in section 6.7.16

Optional

TagID – provide an additional field in which an associated name (third party cross reference or other string) can be stored. It can also be an additional name used to identify this PackML System.

PackMLVersion – provides the version of the supported OMAC PackML

Admin provides administrative functionality required for the PackML OPC UA server. It is defined in section 6.3.4. The administrative functionality exposed by this Object should be restricted to only users with administrative rights.

Status provides the status information required for a PackML OPC UA Server. It is defined in section 6.3.3.

SetUnitMode method allows an OPC UA Client to change the mode of the machine. The available modes are part of the supported Modes and a Client can pass any of the values listed. The Method may return an error if the requested mode is not allowed based on either the current mode of the machine or the state of the machine. For additional details see the definition of the SetUnitMode Method in 6.7.2

SetMachSpeed Method allows a Client to change the machine speed.

SetProduct Method allows a Client to change the product(s) and the ProcessVariables and Ingredients. For additional details see the definition of SetProduct Method in 6.7.4 .

SetParameter Method allows a Client to set the parameters for the machine. For additional details see the definition of SetParameter Method in 6.7.17.

RemoteCommand Method allows a Client to send a command to the UA Server that is to be passed to the PackML Server and or upstream or downstream Servers. Parameters sent to the Remote system are typically used in the EXECUTE and STARTING states for a production task. With the restriction that RemoteCommand Parameter Values are limited to REAL values. For additional details see the definition of the RemoteCommand Method in 6.7.15

SetInterlock method allows a Client to set one of the interlocks associated with the system. For additional details see the definition of the SetInterlock Method in 6.7.16