# TRO-Liste und TRO-Fluss - export.csv
**Erzeugt:** 2026-08-10 10:53 von `lib/tro_flow.py`
**Quelle:** `C:\develop\sps_skel\data\export.csv`
**Typdefinition:** `lib/tro_catalog.py` (Stand 2026-07-20)
> Automatisch aus dem CSV-Export erzeugt. Die TRO-Typen sind aus dem mechanischen Layout **abgeleitet** - ohne E-Planung (I/O-Liste) und ohne `FB_Main`-Aufrufstellen gibt es noch keine verbindliche TRO-Nummerierung. Die IDs unten sind laufende Nummern dieses Laufs.
## 1. Kurzfassung
| | |
|---|---|
| Ermittelte TROs | 10 |
| TRO-Verbindungen | 24 |
| Nicht verbundene TROs | 0 |
| Hinweise | 3 |
| Manuelle Typkorrekturen | 3 |
| Offene Punkte (noch kein TRO) | 2 |
| Typ | FB-Baustein | Anzahl hier | Bauteile je TRO | Farbgruppe |
|---|---|---:|---|---|
| `1Sep` | `FB_ILS_MTRO_1Sep` | 3 | 1x Separator | sep |
| `1Sep1Swi` | `FB_ILS_MTRO_1Sep1Swi` | 2 | 1x Separator, 1x Switch | swi |
| `1Sep_SSCC` | `FB_ILS_MTRO_1Sep_SSCC` | 1 | 1x SSCC, 1x Scanner, 1x Separator | sscc |
| `PinStore_Auto` | `FB_ILS_MTRO_PinStore_Auto` | 1 | 1x Encoder, 1x Scanner, 1x Separator, 19x StorageLine | store |
| `Vario` | `FB_ILS_MTRO_Vario` | 3 | 1x Separator, 1x VarioDrive | vario |
## 2. TRO-Flussdiagramm
```mermaid
flowchart LR
classDef sep fill:#d4e8ff,stroke:#3388cc,color:#111111
classDef swi fill:#ffe4a0,stroke:#cc8800,color:#111111
classDef sscc fill:#ffd4d4,stroke:#cc3333,color:#111111
classDef vario fill:#e8d4f0,stroke:#883388,color:#111111
classDef store fill:#d4f0d4,stroke:#338833,color:#111111
classDef ext fill:#f0f0f0,stroke:#888888,color:#404040
TRO01["TRO01
1Sep
Separator 0061 auf Kreisel1 Bahn R"]:::sep
TRO02["TRO02
1Sep
Separator 0003 auf Kreisel2 Bahn L"]:::sep
TRO03["TRO03
1Sep1Swi
Separator 0011 auf Kreisel2 Bahn L"]:::swi
TRO04["TRO04
1Sep_SSCC
Separator 0012 auf Kreisel2 Bahn L"]:::sscc
TRO05["TRO05
1Sep1Swi
Separator 0063 auf Kreisel3 Bahn R"]:::swi
TRO06["TRO06
1Sep
Separator 0064 auf Kreisel3 Bahn R"]:::sep
TRO07["TRO07
Vario
VarioFoerderer :3"]:::vario
TRO08["TRO08
Vario
VarioFoerderer :2"]:::vario
TRO09["TRO09
Vario
VarioFoerderer :1"]:::vario
TRO10["TRO10
PinStore_Auto
Speicher (20 Schwerkraftlinien)"]:::store
TRO01 --> TRO02
TRO01 --> TRO03
TRO01 --> TRO04
TRO01 --> TRO07
TRO01 --> TRO08
TRO02 --> TRO09
TRO03 --> TRO09
TRO04 --> TRO09
TRO05 --> TRO10
TRO06 --> TRO10
TRO07 --> TRO10
TRO08 --> TRO10
TRO09 --> TRO01
TRO09 --> TRO02
TRO09 --> TRO03
TRO09 --> TRO04
TRO09 --> TRO07
TRO09 --> TRO08
TRO10 --> TRO01
TRO10 --> TRO02
TRO10 --> TRO03
TRO10 --> TRO04
TRO10 --> TRO07
TRO10 --> TRO08
TRO02 -. gleiche Bahn .- TRO03
TRO02 -. gleiche Bahn .- TRO04
TRO03 -. gleiche Bahn .- TRO04
TRO05 -. gleiche Bahn .- TRO06
```
Gerendert: [`export_tro_flow.dot`](export_tro_flow.dot) - [`export_tro_flow.svg`](export_tro_flow.svg)
## 3. TRO-Liste
| TRO | Typ | FB-Baustein | Bauteile laut Typ | X [mm] | Y [mm] | Z [mm] | Host-Knoten | Separatoren | Scanner | Begruendung | Vertrauen |
|---|---|---|---|---:|---:|---:|---|---|---|---|---|
| `TRO01` | `1Sep` | `FB_ILS_MTRO_1Sep` | 1x Separator | 5355 | -5878 | 1468 | `0001-R` | 0061 | - | einzelner Separator auf angetriebener Kreisel-Bahn | mittel |
| `TRO02` | `1Sep` | `FB_ILS_MTRO_1Sep` | 1x Separator | -220 | 13960 | 1468 | `0002-L` | 0003 | 0004 | Separator mit Scanner auf angetriebener Kreisel-Bahn | mittel |
| `TRO03` | `1Sep1Swi` | `FB_ILS_MTRO_1Sep1Swi` | 1x Separator, 1x Switch | -220 | -481 | 1468 | `0002-L` | 0011 | 0009 | Separator mit Scanner auf angetriebener Kreisel-Bahn; manuell auf 1Sep1Swi gesetzt (Weiche am Separator 0011 vor Ort bestaetigt (Review 2026-08-10) - an dieser Stelle wird die Fahrtrichtung umgestellt; im CSV-Export fehlt das Weichenelement) | bestaetigt |
| `TRO04` | `1Sep_SSCC` | `FB_ILS_MTRO_1Sep_SSCC` | 1x SSCC, 1x Scanner, 1x Separator | -220 | -3472 | 1468 | `0002-L` | 0012 | 0007 | Separator mit Scanner auf angetriebener Kreisel-Bahn; manuell auf 1Sep_SSCC gesetzt (Separator 0012 mit Scanner 0007 - im Review als Scanner-Stelle bestaetigt (Review 2026-08-10)) | bestaetigt |
| `TRO05` | `1Sep1Swi` | `FB_ILS_MTRO_1Sep1Swi` | 1x Separator, 1x Switch | 10490 | -525 | 1705 | `0010-R` | 0063 | 0008 | Separator mit Scanner auf angetriebener Kreisel-Bahn; manuell auf 1Sep1Swi gesetzt (Weiche am Separator 0063 vor Ort bestaetigt (Review 2026-08-10) - im CSV-Export fehlt das Weichenelement) | bestaetigt |
| `TRO06` | `1Sep` | `FB_ILS_MTRO_1Sep` | 1x Separator | 10310 | 160 | 1942 | `0010-R` | 0064 | - | einzelner Separator auf angetriebener Kreisel-Bahn | mittel |
| `TRO07` | `Vario` | `FB_ILS_MTRO_Vario` | 1x Separator, 1x VarioDrive | 9186 | 13549 | 1706 | `0013` | 0015, 0062 | - | angetriebenes Streckensegment (Antriebfahrtrichtung: Auf) | hoch |
| `TRO08` | `Vario` | `FB_ILS_MTRO_Vario` | 1x Separator, 1x VarioDrive | 6952 | -4271 | 1784 | `0014` | 0057, 0065 | 0066 | angetriebenes Streckensegment (Antriebfahrtrichtung: Auf) | hoch |
| `TRO09` | `Vario` | `FB_ILS_MTRO_Vario` | 1x Separator, 1x VarioDrive | -1146 | 7128 | 1530 | `0016` | 0058, 0059 | 0060 | angetriebenes Streckensegment (Antriebfahrtrichtung: Auf) | hoch |
| `TRO10` | `PinStore_Auto` | `FB_ILS_MTRO_PinStore_Auto` | 1x Encoder, 1x Scanner, 1x Separator, 19x StorageLine | 989 | 3924 | 1553 | `0017` … `0036` (20 Knoten) | 0005 … 0056 (21) | 0006 | 20 Gefaellestrecken mit je eigenem Separator, gemeinsamer Zu-/Ablauf - Muster eines Linienspeichers | hoch |
**X/Y/Z** ist der Mittelpunkt der Bauteile, aus denen der TRO gebildet wurde (Separatoren und Scanner) - beim Linienspeicher also der Mittelwert aller Linien-Separatoren. Koordinaten in mm im Anlagen-Koordinatensystem des CSV-Exports.
| TRO | Koordinate aus | Anzahl Punkte |
|---|---|---:|
| `TRO01` | Bauteile | 1 |
| `TRO02` | Bauteile | 2 |
| `TRO03` | Bauteile | 2 |
| `TRO04` | Bauteile | 2 |
| `TRO05` | Bauteile | 2 |
| `TRO06` | Bauteile | 1 |
| `TRO07` | Bauteile | 2 |
| `TRO08` | Bauteile | 3 |
| `TRO09` | Bauteile | 3 |
| `TRO10` | Bauteile | 22 |
## 4. TRO-Verbindungen
Richtung des Materialflusses zwischen den Uebergabestellen. Passive Zwischenknoten ohne eigenen TRO sind zusammengefasst.
| von | nach | Typ von -> Typ nach |
|---|---|---|
| `TRO01` | `TRO02` | `1Sep` -> `1Sep` |
| `TRO01` | `TRO03` | `1Sep` -> `1Sep1Swi` |
| `TRO01` | `TRO04` | `1Sep` -> `1Sep_SSCC` |
| `TRO01` | `TRO07` | `1Sep` -> `Vario` |
| `TRO01` | `TRO08` | `1Sep` -> `Vario` |
| `TRO02` | `TRO09` | `1Sep` -> `Vario` |
| `TRO03` | `TRO09` | `1Sep1Swi` -> `Vario` |
| `TRO04` | `TRO09` | `1Sep_SSCC` -> `Vario` |
| `TRO05` | `TRO10` | `1Sep1Swi` -> `PinStore_Auto` |
| `TRO06` | `TRO10` | `1Sep` -> `PinStore_Auto` |
| `TRO07` | `TRO10` | `Vario` -> `PinStore_Auto` |
| `TRO08` | `TRO10` | `Vario` -> `PinStore_Auto` |
| `TRO09` | `TRO01` | `Vario` -> `1Sep` |
| `TRO09` | `TRO02` | `Vario` -> `1Sep` |
| `TRO09` | `TRO03` | `Vario` -> `1Sep1Swi` |
| `TRO09` | `TRO04` | `Vario` -> `1Sep_SSCC` |
| `TRO09` | `TRO07` | `Vario` -> `Vario` |
| `TRO09` | `TRO08` | `Vario` -> `Vario` |
| `TRO10` | `TRO01` | `PinStore_Auto` -> `1Sep` |
| `TRO10` | `TRO02` | `PinStore_Auto` -> `1Sep` |
| `TRO10` | `TRO03` | `PinStore_Auto` -> `1Sep1Swi` |
| `TRO10` | `TRO04` | `PinStore_Auto` -> `1Sep_SSCC` |
| `TRO10` | `TRO07` | `PinStore_Auto` -> `Vario` |
| `TRO10` | `TRO08` | `PinStore_Auto` -> `Vario` |
## 5. Hinweise
- Scanner 0006 'Scanner :6': montiert an 0014, liest aber an Separator 0005 auf 0036
- Scanner 0066 'Scanner :1': montiert an 0036, liest aber an Separator 0065 auf 0014
- TRO02 (Separator 0003 auf Kreisel2 Bahn L): Scanner 0004 am Separator - als 1Sep eingestuft. Pruefen, ob 1Sep_SSCC (SSCC-Scanner, Endmessung, WCS-Telegramm) erforderlich ist; das ist aus dem mechanischen Layout nicht erkennbar.
## 6. Manuelle Korrekturen und offene Punkte
Quelle: `C:\develop\sps_skel\cfg\tro_overrides.ini`
### 6.1 Angewandte Typkorrekturen
Diese Typen stammen **nicht** aus dem Layout, sondern aus der Begehung bzw. dem Review - im Layout sind sie nicht erkennbar.
| Korrektur | Begruendung |
|---|---|
| `TRO03: 1Sep -> 1Sep1Swi` | Weiche am Separator 0011 vor Ort bestaetigt (Review 2026-08-10) - an dieser Stelle wird die Fahrtrichtung umgestellt; im CSV-Export fehlt das Weichenelement |
| `TRO04: 1Sep -> 1Sep_SSCC` | Separator 0012 mit Scanner 0007 - im Review als Scanner-Stelle bestaetigt (Review 2026-08-10) |
| `TRO05: 1Sep -> 1Sep1Swi` | Weiche am Separator 0063 vor Ort bestaetigt (Review 2026-08-10) - im CSV-Export fehlt das Weichenelement |
### 6.2 Offene Punkte - noch kein TRO
Im Review gemeldete Stellen. Die TRO-Struktur ist hier **bewusst unveraendert**; die Punkte sind nur markiert (auch in der annotierten Zeichnung, Layer `TRO_OPENPOINT`), damit sie in BricsCAD geprueft werden koennen.
| Punkt | X [mm] | Y [mm] | Z [mm] | erwartet | heute Teil von | Anmerkung |
|---|---:|---:|---:|---|---|---|
| Foerderer_unten_links | 530 | -3895 | 1468 | `1Sep1Swi` | `TRO10` | Im Review als eigene Uebergabestelle (1 Separator + 1 Weiche) gemeldet, Position aus der Zeichnung (DXF -50375.7283 / -12309.7617, ueber cfg/dxf_registration.json auf Anlagenkoordinaten umgerechnet). Naechstes Bauteil ist Separator 0005 'Separator :32' bei 400 / -3755 auf Gefaellestrecke 0036, das derzeit zum Linienspeicher TRO10 gehoert. Vor der Umsetzung in BricsCAD pruefen. |
| Qualitaetskontrolle | -1026 | 5250 | 1478 | `1Sep1Swi` | `TRO09` | Im Review als eigene Uebergabestelle (1 Separator + 1 Weiche) gemeldet. Separator 0059 und Scanner 0060 gehoeren derzeit zum Vario-TRO09 auf Strecke 0016. Vor der Umsetzung in BricsCAD pruefen. |
## 7. Ableitungsregeln und Typdefinition
Ein TRO ist die Steuerungslogik **einer Uebergabestelle**. Ausgangspunkt ist der Separator und das, was an ihm haengt (Host-Objekt, Scanner).
| Host des Separators | TRO-Typ |
|---|---|
| Gefaellestrecke, >= 2 Linien mit gemeinsamem Zu-/Ablauf | `PinStore_Auto` (ein Block je Liniengruppe) |
| Gefaellestrecke, einzelne Linie | `1Sep` |
| Strecke (angetrieben) | `Vario` (je Streckensegment) |
| Kreisel-Bahn | `1Sep` |
| zusaetzlich: 2 bzw. 3 abgehende Wege | Aufwertung zu `1Sep1Swi` / `1Sep2Swi` |
Ein **Scanner** am Separator aendert den Typ nicht. In der Referenzanlage sind Separatoren mit Scanner ueberwiegend `1Sep`. `1Sep_SSCC` ist dem Sonderfall mit SSCC-Scanner, Endmessung und WCS-Telegramm vorbehalten und aus einem mechanischen Layout nicht erkennbar - betroffene Stellen stehen als Hinweis in Abschnitt 5.
Was aus dem CSV **nicht** ableitbar ist: TRO-Nummerierung, Sensor- und Aktor-Tags, JamAreas, Zielsteuerung und Timing. Das kommt aus der E-Planung (I/O-Liste) bzw. aus `FB_Main`.
Typen, FB-Bausteine, Bauteile und Farben stammen vollstaendig aus `TRO_CATALOG` in `lib/tro_catalog.py` (Stand 2026-07-20):
| # | Typ | FB-Baustein | Bauteile je TRO | Farbgruppe |
|---:|---|---|---|---|
| 1 | `1Sep` | `FB_ILS_MTRO_1Sep` | 1x Separator | sep |
| 2 | `1Sep1Swi` | `FB_ILS_MTRO_1Sep1Swi` | 1x Separator, 1x Switch | swi |
| 3 | `1Sep2Swi` | `FB_ILS_MTRO_1Sep2Swi` | 1x Scanner, 1x Separator, 2x Switch | swi |
| 4 | `1Sep_SSCC` | `FB_ILS_MTRO_1Sep_SSCC` | 1x SSCC, 1x Scanner, 1x Separator | sscc |
| 5 | `Vario` | `FB_ILS_MTRO_Vario` | 1x Separator, 1x VarioDrive | vario |
| 6 | `PinStore_Auto` | `FB_ILS_MTRO_PinStore_Auto` | 1x Encoder, 1x Scanner, 1x Separator, 19x StorageLine | store |
| 7 | `Vario_workStation` | `FB_ILS_MTRO_Vario_workStation` | 1x Accumulate, 1x Scanner, 1x Separator, 1x VarioDrive, 1x WorkStation | vario |
| 8 | `EmptyCarrBuffer` | `FB_EmptyCarrBuffer` | 5x Accumulate, 5x StorageLine | store |
| 9 | `LoadingBoom` | `FB_LoadingBoom_INBOUND` | 1x Boom, 1x Foot, 1x TiltSensor | ext |
| 10 | `2Sep1Swi` | `FB_ILS_MTRO_2Sep1Swi` | 2x Scanner, 2x Separator, 1x Switch | swi |
| Bauteil | Sub-FB |
|---|---|
| Accumulate | `FB_CarrAccumulate1Sep` |
| Boom | `FB_BoomWorkStation` |
| Encoder | _kein eigener FB_ |
| Foot | `FB_DistanceFoot` |
| SSCC | _kein eigener FB_ |
| Scanner | `FB_BarcodeReaderCognex` |
| Separator | `FB_ILS_STRO_Sep` |
| StorageLine | `FB_ILS_STRO_Sep` |
| Switch | `FB_ILS_STRO_Switch` |
| TiltSensor | `FB_Tilt_TEST` |
| VarioDrive | `FB_ILS_STRO_Vario` |
| WorkStation | `FB_ILS_STRO_Vario_WorkStation` |
| Farbgruppe | Bedeutung | Fuellfarbe |
|---|---|---|
| sep | Separator | `#d4e8ff` |
| swi | Weiche | `#ffe4a0` |
| sscc | Scanner (SSCC) | `#ffd4d4` |
| vario | Kettenfoerderer | `#e8d4f0` |
| store | Speicher / Puffer | `#d4f0d4` |
| ext | Systemgrenze / extern | `#f0f0f0` |