Files
sps_skel/doc/500573_Mubea/TRO_Identifikation_500573.md
T
Samer AyadiandClaude Opus 5 19259a0251 Add TRO identification for the Mubea seat-cover store (500573)
Works out which TROs the control system will need for drawing 500573_60_1,
derived from the mechanical DXF and matched against the TRO catalog, plus the
annotated figures it refers to.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-30 13:13:56 +02:00

175 lines
9.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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<br/>load covers onto hangers"]:::sep
V["Powered track<br/>(TX200 friction drive)"]:::vario
W["Weiche W.12000.1<br/>diverter"]:::swi
QC["Qualitätskontrolle<br/>inspection stop"]:::sep
EXP["Express route"]:::sep
STORE["PinStore — gravity buffer<br/>~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.*