diff --git a/doc/500573_Mubea/TRO_Identifikation_500573.md b/doc/500573_Mubea/TRO_Identifikation_500573.md new file mode 100644 index 0000000..610fd87 --- /dev/null +++ b/doc/500573_Mubea/TRO_Identifikation_500573.md @@ -0,0 +1,174 @@ +# Identifying the Control Units (TROs) from a Mechanical Layout +### Mubea seat-cover store — Schönenberger drawing `500573_60_1` + +**Author:** Automation Engineering · **As of:** 2026-07-28 · **Source:** `500573_60_1.dxf` (23.8 MB) + +--- + +## 0. For readers outside our team — what this document is + +Schönenberger builds the **material-flow control software** (Siemens TIA Portal / SCL) that +runs conveyor systems. A lot of that PLC code is repetitive: the same control block appears +once per functional point on the conveyor, differing only in its parameters. We are building +a tool that **generates that repetitive code automatically** from the plant layout. + +The unit of that code is a **TRO — "Transfer Route Object"**: the control logic for **one +hand-over point** on the conveyor. A TRO is, for example, *one* stopper, *one* switch, *one* +storage block, or *one* driven conveyor segment. A plant is described as a set of connected +TROs. + +**This document is the first step for a new plant:** we take the *mechanical* CAD drawing of +the Mubea seat-cover store and work out **which TROs the control system will need, and why** — +before any code is written. It is an engineering proposal, not yet a verified list (see §6). + +> **Key limitation, stated up front:** this DXF is a **mechanical / steel-construction +> drawing**. It contains **no TRO numbers and no electrical signal tags** — those live in the +> electrical documentation, not here. Every TRO below is therefore **inferred** from the +> physical equipment we can see (drives, a switch, separators, scanners, gravity lanes) and +> matched to our standard type catalogue in +> [../TRO_Katalog/TRO_Katalog.md](../TRO_Katalog/TRO_Katalog.md). + +--- + +## 1. The plant in plain language + +| | | +|---|---| +| **Customer / project** | Mubea — 500573 "Sitzbezügelager" (seat-cover store), Wendlingen | +| **Conveyor system** | Schönenberger **TX200** overhead hanger conveyor | +| **What moves** | **Bügelträger** — hanger carriers that carry seat covers (*Sitzpolster* = cushion, *Lehne* = backrest) | +| **What the plant does** | Empty hanger carriers are **loaded** with covers, **circulate** on a powered track, are **stored** when empty in a large **gravity buffer**, pass a **quality-control** point, and can take an **express** route | + +**Indicative material flow** (components are certain; exact routing is to be confirmed): + +```mermaid +flowchart LR + classDef store fill:#d4f0d4,stroke:#338833,color:#111 + classDef swi fill:#ffe4a0,stroke:#cc8800,color:#111 + classDef sep fill:#d4e8ff,stroke:#3388cc,color:#111 + classDef vario fill:#e8d4f0,stroke:#883388,color:#111 + + AUF["Aufgabestation
load covers onto hangers"]:::sep + V["Powered track
(TX200 friction drive)"]:::vario + W["Weiche W.12000.1
diverter"]:::swi + QC["Qualitätskontrolle
inspection stop"]:::sep + EXP["Express route"]:::sep + STORE["PinStore — gravity buffer
~20 gravity lines · 1 separator per line"]:::store + + AUF --> V --> W + W -->|standard| QC + W -->|express| EXP + QC --> STORE + STORE -->|release empties| AUF +``` + +![The DXF: conveyor plan (centre), sections (left), steel platform (right)](img/drawing_full.png) + +--- + +## 2. How we read the drawing (method & evidence) + +Parsed with the `ezdxf` library. A full-text scan confirmed there are **no `TRO…` labels and +no `BG/MA/MB/BX…` electrical tags**. Identification therefore relies on four things a +mechanical drawing *does* contain: + +1. **Named component blocks** — the mechanical part library (`S-SP` separator, `SCAN`, …). +2. **Equipment serials** carried as block attributes — `M.12000` (drive motor), + `W.12000.1` (switch), motor spec `TX200FD · WF20 · 0.37 kW · pitch 127`. +3. **Layer names** (German construction codes) — decisive for the gravity finding: + - `ABH-GEF-DRT` — *Abhängung **Gefälle** DRT* → **gravity (sloped) track** ✔ the store lines + - `TX200FD` — *Friction Drive* → the **powered** circulation track + - `5SEP-SP` — *Separator/Sperre*, `ZZSCANNER` — scanners, `3-BO-90/180` — curves +4. **Station labels** (text) — `Aufgabestation`, `Qualitätskontrolle`, `Express`, + `leere Bügelträger Rückführung`. + +### Equipment actually present (main plan, duplicate detail removed) + +| Element (block / tag) | What it is | Count | Powered? | +|---|---|---:|---| +| `M.12000` friction drives (`TX200-41019-D`) | motorised track segments | ~7 | powered (`TX200FD`) | +| `W.12000.1` switch (`TX200-41302-D`) | one diverter / Weiche | 1 | powered | +| `S-SP` separators (`5SEP-SP`) | one stopper per storage line | ~22 | on **gravity** lines | +| storage lanes (`ABH-GEF-DRT`) | gravity accumulation lines | ~20 | **gravity** | +| `SCAN` (`ZZSCANNER`) | barcode read points | 8 | — | +| `3-BO-90/180`, curves | passive track bends (not TROs) | many | — | + +--- + +## 3. What changed vs. the first draft (corrections) + +Three domain corrections from review, now applied: + +1. **The big multi-lane block is the PinStore**, not an "empty-carrier buffer". It is the + single storage block that holds **all** the lines. → type **`PinStore_Auto`**. +2. **The storage lines are gravity lines** (layer `ABH-GEF-DRT`, *Gefälle*), not driven — + carriers roll down each lane and are held by the line separator. This is now the defining + evidence for the PinStore. +3. **There is no `Vario_workStation`.** The `Aufgabestation` and `Qualitätskontrolle` are + stop points on the track, not driven manual-station modules. They are modelled as simple + separators (`1Sep`). + +--- + +## 4. Identified TROs + +Types refer to [../TRO_Katalog/TRO_Katalog.md](../TRO_Katalog/TRO_Katalog.md). IDs are +provisional — the plant has no control numbering yet. + +| TRO (provisional) | Type | Why we chose this type | Confidence | +|---|---|---|---| +| **Store** — *leere Bügelträger Rückführung* | **`PinStore_Auto`** | One storage block holding **all ~20 lines**; each line is a **gravity** lane (`ABH-GEF-DRT`) with its own `S-SP` separator that releases carriers one at a time — the defining pattern of a pin/line store | **Very high** | +| **Weiche `W.12000.1`** | **`1Sep1Swi`** | The single diverter in the plant (serial `W.12000.1`): one entry, two exits (standard vs. Express) | **High** | +| **Transport segments** ×~5–7 | **`Vario`** | Each `M.12000` friction-drive motor (`TX200FD`, 0.37 kW) powers one section of the circulation track — a driven conveyor segment | High (type) / Medium (count) | +| **Read stop(s)** at scanners | **`1Sep_SSCC`** / `1Sep`+scanner | Where a `SCAN` sits at a stopper, the carrier is halted and its barcode read before release | Medium | +| **Aufgabestation** (loading) | **`1Sep`** | A stop where an operator loads covers, then releases the carrier — a plain separator, **not** a driven work-station module | Medium | +| **Qualitätskontrolle** (inspection) | **`1Sep`** | A stop point for manual inspection on the powered track | Medium | +| **Express branch** | **`1Sep`** | The stopper feeding the switch's express exit | Low–Medium | + +**PinStore — the heart of the plant** (gravity lines, one `S-SP` separator each): + +![PinStore gravity buffer — separators orange, scanners green, switch blue, drives red](img/buffer_zone.png) + +**Aufgabestation / loading zone** (drives + scanner feeding the store's track): + +![Aufgabestation zone](img/aufgabe_zone.png) + +**Annotated overview** of the whole plan: + +![Annotated overview](img/overview_annotated.png) + +--- + +## 5. Glossary (German ↔ meaning) + +| Term | Meaning | +|---|---| +| **TRO** | *Transfer Route Object* — our control block for one hand-over point | +| **Bügelträger** | hanger carrier (holds the seat covers) | +| **Aufgabestation** | loading / infeed station | +| **Qualitätskontrolle** | quality control | +| **Weiche** | switch / diverter (two-way) | +| **Vereinzeler / Sperre** (`S-SP`) | separator / stopper — releases one carrier at a time | +| **Gefälle** (`ABH-GEF`) | gravity slope — the lines the carriers roll down | +| **PinStore** | multi-line gravity accumulation store | +| **Vario** | driven (friction/chain) conveyor segment | +| **TX200** | Schönenberger overhead-conveyor product line (`FD` = friction drive) | + +--- + +## 6. Assumptions & next steps + +- **Certain:** the plant is built around **one gravity PinStore** and **one switch**, served + by a **friction-driven** TX200 loop with barcode scanners. The *component types* are solid. +- **Approximate:** the **number and boundaries of the `Vario` segments** and the **exact + routing** are read from geometry and need confirmation. +- **A detail sub-region is drawn twice** (shifted ~55.7 m in X, same serials `M.12000` / + `W.12000.1`) — counted once here. +- **To turn this into a verified TRO list** we need the same inputs as a normal project: + the **electrical I/O list** (for the sensor/motor tags per unit) and, once it exists, the + **`FB_Main`** call sites (for TRO numbering, direction logic and jam areas) — the workflow + described in [../HundM/EA-Listen-Analyse.md](../HundM/EA-Listen-Analyse.md) and + [../HundM/Json_Layout-Konzept.md](../HundM/Json_Layout-Konzept.md). + +*Figures generated from `500573_60_1.dxf` with `ezdxf`; markers overlaid on the block-insert +coordinates.* diff --git a/doc/500573_Mubea/img/aufgabe_zone.png b/doc/500573_Mubea/img/aufgabe_zone.png new file mode 100644 index 0000000..bbf6003 Binary files /dev/null and b/doc/500573_Mubea/img/aufgabe_zone.png differ diff --git a/doc/500573_Mubea/img/buffer_zone.png b/doc/500573_Mubea/img/buffer_zone.png new file mode 100644 index 0000000..07529ee Binary files /dev/null and b/doc/500573_Mubea/img/buffer_zone.png differ diff --git a/doc/500573_Mubea/img/drawing_full.png b/doc/500573_Mubea/img/drawing_full.png new file mode 100644 index 0000000..a8fe14f Binary files /dev/null and b/doc/500573_Mubea/img/drawing_full.png differ diff --git a/doc/500573_Mubea/img/overview_annotated.png b/doc/500573_Mubea/img/overview_annotated.png new file mode 100644 index 0000000..3154929 Binary files /dev/null and b/doc/500573_Mubea/img/overview_annotated.png differ