Readme des Projektes aktualisiert
This commit is contained in:
@@ -1,25 +1,47 @@
|
|||||||
# sps_skel
|
# sps_skel
|
||||||
|
|
||||||
> Das Programm erhält ein mechanische Layout von der Projektierung oder
|
> Das Programm erhält ein mechanisches Layout von der Projektierung oder dem
|
||||||
> Angebotswesen zusammen mit dem elektronischen Layout mit der Liste aller
|
> Angebotswesen zusammen mit dem elektrischen Layout (Liste aller Sensoren,
|
||||||
> Sensoren, Stopper, etc. Daraus erstellt es dann ein Skelett für die SPS
|
> Stopper, Weichen, etc.). Daraus soll es ein Skelett für die SPS-Programmierung
|
||||||
> Programmierung, welches direkt ins TIA Portal importiert werden kann.
|
> (Siemens SCL, TIA Portal) erzeugen — aufgebaut aus **TRO**-Bausteinen
|
||||||
|
> (Transfer Route Object), den wiederkehrenden Steuerungseinheiten einer
|
||||||
|
> Fördertechnik-Anlage.
|
||||||
|
|
||||||
|
## Stand des Projekts
|
||||||
|
|
||||||
|
Der eigentliche SCL-Generator (JSON-Layout → TIA-Portal-Code) ist **noch nicht
|
||||||
|
geschrieben**. Was bereits funktioniert, ist die Ableitung der Vorstufen dazu:
|
||||||
|
aus einem CSV-Export der mechanischen Planung (ILS 2.0) werden automatisch
|
||||||
|
|
||||||
|
- der **Materialfluss-Graph** der mechanischen Objekte (Strecken, Gefällestrecken,
|
||||||
|
Kreisel),
|
||||||
|
- die daraus abgeleitete **TRO-Liste** samt eigenem Flussdiagramm, und
|
||||||
|
- eine **annotierte Kopie der BricsCAD-Zeichnung** mit einem Marker-Symbol pro
|
||||||
|
TRO
|
||||||
|
|
||||||
|
erzeugt. Diese drei Werkzeuge liegen als CLI-Tools in `lib/` und sind über
|
||||||
|
`bin/`-Wrapper aufrufbar (siehe unten). Details, Domänenmodell und die
|
||||||
|
Roadmap zum Generator stehen in `doc/`, allen voran `doc/Python_Scripts.md`.
|
||||||
|
|
||||||
## Projektstruktur
|
## Projektstruktur
|
||||||
|
|
||||||
sps_skel/
|
sps_skel/
|
||||||
bin/ Skripte zur Umgebungsverwaltung
|
bin/ Umgebungsskripte + ein .bat/.sh-Wrapper-Paar je CLI-Tool
|
||||||
setenv.bat/.sh Umgebungsvariablen setzen
|
setenv.bat/.sh Umgebungsvariablen setzen
|
||||||
install_py.bat/.sh venv erstellen + pip install
|
install_py.bat/.sh venv erstellen + pip install
|
||||||
activate_venv.bat/.sh venv aktivieren
|
activate_venv.bat/.sh venv aktivieren
|
||||||
get_cmd.bat/.sh Shell mit Umgebung oeffnen
|
get_cmd.bat/.sh Shell mit Umgebung oeffnen
|
||||||
cfg/ Konfigurationsdateien (INI/JSON)
|
material_flow.bat/.sh Wrapper fuer lib/material_flow.py
|
||||||
data/ Eingabedaten (nicht im Git)
|
tro_flow.bat/.sh Wrapper fuer lib/tro_flow.py
|
||||||
doc/ Dokumentation
|
tro_annotate.bat/.sh Wrapper fuer lib/tro_annotate.py
|
||||||
|
cad/ generiertes BricsCAD-LISP (tro_types.lsp) fuer den TROEDIT-Dialog
|
||||||
|
cfg/ Konfigurationsdateien (INI/JSON); dxf_registration.json
|
||||||
|
data/ Eingabedaten - CSV-Exporte, DXF (nicht im Git)
|
||||||
|
doc/ Dokumentation, siehe doc/Python_Scripts.md
|
||||||
examples/ Beispieldateien
|
examples/ Beispieldateien
|
||||||
lib/ Python-Quellcode / Bibliothek
|
lib/ Python-Quellcode (CLI-Tools + Bibliotheken)
|
||||||
log/ Log-Dateien (nicht im Git)
|
log/ Log-Dateien (nicht im Git)
|
||||||
results/ Ergebnisse / Ausgaben (nicht im Git)
|
results/ Ergebnisse der CLI-Tools (.dot/.svg/.md/.dxf, nicht im Git)
|
||||||
tests/ Unit Tests
|
tests/ Unit Tests
|
||||||
.gitignore
|
.gitignore
|
||||||
LICENSE
|
LICENSE
|
||||||
@@ -35,9 +57,11 @@
|
|||||||
| `SKEL_LIB` | Python-Quellcode |
|
| `SKEL_LIB` | Python-Quellcode |
|
||||||
| `SKEL_CFG` | Konfigurationsdateien |
|
| `SKEL_CFG` | Konfigurationsdateien |
|
||||||
| `SKEL_DATA` | Eingabedaten |
|
| `SKEL_DATA` | Eingabedaten |
|
||||||
|
| `SKEL_DOC` | Dokumentation |
|
||||||
| `SKEL_LOG` | Log-Dateien |
|
| `SKEL_LOG` | Log-Dateien |
|
||||||
| `SKEL_RESULTS` | Ergebnisse |
|
| `SKEL_RESULTS` | Ergebnisse |
|
||||||
| `SKEL_EXAMPLES` | Beispieldateien |
|
| `SKEL_EXAMPLES` | Beispieldateien |
|
||||||
|
| `SKEL_TESTS` | Unit Tests |
|
||||||
| `PYTHONPATH` | Erweitert um `SKEL_LIB` |
|
| `PYTHONPATH` | Erweitert um `SKEL_LIB` |
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
@@ -45,6 +69,8 @@
|
|||||||
### Voraussetzungen
|
### Voraussetzungen
|
||||||
|
|
||||||
- Python 3.10 oder hoeher
|
- Python 3.10 oder hoeher
|
||||||
|
- Graphviz (`dot`) auf `PATH` fuer `--tosvg`, optional aber empfohlen
|
||||||
|
- fuer `tro_annotate.py`: `ezdxf` (wird per `requirements.txt` installiert)
|
||||||
|
|
||||||
### Setup (Windows)
|
### Setup (Windows)
|
||||||
|
|
||||||
@@ -71,6 +97,28 @@
|
|||||||
bin\activate_venv.bat # Windows
|
bin\activate_venv.bat # Windows
|
||||||
source bin/activate_venv.sh # Linux / macOS
|
source bin/activate_venv.sh # Linux / macOS
|
||||||
|
|
||||||
|
### CLI-Tools ausführen
|
||||||
|
|
||||||
|
Jedes Tool wird über seinen `bin/<name>.bat`/`.sh`-Wrapper aufgerufen; dieser
|
||||||
|
setzt die Umgebung, aktiviert `.venv` und ruft dann das Python-Modul auf.
|
||||||
|
`--file`/`--dxf` akzeptieren entweder einen Dateinamen (wird gegen
|
||||||
|
`%SKEL_DATA%` aufgelöst) oder einen vollen Pfad; Ausgaben landen in
|
||||||
|
`%SKEL_RESULTS%`.
|
||||||
|
|
||||||
|
REM 1) Materialfluss der mechanischen Objekte
|
||||||
|
bin\material_flow.bat --file mubea.csv --tosvg --doc
|
||||||
|
|
||||||
|
REM 2) TRO-Liste + eigenes Flussdiagramm ableiten
|
||||||
|
bin\tro_flow.bat --file mubea.csv --tosvg --doc
|
||||||
|
|
||||||
|
REM 3) TROs als Marker-Symbole in eine Kopie der CAD-Zeichnung einbrennen
|
||||||
|
bin\tro_annotate.bat --file mubea.csv --dxf 500573_60_1.dxf --flow --fb --legend
|
||||||
|
|
||||||
|
Alle Switches, Ausgabedateien und Exit-Codes der drei Tools sind in
|
||||||
|
[`doc/Python_Scripts.md`](doc/Python_Scripts.md) dokumentiert; das
|
||||||
|
Domänenmodell (TRO-Typen, geplantes JSON-Layout, I/O-Listen-Analyse) findet
|
||||||
|
sich in den übrigen Dokumenten unter `doc/`.
|
||||||
|
|
||||||
## Lizenz
|
## Lizenz
|
||||||
|
|
||||||
MIT License - siehe LICENSE
|
MIT License - siehe LICENSE
|
||||||
|
|||||||
Reference in New Issue
Block a user