eigene Doku für iocnonvertert gebaut
This commit is contained in:
@@ -105,6 +105,7 @@ doc/ Dokumentation (Deutsch)
|
|||||||
|
|
||||||
- [Anwenderdokumentation](doc/Anwenderdoku.md) - Vollständige Anleitung mit Fehlerbehandlung
|
- [Anwenderdokumentation](doc/Anwenderdoku.md) - Vollständige Anleitung mit Fehlerbehandlung
|
||||||
- [Kurzanleitung / Fehlerfälle](doc/Anwenderdoku_kurz.md) - Kompakte Referenz
|
- [Kurzanleitung / Fehlerfälle](doc/Anwenderdoku_kurz.md) - Kompakte Referenz
|
||||||
|
- [I/O Converter](doc/Anwenderdoku_ioconverter.md) - EA-Listen und TIA-Portal/WSCAD-Export
|
||||||
- [Übersetzungsworkflow](doc/translate.md) - Dokumentation zum Textextraktions- und Übersetzungssystem
|
- [Übersetzungsworkflow](doc/translate.md) - Dokumentation zum Textextraktions- und Übersetzungssystem
|
||||||
|
|
||||||
## Lizenz
|
## Lizenz
|
||||||
|
|||||||
+3
-38
@@ -32,7 +32,7 @@
|
|||||||
- [Warum werden manche Kabeltrassen nicht mit anderen verbunden?](#warum-werden-manche-kabeltrassen-nicht-mit-anderen-verbunden)
|
- [Warum werden manche Kabeltrassen nicht mit anderen verbunden?](#warum-werden-manche-kabeltrassen-nicht-mit-anderen-verbunden)
|
||||||
- [Warum verbindet das Programm den Sensor mit genau dieser Kabeltrasse?](#warum-verbindet-das-programm-den-sensor-mit-genau-dieser-kabeltrasse)
|
- [Warum verbindet das Programm den Sensor mit genau dieser Kabeltrasse?](#warum-verbindet-das-programm-den-sensor-mit-genau-dieser-kabeltrasse)
|
||||||
- [5. Fehlerfälle und Fehlerbehandlung](#5-fehlerfälle-und-fehlerbehandlung)
|
- [5. Fehlerfälle und Fehlerbehandlung](#5-fehlerfälle-und-fehlerbehandlung)
|
||||||
- [Allgemeine Fehler und Warnungen (beide Workflows)](#allgemeine-fehler-und-warnungen-beide-workflows)
|
- [Allgemeine Fehler und Warnungen](#allgemeine-fehler-und-warnungen)
|
||||||
- [Detaillierte Beschreibung der Warnungen (Warnings)](#detaillierte-beschreibung-der-warnungen-warnings)
|
- [Detaillierte Beschreibung der Warnungen (Warnings)](#detaillierte-beschreibung-der-warnungen-warnings)
|
||||||
- [1. `missing_attributes` (Fehlende oder unvollständige Block-Attribute)](#1-missing_attributes-fehlende-oder-unvollständige-block-attribute)
|
- [1. `missing_attributes` (Fehlende oder unvollständige Block-Attribute)](#1-missing_attributes-fehlende-oder-unvollständige-block-attribute)
|
||||||
- [2. `tunnel_missing_length` (Fehlende Längenangabe bei Tunnel)](#2-tunnel_missing_length-fehlende-längenangabe-bei-tunnel)
|
- [2. `tunnel_missing_length` (Fehlende Längenangabe bei Tunnel)](#2-tunnel_missing_length-fehlende-längenangabe-bei-tunnel)
|
||||||
@@ -47,9 +47,6 @@
|
|||||||
- [Routing Errors (ERR-Routing)](#routing-errors-err-routing)
|
- [Routing Errors (ERR-Routing)](#routing-errors-err-routing)
|
||||||
- [Tunnel Connection Errors](#tunnel-connection-errors)
|
- [Tunnel Connection Errors](#tunnel-connection-errors)
|
||||||
- [Hinweise zur Excel-Fehlerausgabe (Cable Routing)](#hinweise-zur-excel-fehlerausgabe-cable-routing)
|
- [Hinweise zur Excel-Fehlerausgabe (Cable Routing)](#hinweise-zur-excel-fehlerausgabe-cable-routing)
|
||||||
- [I/O Conversion Workflow - Hinweise](#io-conversion-workflow---hinweise)
|
|
||||||
- [Ausgabedateien bei Fehlern](#ausgabedateien-bei-fehlern)
|
|
||||||
- [Wichtige Hinweise](#wichtige-hinweise)
|
|
||||||
|
|
||||||
# 1. Installation des Programmes und Schnellstart-Guide
|
# 1. Installation des Programmes und Schnellstart-Guide
|
||||||
|
|
||||||
@@ -67,17 +64,6 @@ Ist Python installiert, werden per Doppelklick automatisch auf die `bin\install_
|
|||||||
|
|
||||||
## Schnellstart und Vewendung des Programms
|
## Schnellstart und Vewendung des Programms
|
||||||
|
|
||||||
Das Programm bietet **drei Hauptworkflows**, die je nach Anwendungsfall eingesetzt werden:
|
|
||||||
|
|
||||||
### Workflow-Übersicht
|
|
||||||
|
|
||||||
| Workflow | Batch-Datei | Zweck | Ausgabe | Verwendete Configs |
|
|
||||||
| -------- | ----------- | ----- | ------- | ------------------ |
|
|
||||||
| **Cable Routing** | `getexdraw.bat` | Vollständige Kabelberechnung mit Längen und Stücklisten | `*_cables.dxf`, `*_cables.xlsx`, `*_BOM.xlsx` | `allgemein.cfg`, `BMK.cfg`, `kabel.cfg`, `bezeichner.cfg` |
|
|
||||||
| **I/O Conversion** | `ioconverter.bat` | Export von Gerätelisten für TIA Portal, WSCAD, etc. | `*-TIA.xlsx`, `*-WSCAD.xlsx`, u.a. | `allgemein.cfg`, `BMK.cfg` |
|
|
||||||
| **Translation** | `extract.bat` + `tr2dxf_<lang>.bat` | Textextraktion und Übersetzung von DXF-Inhalten | `*_texts.json`/`.xlsx`, `*_<lang>.dxf` | `allgemein.cfg`, `translation/*.cfg` |
|
|
||||||
|
|
||||||
**Hauptworkflow (Cable Routing):**
|
|
||||||
Im auf dem Desktop erzeugten Ordner findet sich das eigentliche Programm *create_cables*. Um das Programm auszuführen, genügt es die zu verarbeitende .**dxf-Datei** per *Drag and Drop* auf das Programm zu ziehen. Das öffnen der *Command-Shell* bestätigt den Start des Programms und der Anwender wird über den Ablauf informiert.
|
Im auf dem Desktop erzeugten Ordner findet sich das eigentliche Programm *create_cables*. Um das Programm auszuführen, genügt es die zu verarbeitende .**dxf-Datei** per *Drag and Drop* auf das Programm zu ziehen. Das öffnen der *Command-Shell* bestätigt den Start des Programms und der Anwender wird über den Ablauf informiert.
|
||||||
|
|
||||||
Die Ausgabe schreibt:
|
Die Ausgabe schreibt:
|
||||||
@@ -781,9 +767,9 @@ Schritt 2: Bei Ausbleiben eines Schnittpunktes -> Vergrößern des Kreises. Bei
|
|||||||
|
|
||||||
# 5. Fehlerfälle und Fehlerbehandlung
|
# 5. Fehlerfälle und Fehlerbehandlung
|
||||||
|
|
||||||
## Allgemeine Fehler und Warnungen (beide Workflows)
|
## Allgemeine Fehler und Warnungen
|
||||||
|
|
||||||
Die folgende Tabelle zeigt alle möglichen Fehler- und Warnungstypen, die von `getpositions.py` erkannt werden. Diese gelten **für beide Workflows** (Cable Routing und I/O Conversion):
|
Die folgende Tabelle zeigt alle möglichen Fehler- und Warnungstypen, die von `getpositions.py` erkannt werden:
|
||||||
|
|
||||||
| Fehlertyp | Kategorie | Beschreibung | Ursache | Behebung |
|
| Fehlertyp | Kategorie | Beschreibung | Ursache | Behebung |
|
||||||
|-----------|-----------|--------------|---------|----------|
|
|-----------|-----------|--------------|---------|----------|
|
||||||
@@ -1102,24 +1088,3 @@ Die Fehler-Worksheets in `*_cables.xlsx` erscheinen **nur**, wenn tatsächlich F
|
|||||||
3. Führen Sie das Programm erneut aus
|
3. Führen Sie das Programm erneut aus
|
||||||
4. Beheben Sie verbleibende Routing-Fehler
|
4. Beheben Sie verbleibende Routing-Fehler
|
||||||
5. Wiederholen Sie, bis keine ERR-Worksheets mehr erstellt werden
|
5. Wiederholen Sie, bis keine ERR-Worksheets mehr erstellt werden
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## I/O Conversion Workflow - Hinweise
|
|
||||||
|
|
||||||
Der **I/O Conversion Workflow** (`ioconverter.bat`) führt **keine Routing-Berechnungen** durch und erzeugt daher auch keine Routing-spezifischen Fehler. Es werden ausschließlich die **allgemeinen Fehler und Warnungen** aus `getpositions.py` gemeldet (siehe [Allgemeine Fehler und Warnungen](#allgemeine-fehler-und-warnungen-beide-workflows)).
|
|
||||||
|
|
||||||
### Ausgabedateien bei Fehlern
|
|
||||||
|
|
||||||
- `*_errors.json` - enthält alle Fehler und Warnungen aus getpositions
|
|
||||||
- `*_positionsconv.json` - Zwischenergebnis mit extrahierten Positionen
|
|
||||||
- `*_TIA.xlsx`, `*_WSCAD.xlsx`, etc. - werden auch bei Warnungen erzeugt, können aber unvollständig sein
|
|
||||||
|
|
||||||
### Wichtige Hinweise
|
|
||||||
|
|
||||||
- **Fehlende Attribute** führen dazu, dass Elemente in den Export-Dateien fehlen
|
|
||||||
- **Fehlende KENNZEICHNUNG** verhindert die korrekte Zuordnung zu Unterverteilern
|
|
||||||
- **Doppelte IDs** können zu falschen Einträgen in den Excel-Listen führen
|
|
||||||
|
|
||||||
**Empfehlung:** Beheben Sie alle Warnungen aus `*_errors.json`, bevor Sie die Export-Dateien an nachgelagerte Systeme (TIA Portal, WSCAD) übergeben.
|
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,167 @@
|
|||||||
|
# Anwenderdoku zum I/O Converter (ioconverter) <!-- omit in toc -->
|
||||||
|
|
||||||
|
- [Zweck des Programms](#zweck-des-programms)
|
||||||
|
- [Schnellstart](#schnellstart)
|
||||||
|
- [Verwendung per Drag \& Drop](#verwendung-per-drag--drop)
|
||||||
|
- [Verwendung per Kommandozeile](#verwendung-per-kommandozeile)
|
||||||
|
- [Pipeline und Programmablauf](#pipeline-und-programmablauf)
|
||||||
|
- [Ausgabedateien](#ausgabedateien)
|
||||||
|
- [EA-Liste (`*_EA.xlsx`)](#ea-liste-_eaxlsx)
|
||||||
|
- [TIA-Portal-Export (`*_TIA.xlsx`)](#tia-portal-export-_tiaxlsx)
|
||||||
|
- [WSCAD-Export (`*_WSCAD.xlsx`)](#wscad-export-_wscadxlsx)
|
||||||
|
- [Konfiguration und Symbolerkennung](#konfiguration-und-symbolerkennung)
|
||||||
|
- [Fehlerfälle und Fehlerbehandlung](#fehlerfälle-und-fehlerbehandlung)
|
||||||
|
- [Allgemeine Fehler und Warnungen](#allgemeine-fehler-und-warnungen)
|
||||||
|
- [Ausgabedateien bei Fehlern](#ausgabedateien-bei-fehlern)
|
||||||
|
- [Empfohlene Vorgehensweise](#empfohlene-vorgehensweise)
|
||||||
|
- [Erweiterte Optionen](#erweiterte-optionen)
|
||||||
|
|
||||||
|
## Zweck des Programms
|
||||||
|
|
||||||
|
Der **I/O Converter** (`ioconverter.bat`) dient der vereinfachten Ableitung von **Ein-/Ausgangslisten (EA-Listen)** sowie der **Eingabedaten für das Siemens TIA Portal** und **WSCAD** aus einer DXF-Layoutzeichnung.
|
||||||
|
|
||||||
|
Das Programm extrahiert alle relevanten Geräteinformationen (Sensoren, Aktoren, Schaltschrankelemente) aus dem Layout und erzeugt daraus formatierte Excel-Dateien, die direkt in die jeweiligen Zielsysteme importiert werden können. Das Routing und die Kabelberechnung entfallen dabei vollständig - es geht ausschließlich um die **Geräte- und IO-Daten**.
|
||||||
|
|
||||||
|
## Schnellstart
|
||||||
|
|
||||||
|
### Verwendung per Drag & Drop
|
||||||
|
|
||||||
|
Im Desktop-Ordner *Kabeltool* (erstellt via `bin\dropItem_create.bat`) befindet sich die Verknüpfung *io_converter*. Die zu verarbeitende **.dxf-Datei** einfach per **Drag & Drop** auf diese Verknüpfung ziehen.
|
||||||
|
|
||||||
|
> [!IMPORTANT]
|
||||||
|
> Der Dateiname darf **keine Leerzeichen oder Sonderzeichen** enthalten.
|
||||||
|
> Verwende z. B. `projekt_123.dxf` statt `mein projekt #1.dxf`.
|
||||||
|
|
||||||
|
### Verwendung per Kommandozeile
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bin\ioconverter.bat <meine_anlage.dxf>
|
||||||
|
```
|
||||||
|
|
||||||
|
Die Ausgabe schreibt:
|
||||||
|
|
||||||
|
```text
|
||||||
|
=== Fetching Positions ===
|
||||||
|
...
|
||||||
|
=== Creating Excel Files for TIA, WSCAD, .. ===
|
||||||
|
Export 'EA' erfolgreich: ...\work\meine_anlage_EA.xlsx
|
||||||
|
Export 'TIA' erfolgreich: ...\work\meine_anlage_TIA.xlsx
|
||||||
|
Export 'WSCAD' erfolgreich: ...\work\meine_anlage_WSCAD.xlsx
|
||||||
|
```
|
||||||
|
|
||||||
|
Die erzeugten Dateien werden automatisch in das Ergebnisverzeichnis (`PROJECT_IO_RESULTS`) verschoben.
|
||||||
|
|
||||||
|
## Pipeline und Programmablauf
|
||||||
|
|
||||||
|
Der I/O Converter arbeitet in zwei Schritten:
|
||||||
|
|
||||||
|
```text
|
||||||
|
DXF-Datei
|
||||||
|
1. getpositions.py --> Positionen und Attribute extrahieren --> *_positionsconv.json
|
||||||
|
2. portalexport.py --> Excel-Export erzeugen --> *_EA.xlsx, *_TIA.xlsx, *_WSCAD.xlsx
|
||||||
|
```
|
||||||
|
|
||||||
|
1. **Positionsextraktion** (`getpositions.py`): Liest die DXF-Datei ein und extrahiert alle Blöcke mit ihren Attributen (IO, SPS, KENNZEICHNUNG, BEZEICHNUNG, VERW, TEXT-D/E/ES/F, ARTINR). Das Ergebnis wird als `*_positionsconv.json` gespeichert.
|
||||||
|
|
||||||
|
2. **Excel-Export** (`portalexport.py`): Liest die JSON-Zwischendatei und erzeugt daraus die Excel-Dateien in den gewünschten Formaten. Die Daten werden dabei nach SPS-Nummer gruppiert - pro SPS entsteht ein eigener Satz Ausgabedateien (z.B. `anlage-SPS1_TIA.xlsx`, `anlage-SPS2_TIA.xlsx`).
|
||||||
|
|
||||||
|
## Ausgabedateien
|
||||||
|
|
||||||
|
Standardmäßig werden **drei Excel-Dateien** pro SPS erzeugt:
|
||||||
|
|
||||||
|
### EA-Liste (`*_EA.xlsx`)
|
||||||
|
|
||||||
|
Eine einfache Übersicht aller Ein- und Ausgänge. Die Datei enthält folgende Worksheets:
|
||||||
|
|
||||||
|
**Ein-, Ausgaenge**: Listet alle erkannten Eingänge und Ausgänge mit Name, Kommentar (Bezeichnung) und Bezug (Kennzeichnung) auf. Die Klassifizierung in Ein- oder Ausgang erfolgt automatisch anhand der Identifier aus dem Block (z.B. DI, FDI = Eingang; DQ, K, M = Ausgang).
|
||||||
|
|
||||||
|
**Duplikate / Errors**: Falls doppelte Namen oder fehlerhafte Einträge erkannt werden, werden diese in separaten Worksheets aufgeführt.
|
||||||
|
|
||||||
|
### TIA-Portal-Export (`*_TIA.xlsx`)
|
||||||
|
|
||||||
|
Im TIA-Portal-Importformat mit folgenden Worksheets:
|
||||||
|
|
||||||
|
**PLC Tags**: Enthält die Spalten `Name`, `Path`, `Data Type`, `Logical Address`, `Comment`, `Hmi Visible`, `Hmi Accessible`, `Hmi Writeable`, `Typeobject ID`, `Version ID`. Diese Datei kann direkt in das Siemens TIA Portal importiert werden.
|
||||||
|
|
||||||
|
**Constants**: Enthält Konstanten mit `Name`, `Path`, `Data Type`, `Value`, `Comment`.
|
||||||
|
|
||||||
|
### WSCAD-Export (`*_WSCAD.xlsx`)
|
||||||
|
|
||||||
|
Im WSCAD-Importformat mit den Spalten `Anschluss`, `Kommentar`, `Symboltext`, `Bezug`, `Sondertext 1-8`. Der Export enthält standardmäßig Bezugsinformationen. Mit der Option `--no_bezug` kann der Export ohne Bezüge erstellt werden.
|
||||||
|
|
||||||
|
Für Bauteile mit unvollständigen Anschlüssen werden fehlende Anschlüsse automatisch bis zur Standardanzahl (8 pro Bauteil) ergänzt.
|
||||||
|
|
||||||
|
## Konfiguration und Symbolerkennung
|
||||||
|
|
||||||
|
Der I/O Converter verwendet folgende Konfigurationsdateien aus `cfg/`:
|
||||||
|
|
||||||
|
| Datei | Relevanz für I/O Converter |
|
||||||
|
|-----------------|---------------------------|
|
||||||
|
| `allgemein.cfg` | Layernamen für Sensoren, Aktoren, Unterverteiler etc. - bestimmt, welche Blöcke aus der DXF-Datei extrahiert werden |
|
||||||
|
| `BMK.cfg` | Betriebsmittelkennzeichnungen (`[Routing-Include]`, `[Routing-Ignore]`) - bestimmt, welche Gerätetypen berücksichtigt werden |
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> Die Konfigurationsdateien `kabel.cfg` und `bezeichner.cfg` werden vom I/O Converter **nicht** benötigt, da keine Kabelberechnung stattfindet.
|
||||||
|
|
||||||
|
Die Erkennung der Symbole (Blöcke) in der DXF-Datei ist die gemeinsame Basis von I/O Converter und Kabelberechnung. Beide Programme nutzen `getpositions.py` mit denselben Regeln zur Symbolsuche:
|
||||||
|
|
||||||
|
- Welche **Layer** durchsucht werden, wird in `allgemein.cfg` unter `[GetPos-Layer_Equipment]`, `[GetPos-Layer_Distributors]` etc. festgelegt
|
||||||
|
- Welche **Betriebsmittelkennzeichen** (BMK-Präfixe) berücksichtigt werden, regelt `BMK.cfg` unter `[Routing-Include]` und `[Routing-Ignore]`
|
||||||
|
- Welche **Block-Attribute** erwartet werden (KENNZEICHNUNG, SPS, IO, ARTINR, etc.) und wie die Blöcke im Layout angelegt sein müssen
|
||||||
|
|
||||||
|
Eine ausführliche Beschreibung der Konfigurationsdateien sowie der Anforderungen an die Layouterstellung findet sich in der [Anwenderdokumentation zur Kabellängenermittlung](Anwenderdoku.md) in den Abschnitten "Anpassung des Verhaltens des Programms" und "Anwenderhinweise zur Layouterstellung".
|
||||||
|
|
||||||
|
## Fehlerfälle und Fehlerbehandlung
|
||||||
|
|
||||||
|
### Allgemeine Fehler und Warnungen
|
||||||
|
|
||||||
|
Der I/O Converter durchläuft dieselbe Positionsextraktion wie der Cable-Routing-Workflow. Es gelten daher die gleichen Fehler- und Warnungstypen aus `getpositions.py`. Die vollständige Fehlertabelle findet sich in der [Anwenderdoku](Anwenderdoku.md) bzw. [Kurzanleitung](Anwenderdoku_kurz.md) im Abschnitt "Fehlerfälle und Fehlerbehandlung".
|
||||||
|
|
||||||
|
Die für den I/O Converter relevantesten Fehler sind:
|
||||||
|
|
||||||
|
| Fehlertyp | Auswirkung |
|
||||||
|
|-----------------|------------|
|
||||||
|
| `double_ids` | **Abbruch** - Doppelte Geräte-IDs führen zum Programmabbruch. Die `*_errors.json` wird erzeugt, aber keine Excel-Dateien. |
|
||||||
|
| `missing_attributes` | Betroffene Elemente fehlen in den Export-Dateien |
|
||||||
|
| `mapping_warnings` (keine KENNZEICHNUNG) | Keine korrekte Zuordnung zu Unterverteilern möglich |
|
||||||
|
| `missing_sps_prefix` | Gerät kann keiner SPS zugeordnet werden |
|
||||||
|
|
||||||
|
### Ausgabedateien bei Fehlern
|
||||||
|
|
||||||
|
- `*_errors.json` - enthält alle Fehler und Warnungen aus der Positionsextraktion
|
||||||
|
- `*_positionsconv.json` - Zwischenergebnis mit extrahierten Positionen
|
||||||
|
- `*_EA.xlsx`, `*_TIA.xlsx`, `*_WSCAD.xlsx` - werden auch bei Warnungen erzeugt, können aber unvollständig sein
|
||||||
|
|
||||||
|
> [!IMPORTANT]
|
||||||
|
> Bei `double_ids`-Fehlern bricht das Programm nach der Positionsextraktion ab. Es werden **keine** Excel-Dateien erzeugt. Beheben Sie zuerst die doppelten IDs im Layout.
|
||||||
|
|
||||||
|
### Empfohlene Vorgehensweise
|
||||||
|
|
||||||
|
1. Programm ausführen
|
||||||
|
2. Falls `*_errors.json` erstellt wurde: Fehler prüfen und im Layout korrigieren
|
||||||
|
3. Erneut ausführen bis keine Fehler mehr auftreten
|
||||||
|
4. Export-Dateien an nachgelagerte Systeme (TIA Portal, WSCAD) übergeben
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
> Beheben Sie alle Warnungen aus `*_errors.json`, bevor Sie die Export-Dateien an nachgelagerte Systeme übergeben, um Vollständigkeit sicherzustellen.
|
||||||
|
|
||||||
|
## Erweiterte Optionen
|
||||||
|
|
||||||
|
Der `portalexport.py` kann auch direkt aufgerufen werden, um nur bestimmte Exportformate zu erzeugen:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Nur TIA-Export erzeugen
|
||||||
|
bin\portalexport.bat --filename <positionsconv.json> --outname <basename> --mode TIA
|
||||||
|
|
||||||
|
# Nur WSCAD-Export ohne Bezüge
|
||||||
|
bin\portalexport.bat --filename <positionsconv.json> --outname <basename> --mode WSCAD --no_bezug
|
||||||
|
|
||||||
|
# Nur EA-Liste
|
||||||
|
bin\portalexport.bat --filename <positionsconv.json> --outname <basename> --mode EA
|
||||||
|
```
|
||||||
|
|
||||||
|
Alternativ kann eine CSV-Textdatei als Eingabe verwendet werden:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bin\portalexport.bat --input <eingabe.txt> --mode TIA
|
||||||
|
```
|
||||||
+11
-18
@@ -9,10 +9,10 @@
|
|||||||
- [Excel-Datei: *dxfdatei*\_BOM.xlsx](#excel-datei-dxfdatei_bomxlsx)
|
- [Excel-Datei: *dxfdatei*\_BOM.xlsx](#excel-datei-dxfdatei_bomxlsx)
|
||||||
- [Fehlerfälle und Fehlerbehandlung](#fehlerfälle-und-fehlerbehandlung)
|
- [Fehlerfälle und Fehlerbehandlung](#fehlerfälle-und-fehlerbehandlung)
|
||||||
- [Übersicht](#übersicht)
|
- [Übersicht](#übersicht)
|
||||||
- [Zwei Haupt-Workflows](#zwei-haupt-workflows)
|
- [Programmablauf](#programmablauf)
|
||||||
- [Fehler- und Warnungskategorien](#fehler--und-warnungskategorien)
|
- [Fehler- und Warnungskategorien](#fehler--und-warnungskategorien)
|
||||||
- [Fehlerausgabe](#fehlerausgabe)
|
- [Fehlerausgabe](#fehlerausgabe)
|
||||||
- [Allgemeine Fehler und Warnungen (beide Workflows)](#allgemeine-fehler-und-warnungen-beide-workflows)
|
- [Allgemeine Fehler und Warnungen](#allgemeine-fehler-und-warnungen)
|
||||||
- [Struktur der Error-JSON-Datei](#struktur-der-error-json-datei)
|
- [Struktur der Error-JSON-Datei](#struktur-der-error-json-datei)
|
||||||
- [Arbeiten mit Fehlerfällen](#arbeiten-mit-fehlerfällen)
|
- [Arbeiten mit Fehlerfällen](#arbeiten-mit-fehlerfällen)
|
||||||
- [Beispiele aus Testdaten](#beispiele-aus-testdaten)
|
- [Beispiele aus Testdaten](#beispiele-aus-testdaten)
|
||||||
@@ -187,20 +187,14 @@ Hinweis: Diese Ansicht ist besonders nützlich zur **vorbereitenden Bestellplanu
|
|||||||
|
|
||||||
Das Programm führt während der Verarbeitung umfassende Validierungen durch und erkennt verschiedene Arten von Fehlern im Layout. Die Fehlerbehandlung unterscheidet sich je nach Anwendungsfall:
|
Das Programm führt während der Verarbeitung umfassende Validierungen durch und erkennt verschiedene Arten von Fehlern im Layout. Die Fehlerbehandlung unterscheidet sich je nach Anwendungsfall:
|
||||||
|
|
||||||
### Zwei Haupt-Workflows
|
### Programmablauf
|
||||||
|
|
||||||
Das Kabeltool unterstützt zwei verschiedene Workflows:
|
Das Kabeltool (`getexdraw.bat`) arbeitet in drei Schritten:
|
||||||
|
|
||||||
1. **Cable Routing Workflow** (`getexdraw.bat`):
|
1. `getpositions.py` - Extrahiert Positionen und validiert Layout
|
||||||
- Schritt 1: `getpositions.py` - Extrahiert Positionen und validiert Layout
|
2. `routing.py` - Berechnet Kabelwege über Graph-Algorithmen
|
||||||
- Schritt 2: `routing.py` - Berechnet Kabelwege über Graph-Algorithmen
|
3. `drawdxf.py` - Erzeugt DXF mit Kabelwegen und Excel-Listen
|
||||||
- Schritt 3: `drawdxf.py` - Erzeugt DXF mit Kabelwegen und Excel-Listen
|
- **Ausgabe**: `*_cables.dxf`, `*_cables.xlsx`, `*_BOM.xlsx`
|
||||||
- **Ausgabe**: `*_cables.dxf`, `*_cables.xlsx`, `*_BOM.xlsx`
|
|
||||||
|
|
||||||
2. **I/O Conversion Workflow** (`ioconverter.bat`):
|
|
||||||
- Schritt 1: `getpositions.py` - Extrahiert Positionen und validiert Layout
|
|
||||||
- Schritt 2: `portalexport.py` - Konvertiert zu Excel-Formaten (TIA, WSCAD, EA)
|
|
||||||
- **Ausgabe**: `*_TIA.xlsx`, `*_WSCAD.xlsx`, `*_EA.xlsx`
|
|
||||||
|
|
||||||
### Fehler- und Warnungskategorien
|
### Fehler- und Warnungskategorien
|
||||||
|
|
||||||
@@ -211,15 +205,14 @@ Die Fehlerbehandlung unterscheidet zwischen zwei Kategorien:
|
|||||||
|
|
||||||
### Fehlerausgabe
|
### Fehlerausgabe
|
||||||
|
|
||||||
**Für beide Workflows gilt:**
|
|
||||||
- Falls Fehler oder Warnungen auftreten, schreibt `getpositions.py` **automatisch** eine JSON-Datei `*_errors.json` in den `work`-Ordner
|
- Falls Fehler oder Warnungen auftreten, schreibt `getpositions.py` **automatisch** eine JSON-Datei `*_errors.json` in den `work`-Ordner
|
||||||
- Im **Cable Routing Workflow** werden zusätzliche Fehler in der Excel-Datei `*_cables.xlsx` als separate Worksheets ausgegeben (siehe [ERR-Worksheets](#erweiterte-ausgabe-im-fehlerfall))
|
- Zusätzliche Fehler werden in der Excel-Datei `*_cables.xlsx` als separate Worksheets ausgegeben (siehe [ERR-Worksheets](#erweiterte-ausgabe-im-fehlerfall))
|
||||||
|
|
||||||
Im Ordner [testdata/](testdata/) finden sich Beispiel-DXF-Dateien, die gezielt bestimmte Fehlerfälle demonstrieren (z.B. [easy_3tunnels_errors.json](testdata/easy_3tunnels_errors.json), [easy_tunnelerror1.json](testdata/easy_tunnelerror1.json)).
|
Im Ordner [testdata/](testdata/) finden sich Beispiel-DXF-Dateien, die gezielt bestimmte Fehlerfälle demonstrieren (z.B. [easy_3tunnels_errors.json](testdata/easy_3tunnels_errors.json), [easy_tunnelerror1.json](testdata/easy_tunnelerror1.json)).
|
||||||
|
|
||||||
## Allgemeine Fehler und Warnungen (beide Workflows)
|
## Allgemeine Fehler und Warnungen
|
||||||
|
|
||||||
Die folgende Tabelle zeigt alle möglichen Fehler- und Warnungstypen, die von `getpositions.py` erkannt werden. Diese gelten **für beide Workflows** (Cable Routing und I/O Conversion):
|
Die folgende Tabelle zeigt alle möglichen Fehler- und Warnungstypen, die von `getpositions.py` erkannt werden:
|
||||||
|
|
||||||
| Fehlertyp | Kategorie | Beschreibung | Ursache | Behebung |
|
| Fehlertyp | Kategorie | Beschreibung | Ursache | Behebung |
|
||||||
|-----------|-----------|--------------|---------|----------|
|
|-----------|-----------|--------------|---------|----------|
|
||||||
|
|||||||
Reference in New Issue
Block a user