The OPC UA PackML information model is a representation of the PackML data model in OPC ObjectTypes, VariableTypes, DataTypes and ReferenceTypes.
This model generates standard types. All PackML types will be defined in their own Namespace and will begin with “PackML” A key point is a standard ObjectType representation of the StateMachines defined in PackML. The model also defines some standard instances that are expected as a starting point for this model.
The following conventions apply to ObjectType, VariableType and DataType naming:
- All ObjectTypes include “ObjectType” as part of the name
- All StateMachines will end in “StateMachine”, all States will end in “State”, All Transitions will end in “Transition”
- 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. This specification is typically implemented in a PLC, Annex C provides a non-normative copy of the DataType mapping described in PLC Open
Figure 9 - System Overview
Figure 9 illustrates the scope of PackML in a typical environment, with units acting as OPC UA Servers and a line controller as an OPC UA Client application. It defines a standard set of interfaces to and from a unit/machine, so that it can be controlled as an element of an overall production line. It maps the internal states of the unit into a standard state model, and internal commands into a standard set of commands, hiding the details of the actual implementation of the unit’s code.
Figure 9 also illustrates another typical example in which units perform peer-to-peer communication to coordinate the states and modes of an entire line. In this situation, each unit could act as both an OPC UA Server (of their own local state) and an OPC UA Client to communicate to upstream and downstream units.