Add the generated results for mubea for review

This commit is contained in:
2026-08-20 12:13:38 +02:00
parent d7edc55116
commit da0714ad46
10 changed files with 2729 additions and 0 deletions
+620
View File
@@ -0,0 +1,620 @@
// ============================================================
// FB_Main - GERUEST, erzeugt von lib/scl_skeleton.py
// Quelle : export_tro.json
// Erzeugt: 2026-08-17 09:12
//
// Das ist KEIN lauffaehiges Programm, sondern ein Geruest zum
// Ausfuellen. Struktur, Reihenfolge und Bauteilzahl stammen aus dem
// Anlagenlayout und der vor Ort aufgenommenen Topologie.
//
// Jede Stelle, die aus der E-Planung kommen muss, ist mit
// 'TODO(E-Planung)' markiert - danach suchen, dann ist nichts vergessen.
// Offen sind durchgaengig: Sensor-/Aktoradressen (cInBG/MB/MA),
// Separator- und Weichennummern, MainTro-Nummern, die Staubereiche
// (DB_JamArea...) und die Zeiten, soweit als 'pruefen' vermerkt.
//
// Reihenfolge der REGIONs = Materialfluss.
// Anfang bei TRO07: per --start gesetzt.
// ============================================================
FUNCTION_BLOCK "FB_Main"
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
VAR
TRO07 : "FB_ILS_MTRO_1Sep"; // 1Sep, Sep 0065
TRO06 : "FB_ILS_MTRO_1Sep_SSCC"; // 1Sep_SSCC, Sep 0064
TRO08 : "FB_ILS_MTRO_1Sep"; // 1Sep, Sep 0066
TRO12 : "FB_ILS_MTRO_PinStore_Auto"; // PinStore_Auto, Sep 0037, 0038, 0039, 0040, 0041, 0042, 0043, 0044, 0045, 0046, 0047, 0048, 0049, 0050, 0051, 0052, 0053, 0054, 0055, 0056, 0068
TRO05 : "FB_ILS_MTRO_2Sep2Swi"; // 2Sep2Swi, Sep 0005, 0057
TRO01 : "FB_ILS_MTRO_1Sep"; // 1Sep, Sep 0061
TRO04 : "FB_ILS_MTRO_1Sep_SSCC"; // 1Sep_SSCC, Sep 0012
TRO10 : "FB_ILS_MTRO_Vario"; // Vario, Sep 0067
TRO03 : "FB_ILS_MTRO_1Sep1Swi"; // 1Sep1Swi, Sep 0011
TRO02 : "FB_ILS_MTRO_1Sep_SSCC"; // 1Sep_SSCC, Sep 0003
TRO11 : "FB_ILS_MTRO_Vario"; // Vario, Sep 0058, 0059
TRO09 : "FB_ILS_MTRO_Vario"; // Vario, Sep 0015, 0063
END_VAR
BEGIN
REGION TRO07 (1Sep) Sep 0065
// Anlagenkoordinate x/y: 10310 / 160 mm
// Vorgaenger: TRO09
// Nachfolger: TRO06
// Einstufung: mittel
// Separator 1 = Bauteil 0065 aus dem Layout
#TRO07.stInSeparator1.Settings.nSeparatorNo := "cSep_____"; // TODO(E-Planung)
#TRO07.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short";
#TRO07.stInSeparator1.Settings.tTrailingTime := t#600ms; // TODO(E-Planung): pruefen
#TRO07.stInSeparator1.Settings.tHandlingTime := t#200ms; // TODO(E-Planung): pruefen
#TRO07.stInSeparator1.Settings.tJam := "TimeForSepJam";
#TRO07.stInSeparator1.Settings.xPluggedJam := TRUE;
#TRO07.stInSeparator1.Settings.xPluggedPart := FALSE;
#TRO07.stInSeparator1.Settings.xPluggedScanner := FALSE;
#TRO07.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG____"]; // TODO(E-Planung)
#TRO07.stInSeparator1.Settings.tSenFree := T#1500ms; // TODO(E-Planung): pruefen
#TRO07.stInSeparator1.Settings.tSenWait := T#4000ms; // TODO(E-Planung): pruefen
#TRO07.stInPriorityManager.xReleaseOk := TRUE;
#TRO07(nInMainTroNo := "cMainTro____", // TODO(E-Planung)
xInSftyOk := "DB_InterfaceSafety".stFromSafety.EStopMain.Q, // TODO(E-Planung)
xInAllRdyToStart := TRUE,
xInRelease := "DB_TRO_TEST".TRO07,
stInOutMachineState := #stInOutControlUnitCabinet,
stInOutCognexInterface := #stCognexInterfaceDummy,
arInOutJamEntr1 := "DB_JamArea____".stJam____.arCarrier, // TODO(E-Planung) - Staubereich von TRO09
stInOutJamEntr1 := "DB_JamArea____".stJam____.stData,
arInOutJamExit2 := "DB_JamArea____".stJam____.arCarrier, // TODO(E-Planung) - Staubereich nach TRO06
stInOutJamExit2 := "DB_JamArea____".stJam____.stData,
xOutStopper1 => "MB____", // TODO(E-Planung)
stInOutHMI := "DB_Interface_HMI".stTRO.TRO07,
nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro____"]); // TODO(E-Planung)
END_REGION
REGION TRO06 (1Sep_SSCC) Sep 0064
// Anlagenkoordinate x/y: 10490 / -525 mm
// Vorgaenger: TRO07
// Nachfolger: TRO08
// Einstufung: bestaetigt
// Separator 1 = Bauteil 0064 aus dem Layout
#TRO06.stInSeparator1.Settings.nSeparatorNo := "cSep_____"; // TODO(E-Planung)
#TRO06.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short";
#TRO06.stInSeparator1.Settings.tTrailingTime := t#600ms; // TODO(E-Planung): pruefen
#TRO06.stInSeparator1.Settings.tHandlingTime := t#200ms; // TODO(E-Planung): pruefen
#TRO06.stInSeparator1.Settings.tJam := "TimeForSepJam";
#TRO06.stInSeparator1.Settings.xPluggedJam := TRUE;
#TRO06.stInSeparator1.Settings.xPluggedPart := FALSE;
#TRO06.stInSeparator1.Settings.xPluggedScanner := TRUE;
#TRO06.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG____"]; // TODO(E-Planung)
#TRO06.stInSeparator1.Settings.tSenFree := T#1500ms; // TODO(E-Planung): pruefen
#TRO06.stInSeparator1.Settings.tSenWait := T#4000ms; // TODO(E-Planung): pruefen
#TRO06.stInBarcodeReader.Settings.xActivateCheckASCI := TRUE;
#TRO06.stInBarcodeReader.Settings.tTimeout := T#3000ms;
// TODO(E-Planung): Cognex-Interface verdrahten (#arCognexInterface["cScanner____"])
#TRO06.stInPriorityManager.xReleaseOk := TRUE;
#TRO06(nInMainTroNo := "cMainTro____", // TODO(E-Planung)
xInSftyOk := "DB_InterfaceSafety".stFromSafety.EStopMain.Q, // TODO(E-Planung)
xInAllRdyToStart := TRUE,
xInRelease := "DB_TRO_TEST".TRO06,
stInOutMachineState := #stInOutControlUnitCabinet,
stInOutCognexInterface := #stCognexInterfaceDummy,
arInOutJamEntr1 := "DB_JamArea____".stJam____.arCarrier, // TODO(E-Planung) - Staubereich von TRO07
stInOutJamEntr1 := "DB_JamArea____".stJam____.stData,
arInOutJamExit2 := "DB_JamArea____".stJam____.arCarrier, // TODO(E-Planung) - Staubereich nach TRO08
stInOutJamExit2 := "DB_JamArea____".stJam____.stData,
xOutStopper1 => "MB____", // TODO(E-Planung)
stInOutHMI := "DB_Interface_HMI".stTRO.TRO06,
nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro____"]); // TODO(E-Planung)
END_REGION
REGION TRO08 (1Sep) Sep 0066
// Anlagenkoordinate x/y: 10310 / -5013 mm
// Vorgaenger: TRO06
// Nachfolger: TRO12
// Einstufung: mittel
// Separator 1 = Bauteil 0066 aus dem Layout
#TRO08.stInSeparator1.Settings.nSeparatorNo := "cSep_____"; // TODO(E-Planung)
#TRO08.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short";
#TRO08.stInSeparator1.Settings.tTrailingTime := t#600ms; // TODO(E-Planung): pruefen
#TRO08.stInSeparator1.Settings.tHandlingTime := t#200ms; // TODO(E-Planung): pruefen
#TRO08.stInSeparator1.Settings.tJam := "TimeForSepJam";
#TRO08.stInSeparator1.Settings.xPluggedJam := TRUE;
#TRO08.stInSeparator1.Settings.xPluggedPart := FALSE;
#TRO08.stInSeparator1.Settings.xPluggedScanner := FALSE;
#TRO08.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG____"]; // TODO(E-Planung)
#TRO08.stInSeparator1.Settings.tSenFree := T#1500ms; // TODO(E-Planung): pruefen
#TRO08.stInSeparator1.Settings.tSenWait := T#4000ms; // TODO(E-Planung): pruefen
#TRO08.stInPriorityManager.xReleaseOk := TRUE;
#TRO08(nInMainTroNo := "cMainTro____", // TODO(E-Planung)
xInSftyOk := "DB_InterfaceSafety".stFromSafety.EStopMain.Q, // TODO(E-Planung)
xInAllRdyToStart := TRUE,
xInRelease := "DB_TRO_TEST".TRO08,
stInOutMachineState := #stInOutControlUnitCabinet,
stInOutCognexInterface := #stCognexInterfaceDummy,
arInOutJamEntr1 := "DB_JamArea____".stJam____.arCarrier, // TODO(E-Planung) - Staubereich von TRO06
stInOutJamEntr1 := "DB_JamArea____".stJam____.stData,
arInOutJamExit2 := "DB_JamArea____".stJam____.arCarrier, // TODO(E-Planung) - Staubereich nach TRO12
stInOutJamExit2 := "DB_JamArea____".stJam____.stData,
xOutStopper1 => "MB____", // TODO(E-Planung)
stInOutHMI := "DB_Interface_HMI".stTRO.TRO08,
nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro____"]); // TODO(E-Planung)
END_REGION
REGION TRO12 (PinStore_Auto) Sep 0037, 0038, 0039, 0040, 0041, 0042, 0043, 0044, 0045, 0046, 0047, 0048, 0049, 0050, 0051, 0052, 0053, 0054, 0055, 0056, 0068
// Anlagenkoordinate x/y: 1817 / 3943 mm
// Vorgaenger: TRO08, TRO10
// Nachfolger: TRO05
// Einstufung: hoch
// Separator 1 = Bauteil 0037 aus dem Layout
#TRO12.stInSeparator1.Settings.nSeparatorNo := "cSep_____"; // TODO(E-Planung)
#TRO12.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short";
#TRO12.stInSeparator1.Settings.tTrailingTime := t#600ms; // TODO(E-Planung): pruefen
#TRO12.stInSeparator1.Settings.tHandlingTime := t#200ms; // TODO(E-Planung): pruefen
#TRO12.stInSeparator1.Settings.tJam := "TimeForSepJam";
#TRO12.stInSeparator1.Settings.xPluggedJam := TRUE;
#TRO12.stInSeparator1.Settings.xPluggedPart := FALSE;
#TRO12.stInSeparator1.Settings.xPluggedScanner := TRUE;
#TRO12.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG____"]; // TODO(E-Planung)
#TRO12.stInSeparator1.Settings.tSenFree := T#1500ms; // TODO(E-Planung): pruefen
#TRO12.stInSeparator1.Settings.tSenWait := T#4000ms; // TODO(E-Planung): pruefen
#TRO12.stInBarcodeReader.Settings.xActivateCheckASCI := TRUE;
#TRO12.stInBarcodeReader.Settings.tTimeout := T#3000ms;
// TODO(E-Planung): Cognex-Interface verdrahten (#arCognexInterface["cScanner____"])
// TODO(E-Planung): Linienspeicher mit 19 Linien - Parametrierung je Linie
#TRO12.stInPriorityManager.xReleaseOk := TRUE;
#TRO12(nInMainTroNo := "cMainTro____", // TODO(E-Planung)
xInSftyOk := "DB_InterfaceSafety".stFromSafety.EStopMain.Q, // TODO(E-Planung)
xInAllRdyToStart := TRUE,
xInRelease := "DB_TRO_TEST".TRO12,
stInOutMachineState := #stInOutControlUnitCabinet,
stInOutCognexInterface := #stCognexInterfaceDummy,
arInOutJamEntr1 := "DB_JamArea____".stJam____.arCarrier, // TODO(E-Planung) - Staubereich von TRO08
stInOutJamEntr1 := "DB_JamArea____".stJam____.stData,
arInOutJamEntr2 := "DB_JamArea____".stJam____.arCarrier, // TODO(E-Planung) - Staubereich von TRO10
stInOutJamEntr2 := "DB_JamArea____".stJam____.stData,
arInOutJamExit2 := "DB_JamArea____".stJam____.arCarrier, // TODO(E-Planung) - Staubereich nach TRO05
stInOutJamExit2 := "DB_JamArea____".stJam____.stData,
xOutStopper1 => "MB____", // TODO(E-Planung)
stInOutHMI := "DB_Interface_HMI".stTRO.TRO12,
nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro____"]); // TODO(E-Planung)
END_REGION
REGION TRO05 (2Sep2Swi) Sep 0005, 0057
// Anlagenkoordinate x/y: 1012 / -4650 mm
// Vorgaenger: TRO01, TRO12
// Nachfolger: TRO01, TRO04, TRO10
// Einstufung: bestaetigt
// Separator 1 = Bauteil 0005 aus dem Layout
#TRO05.stInSeparator1.Settings.nSeparatorNo := "cSep_____"; // TODO(E-Planung)
#TRO05.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short";
#TRO05.stInSeparator1.Settings.tTrailingTime := t#600ms; // TODO(E-Planung): pruefen
#TRO05.stInSeparator1.Settings.tHandlingTime := t#200ms; // TODO(E-Planung): pruefen
#TRO05.stInSeparator1.Settings.tJam := "TimeForSepJam";
#TRO05.stInSeparator1.Settings.xPluggedJam := TRUE;
#TRO05.stInSeparator1.Settings.xPluggedPart := FALSE;
#TRO05.stInSeparator1.Settings.xPluggedScanner := TRUE;
#TRO05.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG____"]; // TODO(E-Planung)
#TRO05.stInSeparator1.Settings.tSenFree := T#1500ms; // TODO(E-Planung): pruefen
#TRO05.stInSeparator1.Settings.tSenWait := T#4000ms; // TODO(E-Planung): pruefen
// Separator 2 = Bauteil 0057 aus dem Layout
#TRO05.stInSeparator2.Settings.nSeparatorNo := "cSep_____"; // TODO(E-Planung)
#TRO05.stInSeparator2.Settings.tDelayToNextItem := "TimeForSepWaiting_Short";
#TRO05.stInSeparator2.Settings.tTrailingTime := t#600ms; // TODO(E-Planung): pruefen
#TRO05.stInSeparator2.Settings.tHandlingTime := t#200ms; // TODO(E-Planung): pruefen
#TRO05.stInSeparator2.Settings.tJam := "TimeForSepJam";
#TRO05.stInSeparator2.Settings.xPluggedJam := TRUE;
#TRO05.stInSeparator2.Settings.xPluggedPart := FALSE;
#TRO05.stInSeparator2.Settings.xPluggedScanner := TRUE;
#TRO05.stInSeparator2.stSenInSep := "DB_Inputs".Sensors["cInBG____"]; // TODO(E-Planung)
#TRO05.stInSeparator2.Settings.tSenFree := T#1500ms; // TODO(E-Planung): pruefen
#TRO05.stInSeparator2.Settings.tSenWait := T#4000ms; // TODO(E-Planung): pruefen
#TRO05.stInSwitch1.Settings.nSwitchNo := "cSwi_____"; // TODO(E-Planung)
#TRO05.stInSwitch1.Settings.xPluggedExSen3 := FALSE;
#TRO05.stInSwitch1.Settings.xPluggedExSen4 := FALSE;
#TRO05.stInSwitch1.Settings.nTo1Destinations := _; // TODO(E-Planung): dieser TRO hat 3 Abgaenge auf 2 Weichen - Aufteilung festlegen
#TRO05.stInSwitch2.Settings.nSwitchNo := "cSwi_____"; // TODO(E-Planung)
#TRO05.stInSwitch2.Settings.xPluggedExSen3 := FALSE;
#TRO05.stInSwitch2.Settings.xPluggedExSen4 := FALSE;
#TRO05.stInSwitch2.Settings.nTo1Destinations := _; // TODO(E-Planung): dieser TRO hat 3 Abgaenge auf 2 Weichen - Aufteilung festlegen
// Zielliste je Abgang (aus dem TRO-Graphen berechnet) -
// Grundlage fuer die Zuordnung Ziel -> Richtung in FC_Direction:
// ueber TRO01: TRO01
// ueber TRO04: TRO02, TRO03, TRO04, TRO06, TRO07, TRO08, TRO09, TRO11, TRO12
// ueber TRO10: TRO10, TRO12
#TRO05.stInBarcodeReader1.Settings.xActivateCheckASCI := TRUE;
#TRO05.stInBarcodeReader1.Settings.tTimeout := T#3000ms;
// TODO(E-Planung): Cognex-Interface verdrahten (#arCognexInterface["cScanner____"])
#TRO05.stInBarcodeReader2.Settings.xActivateCheckASCI := TRUE;
#TRO05.stInBarcodeReader2.Settings.tTimeout := T#3000ms;
// TODO(E-Planung): Cognex-Interface verdrahten (#arCognexInterface["cScanner____"])
#TRO05.stInPriorityManager.xReleaseOk := TRUE;
#TRO05(nInMainTroNo := "cMainTro____", // TODO(E-Planung)
xInSftyOk := "DB_InterfaceSafety".stFromSafety.EStopMain.Q, // TODO(E-Planung)
xInAllRdyToStart := TRUE,
xInRelease := "DB_TRO_TEST".TRO05,
stInOutMachineState := #stInOutControlUnitCabinet,
stInOutCognexInterface := #stCognexInterfaceDummy,
arInOutJamEntr1 := "DB_JamArea____".stJam____.arCarrier, // TODO(E-Planung) - Staubereich von TRO01
stInOutJamEntr1 := "DB_JamArea____".stJam____.stData,
arInOutJamEntr2 := "DB_JamArea____".stJam____.arCarrier, // TODO(E-Planung) - Staubereich von TRO12
stInOutJamEntr2 := "DB_JamArea____".stJam____.stData,
arInOutJamExit2 := "DB_JamArea____".stJam____.arCarrier, // TODO(E-Planung) - Staubereich nach TRO01
stInOutJamExit2 := "DB_JamArea____".stJam____.stData,
arInOutJamExit3 := "DB_JamArea____".stJam____.arCarrier, // TODO(E-Planung) - Staubereich nach TRO04
stInOutJamExit3 := "DB_JamArea____".stJam____.stData,
arInOutJamExit4 := "DB_JamArea____".stJam____.arCarrier, // TODO(E-Planung) - Staubereich nach TRO10
stInOutJamExit4 := "DB_JamArea____".stJam____.stData,
xOutStopper1 => "MB____", // TODO(E-Planung)
xOutStopper2 => "MB____", // TODO(E-Planung)
xOutSw1ExTo3 => "MB____", // TODO(E-Planung)
xOutSw2ExTo3 => "MB____", // TODO(E-Planung)
stInOutHMI := "DB_Interface_HMI".stTRO.TRO05,
nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro____"]); // TODO(E-Planung)
REGION Direction
"FC_Direction"(nInSwitchNo := "cSwi_____", // TODO(E-Planung)
nOutDirection => #TRO05.nInDirection1,
InOutCarrier := "DB_JamArea____".stJam____.arCarrier[1]);
"FC_Direction"(nInSwitchNo := "cSwi_____", // TODO(E-Planung)
nOutDirection => #TRO05.nInDirection2,
InOutCarrier := "DB_JamArea____".stJam____.arCarrier[1]);
END_REGION
END_REGION
REGION TRO01 (1Sep) Sep 0061
// Anlagenkoordinate x/y: 5355 / -5878 mm
// Vorgaenger: TRO05
// Nachfolger: TRO05
// Einstufung: mittel
// Separator 1 = Bauteil 0061 aus dem Layout
#TRO01.stInSeparator1.Settings.nSeparatorNo := "cSep_____"; // TODO(E-Planung)
#TRO01.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short";
#TRO01.stInSeparator1.Settings.tTrailingTime := t#600ms; // TODO(E-Planung): pruefen
#TRO01.stInSeparator1.Settings.tHandlingTime := t#200ms; // TODO(E-Planung): pruefen
#TRO01.stInSeparator1.Settings.tJam := "TimeForSepJam";
#TRO01.stInSeparator1.Settings.xPluggedJam := TRUE;
#TRO01.stInSeparator1.Settings.xPluggedPart := FALSE;
#TRO01.stInSeparator1.Settings.xPluggedScanner := FALSE;
#TRO01.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG____"]; // TODO(E-Planung)
#TRO01.stInSeparator1.Settings.tSenFree := T#1500ms; // TODO(E-Planung): pruefen
#TRO01.stInSeparator1.Settings.tSenWait := T#4000ms; // TODO(E-Planung): pruefen
#TRO01.stInPriorityManager.xReleaseOk := TRUE;
#TRO01(nInMainTroNo := "cMainTro____", // TODO(E-Planung)
xInSftyOk := "DB_InterfaceSafety".stFromSafety.EStopMain.Q, // TODO(E-Planung)
xInAllRdyToStart := TRUE,
xInRelease := "DB_TRO_TEST".TRO01,
stInOutMachineState := #stInOutControlUnitCabinet,
stInOutCognexInterface := #stCognexInterfaceDummy,
arInOutJamEntr1 := "DB_JamArea____".stJam____.arCarrier, // TODO(E-Planung) - Staubereich von TRO05
stInOutJamEntr1 := "DB_JamArea____".stJam____.stData,
arInOutJamExit2 := "DB_JamArea____".stJam____.arCarrier, // TODO(E-Planung) - Staubereich nach TRO05
stInOutJamExit2 := "DB_JamArea____".stJam____.stData,
xOutStopper1 => "MB____", // TODO(E-Planung)
stInOutHMI := "DB_Interface_HMI".stTRO.TRO01,
nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro____"]); // TODO(E-Planung)
END_REGION
REGION TRO04 (1Sep_SSCC) Sep 0012
// Anlagenkoordinate x/y: -220 / -3472 mm
// Vorgaenger: TRO05
// Nachfolger: TRO03
// Einstufung: bestaetigt
// Separator 1 = Bauteil 0012 aus dem Layout
#TRO04.stInSeparator1.Settings.nSeparatorNo := "cSep_____"; // TODO(E-Planung)
#TRO04.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short";
#TRO04.stInSeparator1.Settings.tTrailingTime := t#600ms; // TODO(E-Planung): pruefen
#TRO04.stInSeparator1.Settings.tHandlingTime := t#200ms; // TODO(E-Planung): pruefen
#TRO04.stInSeparator1.Settings.tJam := "TimeForSepJam";
#TRO04.stInSeparator1.Settings.xPluggedJam := TRUE;
#TRO04.stInSeparator1.Settings.xPluggedPart := FALSE;
#TRO04.stInSeparator1.Settings.xPluggedScanner := TRUE;
#TRO04.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG____"]; // TODO(E-Planung)
#TRO04.stInSeparator1.Settings.tSenFree := T#1500ms; // TODO(E-Planung): pruefen
#TRO04.stInSeparator1.Settings.tSenWait := T#4000ms; // TODO(E-Planung): pruefen
#TRO04.stInBarcodeReader.Settings.xActivateCheckASCI := TRUE;
#TRO04.stInBarcodeReader.Settings.tTimeout := T#3000ms;
// TODO(E-Planung): Cognex-Interface verdrahten (#arCognexInterface["cScanner____"])
#TRO04.stInPriorityManager.xReleaseOk := TRUE;
#TRO04(nInMainTroNo := "cMainTro____", // TODO(E-Planung)
xInSftyOk := "DB_InterfaceSafety".stFromSafety.EStopMain.Q, // TODO(E-Planung)
xInAllRdyToStart := TRUE,
xInRelease := "DB_TRO_TEST".TRO04,
stInOutMachineState := #stInOutControlUnitCabinet,
stInOutCognexInterface := #stCognexInterfaceDummy,
arInOutJamEntr1 := "DB_JamArea____".stJam____.arCarrier, // TODO(E-Planung) - Staubereich von TRO05
stInOutJamEntr1 := "DB_JamArea____".stJam____.stData,
arInOutJamExit2 := "DB_JamArea____".stJam____.arCarrier, // TODO(E-Planung) - Staubereich nach TRO03
stInOutJamExit2 := "DB_JamArea____".stJam____.stData,
xOutStopper1 => "MB____", // TODO(E-Planung)
stInOutHMI := "DB_Interface_HMI".stTRO.TRO04,
nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro____"]); // TODO(E-Planung)
END_REGION
REGION TRO10 (Vario) Sep 0067
// Anlagenkoordinate x/y: 8665 / -4743 mm
// Vorgaenger: TRO05
// Nachfolger: TRO12
// Einstufung: hoch
// Separator 1 = Bauteil 0067 aus dem Layout
#TRO10.stInSeparator1.Settings.nSeparatorNo := "cSep_____"; // TODO(E-Planung)
#TRO10.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short";
#TRO10.stInSeparator1.Settings.tTrailingTime := t#600ms; // TODO(E-Planung): pruefen
#TRO10.stInSeparator1.Settings.tHandlingTime := t#200ms; // TODO(E-Planung): pruefen
#TRO10.stInSeparator1.Settings.tJam := "TimeForSepJam";
#TRO10.stInSeparator1.Settings.xPluggedJam := TRUE;
#TRO10.stInSeparator1.Settings.xPluggedPart := FALSE;
#TRO10.stInSeparator1.Settings.xPluggedScanner := FALSE;
#TRO10.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG____"]; // TODO(E-Planung)
#TRO10.stInSeparator1.Settings.tSenFree := T#1500ms; // TODO(E-Planung): pruefen
#TRO10.stInSeparator1.Settings.tSenWait := T#4000ms; // TODO(E-Planung): pruefen
#TRO10.stInVario.Settings.xContinousEmptying := FALSE;
#TRO10.stInVario.Settings.tWaitForJog := T#300ms; // TODO(E-Planung): pruefen
#TRO10.stInVario.Settings.tConvEmpty := T#45000ms; // TODO(E-Planung): pruefen
#TRO10.stInVario.Settings.nCountCarrier := 1; // TODO(E-Planung): pruefen
#TRO10.stInVario.Settings.tWaitForStop := t#3s;
#TRO10.stInVario.Settings.tCarrierInPosDelay := t#1200ms;
#TRO10.stInVario.Settings.tCarrierInPosEdgeDelay := t#100ms;
#TRO10.stInVario.Settings.xJamSenDelayActive := TRUE;
#TRO10.stInVario.Settings.tJamSenDelay := T#2s;
#TRO10.stInVario.stSenCarrInPos := "DB_Inputs".Sensors["cInBG____"]; // TODO(E-Planung)
#TRO10.stInVario.stSenFinger := "DB_Inputs".Sensors["cInBG____"]; // TODO(E-Planung)
#TRO10.stInVario.stSenLastPos := "DB_Inputs".Sensors["cInBG____"]; // TODO(E-Planung)
#TRO10.stInVario.stSenJam := "DB_Inputs".Sensors["cInBG____"]; // TODO(E-Planung)
#TRO10.stInPriorityManager.xReleaseOk := TRUE;
#TRO10(nInMainTroNo := "cMainTro____", // TODO(E-Planung)
xInSftyOk := "DB_InterfaceSafety".stFromSafety.EStopMain.Q, // TODO(E-Planung)
xInAllRdyToStart := TRUE,
xInRelease := "DB_TRO_TEST".TRO10,
xInMotorProtection := "FC____", // TODO(E-Planung)
xInAutomatic := #t_automatik,
stInOutMachineState := #stInOutControlUnitCabinet,
stInOutCognexInterface := #stCognexInterfaceDummy,
arInOutJamEntr1 := "DB_JamArea____".stJam____.arCarrier, // TODO(E-Planung) - Staubereich von TRO05
stInOutJamEntr1 := "DB_JamArea____".stJam____.stData,
arInOutJamExit2 := "DB_JamArea____".stJam____.arCarrier, // TODO(E-Planung) - Staubereich nach TRO12
stInOutJamExit2 := "DB_JamArea____".stJam____.stData,
xOutStopper1 => "MB____", // TODO(E-Planung)
xOutVarioMotor => "MA____", // TODO(E-Planung)
stInOutHMI := "DB_Interface_HMI".stTRO.TRO10,
nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro____"]); // TODO(E-Planung)
END_REGION
REGION TRO03 (1Sep1Swi) Sep 0011
// Anlagenkoordinate x/y: -220 / -481 mm
// Vorgaenger: TRO04
// Nachfolger: TRO02, TRO11
// Einstufung: bestaetigt
// Separator 1 = Bauteil 0011 aus dem Layout
#TRO03.stInSeparator1.Settings.nSeparatorNo := "cSep_____"; // TODO(E-Planung)
#TRO03.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short";
#TRO03.stInSeparator1.Settings.tTrailingTime := t#600ms; // TODO(E-Planung): pruefen
#TRO03.stInSeparator1.Settings.tHandlingTime := t#200ms; // TODO(E-Planung): pruefen
#TRO03.stInSeparator1.Settings.tJam := "TimeForSepJam";
#TRO03.stInSeparator1.Settings.xPluggedJam := TRUE;
#TRO03.stInSeparator1.Settings.xPluggedPart := FALSE;
#TRO03.stInSeparator1.Settings.xPluggedScanner := FALSE;
#TRO03.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG____"]; // TODO(E-Planung)
#TRO03.stInSeparator1.Settings.tSenFree := T#1500ms; // TODO(E-Planung): pruefen
#TRO03.stInSeparator1.Settings.tSenWait := T#4000ms; // TODO(E-Planung): pruefen
#TRO03.stInSwitch1.Settings.nSwitchNo := "cSwi_____"; // TODO(E-Planung)
#TRO03.stInSwitch1.Settings.xPluggedExSen3 := FALSE;
#TRO03.stInSwitch1.Settings.xPluggedExSen4 := FALSE;
#TRO03.stInSwitch1.Settings.nTo1Destinations := 2; // Abgaenge laut Topologie
// Zielliste je Abgang (aus dem TRO-Graphen berechnet) -
// Grundlage fuer die Zuordnung Ziel -> Richtung in FC_Direction:
// ueber TRO02: TRO01, TRO02, TRO04, TRO05, TRO06, TRO07, TRO08, TRO09, TRO10, TRO12
// ueber TRO11: TRO01, TRO02, TRO04, TRO05, TRO06, TRO07, TRO08, TRO09, TRO10, TRO11, TRO12
#TRO03.stInPriorityManager.xReleaseOk := TRUE;
#TRO03(nInMainTroNo := "cMainTro____", // TODO(E-Planung)
xInSftyOk := "DB_InterfaceSafety".stFromSafety.EStopMain.Q, // TODO(E-Planung)
xInAllRdyToStart := TRUE,
xInRelease := "DB_TRO_TEST".TRO03,
stInOutMachineState := #stInOutControlUnitCabinet,
stInOutCognexInterface := #stCognexInterfaceDummy,
arInOutJamEntr1 := "DB_JamArea____".stJam____.arCarrier, // TODO(E-Planung) - Staubereich von TRO04
stInOutJamEntr1 := "DB_JamArea____".stJam____.stData,
arInOutJamExit2 := "DB_JamArea____".stJam____.arCarrier, // TODO(E-Planung) - Staubereich nach TRO02
stInOutJamExit2 := "DB_JamArea____".stJam____.stData,
arInOutJamExit3 := "DB_JamArea____".stJam____.arCarrier, // TODO(E-Planung) - Staubereich nach TRO11
stInOutJamExit3 := "DB_JamArea____".stJam____.stData,
xOutStopper1 => "MB____", // TODO(E-Planung)
xOutSw1ExTo3 => "MB____", // TODO(E-Planung)
stInOutHMI := "DB_Interface_HMI".stTRO.TRO03,
nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro____"]); // TODO(E-Planung)
REGION Direction
"FC_Direction"(nInSwitchNo := "cSwi_____", // TODO(E-Planung)
nOutDirection => #TRO03.nInDirection,
InOutCarrier := "DB_JamArea____".stJam____.arCarrier[1]);
END_REGION
END_REGION
REGION TRO02 (1Sep_SSCC) Sep 0003
// Anlagenkoordinate x/y: -220 / 13960 mm
// Vorgaenger: TRO03, TRO11
// Nachfolger: TRO09
// Einstufung: bestaetigt
// Separator 1 = Bauteil 0003 aus dem Layout
#TRO02.stInSeparator1.Settings.nSeparatorNo := "cSep_____"; // TODO(E-Planung)
#TRO02.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short";
#TRO02.stInSeparator1.Settings.tTrailingTime := t#600ms; // TODO(E-Planung): pruefen
#TRO02.stInSeparator1.Settings.tHandlingTime := t#200ms; // TODO(E-Planung): pruefen
#TRO02.stInSeparator1.Settings.tJam := "TimeForSepJam";
#TRO02.stInSeparator1.Settings.xPluggedJam := TRUE;
#TRO02.stInSeparator1.Settings.xPluggedPart := FALSE;
#TRO02.stInSeparator1.Settings.xPluggedScanner := TRUE;
#TRO02.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG____"]; // TODO(E-Planung)
#TRO02.stInSeparator1.Settings.tSenFree := T#1500ms; // TODO(E-Planung): pruefen
#TRO02.stInSeparator1.Settings.tSenWait := T#4000ms; // TODO(E-Planung): pruefen
#TRO02.stInBarcodeReader.Settings.xActivateCheckASCI := TRUE;
#TRO02.stInBarcodeReader.Settings.tTimeout := T#3000ms;
// TODO(E-Planung): Cognex-Interface verdrahten (#arCognexInterface["cScanner____"])
#TRO02.stInPriorityManager.xReleaseOk := TRUE;
#TRO02(nInMainTroNo := "cMainTro____", // TODO(E-Planung)
xInSftyOk := "DB_InterfaceSafety".stFromSafety.EStopMain.Q, // TODO(E-Planung)
xInAllRdyToStart := TRUE,
xInRelease := "DB_TRO_TEST".TRO02,
stInOutMachineState := #stInOutControlUnitCabinet,
stInOutCognexInterface := #stCognexInterfaceDummy,
arInOutJamEntr1 := "DB_JamArea____".stJam____.arCarrier, // TODO(E-Planung) - Staubereich von TRO03
stInOutJamEntr1 := "DB_JamArea____".stJam____.stData,
arInOutJamEntr2 := "DB_JamArea____".stJam____.arCarrier, // TODO(E-Planung) - Staubereich von TRO11
stInOutJamEntr2 := "DB_JamArea____".stJam____.stData,
arInOutJamExit2 := "DB_JamArea____".stJam____.arCarrier, // TODO(E-Planung) - Staubereich nach TRO09
stInOutJamExit2 := "DB_JamArea____".stJam____.stData,
xOutStopper1 => "MB____", // TODO(E-Planung)
stInOutHMI := "DB_Interface_HMI".stTRO.TRO02,
nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro____"]); // TODO(E-Planung)
END_REGION
REGION TRO11 (Vario) Sep 0058, 0059
// Anlagenkoordinate x/y: -1146 / 7128 mm
// Vorgaenger: TRO03
// Nachfolger: TRO02
// Einstufung: hoch
// Separator 1 = Bauteil 0058 aus dem Layout
#TRO11.stInSeparator1.Settings.nSeparatorNo := "cSep_____"; // TODO(E-Planung)
#TRO11.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short";
#TRO11.stInSeparator1.Settings.tTrailingTime := t#600ms; // TODO(E-Planung): pruefen
#TRO11.stInSeparator1.Settings.tHandlingTime := t#200ms; // TODO(E-Planung): pruefen
#TRO11.stInSeparator1.Settings.tJam := "TimeForSepJam";
#TRO11.stInSeparator1.Settings.xPluggedJam := TRUE;
#TRO11.stInSeparator1.Settings.xPluggedPart := FALSE;
#TRO11.stInSeparator1.Settings.xPluggedScanner := FALSE;
#TRO11.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG____"]; // TODO(E-Planung)
#TRO11.stInSeparator1.Settings.tSenFree := T#1500ms; // TODO(E-Planung): pruefen
#TRO11.stInSeparator1.Settings.tSenWait := T#4000ms; // TODO(E-Planung): pruefen
#TRO11.stInVario.Settings.xContinousEmptying := FALSE;
#TRO11.stInVario.Settings.tWaitForJog := T#300ms; // TODO(E-Planung): pruefen
#TRO11.stInVario.Settings.tConvEmpty := T#45000ms; // TODO(E-Planung): pruefen
#TRO11.stInVario.Settings.nCountCarrier := 1; // TODO(E-Planung): pruefen
#TRO11.stInVario.Settings.tWaitForStop := t#3s;
#TRO11.stInVario.Settings.tCarrierInPosDelay := t#1200ms;
#TRO11.stInVario.Settings.tCarrierInPosEdgeDelay := t#100ms;
#TRO11.stInVario.Settings.xJamSenDelayActive := TRUE;
#TRO11.stInVario.Settings.tJamSenDelay := T#2s;
#TRO11.stInVario.stSenCarrInPos := "DB_Inputs".Sensors["cInBG____"]; // TODO(E-Planung)
#TRO11.stInVario.stSenFinger := "DB_Inputs".Sensors["cInBG____"]; // TODO(E-Planung)
#TRO11.stInVario.stSenLastPos := "DB_Inputs".Sensors["cInBG____"]; // TODO(E-Planung)
#TRO11.stInVario.stSenJam := "DB_Inputs".Sensors["cInBG____"]; // TODO(E-Planung)
#TRO11.stInPriorityManager.xReleaseOk := TRUE;
#TRO11(nInMainTroNo := "cMainTro____", // TODO(E-Planung)
xInSftyOk := "DB_InterfaceSafety".stFromSafety.EStopMain.Q, // TODO(E-Planung)
xInAllRdyToStart := TRUE,
xInRelease := "DB_TRO_TEST".TRO11,
xInMotorProtection := "FC____", // TODO(E-Planung)
xInAutomatic := #t_automatik,
stInOutMachineState := #stInOutControlUnitCabinet,
stInOutCognexInterface := #stCognexInterfaceDummy,
arInOutJamEntr1 := "DB_JamArea____".stJam____.arCarrier, // TODO(E-Planung) - Staubereich von TRO03
stInOutJamEntr1 := "DB_JamArea____".stJam____.stData,
arInOutJamExit2 := "DB_JamArea____".stJam____.arCarrier, // TODO(E-Planung) - Staubereich nach TRO02
stInOutJamExit2 := "DB_JamArea____".stJam____.stData,
xOutStopper1 => "MB____", // TODO(E-Planung)
xOutVarioMotor => "MA____", // TODO(E-Planung)
stInOutHMI := "DB_Interface_HMI".stTRO.TRO11,
nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro____"]); // TODO(E-Planung)
END_REGION
REGION TRO09 (Vario) Sep 0015, 0063
// Anlagenkoordinate x/y: 9186 / 13892 mm
// Vorgaenger: TRO02
// Nachfolger: TRO07
// Einstufung: hoch
// Separator 1 = Bauteil 0015 aus dem Layout
#TRO09.stInSeparator1.Settings.nSeparatorNo := "cSep_____"; // TODO(E-Planung)
#TRO09.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short";
#TRO09.stInSeparator1.Settings.tTrailingTime := t#600ms; // TODO(E-Planung): pruefen
#TRO09.stInSeparator1.Settings.tHandlingTime := t#200ms; // TODO(E-Planung): pruefen
#TRO09.stInSeparator1.Settings.tJam := "TimeForSepJam";
#TRO09.stInSeparator1.Settings.xPluggedJam := TRUE;
#TRO09.stInSeparator1.Settings.xPluggedPart := FALSE;
#TRO09.stInSeparator1.Settings.xPluggedScanner := FALSE;
#TRO09.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG____"]; // TODO(E-Planung)
#TRO09.stInSeparator1.Settings.tSenFree := T#1500ms; // TODO(E-Planung): pruefen
#TRO09.stInSeparator1.Settings.tSenWait := T#4000ms; // TODO(E-Planung): pruefen
#TRO09.stInVario.Settings.xContinousEmptying := FALSE;
#TRO09.stInVario.Settings.tWaitForJog := T#300ms; // TODO(E-Planung): pruefen
#TRO09.stInVario.Settings.tConvEmpty := T#45000ms; // TODO(E-Planung): pruefen
#TRO09.stInVario.Settings.nCountCarrier := 1; // TODO(E-Planung): pruefen
#TRO09.stInVario.Settings.tWaitForStop := t#3s;
#TRO09.stInVario.Settings.tCarrierInPosDelay := t#1200ms;
#TRO09.stInVario.Settings.tCarrierInPosEdgeDelay := t#100ms;
#TRO09.stInVario.Settings.xJamSenDelayActive := TRUE;
#TRO09.stInVario.Settings.tJamSenDelay := T#2s;
#TRO09.stInVario.stSenCarrInPos := "DB_Inputs".Sensors["cInBG____"]; // TODO(E-Planung)
#TRO09.stInVario.stSenFinger := "DB_Inputs".Sensors["cInBG____"]; // TODO(E-Planung)
#TRO09.stInVario.stSenLastPos := "DB_Inputs".Sensors["cInBG____"]; // TODO(E-Planung)
#TRO09.stInVario.stSenJam := "DB_Inputs".Sensors["cInBG____"]; // TODO(E-Planung)
#TRO09.stInPriorityManager.xReleaseOk := TRUE;
#TRO09(nInMainTroNo := "cMainTro____", // TODO(E-Planung)
xInSftyOk := "DB_InterfaceSafety".stFromSafety.EStopMain.Q, // TODO(E-Planung)
xInAllRdyToStart := TRUE,
xInRelease := "DB_TRO_TEST".TRO09,
xInMotorProtection := "FC____", // TODO(E-Planung)
xInAutomatic := #t_automatik,
stInOutMachineState := #stInOutControlUnitCabinet,
stInOutCognexInterface := #stCognexInterfaceDummy,
arInOutJamEntr1 := "DB_JamArea____".stJam____.arCarrier, // TODO(E-Planung) - Staubereich von TRO02
stInOutJamEntr1 := "DB_JamArea____".stJam____.stData,
arInOutJamExit2 := "DB_JamArea____".stJam____.arCarrier, // TODO(E-Planung) - Staubereich nach TRO07
stInOutJamExit2 := "DB_JamArea____".stJam____.stData,
xOutStopper1 => "MB____", // TODO(E-Planung)
xOutVarioMotor => "MA____", // TODO(E-Planung)
stInOutHMI := "DB_Interface_HMI".stTRO.TRO09,
nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro____"]); // TODO(E-Planung)
END_REGION
END_FUNCTION_BLOCK
+115
View File
@@ -0,0 +1,115 @@
; ============================================================
; connect.ini - Materialfluss-Topologie (Item-/Flussebene)
; Automatisch erzeugt von lib/material_flow.py aus 'export.csv'.
; Zwischenstand fuer die TRO-Ableitung; von Hand editierbar.
;
; [<Anlage>.nodes] <Knoten> = <Art> | <Bezeichnung>
; [<Anlage>.connections] cNNN = <von> -> <nach> | <JamArea> | <kind>
; kind: normal | umlauf | weiche | einschleusung | ausschleusung | unbestimmt
; [<Anlage>.externals] eNNN = EXTERN -> <Knoten> | <Info> (Zulauf/Beladung)
; eNNN = <Knoten> -> EXTERN | <Info> (Ablauf/Entladung)
; [<Anlage>.manual] vor Ort bestaetigte Angaben aus cfg/tro_overrides.ini
; ============================================================
[export.nodes]
0001-L = Kreisel | Kreisel1 (Bahn L)
0001-R = Kreisel | Kreisel1 (Bahn R)
0002-L = Kreisel | Kreisel2 (Bahn L)
0002-R = Kreisel | Kreisel2 (Bahn R)
0010-L = Kreisel | Kreisel3 (Bahn L)
0010-R = Kreisel | Kreisel3 (Bahn R)
0013 = Strecke | VarioFoerderer :3
0014 = Strecke | VarioFoerderer :2
0016 = Strecke | VarioFoerderer :1
0017 = Gefaellestrecke | Gefaellestrecke :20
0018 = Gefaellestrecke | Gefaellestrecke :19
0019 = Gefaellestrecke | Gefaellestrecke :18
0020 = Gefaellestrecke | Gefaellestrecke :17
0021 = Gefaellestrecke | Gefaellestrecke :16
0022 = Gefaellestrecke | Gefaellestrecke :15
0023 = Gefaellestrecke | Gefaellestrecke :14
0024 = Gefaellestrecke | Gefaellestrecke :13
0025 = Gefaellestrecke | Gefaellestrecke :12
0026 = Gefaellestrecke | Gefaellestrecke :11
0027 = Gefaellestrecke | Gefaellestrecke :10
0028 = Gefaellestrecke | Gefaellestrecke :9
0029 = Gefaellestrecke | Gefaellestrecke :8
0030 = Gefaellestrecke | Gefaellestrecke :7
0031 = Gefaellestrecke | Gefaellestrecke :6
0032 = Gefaellestrecke | Gefaellestrecke :5
0033 = Gefaellestrecke | Gefaellestrecke :4
0034 = Gefaellestrecke | Gefaellestrecke :3
0035 = Gefaellestrecke | Gefaellestrecke :2
0036 = Gefaellestrecke | Gefaellestrecke :1
[export.connections]
c001 = 0001-L -> 0002-R | | weiche
c002 = 0001-R -> 0001-L | | umlauf
c003 = 0001-R -> 0002-R | | weiche
c004 = 0002-L -> 0016 | | ausschleusung
c005 = 0002-R -> 0002-L | | umlauf
c006 = 0002-R -> 0013 | | ausschleusung
c007 = 0002-R -> 0014 | | ausschleusung
c008 = 0010-L -> 0017 | | ausschleusung
c009 = 0010-L -> 0018 | | ausschleusung
c010 = 0010-L -> 0019 | | ausschleusung
c011 = 0010-L -> 0020 | | ausschleusung
c012 = 0010-L -> 0021 | | ausschleusung
c013 = 0010-L -> 0022 | | ausschleusung
c014 = 0010-L -> 0023 | | ausschleusung
c015 = 0010-L -> 0024 | | ausschleusung
c016 = 0010-L -> 0025 | | ausschleusung
c017 = 0010-L -> 0026 | | ausschleusung
c018 = 0010-L -> 0027 | | ausschleusung
c019 = 0010-L -> 0028 | | ausschleusung
c020 = 0010-L -> 0029 | | ausschleusung
c021 = 0010-L -> 0030 | | ausschleusung
c022 = 0010-L -> 0031 | | ausschleusung
c023 = 0010-L -> 0032 | | ausschleusung
c024 = 0010-L -> 0033 | | ausschleusung
c025 = 0010-L -> 0034 | | ausschleusung
c026 = 0010-L -> 0035 | | ausschleusung
c027 = 0010-L -> 0036 | | ausschleusung
c028 = 0010-R -> 0010-L | | umlauf
c029 = 0013 -> 0010-L | | einschleusung
c030 = 0014 -> 0010-L | | einschleusung
c031 = 0016 -> 0002-R | | einschleusung
c032 = 0017 -> 0002-R | | einschleusung
c033 = 0018 -> 0002-R | | einschleusung
c034 = 0019 -> 0002-R | | einschleusung
c035 = 0020 -> 0002-R | | einschleusung
c036 = 0021 -> 0002-R | | einschleusung
c037 = 0022 -> 0002-R | | einschleusung
c038 = 0023 -> 0002-R | | einschleusung
c039 = 0024 -> 0002-R | | einschleusung
c040 = 0025 -> 0002-R | | einschleusung
c041 = 0026 -> 0002-R | | einschleusung
c042 = 0027 -> 0002-R | | einschleusung
c043 = 0028 -> 0002-R | | einschleusung
c044 = 0029 -> 0002-R | | einschleusung
c045 = 0030 -> 0002-R | | einschleusung
c046 = 0031 -> 0002-R | | einschleusung
c047 = 0032 -> 0002-R | | einschleusung
c048 = 0033 -> 0002-R | | einschleusung
c049 = 0034 -> 0002-R | | einschleusung
c050 = 0035 -> 0002-R | | einschleusung
c051 = 0036 -> 0002-R | | einschleusung
[export.externals]
; Noch keine BTMT Be-/Entladestation im Layout - Ein-/Ausgang offen.
; Kandidaten (offene Enden aus dem Materialfluss):
; Beladung? EXTERN -> 0001-R (Kreisel, keine Zufuhr)
; Beladung? EXTERN -> 0010-R (Kreisel, keine Zufuhr)
[export.manual]
; Vor Ort bestaetigt, im CSV-Export nicht enthalten.
; Quelle: cfg\tro_overrides.ini
; Diese Zeilen werden aus der Override-Datei erzeugt - nicht hier
; editieren, sonst sind sie beim naechsten Lauf wieder weg.
SEP0003 = 1Sep_SSCC | Separator 0003 | Review 2026-08-12: Scanner-Stelle bestaetigt (Separator 0003 mit Scanner 0004)
SEP0011 = 1Sep1Swi | Separator 0011 | Weiche am Separator 0011 vor Ort bestaetigt (Review 2026-08-10) - hier wird die Fahrtrichtung umgestellt; im CSV-Export fehlt das Weichenelement
SEP0012 = 1Sep_SSCC | Separator 0012 | Separator 0012 mit Scanner 0007 - im Review als Scanner-Stelle bestaetigt (Review 2026-08-10)
SEP0064 = 1Sep_SSCC | Separator 0064 | Review 2026-08-12: Scanner-Stelle, keine Weiche - Einstufung gegenueber dem ersten Review (1Sep1Swi) korrigiert. Separator mit Scanner 0008.
Kreisel2_R_vor_Foerderer = NEU 1Sep1Swi | Separator 0005 + Scanner 0006 | Bahn 0002-R | Review 2026-08-10: liegt auf Kreisel2 Bahn R zwischen Linienspeicher und Foerderer. Vor Ort 1 Separator + 1 Scanner, keine mechanische Weiche - wird auf Wunsch als Schaltstelle (1Sep1Swi) gefuehrt, weil hier die Wegeentscheidung faellt. Export vom 2026-08-12: Position 400/-3978 (223 mm verschoben), Zuordnung jetzt Strecke 0014 statt Gefaellestrecke 0036 - der Separator wuerde also dem Vario-TRO zugeschlagen statt dem Linienspeicher.
Beruehrpunkt_K2_K1 = NEU 1Sep1Swi | Separator 0057 + Scanner 0062 | Bahn 0001-L | Review 2026-08-10: Uebergabestelle am Beruehrpunkt der beiden Kreisel (ILS Weiche 0067 bei 400/-5478, Kreisel A 0002 / Kreisel B 0001). Hier faellt die Entscheidung Kreisel1 weiter oder auf den unteren Foerderer. Zuordnung im Export zeigt auf Strecke 0014, daher bisher Teil des Vario-TRO.
+120
View File
@@ -0,0 +1,120 @@
// Automatisch erzeugt von lib/material_flow.py - nicht manuell aendern.
// Quelle: export.csv
// Lagerichtig: Knoten auf Anlagenkoordinate, 0.25 pt/mm.
// Rendern mit: neato -n -Tsvg <datei>.dot -o <datei>.svg
digraph Materialfluss {
graph [rankdir=LR, splines=spline, nodesep=0.25, ranksep=1.6,
fontname="Segoe UI", fontsize=11, labelloc="t",
label="Materialfluss - export.csv"];
node [shape=box, style="rounded,filled", fontname="Segoe UI", fontsize=9];
edge [fontname="Segoe UI", fontsize=8, color="#2f5597", penwidth=1.2, arrowsize=0.8];
subgraph cluster_kreisel_0 {
label="Kreisel Kreisel1 [0001] UZS (rechts nach links)";
style="rounded,filled"; fillcolor="#eef2fa"; color="#2f5597";
fontname="Segoe UI"; fontsize=10; fontcolor="#1f3864"; margin=12;
"0001-L" [label="Kreisel1 [0001-L]\nBahn L (links)\nh = 1.470 m\nScanner (1): 0062", fillcolor="#2f5597", fontcolor="#ffffff", color="#1f3864", pos="825.00,-1282.00"];
"0001-R" [label="Kreisel1 [0001-R]\nBahn R (rechts)\nh = 1.470 m\nSeparator (1): 0061", fillcolor="#2f5597", fontcolor="#ffffff", color="#1f3864", pos="825.00,-1457.00"];
{ rank=same; "0001-L"; "0001-R"; }
}
subgraph cluster_kreisel_1 {
label="Kreisel Kreisel2 [0002] UZS (rechts nach links)";
style="rounded,filled"; fillcolor="#eef2fa"; color="#2f5597";
fontname="Segoe UI"; fontsize=10; fontcolor="#1f3864"; margin=12;
"0002-L" [label="Kreisel2 [0002-L]\nBahn L (links)\nh = 1.470 m\nSeparator (3): 0003, 0011, 0012\nScanner (3): 0004, 0007, 0009", fillcolor="#2f5597", fontcolor="#ffffff", color="#1f3864", pos="0.00,1219.88"];
"0002-R" [label="Kreisel2 [0002-R]\nBahn R (rechts)\nh = 1.470 m", fillcolor="#2f5597", fontcolor="#ffffff", color="#1f3864", pos="0.00,1044.88"];
{ rank=same; "0002-L"; "0002-R"; }
}
subgraph cluster_kreisel_2 {
label="Kreisel Kreisel3 [0010] UZS (rechts nach links)";
style="rounded,filled"; fillcolor="#eef2fa"; color="#2f5597";
fontname="Segoe UI"; fontsize=10; fontcolor="#1f3864"; margin=12;
"0010-L" [label="Kreisel3 [0010-L]\nBahn L (links)\nh = 1.940 m", fillcolor="#2f5597", fontcolor="#ffffff", color="#1f3864", pos="2477.50,1219.88"];
"0010-R" [label="Kreisel3 [0010-R]\nBahn R (rechts)\nh = 1.940 m\nSeparator (3): 0064, 0065, 0066", fillcolor="#2f5597", fontcolor="#ffffff", color="#1f3864", pos="2477.50,1044.88"];
{ rank=same; "0010-L"; "0010-R"; }
}
"0013" [label="VarioFoerderer :3 [0013]\nStrecke\nh = 0.237 m\n0 -> 474 mm (+474) = aufwaerts\nSeparator (2): 0015, 0063", fillcolor="#e2f0d9", fontcolor="#375623", color="#548235", pos="1235.62,3427.07"];
"0014" [label="VarioFoerderer :2 [0014]\nStrecke\nh = 0.237 m\n0 -> 474 mm (+474) = aufwaerts\nSeparator (3): 0005, 0057, 0067\nScanner (1): 0006", fillcolor="#e2f0d9", fontcolor="#375623", color="#548235", pos="1235.62,-1136.18"];
"0016" [label="VarioFoerderer :1 [0016]\nStrecke\nh = 0.000 m\n0 -> 0 mm (+0) = aufwaerts\nSeparator (2): 0058, 0059\nScanner (1): 0060", fillcolor="#e2f0d9", fontcolor="#375623", color="#548235", pos="-157.82,1534.12"];
"0017" [label="Gefaellestrecke :20 [0017]\nGefaellestrecke\nh = 1.941 m\n1941 -> 1466 mm (-475) = abwaerts\nSeparator (1): 0037", fillcolor="#fbe5d6", fontcolor="#833c00", color="#c55a11", pos="1241.66,3051.64"];
"0018" [label="Gefaellestrecke :19 [0018]\nGefaellestrecke\nh = 1.941 m\n1941 -> 1466 mm (-475) = abwaerts\nSeparator (1): 0038", fillcolor="#fbe5d6", fontcolor="#833c00", color="#c55a11", pos="1241.66,2851.64"];
"0019" [label="Gefaellestrecke :18 [0019]\nGefaellestrecke\nh = 1.941 m\n1941 -> 1466 mm (-475) = abwaerts\nSeparator (1): 0039", fillcolor="#fbe5d6", fontcolor="#833c00", color="#c55a11", pos="1241.66,2651.64"];
"0020" [label="Gefaellestrecke :17 [0020]\nGefaellestrecke\nh = 1.941 m\n1941 -> 1466 mm (-475) = abwaerts\nSeparator (1): 0040", fillcolor="#fbe5d6", fontcolor="#833c00", color="#c55a11", pos="1241.66,2451.64"];
"0021" [label="Gefaellestrecke :16 [0021]\nGefaellestrecke\nh = 1.941 m\n1941 -> 1466 mm (-475) = abwaerts\nSeparator (1): 0041", fillcolor="#fbe5d6", fontcolor="#833c00", color="#c55a11", pos="1241.66,2251.64"];
"0022" [label="Gefaellestrecke :15 [0022]\nGefaellestrecke\nh = 1.941 m\n1941 -> 1466 mm (-475) = abwaerts\nSeparator (1): 0042", fillcolor="#fbe5d6", fontcolor="#833c00", color="#c55a11", pos="1241.66,2051.64"];
"0023" [label="Gefaellestrecke :14 [0023]\nGefaellestrecke\nh = 1.941 m\n1941 -> 1466 mm (-475) = abwaerts\nSeparator (1): 0043", fillcolor="#fbe5d6", fontcolor="#833c00", color="#c55a11", pos="1241.66,1851.64"];
"0024" [label="Gefaellestrecke :13 [0024]\nGefaellestrecke\nh = 1.941 m\n1941 -> 1466 mm (-475) = abwaerts\nSeparator (1): 0044", fillcolor="#fbe5d6", fontcolor="#833c00", color="#c55a11", pos="1241.66,1651.64"];
"0025" [label="Gefaellestrecke :12 [0025]\nGefaellestrecke\nh = 1.941 m\n1941 -> 1466 mm (-475) = abwaerts\nSeparator (1): 0045", fillcolor="#fbe5d6", fontcolor="#833c00", color="#c55a11", pos="1241.66,1451.64"];
"0026" [label="Gefaellestrecke :11 [0026]\nGefaellestrecke\nh = 1.941 m\n1941 -> 1466 mm (-475) = abwaerts\nSeparator (1): 0046", fillcolor="#fbe5d6", fontcolor="#833c00", color="#c55a11", pos="1241.66,1251.64"];
"0027" [label="Gefaellestrecke :10 [0027]\nGefaellestrecke\nh = 1.941 m\n1941 -> 1466 mm (-475) = abwaerts\nSeparator (1): 0047", fillcolor="#fbe5d6", fontcolor="#833c00", color="#c55a11", pos="1241.66,1051.64"];
"0028" [label="Gefaellestrecke :9 [0028]\nGefaellestrecke\nh = 1.941 m\n1941 -> 1466 mm (-475) = abwaerts\nSeparator (1): 0048", fillcolor="#fbe5d6", fontcolor="#833c00", color="#c55a11", pos="1241.66,851.64"];
"0029" [label="Gefaellestrecke :8 [0029]\nGefaellestrecke\nh = 1.941 m\n1941 -> 1466 mm (-475) = abwaerts\nSeparator (1): 0049", fillcolor="#fbe5d6", fontcolor="#833c00", color="#c55a11", pos="1241.66,651.64"];
"0030" [label="Gefaellestrecke :7 [0030]\nGefaellestrecke\nh = 1.941 m\n1941 -> 1466 mm (-475) = abwaerts\nSeparator (1): 0050", fillcolor="#fbe5d6", fontcolor="#833c00", color="#c55a11", pos="1241.66,451.64"];
"0031" [label="Gefaellestrecke :6 [0031]\nGefaellestrecke\nh = 1.941 m\n1941 -> 1466 mm (-475) = abwaerts\nSeparator (1): 0051", fillcolor="#fbe5d6", fontcolor="#833c00", color="#c55a11", pos="1241.66,251.64"];
"0032" [label="Gefaellestrecke :5 [0032]\nGefaellestrecke\nh = 1.941 m\n1941 -> 1466 mm (-475) = abwaerts\nSeparator (1): 0052", fillcolor="#fbe5d6", fontcolor="#833c00", color="#c55a11", pos="1241.66,51.64"];
"0033" [label="Gefaellestrecke :4 [0033]\nGefaellestrecke\nh = 1.941 m\n1941 -> 1466 mm (-475) = abwaerts\nSeparator (1): 0053", fillcolor="#fbe5d6", fontcolor="#833c00", color="#c55a11", pos="1241.66,-148.36"];
"0034" [label="Gefaellestrecke :3 [0034]\nGefaellestrecke\nh = 1.941 m\n1941 -> 1466 mm (-475) = abwaerts\nSeparator (1): 0054", fillcolor="#fbe5d6", fontcolor="#833c00", color="#c55a11", pos="1241.66,-348.36"];
"0035" [label="Gefaellestrecke :2 [0035]\nGefaellestrecke\nh = 1.941 m\n1941 -> 1466 mm (-475) = abwaerts\nSeparator (1): 0055", fillcolor="#fbe5d6", fontcolor="#833c00", color="#c55a11", pos="1241.66,-548.36"];
"0036" [label="Gefaellestrecke :1 [0036]\nGefaellestrecke\nh = 1.941 m\n1941 -> 1466 mm (-475) = abwaerts\nSeparator (2): 0056, 0068\nScanner (1): 0069", fillcolor="#fbe5d6", fontcolor="#833c00", color="#c55a11", pos="1241.66,-748.36"];
"0001-L" -> "0002-R" [color="#bf8f00", style=dashed, dir=both, tooltip="Richtung Weiche", xlabel="Weiche", fontcolor="#cc8800"];
"0001-R" -> "0002-R" [color="#bf8f00", style=dashed, dir=both, tooltip="Richtung Weiche", xlabel="Weiche", fontcolor="#cc8800"];
"0010-R" -> "0010-L" [color="#8ea9db", style=dashed, penwidth=1.2, constraint=false, arrowsize=0.9, fontcolor="#5b7fc7", tooltip="Kreisel-Umlauf UZS", xlabel="UZS"];
"0002-R" -> "0002-L" [color="#8ea9db", style=dashed, penwidth=1.2, constraint=false, arrowsize=0.9, fontcolor="#5b7fc7", tooltip="Kreisel-Umlauf UZS", xlabel="UZS"];
"0001-R" -> "0001-L" [color="#8ea9db", style=dashed, penwidth=1.2, constraint=false, arrowsize=0.9, fontcolor="#5b7fc7", tooltip="Kreisel-Umlauf UZS", xlabel="UZS"];
"0010-L" -> "0036" [];
"0036" -> "0002-R" [];
"0010-L" -> "0035" [];
"0035" -> "0002-R" [];
"0010-L" -> "0034" [];
"0034" -> "0002-R" [];
"0010-L" -> "0033" [];
"0033" -> "0002-R" [];
"0010-L" -> "0032" [];
"0032" -> "0002-R" [];
"0010-L" -> "0031" [];
"0031" -> "0002-R" [];
"0010-L" -> "0030" [];
"0030" -> "0002-R" [];
"0010-L" -> "0029" [];
"0029" -> "0002-R" [];
"0010-L" -> "0028" [];
"0028" -> "0002-R" [];
"0010-L" -> "0027" [];
"0027" -> "0002-R" [];
"0010-L" -> "0026" [];
"0026" -> "0002-R" [];
"0010-L" -> "0025" [];
"0025" -> "0002-R" [];
"0010-L" -> "0024" [];
"0024" -> "0002-R" [];
"0010-L" -> "0023" [];
"0023" -> "0002-R" [];
"0010-L" -> "0022" [];
"0022" -> "0002-R" [];
"0010-L" -> "0021" [];
"0021" -> "0002-R" [];
"0010-L" -> "0020" [];
"0020" -> "0002-R" [];
"0010-L" -> "0019" [];
"0019" -> "0002-R" [];
"0010-L" -> "0018" [];
"0018" -> "0002-R" [];
"0010-L" -> "0017" [];
"0017" -> "0002-R" [];
"0002-L" -> "0016" [];
"0016" -> "0002-R" [];
"0002-R" -> "0014" [];
"0014" -> "0010-L" [];
"0002-R" -> "0013" [];
"0013" -> "0010-L" [];
subgraph cluster_legende {
label="Legende"; style="rounded"; color="#a6a6a6";
fontname="Segoe UI"; fontsize=10; fontcolor="#404040";
legende [shape=plaintext, style="", fillcolor="none", pos="-157.82,-2207.00", label=<<table border="0" cellborder="0" cellspacing="2" cellpadding="2"><tr><td align="left">durchgezogen</td><td align="left">Materialfluss</td></tr><tr><td align="left"><font color="#8ea9db">gestrichelt blau</font></td><td align="left">Kreisel-Umlauf, Richtung aus Drehrichtung (UZS = rechts nach links, GUZ = links nach rechts)</td></tr><tr><td align="left"><font color="#bf8f00">gestrichelt gelb</font></td><td align="left">Richtung nicht bestimmbar</td></tr></table>>];
}
}
+148
View File
@@ -0,0 +1,148 @@
<!-- erzeugt von lib/material_flow.py -->
# Materialfluss - export.csv
**Erzeugt:** 2026-08-14 12:54 von `lib/material_flow.py`
**Quelle:** `data\export.csv`
> Materialfluss der mechanischen Objekte. Die daraus abgeleiteten Steuerungsobjekte (TROs) dokumentiert `lib/tro_flow.py --doc`.
## 1. Kurzfassung
| | |
|---|---|
| Flussknoten | 29 (Gefaellestrecke: 20, Kreisel: 6, Strecke: 3) |
| Flusskanten | 46 gerichtet, 3 Kreisel-Umlauf, 2 Richtung unbestimmt |
| Anbauteile | Scanner: 7, Separator: 35 |
| Plausibilitaetshinweise | 10 |
Graph: [`export_material_flow.dot`](export_material_flow.dot) - [`export_material_flow.svg`](export_material_flow.svg)
Ein **Kreisel** ist ein Umlauf und wird als zwei Knoten modelliert - eine Bahn je Fahrtrichtung (`-L` links, `-R` rechts), die zu einem Kreis verbunden sind.
## 2. Anlagenobjekte
| Knoten | Art | Bezeichnung | Planquadrat | Hoehe [m] | Separatoren | Scanner |
|---|---|---|---|---|---|---|
| `0001-L` | Kreisel | Kreisel :3 / Kreisel1 (Bahn L) | A/1 | 1.470 | - | 0062 |
| `0001-R` | Kreisel | Kreisel :3 / Kreisel1 (Bahn R) | A/1 | 1.470 | 0061 | - |
| `0002-L` | Kreisel | Kreisel :2 / Kreisel2 (Bahn L) | A/1 | 1.470 | 0003, 0011, 0012 | 0004, 0007, 0009 |
| `0002-R` | Kreisel | Kreisel :2 / Kreisel2 (Bahn R) | A/1 | 1.470 | - | - |
| `0010-L` | Kreisel | Kreisel :1 / Kreisel3 (Bahn L) | F/1 | 1.940 | - | - |
| `0010-R` | Kreisel | Kreisel :1 / Kreisel3 (Bahn R) | F/1 | 1.940 | 0064, 0065, 0066 | - |
| `0013` | Strecke | VarioFoerderer :3 | A/10 | 0.237 | 0015, 0063 | - |
| `0014` | Strecke | VarioFoerderer :2 | A/1 | 0.237 | 0005, 0057, 0067 | 0006 |
| `0016` | Strecke | VarioFoerderer :1 | A/4 | 0.000 | 0058, 0059 | 0060 |
| `0017` | Gefaellestrecke | Gefaellestrecke :20 | F/10 | 1.941 | 0037 | - |
| `0018` | Gefaellestrecke | Gefaellestrecke :19 | F/9 | 1.941 | 0038 | - |
| `0019` | Gefaellestrecke | Gefaellestrecke :18 | F/9 | 1.941 | 0039 | - |
| `0020` | Gefaellestrecke | Gefaellestrecke :17 | F/8 | 1.941 | 0040 | - |
| `0021` | Gefaellestrecke | Gefaellestrecke :16 | F/8 | 1.941 | 0041 | - |
| `0022` | Gefaellestrecke | Gefaellestrecke :15 | F/8 | 1.941 | 0042 | - |
| `0023` | Gefaellestrecke | Gefaellestrecke :14 | F/7 | 1.941 | 0043 | - |
| `0024` | Gefaellestrecke | Gefaellestrecke :13 | F/7 | 1.941 | 0044 | - |
| `0025` | Gefaellestrecke | Gefaellestrecke :12 | F/6 | 1.941 | 0045 | - |
| `0026` | Gefaellestrecke | Gefaellestrecke :11 | F/6 | 1.941 | 0046 | - |
| `0027` | Gefaellestrecke | Gefaellestrecke :10 | F/6 | 1.941 | 0047 | - |
| `0028` | Gefaellestrecke | Gefaellestrecke :9 | F/5 | 1.941 | 0048 | - |
| `0029` | Gefaellestrecke | Gefaellestrecke :8 | F/5 | 1.941 | 0049 | - |
| `0030` | Gefaellestrecke | Gefaellestrecke :7 | F/4 | 1.941 | 0050 | - |
| `0031` | Gefaellestrecke | Gefaellestrecke :6 | F/4 | 1.941 | 0051 | - |
| `0032` | Gefaellestrecke | Gefaellestrecke :5 | F/4 | 1.941 | 0052 | - |
| `0033` | Gefaellestrecke | Gefaellestrecke :4 | F/3 | 1.941 | 0053 | - |
| `0034` | Gefaellestrecke | Gefaellestrecke :3 | F/3 | 1.941 | 0054 | - |
| `0035` | Gefaellestrecke | Gefaellestrecke :2 | F/2 | 1.941 | 0055 | - |
| `0036` | Gefaellestrecke | Gefaellestrecke :1 | F/2 | 1.941 | 0056, 0068 | 0069 |
Bezeichnung: `Bezeichnung` aus dem CSV; wo das Merkmal `Name` abweicht, steht es dahinter (die beiden Nummerierungen laufen nicht zwangslaeufig gleich).
Hoehe: bei Kreiseln aus dem Merkmal `Höhe in m`, bei Gefaellestrecke und Strecke aus `Montagehoehe_m` - unveraendert aus dem CSV uebernommen. Fuer die Richtungsableitung werden nur die Hoehen der **Nachbarn** verglichen, nie die des Transportobjekts selbst.
**Anbauteile ohne Zuordnung**
- Scanner 0008 'Scanner :5' (Zuordnung: `nicht zugeordnet`)
## 3. Verbindungen
| von | nach | Art |
|---|---|---|
| `0001-L` | `0002-R` | Richtung unbestimmt (Weiche) |
| `0001-R` | `0002-R` | Richtung unbestimmt (Weiche) |
| `0010-R` | `0010-L` | Kreisel-Umlauf (UZS) |
| `0002-R` | `0002-L` | Kreisel-Umlauf (UZS) |
| `0001-R` | `0001-L` | Kreisel-Umlauf (UZS) |
| `0010-L` | `0036` | Materialfluss (Ausschleusung) |
| `0036` | `0002-R` | Materialfluss (Einschleusung) |
| `0010-L` | `0035` | Materialfluss (Ausschleusung) |
| `0035` | `0002-R` | Materialfluss (Einschleusung) |
| `0010-L` | `0034` | Materialfluss (Ausschleusung) |
| `0034` | `0002-R` | Materialfluss (Einschleusung) |
| `0010-L` | `0033` | Materialfluss (Ausschleusung) |
| `0033` | `0002-R` | Materialfluss (Einschleusung) |
| `0010-L` | `0032` | Materialfluss (Ausschleusung) |
| `0032` | `0002-R` | Materialfluss (Einschleusung) |
| `0010-L` | `0031` | Materialfluss (Ausschleusung) |
| `0031` | `0002-R` | Materialfluss (Einschleusung) |
| `0010-L` | `0030` | Materialfluss (Ausschleusung) |
| `0030` | `0002-R` | Materialfluss (Einschleusung) |
| `0010-L` | `0029` | Materialfluss (Ausschleusung) |
| `0029` | `0002-R` | Materialfluss (Einschleusung) |
| `0010-L` | `0028` | Materialfluss (Ausschleusung) |
| `0028` | `0002-R` | Materialfluss (Einschleusung) |
| `0010-L` | `0027` | Materialfluss (Ausschleusung) |
| `0027` | `0002-R` | Materialfluss (Einschleusung) |
| `0010-L` | `0026` | Materialfluss (Ausschleusung) |
| `0026` | `0002-R` | Materialfluss (Einschleusung) |
| `0010-L` | `0025` | Materialfluss (Ausschleusung) |
| `0025` | `0002-R` | Materialfluss (Einschleusung) |
| `0010-L` | `0024` | Materialfluss (Ausschleusung) |
| `0024` | `0002-R` | Materialfluss (Einschleusung) |
| `0010-L` | `0023` | Materialfluss (Ausschleusung) |
| `0023` | `0002-R` | Materialfluss (Einschleusung) |
| `0010-L` | `0022` | Materialfluss (Ausschleusung) |
| `0022` | `0002-R` | Materialfluss (Einschleusung) |
| `0010-L` | `0021` | Materialfluss (Ausschleusung) |
| `0021` | `0002-R` | Materialfluss (Einschleusung) |
| `0010-L` | `0020` | Materialfluss (Ausschleusung) |
| `0020` | `0002-R` | Materialfluss (Einschleusung) |
| `0010-L` | `0019` | Materialfluss (Ausschleusung) |
| `0019` | `0002-R` | Materialfluss (Einschleusung) |
| `0010-L` | `0018` | Materialfluss (Ausschleusung) |
| `0018` | `0002-R` | Materialfluss (Einschleusung) |
| `0010-L` | `0017` | Materialfluss (Ausschleusung) |
| `0017` | `0002-R` | Materialfluss (Einschleusung) |
| `0002-L` | `0016` | Materialfluss (Ausschleusung) |
| `0016` | `0002-R` | Materialfluss (Einschleusung) |
| `0002-R` | `0014` | Materialfluss (Ausschleusung) |
| `0014` | `0010-L` | Materialfluss (Einschleusung) |
| `0002-R` | `0013` | Materialfluss (Ausschleusung) |
| `0013` | `0010-L` | Materialfluss (Einschleusung) |
Die Richtung innerhalb eines Kreisels kommt aus dem Merkmal `Drehrichtung`: **UZS** (im Uhrzeigersinn) laesst das Material rechts nach links laufen, **GUZ** (gegen den Uhrzeigersinn) links nach rechts.
## 4. Plausibilitaetshinweise
Abweichungen zwischen den Merkmalen des CSV-Exports und den tatsaechlich vorhandenen Objekten.
- Gefaellestrecke 0036 'Gefaellestrecke :1': Merkmal 'Anzahl_Scanner' = 0, tatsaechlich 1 Scanner
- Gefaellestrecke 0036 'Gefaellestrecke :1': Merkmal 'Anzahl_Separator' = 1, tatsaechlich 2 Separator
- Kreisel 0001 'Kreisel :3': Merkmal 'Anzahl der Scanner' = 0, tatsaechlich 1 Scanner
- Kreisel 0001 'Kreisel :3': Merkmal 'Anzahl der Separatoren' = 2, tatsaechlich 1 Separator
- Kreisel 0002 'Kreisel :2': Merkmal 'Anzahl der Scanner' = 0, tatsaechlich 3 Scanner
- Kreisel 0002 'Kreisel :2': Merkmal 'Anzahl der Separatoren' = 2, tatsaechlich 3 Separator
- Kreisel 0010 'Kreisel :1': Merkmal 'Anzahl der Separatoren' = 2, tatsaechlich 3 Separator
- Strecke 0014 'VarioFoerderer :2': Merkmal 'Anzahl_Scanner' = 0, tatsaechlich 1 Scanner
- Strecke 0014 'VarioFoerderer :2': Merkmal 'Anzahl_Separator' = 2, tatsaechlich 3 Separator
- Strecke 0016 'VarioFoerderer :1': Merkmal 'Anzahl_Scanner' = 0, tatsaechlich 1 Scanner
## 5. Warnungen des Laufs
- Zeile 55 (Strecke 0016 'VarioFoerderer :1'): alle Nachbarn auf gleicher Hoehe (1.470 m) - Richtung nicht bestimmbar
- Verbindung 0001-L <-> 0002-R: Richtung nicht bestimmbar (kein Transportobjekt beteiligt) - beidseitig gezeichnet
- Verbindung 0001-R <-> 0002-R: Richtung nicht bestimmbar (kein Transportobjekt beteiligt) - beidseitig gezeichnet
- Verbindung 0002-L <-> 0016: Richtung nicht bestimmbar (kein Transportobjekt beteiligt) - beidseitig gezeichnet
- Verbindung 0002-R <-> 0016: Richtung nicht bestimmbar (kein Transportobjekt beteiligt) - beidseitig gezeichnet
- Strecke 0016: Ein- und Ausschleusung am selben Kreisel 0002 (Ruecklauf) - Bahnen 0002-L/0002-R angenommen
- Kante 0001-L <-> 0014: Kreisel<->Strecke ohne Transferelement - als Bounding-Box-Falschtreffer verworfen
- Bahn 0001-R (Separatoren 0061): keine ankommende Verbindung - fuer das Material nicht erreichbar
- Bahn 0010-R (Separatoren 0064, 0065, 0066): keine ankommende Verbindung - fuer das Material nicht erreichbar
+638
View File
@@ -0,0 +1,638 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 15.1.0 (20260618.0150)
-->
<!-- Title: Materialfluss Pages: 1 -->
<svg width="2939pt" height="5734pt"
viewBox="0.00 0.00 2939.00 5734.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 5730.07)">
<title>Materialfluss</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-5730.07 2935.32,-5730.07 2935.32,4 -4,4"/>
<text xml:space="preserve" text-anchor="middle" x="1465.66" y="-5711.62" font-family="Segoe UI" font-size="11.00">Materialfluss &#45; export.csv</text>
<!-- 0001&#45;L -->
<g id="node1" class="node">
<title>0001&#45;L</title>
<path fill="#2f5597" stroke="#1f3864" d="M1241.32,-987.62C1241.32,-987.62 1182.57,-987.62 1182.57,-987.62 1176.57,-987.62 1170.57,-981.62 1170.57,-975.62 1170.57,-975.62 1170.57,-940.62 1170.57,-940.62 1170.57,-934.62 1176.57,-928.62 1182.57,-928.62 1182.57,-928.62 1241.32,-928.62 1241.32,-928.62 1247.32,-928.62 1253.32,-934.62 1253.32,-940.62 1253.32,-940.62 1253.32,-975.62 1253.32,-975.62 1253.32,-981.62 1247.32,-987.62 1241.32,-987.62"/>
<text xml:space="preserve" text-anchor="middle" x="1211.95" y="-975.07" font-family="Segoe UI" font-size="9.00" fill="#ffffff">Kreisel1 &#160;[0001&#45;L]</text>
<text xml:space="preserve" text-anchor="middle" x="1211.95" y="-962.32" font-family="Segoe UI" font-size="9.00" fill="#ffffff">Bahn L (links)</text>
<text xml:space="preserve" text-anchor="middle" x="1211.95" y="-949.57" font-family="Segoe UI" font-size="9.00" fill="#ffffff">h = 1.470 m</text>
<text xml:space="preserve" text-anchor="middle" x="1211.95" y="-936.82" font-family="Segoe UI" font-size="9.00" fill="#ffffff">Scanner (1): 0062</text>
</g>
<!-- 0002&#45;R -->
<g id="node4" class="node">
<title>0002&#45;R</title>
<path fill="#2f5597" stroke="#1f3864" d="M416.69,-3308.13C416.69,-3308.13 357.19,-3308.13 357.19,-3308.13 351.19,-3308.13 345.19,-3302.13 345.19,-3296.13 345.19,-3296.13 345.19,-3273.88 345.19,-3273.88 345.19,-3267.88 351.19,-3261.88 357.19,-3261.88 357.19,-3261.88 416.69,-3261.88 416.69,-3261.88 422.69,-3261.88 428.69,-3267.88 428.69,-3273.88 428.69,-3273.88 428.69,-3296.13 428.69,-3296.13 428.69,-3302.13 422.69,-3308.13 416.69,-3308.13"/>
<text xml:space="preserve" text-anchor="middle" x="386.94" y="-3295.58" font-family="Segoe UI" font-size="9.00" fill="#ffffff">Kreisel2 &#160;[0002&#45;R]</text>
<text xml:space="preserve" text-anchor="middle" x="386.94" y="-3282.83" font-family="Segoe UI" font-size="9.00" fill="#ffffff">Bahn R (rechts)</text>
<text xml:space="preserve" text-anchor="middle" x="386.94" y="-3270.08" font-family="Segoe UI" font-size="9.00" fill="#ffffff">h = 1.470 m</text>
</g>
<!-- 0001&#45;L&#45;&gt;0002&#45;R -->
<g id="edge1" class="edge">
<title>0001&#45;L&#45;&gt;0002&#45;R</title>
<g id="a_edge1"><a xlink:title="Richtung Weiche">
<path fill="none" stroke="#bf8f00" stroke-width="1.2" stroke-dasharray="5,2" d="M1198.13,-997.1C1098.38,-1278.42 489.85,-2994.78 398.44,-3252.6"/>
<polygon fill="#bf8f00" stroke="#bf8f00" stroke-width="1.2" points="1200.72,-998.16 1200.76,-989.68 1195.44,-996.29 1200.72,-998.16"/>
<polygon fill="#bf8f00" stroke="#bf8f00" stroke-width="1.2" points="395.93,-3251.29 395.89,-3259.77 401.2,-3253.17 395.93,-3251.29"/>
</a>
</g>
<text xml:space="preserve" text-anchor="middle" x="784.88" y="-2128.22" font-family="Segoe UI" font-size="8.00" fill="#cc8800">Weiche</text>
</g>
<!-- 0001&#45;R -->
<g id="node2" class="node">
<title>0001&#45;R</title>
<path fill="#2f5597" stroke="#1f3864" d="M1244.32,-812.62C1244.32,-812.62 1179.57,-812.62 1179.57,-812.62 1173.57,-812.62 1167.57,-806.62 1167.57,-800.62 1167.57,-800.62 1167.57,-765.62 1167.57,-765.62 1167.57,-759.62 1173.57,-753.62 1179.57,-753.62 1179.57,-753.62 1244.32,-753.62 1244.32,-753.62 1250.32,-753.62 1256.32,-759.62 1256.32,-765.62 1256.32,-765.62 1256.32,-800.62 1256.32,-800.62 1256.32,-806.62 1250.32,-812.62 1244.32,-812.62"/>
<text xml:space="preserve" text-anchor="middle" x="1211.95" y="-800.08" font-family="Segoe UI" font-size="9.00" fill="#ffffff">Kreisel1 &#160;[0001&#45;R]</text>
<text xml:space="preserve" text-anchor="middle" x="1211.95" y="-787.33" font-family="Segoe UI" font-size="9.00" fill="#ffffff">Bahn R (rechts)</text>
<text xml:space="preserve" text-anchor="middle" x="1211.95" y="-774.58" font-family="Segoe UI" font-size="9.00" fill="#ffffff">h = 1.470 m</text>
<text xml:space="preserve" text-anchor="middle" x="1211.95" y="-761.83" font-family="Segoe UI" font-size="9.00" fill="#ffffff">Separator (1): 0061</text>
</g>
<!-- 0001&#45;R&#45;&gt;0001&#45;L -->
<g id="edge5" class="edge">
<title>0001&#45;R&#45;&gt;0001&#45;L</title>
<g id="a_edge5"><a xlink:title="Kreisel&#45;Umlauf UZS">
<path fill="none" stroke="#8ea9db" stroke-width="1.2" stroke-dasharray="5,2" d="M1211.95,-812.81C1211.95,-841.6 1211.95,-885.49 1211.95,-917.51"/>
<polygon fill="#8ea9db" stroke="#8ea9db" stroke-width="1.2" points="1208.8,-917.48 1211.95,-926.48 1215.1,-917.48 1208.8,-917.48"/>
</a>
</g>
<text xml:space="preserve" text-anchor="middle" x="1204.82" y="-874.14" font-family="Segoe UI" font-size="8.00" fill="#5b7fc7">UZS</text>
</g>
<!-- 0001&#45;R&#45;&gt;0002&#45;R -->
<g id="edge2" class="edge">
<title>0001&#45;R&#45;&gt;0002&#45;R</title>
<g id="a_edge2"><a xlink:title="Richtung Weiche">
<path fill="none" stroke="#bf8f00" stroke-width="1.2" stroke-dasharray="5,2" d="M1199.1,-822.08C1102.18,-1116.01 487.19,-2981.01 397.78,-3252.15"/>
<polygon fill="#bf8f00" stroke="#bf8f00" stroke-width="1.2" points="1201.69,-823.16 1201.54,-814.69 1196.37,-821.41 1201.69,-823.16"/>
<polygon fill="#bf8f00" stroke="#bf8f00" stroke-width="1.2" points="395.12,-3251.26 395.28,-3259.74 400.44,-3253.02 395.12,-3251.26"/>
</a>
</g>
<text xml:space="preserve" text-anchor="middle" x="782.11" y="-2049.34" font-family="Segoe UI" font-size="8.00" fill="#cc8800">Weiche</text>
</g>
<!-- 0002&#45;L -->
<g id="node3" class="node">
<title>0002&#45;L</title>
<path fill="#2f5597" stroke="#1f3864" d="M441.82,-3495.88C441.82,-3495.88 332.07,-3495.88 332.07,-3495.88 326.07,-3495.88 320.07,-3489.88 320.07,-3483.88 320.07,-3483.88 320.07,-3436.13 320.07,-3436.13 320.07,-3430.13 326.07,-3424.13 332.07,-3424.13 332.07,-3424.13 441.82,-3424.13 441.82,-3424.13 447.82,-3424.13 453.82,-3430.13 453.82,-3436.13 453.82,-3436.13 453.82,-3483.88 453.82,-3483.88 453.82,-3489.88 447.82,-3495.88 441.82,-3495.88"/>
<text xml:space="preserve" text-anchor="middle" x="386.94" y="-3483.33" font-family="Segoe UI" font-size="9.00" fill="#ffffff">Kreisel2 &#160;[0002&#45;L]</text>
<text xml:space="preserve" text-anchor="middle" x="386.94" y="-3470.58" font-family="Segoe UI" font-size="9.00" fill="#ffffff">Bahn L (links)</text>
<text xml:space="preserve" text-anchor="middle" x="386.94" y="-3457.83" font-family="Segoe UI" font-size="9.00" fill="#ffffff">h = 1.470 m</text>
<text xml:space="preserve" text-anchor="middle" x="386.94" y="-3445.08" font-family="Segoe UI" font-size="9.00" fill="#ffffff">Separator (3): 0003, 0011, 0012</text>
<text xml:space="preserve" text-anchor="middle" x="386.94" y="-3432.33" font-family="Segoe UI" font-size="9.00" fill="#ffffff">Scanner (3): 0004, 0007, 0009</text>
</g>
<!-- 0016 -->
<g id="node9" class="node">
<title>0016</title>
<path fill="#e2f0d9" stroke="#548235" d="M279.12,-3816.49C279.12,-3816.49 179.13,-3816.49 179.13,-3816.49 173.13,-3816.49 167.13,-3810.49 167.13,-3804.49 167.13,-3804.49 167.13,-3743.99 167.13,-3743.99 167.13,-3737.99 173.13,-3731.99 179.13,-3731.99 179.13,-3731.99 279.12,-3731.99 279.12,-3731.99 285.12,-3731.99 291.12,-3737.99 291.12,-3743.99 291.12,-3743.99 291.12,-3804.49 291.12,-3804.49 291.12,-3810.49 285.12,-3816.49 279.12,-3816.49"/>
<text xml:space="preserve" text-anchor="middle" x="229.13" y="-3803.94" font-family="Segoe UI" font-size="9.00" fill="#375623">VarioFoerderer :1 &#160;[0016]</text>
<text xml:space="preserve" text-anchor="middle" x="229.13" y="-3791.19" font-family="Segoe UI" font-size="9.00" fill="#375623">Strecke</text>
<text xml:space="preserve" text-anchor="middle" x="229.13" y="-3778.44" font-family="Segoe UI" font-size="9.00" fill="#375623">h = 0.000 m</text>
<text xml:space="preserve" text-anchor="middle" x="229.13" y="-3765.69" font-family="Segoe UI" font-size="9.00" fill="#375623">0 &#45;&gt; 0 mm (+0) = aufwaerts</text>
<text xml:space="preserve" text-anchor="middle" x="229.13" y="-3752.94" font-family="Segoe UI" font-size="9.00" fill="#375623">Separator (2): 0058, 0059</text>
<text xml:space="preserve" text-anchor="middle" x="229.13" y="-3740.19" font-family="Segoe UI" font-size="9.00" fill="#375623">Scanner (1): 0060</text>
</g>
<!-- 0002&#45;L&#45;&gt;0016 -->
<g id="edge46" class="edge">
<title>0002&#45;L&#45;&gt;0016</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M368.69,-3496.36C340.63,-3552.22 286.83,-3659.35 254.84,-3723.04"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="252.38,-3721.7 251.29,-3730.1 257.39,-3724.21 252.38,-3721.7"/>
</g>
<!-- 0002&#45;R&#45;&gt;0002&#45;L -->
<g id="edge4" class="edge">
<title>0002&#45;R&#45;&gt;0002&#45;L</title>
<g id="a_edge4"><a xlink:title="Kreisel&#45;Umlauf UZS">
<path fill="none" stroke="#8ea9db" stroke-width="1.2" stroke-dasharray="5,2" d="M386.94,-3308.61C386.94,-3335.29 386.94,-3379.42 386.94,-3413.16"/>
<polygon fill="#8ea9db" stroke="#8ea9db" stroke-width="1.2" points="383.8,-3412.9 386.95,-3421.9 390.1,-3412.9 383.8,-3412.9"/>
</a>
</g>
<text xml:space="preserve" text-anchor="middle" x="379.82" y="-3369.77" font-family="Segoe UI" font-size="8.00" fill="#5b7fc7">UZS</text>
</g>
<!-- 0013 -->
<g id="node7" class="node">
<title>0013</title>
<path fill="#e2f0d9" stroke="#548235" d="M1681.56,-5703.07C1681.56,-5703.07 1563.56,-5703.07 1563.56,-5703.07 1557.56,-5703.07 1551.56,-5697.07 1551.56,-5691.07 1551.56,-5691.07 1551.56,-5643.32 1551.56,-5643.32 1551.56,-5637.32 1557.56,-5631.32 1563.56,-5631.32 1563.56,-5631.32 1681.56,-5631.32 1681.56,-5631.32 1687.56,-5631.32 1693.56,-5637.32 1693.56,-5643.32 1693.56,-5643.32 1693.56,-5691.07 1693.56,-5691.07 1693.56,-5697.07 1687.56,-5703.07 1681.56,-5703.07"/>
<text xml:space="preserve" text-anchor="middle" x="1622.56" y="-5690.52" font-family="Segoe UI" font-size="9.00" fill="#375623">VarioFoerderer :3 &#160;[0013]</text>
<text xml:space="preserve" text-anchor="middle" x="1622.56" y="-5677.77" font-family="Segoe UI" font-size="9.00" fill="#375623">Strecke</text>
<text xml:space="preserve" text-anchor="middle" x="1622.56" y="-5665.02" font-family="Segoe UI" font-size="9.00" fill="#375623">h = 0.237 m</text>
<text xml:space="preserve" text-anchor="middle" x="1622.56" y="-5652.27" font-family="Segoe UI" font-size="9.00" fill="#375623">0 &#45;&gt; 474 mm (+474) = aufwaerts</text>
<text xml:space="preserve" text-anchor="middle" x="1622.56" y="-5639.52" font-family="Segoe UI" font-size="9.00" fill="#375623">Separator (2): 0015, 0063</text>
</g>
<!-- 0002&#45;R&#45;&gt;0013 -->
<g id="edge50" class="edge">
<title>0002&#45;R&#45;&gt;0013</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M399.2,-3308.48C413.29,-3335.48 437.1,-3381.15 457.52,-3420.43 918.48,-4307.16 1480.01,-5391.79 1599.53,-5622.68"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="1596.92,-5623.73 1603.08,-5629.55 1601.89,-5621.16 1596.92,-5623.73"/>
</g>
<!-- 0014 -->
<g id="node8" class="node">
<title>0014</title>
<path fill="#e2f0d9" stroke="#548235" d="M1681.56,-1146.19C1681.56,-1146.19 1563.56,-1146.19 1563.56,-1146.19 1557.56,-1146.19 1551.56,-1140.19 1551.56,-1134.19 1551.56,-1134.19 1551.56,-1073.69 1551.56,-1073.69 1551.56,-1067.69 1557.56,-1061.69 1563.56,-1061.69 1563.56,-1061.69 1681.56,-1061.69 1681.56,-1061.69 1687.56,-1061.69 1693.56,-1067.69 1693.56,-1073.69 1693.56,-1073.69 1693.56,-1134.19 1693.56,-1134.19 1693.56,-1140.19 1687.56,-1146.19 1681.56,-1146.19"/>
<text xml:space="preserve" text-anchor="middle" x="1622.56" y="-1133.64" font-family="Segoe UI" font-size="9.00" fill="#375623">VarioFoerderer :2 &#160;[0014]</text>
<text xml:space="preserve" text-anchor="middle" x="1622.56" y="-1120.89" font-family="Segoe UI" font-size="9.00" fill="#375623">Strecke</text>
<text xml:space="preserve" text-anchor="middle" x="1622.56" y="-1108.14" font-family="Segoe UI" font-size="9.00" fill="#375623">h = 0.237 m</text>
<text xml:space="preserve" text-anchor="middle" x="1622.56" y="-1095.39" font-family="Segoe UI" font-size="9.00" fill="#375623">0 &#45;&gt; 474 mm (+474) = aufwaerts</text>
<text xml:space="preserve" text-anchor="middle" x="1622.56" y="-1082.64" font-family="Segoe UI" font-size="9.00" fill="#375623">Separator (3): 0005, 0057, 0067</text>
<text xml:space="preserve" text-anchor="middle" x="1622.56" y="-1069.89" font-family="Segoe UI" font-size="9.00" fill="#375623">Scanner (1): 0006</text>
</g>
<!-- 0002&#45;R&#45;&gt;0014 -->
<g id="edge48" class="edge">
<title>0002&#45;R&#45;&gt;0014</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M400.19,-3261.62C520.3,-3049.62 1420.55,-1460.54 1593.78,-1154.76"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="1596.05,-1156.43 1597.55,-1148.09 1591.18,-1153.67 1596.05,-1156.43"/>
</g>
<!-- 0010&#45;L -->
<g id="node5" class="node">
<title>0010&#45;L</title>
<path fill="#2f5597" stroke="#1f3864" d="M2893.82,-3483.13C2893.82,-3483.13 2835.07,-3483.13 2835.07,-3483.13 2829.07,-3483.13 2823.07,-3477.13 2823.07,-3471.13 2823.07,-3471.13 2823.07,-3448.88 2823.07,-3448.88 2823.07,-3442.88 2829.07,-3436.88 2835.07,-3436.88 2835.07,-3436.88 2893.82,-3436.88 2893.82,-3436.88 2899.82,-3436.88 2905.82,-3442.88 2905.82,-3448.88 2905.82,-3448.88 2905.82,-3471.13 2905.82,-3471.13 2905.82,-3477.13 2899.82,-3483.13 2893.82,-3483.13"/>
<text xml:space="preserve" text-anchor="middle" x="2864.44" y="-3470.58" font-family="Segoe UI" font-size="9.00" fill="#ffffff">Kreisel3 &#160;[0010&#45;L]</text>
<text xml:space="preserve" text-anchor="middle" x="2864.44" y="-3457.83" font-family="Segoe UI" font-size="9.00" fill="#ffffff">Bahn L (links)</text>
<text xml:space="preserve" text-anchor="middle" x="2864.44" y="-3445.08" font-family="Segoe UI" font-size="9.00" fill="#ffffff">h = 1.940 m</text>
</g>
<!-- 0017 -->
<g id="node10" class="node">
<title>0017</title>
<path fill="#fbe5d6" stroke="#c55a11" d="M1693.98,-5327.64C1693.98,-5327.64 1563.23,-5327.64 1563.23,-5327.64 1557.23,-5327.64 1551.23,-5321.64 1551.23,-5315.64 1551.23,-5315.64 1551.23,-5267.89 1551.23,-5267.89 1551.23,-5261.89 1557.23,-5255.89 1563.23,-5255.89 1563.23,-5255.89 1693.98,-5255.89 1693.98,-5255.89 1699.98,-5255.89 1705.98,-5261.89 1705.98,-5267.89 1705.98,-5267.89 1705.98,-5315.64 1705.98,-5315.64 1705.98,-5321.64 1699.98,-5327.64 1693.98,-5327.64"/>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-5315.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke :20 &#160;[0017]</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-5302.34" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-5289.59" font-family="Segoe UI" font-size="9.00" fill="#833c00">h = 1.941 m</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-5276.84" font-family="Segoe UI" font-size="9.00" fill="#833c00">1941 &#45;&gt; 1466 mm (&#45;475) = abwaerts</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-5264.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Separator (1): 0037</text>
</g>
<!-- 0010&#45;L&#45;&gt;0017 -->
<g id="edge44" class="edge">
<title>0010&#45;L&#45;&gt;0017</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M2848.59,-3483.5C2718.91,-3675.72 1832.79,-4989.12 1658.37,-5247.64"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="1656.12,-5245.98 1653.96,-5254.18 1660.76,-5249.11 1656.12,-5245.98"/>
</g>
<!-- 0018 -->
<g id="node11" class="node">
<title>0018</title>
<path fill="#fbe5d6" stroke="#c55a11" d="M1693.98,-5127.64C1693.98,-5127.64 1563.23,-5127.64 1563.23,-5127.64 1557.23,-5127.64 1551.23,-5121.64 1551.23,-5115.64 1551.23,-5115.64 1551.23,-5067.89 1551.23,-5067.89 1551.23,-5061.89 1557.23,-5055.89 1563.23,-5055.89 1563.23,-5055.89 1693.98,-5055.89 1693.98,-5055.89 1699.98,-5055.89 1705.98,-5061.89 1705.98,-5067.89 1705.98,-5067.89 1705.98,-5115.64 1705.98,-5115.64 1705.98,-5121.64 1699.98,-5127.64 1693.98,-5127.64"/>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-5115.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke :19 &#160;[0018]</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-5102.34" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-5089.59" font-family="Segoe UI" font-size="9.00" fill="#833c00">h = 1.941 m</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-5076.84" font-family="Segoe UI" font-size="9.00" fill="#833c00">1941 &#45;&gt; 1466 mm (&#45;475) = abwaerts</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-5064.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Separator (1): 0038</text>
</g>
<!-- 0010&#45;L&#45;&gt;0018 -->
<g id="edge42" class="edge">
<title>0010&#45;L&#45;&gt;0018</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M2846.74,-3483.39C2711.56,-3661.86 1843.31,-4808.27 1661.83,-5047.9"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="1659.61,-5046.19 1657.01,-5054.26 1664.07,-5049.57 1659.61,-5046.19"/>
</g>
<!-- 0019 -->
<g id="node12" class="node">
<title>0019</title>
<path fill="#fbe5d6" stroke="#c55a11" d="M1693.98,-4927.64C1693.98,-4927.64 1563.23,-4927.64 1563.23,-4927.64 1557.23,-4927.64 1551.23,-4921.64 1551.23,-4915.64 1551.23,-4915.64 1551.23,-4867.89 1551.23,-4867.89 1551.23,-4861.89 1557.23,-4855.89 1563.23,-4855.89 1563.23,-4855.89 1693.98,-4855.89 1693.98,-4855.89 1699.98,-4855.89 1705.98,-4861.89 1705.98,-4867.89 1705.98,-4867.89 1705.98,-4915.64 1705.98,-4915.64 1705.98,-4921.64 1699.98,-4927.64 1693.98,-4927.64"/>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-4915.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke :18 &#160;[0019]</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-4902.34" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-4889.59" font-family="Segoe UI" font-size="9.00" fill="#833c00">h = 1.941 m</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-4876.84" font-family="Segoe UI" font-size="9.00" fill="#833c00">1941 &#45;&gt; 1466 mm (&#45;475) = abwaerts</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-4864.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Separator (1): 0039</text>
</g>
<!-- 0010&#45;L&#45;&gt;0019 -->
<g id="edge40" class="edge">
<title>0010&#45;L&#45;&gt;0019</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M2844.28,-3483.37C2702.46,-3647.67 1855.06,-4629.41 1665.99,-4848.45"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="1664.1,-4846.36 1660.99,-4854.24 1668.34,-4850.02 1664.1,-4846.36"/>
</g>
<!-- 0020 -->
<g id="node13" class="node">
<title>0020</title>
<path fill="#fbe5d6" stroke="#c55a11" d="M1693.98,-4727.64C1693.98,-4727.64 1563.23,-4727.64 1563.23,-4727.64 1557.23,-4727.64 1551.23,-4721.64 1551.23,-4715.64 1551.23,-4715.64 1551.23,-4667.89 1551.23,-4667.89 1551.23,-4661.89 1557.23,-4655.89 1563.23,-4655.89 1563.23,-4655.89 1693.98,-4655.89 1693.98,-4655.89 1699.98,-4655.89 1705.98,-4661.89 1705.98,-4667.89 1705.98,-4667.89 1705.98,-4715.64 1705.98,-4715.64 1705.98,-4721.64 1699.98,-4727.64 1693.98,-4727.64"/>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-4715.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke :17 &#160;[0020]</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-4702.34" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-4689.59" font-family="Segoe UI" font-size="9.00" fill="#833c00">h = 1.941 m</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-4676.84" font-family="Segoe UI" font-size="9.00" fill="#833c00">1941 &#45;&gt; 1466 mm (&#45;475) = abwaerts</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-4664.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Separator (1): 0040</text>
</g>
<!-- 0010&#45;L&#45;&gt;0020 -->
<g id="edge38" class="edge">
<title>0010&#45;L&#45;&gt;0020</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M2840.86,-3483.51C2690.89,-3632.99 1870.17,-4451 1671.79,-4648.73"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="1669.97,-4646.58 1666.28,-4654.21 1673.92,-4650.55 1669.97,-4646.58"/>
</g>
<!-- 0021 -->
<g id="node14" class="node">
<title>0021</title>
<path fill="#fbe5d6" stroke="#c55a11" d="M1693.98,-4527.64C1693.98,-4527.64 1563.23,-4527.64 1563.23,-4527.64 1557.23,-4527.64 1551.23,-4521.64 1551.23,-4515.64 1551.23,-4515.64 1551.23,-4467.89 1551.23,-4467.89 1551.23,-4461.89 1557.23,-4455.89 1563.23,-4455.89 1563.23,-4455.89 1693.98,-4455.89 1693.98,-4455.89 1699.98,-4455.89 1705.98,-4461.89 1705.98,-4467.89 1705.98,-4467.89 1705.98,-4515.64 1705.98,-4515.64 1705.98,-4521.64 1699.98,-4527.64 1693.98,-4527.64"/>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-4515.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke :16 &#160;[0021]</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-4502.34" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-4489.59" font-family="Segoe UI" font-size="9.00" fill="#833c00">h = 1.941 m</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-4476.84" font-family="Segoe UI" font-size="9.00" fill="#833c00">1941 &#45;&gt; 1466 mm (&#45;475) = abwaerts</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-4464.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Separator (1): 0041</text>
</g>
<!-- 0010&#45;L&#45;&gt;0021 -->
<g id="edge36" class="edge">
<title>0010&#45;L&#45;&gt;0021</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M2836.31,-3483.49C2677.05,-3616.46 1888.32,-4274.94 1679.44,-4449.33"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="1677.7,-4447.13 1673.36,-4454.4 1681.29,-4451.43 1677.7,-4447.13"/>
</g>
<!-- 0022 -->
<g id="node15" class="node">
<title>0022</title>
<path fill="#fbe5d6" stroke="#c55a11" d="M1693.98,-4327.64C1693.98,-4327.64 1563.23,-4327.64 1563.23,-4327.64 1557.23,-4327.64 1551.23,-4321.64 1551.23,-4315.64 1551.23,-4315.64 1551.23,-4267.89 1551.23,-4267.89 1551.23,-4261.89 1557.23,-4255.89 1563.23,-4255.89 1563.23,-4255.89 1693.98,-4255.89 1693.98,-4255.89 1699.98,-4255.89 1705.98,-4261.89 1705.98,-4267.89 1705.98,-4267.89 1705.98,-4315.64 1705.98,-4315.64 1705.98,-4321.64 1699.98,-4327.64 1693.98,-4327.64"/>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-4315.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke :15 &#160;[0022]</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-4302.34" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-4289.59" font-family="Segoe UI" font-size="9.00" fill="#833c00">h = 1.941 m</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-4276.84" font-family="Segoe UI" font-size="9.00" fill="#833c00">1941 &#45;&gt; 1466 mm (&#45;475) = abwaerts</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-4264.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Separator (1): 0042</text>
</g>
<!-- 0010&#45;L&#45;&gt;0022 -->
<g id="edge34" class="edge">
<title>0010&#45;L&#45;&gt;0022</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M2829.45,-3483.56C2658.63,-3598.53 1911.67,-4101.25 1690.51,-4250.1"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="1689.13,-4247.65 1684.06,-4254.44 1692.26,-4252.3 1689.13,-4247.65"/>
</g>
<!-- 0023 -->
<g id="node16" class="node">
<title>0023</title>
<path fill="#fbe5d6" stroke="#c55a11" d="M1693.98,-4127.64C1693.98,-4127.64 1563.23,-4127.64 1563.23,-4127.64 1557.23,-4127.64 1551.23,-4121.64 1551.23,-4115.64 1551.23,-4115.64 1551.23,-4067.89 1551.23,-4067.89 1551.23,-4061.89 1557.23,-4055.89 1563.23,-4055.89 1563.23,-4055.89 1693.98,-4055.89 1693.98,-4055.89 1699.98,-4055.89 1705.98,-4061.89 1705.98,-4067.89 1705.98,-4067.89 1705.98,-4115.64 1705.98,-4115.64 1705.98,-4121.64 1699.98,-4127.64 1693.98,-4127.64"/>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-4115.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke :14 &#160;[0023]</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-4102.34" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-4089.59" font-family="Segoe UI" font-size="9.00" fill="#833c00">h = 1.941 m</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-4076.84" font-family="Segoe UI" font-size="9.00" fill="#833c00">1941 &#45;&gt; 1466 mm (&#45;475) = abwaerts</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-4064.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Separator (1): 0043</text>
</g>
<!-- 0010&#45;L&#45;&gt;0023 -->
<g id="edge32" class="edge">
<title>0010&#45;L&#45;&gt;0023</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M2822.62,-3481.39C2644.26,-3572.56 1945.55,-3929.74 1708.09,-4051.13"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="1706.97,-4048.56 1701.12,-4054.7 1709.52,-4053.55 1706.97,-4048.56"/>
</g>
<!-- 0024 -->
<g id="node17" class="node">
<title>0024</title>
<path fill="#fbe5d6" stroke="#c55a11" d="M1693.98,-3927.64C1693.98,-3927.64 1563.23,-3927.64 1563.23,-3927.64 1557.23,-3927.64 1551.23,-3921.64 1551.23,-3915.64 1551.23,-3915.64 1551.23,-3867.89 1551.23,-3867.89 1551.23,-3861.89 1557.23,-3855.89 1563.23,-3855.89 1563.23,-3855.89 1693.98,-3855.89 1693.98,-3855.89 1699.98,-3855.89 1705.98,-3861.89 1705.98,-3867.89 1705.98,-3867.89 1705.98,-3915.64 1705.98,-3915.64 1705.98,-3921.64 1699.98,-3927.64 1693.98,-3927.64"/>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-3915.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke :13 &#160;[0024]</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-3902.34" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-3889.59" font-family="Segoe UI" font-size="9.00" fill="#833c00">h = 1.941 m</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-3876.84" font-family="Segoe UI" font-size="9.00" fill="#833c00">1941 &#45;&gt; 1466 mm (&#45;475) = abwaerts</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-3864.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Separator (1): 0044</text>
</g>
<!-- 0010&#45;L&#45;&gt;0024 -->
<g id="edge30" class="edge">
<title>0010&#45;L&#45;&gt;0024</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M2822.62,-3474.62C2646.11,-3536.28 1960.05,-3775.97 1715.66,-3861.35"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="1714.8,-3858.69 1708.17,-3863.97 1716.64,-3863.97 1714.8,-3858.69"/>
</g>
<!-- 0025 -->
<g id="node18" class="node">
<title>0025</title>
<path fill="#fbe5d6" stroke="#c55a11" d="M1693.98,-3727.64C1693.98,-3727.64 1563.23,-3727.64 1563.23,-3727.64 1557.23,-3727.64 1551.23,-3721.64 1551.23,-3715.64 1551.23,-3715.64 1551.23,-3667.89 1551.23,-3667.89 1551.23,-3661.89 1557.23,-3655.89 1563.23,-3655.89 1563.23,-3655.89 1693.98,-3655.89 1693.98,-3655.89 1699.98,-3655.89 1705.98,-3661.89 1705.98,-3667.89 1705.98,-3667.89 1705.98,-3715.64 1705.98,-3715.64 1705.98,-3721.64 1699.98,-3727.64 1693.98,-3727.64"/>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-3715.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke :12 &#160;[0025]</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-3702.34" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-3689.59" font-family="Segoe UI" font-size="9.00" fill="#833c00">h = 1.941 m</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-3676.84" font-family="Segoe UI" font-size="9.00" fill="#833c00">1941 &#45;&gt; 1466 mm (&#45;475) = abwaerts</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-3664.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Separator (1): 0045</text>
</g>
<!-- 0010&#45;L&#45;&gt;0025 -->
<g id="edge28" class="edge">
<title>0010&#45;L&#45;&gt;0025</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M2822.62,-3467.85C2646.2,-3500.93 1960.73,-3629.48 1716.02,-3675.37"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="1715.59,-3672.6 1708.24,-3676.83 1716.62,-3678.11 1715.59,-3672.6"/>
</g>
<!-- 0026 -->
<g id="node19" class="node">
<title>0026</title>
<path fill="#fbe5d6" stroke="#c55a11" d="M1693.98,-3527.64C1693.98,-3527.64 1563.23,-3527.64 1563.23,-3527.64 1557.23,-3527.64 1551.23,-3521.64 1551.23,-3515.64 1551.23,-3515.64 1551.23,-3467.89 1551.23,-3467.89 1551.23,-3461.89 1557.23,-3455.89 1563.23,-3455.89 1563.23,-3455.89 1693.98,-3455.89 1693.98,-3455.89 1699.98,-3455.89 1705.98,-3461.89 1705.98,-3467.89 1705.98,-3467.89 1705.98,-3515.64 1705.98,-3515.64 1705.98,-3521.64 1699.98,-3527.64 1693.98,-3527.64"/>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-3515.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke :11 &#160;[0026]</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-3502.34" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-3489.59" font-family="Segoe UI" font-size="9.00" fill="#833c00">h = 1.941 m</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-3476.84" font-family="Segoe UI" font-size="9.00" fill="#833c00">1941 &#45;&gt; 1466 mm (&#45;475) = abwaerts</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-3464.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Separator (1): 0046</text>
</g>
<!-- 0010&#45;L&#45;&gt;0026 -->
<g id="edge26" class="edge">
<title>0010&#45;L&#45;&gt;0026</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M2822.62,-3461.08C2646.2,-3465.61 1960.73,-3483.23 1716.02,-3489.52"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="1716.19,-3486.71 1708.27,-3489.72 1716.34,-3492.31 1716.19,-3486.71"/>
</g>
<!-- 0027 -->
<g id="node20" class="node">
<title>0027</title>
<path fill="#fbe5d6" stroke="#c55a11" d="M1693.98,-3327.64C1693.98,-3327.64 1563.23,-3327.64 1563.23,-3327.64 1557.23,-3327.64 1551.23,-3321.64 1551.23,-3315.64 1551.23,-3315.64 1551.23,-3267.89 1551.23,-3267.89 1551.23,-3261.89 1557.23,-3255.89 1563.23,-3255.89 1563.23,-3255.89 1693.98,-3255.89 1693.98,-3255.89 1699.98,-3255.89 1705.98,-3261.89 1705.98,-3267.89 1705.98,-3267.89 1705.98,-3315.64 1705.98,-3315.64 1705.98,-3321.64 1699.98,-3327.64 1693.98,-3327.64"/>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-3315.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke :10 &#160;[0027]</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-3302.34" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-3289.59" font-family="Segoe UI" font-size="9.00" fill="#833c00">h = 1.941 m</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-3276.84" font-family="Segoe UI" font-size="9.00" fill="#833c00">1941 &#45;&gt; 1466 mm (&#45;475) = abwaerts</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-3264.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Separator (1): 0047</text>
</g>
<!-- 0010&#45;L&#45;&gt;0027 -->
<g id="edge24" class="edge">
<title>0010&#45;L&#45;&gt;0027</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M2822.62,-3454.31C2646.2,-3430.29 1960.73,-3336.98 1716.02,-3303.67"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="1716.56,-3300.91 1708.25,-3302.61 1715.8,-3306.46 1716.56,-3300.91"/>
</g>
<!-- 0028 -->
<g id="node21" class="node">
<title>0028</title>
<path fill="#fbe5d6" stroke="#c55a11" d="M1693.98,-3127.64C1693.98,-3127.64 1563.23,-3127.64 1563.23,-3127.64 1557.23,-3127.64 1551.23,-3121.64 1551.23,-3115.64 1551.23,-3115.64 1551.23,-3067.89 1551.23,-3067.89 1551.23,-3061.89 1557.23,-3055.89 1563.23,-3055.89 1563.23,-3055.89 1693.98,-3055.89 1693.98,-3055.89 1699.98,-3055.89 1705.98,-3061.89 1705.98,-3067.89 1705.98,-3067.89 1705.98,-3115.64 1705.98,-3115.64 1705.98,-3121.64 1699.98,-3127.64 1693.98,-3127.64"/>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-3115.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke :9 &#160;[0028]</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-3102.34" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-3089.59" font-family="Segoe UI" font-size="9.00" fill="#833c00">h = 1.941 m</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-3076.84" font-family="Segoe UI" font-size="9.00" fill="#833c00">1941 &#45;&gt; 1466 mm (&#45;475) = abwaerts</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-3064.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Separator (1): 0048</text>
</g>
<!-- 0010&#45;L&#45;&gt;0028 -->
<g id="edge22" class="edge">
<title>0010&#45;L&#45;&gt;0028</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M2822.62,-3447.54C2646.11,-3394.95 1960.05,-3190.52 1715.66,-3117.7"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="1716.66,-3115.08 1708.19,-3115.48 1715.06,-3120.45 1716.66,-3115.08"/>
</g>
<!-- 0029 -->
<g id="node22" class="node">
<title>0029</title>
<path fill="#fbe5d6" stroke="#c55a11" d="M1693.98,-2927.64C1693.98,-2927.64 1563.23,-2927.64 1563.23,-2927.64 1557.23,-2927.64 1551.23,-2921.64 1551.23,-2915.64 1551.23,-2915.64 1551.23,-2867.89 1551.23,-2867.89 1551.23,-2861.89 1557.23,-2855.89 1563.23,-2855.89 1563.23,-2855.89 1693.98,-2855.89 1693.98,-2855.89 1699.98,-2855.89 1705.98,-2861.89 1705.98,-2867.89 1705.98,-2867.89 1705.98,-2915.64 1705.98,-2915.64 1705.98,-2921.64 1699.98,-2927.64 1693.98,-2927.64"/>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-2915.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke :8 &#160;[0029]</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-2902.34" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-2889.59" font-family="Segoe UI" font-size="9.00" fill="#833c00">h = 1.941 m</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-2876.84" font-family="Segoe UI" font-size="9.00" fill="#833c00">1941 &#45;&gt; 1466 mm (&#45;475) = abwaerts</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-2864.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Separator (1): 0049</text>
</g>
<!-- 0010&#45;L&#45;&gt;0029 -->
<g id="edge20" class="edge">
<title>0010&#45;L&#45;&gt;0029</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M2822.62,-3440.77C2646.03,-3359.58 1959.37,-3043.85 1715.3,-2931.63"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="1716.54,-2929.12 1708.1,-2928.32 1714.2,-2934.2 1716.54,-2929.12"/>
</g>
<!-- 0030 -->
<g id="node23" class="node">
<title>0030</title>
<path fill="#fbe5d6" stroke="#c55a11" d="M1693.98,-2727.64C1693.98,-2727.64 1563.23,-2727.64 1563.23,-2727.64 1557.23,-2727.64 1551.23,-2721.64 1551.23,-2715.64 1551.23,-2715.64 1551.23,-2667.89 1551.23,-2667.89 1551.23,-2661.89 1557.23,-2655.89 1563.23,-2655.89 1563.23,-2655.89 1693.98,-2655.89 1693.98,-2655.89 1699.98,-2655.89 1705.98,-2661.89 1705.98,-2667.89 1705.98,-2667.89 1705.98,-2715.64 1705.98,-2715.64 1705.98,-2721.64 1699.98,-2727.64 1693.98,-2727.64"/>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-2715.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke :7 &#160;[0030]</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-2702.34" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-2689.59" font-family="Segoe UI" font-size="9.00" fill="#833c00">h = 1.941 m</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-2676.84" font-family="Segoe UI" font-size="9.00" fill="#833c00">1941 &#45;&gt; 1466 mm (&#45;475) = abwaerts</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-2664.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Separator (1): 0050</text>
</g>
<!-- 0010&#45;L&#45;&gt;0030 -->
<g id="edge18" class="edge">
<title>0010&#45;L&#45;&gt;0030</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M2826.44,-3436.38C2651.2,-3327.44 1920.01,-2872.91 1694.88,-2732.96"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="1696.58,-2730.72 1688.31,-2728.88 1693.62,-2735.48 1696.58,-2730.72"/>
</g>
<!-- 0031 -->
<g id="node24" class="node">
<title>0031</title>
<path fill="#fbe5d6" stroke="#c55a11" d="M1693.98,-2527.64C1693.98,-2527.64 1563.23,-2527.64 1563.23,-2527.64 1557.23,-2527.64 1551.23,-2521.64 1551.23,-2515.64 1551.23,-2515.64 1551.23,-2467.89 1551.23,-2467.89 1551.23,-2461.89 1557.23,-2455.89 1563.23,-2455.89 1563.23,-2455.89 1693.98,-2455.89 1693.98,-2455.89 1699.98,-2455.89 1705.98,-2461.89 1705.98,-2467.89 1705.98,-2467.89 1705.98,-2515.64 1705.98,-2515.64 1705.98,-2521.64 1699.98,-2527.64 1693.98,-2527.64"/>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-2515.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke :6 &#160;[0031]</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-2502.34" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-2489.59" font-family="Segoe UI" font-size="9.00" fill="#833c00">h = 1.941 m</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-2476.84" font-family="Segoe UI" font-size="9.00" fill="#833c00">1941 &#45;&gt; 1466 mm (&#45;475) = abwaerts</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-2464.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Separator (1): 0051</text>
</g>
<!-- 0010&#45;L&#45;&gt;0031 -->
<g id="edge16" class="edge">
<title>0010&#45;L&#45;&gt;0031</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M2834.51,-3436.55C2672.02,-3309.25 1895.48,-2700.85 1682.65,-2534.11"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="1684.47,-2531.98 1676.45,-2529.25 1681.02,-2536.39 1684.47,-2531.98"/>
</g>
<!-- 0032 -->
<g id="node25" class="node">
<title>0032</title>
<path fill="#fbe5d6" stroke="#c55a11" d="M1693.98,-2327.64C1693.98,-2327.64 1563.23,-2327.64 1563.23,-2327.64 1557.23,-2327.64 1551.23,-2321.64 1551.23,-2315.64 1551.23,-2315.64 1551.23,-2267.89 1551.23,-2267.89 1551.23,-2261.89 1557.23,-2255.89 1563.23,-2255.89 1563.23,-2255.89 1693.98,-2255.89 1693.98,-2255.89 1699.98,-2255.89 1705.98,-2261.89 1705.98,-2267.89 1705.98,-2267.89 1705.98,-2315.64 1705.98,-2315.64 1705.98,-2321.64 1699.98,-2327.64 1693.98,-2327.64"/>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-2315.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke :5 &#160;[0032]</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-2302.34" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-2289.59" font-family="Segoe UI" font-size="9.00" fill="#833c00">h = 1.941 m</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-2276.84" font-family="Segoe UI" font-size="9.00" fill="#833c00">1941 &#45;&gt; 1466 mm (&#45;475) = abwaerts</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-2264.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Separator (1): 0052</text>
</g>
<!-- 0010&#45;L&#45;&gt;0032 -->
<g id="edge14" class="edge">
<title>0010&#45;L&#45;&gt;0032</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M2839.48,-3436.4C2686.46,-3291.75 1875.24,-2524.91 1673.87,-2334.56"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="1676.03,-2332.74 1668.29,-2329.28 1672.18,-2336.81 1676.03,-2332.74"/>
</g>
<!-- 0033 -->
<g id="node26" class="node">
<title>0033</title>
<path fill="#fbe5d6" stroke="#c55a11" d="M1693.98,-2127.64C1693.98,-2127.64 1563.23,-2127.64 1563.23,-2127.64 1557.23,-2127.64 1551.23,-2121.64 1551.23,-2115.64 1551.23,-2115.64 1551.23,-2067.89 1551.23,-2067.89 1551.23,-2061.89 1557.23,-2055.89 1563.23,-2055.89 1563.23,-2055.89 1693.98,-2055.89 1693.98,-2055.89 1699.98,-2055.89 1705.98,-2061.89 1705.98,-2067.89 1705.98,-2067.89 1705.98,-2115.64 1705.98,-2115.64 1705.98,-2121.64 1699.98,-2127.64 1693.98,-2127.64"/>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-2115.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke :4 &#160;[0033]</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-2102.34" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-2089.59" font-family="Segoe UI" font-size="9.00" fill="#833c00">h = 1.941 m</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-2076.84" font-family="Segoe UI" font-size="9.00" fill="#833c00">1941 &#45;&gt; 1466 mm (&#45;475) = abwaerts</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-2064.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Separator (1): 0053</text>
</g>
<!-- 0010&#45;L&#45;&gt;0033 -->
<g id="edge12" class="edge">
<title>0010&#45;L&#45;&gt;0033</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M2843.25,-3436.54C2698.93,-3276.76 1860.49,-2348.49 1667.99,-2135.37"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="1670.07,-2133.5 1662.63,-2129.44 1665.92,-2137.25 1670.07,-2133.5"/>
</g>
<!-- 0034 -->
<g id="node27" class="node">
<title>0034</title>
<path fill="#fbe5d6" stroke="#c55a11" d="M1693.98,-1927.64C1693.98,-1927.64 1563.23,-1927.64 1563.23,-1927.64 1557.23,-1927.64 1551.23,-1921.64 1551.23,-1915.64 1551.23,-1915.64 1551.23,-1867.89 1551.23,-1867.89 1551.23,-1861.89 1557.23,-1855.89 1563.23,-1855.89 1563.23,-1855.89 1693.98,-1855.89 1693.98,-1855.89 1699.98,-1855.89 1705.98,-1861.89 1705.98,-1867.89 1705.98,-1867.89 1705.98,-1915.64 1705.98,-1915.64 1705.98,-1921.64 1699.98,-1927.64 1693.98,-1927.64"/>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-1915.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke :3 &#160;[0034]</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-1902.34" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-1889.59" font-family="Segoe UI" font-size="9.00" fill="#833c00">h = 1.941 m</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-1876.84" font-family="Segoe UI" font-size="9.00" fill="#833c00">1941 &#45;&gt; 1466 mm (&#45;475) = abwaerts</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-1864.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Separator (1): 0054</text>
</g>
<!-- 0010&#45;L&#45;&gt;0034 -->
<g id="edge10" class="edge">
<title>0010&#45;L&#45;&gt;0034</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M2846.02,-3436.62C2708.85,-3262.56 1847.34,-2169.33 1663.21,-1935.68"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="1665.47,-1934.03 1658.32,-1929.48 1661.08,-1937.49 1665.47,-1934.03"/>
</g>
<!-- 0035 -->
<g id="node28" class="node">
<title>0035</title>
<path fill="#fbe5d6" stroke="#c55a11" d="M1693.98,-1727.64C1693.98,-1727.64 1563.23,-1727.64 1563.23,-1727.64 1557.23,-1727.64 1551.23,-1721.64 1551.23,-1715.64 1551.23,-1715.64 1551.23,-1667.89 1551.23,-1667.89 1551.23,-1661.89 1557.23,-1655.89 1563.23,-1655.89 1563.23,-1655.89 1693.98,-1655.89 1693.98,-1655.89 1699.98,-1655.89 1705.98,-1661.89 1705.98,-1667.89 1705.98,-1667.89 1705.98,-1715.64 1705.98,-1715.64 1705.98,-1721.64 1699.98,-1727.64 1693.98,-1727.64"/>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-1715.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke :2 &#160;[0035]</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-1702.34" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-1689.59" font-family="Segoe UI" font-size="9.00" fill="#833c00">h = 1.941 m</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-1676.84" font-family="Segoe UI" font-size="9.00" fill="#833c00">1941 &#45;&gt; 1466 mm (&#45;475) = abwaerts</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-1664.09" font-family="Segoe UI" font-size="9.00" fill="#833c00">Separator (1): 0055</text>
</g>
<!-- 0010&#45;L&#45;&gt;0035 -->
<g id="edge8" class="edge">
<title>0010&#45;L&#45;&gt;0035</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M2848.14,-3436.67C2717.11,-3249.2 1836.18,-1988.76 1659.44,-1735.89"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="1661.86,-1734.45 1654.98,-1729.5 1657.27,-1737.66 1661.86,-1734.45"/>
</g>
<!-- 0036 -->
<g id="node29" class="node">
<title>0036</title>
<path fill="#fbe5d6" stroke="#c55a11" d="M1693.98,-1534.01C1693.98,-1534.01 1563.23,-1534.01 1563.23,-1534.01 1557.23,-1534.01 1551.23,-1528.01 1551.23,-1522.01 1551.23,-1522.01 1551.23,-1461.51 1551.23,-1461.51 1551.23,-1455.51 1557.23,-1449.51 1563.23,-1449.51 1563.23,-1449.51 1693.98,-1449.51 1693.98,-1449.51 1699.98,-1449.51 1705.98,-1455.51 1705.98,-1461.51 1705.98,-1461.51 1705.98,-1522.01 1705.98,-1522.01 1705.98,-1528.01 1699.98,-1534.01 1693.98,-1534.01"/>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-1521.46" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke :1 &#160;[0036]</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-1508.71" font-family="Segoe UI" font-size="9.00" fill="#833c00">Gefaellestrecke</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-1495.96" font-family="Segoe UI" font-size="9.00" fill="#833c00">h = 1.941 m</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-1483.21" font-family="Segoe UI" font-size="9.00" fill="#833c00">1941 &#45;&gt; 1466 mm (&#45;475) = abwaerts</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-1470.46" font-family="Segoe UI" font-size="9.00" fill="#833c00">Separator (2): 0056, 0068</text>
<text xml:space="preserve" text-anchor="middle" x="1628.61" y="-1457.71" font-family="Segoe UI" font-size="9.00" fill="#833c00">Scanner (1): 0069</text>
</g>
<!-- 0010&#45;L&#45;&gt;0036 -->
<g id="edge6" class="edge">
<title>0010&#45;L&#45;&gt;0036</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M2849.7,-3436.53C2724.51,-3237.14 1839.69,-1827.95 1660.29,-1542.22"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="1662.78,-1540.93 1656.15,-1535.64 1658.04,-1543.9 1662.78,-1540.93"/>
</g>
<!-- 0010&#45;R -->
<g id="node6" class="node">
<title>0010&#45;R</title>
<path fill="#2f5597" stroke="#1f3864" d="M2919.32,-3314.51C2919.32,-3314.51 2809.57,-3314.51 2809.57,-3314.51 2803.57,-3314.51 2797.57,-3308.51 2797.57,-3302.51 2797.57,-3302.51 2797.57,-3267.51 2797.57,-3267.51 2797.57,-3261.51 2803.57,-3255.51 2809.57,-3255.51 2809.57,-3255.51 2919.32,-3255.51 2919.32,-3255.51 2925.32,-3255.51 2931.32,-3261.51 2931.32,-3267.51 2931.32,-3267.51 2931.32,-3302.51 2931.32,-3302.51 2931.32,-3308.51 2925.32,-3314.51 2919.32,-3314.51"/>
<text xml:space="preserve" text-anchor="middle" x="2864.44" y="-3301.95" font-family="Segoe UI" font-size="9.00" fill="#ffffff">Kreisel3 &#160;[0010&#45;R]</text>
<text xml:space="preserve" text-anchor="middle" x="2864.44" y="-3289.2" font-family="Segoe UI" font-size="9.00" fill="#ffffff">Bahn R (rechts)</text>
<text xml:space="preserve" text-anchor="middle" x="2864.44" y="-3276.45" font-family="Segoe UI" font-size="9.00" fill="#ffffff">h = 1.940 m</text>
<text xml:space="preserve" text-anchor="middle" x="2864.44" y="-3263.7" font-family="Segoe UI" font-size="9.00" fill="#ffffff">Separator (3): 0064, 0065, 0066</text>
</g>
<!-- 0010&#45;R&#45;&gt;0010&#45;L -->
<g id="edge3" class="edge">
<title>0010&#45;R&#45;&gt;0010&#45;L</title>
<g id="a_edge3"><a xlink:title="Kreisel&#45;Umlauf UZS">
<path fill="none" stroke="#8ea9db" stroke-width="1.2" stroke-dasharray="5,2" d="M2864.44,-3314.69C2864.44,-3345.48 2864.44,-3393.57 2864.44,-3425.9"/>
<polygon fill="#8ea9db" stroke="#8ea9db" stroke-width="1.2" points="2861.3,-3425.81 2864.45,-3434.81 2867.6,-3425.81 2861.3,-3425.81"/>
</a>
</g>
<text xml:space="preserve" text-anchor="middle" x="2857.32" y="-3379.44" font-family="Segoe UI" font-size="8.00" fill="#5b7fc7">UZS</text>
</g>
<!-- 0013&#45;&gt;0010&#45;L -->
<g id="edge51" class="edge">
<title>0013&#45;&gt;0010&#45;L</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M1642.83,-5631.18C1791.09,-5367.68 2706.66,-3740.44 2846.53,-3491.85"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="2848.8,-3493.52 2850.29,-3485.17 2843.92,-3490.77 2848.8,-3493.52"/>
</g>
<!-- 0014&#45;&gt;0010&#45;L -->
<g id="edge49" class="edge">
<title>0014&#45;&gt;0010&#45;L</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M1645.05,-1146.6C1800.36,-1441.25 2711.82,-3170.45 2847.55,-3427.95"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="2844.99,-3429.1 2851.2,-3434.87 2849.94,-3426.49 2844.99,-3429.1"/>
</g>
<!-- 0016&#45;&gt;0002&#45;R -->
<g id="edge47" class="edge">
<title>0016&#45;&gt;0002&#45;R</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M236.24,-3731.59C248.24,-3664.1 275.3,-3529.18 316.37,-3420.43 330.4,-3383.28 352.17,-3343.24 367.83,-3316.41"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="370.1,-3318.06 371.75,-3309.75 365.28,-3315.22 370.1,-3318.06"/>
</g>
<!-- 0017&#45;&gt;0002&#45;R -->
<g id="edge45" class="edge">
<title>0017&#45;&gt;0002&#45;R</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M1606.26,-5255.65C1452.33,-5006.88 550.95,-3550.07 406.48,-3316.57"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="409.02,-3315.35 402.43,-3310.02 404.25,-3318.3 409.02,-3315.35"/>
</g>
<!-- 0018&#45;&gt;0002&#45;R -->
<g id="edge43" class="edge">
<title>0018&#45;&gt;0002&#45;R</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M1603.8,-5055.67C1443.76,-4822.8 558.75,-3535 408.6,-3316.51"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="411.04,-3315.12 404.2,-3310.11 406.42,-3318.29 411.04,-3315.12"/>
</g>
<!-- 0019&#45;&gt;0002&#45;R -->
<g id="edge41" class="edge">
<title>0019&#45;&gt;0002&#45;R</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M1600.63,-4855.57C1433.32,-4639.06 566.89,-3517.86 410.99,-3316.12"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="413.34,-3314.58 406.23,-3309.97 408.91,-3318.01 413.34,-3314.58"/>
</g>
<!-- 0020&#45;&gt;0002&#45;R -->
<g id="edge39" class="edge">
<title>0020&#45;&gt;0002&#45;R</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M1596.66,-4655.58C1421.17,-4456.74 576.18,-3499.4 413.92,-3315.57"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="416.17,-3313.88 408.78,-3309.74 411.97,-3317.59 416.17,-3313.88"/>
</g>
<!-- 0021&#45;&gt;0002&#45;R -->
<g id="edge37" class="edge">
<title>0021&#45;&gt;0002&#45;R</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M1591.44,-4455.65C1406.47,-4275.87 587.15,-3479.59 417.68,-3314.88"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="419.78,-3313.01 412.09,-3309.44 415.88,-3317.03 419.78,-3313.01"/>
</g>
<!-- 0022&#45;&gt;0002&#45;R -->
<g id="edge35" class="edge">
<title>0022&#45;&gt;0002&#45;R</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M1584.05,-4255.64C1387.82,-4096.53 602.5,-3459.78 423.42,-3314.58"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="425.23,-3312.44 417.25,-3309.58 421.7,-3316.79 425.23,-3312.44"/>
</g>
<!-- 0023&#45;&gt;0002&#45;R -->
<g id="edge33" class="edge">
<title>0023&#45;&gt;0002&#45;R</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M1572.84,-4055.53C1362.67,-3918.98 620.79,-3436.94 431.28,-3313.81"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="432.95,-3311.56 424.72,-3309.55 429.9,-3316.26 432.95,-3311.56"/>
</g>
<!-- 0024&#45;&gt;0002&#45;R -->
<g id="edge31" class="edge">
<title>0024&#45;&gt;0002&#45;R</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M1554.19,-3855.4C1324.63,-3743.22 631.34,-3404.43 437.68,-3309.8"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="439.16,-3307.4 430.74,-3306.41 436.7,-3312.43 439.16,-3307.4"/>
</g>
<!-- 0025&#45;&gt;0002&#45;R -->
<g id="edge29" class="edge">
<title>0025&#45;&gt;0002&#45;R</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M1550.93,-3666.32C1318.35,-3590.13 631.64,-3365.17 438.19,-3301.79"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="439.28,-3299.2 430.81,-3299.38 437.54,-3304.53 439.28,-3299.2"/>
</g>
<!-- 0026&#45;&gt;0002&#45;R -->
<g id="edge27" class="edge">
<title>0026&#45;&gt;0002&#45;R</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M1550.93,-3478.83C1318.58,-3440.14 633,-3325.98 438.77,-3293.63"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="439.23,-3290.87 430.88,-3292.32 438.31,-3296.4 439.23,-3290.87"/>
</g>
<!-- 0027&#45;&gt;0002&#45;R -->
<g id="edge25" class="edge">
<title>0027&#45;&gt;0002&#45;R</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M1550.93,-3291.34C1318.58,-3290.08 633,-3286.34 438.77,-3285.29"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="438.92,-3282.49 430.9,-3285.24 438.89,-3288.09 438.92,-3282.49"/>
</g>
<!-- 0028&#45;&gt;0002&#45;R -->
<g id="edge23" class="edge">
<title>0028&#45;&gt;0002&#45;R</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M1550.93,-3103.85C1318.58,-3140.01 633,-3246.71 438.77,-3276.94"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="438.35,-3274.17 430.88,-3278.17 439.21,-3279.7 438.35,-3274.17"/>
</g>
<!-- 0029&#45;&gt;0002&#45;R -->
<g id="edge21" class="edge">
<title>0029&#45;&gt;0002&#45;R</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M1550.93,-2916.36C1318.35,-2990.02 631.64,-3207.51 438.19,-3268.78"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="437.6,-3266.03 430.82,-3271.11 439.29,-3271.36 437.6,-3266.03"/>
</g>
<!-- 0030&#45;&gt;0002&#45;R -->
<g id="edge19" class="edge">
<title>0030&#45;&gt;0002&#45;R</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M1552.8,-2727.98C1321.9,-2838.3 631.24,-3168.29 437.8,-3260.71"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="436.62,-3258.17 430.61,-3264.14 439.03,-3263.22 436.62,-3258.17"/>
</g>
<!-- 0031&#45;&gt;0002&#45;R -->
<g id="edge17" class="edge">
<title>0031&#45;&gt;0002&#45;R</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M1572.03,-2527.91C1360.96,-2662.75 621.93,-3134.88 431.81,-3256.34"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="430.47,-3253.88 425.23,-3260.54 433.48,-3258.6 430.47,-3253.88"/>
</g>
<!-- 0032&#45;&gt;0002&#45;R -->
<g id="edge15" class="edge">
<title>0032&#45;&gt;0002&#45;R</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M1583.31,-2328C1386.05,-2485.79 603.75,-3111.57 423.93,-3255.42"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="422.23,-3253.19 417.73,-3260.38 425.73,-3257.57 422.23,-3253.19"/>
</g>
<!-- 0033&#45;&gt;0002&#45;R -->
<g id="edge13" class="edge">
<title>0033&#45;&gt;0002&#45;R</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M1590.77,-2128.13C1404.65,-2306.98 588.5,-3091.31 418.17,-3255"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="416.37,-3252.84 412.54,-3260.41 420.25,-3256.88 416.37,-3252.84"/>
</g>
<!-- 0034&#45;&gt;0002&#45;R -->
<g id="edge11" class="edge">
<title>0034&#45;&gt;0002&#45;R</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M1596.35,-1927.96C1420.24,-2125.57 576.89,-3071.87 414.16,-3254.47"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="412.23,-3252.43 408.99,-3260.27 416.41,-3256.16 412.23,-3252.43"/>
</g>
<!-- 0035&#45;&gt;0002&#45;R -->
<g id="edge9" class="edge">
<title>0035&#45;&gt;0002&#45;R</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M1600.34,-1728.04C1432.38,-1943.55 567.62,-3053.17 411.21,-3253.87"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="409.15,-3251.96 406.44,-3259.99 413.57,-3255.4 409.15,-3251.96"/>
</g>
<!-- 0036&#45;&gt;0002&#45;R -->
<g id="edge7" class="edge">
<title>0036&#45;&gt;0002&#45;R</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M1599.14,-1534.32C1427.36,-1782.41 557.72,-3038.36 408.69,-3253.6"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="406.4,-3252 404.14,-3260.17 411,-3255.18 406.4,-3252"/>
</g>
<!-- legende -->
<g id="node30" class="node">
<title>legende</title>
<text xml:space="preserve" text-anchor="start" x="12" y="-48.5" font-family="Segoe UI" font-size="9.00">durchgezogen</text>
<text xml:space="preserve" text-anchor="start" x="78.75" y="-48.5" font-family="Segoe UI" font-size="9.00">Materialfluss</text>
<text xml:space="preserve" text-anchor="start" x="12" y="-29.75" font-family="Segoe UI" font-size="9.00" fill="#8ea9db">gestrichelt blau</text>
<text xml:space="preserve" text-anchor="start" x="78.75" y="-29.75" font-family="Segoe UI" font-size="9.00">Kreisel&#45;Umlauf, Richtung aus Drehrichtung (UZS = rechts nach links, GUZ = links nach rechts)</text>
<text xml:space="preserve" text-anchor="start" x="12" y="-11" font-family="Segoe UI" font-size="9.00" fill="#bf8f00">gestrichelt gelb</text>
<text xml:space="preserve" text-anchor="start" x="78.75" y="-11" font-family="Segoe UI" font-size="9.00">Richtung nicht bestimmbar</text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 59 KiB

@@ -0,0 +1,14 @@
{
"dx": 59.950000000000045,
"dy": 0.0,
"rotation": 0.0,
"source": "cfg",
"anchor": "21 exakte Treffer (<= 50 mm) ueber die Rollen Scanner:8, Separator:35; 21 Stimmen im 100-mm-Raster, 6 Kandidaten geprueft",
"matched": 43,
"candidates": 43,
"residual_max": 419.95000000000005,
"residual_mean": 90.1746667187897,
"csv_file": "export.csv",
"dxf_file": "Mubea.dxf",
"created": "2026-08-12 10:09"
}
+481
View File
@@ -0,0 +1,481 @@
{
"schema": "sps_skel-tro-extract-v1",
"source": "export_annotated.dxf",
"extracted": "2026-08-14 13:16",
"note": "Aus der Zeichnung gelesen, nicht aus dem CSV-Export - Aenderungen aus BricsCAD sind enthalten.",
"transform": {
"dx": 59.95,
"dy": 0.0,
"rotation": 0.0,
"note": "Anlagenkoordinate = Zeichnung + (dx, dy)"
},
"tros": [
{
"id": "TRO01",
"type": "1Sep",
"items": {
"Separator": 1
},
"confidence": "mittel",
"separators": [
"0061"
],
"positionDxf": {
"x": 5295.1,
"y": -5878.0,
"z": 0.0
},
"layer": "TRO_MARKER_sep",
"block": "TRO_SYM_1Sep",
"fbType": "FB_ILS_MTRO_1Sep",
"fbTypeFrom": "tro_catalog",
"position": {
"x": 5355.05,
"y": -5878.0
},
"predecessors": [
"TRO05"
],
"successors": [
"TRO05"
]
},
{
"id": "TRO02",
"type": "1Sep_SSCC",
"items": {
"SSCC": 1,
"Scanner": 1,
"Separator": 1
},
"confidence": "bestaetigt",
"separators": [
"0003"
],
"positionDxf": {
"x": -279.95,
"y": 13960.02,
"z": 0.0
},
"layer": "TRO_MARKER_sscc",
"block": "TRO_SYM_1Sep_SSCC",
"fbType": "FB_ILS_MTRO_1Sep_SSCC",
"fbTypeFrom": "tro_catalog",
"position": {
"x": -220.0,
"y": 13960.02
},
"predecessors": [
"TRO03",
"TRO11"
],
"successors": [
"TRO09"
]
},
{
"id": "TRO03",
"type": "1Sep1Swi",
"items": {
"Separator": 1,
"Switch": 1
},
"confidence": "bestaetigt",
"separators": [
"0011"
],
"positionDxf": {
"x": -279.95,
"y": -480.98,
"z": 0.0
},
"layer": "TRO_MARKER_swi",
"block": "TRO_SYM_1Sep1Swi",
"fbType": "FB_ILS_MTRO_1Sep1Swi",
"fbTypeFrom": "tro_catalog",
"position": {
"x": -220.0,
"y": -480.98
},
"predecessors": [
"TRO04"
],
"successors": [
"TRO02",
"TRO11"
]
},
{
"id": "TRO04",
"type": "1Sep_SSCC",
"items": {
"SSCC": 1,
"Scanner": 1,
"Separator": 1
},
"confidence": "bestaetigt",
"separators": [
"0012"
],
"positionDxf": {
"x": -279.95,
"y": -3472.47,
"z": 0.0
},
"layer": "TRO_MARKER_sscc",
"block": "TRO_SYM_1Sep_SSCC",
"fbType": "FB_ILS_MTRO_1Sep_SSCC",
"fbTypeFrom": "tro_catalog",
"position": {
"x": -220.0,
"y": -3472.47
},
"predecessors": [
"TRO05"
],
"successors": [
"TRO03"
]
},
{
"id": "TRO05",
"type": "2Sep2Swi",
"items": {
"Scanner": 2,
"Separator": 2,
"Switch": 2
},
"confidence": "bestaetigt",
"separators": [
"0005",
"0057"
],
"positionDxf": {
"x": 952.54,
"y": -4649.76,
"z": 0.0
},
"layer": "TRO_MARKER_swi",
"block": "TRO_SYM_2Sep2Swi",
"fbType": "FB_ILS_MTRO_2Sep2Swi",
"fbTypeFrom": "tro_catalog",
"position": {
"x": 1012.49,
"y": -4649.76
},
"predecessors": [
"TRO01",
"TRO12"
],
"successors": [
"TRO01",
"TRO04",
"TRO10"
]
},
{
"id": "TRO06",
"type": "1Sep_SSCC",
"items": {
"SSCC": 1,
"Scanner": 1,
"Separator": 1
},
"confidence": "bestaetigt",
"separators": [
"0064"
],
"positionDxf": {
"x": 10430.05,
"y": -525.02,
"z": 0.0
},
"layer": "TRO_MARKER_sscc",
"block": "TRO_SYM_1Sep_SSCC",
"fbType": "FB_ILS_MTRO_1Sep_SSCC",
"fbTypeFrom": "tro_catalog",
"position": {
"x": 10490.0,
"y": -525.02
},
"predecessors": [
"TRO07"
],
"successors": [
"TRO08"
]
},
{
"id": "TRO07",
"type": "1Sep",
"items": {
"Separator": 1
},
"confidence": "mittel",
"separators": [
"0065"
],
"positionDxf": {
"x": 10250.05,
"y": 159.95,
"z": 0.0
},
"layer": "TRO_MARKER_sep",
"block": "TRO_SYM_1Sep",
"fbType": "FB_ILS_MTRO_1Sep",
"fbTypeFrom": "tro_catalog",
"position": {
"x": 10310.0,
"y": 159.95
},
"predecessors": [
"TRO09"
],
"successors": [
"TRO06"
]
},
{
"id": "TRO08",
"type": "1Sep",
"items": {
"Separator": 1
},
"confidence": "mittel",
"separators": [
"0066"
],
"positionDxf": {
"x": 10250.05,
"y": -5013.05,
"z": 0.0
},
"layer": "TRO_MARKER_sep",
"block": "TRO_SYM_1Sep",
"fbType": "FB_ILS_MTRO_1Sep",
"fbTypeFrom": "tro_catalog",
"position": {
"x": 10310.0,
"y": -5013.05
},
"predecessors": [
"TRO06"
],
"successors": [
"TRO12"
]
},
{
"id": "TRO09",
"type": "Vario",
"items": {
"Separator": 1,
"VarioDrive": 1
},
"confidence": "hoch",
"separators": [
"0015",
"0063"
],
"positionDxf": {
"x": 9126.07,
"y": 13891.52,
"z": 0.0
},
"layer": "TRO_MARKER_vario",
"block": "TRO_SYM_Vario",
"fbType": "FB_ILS_MTRO_Vario",
"fbTypeFrom": "tro_catalog",
"position": {
"x": 9186.02,
"y": 13891.52
},
"predecessors": [
"TRO02"
],
"successors": [
"TRO07"
]
},
{
"id": "TRO10",
"type": "Vario",
"items": {
"Separator": 1,
"VarioDrive": 1
},
"confidence": "hoch",
"separators": [
"0067"
],
"positionDxf": {
"x": 8605.1,
"y": -4743.0,
"z": 0.0
},
"layer": "TRO_MARKER_vario",
"block": "TRO_SYM_Vario",
"fbType": "FB_ILS_MTRO_Vario",
"fbTypeFrom": "tro_catalog",
"position": {
"x": 8665.05,
"y": -4743.0
},
"predecessors": [
"TRO05"
],
"successors": [
"TRO12"
]
},
{
"id": "TRO11",
"type": "Vario",
"items": {
"Separator": 1,
"VarioDrive": 1
},
"confidence": "hoch",
"separators": [
"0058",
"0059"
],
"positionDxf": {
"x": -1205.95,
"y": 7127.7,
"z": 0.0
},
"layer": "TRO_MARKER_vario",
"block": "TRO_SYM_Vario",
"fbType": "FB_ILS_MTRO_Vario",
"fbTypeFrom": "tro_catalog",
"position": {
"x": -1146.0,
"y": 7127.7
},
"predecessors": [
"TRO03"
],
"successors": [
"TRO02"
]
},
{
"id": "TRO12",
"type": "PinStore_Auto",
"items": {
"Encoder": 1,
"Scanner": 1,
"Separator": 1,
"StorageLine": 19
},
"confidence": "hoch",
"separators": [
"0037",
"0038",
"0039",
"0040",
"0041",
"0042",
"0043",
"0044",
"0045",
"0046",
"0047",
"0048",
"0049",
"0050",
"0051",
"0052",
"0053",
"0054",
"0055",
"0056",
"0068"
],
"positionDxf": {
"x": 1757.28,
"y": 3943.05,
"z": 0.0
},
"layer": "TRO_MARKER_store",
"block": "TRO_SYM_PinStore_Auto",
"fbType": "FB_ILS_MTRO_PinStore_Auto",
"fbTypeFrom": "tro_catalog",
"position": {
"x": 1817.23,
"y": 3943.05
},
"predecessors": [
"TRO08",
"TRO10"
],
"successors": [
"TRO05"
]
}
],
"connections": [
{
"from": "TRO01",
"to": "TRO05"
},
{
"from": "TRO02",
"to": "TRO09"
},
{
"from": "TRO03",
"to": "TRO02"
},
{
"from": "TRO03",
"to": "TRO11"
},
{
"from": "TRO04",
"to": "TRO03"
},
{
"from": "TRO05",
"to": "TRO01"
},
{
"from": "TRO05",
"to": "TRO04"
},
{
"from": "TRO05",
"to": "TRO10"
},
{
"from": "TRO06",
"to": "TRO08"
},
{
"from": "TRO07",
"to": "TRO06"
},
{
"from": "TRO08",
"to": "TRO12"
},
{
"from": "TRO09",
"to": "TRO07"
},
{
"from": "TRO10",
"to": "TRO12"
},
{
"from": "TRO11",
"to": "TRO02"
},
{
"from": "TRO12",
"to": "TRO05"
}
],
"openPoints": []
}
+216
View File
@@ -0,0 +1,216 @@
<!-- erzeugt von lib/tro_flow.py -->
# TRO-Liste und TRO-Fluss - export.csv
**Erzeugt:** 2026-08-14 12:52 von `lib/tro_flow.py`
**Quelle:** `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 | 12 |
| TRO-Verbindungen | 15 |
| Nicht verbundene TROs | 0 |
| Hinweise | 13 |
| Manuelle Typkorrekturen | 8 |
| Typ | FB-Baustein | Anzahl hier | Bauteile je TRO | Farbgruppe |
|---|---|---:|---|---|
| `1Sep` | `FB_ILS_MTRO_1Sep` | 3 | 1x Separator | sep |
| `1Sep1Swi` | `FB_ILS_MTRO_1Sep1Swi` | 1 | 1x Separator, 1x Switch | swi |
| `1Sep_SSCC` | `FB_ILS_MTRO_1Sep_SSCC` | 3 | 1x SSCC, 1x Scanner, 1x Separator | sscc |
| `2Sep2Swi` | `FB_ILS_MTRO_2Sep2Swi` | 1 | 2x Scanner, 2x Separator, 2x Switch | swi |
| `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<br/>1Sep<br/>Separator 0061 auf Kreisel1 Bahn R"]:::sep
TRO02["TRO02<br/>1Sep_SSCC<br/>Separator 0003 auf Kreisel2 Bahn L"]:::sscc
TRO03["TRO03<br/>1Sep1Swi<br/>Separator 0011 auf Kreisel2 Bahn L"]:::swi
TRO04["TRO04<br/>1Sep_SSCC<br/>Separator 0012 auf Kreisel2 Bahn L"]:::sscc
TRO05["TRO05<br/>2Sep2Swi<br/>Uebergabestelle Kreisel2/Kreisel1 (beide Sperren)"]:::swi
TRO06["TRO06<br/>1Sep_SSCC<br/>Separator 0064 auf Kreisel3 Bahn R"]:::sscc
TRO07["TRO07<br/>1Sep<br/>Separator 0065 auf Kreisel3 Bahn R"]:::sep
TRO08["TRO08<br/>1Sep<br/>Separator 0066 auf Kreisel3 Bahn R"]:::sep
TRO09["TRO09<br/>Vario<br/>VarioFoerderer :3"]:::vario
TRO10["TRO10<br/>Vario<br/>VarioFoerderer :2"]:::vario
TRO11["TRO11<br/>Vario<br/>VarioFoerderer :1"]:::vario
TRO12["TRO12<br/>PinStore_Auto<br/>Speicher (20 Schwerkraftlinien)"]:::store
TRO01 --> TRO05
TRO02 --> TRO09
TRO03 --> TRO02
TRO03 --> TRO11
TRO04 --> TRO03
TRO05 --> TRO01
TRO05 --> TRO04
TRO05 --> TRO10
TRO06 --> TRO08
TRO07 --> TRO06
TRO08 --> TRO12
TRO09 --> TRO07
TRO10 --> TRO12
TRO11 --> TRO02
TRO12 --> TRO05
```
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_SSCC` | `FB_ILS_MTRO_1Sep_SSCC` | 1x SSCC, 1x Scanner, 1x Separator | -220 | 13960 | 1468 | `0002-L` | 0003 | 0004 | Separator mit Scanner auf angetriebener Kreisel-Bahn; manuell auf 1Sep_SSCC gesetzt (Review 2026-08-12: Scanner-Stelle bestaetigt (Separator 0003 mit Scanner 0004)) | bestaetigt |
| `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) - hier 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` | `2Sep2Swi` | `FB_ILS_MTRO_2Sep2Swi` | 2x Scanner, 2x Separator, 2x Switch | 1012 | -4650 | 1468 | `0002-R`, `0001-L` | 0005, 0057 | 0006, 0062 | Review 2026-08-10: liegt auf Kreisel2 Bahn R zwischen Linienspeicher und Foerderer. Vor Ort 1 Separator + 1 Scanner, keine mechanische Weiche - wird auf Wunsch als Schaltstelle (1Sep1Swi) gefuehrt, weil hier die Wegeentscheidung faellt. Export vom 2026-08-12: Position 400/-3978 (223 mm verschoben), Zuordnung jetzt Strecke 0014 statt Gefaellestrecke 0036 - der Separator wuerde also dem Vario-TRO zugeschlagen statt dem Linienspeicher.; manuell zusammengefasst (Review 2026-08-12: die Sperre auf Kreisel2 Bahn R und die am Beruehrpunkt bilden zusammen eine Uebergabestelle - als ein Steuerobjekt mit 2 Separatoren, 2 Scannern und 2 Weichen gefuehrt) | bestaetigt |
| `TRO06` | `1Sep_SSCC` | `FB_ILS_MTRO_1Sep_SSCC` | 1x SSCC, 1x Scanner, 1x Separator | 10490 | -525 | 1942 | `0010-R` | 0064 | 0008 | Separator mit Scanner auf angetriebener Kreisel-Bahn; manuell auf 1Sep_SSCC gesetzt (Review 2026-08-12: Scanner-Stelle, keine Weiche - Einstufung gegenueber dem ersten Review (1Sep1Swi) korrigiert. Separator mit Scanner 0008.) | bestaetigt |
| `TRO07` | `1Sep` | `FB_ILS_MTRO_1Sep` | 1x Separator | 10310 | 160 | 1942 | `0010-R` | 0065 | - | einzelner Separator auf angetriebener Kreisel-Bahn | mittel |
| `TRO08` | `1Sep` | `FB_ILS_MTRO_1Sep` | 1x Separator | 10310 | -5013 | 1942 | `0010-R` | 0066 | - | einzelner Separator auf angetriebener Kreisel-Bahn | mittel |
| `TRO09` | `Vario` | `FB_ILS_MTRO_Vario` | 1x Separator, 1x VarioDrive | 9186 | 13892 | 1942 | `0013` | 0015, 0063 | - | angetriebenes Streckensegment (Antriebfahrtrichtung: Auf) | hoch |
| `TRO10` | `Vario` | `FB_ILS_MTRO_Vario` | 1x Separator, 1x VarioDrive | 8665 | -4743 | 1942 | `0014` | 0067 | - | angetriebenes Streckensegment (Antriebfahrtrichtung: Auf) | hoch |
| `TRO11` | `Vario` | `FB_ILS_MTRO_Vario` | 1x Separator, 1x VarioDrive | -1146 | 7128 | 1530 | `0016` | 0058, 0059 | 0060 | angetriebenes Streckensegment (Antriebfahrtrichtung: Auf) | hoch |
| `TRO12` | `PinStore_Auto` | `FB_ILS_MTRO_PinStore_Auto` | 1x Encoder, 1x Scanner, 1x Separator, 19x StorageLine | 1817 | 3943 | 1596 | `0017``0036` (20 Knoten) | 0037 … 0068 (21) | 0069 | 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 | 4 |
| `TRO06` | Bauteile | 2 |
| `TRO07` | Bauteile | 1 |
| `TRO08` | Bauteile | 1 |
| `TRO09` | Bauteile | 2 |
| `TRO10` | Bauteile | 1 |
| `TRO11` | Bauteile | 3 |
| `TRO12` | 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` | `TRO05` | `1Sep` -> `2Sep2Swi` |
| `TRO02` | `TRO09` | `1Sep_SSCC` -> `Vario` |
| `TRO03` | `TRO02` | `1Sep1Swi` -> `1Sep_SSCC` |
| `TRO03` | `TRO11` | `1Sep1Swi` -> `Vario` |
| `TRO04` | `TRO03` | `1Sep_SSCC` -> `1Sep1Swi` |
| `TRO05` | `TRO01` | `2Sep2Swi` -> `1Sep` |
| `TRO05` | `TRO04` | `2Sep2Swi` -> `1Sep_SSCC` |
| `TRO05` | `TRO10` | `2Sep2Swi` -> `Vario` |
| `TRO06` | `TRO08` | `1Sep_SSCC` -> `1Sep` |
| `TRO07` | `TRO06` | `1Sep` -> `1Sep_SSCC` |
| `TRO08` | `TRO12` | `1Sep` -> `PinStore_Auto` |
| `TRO09` | `TRO07` | `Vario` -> `1Sep` |
| `TRO10` | `TRO12` | `Vario` -> `PinStore_Auto` |
| `TRO11` | `TRO02` | `Vario` -> `1Sep_SSCC` |
| `TRO12` | `TRO05` | `PinStore_Auto` -> `2Sep2Swi` |
## 5. Hinweise
- Scanner 0062 'Scanner :2': montiert an 0001-L, liest aber an Separator 0057 auf 0014
- Verbindung TRO02 -> TRO09 nur gesetzt, aus dem Layout nicht ableitbar
- Verbindung TRO09 -> TRO07 nur gesetzt, aus dem Layout nicht ableitbar
- Verbindung TRO11 -> TRO02 nur gesetzt, aus dem Layout nicht ableitbar
- abgeleitete Verbindung TRO02 -> TRO11 entfaellt - steht nicht in der gesetzten Topologie
- abgeleitete Verbindung TRO04 -> TRO11 entfaellt - steht nicht in der gesetzten Topologie
- abgeleitete Verbindung TRO05 -> TRO02 entfaellt - steht nicht in der gesetzten Topologie
- abgeleitete Verbindung TRO05 -> TRO03 entfaellt - steht nicht in der gesetzten Topologie
- abgeleitete Verbindung TRO05 -> TRO09 entfaellt - steht nicht in der gesetzten Topologie
- abgeleitete Verbindung TRO06 -> TRO12 entfaellt - steht nicht in der gesetzten Topologie
- abgeleitete Verbindung TRO07 -> TRO12 entfaellt - steht nicht in der gesetzten Topologie
- abgeleitete Verbindung TRO09 -> TRO12 entfaellt - steht nicht in der gesetzten Topologie
- abgeleitete Verbindung TRO11 -> TRO05 entfaellt - steht nicht in der gesetzten Topologie
## 6. Manuelle Korrekturen und offene Punkte
Quelle: `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 |
|---|---|
| `neu Kreisel2_R_vor_Foerderer: 1Sep1Swi auf 0002-R mit Separator 0005, herausgeloest aus VarioFoerderer :2` | Review 2026-08-10: liegt auf Kreisel2 Bahn R zwischen Linienspeicher und Foerderer. Vor Ort 1 Separator + 1 Scanner, keine mechanische Weiche - wird auf Wunsch als Schaltstelle (1Sep1Swi) gefuehrt, weil hier die Wegeentscheidung faellt. Export vom 2026-08-12: Position 400/-3978 (223 mm verschoben), Zuordnung jetzt Strecke 0014 statt Gefaellestrecke 0036 - der Separator wuerde also dem Vario-TRO zugeschlagen statt dem Linienspeicher. |
| `neu Beruehrpunkt_K2_K1: 1Sep1Swi auf 0001-L mit Separator 0057, herausgeloest aus VarioFoerderer :2` | Review 2026-08-10: Uebergabestelle am Beruehrpunkt der beiden Kreisel (ILS Weiche 0067 bei 400/-5478, Kreisel A 0002 / Kreisel B 0001). Hier faellt die Entscheidung Kreisel1 weiter oder auf den unteren Foerderer. Zuordnung im Export zeigt auf Strecke 0014, daher bisher Teil des Vario-TRO. |
| `merge Beruehrpunkt_K2_K1_gesamt: 2 TROs -> ein 2Sep2Swi mit Separatoren 0005, 0057` | Review 2026-08-12: die Sperre auf Kreisel2 Bahn R und die am Beruehrpunkt bilden zusammen eine Uebergabestelle - als ein Steuerobjekt mit 2 Separatoren, 2 Scannern und 2 Weichen gefuehrt |
| `TRO02: 1Sep -> 1Sep_SSCC` | Review 2026-08-12: Scanner-Stelle bestaetigt (Separator 0003 mit Scanner 0004) |
| `TRO03: 1Sep -> 1Sep1Swi` | Weiche am Separator 0011 vor Ort bestaetigt (Review 2026-08-10) - hier 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) |
| `TRO06: 1Sep -> 1Sep_SSCC` | Review 2026-08-12: Scanner-Stelle, keine Weiche - Einstufung gegenueber dem ersten Review (1Sep1Swi) korrigiert. Separator mit Scanner 0008. |
| `Topologie gesetzt: 15 Verbindungen aus der Override-Datei ersetzen die abgeleiteten` | |
## 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 |
| 11 | `2Sep2Swi` | `FB_ILS_MTRO_2Sep2Swi` | 2x Scanner, 2x Separator, 2x 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` |
+44
View File
@@ -0,0 +1,44 @@
// Automatisch erzeugt von lib/tro_flow.py - nicht manuell aendern.
// Quelle: export.csv
digraph TROFluss {
graph [rankdir=LR, splines=spline, nodesep=0.35, ranksep=1.3,
fontname="Segoe UI", fontsize=11, labelloc="t",
label="TRO-Fluss - export.csv"];
node [shape=box, style="rounded,filled", fontname="Segoe UI", fontsize=9];
edge [fontname="Segoe UI", fontsize=8, color="#2f5597", penwidth=1.2, arrowsize=0.8];
"TRO01" [label="TRO01 (1Sep)\nSeparator 0061 auf Kreisel1 Bahn R\nFB_ILS_MTRO_1Sep\n1x Separator\nSep: 0061\nx/y: 5355, -5878", fillcolor="#d4e8ff", color="#3388cc", fontcolor="#111111", pos="53.55,-58.78"];
"TRO02" [label="TRO02 (1Sep_SSCC)\nSeparator 0003 auf Kreisel2 Bahn L\nFB_ILS_MTRO_1Sep_SSCC\n1x SSCC, 1x Scanner, 1x Separator\nSep: 0003\nScan: 0004\nx/y: -220, 13960", fillcolor="#ffd4d4", color="#cc3333", fontcolor="#111111", pos="-2.20,139.60"];
"TRO03" [label="TRO03 (1Sep1Swi)\nSeparator 0011 auf Kreisel2 Bahn L\nFB_ILS_MTRO_1Sep1Swi\n1x Separator, 1x Switch\nSep: 0011\nScan: 0009\nx/y: -220, -481", fillcolor="#ffe4a0", color="#cc8800", fontcolor="#111111", pos="-2.20,-4.81"];
"TRO04" [label="TRO04 (1Sep_SSCC)\nSeparator 0012 auf Kreisel2 Bahn L\nFB_ILS_MTRO_1Sep_SSCC\n1x SSCC, 1x Scanner, 1x Separator\nSep: 0012\nScan: 0007\nx/y: -220, -3472", fillcolor="#ffd4d4", color="#cc3333", fontcolor="#111111", pos="-2.20,-34.72"];
"TRO05" [label="TRO05 (2Sep2Swi)\nUebergabestelle Kreisel2/Kreisel1 (beide Sperren)\nFB_ILS_MTRO_2Sep2Swi\n2x Scanner, 2x Separator, 2x Switch\nSep: 0005, 0057\nScan: 0006, 0062\nx/y: 1012, -4650", fillcolor="#ffe4a0", color="#cc8800", fontcolor="#111111", pos="10.12,-46.50"];
"TRO06" [label="TRO06 (1Sep_SSCC)\nSeparator 0064 auf Kreisel3 Bahn R\nFB_ILS_MTRO_1Sep_SSCC\n1x SSCC, 1x Scanner, 1x Separator\nSep: 0064\nScan: 0008\nx/y: 10490, -525", fillcolor="#ffd4d4", color="#cc3333", fontcolor="#111111", pos="104.90,-5.25"];
"TRO07" [label="TRO07 (1Sep)\nSeparator 0065 auf Kreisel3 Bahn R\nFB_ILS_MTRO_1Sep\n1x Separator\nSep: 0065\nx/y: 10310, 160", fillcolor="#d4e8ff", color="#3388cc", fontcolor="#111111", pos="103.10,1.60"];
"TRO08" [label="TRO08 (1Sep)\nSeparator 0066 auf Kreisel3 Bahn R\nFB_ILS_MTRO_1Sep\n1x Separator\nSep: 0066\nx/y: 10310, -5013", fillcolor="#d4e8ff", color="#3388cc", fontcolor="#111111", pos="103.10,-50.13"];
"TRO09" [label="TRO09 (Vario)\nVarioFoerderer :3\nFB_ILS_MTRO_Vario\n1x Separator, 1x VarioDrive\nSep: 0015, 0063\nx/y: 9186, 13892", fillcolor="#e8d4f0", color="#883388", fontcolor="#111111", pos="91.86,138.92"];
"TRO10" [label="TRO10 (Vario)\nVarioFoerderer :2\nFB_ILS_MTRO_Vario\n1x Separator, 1x VarioDrive\nSep: 0067\nx/y: 8665, -4743", fillcolor="#e8d4f0", color="#883388", fontcolor="#111111", pos="86.65,-47.43"];
"TRO11" [label="TRO11 (Vario)\nVarioFoerderer :1\nFB_ILS_MTRO_Vario\n1x Separator, 1x VarioDrive\nSep: 0058, 0059\nScan: 0060\nx/y: -1146, 7128", fillcolor="#e8d4f0", color="#883388", fontcolor="#111111", pos="-11.46,71.28"];
"TRO12" [label="TRO12 (PinStore_Auto)\nSpeicher (20 Schwerkraftlinien)\nFB_ILS_MTRO_PinStore_Auto\n1x Encoder, 1x Scanner, 1x Separator, 19x StorageLine\nSep: 0037 … 0068 (21)\nScan: 0069\nx/y: 1817, 3943", fillcolor="#d4f0d4", color="#338833", fontcolor="#111111", pos="18.17,39.43"];
"TRO01" -> "TRO05" [color="#cc8800", penwidth=1.8, xlabel="Weiche", fontcolor="#cc8800", tooltip="Weiche (Kreisel-Uebergang)"];
"TRO02" -> "TRO09" [tooltip="Uebergabe (Ein-/Ausschleusung)"];
"TRO03" -> "TRO02" [];
"TRO03" -> "TRO11" [tooltip="Uebergabe (Ein-/Ausschleusung)"];
"TRO04" -> "TRO03" [];
"TRO05" -> "TRO01" [color="#cc8800", penwidth=1.8, xlabel="Weiche", fontcolor="#cc8800", tooltip="Weiche (Kreisel-Uebergang)"];
"TRO05" -> "TRO04" [color="#8ea9db", style=dashed, tooltip="Kreisel-Umlauf"];
"TRO05" -> "TRO10" [tooltip="Uebergabe (Ein-/Ausschleusung)"];
"TRO06" -> "TRO08" [];
"TRO07" -> "TRO06" [];
"TRO08" -> "TRO12" [tooltip="Uebergabe (Ein-/Ausschleusung)"];
"TRO09" -> "TRO07" [tooltip="Uebergabe (Ein-/Ausschleusung)"];
"TRO10" -> "TRO12" [tooltip="Uebergabe (Ein-/Ausschleusung)"];
"TRO11" -> "TRO02" [tooltip="Uebergabe (Ein-/Ausschleusung)"];
"TRO12" -> "TRO05" [tooltip="Uebergabe (Ein-/Ausschleusung)"];
subgraph cluster_legende {
label="Legende"; style="rounded"; color="#a6a6a6";
fontname="Segoe UI"; fontsize=10; fontcolor="#404040";
legende [shape=plaintext, style="", fillcolor="none", label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="3"><tr><td bgcolor="#d4e8ff" align="left"> sep </td><td align="left">Separator</td></tr><tr><td bgcolor="#ffe4a0" align="left"> swi </td><td align="left">Weiche</td></tr><tr><td bgcolor="#ffd4d4" align="left"> sscc </td><td align="left">Scanner (SSCC)</td></tr><tr><td bgcolor="#e8d4f0" align="left"> vario </td><td align="left">Kettenfoerderer</td></tr><tr><td bgcolor="#d4f0d4" align="left"> store </td><td align="left">Speicher / Puffer</td></tr><tr><td bgcolor="#f0f0f0" align="left"> ext </td><td align="left">Systemgrenze / extern</td></tr><tr><td align="left"><font color="#2f5597">durchgezogen</font></td><td align="left">Uebergabe / Ein-Ausschleusung</td></tr><tr><td align="left"><font color="#8ea9db">blau gestrichelt</font></td><td align="left">Kreisel-Umlauf</td></tr><tr><td align="left"><font color="#cc8800">orange</font></td><td align="left">Weiche (Kreisel-Uebergang)</td></tr><tr><td align="left">grau gepunktet</td><td align="left">gleiche Bahn / Strecke</td></tr></table>>];
}
}
+333
View File
@@ -0,0 +1,333 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 15.1.0 (20260618.0150)
-->
<!-- Title: TROFluss Pages: 1 -->
<svg width="2763pt" height="432pt"
viewBox="0.00 0.00 2763.00 432.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 428)">
<title>TROFluss</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-428 2759.25,-428 2759.25,4 -4,4"/>
<text xml:space="preserve" text-anchor="middle" x="1377.62" y="-409.55" font-family="Segoe UI" font-size="11.00">TRO&#45;Fluss &#45; export.csv</text>
<g id="clust1" class="cluster">
<title>cluster_legende</title>
<path fill="none" stroke="#a6a6a6" d="M20,-139C20,-139 231.5,-139 231.5,-139 237.5,-139 243.5,-145 243.5,-151 243.5,-151 243.5,-381 243.5,-381 243.5,-387 237.5,-393 231.5,-393 231.5,-393 20,-393 20,-393 14,-393 8,-387 8,-381 8,-381 8,-151 8,-151 8,-145 14,-139 20,-139"/>
<text xml:space="preserve" text-anchor="middle" x="125.75" y="-379.5" font-family="Segoe UI" font-size="10.00" fill="#404040">Legende</text>
</g>
<!-- TRO01 -->
<g id="node1" class="node">
<title>TRO01</title>
<path fill="#d4e8ff" stroke="#3388cc" d="M189.25,-122.25C189.25,-122.25 62.25,-122.25 62.25,-122.25 56.25,-122.25 50.25,-116.25 50.25,-110.25 50.25,-110.25 50.25,-49.75 50.25,-49.75 50.25,-43.75 56.25,-37.75 62.25,-37.75 62.25,-37.75 189.25,-37.75 189.25,-37.75 195.25,-37.75 201.25,-43.75 201.25,-49.75 201.25,-49.75 201.25,-110.25 201.25,-110.25 201.25,-116.25 195.25,-122.25 189.25,-122.25"/>
<text xml:space="preserve" text-anchor="middle" x="125.75" y="-109.7" font-family="Segoe UI" font-size="9.00" fill="#111111">TRO01 &#160;(1Sep)</text>
<text xml:space="preserve" text-anchor="middle" x="125.75" y="-96.95" font-family="Segoe UI" font-size="9.00" fill="#111111">Separator 0061 auf Kreisel1 Bahn R</text>
<text xml:space="preserve" text-anchor="middle" x="125.75" y="-84.2" font-family="Segoe UI" font-size="9.00" fill="#111111">FB_ILS_MTRO_1Sep</text>
<text xml:space="preserve" text-anchor="middle" x="125.75" y="-71.45" font-family="Segoe UI" font-size="9.00" fill="#111111">1x Separator</text>
<text xml:space="preserve" text-anchor="middle" x="125.75" y="-58.7" font-family="Segoe UI" font-size="9.00" fill="#111111">Sep: 0061</text>
<text xml:space="preserve" text-anchor="middle" x="125.75" y="-45.95" font-family="Segoe UI" font-size="9.00" fill="#111111">x/y: 5355, &#45;5878</text>
</g>
<!-- TRO05 -->
<g id="node5" class="node">
<title>TRO05</title>
<path fill="#ffe4a0" stroke="#cc8800" d="M524.75,-128.62C524.75,-128.62 341.5,-128.62 341.5,-128.62 335.5,-128.62 329.5,-122.62 329.5,-116.62 329.5,-116.62 329.5,-43.38 329.5,-43.38 329.5,-37.38 335.5,-31.38 341.5,-31.38 341.5,-31.38 524.75,-31.38 524.75,-31.38 530.75,-31.38 536.75,-37.38 536.75,-43.38 536.75,-43.38 536.75,-116.62 536.75,-116.62 536.75,-122.62 530.75,-128.62 524.75,-128.62"/>
<text xml:space="preserve" text-anchor="middle" x="433.12" y="-116.08" font-family="Segoe UI" font-size="9.00" fill="#111111">TRO05 &#160;(2Sep2Swi)</text>
<text xml:space="preserve" text-anchor="middle" x="433.12" y="-103.33" font-family="Segoe UI" font-size="9.00" fill="#111111">Uebergabestelle Kreisel2/Kreisel1 (beide Sperren)</text>
<text xml:space="preserve" text-anchor="middle" x="433.12" y="-90.58" font-family="Segoe UI" font-size="9.00" fill="#111111">FB_ILS_MTRO_2Sep2Swi</text>
<text xml:space="preserve" text-anchor="middle" x="433.12" y="-77.83" font-family="Segoe UI" font-size="9.00" fill="#111111">2x Scanner, 2x Separator, 2x Switch</text>
<text xml:space="preserve" text-anchor="middle" x="433.12" y="-65.08" font-family="Segoe UI" font-size="9.00" fill="#111111">Sep: 0005, 0057</text>
<text xml:space="preserve" text-anchor="middle" x="433.12" y="-52.33" font-family="Segoe UI" font-size="9.00" fill="#111111">Scan: 0006, 0062</text>
<text xml:space="preserve" text-anchor="middle" x="433.12" y="-39.58" font-family="Segoe UI" font-size="9.00" fill="#111111">x/y: 1012, &#45;4650</text>
</g>
<!-- TRO01&#45;&gt;TRO05 -->
<g id="edge1" class="edge">
<title>TRO01&#45;&gt;TRO05</title>
<g id="a_edge1"><a xlink:title="Weiche (Kreisel&#45;Uebergang)">
<path fill="none" stroke="#cc8800" stroke-width="1.8" d="M201.45,-71.81C236.71,-70.64 279.54,-70.33 318.69,-70.91"/>
<polygon fill="#cc8800" stroke="#cc8800" stroke-width="1.8" points="318.32,-73.7 326.36,-71.03 318.41,-68.1 318.32,-73.7"/>
</a>
</g>
<text xml:space="preserve" text-anchor="middle" x="251.69" y="-63.06" font-family="Segoe UI" font-size="8.00" fill="#cc8800">Weiche</text>
</g>
<!-- TRO02 -->
<g id="node2" class="node">
<title>TRO02</title>
<path fill="#ffd4d4" stroke="#cc3333" d="M1472.5,-201.62C1472.5,-201.62 1346.25,-201.62 1346.25,-201.62 1340.25,-201.62 1334.25,-195.62 1334.25,-189.62 1334.25,-189.62 1334.25,-116.38 1334.25,-116.38 1334.25,-110.38 1340.25,-104.38 1346.25,-104.38 1346.25,-104.38 1472.5,-104.38 1472.5,-104.38 1478.5,-104.38 1484.5,-110.38 1484.5,-116.38 1484.5,-116.38 1484.5,-189.62 1484.5,-189.62 1484.5,-195.62 1478.5,-201.62 1472.5,-201.62"/>
<text xml:space="preserve" text-anchor="middle" x="1409.38" y="-189.07" font-family="Segoe UI" font-size="9.00" fill="#111111">TRO02 &#160;(1Sep_SSCC)</text>
<text xml:space="preserve" text-anchor="middle" x="1409.38" y="-176.32" font-family="Segoe UI" font-size="9.00" fill="#111111">Separator 0003 auf Kreisel2 Bahn L</text>
<text xml:space="preserve" text-anchor="middle" x="1409.38" y="-163.57" font-family="Segoe UI" font-size="9.00" fill="#111111">FB_ILS_MTRO_1Sep_SSCC</text>
<text xml:space="preserve" text-anchor="middle" x="1409.38" y="-150.82" font-family="Segoe UI" font-size="9.00" fill="#111111">1x SSCC, 1x Scanner, 1x Separator</text>
<text xml:space="preserve" text-anchor="middle" x="1409.38" y="-138.07" font-family="Segoe UI" font-size="9.00" fill="#111111">Sep: 0003</text>
<text xml:space="preserve" text-anchor="middle" x="1409.38" y="-125.33" font-family="Segoe UI" font-size="9.00" fill="#111111">Scan: 0004</text>
<text xml:space="preserve" text-anchor="middle" x="1409.38" y="-112.58" font-family="Segoe UI" font-size="9.00" fill="#111111">x/y: &#45;220, 13960</text>
</g>
<!-- TRO09 -->
<g id="node9" class="node">
<title>TRO09</title>
<path fill="#e8d4f0" stroke="#883388" d="M1687.5,-195.25C1687.5,-195.25 1590.5,-195.25 1590.5,-195.25 1584.5,-195.25 1578.5,-189.25 1578.5,-183.25 1578.5,-183.25 1578.5,-122.75 1578.5,-122.75 1578.5,-116.75 1584.5,-110.75 1590.5,-110.75 1590.5,-110.75 1687.5,-110.75 1687.5,-110.75 1693.5,-110.75 1699.5,-116.75 1699.5,-122.75 1699.5,-122.75 1699.5,-183.25 1699.5,-183.25 1699.5,-189.25 1693.5,-195.25 1687.5,-195.25"/>
<text xml:space="preserve" text-anchor="middle" x="1639" y="-182.7" font-family="Segoe UI" font-size="9.00" fill="#111111">TRO09 &#160;(Vario)</text>
<text xml:space="preserve" text-anchor="middle" x="1639" y="-169.95" font-family="Segoe UI" font-size="9.00" fill="#111111">VarioFoerderer :3</text>
<text xml:space="preserve" text-anchor="middle" x="1639" y="-157.2" font-family="Segoe UI" font-size="9.00" fill="#111111">FB_ILS_MTRO_Vario</text>
<text xml:space="preserve" text-anchor="middle" x="1639" y="-144.45" font-family="Segoe UI" font-size="9.00" fill="#111111">1x Separator, 1x VarioDrive</text>
<text xml:space="preserve" text-anchor="middle" x="1639" y="-131.7" font-family="Segoe UI" font-size="9.00" fill="#111111">Sep: 0015, 0063</text>
<text xml:space="preserve" text-anchor="middle" x="1639" y="-118.95" font-family="Segoe UI" font-size="9.00" fill="#111111">x/y: 9186, 13892</text>
</g>
<!-- TRO02&#45;&gt;TRO09 -->
<g id="edge2" class="edge">
<title>TRO02&#45;&gt;TRO09</title>
<g id="a_edge2"><a xlink:title="Uebergabe (Ein&#45;/Ausschleusung)">
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M1484.91,-153C1511.81,-153 1542.06,-153 1568.52,-153"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="1568.26,-155.8 1576.26,-153 1568.26,-150.2 1568.26,-155.8"/>
</a>
</g>
</g>
<!-- TRO03 -->
<g id="node3" class="node">
<title>TRO03</title>
<path fill="#ffe4a0" stroke="#cc8800" d="M1013.25,-244.62C1013.25,-244.62 887,-244.62 887,-244.62 881,-244.62 875,-238.62 875,-232.62 875,-232.62 875,-159.38 875,-159.38 875,-153.38 881,-147.38 887,-147.38 887,-147.38 1013.25,-147.38 1013.25,-147.38 1019.25,-147.38 1025.25,-153.38 1025.25,-159.38 1025.25,-159.38 1025.25,-232.62 1025.25,-232.62 1025.25,-238.62 1019.25,-244.62 1013.25,-244.62"/>
<text xml:space="preserve" text-anchor="middle" x="950.12" y="-232.07" font-family="Segoe UI" font-size="9.00" fill="#111111">TRO03 &#160;(1Sep1Swi)</text>
<text xml:space="preserve" text-anchor="middle" x="950.12" y="-219.32" font-family="Segoe UI" font-size="9.00" fill="#111111">Separator 0011 auf Kreisel2 Bahn L</text>
<text xml:space="preserve" text-anchor="middle" x="950.12" y="-206.57" font-family="Segoe UI" font-size="9.00" fill="#111111">FB_ILS_MTRO_1Sep1Swi</text>
<text xml:space="preserve" text-anchor="middle" x="950.12" y="-193.82" font-family="Segoe UI" font-size="9.00" fill="#111111">1x Separator, 1x Switch</text>
<text xml:space="preserve" text-anchor="middle" x="950.12" y="-181.07" font-family="Segoe UI" font-size="9.00" fill="#111111">Sep: 0011</text>
<text xml:space="preserve" text-anchor="middle" x="950.12" y="-168.32" font-family="Segoe UI" font-size="9.00" fill="#111111">Scan: 0009</text>
<text xml:space="preserve" text-anchor="middle" x="950.12" y="-155.57" font-family="Segoe UI" font-size="9.00" fill="#111111">x/y: &#45;220, &#45;481</text>
</g>
<!-- TRO03&#45;&gt;TRO02 -->
<g id="edge3" class="edge">
<title>TRO03&#45;&gt;TRO02</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M1025.64,-210.2C1084.35,-219.1 1168.06,-226.69 1240.25,-214 1268.55,-209.02 1298.36,-199.68 1324.89,-189.76"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="1325.58,-192.5 1332.05,-187.03 1323.58,-187.27 1325.58,-192.5"/>
</g>
<!-- TRO11 -->
<g id="node11" class="node">
<title>TRO11</title>
<path fill="#e8d4f0" stroke="#883388" d="M1228.25,-201.62C1228.25,-201.62 1131.25,-201.62 1131.25,-201.62 1125.25,-201.62 1119.25,-195.62 1119.25,-189.62 1119.25,-189.62 1119.25,-116.38 1119.25,-116.38 1119.25,-110.38 1125.25,-104.38 1131.25,-104.38 1131.25,-104.38 1228.25,-104.38 1228.25,-104.38 1234.25,-104.38 1240.25,-110.38 1240.25,-116.38 1240.25,-116.38 1240.25,-189.62 1240.25,-189.62 1240.25,-195.62 1234.25,-201.62 1228.25,-201.62"/>
<text xml:space="preserve" text-anchor="middle" x="1179.75" y="-189.07" font-family="Segoe UI" font-size="9.00" fill="#111111">TRO11 &#160;(Vario)</text>
<text xml:space="preserve" text-anchor="middle" x="1179.75" y="-176.32" font-family="Segoe UI" font-size="9.00" fill="#111111">VarioFoerderer :1</text>
<text xml:space="preserve" text-anchor="middle" x="1179.75" y="-163.57" font-family="Segoe UI" font-size="9.00" fill="#111111">FB_ILS_MTRO_Vario</text>
<text xml:space="preserve" text-anchor="middle" x="1179.75" y="-150.82" font-family="Segoe UI" font-size="9.00" fill="#111111">1x Separator, 1x VarioDrive</text>
<text xml:space="preserve" text-anchor="middle" x="1179.75" y="-138.07" font-family="Segoe UI" font-size="9.00" fill="#111111">Sep: 0058, 0059</text>
<text xml:space="preserve" text-anchor="middle" x="1179.75" y="-125.33" font-family="Segoe UI" font-size="9.00" fill="#111111">Scan: 0060</text>
<text xml:space="preserve" text-anchor="middle" x="1179.75" y="-112.58" font-family="Segoe UI" font-size="9.00" fill="#111111">x/y: &#45;1146, 7128</text>
</g>
<!-- TRO03&#45;&gt;TRO11 -->
<g id="edge4" class="edge">
<title>TRO03&#45;&gt;TRO11</title>
<g id="a_edge4"><a xlink:title="Uebergabe (Ein&#45;/Ausschleusung)">
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M1025.66,-181.92C1052.56,-176.84 1082.81,-171.12 1109.27,-166.13"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="1109.7,-168.89 1117.04,-164.66 1108.66,-163.39 1109.7,-168.89"/>
</a>
</g>
</g>
<!-- TRO04 -->
<g id="node4" class="node">
<title>TRO04</title>
<path fill="#ffd4d4" stroke="#cc3333" d="M769,-244.62C769,-244.62 642.75,-244.62 642.75,-244.62 636.75,-244.62 630.75,-238.62 630.75,-232.62 630.75,-232.62 630.75,-159.38 630.75,-159.38 630.75,-153.38 636.75,-147.38 642.75,-147.38 642.75,-147.38 769,-147.38 769,-147.38 775,-147.38 781,-153.38 781,-159.38 781,-159.38 781,-232.62 781,-232.62 781,-238.62 775,-244.62 769,-244.62"/>
<text xml:space="preserve" text-anchor="middle" x="705.88" y="-232.07" font-family="Segoe UI" font-size="9.00" fill="#111111">TRO04 &#160;(1Sep_SSCC)</text>
<text xml:space="preserve" text-anchor="middle" x="705.88" y="-219.32" font-family="Segoe UI" font-size="9.00" fill="#111111">Separator 0012 auf Kreisel2 Bahn L</text>
<text xml:space="preserve" text-anchor="middle" x="705.88" y="-206.57" font-family="Segoe UI" font-size="9.00" fill="#111111">FB_ILS_MTRO_1Sep_SSCC</text>
<text xml:space="preserve" text-anchor="middle" x="705.88" y="-193.82" font-family="Segoe UI" font-size="9.00" fill="#111111">1x SSCC, 1x Scanner, 1x Separator</text>
<text xml:space="preserve" text-anchor="middle" x="705.88" y="-181.07" font-family="Segoe UI" font-size="9.00" fill="#111111">Sep: 0012</text>
<text xml:space="preserve" text-anchor="middle" x="705.88" y="-168.32" font-family="Segoe UI" font-size="9.00" fill="#111111">Scan: 0007</text>
<text xml:space="preserve" text-anchor="middle" x="705.88" y="-155.57" font-family="Segoe UI" font-size="9.00" fill="#111111">x/y: &#45;220, &#45;3472</text>
</g>
<!-- TRO04&#45;&gt;TRO03 -->
<g id="edge5" class="edge">
<title>TRO04&#45;&gt;TRO03</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M781.2,-196C807.7,-196 837.74,-196 865,-196"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="864.7,-198.8 872.7,-196 864.7,-193.2 864.7,-198.8"/>
</g>
<!-- TRO05&#45;&gt;TRO01 -->
<g id="edge6" class="edge">
<title>TRO05&#45;&gt;TRO01</title>
<g id="a_edge6"><a xlink:title="Weiche (Kreisel&#45;Uebergang)">
<path fill="none" stroke="#cc8800" stroke-width="1.8" d="M329.09,-88.92C291.02,-89.64 248.33,-89.5 212.01,-88.51"/>
<polygon fill="#cc8800" stroke="#cc8800" stroke-width="1.8" points="212.26,-85.72 204.18,-88.27 212.09,-91.31 212.26,-85.72"/>
</a>
</g>
<text xml:space="preserve" text-anchor="middle" x="251.72" y="-81.74" font-family="Segoe UI" font-size="8.00" fill="#cc8800">Weiche</text>
</g>
<!-- TRO05&#45;&gt;TRO04 -->
<g id="edge7" class="edge">
<title>TRO05&#45;&gt;TRO04</title>
<g id="a_edge7"><a xlink:title="Kreisel&#45;Umlauf">
<path fill="none" stroke="#8ea9db" stroke-width="1.2" stroke-dasharray="5,2" d="M536.87,-124.02C564.83,-136 594.76,-148.82 621.49,-160.28"/>
<polygon fill="#8ea9db" stroke="#8ea9db" stroke-width="1.2" points="620.31,-162.81 628.76,-163.39 622.51,-157.67 620.31,-162.81"/>
</a>
</g>
</g>
<!-- TRO10 -->
<g id="node10" class="node">
<title>TRO10</title>
<path fill="#e8d4f0" stroke="#883388" d="M754.38,-122.25C754.38,-122.25 657.38,-122.25 657.38,-122.25 651.38,-122.25 645.38,-116.25 645.38,-110.25 645.38,-110.25 645.38,-49.75 645.38,-49.75 645.38,-43.75 651.38,-37.75 657.38,-37.75 657.38,-37.75 754.38,-37.75 754.38,-37.75 760.38,-37.75 766.38,-43.75 766.38,-49.75 766.38,-49.75 766.38,-110.25 766.38,-110.25 766.38,-116.25 760.38,-122.25 754.38,-122.25"/>
<text xml:space="preserve" text-anchor="middle" x="705.88" y="-109.7" font-family="Segoe UI" font-size="9.00" fill="#111111">TRO10 &#160;(Vario)</text>
<text xml:space="preserve" text-anchor="middle" x="705.88" y="-96.95" font-family="Segoe UI" font-size="9.00" fill="#111111">VarioFoerderer :2</text>
<text xml:space="preserve" text-anchor="middle" x="705.88" y="-84.2" font-family="Segoe UI" font-size="9.00" fill="#111111">FB_ILS_MTRO_Vario</text>
<text xml:space="preserve" text-anchor="middle" x="705.88" y="-71.45" font-family="Segoe UI" font-size="9.00" fill="#111111">1x Separator, 1x VarioDrive</text>
<text xml:space="preserve" text-anchor="middle" x="705.88" y="-58.7" font-family="Segoe UI" font-size="9.00" fill="#111111">Sep: 0067</text>
<text xml:space="preserve" text-anchor="middle" x="705.88" y="-45.95" font-family="Segoe UI" font-size="9.00" fill="#111111">x/y: 8665, &#45;4743</text>
</g>
<!-- TRO05&#45;&gt;TRO10 -->
<g id="edge8" class="edge">
<title>TRO05&#45;&gt;TRO10</title>
<g id="a_edge8"><a xlink:title="Uebergabe (Ein&#45;/Ausschleusung)">
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M536.87,-80C569.81,-80 605.48,-80 635.45,-80"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="635.16,-82.8 643.16,-80 635.16,-77.2 635.16,-82.8"/>
</a>
</g>
</g>
<!-- TRO06 -->
<g id="node6" class="node">
<title>TRO06</title>
<path fill="#ffd4d4" stroke="#cc3333" d="M2177.5,-201.62C2177.5,-201.62 2050.5,-201.62 2050.5,-201.62 2044.5,-201.62 2038.5,-195.62 2038.5,-189.62 2038.5,-189.62 2038.5,-116.38 2038.5,-116.38 2038.5,-110.38 2044.5,-104.38 2050.5,-104.38 2050.5,-104.38 2177.5,-104.38 2177.5,-104.38 2183.5,-104.38 2189.5,-110.38 2189.5,-116.38 2189.5,-116.38 2189.5,-189.62 2189.5,-189.62 2189.5,-195.62 2183.5,-201.62 2177.5,-201.62"/>
<text xml:space="preserve" text-anchor="middle" x="2114" y="-189.07" font-family="Segoe UI" font-size="9.00" fill="#111111">TRO06 &#160;(1Sep_SSCC)</text>
<text xml:space="preserve" text-anchor="middle" x="2114" y="-176.32" font-family="Segoe UI" font-size="9.00" fill="#111111">Separator 0064 auf Kreisel3 Bahn R</text>
<text xml:space="preserve" text-anchor="middle" x="2114" y="-163.57" font-family="Segoe UI" font-size="9.00" fill="#111111">FB_ILS_MTRO_1Sep_SSCC</text>
<text xml:space="preserve" text-anchor="middle" x="2114" y="-150.82" font-family="Segoe UI" font-size="9.00" fill="#111111">1x SSCC, 1x Scanner, 1x Separator</text>
<text xml:space="preserve" text-anchor="middle" x="2114" y="-138.07" font-family="Segoe UI" font-size="9.00" fill="#111111">Sep: 0064</text>
<text xml:space="preserve" text-anchor="middle" x="2114" y="-125.33" font-family="Segoe UI" font-size="9.00" fill="#111111">Scan: 0008</text>
<text xml:space="preserve" text-anchor="middle" x="2114" y="-112.58" font-family="Segoe UI" font-size="9.00" fill="#111111">x/y: 10490, &#45;525</text>
</g>
<!-- TRO08 -->
<g id="node8" class="node">
<title>TRO08</title>
<path fill="#d4e8ff" stroke="#3388cc" d="M2422.5,-191.25C2422.5,-191.25 2295.5,-191.25 2295.5,-191.25 2289.5,-191.25 2283.5,-185.25 2283.5,-179.25 2283.5,-179.25 2283.5,-118.75 2283.5,-118.75 2283.5,-112.75 2289.5,-106.75 2295.5,-106.75 2295.5,-106.75 2422.5,-106.75 2422.5,-106.75 2428.5,-106.75 2434.5,-112.75 2434.5,-118.75 2434.5,-118.75 2434.5,-179.25 2434.5,-179.25 2434.5,-185.25 2428.5,-191.25 2422.5,-191.25"/>
<text xml:space="preserve" text-anchor="middle" x="2359" y="-178.7" font-family="Segoe UI" font-size="9.00" fill="#111111">TRO08 &#160;(1Sep)</text>
<text xml:space="preserve" text-anchor="middle" x="2359" y="-165.95" font-family="Segoe UI" font-size="9.00" fill="#111111">Separator 0066 auf Kreisel3 Bahn R</text>
<text xml:space="preserve" text-anchor="middle" x="2359" y="-153.2" font-family="Segoe UI" font-size="9.00" fill="#111111">FB_ILS_MTRO_1Sep</text>
<text xml:space="preserve" text-anchor="middle" x="2359" y="-140.45" font-family="Segoe UI" font-size="9.00" fill="#111111">1x Separator</text>
<text xml:space="preserve" text-anchor="middle" x="2359" y="-127.7" font-family="Segoe UI" font-size="9.00" fill="#111111">Sep: 0066</text>
<text xml:space="preserve" text-anchor="middle" x="2359" y="-114.95" font-family="Segoe UI" font-size="9.00" fill="#111111">x/y: 10310, &#45;5013</text>
</g>
<!-- TRO06&#45;&gt;TRO08 -->
<g id="edge9" class="edge">
<title>TRO06&#45;&gt;TRO08</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M2189.89,-151.77C2216.46,-151.33 2246.54,-150.83 2273.83,-150.39"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="2273.59,-153.19 2281.54,-150.26 2273.5,-147.59 2273.59,-153.19"/>
</g>
<!-- TRO07 -->
<g id="node7" class="node">
<title>TRO07</title>
<path fill="#d4e8ff" stroke="#3388cc" d="M1932.5,-195.25C1932.5,-195.25 1805.5,-195.25 1805.5,-195.25 1799.5,-195.25 1793.5,-189.25 1793.5,-183.25 1793.5,-183.25 1793.5,-122.75 1793.5,-122.75 1793.5,-116.75 1799.5,-110.75 1805.5,-110.75 1805.5,-110.75 1932.5,-110.75 1932.5,-110.75 1938.5,-110.75 1944.5,-116.75 1944.5,-122.75 1944.5,-122.75 1944.5,-183.25 1944.5,-183.25 1944.5,-189.25 1938.5,-195.25 1932.5,-195.25"/>
<text xml:space="preserve" text-anchor="middle" x="1869" y="-182.7" font-family="Segoe UI" font-size="9.00" fill="#111111">TRO07 &#160;(1Sep)</text>
<text xml:space="preserve" text-anchor="middle" x="1869" y="-169.95" font-family="Segoe UI" font-size="9.00" fill="#111111">Separator 0065 auf Kreisel3 Bahn R</text>
<text xml:space="preserve" text-anchor="middle" x="1869" y="-157.2" font-family="Segoe UI" font-size="9.00" fill="#111111">FB_ILS_MTRO_1Sep</text>
<text xml:space="preserve" text-anchor="middle" x="1869" y="-144.45" font-family="Segoe UI" font-size="9.00" fill="#111111">1x Separator</text>
<text xml:space="preserve" text-anchor="middle" x="1869" y="-131.7" font-family="Segoe UI" font-size="9.00" fill="#111111">Sep: 0065</text>
<text xml:space="preserve" text-anchor="middle" x="1869" y="-118.95" font-family="Segoe UI" font-size="9.00" fill="#111111">x/y: 10310, 160</text>
</g>
<!-- TRO07&#45;&gt;TRO06 -->
<g id="edge10" class="edge">
<title>TRO07&#45;&gt;TRO06</title>
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M1944.89,-153C1971.46,-153 2001.54,-153 2028.83,-153"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="2028.54,-155.8 2036.54,-153 2028.54,-150.2 2028.54,-155.8"/>
</g>
<!-- TRO12 -->
<g id="node12" class="node">
<title>TRO12</title>
<path fill="#d4f0d4" stroke="#338833" d="M2743.25,-114.62C2743.25,-114.62 2540.5,-114.62 2540.5,-114.62 2534.5,-114.62 2528.5,-108.62 2528.5,-102.62 2528.5,-102.62 2528.5,-29.38 2528.5,-29.38 2528.5,-23.38 2534.5,-17.38 2540.5,-17.38 2540.5,-17.38 2743.25,-17.38 2743.25,-17.38 2749.25,-17.38 2755.25,-23.38 2755.25,-29.38 2755.25,-29.38 2755.25,-102.62 2755.25,-102.62 2755.25,-108.62 2749.25,-114.62 2743.25,-114.62"/>
<text xml:space="preserve" text-anchor="middle" x="2641.88" y="-102.08" font-family="Segoe UI" font-size="9.00" fill="#111111">TRO12 &#160;(PinStore_Auto)</text>
<text xml:space="preserve" text-anchor="middle" x="2641.88" y="-89.33" font-family="Segoe UI" font-size="9.00" fill="#111111">Speicher (20 Schwerkraftlinien)</text>
<text xml:space="preserve" text-anchor="middle" x="2641.88" y="-76.58" font-family="Segoe UI" font-size="9.00" fill="#111111">FB_ILS_MTRO_PinStore_Auto</text>
<text xml:space="preserve" text-anchor="middle" x="2641.88" y="-63.83" font-family="Segoe UI" font-size="9.00" fill="#111111">1x Encoder, 1x Scanner, 1x Separator, 19x StorageLine</text>
<text xml:space="preserve" text-anchor="middle" x="2641.88" y="-51.08" font-family="Segoe UI" font-size="9.00" fill="#111111">Sep: 0037 … 0068 (21)</text>
<text xml:space="preserve" text-anchor="middle" x="2641.88" y="-38.33" font-family="Segoe UI" font-size="9.00" fill="#111111">Scan: 0069</text>
<text xml:space="preserve" text-anchor="middle" x="2641.88" y="-25.57" font-family="Segoe UI" font-size="9.00" fill="#111111">x/y: 1817, 3943</text>
</g>
<!-- TRO08&#45;&gt;TRO12 -->
<g id="edge11" class="edge">
<title>TRO08&#45;&gt;TRO12</title>
<g id="a_edge11"><a xlink:title="Uebergabe (Ein&#45;/Ausschleusung)">
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M2434.9,-126.87C2460.71,-119.24 2490.32,-110.49 2518.9,-102.04"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="2519.52,-104.78 2526.4,-99.83 2517.93,-99.41 2519.52,-104.78"/>
</a>
</g>
</g>
<!-- TRO09&#45;&gt;TRO07 -->
<g id="edge12" class="edge">
<title>TRO09&#45;&gt;TRO07</title>
<g id="a_edge12"><a xlink:title="Uebergabe (Ein&#45;/Ausschleusung)">
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M1699.9,-153C1725.52,-153 1755.87,-153 1783.69,-153"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="1783.59,-155.8 1791.59,-153 1783.59,-150.2 1783.59,-155.8"/>
</a>
</g>
</g>
<!-- TRO10&#45;&gt;TRO12 -->
<g id="edge13" class="edge">
<title>TRO10&#45;&gt;TRO12</title>
<g id="a_edge13"><a xlink:title="Uebergabe (Ein&#45;/Ausschleusung)">
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M766.82,-77.08C856.42,-72.98 1030.61,-66 1178.75,-66 1178.75,-66 1178.75,-66 2115,-66 2253.25,-66 2411.95,-66 2518.53,-66"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="2518.22,-68.8 2526.22,-66 2518.22,-63.2 2518.22,-68.8"/>
</a>
</g>
</g>
<!-- TRO11&#45;&gt;TRO02 -->
<g id="edge14" class="edge">
<title>TRO11&#45;&gt;TRO02</title>
<g id="a_edge14"><a xlink:title="Uebergabe (Ein&#45;/Ausschleusung)">
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M1240.56,-153C1266.12,-153 1296.43,-153 1324.2,-153"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="1324.09,-155.8 1332.09,-153 1324.09,-150.2 1324.09,-155.8"/>
</a>
</g>
</g>
<!-- TRO12&#45;&gt;TRO05 -->
<g id="edge15" class="edge">
<title>TRO12&#45;&gt;TRO05</title>
<g id="a_edge15"><a xlink:title="Uebergabe (Ein&#45;/Ausschleusung)">
<path fill="none" stroke="#2f5597" stroke-width="1.2" d="M2528.04,-43.56C2421.89,-24.43 2258.31,0 2115,0 949.12,0 949.12,0 949.12,0 807.19,0 770.5,-0.21 630.75,-25 603.08,-29.91 573.69,-37.05 546.29,-44.58"/>
<polygon fill="#2f5597" stroke="#2f5597" stroke-width="1.2" points="545.79,-41.81 538.83,-46.65 547.29,-47.2 545.79,-41.81"/>
</a>
</g>
</g>
<!-- legende -->
<g id="node13" class="node">
<title>legende</title>
<polygon fill="#d4e8ff" stroke="none" points="24,-338 24,-358.75 92.75,-358.75 92.75,-338 24,-338"/>
<polygon fill="none" stroke="black" points="24,-338 24,-358.75 92.75,-358.75 92.75,-338 24,-338"/>
<text xml:space="preserve" text-anchor="start" x="28" y="-345" font-family="Segoe UI" font-size="9.00"> &#160;sep &#160;</text>
<polygon fill="none" stroke="black" points="92.75,-338 92.75,-358.75 227.5,-358.75 227.5,-338 92.75,-338"/>
<text xml:space="preserve" text-anchor="start" x="96.75" y="-345" font-family="Segoe UI" font-size="9.00">Separator</text>
<polygon fill="#ffe4a0" stroke="none" points="24,-317.25 24,-338 92.75,-338 92.75,-317.25 24,-317.25"/>
<polygon fill="none" stroke="black" points="24,-317.25 24,-338 92.75,-338 92.75,-317.25 24,-317.25"/>
<text xml:space="preserve" text-anchor="start" x="28" y="-324.25" font-family="Segoe UI" font-size="9.00"> &#160;swi &#160;</text>
<polygon fill="none" stroke="black" points="92.75,-317.25 92.75,-338 227.5,-338 227.5,-317.25 92.75,-317.25"/>
<text xml:space="preserve" text-anchor="start" x="96.75" y="-324.25" font-family="Segoe UI" font-size="9.00">Weiche</text>
<polygon fill="#ffd4d4" stroke="none" points="24,-296.5 24,-317.25 92.75,-317.25 92.75,-296.5 24,-296.5"/>
<polygon fill="none" stroke="black" points="24,-296.5 24,-317.25 92.75,-317.25 92.75,-296.5 24,-296.5"/>
<text xml:space="preserve" text-anchor="start" x="28" y="-303.5" font-family="Segoe UI" font-size="9.00"> &#160;sscc &#160;</text>
<polygon fill="none" stroke="black" points="92.75,-296.5 92.75,-317.25 227.5,-317.25 227.5,-296.5 92.75,-296.5"/>
<text xml:space="preserve" text-anchor="start" x="96.75" y="-303.5" font-family="Segoe UI" font-size="9.00">Scanner (SSCC)</text>
<polygon fill="#e8d4f0" stroke="none" points="24,-275.75 24,-296.5 92.75,-296.5 92.75,-275.75 24,-275.75"/>
<polygon fill="none" stroke="black" points="24,-275.75 24,-296.5 92.75,-296.5 92.75,-275.75 24,-275.75"/>
<text xml:space="preserve" text-anchor="start" x="28" y="-282.75" font-family="Segoe UI" font-size="9.00"> &#160;vario &#160;</text>
<polygon fill="none" stroke="black" points="92.75,-275.75 92.75,-296.5 227.5,-296.5 227.5,-275.75 92.75,-275.75"/>
<text xml:space="preserve" text-anchor="start" x="96.75" y="-282.75" font-family="Segoe UI" font-size="9.00">Kettenfoerderer</text>
<polygon fill="#d4f0d4" stroke="none" points="24,-255 24,-275.75 92.75,-275.75 92.75,-255 24,-255"/>
<polygon fill="none" stroke="black" points="24,-255 24,-275.75 92.75,-275.75 92.75,-255 24,-255"/>
<text xml:space="preserve" text-anchor="start" x="28" y="-262" font-family="Segoe UI" font-size="9.00"> &#160;store &#160;</text>
<polygon fill="none" stroke="black" points="92.75,-255 92.75,-275.75 227.5,-275.75 227.5,-255 92.75,-255"/>
<text xml:space="preserve" text-anchor="start" x="96.75" y="-262" font-family="Segoe UI" font-size="9.00">Speicher / Puffer</text>
<polygon fill="#f0f0f0" stroke="none" points="24,-234.25 24,-255 92.75,-255 92.75,-234.25 24,-234.25"/>
<polygon fill="none" stroke="black" points="24,-234.25 24,-255 92.75,-255 92.75,-234.25 24,-234.25"/>
<text xml:space="preserve" text-anchor="start" x="28" y="-241.25" font-family="Segoe UI" font-size="9.00"> &#160;ext &#160;</text>
<polygon fill="none" stroke="black" points="92.75,-234.25 92.75,-255 227.5,-255 227.5,-234.25 92.75,-234.25"/>
<text xml:space="preserve" text-anchor="start" x="96.75" y="-241.25" font-family="Segoe UI" font-size="9.00">Systemgrenze / extern</text>
<polygon fill="none" stroke="black" points="24,-213.5 24,-234.25 92.75,-234.25 92.75,-213.5 24,-213.5"/>
<text xml:space="preserve" text-anchor="start" x="28" y="-220.5" font-family="Segoe UI" font-size="9.00" fill="#2f5597">durchgezogen</text>
<polygon fill="none" stroke="black" points="92.75,-213.5 92.75,-234.25 227.5,-234.25 227.5,-213.5 92.75,-213.5"/>
<text xml:space="preserve" text-anchor="start" x="96.75" y="-220.5" font-family="Segoe UI" font-size="9.00">Uebergabe / Ein&#45;Ausschleusung</text>
<polygon fill="none" stroke="black" points="24,-192.75 24,-213.5 92.75,-213.5 92.75,-192.75 24,-192.75"/>
<text xml:space="preserve" text-anchor="start" x="28" y="-199.75" font-family="Segoe UI" font-size="9.00" fill="#8ea9db">blau gestrichelt</text>
<polygon fill="none" stroke="black" points="92.75,-192.75 92.75,-213.5 227.5,-213.5 227.5,-192.75 92.75,-192.75"/>
<text xml:space="preserve" text-anchor="start" x="96.75" y="-199.75" font-family="Segoe UI" font-size="9.00">Kreisel&#45;Umlauf</text>
<polygon fill="none" stroke="black" points="24,-172 24,-192.75 92.75,-192.75 92.75,-172 24,-172"/>
<text xml:space="preserve" text-anchor="start" x="28" y="-179" font-family="Segoe UI" font-size="9.00" fill="#cc8800">orange</text>
<polygon fill="none" stroke="black" points="92.75,-172 92.75,-192.75 227.5,-192.75 227.5,-172 92.75,-172"/>
<text xml:space="preserve" text-anchor="start" x="96.75" y="-179" font-family="Segoe UI" font-size="9.00">Weiche (Kreisel&#45;Uebergang)</text>
<polygon fill="none" stroke="black" points="24,-151.25 24,-172 92.75,-172 92.75,-151.25 24,-151.25"/>
<text xml:space="preserve" text-anchor="start" x="28" y="-158.25" font-family="Segoe UI" font-size="9.00">grau gepunktet</text>
<polygon fill="none" stroke="black" points="92.75,-151.25 92.75,-172 227.5,-172 227.5,-151.25 92.75,-151.25"/>
<text xml:space="preserve" text-anchor="start" x="96.75" y="-158.25" font-family="Segoe UI" font-size="9.00">gleiche Bahn / Strecke</text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 30 KiB