--- pdfexport: true alias: tutorials-containermanagement timetoread: True tutorial: full module: Materials & Containers description: "A Container is a standardized physical carrier used to hold, protect, organize, and move Materials, parts, or other containers throughout manufacturing and logistics processes." --- # Containers ## Overview A **Container** is a standardized physical carrier used to hold, protect, organize, and move **Materials**, parts, or other containers throughout manufacturing and logistics processes. A Container acts as the interface between production, storage, and transportation. It ensures that items can be handled safely, efficiently, and repeatedly across the shop floor. Manufacturers design containers to match: - The size and weight of the contents - The sensitivity of the Materials - The handling methods used on the shop floor, such as manual handling, forklifts, conveyors, AGVs, or robots Industrial containers can be: - Returnable or disposable - Standard or custom-designed - Made from plastic, metal, wood, or composite materials Beyond simple storage, containers support lean manufacturing principles by enabling: - Visual management - Work-in-process control - Ergonomic handling - Quality protection - Traceability A container is therefore not just a box. It is a critical logistics and production asset that connects material flow, safety, efficiency, and quality across the industrial shop floor. ## Examples | | | |---|---| | **FOUP for Semiconductor Wafers** | **SMT Board Magazine** | | ![FOUP container used in semiconductor manufacturing to transport silicon wafers safely between processing tools](images/container_tutorial_5.jpeg) | ![SMT board magazine used to store and transport printed circuit boards in SMT production lines](images/container_tutorial_6.jpeg) | | **Pallet** | **Trolley of Boxes** | | ![Industrial pallet used to move and store large quantities of materials using forklifts or automated systems](images/container_tutorial_7.png) | ![Trolley with stacked material boxes used for manual transport inside the production floor](images/container_tutorial_4.jpeg) | | **SMT Feeders Cart** | **ESD Box** | | ![SMT feeder cart used to transport multiple feeders that supply electronic components to placement machines](images/container_tutorial_8.png) | ![ESD-safe plastic container designed to protect sensitive electronic components from electrostatic discharge](images/container_tutorial_9.png) | | **Tray** | **Hopper** | | ![Tray container with multiple slots used to organize and transport individual parts or components](images/container_tutorial_10.png) | ![Industrial hopper container used to hold and dispense bulk materials during automated processing](images/container_tutorial_11.png) | ## Containers in MES A **Container** is an object of the **Container** entity that can hold **Materials**, **Resources**, or other **Containers**. A **Material Container** has a capacity defined by positions available for a given **Material** unit. A **Container** can hold multiple **Materials**, but each position can contain only one **Material**. Each position: - Is identified by a unique number - Has a defined capacity based on specific units The same concept applies to: - **Containers** that hold **Resources** - **Containers** that hold other **Containers** (SubContainers) ```mermaid flowchart TD SC[Sub Container] C[Container] F[Facility] MC[Material Container] CR[Container Resource] M[Material] R[Resource] SC --> C C --> F C --> MC C --> CR MC --> M CR --> R classDef mermaid_title color:#000, fill:#fafafa, stroke:#fafafa, stroke-width:0x, font-size:100%, font-weight:200; classDef mermaid_start color:#000, fill:#fafafa, stroke:#fafafa, color:#fafafa, stroke-width:0x, font-size:100%, visibility: hidden; classDef mermaid_businessdata color:#000, fill:#65CDE8, stroke:#65CDE8, stroke-width:0px, font-size:100%; classDef mermaid_nonbusinessdata color:#000, fill:#B7DEE8, stroke:#B7DEE8, stroke-width:0px, font-size:100%; classDef mermaid_entity color:#000, fill:#FB9F53, stroke:#FB9F53, stroke-width:0px, font-size:100%; classDef mermaid_entitylinked color:#000, fill:#FCD5B5, stroke:#FCD5B5, stroke-width:0px, font-size:100%; classDef mermaid_context color:#000, fill:#B9CDE5, stroke:#B9CDE5, stroke-width:0px, font-size:100%; classDef mermaid_optional color:#000, fill:#B7DEE8, stroke:#65CDE8, stroke-width:1px, font-size:100%, stroke-dasharray: 5 5; class C,SC mermaid_entity class F,M,P,R mermaid_businessdata class MC,CR mermaid_nonbusinessdata ``` A **Container** can be modeled in different ways: - **Magazine** — one position with multiple units per position (for example, a tray holding several units of the same Material) - **FOUP (Front-Opening Universal Pod)** — multiple positions with one unit per position (for example, a wafer carrier) - **Hybrid models** — combinations of both approaches ![Diagram showing container modeling examples with single-position and multi-position containers](images/container_tutorial_13.png) A **Container** can also be associated with a **Resource** when the Resource supports the position unit types defined in that Container type. ## State Model Containers have a system-defined state model: - **Available** — the Container can be used (empty or full) - **Unavailable** — the Container cannot be used - **In Transit** — the Container is shipping Materials to another Facility ```mermaid graph TD Start -->|Create Container| A1 A1[Available] -->|Make Container Unavailable| A2[Unavailable] A2 -->|Make Container Available| A1 A1 -->|Ship Material| L1[In Transit] L1 --->|Unship Material
Receive Material| A1 classDef mermaid_start color:#000, fill:#fafafa, stroke:#fafafa, color:#fafafa, stroke-width:0x, font-size:100%, visibility: hidden; classDef mermaid_entitylinked color:#000, fill:#FCD5B5, stroke:#FCD5B5, stroke-width:0px, font-size:100%; classDef mermaid_state color:#000, fill:#d7e4bd, stroke:#000, stroke-width:1px, font-size:100%, font-weight:300; class Start mermaid_start class A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12 mermaid_state class L1,L2,L3,L4,L5,L6 mermaid_entitylinked ``` You can also create custom **State Models** for Containers. ## Container Creation The Container creation wizard includes several required fields: - **Name** — identifies the Container - **Type** — used in configuration tables for container restrictions - **Facility** — defines where the Container will be used ![Container creation wizard showing required fields such as Name, Type, and Facility](images/container_tutorial_15.png) Additional configuration fields include: - **Position Unit Type** — defines whether the Container holds Materials, Containers, or Resources - **Total Positions** — defines the number of usable positions - **Capacity Validation Mode** — available only for Material containers If the **Capacity Validation Mode** is set to **Unit**, you can define the maximum Material quantity per position using **Capacity per Position**. !!! info For more information, refer to the User Guide: [[user-guide-create-container]] ![Container configuration fields including position type, total positions, and capacity validation settings](images/container_tutorial_16.png) ## Container Operations ### Manage Positions Use **Manage Positions** to add or remove objects from Container positions. The operation works the same way for all **Container Position Unit Types**: - Material - Container - Resource For **Material** or **Container**: ![Manage Positions operation showing assignment of materials or containers to container positions](images/container_tutorial_17.png) For **Container of Containers**, define the relationship between the container and sub-container in the **Container Type Relation** Generic Table. ![Generic Table configuration defining container-to-container relationships](images/container_tutorial_18.png) ![Example configuration showing how containers can contain other containers](images/container_tutorial_19.png) For **Container of Resources**, define the relationship in the **Container Resource Relation** Generic Table. ![Generic Table configuration defining container-to-resource relationships](images/container_tutorial_20.png) ![Example configuration showing containers that store resources](images/container_tutorial_21.png) ### Empty The **Empty** operation removes all objects from the Container. ### Store The **Store** operation places the Container in a **Storage Resource** located in any **Area** that belongs to the Container **Facility**. Precondition: The Storage Resource must have **Position Unit Type = Container**. ![Store operation showing a container being placed in a storage resource](images/container_tutorial_22.png) ![Example of a container stored inside a storage resource location](images/container_tutorial_23.png) ### Retrieve The **Retrieve** operation removes the Container from storage. ### Dock Use **Dock** to dock a Container to a **Resource**. Docking can occur on Resources with the following processing types: - **Load Port** - **Process** #### Load Port Docking Requirements: - The Resource must have a **Load Port Type** selected - The **Position Unit Type** must be **Container** ![Dock configuration example for a load port resource](images/container_tutorial_24.png) **Example:** In SMT lines, loader and unloader machines handle magazines of electronic boards. ![SMT loader/unloader machine handling board magazines](images/container_tutorial_25.png) #### Process Docking Requirements: - The Resource must have **Locations enabled** - A valid **Location** must be selected ![Docking configuration for a process resource with defined locations](images/container_tutorial_26.png) When docking a **Container of Resources** (for example feeder carts), the system automatically considers the Resources as consumable feeds in the docking Resource. **Example:** In SMT lines, component placement machines can handle multiple feeder carts. ![SMT placement machine capable of handling multiple feeder carts](images/container_tutorial_27.png) ![Example of feeder carts modeled as containers of resources](images/container_tutorial_28.png) The docking Resource must have: - **Has Resource Locations** enabled - **Location Type** defined - **Dimensions** configured ![Resource configuration showing enabled locations and location types](images/container_tutorial_29.png) Locations must include: - Location - Position Count - Position Consumable Feed Type - Enabled status ![Example configuration of resource locations used for container docking](images/container_tutorial_30.png) ### Undock The **Undock** operation removes the Container from the Resource. ![Undock operation removing a container from a resource](images/container_tutorial_31.png) ### Add Use the **Add** operation to assign the current Container to a **Parent Container**. Define the relationship in the **Container Type Relation** Generic Table. ![Generic Table configuration defining container type relationships](images/container_tutorial_18.png) ![Add operation assigning a container to a parent container](images/container_tutorial_32.png) ### Transfer The **Transfer** operation transfers the contents of a Container to another Container. The operation name varies depending on the **Container Position Unit Type**: - Transfer Materials - Transfer Resources - Transfer Containers You can transfer each position to a different Container. ![Transfer operation moving materials, resources, or containers between containers](images/container_tutorial_33.png) ### Make Unavailable Sets the **System State** of the Container to **Unavailable**. In this state, the Container is not visible in selection lists. ### Make Available Changes the Container **System State** back to **Available**. ## Container View The **Container View** displays the Container layout and contents. You can: - Visualize positions and assigned objects - View details of the selected position - Customize visible columns in **View Options** ![Container view showing positions and assigned objects](images/container_tutorial_34.png) ## Container Maintenance View The **Container Maintenance View** displays scheduled and ad-hoc **Maintenance Action Orders (MAO)** related to the Container. For more information, refer to [[tutorials-maintenance-management-deepdive]]. ![Container maintenance view displaying maintenance activities associated with a container](images/container_tutorial_3.png) ## Material Container Type Context The **Material Container Type Context** Smart Table defines restrictions for container usage. You can restrict container types based on: - **Area** - **Step** - **Product** - **Product Group** - **Material Type** - **Material Form** - **Material State** - **Capacity Class** You can also define the **maximum number of usable positions** for a Container type. !!! note To select a Step in this Smart Table, enable the Use Container Restrictions property. ### Example Example configuration using **Step**, **Material Type**, and **Container Type**. ![Material Container Type Context Smart Table defining container usage restrictions](images/container_tutorial_35.png) In this configuration, when you attempt to add a **Material** of type **Production** at the selected Step, only Containers of type **Box** appear in the selection list. ![Example showing filtered container selection based on configuration rules](images/container_tutorial_1.png) ![User interface showing available containers based on defined context rules](images/container_tutorial_2.png)