For an OPC UA user that may not be familiar with PackML, the following section provides a brief overview of key features that PackML provides along with a little background related to PackML and the concepts behind it.

The Organization for Machine Automation and Control (OMAC) was formed to help manufacturers work together to find new and innovative ways to be successful in their production operations. OMAC brought together leading manufacturers representing End-User Manufacturers, OEM Machine Builders, System Integrators, Technology Providers, and Non-Profit / Government Agency organizations to address issues that confront global manufacturing today. OMAC aims to collectively derive common solutions for both technical and non-technical issues in the development, implementation, and commercialization of open, modular architecture control technologies.

Manufacturing systems are made of collections of equipment, often from multiple suppliers, usually each with its own specific and custom interface. In order to make this collection of equipment operate together as a complete system, there is an integration effort required, and it is often time consuming and custom for each supplier.

PackML stands for Packaging Machine Language and is an interface standard originally used in batch manufacturing in the packaging industry but which is now used in multiple different types of production and assembly lines. The primary objective of PackML is to bring a common “look and feel” and operational consistency to all machines that make up a production line. PackML provides:

Standard defined machine states and operational flow

Overall Equipment Effectiveness (OEE) data

Root Cause Analysis (RCA) data

Flexible recipe schemes and common SCADA or MES inputs

PackML has been implemented in multiple formats for different industrial networks, with a proven benefit of reducing the integration time for adding new equipment to existing lines, or installing new lines.

In order to provide a standard interface PackML defines three elements:

  1. PackML Unit Modes - A standard model that is used to control which state is being used (Producing, Maintenance, Manual, ….).
  2. PackML StateMachine - Standard state machine models that are used to represent the internal operational state of the machine/unit. [note: StateMachine may change for Units and for the Mode of the unit]
  3. PackTags -A standard set of tag names and extension used to control the mode and state, send commands to the machine/unit, and monitor the status of the machine/unit.

These three aspects will be translated to OPC UA models

A Unit can be in different modes, for example Producing, Maintenance, Manual, Clean, Calibration, etc. A Unit control mode is an ordered subset of states and commands that determines the strategy carried out by the Unit process, as shown in Figure 2. For example, the producing mode is used when the unit is producing, a manual mode may be used when the unit is being manually controlled for troubleshooting.

The states that a unit can be in depends on the mode. In the producing mode there is a state called SUSPENDED, where the equipment is not running due to an external event, but this state is not available in maintenance mode, neither is the COMPLETE state.

image006.png

Figure 2 – Mode Management of States

PackML includes a standard manner of changing modes as well as displaying the current mode. For additional information please see the ISA-TR88.00.02-2015.

PackML Interface State Model is used to visualize and control the state of a unit/machine. The PackML Interface State Model is a state model that represents the Unit/Machine State in a standardized manner. The interface description is based on a state model, a state description and related control commands. For additional information see ISA-TR88.00.02-2015.

At its core, PackML is the definition of standard tag names and standard values for the tags. These are used to control the state model of the unit (command tags), determine the state and status of the equipment (status tags), and administer the equipment (admin tags).

The PackML object model is composed of a series of tags. These tags can be one of three general type of tags Command Tags, Status Tags and Administrative Tags.

Command tags allow interaction with the state machine and general functionality of the server. Command tags include changing units, changing state machines. For additional detail see ISA-TR88.00.02-2015. In OPC UA command tags are generally mapped to Methods.

Status tags provide information about the state of the machine or device. This includes feedback from the commands issued and the general status. For additional detail see ISA-TR88.00.02-2015.

Admin tags provide information about alarming in the machines or device. This include Alarm history and some summary statistics about the machine or device. For additional detail see ISA-TR88.00.02-2015.

Several PackTags have specific values defined.

This describes the set point for the current speed of the unit/machine in primary packages per minute. Keeping speed in a primary package unit of measure (UOM) allows for easier control integration. The primary package UOM is the normalized rate for the machine, normalized to a value chosen on the line.

The following example is for a bottle line running at balance line speed of 1000 packages/minute. The UOM chosen is equivalent to be the actual count of the Filler, or Labeler.

Machine

Actual Pack Counts

Primary Packages (UOM)

Bulk Depalletizer

41.667 (24 pack => 1000/24 = 41.667)

1,000

Filler

1,000

1,000

Labeler

1,000

1,000

Packer

66.667 (15 pack => 1000/15 = 66.667)

1,000

Bulk Depalletizer

41.667 (24 pack => 1000/24 = 41.667)

1,000

Indicates materials are ready for processing. It is comprised of a series of bits with 1 equalling ready or not low, 0 equalling not ready, or low. Each bit represents a different user material. The word contains bits that indicate when a critical material or process parameter is ready for use. It can also be used for production, and/or indication of low condition. This information may be sent to the unit machine at any time as the interlock information changes.

The format and meaning of the material interlock bits are determined by the machine/unit supplier, as shown in the example below:

Machine/Unit

Material Interlock Bit #

Material Description

Filler

0

500 ml Bag

Filler

1

Flacked Cereal

Labeler

0

Small Box

Labeler

1

500 ml Bag

Labeler

2

Small Box Label

An array of structure elements used for coordinating upstream or downstream machines in a cell with multiple unit machines.

The array is a length that is equal to the number of machines that will be sending commands. This could be expanded if a machine is capable of receiving material from multiple upstream and/or downstream machines, thereby receiving multiple commands and parameters.

This can be used for machine to machine coordination without supervisory control, or for tightly controlled units under supervisory control. These tags are typically used for consumption within the unit machine procedure. Specifically, if a remote controller was issuing commands, the commands would be read by this tag and used in the unit machine.