KPI’s are important metrics for quantifying and optimizing the manufacturing performance of a company. In the following, selected examples are used to explain how the required KPI’s can be calculated using this specification. The KPI definitions used are taken from the ISO 22400-2  specification.
The following options are available for determining quantities.
Determination using job variables
In the case where a job represents a production order to be processed by the machine tool, the current values for PQ and GQ can be read from the ProductionJobType/PartsCompleted and ProductionJobType/PartsGood variables of the associated job data structure. This also applies if the individual parts to be produced are modelled below this data structure.
Determination by means of events
Alternatively, client-side tracking of PQ and GQ can be achieved by subscribing to the event type ProductionPartTransitionEventType. For transitions that signal the completion of processing of a part (new State is Ended or Aborted), the value of PQ must be increased; depending on the entry for PartQuality, the value of GQ must also be increased, as applicable.
Determination via ProductionStatisticsType
The variable ProductionStatisticsType/PartsProducedInLifetime can be used to determine PQ (produced quantity). To do this, the OPC UA Client must determine the variable value at the start and end of the production order and then calculate the difference.
Scrap Quantity (SQ)
Rework Quantity (RQ)
The machine does not usually provide a count of rework and for this reason rework has not been included in the model. Therefore, the value for RQ cannot be determined via the interface.
Time KPI’s may depend on external parameters that are not available in the machine tool controls. For this reason, relevant statuses are presented rather than absolute time values. To determine the time KPI’s, the status duration must be measured. For complex time KPI’s, the value results from measuring the combined duration of multiple relevant statuses.
General: Determination with the use of status variables
- MachineryItemState (MachineryItemState_StateMachineType) to represent the machine status in terms of production and technical availability (error status).
- MachineryOperationMode (MachineryOperationModeStateMachineType) to represent the operation mode (production, order-related setup, general maintenance).
Both the above data types are defined in OPC 40001-1 (from version 1.02 onwards). Both objects each contain a CurrentState variable that represents the current state.
General: Determination by means of Events
The current status of the production job is represented in the State variable of the ProductionJobType. State is of the type ProductionJobStateMachineType and sends an event of the type ProductionJobTransitionEventType with every state change. When processing these events, the variable State can be used to determine the current state by evaluating the respective value ToState.
Actual Production Time (APT)
If event-based processing is to be used, the production time is the sum of the times between entering and leaving the Running State. For the other, non-productive time categories, the following then applies: When leaving the Running State, the subsequent State and, if applicable, the type of interruption must be evaluated in each case, to assign the accrued time until the next state change to the appropriate category.
Actual Unit Down Time (ADOT)
Actual Unit Delay Time (ADET)
Actual Unit Setup Time (AUST)
Order related setup times are the times in which the following conditions are met:
Actual Order Execution Time (AOET)
This value can be determined from the above defined KPI’s as follows:
The OEE (Overall Equipment Effectiveness) is the product of Availability, Effectiveness and Quality Rate. These measures are calculated as follows:
Availability = APT / PBT
Effectiveness = PRI x PQ / APT
Quality rate = GQ / PQ
In addition to the indicators APT, PQ and GQ as previously defined, the planned variables PBT (Planned busy time) and PRI (Planned run time per item) are required. This information usually comes from an MES or ERP and not from the machine, so it has not been included in this specification. To calculate the OEE, this information must therefore be determined from the connected MES or ERP.
 ISO 22400-2: 2014. Automation systems and integration–Key performance indicators (KPIs) for manufacturing operations management–Part, 2
 OPC 40001-1, OPC UA for Machinery – Part 1: Basic Building Blocks