# 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` |