From da99f64743509bea2e04310df07623ab7878a023 Mon Sep 17 00:00:00 2001 From: mistangl Date: Mon, 23 Oct 2023 16:01:23 +0200 Subject: [PATCH] Beschreibung der exportierten csv Datei aufgenommen. Zuordnung zur ILS TOS Kalkulation erstellt --- Doku/Anbindung-Sivas/Zuordnung-RDcsv2Sivas.md | 196 ++++++++++++++++++ Doku/csv-export.md | 39 ++++ 2 files changed, 235 insertions(+) create mode 100644 Doku/Anbindung-Sivas/Zuordnung-RDcsv2Sivas.md create mode 100644 Doku/csv-export.md diff --git a/Doku/Anbindung-Sivas/Zuordnung-RDcsv2Sivas.md b/Doku/Anbindung-Sivas/Zuordnung-RDcsv2Sivas.md new file mode 100644 index 0000000..a92944c --- /dev/null +++ b/Doku/Anbindung-Sivas/Zuordnung-RDcsv2Sivas.md @@ -0,0 +1,196 @@ +# Zuordnung zwischen der Zeile im RD Export und SIVAS ILS TOS Kalkulation + +## 1. Generelle Zeilenüberschrift der RD Exportdatei + +```csv +Elementnummer;TeileArt;TeileId;NachbarIds;Bezeichnung;Planquadrat;Merkmale; +``` + +## 2. Zeilen mit Kreiselinformationen + +### RD-csv Zeile +Die Spalte "TeileArt" enthält "ILS 2.0 Kreisel", z.B. + +```csv +X;Y;"ILS 2.0 Kreisel";xx-111-yyy--22--zzz;"Kreisel 1 im 1.Stock";"1/A"; +``` +alternativ heisst die TeileARt auch **"ILS 2.0 Kreisel mit Pin"** + +Die letzte Spalte ist ein json String mit allen Attributen: +```json +{ +1 "Kreiselart":"Pin/Standard", +2 "Abstand (Kreiselachse A - Kreiselachse) in Meter": "4.5", +3 "Anzahl der Separatoren":"2", +4 "Anzahl der Scanner":"1", +5 "Anzahl der Weichen":"1", +} +``` + +### Attribute im TOS + +|AttributeId| Eingabe-text | Inhalte | +|:---------:| -------------- | ------- | +|3000| Kreisel - Modul| ja/nein | +|3001| Kreisel 001 oder Kreisel mit PINBAND 001 oder Verbindungskreisel 001| Kreisel/Kreisel mit PINBAND/Verbindungskreisel/Nein | +|3003| Kreisel 001 - zu fertigende Menge| ganze Zahl | +|3005| Kreisel 001 - Abstand (Kreiselachse A - Kreiselachse B) in Meter | Flieskomma Zahl | +|3007| Kreisel 001 - Anzahl der zusätzlichen / abzuziehenden Separatoren (pro Kreisel sind zwei Separatoren vorgesehen)| ganze Zahl | +|3313| Kreisel 001 - Anzahl der zusätzlichen / abzuziehenden Scanner (pro Kreisel mit PINBAND ist ein Scanner vorgesehen)| ganze Zahl | +|3314| Kreisel 001 - Anzahl der zusätzlichen / abzuziehenden Weichen (pro Kreisel und Kreisel mit PINBAND ist ein Weichenset vorgesehen)| ganze Zahl | + + +Die folgenden Attribut IDs werden entnommen aus der json Bezeichnung in Zeile +| Attribut | json Zeile | +| -------- | ---------- | +|3005 | 2 | +|3007 | 3 | +|3313 | 4 | +|3314 | 5 | + + +## 3. Zeilen für das Eckrad + +### RD-csv Zeile +```csv +X;Y;"ILS 2.0 Eckrad";"Eckrad 1.Stock";"1/A"; +``` +letzte Spalte +```json +{ +1 "Anzahl der Zusatzseparatoren":"3", +} +``` +### Attribute im TOS + +|AttributeId| Eingabe-text | Inhalte | +|:---------:| -------------- | ------- | +| 3380 | Eckrad |Ja /Nein | +| 3381 | Eckrad - zu fertigende Menge| ganze Zahl | + +## 4. Zeilen für die Gefällestrecke + +### RD-csv Zeile + +```csv +X;Y;"ILS 2|.0 Gefällestrecke";"Gefällestrecke am 1. Kreisel";"1/A"; +``` +letzte Spalte +```json +{ +1 "Anzahl der Zusatzseparatoren":"3", +2 "Länge in Meter":"3.2", +} +``` +### Attribute im TOS + +|AttributeId| Eingabe-text | Inhalte | +|:---------:| -------------- | ------- | +|3300|Gefällestrecke 001 |Ja /Nein | +|3600|Gefällestrecke 001 | zu fertigende Menge | ganze Zahl | +|3601|Gefällestrecke 001 | Länge in Meter | Fliesskomma Zahl | +|3602|Gefällestrecke 001 | Zusatzseparator (pro Gefällestrecke ist ein Separator vorgesehen) |Ja/Nein | +|3603|Gefällestrecke 001 | Anzahl der Zusatzeparatoren | ganze Zahl | +|3609|Gefällestrecke 001 | Anzahl der Scanner | ganze Zahl | + +Die folgenden Attribut IDs werden entnommen aus der json Bezeichnung in Zeile +| Attribut | json Zeile | +| -------- | ---------- | +|3601 | 2 | +|3603 | 1 | +**TODO** + + +## 5. Zeilen für Förderer + +### RD-csv Zeile + +```csv +X;Y;"Förderer";"Förderer am 1. Kreisel";"1/A"; +``` +letzte Spalte +```json +{ +1 "Höhe ETF oben in Meter":"3", +2 "Höhe ETF unten in Meter":"2.3", +3 "Zusatzseparator":"3", +} +``` +### Attribute im TOS + +|AttributeId| Eingabe-text | Inhalte | +|:---------:| -------------- | ------- | +|3900| Förderer ILS | Ja/Nein | +|3901| ETF 01 | Ja/Nein | +|3903| ETF 01 - zu fertigende Menge| ganze Zahl | +|3909| ETF 01 - Höhe ETF oben in Meter | Fliesskomma Zahl| +|3910| ETF 01 - Höhe ETF unten in Meter| Fliesskomma Zahl| +|3913| ETF 01 - Länge der zusätzlichen Gefällestrecke ETF 01 in Meter (ohne Gefällestrecke bitte 0 eintragen) | Fliesskomma Zahl| +|3914| ETF 01 - Zusatzseparator der zusätzlichen Gefällestrecke ETF 01 | Ja/Nein | +|3915| ETF 01 - Anzahl der Zusatzeparatoren der zusätzlichen Gefällestrecke ETF | ganze Zahl | + +Die folgenden Attribut IDs werden entnommen aus der json Bezeichnung in Zeile +| Attribut | json Zeile | +| -------- | ---------- | +**TODO** + +## 6. Zeilen für Bügelträger Beladung + +### RD-csv Zeile + +```csv +X;Y;"BT - Beladung";"BT Beladung";"2/X"; +``` +letzte Spalte +```json +{} +``` +### Attribute im TOS + +|AttributeId| Eingabe-text | Inhalte | +|:---------:| -------------- | ------- | +|3500| Zusatzmodul| Ja/Nein | +|3501| BT - Beladung (mit Vereinzeler, ohne Separator) | Ja/Nein | +|3503| Anzahl der BT - Entladung (mit Vereinzeler, ohne Separator | ganze Zahl | + +Die folgenden Attribut IDs werden entnommen aus der json Bezeichnung in Zeile +| Attribut | json Zeile | +| -------- | ---------- | +**TODO** + +## 7. Zeilen für Abwurf + +### RD-csv Zeile + +```csv +X;Y;"Abwurf für Klammerbügel";"Abwurf";"2/Y"; +``` +letzte Spalte +```json +{} +``` +### Attribute im TOS + +|AttributeId| Eingabe-text | Inhalte | +|:---------:| -------------- | ------- | +|3502| Abwurf für Klammerbügel Sitzbezüge / Kleiderbügel| Ja/Nein | +|3504| Anzahl der Abwürfe | ganze Zahl | + +## 8. Zeilen für Weiche + +### RD-csv Zeile + +```csv +X;Y;"ILS 2.0 Weiche";"Weiche 1: zw. Kreisel 2 und Kreisel 3";"" +``` +letzte Spalte +```json +{ +1 "Weichenart":"passiv/aktiv" +} +``` + +### Attribute im TOS + +-> Weichen werden im TOS nicht berücksichtigt, da hinter jedem Kreisel eine entsprechende Anzahl hinterlegt ist. + diff --git a/Doku/csv-export.md b/Doku/csv-export.md new file mode 100644 index 0000000..a52a2d7 --- /dev/null +++ b/Doku/csv-export.md @@ -0,0 +1,39 @@ +# CSV Export +Die Export Datei sollte grundsätzlich eine .csv Datei in **utf8** Codierung sein, welche wie folgt aufgebaut sein soll: + +```csv +Elementnummer;TeileArt;TeileId;NachbarIds;Bezeichnung;Planquadrat;Merkmale; +1;"ILS 2.0 Kreisel";(id);(nachbarids);"Kreisel 1 im 1.Stock";"1/A";{ "Kreiselart":"Pin/Standard", Abstand (Kreiselachse A - Kreiselachse) in Meter": "4.5", "Anzahl der Separatoren":"2", "Anzahl der Scanner":"1", "Anzahl der Scanner":"1", "Anzahl der Rampen": "4" } +2;"ILS 2.0 Kreisel mit Pin";(id);(nachbarids);"Pinkreisel 1 im 1.Stock";"1/A";{ "Abstand (Kreiselachse A - Kreiselachse) in Meter": "4.5", "Anzahl der Separatoren":"2", "Anzahl der Scanner":"1", "Anzahl der Scanner":"1", "Anzahl der Weichen": "4" } +3;"ILS 2.0 Eckrad";(id);(nachbarids);"Eckrad 1.Stock";"1/A";{ "Anzahl der Zusatzseparatoren":"3", "Länge in Meter":"3.2",} +4;"ILS 2.0 Gefällestrecke";(id);(nachbarids);"Gefällestrecke am 1. Kreisel";"1/A";{ "Anzahl der Zusatzseparatoren":"3", "Länge in Meter":"3.2",} +5;"Förderer";(id);(nachbarids);"Förderer am 1. Kreisel";"1/A";{ "Höhe ETF oben in Meter":"3", "Höhe ETF unten in Meter":"2.3", "Zusatzseparator":"3",} +6;"BT - Beladung";"BT Beladung";"2/X";{} +7;"Abwurf für Klammerbügel";(id);(nachbarids);"Abwurf";"2/Y";{} +8:"ILS 2.0 Weiche";(id);(nachbarids);"Weiche 1: zw. Kreisel 2 und Kreisel 3";"{ "Weichenart":"passiv/aktiv" }" +``` +Die erste Zeile ist als Kommentar enthalten. +Jede Zeile ist exemplarisch für eine aktuell implementiertes Objekt (Kreisel, Kreisel mit Pin, Eckrad, usw.). + +Beim Export ist dies einfache eine Liste aller Objekte, welche vom Benutzer in dieser Session / in dieser Anlage angelegt wurden. + + Die Merkmale jedes Objektes werden wie in die Datei geschrieben, wie sie im RD verwendet werden. Eine Übersetzung in die Merkmale für das ERP findet ausserhalb statt. + +- Die **Elementnummer** ist einfach eine laufende Nummer +- Die **TeileArt** ist ein Bezeichner, welches jedes Objekt als Eigenschaft mit gegeben hat (ich bin ein “Kreisel”, “Kreisel mit Pin”, etc.) +- **TeileId** ist eine eindeutige ID diese Objekts +- **NachbarIds** ist eine kommaseparierte Liste aller Objekte, welche sich in direkter Nachbarschaft zum Objekt befinden +- **Bezeichnung** sollte vom Benutzer jedem Objekt zugewiesen werden können, um in den Listen besser ein Verständnis zu diesem Objekt zu finden +- **Planquadrat** ist die Position des Objekts auf der 2D Ebene. Wurde kein Planquadrat definiert, sollen einfach die X/Y Koordinaten des Objekts ausgegeben werden +- **Merkmale** sind die vom Nutzer angegebenen Merkmale dieses Objeks, Z.B. Abstand der Motor zur Spannstation, Höhe, usw. im json format +Beim Kreisel ist dies zum Beispiel +```json +{ + "Kreiselart":"Pin/Standard", + "Abstand (Kreiselachse A - Kreiselachse) in Meter": "4.5", + "Anzahl der Separatoren":"2", + "Anzahl der Scanner":"1", + "Anzahl der Scanner":"1", + "Anzahl der Rampen": "4" + } +```