> For the complete documentation index, see [llms.txt](https://docs.tricloudnexus.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tricloudnexus.io/management-portal/oee/use-cases.md).

# Use Cases

End-to-end scenarios using Mintastic Fredericia's gumbase production line — one per OEE pillar — that walk through configuring OEE on real equipment.

These scenarios use **Mintastic Fredericia's gumbase production line** as the running example. Mintastic produces chewing gum at their Fredericia plant — raw ingredients flow through Weighing, Mixing, Pelletizing, and QA Viscosity before the gumbase moves downstream to the Rolling Line, Drying, Coating, and Packing. Each scenario targets one machine in this process, one per OEE pillar.

All three assume the [Prerequisites](/management-portal/oee/prerequisites.md) are met (OEE feature on, OEE-purposed data store, Contributor/Administrator role) and that you’ve already created a Site with an Area and an Equipment node — see [Site Structure](/management-portal/oee/sites/site-structure.md).

***

## Scenario 1 — Availability on the Mixer

**Goal:** Track how much of the scheduled shift the Mixer actually runs, attribute downtime to specific causes, and exclude planned cleaning cycles from the score.

The **Mixer** in Mintastic's **Gumbase** area connects to the PLC via OPC-UA and exposes a heater-enable tag (`FA.Gum.Mix.HE`) that is `1` while the mixer is active and `0` whenever it stops. A separate numeric error code tag signals the fault category when the mixer stops unexpectedly — `0` means no active error.

**You should have:**

* `FA.Gum.Mix.HE` (Digital 0/1) collected in Designer — `1` = running, `0` = stopped.
* An error code tag on the same asset, numeric, where `0` means no active error.
* A list of the mixer's known stop causes — for example: `Motor overload`, `Temperature fault`, `Ingredient hold`, `CIP cleaning`.

**Steps:**

1. **Define Availability Categories** — open [OEE → Availability](/management-portal/oee/availability-categories.md) and confirm you have at least `Running`, `Unplanned Stop`, and `Planned Stop`. Add a separate `Planned Stop` category called `CIP Cleaning` if you want it in a distinct color on dashboards.
2. **Create a Shift Calendar at the Site** — on the Mintastic Fredericia Site's [Shifts](/management-portal/oee/sites/site-shifts.md) tab, add a `Production` calendar covering Day Shift (06:00–14:00), Evening Shift (14:00–22:00), and Night Shift (22:00–06:00).
3. **Enable Availability on the Equipment** — on the Mixer Equipment tab, turn **Calculate Availability** on and set the **Availability Target** (e.g. `85%`).
4. **Wire the Equipment Run State** — on [Tag Mapping → State & Error Codes](/management-portal/oee/equipment/tag-mapping/state-and-error-codes.md), pick `FA.Gum.Mix.HE` as a Single Tag with **Direct** value parser.
5. **Wire the Error Code** — same tab, pick the error code tag, leave **Error code tag configuration** at `Single Event (point-in-time)`. On the Stop Causes tab, set **No error Value** to `0`.
6. **Map the states** — on [States Mapping](/management-portal/oee/equipment/states-mapping.md), add `1 → Running` and `0 → Unplanned Stop`.
7. **Define Stop Causes** — on [Stop Causes](/management-portal/oee/equipment/stop-causes-and-error-codes.md), add the mixer's stop list: `Motor overload` (Unplanned Stop), `Temperature fault` (Unplanned Stop), `Ingredient hold` (Unplanned Stop), `CIP cleaning` (Planned Stop).
8. **Map error codes** — add Error Code Mappings: e.g. `101..105 → Motor overload`, `201..205 → Temperature fault`, `301 → Ingredient hold`.
9. **Assign the shift calendar** — on the Equipment's [Shifts](/management-portal/oee/equipment/shift-assignment.md) tab, pick `Production`.
10. **Schedule Planned Stops** — on [Planned Stops](/management-portal/oee/equipment/planned-stops.md), add the daily CIP cycle (e.g. 13:30–14:00, daily, Availability Category `CIP Cleaning`) and the weekly maintenance window (Fridays 06:00–08:00, Availability Category `Planned Stop`).
11. **Switch OEE Enabled on** — back on the Equipment tab. Save.
12. **Verify** — let the mixer run for a shift. Confirm that:
    * CIP time does **not** count against Availability.
    * Motor overload events attribute correctly to the `Motor overload` Stop Cause.
    * Time outside the shift is excluded from the score entirely.

***

## Scenario 2 — Performance on the Rolling Line

**Goal:** Measure how close the Rolling Line runs to the ideal throughput for each gum recipe currently in production.

The **Rolling Line** in Mintastic Fredericia forms mixed gumbase into gum strips. Mintastic runs several gum recipes — Spearmint, Peppermint, Bubblegum — on the same line, and each recipe has a different ideal throughput based on its rheology. A `ProductId` tag on the line emits the current recipe's Material Number when a batch starts; an order tag emits a completion event when the batch ends.

**You should have:**

* A `ProductId` tag emitting the current recipe's Material Number (e.g. `SM-001` for Spearmint).
* An `OrderedQuantity` tag emitting the target batch size.
* A list of Mintastic's gum recipes with their ideal cycle times:

| Product    | Material Number | Ideal Cycle Time |
| ---------- | --------------- | ---------------- |
| Spearmint  | `SM-001`        | 3.2 kg/min       |
| Peppermint | `PM-001`        | 3.0 kg/min       |
| Bubblegum  | `BG-001`        | 2.5 kg/min       |

**Steps:**

1. **Build the Site's product list** — on the Mintastic Fredericia Site's [Products](/management-portal/oee/sites/site-products.md) tab, create a Product List named `Gum Recipes`.
2. **Import the recipes from Excel** — choose **Download template**, fill in Name, Material Number, Ideal Cycle Time, and Unit of Measure for each recipe, then **Import** the file.
3. **Enable Performance on the Equipment** — on the Rolling Line Equipment tab, turn **Calculate Performance** on and set the target (e.g. `90%`).
4. **Wire Product Id, Order, and Ordered Products** — on [Tag Mapping → Product & Order](/management-portal/oee/equipment/tag-mapping/product-and-order.md), pick the `ProductId` and `OrderedQuantity` tags. Set **Order tag configuration** to **Single Event (start & end)** or **Event Pair** so the engine receives an order-completion event — the engine aligns count tags to orders by exact timestamp match, and configuring count tags without a completion event blocks Save. See [Aligning counts with order completion](/management-portal/oee/equipment/tag-mapping/product-and-order.md#aligning-counts-with-order-completion).
5. **Assign the Product List on the Equipment** — on [Equipment Products](/management-portal/oee/equipment/equipment-products.md), select `Gum Recipes` and set a **Default Ideal Cycle Time** (e.g. `2.5 kg/min` — the slowest recipe as a safe fallback).
6. **Save and verify** — run a known Spearmint batch. Query the OEE data store and confirm Performance ≈ actual throughput ÷ 3.2 kg/min. If Performance reads 100% across every recipe, the Ideal Cycle Times are likely too generous — audit against an observed good run.

{% hint style="info" %}
Performance is the easiest pillar to misconfigure because the Ideal Cycle Time field directly drives the score. Set it based on a known-good observed run, not a vendor-supplied maximum figure.
{% endhint %}

***

## Scenario 3 — Quality on the Pelletizing step

**Goal:** Roll Quality into the OEE score by tracking how many gumbase pellets pass the viscosity specification out of the total produced.

The **Pelletizing** equipment in the Gumbase area extrudes pellets that move directly to the QA Viscosity station. Pellets outside the viscosity specification are rejected before they reach the Rolling Line. The PLC exposes two counters: `PelTotal` (cumulative pellets produced) and `PelRejected` (cumulative pellets rejected at QA) — both free-running 16-bit counters that roll over at 65536.

**You should have:**

* `PelTotal` — Accumulating numeric counter (rolls over at 65536) collected in Designer.
* `PelRejected` — Accumulating numeric counter (rolls over at 65536) collected in Designer.
* An order-completion event already wired on the Pelletizing equipment — Quality counts must align to orders, and Save is not allowed without one. See [Aligning counts with order completion](/management-portal/oee/equipment/tag-mapping/product-and-order.md#aligning-counts-with-order-completion).

**Steps:**

1. **Enable Quality on the Equipment** — on the Pelletizing Equipment tab, turn **Calculate Quality** on and set the target (e.g. `98%`).
2. **Wire the Quality counts** — on [Tag Mapping → Data Quality](/management-portal/oee/equipment/tag-mapping/data-quality.md):
   * **Quality calculation** — `Total Products & Rejected Products`.
   * **Products total** — pick `PelTotal`, choose **Accumulating**, set **Roll Over Value** to `65536`.
   * **Products rejected** — pick `PelRejected`, also **Accumulating**, Roll Over Value `65536`.
3. **Save** — Quality starts contributing to OEE on the next emission.
4. **Verify** — for a known batch of N pellets with M viscosity rejects, confirm Quality ≈ `(N − M) / N`. If Quality unexpectedly reads 100% or stays very high, the most common cause is leaving counter tags in **Direct** mode instead of **Accumulating** — Direct treats each emission as the absolute count rather than the change since the last reading.

***

## Tips that apply to all three

* **Stage with OEE Enabled off.** Wire and validate every tab while the master switch is off — calculation only starts when you turn it on. This keeps your historical data clean during the configuration period.
* **Use** [**Calculations**](/management-portal/oee/equipment/tag-mapping/calculations.md) **when no clean signal exists.** If the Mixer's run state isn't a dedicated tag, `FA.Gum.Mix.MCS > 0` (motor speed greater than zero) is a valid Calculation that derives a boolean run state from the speed tag.
* **Cross-check on dashboards before declaring success.** Build a [Dashboard](/management-portal/insights/dashboards.md) showing Availability / Performance / Quality side by side and watch a real shift. Numbers that look right in isolation can still be wrong relative to one another.
