7 OPC UA ObjectTypes
7.1 WSMachineType ObjectType Definition
The WSMachineType ObjectType Definition provides the structure of a Weihenstephan Standard machine and is formally defined in Table 15. Instances of this type are to be organized in the Machines folder as specified in the CS for Machinery.
| Attribute | Value | ||||
| BrowseName | WSMachineType | ||||
| IsAbstract | False | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Other |
|---|---|---|---|---|---|
| Subtype of the 0:BaseObjectType defined in OPC 10000-5 | |||||
| 0:HasComponent | Object | Alarms | 2:FunctionalGroupType | O | |
| 0:HasComponent | Object | BatchAndArticleTracing | 2:FunctionalGroupType | O | |
| 0:HasComponent | Object | ComputedValues | 2:FunctionalGroupType | O | |
| 0:HasComponent | Object | Counters | 2:FunctionalGroupType | O | |
| 0:HasAddIn | Object | 2:Identification | 3:MachineIdentificationType | M | |
| 0:HasComponent | Object | MeasuredValues | 2:FunctionalGroupType | O | |
| 0:HasComponent | Object | OperatingModes | 2:FunctionalGroupType | O | |
| 0:HasComponent | Object | OperatingStates | 2:FunctionalGroupType | O | |
| 0:HasComponent | Object | Parameters | 2:FunctionalGroupType | O | |
| 0:HasComponent | Object | Programs | 2:FunctionalGroupType | O | |
| 0:HasComponent | Object | Warnings | 2:FunctionalGroupType | O | |
| 0:HasProperty | Variable | WSMachineProfile | String | PropertyType | M |
| 0:HasProperty | Variable | WSVersion | String | PropertyType | M |
| 0:HasProperty | Variable | WSVersionProject | String | PropertyType | O |
| 0:HasProperty | Variable | WSVersionVendor | String | PropertyType | O |
All components of the type FunctionalGroupType represent categories for WS DataPoints. A description of the individual WS Categories can be found in Table 10.
The Identification-AddIn contains information about the identification and nameplate of a machine.
WSMachineProfile provides the machine profile according to the respective domains of the Weihenstephan Standards.
WSVersion provides the WS Domain and version number of the WS interface.
WSVersionProject provides the project and version number of the project-specific library.
WSVersionVendor provides the vendor and version number of the vendor-specific library.

7.2 WSBaseObjectType Definition
The WSBaseObjectType is formally defined in Table 16. This data type is required for compatibility with WS Protocol, where the WS TagNumber is usually used to identify a WS DataPoint. In OPC UA the WS BrowseName shall be used as BrowseName for identification. Thus the WSTagNumber property is optional.
| Attribute | Value | ||||
| BrowseName | WSBaseObjectType | ||||
| IsAbstract | False | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Other |
|---|---|---|---|---|---|
| Subtype of the 0:BaseObjectType defined in OPC 10000-5 | |||||
| 0:HasProperty | Variable | WSTagNumber | UInt16 | 0:PropertyType | O |

7.3 WSAlarmType ObjectType Definition
The WSAlarmType provides two variables to inform about the current alarm and is formally defined in Table 17.
The WSAlarmCode can be used to pass an integer to the client and map it to a language-specific message. WSAlarmMessage contains the message as localizedText.
For the future it is planned to use OPC UA functionalities like Alarms and Conditions for this data point. As soon as this is available in the Weihenstephan Standards, this object definition will be obsolete.
| Attribute | Value | ||||
| BrowseName | WSAlarmType | ||||
| IsAbstract | False | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Other |
|---|---|---|---|---|---|
| Subtype of the WSBaseObjectType | |||||
| 0:HasComponent | Variable | WSAlarmCode | UInt32 | BaseDataVariableType | M |
| 0:HasComponent | Variable | WSAlarmMessage | LocalizedText | BaseDataVariableType | O |
WSAlarmCode shall be used to pass an integer to the client and map it to a language-specific message. If there ist no alarm, the value of the WSAlarmCode variable is set to 0.
WSAlarmMessage contains the message as localizedText. If there is no alarm, the value of the WSAlarmMessage variable is empty (empty string).

7.4 WSWarningType ObjectType Definition
The WSWarningType provides two variables to inform about the current warning and is formally defined in Table 18.
For the future it is planned to use OPC UA functionalities like Alarms and Conditions for this data point. As soon as this is available in the Weihenstephan Standards, this object definition will be obsolete.
| Attribute | Value | ||||
| BrowseName | WSWarningType | ||||
| IsAbstract | False | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Other |
|---|---|---|---|---|---|
| Subtype of the WSBaseObjectType | |||||
| 0:HasComponent | Variable | WSWarningCode | UInt32 | BaseDataVariableType | M |
| 0:HasComponent | Variable | WSWarningMessage | LocalizedText | BaseDataVariableType | O |
WSWarningCode shall be used to pass an integer to the client and map it to a language-specific message. If there ist no alarm, the value of the WSWarningCode variable is set to 0.
WSWarningMessage contains the message as localizedText. If there is no alarm, the value of the WSWarningMessage variable is empty (empty string).

7.5 WSBaseStateMachineType ObjectType Definition
The WSBaseStateMachineType provides the available states according to the PackML states and is formally defined in Table 19. The WS DataPoint WS_Cur_State has the type definition WSBaseStateMachineType and is defined as follows: This machine can be in different operating states. These states and the corresponding transitions are described in this WS DataPoint.
This ObjectType is required for compatibility with WS Protocol, where the WS TagNumber is usually used to identify a WS DataPoint. In OPC UA the WS BrowseName shall be used as BrowseName for identification. Thus the WSTagNumber property is optional.
| Attribute | Value | ||||
| BrowseName | WSBaseStateMachineType | ||||
| IsAbstract | False | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Other |
|---|---|---|---|---|---|
| Subtype of the 4:PackMLBaseStateMachineType defined in OPC 30050 | |||||
| 0:HasProperty | Variable | WSTagNumber | UInt16 | 0:PropertyType | O |

7.6 WSExecuteStateMachineType ObjectType Definition
The WSExecuteStateMachineType provides all of the base states defined in PackML and extends them by the WS-specific states HeldState and SuspendedState and is formally defined in Table 20.
| Attribute | Value | ||||
| BrowseName | WSExecuteStateMachineType | ||||
| IsAbstract | False | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Other |
|---|---|---|---|---|---|
| Subtype of the 4:PackMLExecuteStateMachineType defined in OPC 30050 | |||||
| 0:HasComponent | Object | HeldState | WSHeldStateMachineType | M | |
| 0:HasComponent | Object | SuspendedState | WSSuspendedStateMachineType | M | |
HeldState: The State is a substate of Held and is defined in 7.7.
SuspendedState: The State is a substate of Suspended and is defined in 7.8.

7.7 WSHeldStateMachineType Definition
The WSHeldStateMachineType provides the WS-specific substates of the PackML state Held and is formally defined in Table 21.
| Attribute | Value | ||||
| BrowseName | WSHeldStateMachineType | ||||
| IsAbstract | False | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Other |
|---|---|---|---|---|---|
| Subtype of the 0:FiniteStateMachineType defined in OPC 10000-5 | |||||
| 0:HasComponent | Object | EquipmentFailure | StateType | M | |
| 0:HasComponent | Object | ExternalFailure | StateType | M | |
EquipmentFailure: Failure, which occurs in the unit/machine itself and leads to a unit/machine stop.
ExternalFailure: A failure which is not attributable to the unit/machine but which nonetheless leads to a unit/machine stop.

7.8 WSSuspendedStateMachineType Definition
The WSSuspendedStateMachineType provides the WS-specific substates of the PackML state Suspended and is formally defined in Table 22.
| Attribute | Value | |||||
| BrowseName | WSSuspendedStateMachineType | |||||
| IsAbstract | False | |||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Other | |
|---|---|---|---|---|---|---|
| Subtype of the 0:FiniteStateMachineType defined in OPC 10000-5 | ||||||
| 0:HasComponent | Object | Lack | 0:StateType | M | ||
| 0:HasComponent | Object | LackBranchLine | 0:StateType | M | ||
| 0:HasComponent | Object | Prepared | 0:StateType | M | ||
| 0:HasComponent | Object | Tailback | 0:StateType | M | ||
| 0:HasComponent | Object | TailbackBranchLine | 0:StateType | M | ||
Lack: The unit/machine shall not produce product in this state due to a lack detected in the inlet of the machine.
LackBranchLine: The unit/machine shall not produce product in this state due to a lack detected in the branch line inlet of the unit/machine.
Prepared: The unit/machine is ready to carry out its intended function. However, it is in a waiting state which was not recognized as a lack or tailback state and can automatically start again.
Tailback: The unit/machine shall not produce product in this state due to a tailback detected in the inlet of the machine.
TailbackBranchLine: The unit/machine shall not produce product in this state due to a tailback detected in the branch line inlet of the unit/machine.
