diff --git a/doc/Anwenderdoku_kurz.md b/doc/Anwenderdoku_kurz.md index c2ff829..521b254 100644 --- a/doc/Anwenderdoku_kurz.md +++ b/doc/Anwenderdoku_kurz.md @@ -42,30 +42,31 @@ Im auf dem Desktop erzeugten Ordner findet sich das eigentliche Programm *create Die Ausgabe schreibt: ```text -folgende Datei wurde uebergeben: Pfad\zu\meiner\dxfdatei.dxf --- hole Positionen -reading file ..done +=== Fetching Positions === +Given .dxf-file is ASCII-dxf. Proceeding to use iterative functions. Process may take longer. + +Validating given configs: Checking for inconsistency. +No Inconsistencies found. Continuing with routing process. + writing results to a json file ... done --- erzeuge Graph mit Routing + +=== Creating Graph for Routing === writing results to a json file ... done ---zeichne Kabel in dxf Datei -creating new .dxf .. -done -copying layers (Racks, Subdistributors, ...) from original .dxf into new .dxf .. -done -creating new .dxf .. -done -creating excel file with cable information .. -done -C:\10-Develop\kabellaengen\work\dxfdatei_cables.dxf -C:\10-Develop\kabellaengen\work\dxfdatei_cables.xlsx -C:\10-Develop\kabellaengen\work\dxfdatei_positions.json -C:\10-Develop\kabellaengen\work\dxfdatei_reduziert.dxf -C:\10-Develop\kabellaengen\work\dxfdatei_todraw.json + +=== Writing Output Files === +Cable-Routes exported to new dxf-file +Cable-Summary exported to Excel-file +BOM exported to Excel-file + +C:\10-Develop\kabellaengen\work\easy_BOM.xlsx +C:\10-Develop\kabellaengen\work\easy_cables.dxf +C:\10-Develop\kabellaengen\work\easy_cables.xlsx +C:\10-Develop\kabellaengen\work\easy_positions.json +C:\10-Develop\kabellaengen\work\easy_todraw.json 5 Datei(en) verschoben. -Drücken sie eine beliebige Taste . . . +Drücken Sie eine beliebige Taste . . . ``` Das Drücken einer beliebigen Taste beendet das Programm und die Ausgabe kann verwendet werden. @@ -82,6 +83,7 @@ In den Ordner auf dem Desktop in dem das Kabeltool liegt werden nach Beendigung |---------------------------|---------------------------------------------------------------------------------------------------| | `dxfdatei_cables.dxf` | `.dxf`-Datei, **mit Kabelwegen** (z. B. für Import ins Original-Layout als eigenes Layer) und gezeichneten Racks (ggf. in 3D) | | `dxfdatei_cables.xlsx` | **Excel-Datei** mit Kabellängen, Längenübersicht und Fehler-Übersicht | +| `dxfdatei_BOM.xlsx` | **Excel-Datei** mit Gesamtstückliste und Unterverteiler-spezifisicher Stückliste | | `dxfdatei_positions` | **Zwischendatei** (nicht für Endnutzer bestimmt) | | `dxfdatei_todraw` | **Zwischendatei** (nicht für Endnutzer bestimmt) | @@ -96,29 +98,34 @@ Die standardmäßig erstellte und abgelegte Ausgabedatei `dxfdatei_cables.xlsx` **Length by ID**: zeigt die Kabel-ID, die tatsächliche Länge des Kabels, die Kabel-Atikelnummer und zuletzt den zugeörigen (aber gekürzten Bezeicher) für das Kabel: -> | Cable-ID | True Length (m) | Cable-ArtNr | Cable-Name (short) | -> |-----------------|------------------|-------------|----------------------------------| -> | UC0101-BG3241 | 2,9213 | 722001332 | M12 St-0°/ M12 Bu-90° 3m | -> | UC0101-BG3240 | 7,1784 | 722001334 | M12 St-0°/ M12 Bu-90° 10m | -> | UC0101-BG3270 | 15,4686 | 722001336 | M12 St-0°/ M12 Bu-90° 20m | -> | UC0101-BG3260 | 27,4471 | 722001339 | M12 St-0°/ M12 Bu-90° 30m | -> | UH01-MA0062 | 10,3015 | 725000015 | 4G1,5mm², Steuerleitung | - +| Cable-ID | True Length (m) | Cable-ArtNr | Cable-Name (short) | +|-----------------|------------------|-------------|----------------------------------| +| UC0101-BG3241 | 2,9213 | 722001332 | M12 St-0°/ M12 Bu-90° 3m | +| UC0101-BG3240 | 7,1784 | 722001334 | M12 St-0°/ M12 Bu-90° 10m | +| UC0101-BG3270 | 15,4686 | 722001336 | M12 St-0°/ M12 Bu-90° 20m | +| UC0101-BG3260 | 27,4471 | 722001339 | M12 St-0°/ M12 Bu-90° 30m | +| UH01-MA0062 | 10,3015 | 725000015 | 4G1,5mm², Steuerleitung | **Cables SIVAS**: zeigt die SIVAS-Nummer der Kabel und daneben die benötigte Anzahl an Kabeln in diesem Layout bzw. (für den Fall von Kabeln als Meterware, z.b. bei Motoren) die kummulierte benötigte Länge: -> | Cable-ArtNr | Amount (pcs) | Cumm. Length (m) | -> |-------------|--------------|------------------| -> | 722001332 | 1 | | -> | 722001334 | 1 | | -> | 722001336 | 1 | | -> | 722001339 | 1 | | -> | 725000015 | | 11 | +| Cable-ArtNr | Amount (pcs) | Cumm. Length (m) | +|-------------|--------------|------------------| +| 722001332 | 1 | | +| 722001334 | 1 | | +| 722001336 | 1 | | +| 722001339 | 1 | | +| 725000015 | | 11 | -**Cables SIVAS**: +**Rack-Lengths**: zeigt die Längen der einzelnen Kabeltrassen-Segmente anhand deren Nummerierung innerhalb der dxf Datei. Diese Ausgabe dient der Überprüfung der benötigten Gesamtlänge der Kabeltrassen. +| Rack-ID | Length (m) | +|------------|------------| +| Rack_1 | 6,5 | +| Rack_2-1 | 3,5 | +| Rack_2-2 | 15 | + #### Erweiterte Ausgabe im Fehlerfall: Für den Fall, dass während des Programmablaufs Fehler auftreten bzw. Fehler im Layout erkannt werden, werden diese in weitere Worksheets geschrieben. Diese Worksheets tragen das Präfix *ERR* @@ -145,7 +152,7 @@ Für den Fall, dass während des Programmablaufs Fehler auftreten bzw. Fehler im Diese Datei enthält eine vollständige **Stückliste (BOM)** aller im Layout erkannten Komponenten – also sowohl aller Sensoren/Aktoren als auch der Kabel, die zum Einsatz kommen. Die Datei besteht aus zwei Tabellenblättern: #### 1. BOM (Gesamtstückliste): -Zeigt für jede verwendete Artikelnummer den Namen laut bezeichner.cfg, die Gesamtanzahl bzw. Gesamtlänge und unterscheidet dabei automatisch zwischen Sensoren und Kabeln. +Zeigt für jede verwendete Artikelnummer den Namen laut bezeichner.cfg, die Gesamtanzahl bzw. Gesamtlänge. Sensoren (bzw. andere Komponenten mit Artikelnr) werden über ihre Artikelnummer gezählt. Kabel werden – sofern Meterware (z.B. Steuerleitungen für Motoren) – über die summierte Länge dargestellt, andernfalls über Stückzahl. | Art.-Number | Amount (pcs) | Length (m) | Name (SIVAS) | |-------------|--------------|------------|----------------------------------------| @@ -153,7 +160,6 @@ Zeigt für jede verwendete Artikelnummer den Namen laut bezeichner.cfg, die Gesa | 725000015 | | 24 | Steuerleitung MA, 4G1,5mm² | | 839220147 | 5 | | Reflexionslichttaster XYZ | -Sensoren (bzw. andere Komponenten mit Artikelnr) werden über ihre Artikelnummer gezählt. Kabel werden – sofern Meterware (z.B. Steuerleitungen für Motoren) – über die summierte Länge dargestellt, andernfalls über Stückzahl. #### 2. BOM by UV (Stückliste pro Unterverteiler): @@ -202,139 +208,50 @@ Nachfolgende Aufzählung zeigt zeigt den Aufbau und Zweck der `.cfg`-Dateien fü - Beschreibung der Funktion - Beispielhafte Einträge + ### allgemein.cfg Diese Datei steuert das Einlesen von Layern und definiert geometrische Toleranzen. -#### `[GetPos-Layer_Racks]` -**Was?** Layernamen, in denen Kabelpritschen (Racks) enthalten sind. - -| Layername (Beispiel) | -|----------------------------------------| -| PRITSCHE_200-60_OMNIFLO | -| 0-0_ILS_Pritsche_200-60_Inbound | -| 0-0_Omniflo_Pritsche_200-60_AMR | - -#### `[GetPos-Layer_Distributors]` -**Was?** Layernamen, die Unterverteiler beinhalten. - -| Layername (Beispiel) | -|----------------------------------| -| 0-0_ILS_UNTERVERTEILER | -| UNTERVERTEILER | - -#### `[GetPos-Layer_Tunnel]` -**Was?** Layernamen für Tunnel. - -| Layername (Beispiel) | -|-----------------------------| -| Busverteiler-Kennzeichnung | - -#### `[GetPos-Layer_Equipment]` -**Was?** Layernamen von Sensoren, Motoren, IOs etc. - -| Layername (Beispiel) | -|------------------------------| -| 0-0_ILS_MOTOR | -| MOTOR | -| REALE_POSITION_IO | - -#### `[GetPos-Geom-Sensor]` -**Was?** Geometrische Maße von Sensor-Markern zur Mittelpunktsberechnung. - -| Attribut | Wert (Beispiel) | -|----------|-----------------| -| Breite | 80 | -| Hoehe | 90 | - -#### `[Racks]` -**Was?** Maximale Distanz (Toleranz) zwischen benachbarten Racks zum "Snappen". - -| Attribut | Wert (Beispiel) | -|------------------|-----------------| -| SnapTolerances | 200 | - -#### `[Sensoren]` -**Was?** Maximale Distanz zwischen Sensoren/Motoren und Racks für Verknüpfung. - -| Attribut | Wert (Beispiel) | -|----------------------|-----------------| -| ConnectionTolerances | 3000 | +| Abschnitt | Beschreibung | Beispiel(e) | +|---------------------------|------------------------------------------------------------|----------------------------------------------------| +| `[GetPos-Layer_Racks]` | Layer mit Kabelpritschen (Racks) | PRITSCHE_200-60_OMNIFLO
0-0_ILS_Pritsche_200-60 | +| `[GetPos-Layer_Distributors]` | Layer mit Unterverteilern | 0-0_ILS_UNTERVERTEILER
UNTERVERTEILER | +| `[GetPos-Layer_Tunnel]` | Layer für Tunnel | Busverteiler-Kennzeichnung | +| `[GetPos-Layer_Equipment]`| Layer mit Sensoren, Motoren, IOs etc. | 0-0_ILS_MOTOR
MOTOR
REALE_POSITION_IO | +| `[GetPos-Geom-Sensor]` | Maße von Sensor-Markern zur Mittelpunktberechnung | Breite = 80
Höhe = 90 | +| `[Racks]` | Snap-Toleranz zwischen benachbarten Racks | SnapTolerances = 200 | +| `[Sensoren]` | Verbindungstoleranz Sensoren ↔ Racks | ConnectionTolerances = 3000 | ### BMK.cfg Diese Datei steuert, **welche Betriebsmittelkennzeichen (BMK)** beim Routing berücksichtigt werden und welche **Kabeltypen** zugewiesen sind. -#### `[Routing-Include]` -**Was?** BMK-Kürzel, die beim Routing **berücksichtigt** werden. - -| Kürzel | Bedeutung / Beispiel | -|--------|----------------------| -| MA | Motoren | -| QM | Ventile | -| BX | Scanner | - -#### `[Routing-Ignore]` -**Was?** BMKs, die ignoriert werden (z.B. Schaltschrank-Innenleben). - -| Kürzel | Beispielkomponente | -|--------|----------------------------| -| FC | Frequenzumrichter | -| QA | Sicherungen / Schütze | - -#### `[Cable-Mapping]` -**Was?** Verknüpfung von BMKs zu Kabelgruppen (aus `kabel.cfg`). - -| BMK | Zugewiesene Kabelgruppe(n) | -|-------------|--------------------------------| -| MA | MA | -| MB | WD_Q | -| BX | WF_B, WD_I | -| BG-829422026| WD_I-829422026 | - -#### `[Length-Adjustments]` -**Was?** Korrektur von Kabellängen (z.B. vorkonfektionierte Sensorleitungen). - -| BMK | Abzuziehende Länge (m) | -|-----|------------------------| -| BX | 4 | +| Abschnitt | Beschreibung | Beispiel(e) | +|----------------------|------------------------------------------------------|--------------------------------------------------| +| `[Routing-Include]` | BMKs, die beim Routing berücksichtigt werden | MA = Motoren
QM = Ventile
BX = Scanner | +| `[Routing-Ignore]` | BMKs, die ignoriert werden | FC = Frequenzumrichter
QA = Sicherungen | +| `[Cable-Mapping]` | Zuordnung BMK → Kabelgruppe(n) (aus `kabel.cfg`) | MA → MA
MB → WD_Q
BX → WF_B, WD_I | +| `[Length-Adjustments]`| Kabellängen-Korrektur (z. B. vorkonf. Sensorleitung) | BX → 4 m abziehen | ### kabel.cfg -Diese Datei enthält die **SIVAS-Nummern je Kabellänge und -typ**, sowie die **Bezeichnungen** der SIVAS-Nummern. +Diese Datei enthält die **SIVAS-Nummern je Kabellänge und -typ** sowie einen Abschnitt für **spezifische Kabelgruppen** -#### Kabelgruppen (Beispiel: `[WD_Q]`, `[WD_I]`, `[WF_B]`) -**Was?** Zuordnung von Kabellängen zu SIVAS-Sachnummern. +| Abschnitt / Gruppe | Beschreibung | Beispiel(e) | +|----------------------------|-----------------------------------------------|---------------------------------------------------| +| `[WD_Q]`, `[WD_I]`, `[WF_B]` | Kabellängen je Gruppe + zugehörige SIVAS-Nr. | 1.0 m → 722001300
2.5 m → 722001338
5.0 m → 726001045 | +| sensorspezifische Gruppen:
`[WD_I-829422026]`
`[WD_I-720002003]` | Kabellisten für bestimmte Artikelnummern |
5.0 m → 722001353
10.0 m → 722001354 | -| Länge (m) | SIVAS-Nr. | Beispielgruppe | -|-----------|------------|----------------| -| 1.0 | 722001300 | WD_Q (Ventile) | -| 2.5 | 722001338 | WD_I (Sensoren)| -| 5.0 | 726001045 | WF_B (Scanner) | - -#### Sensorspezifische Gruppen -**Was?** Besondere Kabellisten für spezifische Sensor-Artikelnummern. - -| Gruppe | Länge (m) | SIVAS-Nr. | -|---------------------|-----------|-------------| -| WD_I-829422026 | 5.0 | 722001353 | -| WD_I-720002003 | 10.0 | 722001354 | ### bezeichner.cfg Diese Datei enthält Bezeichner zu den verwendeten SIVAS-Artikelnummern. Sie beinhaltet sowohl die Bezeichner (laut SIVAS) für die Bauteil-Artikelnummern als auch für die Kabel. Die Datei wird im Laufe eines Routing-Prozesses bei Bedarf angepasst und mittels einer SIVAS-Datenbankabfage (bei bestehender VPN-Verbindung bzw. im lokalen Firmennetz am Standort) erweitert. -#### `[Sivasnummern]` -Enthält die bekannten SIVAS-Artikelnummern mit zugehörigen Bezeichnern, z.B.: - -| Sivasnummer | Bezeichner | -|-------------|-------------------------------------------------| -| 725000015 | 4G1,5mm², Steuerleitung | -| 722001300 | Verb.-Leitung M12 St-0°/ M8 Bu-0° PUR UL/CSA 1m | -| 722001301 | Verb.-Leitung M12 St-0°/ M8 Bu-0° PUR UL/CSA 2m | - -#### `[Missing]` -Fehlende Nummern, die im Layout verwendet wurden, aber noch keinen Bezeichner besitzen. Diese werden automatisch per SIVAS-Datenbank ergänzt (sofern erreichbar). Hierzu wird im Kommandofeld eine entsprechende Benachrichtigung angezeigt. +| Abschnitt | Beschreibung | Beispiel(e) | +|-------------------|----------------------------------------------------------------|--------------------------------------------------| +| `[Sivasnummern]` | Bekannte SIVAS-Nr. mit
zugehörigem Bezeichner | 725000015 → 4G1,5mm² Steuerleitung
722001300 → Verb.-Leitung M12 St/M8 Bu 1 m | +| `[Missing]` | Fehlende Nummern, die im Layout vorkommen, aber unbenannt sind | Automatisch ergänzt bei VPN/SIVAS-Datenbankzugriff | ## Validierung der Konfigurationsdateien diff --git a/doc/Anwenderdoku_kurz.pdf b/doc/Anwenderdoku_kurz.pdf index 325c5b1..7ae7bef 100644 Binary files a/doc/Anwenderdoku_kurz.pdf and b/doc/Anwenderdoku_kurz.pdf differ