Skip to content

Container Maintenance Events#

Overview#

In manufacturing, containers and carriers used to store and transport products can degrade over time, potentially leading to quality issues, reduced yield, and increased operational costs.

Implementing regular preventive maintenance, including routine inspections, cleaning, and refurbishment, helps significantly extend container lifespans and ensures consistent performance. Without proper maintenance, containers may deteriorate, requiring costly replacements and causing disruptions to manufacturing processes.

Critical Manufacturing MES helps manage container maintenance proactively. When creating or managing a Resource in the MES, activating the Enable Container Maintenance Events option allows the system to automatically track container usage through predefined maintenance counters. These counters increment each time one of the following operations occurs:

Operation Event
Add Container to Container Associate First
Add Material to Container Associate First
Dock Container Dock
Empty Container Disassociate Last
Manage Container Positions Associate First & Disassociate Last
Remove Container from Container Disassociate Last
Remove Material from Container Disassociate Last
Track-In Material Track In
Transfer Container Between Containers Associate First & Disassociate Last
Transfer Material Between Containers Associate First & Disassociate Last
Undock Container Undock
Ship Material Ship

Table: Events that can be associated to each Container-related operation.

Real Use Case#

Follow the steps below to understand how to use the Enable Container Maintenance Events feature using Critical Manufacturing MES.

Creating a Resource#

To start managing Container maintenance events, you first need to create and configure a Resource. Navigate to the Resource entity within the Business Data menu and select New from the button ribbon. Provide the following details in the General Data step of the Create Resource wizard:

  • Name - add a name for the Resource (for example, ProcessResource-001).
  • Type - choose a value from the ResourceType Lookup Table (for example, General).
  • Processing Type - select either Process or Line from the dropdown (for example, Process).
  • Area - choose the desired Area (for example, Cookie Manufacturing).

Select Next to continue.

Creating a Resource - step 1

Once in the Additional Information step, add the following information:

  • Position Unit Type - choose Material as the Resource position unit type.
  • Enable Container Maintenance Events - activate this toggle to enable container tracking.

Creating a Resource - step 2

Creating a Resource - step 2

Note

Additional configurations can be set when creating a Resource, but for simplicity, only key configurations relevant to this scenario are shown. For detailed information, see Create Resource and How to: Create a Resource.

Select Next to proceed to the Attributes step. For more information, see Attributes. If no attributes are defined, select Create to complete the operation.

Creating a Sub-Resource#

Now, create a Sub-Resource for your ProcessResource-001. Follow similar steps as above and enter the following information:

  • Name - add a name for the Resource (for example, LoadPort-0001).
  • Type - choose a value from the ResourceType Lookup Table (for example, General).
  • Processing Type - choose the Load Port processing type.
  • Area - choose the same Area as chosen for the ProcessResource-001 (in this example, Cookie Manufacturing).

Select Next to continue.

Creating a Sub-Resource - step 1

Once in the Additional Information step, add the following information:

  • Load Port Type - choose the load port type from the dropdown (for example, Input).
  • Position Unit Type - choose Container as the Resource position unit type.

Creating a Sub-Resource - step 2

After creating the Sub-Resource, in the Structure section of the Details view, choose the Manage button. This will open the Manage Resource Structure wizard. Add ProcessResource-001 as Parent Resource to LoadPort-0001 and select Update to complete the operation, as shown in the image below. For more information, see How to: Manage Resource Structure.

Manage Resource Structure - Add a Parent Resource

Creating a Container#

After creating the Resource and Sub-Resource, create a Container. So, navigate to the Container entity within the Business Data menu and select New from the top ribbon. Provide the following details in the General Data step of the Create Container wizard:

  • Name - add a name for the Container (for example, Container-0001).
  • Type - choose a value from the ContainerType Lookup Table (for example, Carrier).
  • Facility - choose a Facility that contains the Area previously defined for the Resource and Sub-Resource (in this example, Cookie Factory).
  • Position Unit Type - choose the Resource position unit type.
  • Total Positions - define the total number of positions for the Container (for example, 10).

Creating a Container

Creating a Container

Note

Additional configurations can be set when creating a Container, but for simplicity, only key configurations relevant to this scenario are shown. For detailed information, see Create Container and How to: Create a Container.

Select Next to proceed to the Attributes step. For more information, see Attributes. If no attributes are defined, select Create to complete the operation.

Adding a Container to a Resource#

Afterwards, add the Container you created to the Sub-Resource LoadPort-0001. First, add a new entry to the ContainerResourceRelation Generic Table, specifying the chosen Container Type (in this example, Carrier) and the matching Resource Type (in this example, Carrier). Confirm by selecting Add to complete this association.

Associate the Container type with the Resource type

Next, navigate to the Container-0001 page and select the Manage Positions button from the top ribbon. Since the Container was previously configured with a Resource position unit type, you will now be able to add Resources in the Container Positions wizard. Add the LoadPort-0001 Resource to the first position of Container-0001. Select Update to finalize the operation.

Manage Container Position

Creating a Maintenance Plan#

To create a Maintenance Plan, first create a Change Set or select an existing one. For more information, see Change Set.

After choosing the Change Set, add the following details to the General Data of the Create Maintenance Plan wizard:

  • Name - enter a name for the Maintenance Plan (for example, MaintenancePlan-0001).
  • Type - choose a value from the MaintenancePlanType Lookup Table (for example, Standard).

Create a Maintenance Plan

Select Next to proceed to the Attributes step. For more information, see Attributes. If no attributes are defined, select Create to complete the operation.

Adding Maintenance Activities#

Add two Maintenance Activities to the Maintenance Plan you just created by selecting the Edit button from the top ribbon, followed by the icon on the left panel. Use the configurations described below.

General Data tab:

  • Name - enter a name for the Maintenance Activity (for example, Activity 1).
  • Type - choose a value from the MaintenanceActivityType Lookup Table (for example, Standard).
  • Schedule Type - choose Usage Based as the schedule type.
  • Expected Duration - define the estimated time to complete the Maintenance Activity (for example, 10 hours).
  • Execution Role - specify the user role responsible for executing the activity (for example, Administrators).
  • Maintenance Type - choose the Maintenance type from the dropdown (for example, Preventive).
  • Material Type Restriction Mode - specify if there are restrictions for the Material type (in this example, Allow None).

Add Maintenance Activity

Schedule tab:

  • Counter Mode - indicate the counter behavior (in this example, Increasing).
  • Usage Early Due - define the threshold at which maintenance is recommended to start earlier than scheduled (for example, 10).
  • Usage Due - define the exact event count at which maintenance becomes due (for example, 15).
  • Usage Late Due - define the threshold at which maintenance is considered overdue (for example, 20).
  • Counter Type - specify how the events are counted towards maintenance scheduling (in this example, Count One).
  • Counter Event - specify the event triggering the counter increment from MaintenanceManagementEvent Lookup Table (for example, Dock).
  • Schedule Next Mode - indicate if the subsequent Maintenance Activities depend on completing the current activity (in this example, Dependant).

Add Maintenance Activity

General Data tab:

  • Name - enter a name for the Maintenance Activity (for example, Activity 2).
  • Type - choose a value from the MaintenanceActivityType Lookup Table (for example, Standard).
  • Schedule Type - choose Usage Based as the schedule type.
  • Expected Duration - define the estimated time to complete the Maintenance Activity (for example, 10 hours).
  • Execution Role - specify the user role responsible for executing the activity (for example, Administrators).
  • Maintenance Type - choose the Maintenance type from the dropdown (for example, Preventive).
  • Material Type Restriction Mode - specify if there are restrictions for the Material type (in this example, Allow None).

Add Maintenance Activity

Schedule tab:

  • Counter Mode - indicate the counter behavior (in this example, Increasing).
  • Usage Early Due - define the threshold at which maintenance is recommended to start earlier than scheduled (for example, 10).
  • Usage Due - define the exact event count at which maintenance becomes due (for example, 15).
  • Usage Late Due - define the threshold at which maintenance is considered overdue (for example, 20).
  • Counter Type - specify how the events are counted towards maintenance scheduling (in this example, Count One).
  • Counter Event - specify the event triggering the counter increment from MaintenanceManagementEvent Lookup Table (for example, Undock).
  • Schedule Next Mode - indicate if the subsequent Maintenance Activities depend on completing the current activity (in this example, Dependant).

Add Maintenance Activity

Note

Additional configurations can be set when adding Maintenance Activities, but for simplicity, only key configurations relevant to this scenario are shown. For detailed information, see Create Maintenance Plan, How to Create a Maintenance Plan, and How to Add Maintenance Activities.

Finally, set the Maintenance Plan you created Effective.

Associate a Maintenance Plan with a Container#

Next, associate the MaintenancePlan-0001 with Container-0001 by selecting the Associate With button from the top ribbon and choose Container. Add the Maintenance Activities associated to the Maintenance Plan you have created and choose the Owner Role (in this example, Administrators). For more information, see How to Associate an MP with an Entity.

Associate a Maintenance Plan with a Container

Associate a Maintenance Plan with a Container

Associate a Maintenance Plan with a Container

Tracking Container Usage#

Once you've completed the previous steps, you can begin tracking the Container usage. First, open the Maintenance Plan instance associated with your Container (in this example, MaintenancePlan-0001-Container-0001-0001).

Navigate to the Maintenance Schedule view and open the Maintenance Activities you've defined (such as Activity 1 and Activity 2). Within each activity page, locate the Scheduling section under the Details view. Here, you'll see the associated events configured for each activity. Initially, before any Container operations occur, the Usage field will display a value of zero. For example, Activity 1 will show the Usage as CountOne at Dock: 0, and Activity 2 will show CountOne at Undock: 0.

To verify the tracking mechanism, navigate to Container-0001 page and perform the operations you associated with the Maintenance Activities. Selecting Dock from the top ribbon will increment the Usage in Activity 1 to CountOne at Dock: 1. Similarly, selecting Undock from the top ribbon will increment the Usage in Activity 2 to CountOne at Undock: 1.

Watch the video below to see how to use this feature.