d414bd6cf3
Steuernder Separator einer ILS Weiche (_find_weiche_separators) ist der letzte freie Separator in Laufrichtung VOR der Weiche, gemessen auf dem Kreisel-Umlauf aus Lage und Drehrichtung (kreisel_junctions.separators_before) - nicht mehr der CSV-Nachbar. Ein Nachbar hinter der Weiche steuert sie nie; Hoechstabstand weiche_vorlauf_max in cfg/parameter.ini [tro_flow]. Mubea (Export 2026-10-16): 2Sep2Swi = 0005 (Ausschleus 0061) + 0036 (Weiche 0130) statt 0005 + 0012; 0012 bleibt 1Sep, Kreisel1 wieder angebunden. Dematic, HundM05, showroom, test_system unveraendert. TRO-JSON: DerivedTro.switches (optional) nennt die Weichen-Bauteile in Slot-Reihenfolge (switch<i> gehoert bei 2Sep-Typen zu separator<i>); derive_slots traegt sie in die switch<n>-Slots, merge_hw_layout bindet das Ventil dort. e_planning.ini: Rollen ventil -> valve (Slot-Rolle der SCL), neue Regel Ausschleus_Weiche.valve fuer Ausschleusventile an Kreisel-Weichen. Mubea: MB0715, MB0724, MB0627, MB0671 statt TODO(E-Planung). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
98 lines
4.1 KiB
INI
98 lines
4.1 KiB
INI
; ================================================================
|
|
; 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 "<Art>.<Rolle>" ist eine Regel; sie werden in dieser
|
|
; Reihenfolge angewendet, ein E-Bauteil wird hoechstens einmal vergeben.
|
|
; <Rolle> 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 <csv>_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<n>.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<n>
|
|
; 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<n>.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<n>.valve
|
|
[Weiche.valve]
|
|
verw = ABZWEIG-*, WEICHE*
|
|
praefix = MB
|
|
max_mm = 1000
|