This section defines any enumeration or structure that are defined as part of the PackML specification.
The ProductionMaintenanceModeEnum describes the predefined modes. This is a default mode enumeration. A Server may define additional enumeration that describe the modes they support, but any such enumeration must include “Produce” as enumeration 1 and if Maintenance or Manual are include, they must be 2 and 3 respectively. Any additional mode must start at 4 or greater. If vendor specific or end user specific mode enumerations are included, they shall be defined as a subtype of this enumeration. The ProductionMaintenanceModeEnum is the default enumeration that shall be used if no vendor or end user mode enumeration is defined. The ProductionMaintenanceModeEnum is defined in Table 12.
Table 12 – ProductionMaintenanceModeEnum values
Name |
Value |
Description |
Invalid |
0 |
This is an invalid mode |
Produce |
1 |
Machine is in production mode |
Maintenance |
2 |
Machine is in maintenance mode |
Manual |
3 |
Machine is in manual mode |
where the following definition apply:
- Produce corresponds to the PackML Production Mode which is routine production.
- Maintenance corresponds to the PackML Maintenance Mode which is the ability to run a machine independent of other machine in a production line.
- Manual corresponds to the PackML Manual Mode which provides direct control of the individual machine elements.
The PackMLCountDataType is used to generate summary information about the system. The information depending on the use might be related to produced product, defective materials or any other information that needs to be tracked. It is formally defined in Table 13
Table 13 – PackMLCountDataType Structure
Name |
Type |
Description |
PackMLCountDataType |
Structure |
|
ID |
Int32 |
A user defined value that represents the consumed (processed or defective) material. Typically, this is an SKU number or a user material master number. |
Name |
String |
The name is used to literally describe the material ID, and its associated material. |
Unit |
EUInformation |
The unit tag is used to describe the names associated with a specific material used by the machine. |
Count |
Int32 |
The amount of consumed (processed or defective) material on the current production job. |
AccCount |
Int32 |
The cumulative count value of the material produced (or consumed). This counter gives the user a non-resetting counter that may be used for OEE calculations |
The PackMLDescriptorDataType provides the PackML Parameter structure. The PackMLDescriptorDataType is formally defined in Table 14
Table 14 – PackMLDescriptorDataType Structure
Name |
Type |
Description |
PackMLDescriptorDataType |
Structure |
|
ID |
Int32 |
A unique number assigned to the parameter. |
Name |
String |
The name of the parameter |
Unit |
EUInformation |
OPC UA engineering unit information |
Value |
Float |
This is the numeric value of the parameter |
|
. |
|
The PackMLIngredientsDataType provides the PackML Parameter structure. The PackMLIngredientsDataType is formally defined in Table 15.
Table 15 – PackMLIngredientsDataType Structure
Name |
Type |
Description |
PackMLIngredientsDataType |
Structure |
|
IngredientID |
Int32 |
A unique number assigned to the ingredient. |
Parameter |
PackMLDescriptorDataType[] |
The array of Parameter that correspond to the ingredient |
|
|
|
The PackMLProductDataType provides the PackML product information. The PackMLProductDataType is formally defined in Table 16.
Table 16 – PackMLProductDataType Structure
Name |
Type |
Description |
PackMLProductDataType |
Structure |
|
ProductID |
Int32 |
A unique number assigned to the product. |
ProcessVariables |
PackMLDescriptorDataType[] |
The array of Process variables associated with this product |
Ingredients |
PackMLIngredientsDataType[] |
The array of ingredients associated with this product. |
|
|
|
The PackMLRemoteInterfaceDataType provides the PackML remote connection information. The PackMLRemoteInterfaceDataType is formally defined in Table 17.
Table 17 – PackMLRemoteInterfaceDataType Structure
Name |
Type |
Description |
PackMLRemoteInterfaceDataType |
Structure |
This datatype is used with the RemoteCommand Method defined in 6.7.15.. |
Number |
Int32 |
This is the unique number for the downstream/upstream unit machine using a common tag structure as the unit machine. The number should correspond to a number on the communication network, such as network ID, or IP address identifier. This number corresponds to the “information sender” that is setting the command data in the RemoteInterface[#] structure of the unit machine. |
ControlCmdNumber |
Int32 |
A user defined command number associated with coded value from a remote unit. This number is a coded value sent from one node on the network to another. The value can be associated with a unit mode change request, speed change request, a state change request, etc. |
CmdValue |
Int32 |
This is the command value associated with the ControlCmdNumber above. The command value may be the speed requested, state change, etc. Example:For an upstream machine designated as #2 a control command number of 5 may be related to the speed setting value for the machine. A value of 400 can be used to modify the remote machine setpoint. Command.RemoteInterface[1].Number = 2 Command.RemoteInterface[1].ControlCmdNumber = 5 Command.RemoteInterface[1].CmdValue = 400 |
Parameter |
PackMLDescriptorDataType[] |
The parameter tags associated to commanded remote interface are typically used for command parameters that are given to the unit machine from remote machines. The parameters are typically needed for coordinating the unit machine or production with other machines. The parameter value may be anything from machine limit parameters to temperatures and counter presets. The parameters are typically limited to machine parameters as product and process parameters are described in later tags. |