scl_skeleton: Anlagen-JSON als Eingabe (Stufe 4, Namen)

--json erkennt <csv>_anlage.json am Schema. scl_context.HwSource setzt
Namen aus bindings (nur "zugeordnet") und conveyors ein: Separator-,
Lagerlinien-, Weichen- und Vario-Antriebsnamen, #fbCarousel<NNNN> am
Kreisel, Foerderernummer im DB_JamArea-Platzhalter (<k> bleibt offen).
Eingesetzte Namen werden gegen <projekt>_hw.json geprueft (--hw,
--strict bricht ab). --eplan bleibt fuer die TRO-JSON; Templates und
Golden-Files unveraendert.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-16 10:53:52 +02:00
parent 7ec2b88b79
commit 39b445a7c4
6 changed files with 588 additions and 96 deletions
+6 -2
View File
@@ -227,8 +227,12 @@ byte — rewrite them (`SKEL_UPDATE_GOLDEN=1`) only for a reviewed, intended cha
TRO-ID + slot + role, `conveyors[]`). Reads no CSV: the TRO-JSON carries `parts`
(positions/bounding boxes, written by `tro_flow --json`). Conveyors are matched by
majority vote of the devices naming them; corrections in `cfg/hw_overrides.ini`,
numbers in `cfg/parameter.ini [merge_hw_layout]`. `scl_skeleton` does not read the plant JSON
yet (stage 4). See `doc/Python_Scripts.md` §5e.
numbers in `cfg/parameter.ini [merge_hw_layout]`. See `doc/Python_Scripts.md` §5e.
8. **`scl_skeleton.py --json <csv>_anlage.json`** (stage 4, names) — reads the plant JSON
(schema detected) and fills sensors, valves, drives and conveyor numbers from `bindings`/
`conveyors` via `scl_context.HwSource`; open/contradicting bindings stay `TODO(E-Planung)`;
inserted names are checked against `<projekt>_hw.json` (`--strict` aborts). Templates are
unchanged. See `doc/Python_Scripts.md` §5b.
What is **not** built out yet, relative to the original two-tool design: