; ================================================================ ; e_planning.ini - Regeln fuer lib/e_planning.py ; ================================================================ ; Ordnet die Sensoren/Ventile der E-Planung (*_positionsdraw.json des ; Kabellaengen-Tools) den Bauteilen des Layouts (CSV) zu. Hintergrund und ; Befunde: doc/E-Planung_Bruecke.md. ; ; [Registrierung] ; anker VERW-Muster der E-Symbole, die auf einem Separator sitzen; ; daraus wird der Lagebezug E-Zeichnung -> CSV ermittelt. ; ; Jeder Abschnitt "." ist eine Regel; sie werden in dieser ; Reihenfolge angewendet, ein E-Bauteil wird hoechstens einmal vergeben. ; ist zugleich die Slot-Rolle der TRO-JSON (sensor, stopper, valve, ; exitSensor): nur bei gleichem Namen landet die Zuordnung im Slot und damit ; in der SCL, sonst bleibt sie "ohne_slot" (z. B. Ausschleus.stau). ; layout Muster fuer die Layout-Art (Separator, Ausschleus, ; Einschleus, Weiche, Scanner, Beladung, Entladung). ; Standard: der Teil vor dem Punkt im Abschnittsnamen. ; verw Muster fuer das E-Attribut VERW (fnmatch, Komma-Liste, ; Gross-/Kleinschreibung egal) ; praefix BMK-Praefix (BG, MB ...), leer = egal ; max_mm raeumlich: Hoechstabstand nach dem Lagebezug in mm ; soll_mm raeumlich: Sollabstand - das Symbol liegt immer gleich weit ; neben dem Bauteil; gewertet wird die Abweichung vom Soll ; (nicht der kleinste Abstand), zulaessig bis toleranz_mm ; toleranz_mm zulaessige Abweichung vom Sollabstand (Standard: cfg/parameter.ini ; [merge_hw_layout] toleranz_mm) ; nummer_von Nummernregel: BMK-Nummer = Nummer der genannten Rolle ; nummer_versatz ... plus dieser Versatz (Mubea: Ventil = Sensor + 1) ; Mit nummer_von wird zuerst die Nummer versucht, danach (wenn max_mm oder ; soll_mm gesetzt) der Abstand fuer die uebrigen Bauteile. ; ; Lieber eine Luecke als ein falscher Name: was keine Regel sicher trifft, ; bleibt in der SCL TODO(E-Planung) und steht im Bericht _eplan.md. ; ; Die VERW-Texte und die Nummernregel sind projektabhaengig. Die Werte hier ; stammen aus Mubea (500573); in den Referenz-SCL (UH01..UH05) haben Sensor ; und Stopper dieselbe Nummer (BG3242/MB3242) -> dort nummer_versatz = 0. ; ================================================================ [Registrierung] anker = IN SEP ; Sensor im Stopper -> stInSeparator.stSenInSep ; sitzt in der Zeichnung auf dem Separator (Mubea Speicher: 0-1 mm). ; An den Kreiseln liegen Sensoren 200-550 mm daneben, teils naeher an ; Aus-/Einschleuselementen - unsicher, deshalb bewusst eng. [Separator.sensor] verw = IN SEP praefix = BG max_mm = 300 ; Stopperventil -> xOutStopper ; liegt ~270 mm neben dem Separator, im 800-mm-Raster der Speicherlinien ; naeher am Nachbarn als ueber die Nummer -> Nummernregel zuerst [Separator.stopper] verw = SEP praefix = MB nummer_von = Separator.sensor nummer_versatz = 1 max_mm = 600 soll_mm = 270 ; Stausensor hinter dem Ausschleuselement (Mubea: konstant ~1390 mm) [Ausschleus.stau] verw = STAU* praefix = BG max_mm = 1600 soll_mm = 1390 ; Ausschleusventil (Mubea: konstant ~1414 mm, Nummer = Stausensor + 1) ; -> Slot switch.valve des TRO, dessen switches das Element nennt (xOutSwitch) [Ausschleus.valve] verw = AE ABZW* praefix = MB nummer_von = Ausschleus.stau nummer_versatz = 1 max_mm = 1600 soll_mm = 1414 ; Ausschleusventil an einer Kreisel-Weiche (Ausschleuselement einer Strecke, ; nicht einer Speicherlinie): liegt nicht im festen Raster der Speicherlinien ; und hat keinen Stausensor mit Nummer - 1 (Mubea MB0627/MB0715/MB0671: ; 350-900 mm neben dem Element). Laeuft nach [Ausschleus.valve], nimmt also ; nur, was dort uebrig bleibt: das naechste "AE ABZW*"-Ventil. [Ausschleus_Weiche.valve] layout = Ausschleus verw = AE ABZW* praefix = MB max_mm = 1000 ; Weichenventil an einer Kreisel-Weiche -> Slot switch.valve [Weiche.valve] verw = ABZWEIG-*, WEICHE* praefix = MB max_mm = 1000