From b6ab35d8be7b91a2cb3c3ccc52bd31b82301858f Mon Sep 17 00:00:00 2001 From: Michael Stangl Date: Thu, 18 Jun 2026 12:07:27 +0200 Subject: [PATCH] Abschnitt in der ioconverter Anwenderdoku noch genauer beschrieben --- doc/Anwenderdoku_ioconverter.md | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/doc/Anwenderdoku_ioconverter.md b/doc/Anwenderdoku_ioconverter.md index a2de9e4..be23fe4 100644 --- a/doc/Anwenderdoku_ioconverter.md +++ b/doc/Anwenderdoku_ioconverter.md @@ -147,6 +147,8 @@ Die für den I/O Converter relevantesten Fehler sind: ## Erweiterte Optionen +### Einzelne Exportformate erzeugen + Der `portalexport.py` kann auch direkt aufgerufen werden, um nur bestimmte Exportformate zu erzeugen: ```bash @@ -160,8 +162,36 @@ bin\portalexport.bat --filename --outname --mode bin\portalexport.bat --filename --outname --mode EA ``` -Alternativ kann eine CSV-Textdatei als Eingabe verwendet werden: +### Spezialfall: Eingabe über Textdatei (ohne DXF) + +Für den Fall, dass die IO-Daten **nicht aus einer DXF-Datei** stammen, sondern bereits in aufbereiteter Form vorliegen, kann `portalexport.py` auch direkt mit einer Textdatei als Eingabe arbeiten. Damit wird die gesamte DXF-Verarbeitung (`getpositions.py`) übersprungen. + +**Anwendungsfälle:** + +- IO-Listen aus einem **anderen System** (z.B. manuell gepflegte Excel-Listen, Datenbank-Exporte) sollen in das TIA- oder WSCAD-Format konvertiert werden +- Daten aus der DXF-Extraktion sollen **vorab korrigiert oder ergänzt** werden, bevor der Excel-Export erfolgt +- **Testen** des Exporters ohne eine DXF-Datei verarbeiten zu müssen + +**Aufruf:** ```bash bin\portalexport.bat --input --mode TIA ``` + +**Format der Textdatei:** Die Datei muss pro Zeile einen Eintrag im folgenden CSV-Format mit einfachen Anführungszeichen enthalten: + +```text +'','','','','','','','' +``` + +**Beispiel:** + +```text +'DI01','Stausensor 1 (ILS-CV M0108)','Jam detector','=A01+UC0101-KF1DI1','','','','' +'DQ04','Motor MA0062','CV-M0062_0,75','=A01+UH01-KF1DQ04','Motor MA0062','Motor MA0062','','' +``` + +Die Felder entsprechen den Block-Attributen aus der DXF-Datei. Dieses Format wird auch intern von `portalexport.py` erzeugt, wenn es die JSON-Daten aus `getpositions.py` verarbeitet. + +> [!NOTE] +> Bei der Eingabe per Textdatei entfällt die Gruppierung nach SPS-Nummer - alle Einträge werden in einem Satz Ausgabedateien zusammengefasst. Ebenso werden keine `getpositions`-Fehler und -Warnungen in die Excel-Dateien geschrieben, da keine DXF-Validierung stattfindet.