Anwenderdoku und Doku kurz um Fehlerfälle, Warnungen und was diese bedeuten ergänzt
This commit is contained in:
+49
-38
@@ -1,25 +1,25 @@
|
||||
# Anwenderdoku zur Ermittlung der Kabellängen <!-- omit in toc -->
|
||||
|
||||
- [Installation des Programmes und Schnellstart-Guide](#installation-des-programmes-und-schnellstart-guide)
|
||||
- [1. Installation des Programmes und Schnellstart-Guide](#1-installation-des-programmes-und-schnellstart-guide)
|
||||
- [Installation](#installation)
|
||||
- [Schnellstart und Vewendung des Programms](#schnellstart-und-vewendung-des-programms)
|
||||
- [Standardmäßige Ausgabe des Programms](#standardmäßige-ausgabe-des-programms)
|
||||
- [.dxf-Datei: *dxfdatei*\_cables.dxf](#dxf-datei-dxfdatei_cablesdxf)
|
||||
- [Excel-Datei: *dxfdatei*\_cables.xlsx](#excel-datei-dxfdatei_cablesxlsx)
|
||||
- [Excel-Datei: *dxfdatei*\_BOM.xlsx](#excel-datei-dxfdatei_bomxlsx)
|
||||
- [Anpassung des Verhaltens des Programms:](#anpassung-des-verhaltens-des-programms)
|
||||
- [2. Anpassung des Verhaltens des Programms](#2-anpassung-des-verhaltens-des-programms)
|
||||
- [Verwendete Konfigurationsdateien](#verwendete-konfigurationsdateien)
|
||||
- [Zusammenfassung und Struktur der Konfigurationsdateien](#zusammenfassung-und-struktur-der-konfigurationsdateien)
|
||||
- [allgemein.cfg](#allgemeincfg)
|
||||
- [BMK.cfg](#bmkcfg)
|
||||
- [kabel.cfg](#kabelcfg)
|
||||
- [bezeichner.cfg](#bezeichnercfg)
|
||||
- [Anwenderhinweise zur Layouterstellung](#anwenderhinweise-zur-layouterstellung)
|
||||
- [3. Anwenderhinweise zur Layouterstellung](#3-anwenderhinweise-zur-layouterstellung)
|
||||
- [Verwendung der Layer](#verwendung-der-layer)
|
||||
- [Zeichnen von Kabeltrassen](#zeichnen-von-kabeltrassen)
|
||||
- [Attribute der Blöcke (Bauteile)](#attribute-der-blöcke-bauteile)
|
||||
- [Positionierung von Bauteilen](#positionierung-von-bauteilen)
|
||||
- [Detaillierte Informationen zum Programmablauf und Code-Struktur](#detaillierte-informationen-zum-programmablauf-und-code-struktur)
|
||||
- [4. Detaillierte Informationen zum Programmablauf und Code-Struktur](#4-detaillierte-informationen-zum-programmablauf-und-code-struktur)
|
||||
- [Zweck des Programms](#zweck-des-programms)
|
||||
- [Allgemeiner Programmablauf](#allgemeiner-programmablauf)
|
||||
- [Aufruf des Programms](#aufruf-des-programms)
|
||||
@@ -29,12 +29,29 @@
|
||||
- [Details zu `routing.py`](#details-zu-routingpy)
|
||||
- [Details zu `drawdxf.py`](#details-zu-drawdxfpy)
|
||||
- [Häufige Fagen](#häufige-fagen)
|
||||
- [Wo stelle ich ein, was das Toolset am Ende ausspuckt?](#wo-stelle-ich-ein-was-das-toolset-am-ende-ausspuckt)
|
||||
- [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)
|
||||
- [Ideen für "Umbau" der Programme](#ideen-für-umbau-der-programme)
|
||||
- [5. Fehlerfälle und Fehlerbehandlung](#5-fehlerfälle-und-fehlerbehandlung)
|
||||
- [Allgemeine Fehler und Warnungen (beide Workflows)](#allgemeine-fehler-und-warnungen-beide-workflows)
|
||||
- [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)
|
||||
- [2. `tunnel_missing_length` (Fehlende Längenangabe bei Tunnel)](#2-tunnel_missing_length-fehlende-längenangabe-bei-tunnel)
|
||||
- [3. `mapping_warnings` (Probleme bei KENNZEICHNUNG-Zuordnung)](#3-mapping_warnings-probleme-bei-kennzeichnung-zuordnung)
|
||||
- [3a. "keine KENNZEICHNUNG vorhanden"](#3a-keine-kennzeichnung-vorhanden)
|
||||
- [3b. "Ungültiger Pfad in Kennzeichnung"](#3b-ungültiger-pfad-in-kennzeichnung)
|
||||
- [Zusammenfassung: Umgang mit Warnungen](#zusammenfassung-umgang-mit-warnungen)
|
||||
- [Cable Routing spezifische Fehler](#cable-routing-spezifische-fehler)
|
||||
- [Fehlertypen im Routing-Prozess](#fehlertypen-im-routing-prozess)
|
||||
- [Detail-Beschreibungen der Routing-Fehler](#detail-beschreibungen-der-routing-fehler)
|
||||
- [Equipment Connection Errors (ERR-Equipment-Connection)](#equipment-connection-errors-err-equipment-connection)
|
||||
- [Routing Errors (ERR-Routing)](#routing-errors-err-routing)
|
||||
- [Tunnel Connection Errors](#tunnel-connection-errors)
|
||||
- [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)
|
||||
|
||||
# Installation des Programmes und Schnellstart-Guide
|
||||
# 1. Installation des Programmes und Schnellstart-Guide
|
||||
|
||||
## Installation
|
||||
|
||||
@@ -50,6 +67,17 @@ Ist Python installiert, werden per Doppelklick automatisch auf die `bin\install_
|
||||
|
||||
## 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.
|
||||
|
||||
Die Ausgabe schreibt:
|
||||
@@ -179,7 +207,7 @@ Dieses Worksheet gibt für jede Artikelnummer aus, **welchem Unterverteiler (UV)
|
||||
|
||||
Hinweis: Diese Ansicht ist besonders nützlich zur **vorbereitenden Bestellplanung pro UV**.
|
||||
|
||||
# Anpassung des Verhaltens des Programms:
|
||||
# 2. Anpassung des Verhaltens des Programms
|
||||
|
||||
## Verwendete Konfigurationsdateien
|
||||
|
||||
@@ -374,7 +402,7 @@ Die Einträge in den `.cfg`-Dateien müssen **laufend gepflegt** werden, wenn si
|
||||
|
||||
**Nur so kann eine korrekte automatische Kabelberechnung und Zuordnung gewährleistet werden.**
|
||||
|
||||
# Anwenderhinweise zur Layouterstellung
|
||||
# 3. Anwenderhinweise zur Layouterstellung
|
||||
|
||||
Im nachfolgenden Abschnitt sind die **wichtigsten** Punkte zur Erstellung der Layoutzeichnungen aufgeführt. Die Beachtung dieser Hinweise stellt sicher, dass die automatische Auswertung durch das Programm fehlerfrei und zuverlässig erfolgen kann.
|
||||
|
||||
@@ -447,7 +475,7 @@ Im nachfolgenden Abschnitt sind die **wichtigsten** Punkte zur Erstellung der La
|
||||
|
||||
- Es ist daher darauf zu achten, dass Bauteile (bzw. deren reale Positionen) **räumlich korrekt und in sinnvoller Nähe** zu den Kabeltrassen platziert sind.
|
||||
|
||||
# Detaillierte Informationen zum Programmablauf und Code-Struktur
|
||||
# 4. Detaillierte Informationen zum Programmablauf und Code-Struktur
|
||||
|
||||
## Zweck des Programms
|
||||
|
||||
@@ -511,15 +539,15 @@ fetches the x/y positions from a dxf file
|
||||
|
||||
Schalter:
|
||||
|
||||
| Schalter<br>(kurz) | Schalter<br>(lang) | Argument<br>(notwendig!) | Hilfe |
|
||||
|--------------------|--------------------|--------------------------|--------------------------------------------------------------|
|
||||
| `-h` | `--help` | | show this help message and exit |
|
||||
| `-f` | `--filename` | `myfile.dxf` | file to be analyzed |
|
||||
| `-s` | `--sensors` | | fetch all positions of sensors, actors and subdistributors |
|
||||
| `-r` | `--rack` | | fetch all positions of all cable racks |
|
||||
| `-w` | `--write` | `myfile_positions.json` | write results into a json file |
|
||||
| `-c` | `--console` | | print results to output |
|
||||
| `-e` | `--errors` | `myfile_errors.json` | write an error file in case of double defined items in layout|
|
||||
| Schalter<br>(kurz) | Schalter<br>(lang) | Argument<br>(notwendig!) | Hilfe |
|
||||
|--------------------|--------------------|--------------------------|------------------------------------------------------------------------|
|
||||
| `-h` | `--help` | | show this help message and exit |
|
||||
| `-f` | `--filename` | `myfile.dxf` | file to be analyzed |
|
||||
| `-s` | `--sensors` | | fetch all positions of sensors, motors, actors and subdistributors |
|
||||
| `-r` | `--rack` | | fetch all positions of all cable racks |
|
||||
| `-w` | `--write` | `myfile_positions.json` | write results into a json file |
|
||||
| `-c` | `--console` | | print results to output |
|
||||
| `-e` | `--errors` | `myfile_errors.json` | write an error file in case of double defined items in layout |
|
||||
| `-n` | `--scan` | | print all layer of racks, distributors and equipment not empty|
|
||||
|
||||
|
||||
@@ -712,10 +740,6 @@ Das letzte Programm gibt standardmäßig zudem eine Excel-Übersicht der Kabel z
|
||||
|
||||
## Häufige Fagen
|
||||
|
||||
### Wo stelle ich ein, was das Toolset am Ende ausspuckt?
|
||||
|
||||
Hier müssen wir das mit der einzelnen Config noch implementieren
|
||||
|
||||
### Warum werden manche Kabeltrassen nicht mit anderen verbunden?
|
||||
|
||||
Mittels der Methode `join_racks()`, welche innerhalb `plant.py` definiert ist und von `routing.py` aufgerufen wird, werden die Rack-Segmente, welche von `getpositions.py` übergeben werden, auf echte Schnittpunkte, sowie beinahe Schnittpunkte überprüft und an den jeweiligen Punkten verknüpft. Beinahe Schnittpunkte werden durch Entlanglaufen der einzelnen Racks und "Absuchen" eines Toleranzfeldes ermitteln.
|
||||
@@ -744,21 +768,7 @@ Schritt 2: Bei Ausbleiben eines Schnittpunktes -> Vergrößern des Kreises. Bei
|
||||
<img src="img\connect_sensors_to_racks\connect_sensors_to_racks_4.png" width="47.5%" style="display:inline-block;">
|
||||
|
||||
|
||||
# Ideen für "Umbau" der Programme
|
||||
|
||||
- Eine Config in der unter mehreren Blöcken ## Routing ##, ##Ausgabe## die einzelnen Schalter 1 / 0 gesetzt werden
|
||||
- Getpositions läuft immer
|
||||
- -> scheibt output in positions.json in work
|
||||
- -> damit werden alte positions.json überschrieben und work ordner nicht zugemüllt
|
||||
- Routing läuft immer -> schreibt output in routing.json
|
||||
- wenn schalter in Config für Graph gesetzt ist wird Graph als .svg in work gespeichert
|
||||
- Name der Datei *eingabefile*_graph.svg
|
||||
- Drawdxf umbennen in sowas wie *cables.py* oder so
|
||||
- Schalter steuern was alles ausgegeben wird (Excel, dxf, ... was könnte man noch machen)
|
||||
- hier muss man entscheiden ob Cabel-dxf immer gleich heisst oder so wie Eingabefile (Gefahr der Zumüllung)
|
||||
- selbes gilt für excel-File
|
||||
|
||||
# Fehlerfälle und Fehlerbehandlung
|
||||
# 5. Fehlerfälle und Fehlerbehandlung
|
||||
|
||||
## Allgemeine Fehler und Warnungen (beide Workflows)
|
||||
|
||||
@@ -1101,3 +1111,4 @@ Der **I/O Conversion Workflow** (`ioconverter.bat`) führt **keine Routing-Berec
|
||||
- **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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user