Skip to main content

Lot Management

Lot management refers to the process of organizing, tracking, and controlling batches of products or materials, known as 'lots' throughout their lifecycle in manufacturing, supply chain, or inventory management systems. A 'lot' typically represents a specific quantity of items produced or received at the same time, sharing the same production or manufacturing characteristics, such as batch number, expiration date, or production date.

Key aspects of lot management include:

  • Lot Identification: Each lot is assigned a unique identifier or code, which is used to track the lot through the entire supply chain, from production to sale or distribution.
  • Traceability: Lot management enables full traceability, meaning that at any point, it's possible to trace back a product to its source, including raw materials, production processes, and distribution channels. This is crucial for quality control, regulatory compliance, and responding to recalls or defects.
  • Inventory Control: By managing lots, businesses can optimize inventory levels, ensuring that older lots are used or sold before newer ones (e.g., first-in-first-out (FIFO) inventory management), which is particularly important for perishable goods.
  • Quality Assurance: Lot management helps in maintaining product quality by tracking specific lots, allowing for the identification of potential issues within a specific batch, and taking corrective actions if necessary.
  • Compliance: In industries such as pharmaceuticals, food and beverage, and chemicals, lot management is essential for meeting regulatory requirements, as it provides the necessary documentation and records to demonstrate compliance.
  • Recall Management: In case of product defects or safety concerns, lot management allows for targeted recalls, limiting the recall to specific affected lots rather than a wider range of products, reducing costs and minimizing damage to the brand.

Overall, effective lot management enhances operational efficiency, ensures product quality, and helps companies meet regulatory standards, while also providing the necessary tools for quick and precise action in response to issues like recalls or quality defects.


Managing Lots in Kanoa OPS

Lot Management in Kanoa OPS consists of a lot schema, lot functions and a pre-built user interface (views and components).

In essence, there are several objects...

  • Lot Operation - This is any operation that touches a lot such as receiving, transferring, splitting etc. We provide some basic operations out of the box, but you can create whatever operations you need.
  • Lot - This is the Lot itself. It describes the material and units for this lot.
  • Lot Event - The lot event is the input to or output from a lot operation. It contains the quantity in or out, the lot state, and where it came from or went to.

kanoa-ops

Lot Operations

We provide the following operations for you...

  1. Process - Consumes input lots and creates or adds to output lots
  2. Receive - Creates or adds to output lots only
  3. Scrap - Consumes from input lots only
  4. Split - Consumes from input lot and creates or adds to output lots
  5. Transfer - Consumes from input lots and creates or adds to output lots

Lot Operations and Lot States are configurable. See Lot Configuration for more details.


Executing Lot Operations

The Lot Manager screen shows the location and state of all Lots. Lot Operations can be executed from this screen, however it is intended more to show how lot operations can be executed and it is expected that custom operator screens would be created using this screen as an example.

kanoa-ops


Lot Traceability

The Kanoa Node Chart component provides a way to visually trace all the operations, lots and events associated with a lot.

kanoa-ops


Lot UDTs

Kanoa Trace includes three UDTs (User Defined Types) to support common 'consumption-production' lot tracking workflows. These UDTs are designed to work together, enabling structured lot management within the Kanoa MES environment.

  • lotQueueFIFO represents a queue of lots, typically associated with an asset and a set of filter conditions, that will be consumed following a first-in, first-out (FIFO) priority.
  • lotAccumulator represents a new queue of lots that will be generated with specific properties such as location asset and lot state.
  • lotOperationManager represents an active Kanoa lotOperationEvent and serves as the link between a lotQueueFIFO and a lotAccumulator.

The following example will be referenced throughout the documentation:

  • Silo 9 (assetId: 9) stores Material A
  • Line 10 (assetId: 10) consumes Material A, processes it into Material B, and sends it to Silo 11
  • Silo 11 (assetId: 11) stores Material B

lotOperationManager UDT

The lotOperationManager UDT tracks an active Lot Operation Event on an asset. The setupLotOperation tag is configured to create a lotOperationEvent of a specified type and asset. The generated lotOperationEventId is shared as a tag for other lot functions and UDTs to reference.

Parameters

  • assetId (int) - The asset ID used when creating a new lotOperationEvent
  • lotOperationName (string) - The name of the lotOperationEvent

Tags

  • lotOperationEventId (int) - The active lotOperationEventId used by the lotOperationManager
  • setupLotOperation (bool) - When set to True, a script to create a new lotOperationEvent with the following parameters:
    • lotOperationEventId (int): null
    • lotOperationId (int): derived from lotOperationName parameter
    • tStamp (datetime)
    • enabled (bool)
    • assetId (int): assetId parameter

The returned lotOperationEventId is stored in the lotOperationEventId tag. If assetId or lotOperationName are null, lotOperationEventId will also be set to null.

Example Setup

Create a new lotOperationManager UDT instance named processOpMgr. Set the parameters to...

  • assetId (int) 10 (for Line 10)
  • lotOperationName (string): 'Process'
  • Configure setupLotOperation:
    • Set as an Expression tag
    • Use {[.]../../Line/OEE/workOrderName} (path to Line 10's Work Order Name)

This setup creates a 'Process' lotOperationEvent on Line 10 whenever the Work Order Name changes. The event ID is stored for reference by other UDTs.


lotQueueFIFO UDT

The lotQueueFIFO UDT manages lot consumption from an asset based on specified criteria. It maintains a FIFO queue of lots to be consumed and records consumption events against an active lotOperationEventId.

Parameters

  • assetPath (string): Optional. Automatically sets inputLotEventInfo tags based on an asset's OEE tags
  • countOnIncrease (int): Determines whether lot quantities count on an increase (1, default) or decrease (0)
  • inputAssetId (int): Used as a filter when searching for valid input lots
  • lotOperationPath (string): Optional. Automatically sets the lotOperationEventId based on a lotOperationManager

Tags

  • inputLotEventFilter

    • lotStateName (string): Filter for valid input lots
    • lotStateReasonName (string): Filter for valid input lots
  • inputLotEventInfo

    • shiftName (string): Shift name for input lot events
    • workOrderName (string): Work order name for input lot events.
  • counterValue (int): Tracks total sourceTag changes since the last lotOperationEventId reset

  • enabled (bool): Enables the UDT logic

  • lotOperationEventId (int): Assigned to created input lot events. Resetting this value resets counterValue

  • sourceTag (int): Triggers consumption logic when changed

Example Setup

  1. Create a lotQueueFIFO UDT named silo9FIFO.

  2. Set parameters:

    • assetPath = Line 10's OEE tag path
    • countOnIncrease = 1
    • inputAssetId = 9
    • lotOperationPath = processOpMgr
  3. Configure inputLotEventFilter:

    • lotStateName = 'OK'
    • lotStateReasonName = 'OK'
  4. Enable lotQueueFIFO

  5. Set sourceTag to Silo 9's discharge counter

When the sourceTag increases, lotQueueFIFO finds lots meeting the criteria in Silo 9 and records consumption against the oldest available lot.


lotAccumulator UDT

The lotAccumulator UDT manages the creation of new lots based on predefined rules. It tracks material accumulation, assigns lot properties, and associates production events with an active lotOperationEventId.

Parameters

  • alwaysMakeNewOutputLot (int):Whether to create a new lot each time sourceTag changes
  • assetPath (string): Optional. Automatically sets outputLotEventInfo based on an asset's OEE tags
  • countOnIncrease (int): Determines whether lot quantities count on an increase (1, default) or decrease (0)
  • lotOperationPath (string): Optional. Automatically sets the lotOperationEventId based on a lotOperationManager

Tags

  • outputLotEventInfo
    • assetId (int)
    • comment (String)
    • lotOperationEventId (int)
    • lotStateName (string)
    • lotStateReasonName (string)
    • shiftName (string)
    • workOrderName (string)
  • outputLotInfo
    • itemName (string)
    • itemUnitName (string)
    • lotName (string)
  • counterValue (int): Tracks sourceTag changes since the last lotOperationEventId reset
  • enabled (bool): Enables the UDT logic
  • sourceTag (int): Triggers lot accumulation when changed

Example Setup

  1. Create a lotAccumulator UDT named silo11Accumulator
  2. Set parameters:
    • alwaysMakeNewOutputLot = False
    • assetPath = Line 10's OEE tag path
    • countOnIncrease = 1
    • lotOperationPath = processOpMgr
  3. Configure outputLotEventInfo:
    • assetId = 11
    • lotStateName = 'OK'
    • lotStateReasonName = 'OK'
  4. Enable lotAccumulator
  5. Set sourceTag to Silo 11's accumulation counter

When the sourceTag increases, a lot named after the Line 10 Work Order (e.g., WO123-001) is created or updated.


Example Scenario Revisited

We now have 3 UDTs that work together to track material flow through the scenario described above.

  • processOpMgr represents the active manufacturing process happening on Line 10. It has Line 10's asset ID, and it creates a new lotOperationEvent every time Line 10 gets a new Work Order.
  • silo9FIFO tracks material coming out of Silo 9 and into Line 10. When it observes material going into Line 10, it will look through any lots currently associated with Silo 9 and record consumption against the oldest lots, following FIFO. These events are associated to the processOpMgr lotOperationEvent.
  • silo11Accumulator tracks material coming out of Line 10 into Silo 11. When it observes material going into Line 10, it make a new lot named according to the current work order on Line 10 and record that production towards it. These events are associated to the processOpMgr lotOperationEvent.