Praxisbericht über das Projekt Altdatenkonvertierung
2015
Schuler Pressen GmbH
27.08.2015
Praxisbericht Florian Neiss
Abte...
S. 2
INHALTSVERZEICHNIS
1 Wörterbuch.........................................................................................
S. 3
3.1 Machbarkeitsstudie .................................................................................................
S. 4
9.2 Logging auf dem Konvertierungsserver mit der DLL....................................................................
S. 5
1 WÖRTERBUCH
1.1 AIX
AIX (Advanced Interactive eXecutive) ist ein Unix-Betriebssystem der Firma IBM und für den Einsa...
S. 6
1.8 E³.SERIES
E³.series von Zuken „ist eine vollständige und offene CAD-Lösung für die Stromlaufplanerstellung im
ele...
S. 7
1.14 KONSOLENANWENDUNG
„Eine Konsolenanwendung ist ein Computerprogramm ohne grafische Benutzeroberfläche (Graphical
...
S. 8
1.21 RELATIONALES DATENBANKMODELL
„Ist das am weitverbreitetsten Modell, das in der Datenbankentwicklung als Standard...
S. 9
1.24 ECAD STARTCENTER
Abbildung 1.24-a ECAD Startcenter
Über das ECAD Startcenter verbinden sich die Mitarbeiter von ...
S. 10
1.25 TFS
„Der Team Foundation Server (TFS) von Microsoft ist eine Windows-Plattform für kollaborative Soft-
wareproj...
S. 11
2 DAS UNTERNEHMEN
„Schuler bietet als Technologie- und Weltmarktführer in der Umformtechnik Pressen, Automationslö-
...
S. 12
2008 Entwicklung und Installation neuer Pressensysteme für die Verpackungs- und
Hausgeräteindustrie
2009 Aufbau der ...
S. 13
2.2 STANDORT WEINGARTEN
Abbildung 2.2-a Standort Weingarten
Historie zum Standort Weingarten:
1866 Johannes Michael ...
S. 14
2008 Inbetriebnahme des bis dahin größten Gegenschlaghammers weltweit Verschmelzung der Mül-
ler Weingarten Werkzeug...
S. 15
3 AUFGABENSTELLUNG
Altdatenkonvertierung; Entwickeln einer Lösung in C# zu automatisierten Überführung und Konvertie...
S. 16
3.2 ZIEL
Erstellen eines Konvertierungsprogrammes, das Projekte aus Promis, Ruplan, DDS-C und Eplan V5.7 in
EPLAN El...
S. 17
Die Anzahl der Konstrukteure, die die CAD Systeme beherrschen und diejenigen die mehrere Systeme
gleichzeitig bedien...
S. 18
3.4 RANDBEDINGUNGEN
Die Randbedingungen sind abteilungsinterne Vorgaben, die zusätzlich beachten werden müssen
3.4.1...
S. 19
3.5 ZEIT
Effizienz war für die Konvertierung von Beginn an ein Schlüsselelement zur Umsetzung des Projektes.
Die Anz...
S. 20
Nach einer weiteren Analyse der Funktionen, die viel Zeit benötigen, wurde festgestellt, dass die API von
EPLAN Elec...
S. 21
4 BESCHREIBUNG DER UMSETZUNG
Zu Beginn wurde ein Programmierprojekt erstellt, das für die Konvertierung zuständig is...
S. 22
4.1 BESCHREIBUNG DER CAD SYSTEME
Die Zusammenführung verschiedener Standorte und Unternehmen zu der heutigen Schuler...
S. 23
Öffnet man eine Zeichnung in Promis sind die Umlaute korrekt.
Abbildung 4.1-b
Öffnet man dieselbe Zeichnung exportie...
S. 24
Die DXF Dateien sind Vektorgrafiken, das heißt alle Zeichnungen sind Vektoren und die Texte sind als
Texte gespeiche...
S. 25
Als nächstes wird nach Blatt- und Projektinformationen in den DXF Dateien gesucht. Die gewonnen Wer-
te werden in ei...
S. 26
Um EPLAN Electric P8 zu starten gibt man folgenden Befehl in die Kommandozeile ein:
EPLAN.exe /Variant:"Electric P8"...
S. 27
4.1.2 Ruplan
In Ruplan besteht kein Problem mit den Zeichensätzen. Im Vergleich zu Promis sind die DXF Dateien in
nu...
S. 28
4.1.3 DDS-S
Die DXF Dateien von DDS-C können importiert aber nicht verarbeitet werden. Das heißt, keine Informa-
tio...
S. 29
4.1.4 Eplan V5.7
Ist der Vorgänger von EPLAN Electric P8, letzteres kann EPLAN V5.7 Projekte direkt öffnen und konve...
S. 30
4.2 ÜBERBLICK ÜBER ENTWICKLUNGSUMGEBUNG TFS
Der Team Foundation Server TFS ist eine zentrale Anlaufstelle für die En...
S. 31
Mindestens einmal pro Tag muss das komplette Pro-
grammierprojekt „eingecheckt“ werden. Je nach Pro-
grammierstil wi...
S. 32
4.3 DATENBANK
Bevor eine Datenbank mit Software angelegt wird, sollte ein Schema entwickelt werden. Dies beschreibt
...
S. 33
Das Entwerfen und Erstellen der Datenbank war jedoch erst der Anfang. Eine Datenbank ohne Inhalt ist
wie ein Parkhau...
S. 34
5 TECHNISCHE BESCHREIBUNG ABLAUF DES PROGRAMMES
SEDI
Auftrag
anlegen
Datenbank
Aufträge
anzeigen
SEDI_Service
SEDI_D...
S. 35
6 SEDI
Schuler EPLAN Electric P8 DXF Import zeigt und legt Konvertierungsaufträge an. Diese werden in der
Datenbank ...
S. 36
Abbildung 6.1-d
Abbildung 6.1-e
Abbildung 6.1-f
Neues Design
Anzeigen der
Aufträge
Aufträge
modifizieren
Info und Hi...
S. 37
Abbildung 6.1-g
Abbildung 6.1-h
Abbildung 6.1-i
Splashscreen
Statusbar
Nur noch
Aufträge
Neuer Name
S. 38
Abbildung 6.1-j
Abbildung 6.1-k
Abbildung 6.1-l
Neuer Name
Neues Logo
Drucken Statistik
Fortschritt
Projetordner
var...
S. 39
Abbildung 6.1-m
Abbildung 6.1-n
Eigene
Druckansicht
Eigene Design-
ansicht
S. 40
Abbildung 6.1-p
Neues Logo
Bessere Be-
schreibung
Vollbildansicht
Abbildung 6.1-o
S. 41
6.2 AUFTRAG ANLEGEN
Auf der Seite Neue Aufträge kann man einen oder mehrere Auftrag/Aufträge anlegen.
Abbildung 6.2-...
S. 42
6.3 RESTLICHER FUNKTIONSUMFANG
Nach dem Start sieht man eine Liste mit bereits angelegten Aufträgen. Diese wird aus ...
S. 43
In der Ansicht Aufträge kann man folgendes:
 Priorität erhöhen
 Priorität senken
 Auftrag Löschen
 Auftrag Repar...
S. 44
Auf der Seite Statistik wird ein Diagramm über die Aufträge angezeigt. Der Typ und die Darstellung kön-
nen geändert...
S. 45
Nach dem Klicken poppt der Designer auf.
Abbildung 6.3-g
S. 46
7 SEDI_SERVICE
Zu Beginn des Projektes gab es noch kein SEDI. Zu diesem Zeitpunkt war SEDI_Service noch kein
Windows...
S. 47
Abbildung 7.1-c
Mit der Verbindung zur DLL waren Fortschrittsbalken, auf der Seite des Konverters sowie der DLL, erf...
S. 48
7.2 NORMBLÄTTER
Aus der Unternehmensgeschichte geht hervor, dass es mehre Standorte gibt. Je nach Standort oder
Norm...
S. 49
7.3 XML DATEIEN
Nach der Testphase sollten Projekte von allen CAD Systemen konvertiert werden. Dazu musste der Kon-
...
S. 50
7.3.3 XML Stufe 3
In der dritten Stufe wird pro zu konvertierende DXF Datei eine XML Datei erzeugt. In dieser stehen...
S. 51
8 SEDI_DLL
Die DLL erstellt EPLAN Electric P8 Projekte. Dazu erzeugt sie pro DXF Datei eine Seite im EPLAN Electric
...
S. 52
9 SCHWIERIGKEITEN
Zu den Misserfolgen zählen Aufgaben oder Teilaufgaben in den verschiedenen Projekten die nicht er-...
S. 53
9.4 SCHRIFTGRÖßE DXF
Nach dem Import der DXF Seiten sind manche Texte an der falschen Position oder die Größe ist in...
S. 54
10 TECHNISCHE EINZELHEITEN
10.1 SEDI
Start
Auftrag anlegen
CADSystem? PromisRuplan
DDS-C
Normblatt?
SPW_DIN_Elektro
...
S. 55
Projekte suchen
Ablageort für EPLAN
Projekte angeben
UNC Pfad?
Hat Nutzer
eplanp8admin
Rechte?
ja
Liste anzeigen mit...
S. 56
10.2 SERVICE
Onstart
StartThread
Auftrag holen
Datenbank
Variablen
anlegen
CADSystem?
Ruplan
DDS-CPromis
Konvertieru...
S. 57
10.2.1 Promis
Start
XML Stufe 2
einlesen
Wörterbuch
erstellen
OEM ANSI
XML Stufe 2
XML
Welches
Normblatt?
Aufrufpara...
S. 58
10.2.2 Ruplan
Start
XML Stufe 2
einlesen
XML Stufe 2
XML
Welches
Normblatt?
Aufrufparameter
neue DXF erstellen neue ...
S. 59
10.3 DLL
Start
Ende
Aufrufparameter
speichern
Variablen erstellen
und füllen
XML Stufe 3
Template
existiert?
ja
EPLA...
S. 60
11 PROGRAMMCODE HIGHLIGHTS
In diesem Kapitel werden bestimmte Abschnitte oder komplette Funktionen beschreiben, die ...
S. 61
Start
DXF Datei
nächste Zeile
einlesen
Zeilenwert = " 1" ?
nächste Zeile
einlesen
ja
nein
Zeilenwert:“Herr
Test“ mer...
S. 62
11.2 CONVERTDXF
Start
Ende
DXF Dateien holen
Ordner mit
DXF Dateien
Dateiname
extrahieren
DXF Datei in
Variable lade...
S. 63
11.2.1 Neue DXF Datei mit Text beladen
Start
Jedes Zeichen
durchlaufen
alte DXF
Datei
Zeichen in
Wörterbuch?
nein
Ze...
S. 64
12 PROGRAMMIERSTIL
Alle Programmierprojekte wurden mit der Agilen Software Entwicklung umgesetzt. Die Vorgaben waren...
S. 65
13 TAGESBERICHTE
02.03.15
Besprechen des Arbeitsvertrages, Urlaub und den Ablauf des Praxissemesters.
Einführung in ...
S. 66
04.03.15
Besuch verschiedener IT Abteilungen
IT-M
 Serverraum
 Personalhelpdesk und Bestellung von Hardware wie Mo...
S. 67
05.03.15
Einarbeiten und vertiefen in DXF.
Problem: Visual Studio zu starten. Recherche zu Startproblemen.
Lösung: W...
S. 68
06.03.15
Problem: DevExpress und Visual Studio lassen sich nicht starten.
Lösung: Einstellung in Visual Studio, soda...
S. 69
09.03.15
Programm kann Sonderzeichen austauschen.
Neue Aufgabe Programm verarbeitet ganzen Ordner mit DXF Dateien um...
S. 70
10.03.15
Weiterentwickeln der DLL
Recherche zu Actions und Funktionen der Schnittstelle von EPLAN Electric P8.
Versu...
S. 71
11.03.15
Überarbeiten des Algorithmus für Geprüft
Experimentelles implementieren des Algorithmus um Fehler zu finden...
S. 72
12.03.15
Recherche um Programm zu beschleunigen.
Manche Methoden werden schneller, weil sie static sind.
Stringbuild...
S. 73
13.03.15
Erstellen einer XML Konfigurationsdatei zur Vorauswahl von Eigenschaften.
Recherche nach der Anzahl von ver...
S. 74
17.03.15
Überarbeiten der XML Schemata.
Recherche zu XML Schreib- sowie Lesefunktionen in C#.
Erstellen eines groben...
S. 75
19.03.15
Verbessern und weiterentwickeln der Schemata Stufe 3.
Mehrere Fehler und Exceptions sind in den XML Dateien...
S. 76
24.03.15
Anpassen aller Namen der Variablen. Sie haben alle die gleiche Struktur in der Benennung.
Dateityp und Reic...
S. 77
31.03.15
Mehrfache Versuche die XML Dateien zu validieren um somit die Fehler zu beheben.
Problem: Programm wirft ei...
S. 78
02.04.15
Dokumentenstruktur wird erzeugt.
Versuch einen kleinen Teil von einem Projekt zu konvertieren. Dieser hat l...
S. 79
08.04.15
Problem der Quell- und Zielordner sind identisch beim Starten des Programmes. Aus diesem Grund
wurden keine...
S. 80
10.04.15
Einarbeiten in Ruplan.
Anstatt IXF Dateien stehen LST Dateien pro Projekt zur Verfügung.
Recherche zu DXF D...
S. 81
14.04.15
Bearbeiten der Klassen von Ruplan
Pfadnamen von Dateien verbessert, dort waren Leichtsinnsfehler vorhanden....
S. 82
17.04.15
Nach der Recherche, wie erkannt werden kann ob sich eine Seite im Hochformat befindet, ergab, dass
es spezi...
Praxisbericht_Neiss
Praxisbericht_Neiss
Praxisbericht_Neiss
Praxisbericht_Neiss
Praxisbericht_Neiss
Praxisbericht_Neiss
Praxisbericht_Neiss
Praxisbericht_Neiss
Praxisbericht_Neiss
Praxisbericht_Neiss
Praxisbericht_Neiss
Praxisbericht_Neiss
Praxisbericht_Neiss
Praxisbericht_Neiss
Praxisbericht_Neiss
Praxisbericht_Neiss
Praxisbericht_Neiss
Praxisbericht_Neiss
Praxisbericht_Neiss
Praxisbericht_Neiss
Praxisbericht_Neiss
Praxisbericht_Neiss
Praxisbericht_Neiss
Praxisbericht_Neiss
Praxisbericht_Neiss
Praxisbericht_Neiss
Praxisbericht_Neiss
Praxisbericht_Neiss
Nächste SlideShare
Wird geladen in …5
×

Praxisbericht_Neiss

600 Aufrufe

Veröffentlicht am

0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
600
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
3
Aktionen
Geteilt
0
Downloads
0
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Praxisbericht_Neiss

  1. 1. Praxisbericht über das Projekt Altdatenkonvertierung 2015 Schuler Pressen GmbH 27.08.2015 Praxisbericht Florian Neiss Abteilung IT-E Florian Neiss
  2. 2. S. 2 INHALTSVERZEICHNIS 1 Wörterbuch...........................................................................................................................................5 1.1 AIX.................................................................................................................................................5 1.2 API.................................................................................................................................................5 1.3 Autodesk.......................................................................................................................................5 1.4 C# (C-Sharp) ..................................................................................................................................5 1.5 DDS-C ............................................................................................................................................5 1.6 DLL.................................................................................................................................................5 1.7 DXF Drawing Interchange Format.................................................................................................5 1.8 E³.series.........................................................................................................................................6 1.9 ECAD Electronic Design Automation.............................................................................................6 1.10 Eplan Electric P8............................................................................................................................6 1.11 Eplan V5.7 .....................................................................................................................................6 1.12 GUI ................................................................................................................................................6 1.13 HP-UX............................................................................................................................................6 1.14 Konsolenanwendung ....................................................................................................................7 1.15 Log4Net.........................................................................................................................................7 1.16 Logging..........................................................................................................................................7 1.17 Microsoft Visual Studio.................................................................................................................7 1.18 MSSQLServer.................................................................................................................................7 1.19 Promis ...........................................................................................................................................7 1.20 Relationales Datenbankmanagementsystem...............................................................................7 1.21 Relationales Datenbankmodell.....................................................................................................8 1.22 Ruplan ...........................................................................................................................................8 1.23 Schuler Tools.................................................................................................................................8 1.24 ECAD Startcenter ..........................................................................................................................9 1.25 TFS...............................................................................................................................................10 1.26 Unix .............................................................................................................................................10 1.27 Vektorgrafik ................................................................................................................................10 2 Das Unternehmen...............................................................................................................................11 2.1 Standort Göppingen....................................................................................................................11 2.2 Standort Weingarten ..................................................................................................................13 3 Aufgabenstellung................................................................................................................................15
  3. 3. S. 3 3.1 Machbarkeitsstudie ....................................................................................................................15 3.2 Ziel...............................................................................................................................................16 3.3 Kostenfaktor................................................................................................................................16 3.4 Randbedingungen.......................................................................................................................18 3.4.1 TFS.......................................................................................................................................18 3.4.2 Übersichtlichkeit .................................................................................................................18 3.4.3 Aufteilung............................................................................................................................18 3.4.4 Logging................................................................................................................................18 3.5 Zeit ..............................................................................................................................................19 4 Beschreibung der Umsetzung.............................................................................................................21 4.1 Beschreibung der CAD Systeme..................................................................................................22 4.1.1 Promis .................................................................................................................................22 4.1.2 Ruplan .................................................................................................................................27 4.1.3 DDS-S...................................................................................................................................28 4.1.4 Eplan V5.7 ...........................................................................................................................29 4.2 Überblick über Entwicklungsumgebung TFS...............................................................................30 4.2.1 Einchecken ..........................................................................................................................30 4.2.2 Revisionsverwaltung ...........................................................................................................31 4.3 Datenbank...................................................................................................................................32 5 Technische Beschreibung Ablauf des Programmes............................................................................34 6 SEDI .....................................................................................................................................................35 6.1 Entstehung der Grafischen Oberfläche.......................................................................................35 6.2 Auftrag anlegen...........................................................................................................................41 6.3 Restlicher Funktionsumfang .......................................................................................................42 7 SEDI_Service........................................................................................................................................46 7.1 Grafische Entwicklung.................................................................................................................46 7.2 Normblätter ................................................................................................................................48 7.3 XML Dateien................................................................................................................................49 7.3.1 XML Stufe 1.........................................................................................................................49 7.3.2 XML Stufe 2.........................................................................................................................49 7.3.3 XML Stufe 3 ........................................................................................................................50 8 SEDI_DLL .............................................................................................................................................51 9 Schwierigkeiten...................................................................................................................................52 9.1 UNC Pfad Überprüfung ...............................................................................................................52
  4. 4. S. 4 9.2 Logging auf dem Konvertierungsserver mit der DLL...................................................................52 9.3 Projekte überschreiben...............................................................................................................52 9.4 Schriftgröße DXF .........................................................................................................................53 10 Technische Einzelheiten..................................................................................................................54 10.1 SEDI .............................................................................................................................................54 10.2 Service.........................................................................................................................................56 10.2.1 Promis .................................................................................................................................57 10.2.2 Ruplan .................................................................................................................................58 10.3 DLL...............................................................................................................................................59 11 Programmcode Highlights...............................................................................................................60 11.1 Durchlaufe DXF ...........................................................................................................................60 11.2 ConvertDXF .................................................................................................................................62 11.2.1 Neue DXF Datei mit Text beladen.......................................................................................63 12 Programmierstil ..............................................................................................................................64 13 Tagesberichte..................................................................................................................................65 14 Resümee .......................................................................................................................................106 15 Literaturverzeichnis ......................................................................................................................107 16 Abbildungsverzeichnis ..................................................................................................................109
  5. 5. S. 5 1 WÖRTERBUCH 1.1 AIX AIX (Advanced Interactive eXecutive) ist ein Unix-Betriebssystem der Firma IBM und für den Einsatz in Serversystemen beziehungsweise in Workstations ausgerichtet. (1) 1.2 API „Eine Programmierschnittstelle, genauer Schnittstelle zur Anwendungsprogrammierung, oder oft kurz API (englisch application programming interface, wörtlich ‚Anwendungsprogrammierschnittstelle‘), ist ein Programmteil, der von einem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfügung gestellt wird.“ (2) 1.3 AUTODESK „Ist ein US-amerikanisches Software-Unternehmen für digitales 2D- und 3D-Design.“ (3) 1.4 C# (C-SHARP) „Ist eine vom Softwarehersteller Microsoft im Rahmen seiner .NET-Strategie entwickelte Programmier- sprache“ (4) 1.5 DDS-C „Das Softwarepaket DDS-C dient zur Projektierung und Erstellung von elektrotechnischen Konstrukti- onsunterlagen, wie sie vorwiegend im Maschinenbau, dem Anlagenbau, der KFZ-Industrie, von Energie- versorgungsunternehmen (EVU) usw. für die Erstellung, Änderung und Wartung von Schalt- und Steuer- einheiten benötigt werden. DDS-C ist ein sehr offenes, individuelles CAD-System, das einem breiten, auch von der Norm abweichenden Spektrum von spezifischen Anwendungen gerecht wird.“ (5) DDS-C von Zuken, früher CIM-Team wurde „in Ulm entwickelt und war das eigentliche Vorgängerpro- dukt von E³.series, dem aktuellen objektorientierten E-CAD-System.“ (6) DDS-C ist ein E-CAD- System der 2. Generation genau wie Promis. 1.6 DLL „Dynamic Link Library (DLL) bezeichnet allgemein eine dynamische Programmbibliothek, meist bezieht sich der Begriff jedoch auf die von Microsoft für die Betriebssysteme Microsoft Windows und OS/2 ver- wendete Variante.“ (7) In Visual Studio gibt es eine DLL-Vorlage für Programmierprojekte. 1.7 DXF DRAWING INTERCHANGE FORMAT „Ist ein von Autodesk spezifiziertes Dateiformat zum CAD-Datenaustausch und wurde in das CAD- Programm AutoCAD integriert. Das DXF-Format wurde neben dem DWG-Format eingeführt, um einen externen interpretierbaren Datenaustausch zwischen den AutoCAD-Systemen zu gewährleisten.“ (8)
  6. 6. S. 6 1.8 E³.SERIES E³.series von Zuken „ist eine vollständige und offene CAD-Lösung für die Stromlaufplanerstellung im elektrotechnischen Engineering mit einem integrierten logikorientierten Schemasystem zur Verkabelung von Geräten und Fahrzeugen“. (9) E³.series ist ein E-CAD- System der 3. Generation im Vergleich zu Ru- plan und Promis ist dies objektorientiert. 1.9 ECAD ELECTRONIC DESIGN AUTOMATION „Unter CAD (von engl. computer-aided design [kəmˈpjuːtə ˈeɪdɪd dɪˈzaɪn], zu Deutsch rechnerunterstütz- tes Konstruieren) versteht man das Konstruieren eines Produkts mittels EDV. Ursprünglich wurde mit CAD die Verwendung eines Computers als Hilfsmittel beim technischen Zeichnen bezeichnet. Heute sind professionelle CAD-Anwendungen komplexe Expertensysteme für den Entwurf und die Konstruktion technischer Lösungen.“ Unter ECAD oder auch EDA (Electronic Design Automation (EDA), zu Deutsch Entwurfsautomatisierung elektronischer Systeme) genannt versteht man den Entwurf von elektrischen Schaltungen, insbesondere beim Chipentwurf, dem Leiterplattenentwurf, der Installationstechnik und der Mikrosystemtechnik. (10) 1.10 EPLAN ELECTRIC P8 EPLAN Electric P8 von EPLAN Software & Service GmbH & Co. KG „ist eine CAE-Software mit vielen Inno- vationen und unzähligen Möglichkeiten der Projektbearbeitung. Sie ist die konsequente Entwicklung auf Basis der vielen Anwenderanforderungen und Anwenderwünsche, die in der praktischen Arbeit mit E- PLAN entstehen bzw. entstanden sind.“ (11) EPLAN Electric P8 ist ein E-CAD- System der 3. Generation – teilweise objektorientiert. 1.11 EPLAN V5.7 Ist eine CAE-Software von EPLAN Software & Service GmbH & Co. KG zur Planung und Konstruktion von elektrotechnischen Anlagen. EPLAN V5.7 wurde 2008 abgekündigt, offizieller Nachfolger ist Eplan Electric P8. 1.12 GUI „Grafische Benutzeroberfläche oder auch grafische Benutzerschnittstelle (Abk. GUI von englisch graphi- cal user interface) bezeichnet eine Form von Benutzerschnittstelle eines Computers. Sie hat die Aufgabe, Anwendungssoftware auf einem Rechner mittels grafischer Symbole, Steuerelemente oder auch Wid- gets genannt, bedienbar zu machen. Dies geschieht bei Computern meistens mittels einer Maus als Steuergerät, mit der die grafischen Elemente bedient oder ausgewählt werden, bei Smartphones, Tab- lets und Kiosksystemen in der Regel durch Berührung eines Sensorbildschirms.“ (12) 1.13 HP-UX HP-UX (Hewlett Packard UniX) ist ein kommerzielles Unix-Betriebssystem der Firma Hewlett-Packard und stammt aus der UNIX System V-Familie. (13)
  7. 7. S. 7 1.14 KONSOLENANWENDUNG „Eine Konsolenanwendung ist ein Computerprogramm ohne grafische Benutzeroberfläche (Graphical User Interface, GUI), das rein über textbasierte Kommandos gesteuert wird. Das Gegenteil sind reine GUI-Anwendungen, die im Allgemeinen für ein Zeigegerät wie eine Maus ausgelegt sind.“ (14) 1.15 LOG4NET Log4Net von der Apache Software Foundation ist eine Bibliothek, mit der Entwickler definierte Log- Nachrichten in Dateien, Datenbanken oder per E-Mail protokolieren können. 1.16 LOGGING „Unter Logging versteht man in der Informatik generell das (automatische) Speichern von Prozessen oder Datenänderungen. Diese werden in sogenannten Logdateien hinterlegt bzw. gespeichert.“ In den Logdateien werden die Log-Nachrichten gespeichert. (15) 1.17 MICROSOFT VISUAL STUDIO „Ist eine von dem Unternehmen Microsoft angebotene, integrierte Entwicklungsumgebung für ver- schiedene Hochsprachen.“ Mit Visual Studio werden Programmierprojekte erstellt und verwaltet. (16) 1.18 MSSQLSERVER „Der Microsoft SQL Server (auch kurz MSSQLServer) ist ein relationales Datenbankmanagementsystem von Microsoft.“ (17) 1.19 PROMIS „PROMIS for Windows von Zuken, früher CIM-Team in Ulm ist ein im Maschinenbau recht verbreitetes E-CAD- System der 2. Generation, also seitenorientiert.“ (18) 1.20 RELATIONALES DATENBANKMANAGEMENTSYSTEM „Eine relationale Datenbank dient zur elektronischen Datenverwaltung in Computersystemen und be- ruht auf einem tabellenbasierten relationalen Datenbankmodell. Dieses wurde 1970 von Edgar F. Codd erstmals vorgeschlagen und ist bis heute trotz einiger Kritikpunkte ein etablierter Standard für Daten- banken.“ (19)
  8. 8. S. 8 1.21 RELATIONALES DATENBANKMODELL „Ist das am weitverbreitetsten Modell, das in der Datenbankentwicklung als Standard genutzt wird. Die Grundlage dieses Datenbankmodells ist die Relation. Sie stellt eine mathematische Beschreibung einer Tabelle und ihre Beziehung zu anderen möglichen Tabellen dar.“ (20) 1.22 RUPLAN „RUPLAN von Aucotec in Hannover und Eschborn ist ein E-CAD-System, das seit 1983 auf dem Markt ist. Obwohl bereits über 25 Jahre alt, verfolgte es bereits in gewisser Weise einen objektorientierten An- satz.“ (21) RUPLAN ist ein E-CAD- System der 2. Generation genau wie Promis. Aus der Dokumentation von Ruplan ist zu entnehmen, dass es zur „Erstellung elektrischer Schaltpläne und daraus abzuleitender Dokumente“ dient. (22) 1.23 SCHULER TOOLS In der DLL „Schuler Tools“ sind komplexe oder häufig benutzte Programmteile zusammengefasst. Möchte man sich beispielweise mit einer Datenbank verbinden, bietet die standardisierte DLL Klassen zur Verfügung die dies erleichtern
  9. 9. S. 9 1.24 ECAD STARTCENTER Abbildung 1.24-a ECAD Startcenter Über das ECAD Startcenter verbinden sich die Mitarbeiter von Schuler auf die jeweiligen Terminalserver. Auf diesen laufen die verschiedenen CAD Systeme, Programmierumgebungen und Datenbanken. Die Anzahl der Server auf die sich ein Mitarbeiter verbinden kann, variiert je nach seiner Berechtigungsstufe.
  10. 10. S. 10 1.25 TFS „Der Team Foundation Server (TFS) von Microsoft ist eine Windows-Plattform für kollaborative Soft- wareprojekte. Über den TFS können Projekte geplant, erstellt und verwaltet werden.“ (23) 1.26 UNIX Unix ist ein Mehrbenutzer-Betriebssystem für Computer. (24) 1.27 VEKTORGRAFIK „Eine Vektorgrafik ist eine Computergrafik, die aus grafischen Primitiven wie Linien, Kreisen, Polygonen oder allgemeinen Kurven (Splines) zusammengesetzt ist. Meist sind mit Vektorgrafiken Darstellungen gemeint, deren Primitiven sich zweidimensional in der Ebene beschreiben lassen. Eine Bildbeschreibung, die sich auf dreidimensionale Primitiven stützt, wird eher 3D-Modell oder Szene genannt. Um beispielsweise das Bild eines Kreises zu speichern, benötigt eine Vektorgrafik mindestens zwei Wer- te: die Lage des Kreismittelpunkts und den Kreisdurchmesser. Neben der Form und Position der Primiti- ven werden eventuell auch die Farbe, Strichstärke, diverse Füllmuster und weitere, das Aussehen be- stimmende Daten angegeben.“ (25)
  11. 11. S. 11 2 DAS UNTERNEHMEN „Schuler bietet als Technologie- und Weltmarktführer in der Umformtechnik Pressen, Automationslö- sungen, Werkzeuge, Prozesstechnologie und Service für die gesamte metallverarbeitende Industrie und den automobilen Leichtbau. Zu den Kunden gehören Automobilhersteller und -zulieferer sowie Unter- nehmen aus der Schmiede-, Hausgeräte-, Verpackungs-, Energie- und Elektroindustrie. Schuler ist füh- rend in der Münztechnik und realisiert Systemlösungen in der Luftfahrt-, Raumfahrt-, Eisenbahn- und Großrohrindustrie. Weltweit sind rund 5.500 Mitarbeiter im Einsatz. Der Schuler-Konzern ist in 40 Län- dern präsent und gehört mehrheitlich zur österreichischen ANDRITZ-Gruppe.“ 2.1 STANDORT GÖPPINGEN Abbildung 2.1-a Standort Göppingen (26) Historie zum Standort Göppingen: (27) 1839 Gründung des Unternehmens als Schlosserei durch Louis Schuler 1852 Die ersten Blechbearbeitungsmaschinen werden hergestellt 1924 Erstmals Entwicklung von Karosseriepressen für die Massenfertigung 1947 Dem Pressenbau in Göppingen wird ein Werkzeugbau angegliedert 1983 Start der Produktion von Großteil-Transferpressen 1990 Markteinführung von Großteil-Transferpressen mit Saugerbrücken-Transfer 1994 Ausgliederung des Werkzeugbaus in die Schuler Werkzeuge GmbH & Co. KG 1998 Einstieg in die Ingenieursdienstleistungen 2000 Umfiermierung des Werkzeugbaus in Schuler Cartec GmbH & Co. KG 2003 Die weltweit erste Compact Crossbar-Transferpresse wird ausgeliefert 2007 Markteinführung der ersten Stanz- und Umformautomaten mit ServoDirekt-Technologie
  12. 12. S. 12 2008 Entwicklung und Installation neuer Pressensysteme für die Verpackungs- und Hausgeräteindustrie 2009 Aufbau der ersten Pressenlinien mit ServoDirekt-Technologie und Crossbar Feeder-Automation 2014 Verschmelzung der Schuler Cartec GmbH & Co. KG in die Schuler Pressen GmbH „Göppingen ist der Hauptsitz von Schuler, das Firmenareal liegt mitten in der 50.000-Einwohner-Stadt. In dem charakteristischen Gebäude mit der Kuppel (am rechten Bildrand) ist die Hauptverwaltung un- tergebracht, das weiße Hochhaus dahinter ist das sogenannte Ingenieurgebäude. Direkt dahinter wird das neue Engineering- und Technologie-Center gebaut. Zwischen der Bahnhofstraße (oberer Bildrand) und den Eisenbahngleisen erstreckt sich die Produktion unter anderem mit Werkzeugbau, Presswerk, Großmontage, Schlosserei, Großbohrwerk und mechanischer Fertigung. In Göppingen werden aus- schließlich mechanische Pressen gefertigt. Rund 1.400 Menschen arbeiten hier.“ (28)
  13. 13. S. 13 2.2 STANDORT WEINGARTEN Abbildung 2.2-a Standort Weingarten Historie zum Standort Weingarten: 1866 Johannes Michael Schatz baut in Weingarten eine Werkstatt 1872 Beginn der Fabrikation von Blechbearbeitungsmaschinen, Kreisscheren, Lochstanzen u.a. 1920 Gründung eines Werkzeugbaus in der damaligen Maschinenfabrik Weingarten AG 1925 Die ersten mechanischen Großpressen für die Automobilindustrie werden gebaut 1958 Vergrößerung des Werkzeugbaus durch den Neubau einer Werkzeugfabrik 1982 Zusammenschluss mit der Maschinenfabrik Fritz Müller zur Maschinenfabrik Müller Weingarten AG mit rund 2.500 Mitarbeitern Bau der ersten Großteil-Transferpresse mit 3-Achs- Greifertransfer 1989 Bau der ersten Großteil-Transferpresse mit Saugertransfer und einer Gesamtpresskraft von 6.200 t 1990 Erweiterung des Werkzeugbaus durch einen Hallenneubau 1995 Ausgliederung des Werkzeugbaus in die Müller Weingarten Werkzeuge GmbH 1998 Bau der derzeit größten Großteil-Transferpresse mit einer Gesamtpresskraft von 9.500 t 2001 Übernahme der Umformtechnik Erfurt 2005 Gründung der Tochtergesellschaft Umformcenter Erfurt GmbH in Erfurt 2007 Integration der Müller Weingarten AG in den Schuler Konzern
  14. 14. S. 14 2008 Inbetriebnahme des bis dahin größten Gegenschlaghammers weltweit Verschmelzung der Mül- ler Weingarten Werkzeuge GmbH in die Schuler Cartec GmbH & Co. KG 2014 Verschmelzung der Schuler Cartec GmbH & Co. KG in die Schuler Pressen GmbH „Weingarten ist Hauptfertigungsstandort von Maschinenkomponenten wie z.B. Druckpunkten, Zahnrä- dern und Antriebselementen für alle Pressenbaureihen des Schuler Konzerns. In Weingarten werden kleine Spindelpressen, Nutenstanzen und Nutautomaten produziert. Weitere Kernkompetenzen des Standorts sind Konstruktion und Entwicklung von mechanischen Pressen für die Karosseriefertigung, von Stanz- und Umformautomaten, von Pressen für die Massivumformung und von Nutenstanzen. Darüber hinaus liegt in Weingarten der Schwerpunkt aller Service- und Modernisierungsaktivitäten für die Müller Weingarten-Produkte.“ (29)
  15. 15. S. 15 3 AUFGABENSTELLUNG Altdatenkonvertierung; Entwickeln einer Lösung in C# zu automatisierten Überführung und Konvertie- rung von Altprojekten in EPLAN Electric P8, Einarbeiten in DXF, Promis, Ruplan und DDS-C. 3.1 MACHBARKEITSSTUDIE Es existieren insgesamt mehr als 38.000 Projekte in folgenden CAD Systemen:  DDS-C Abbildung 3.1-a Logo von DDS-C  Ruplan Abbildung 3.1-b Logo von Ruplan  Promis Abbildung 3.1-c Logo von Promis  Eplan V5.7 Abbildung 3.1-d Logo von Eplan V5.7 Alle Projekte müssen aufgrund der sinkenden Anzahl von Konstrukteuren die, die oben genannten Sys- teme beherrschen in das neue CAD System EPLAN Electric P8 überführt werden. Weitere Einzelheiten werden im Kapitel Kostenfaktor behandelt. Um ein Projekt in EPLAN Electric P8 zu übernehmen, muss es vorher in DXF exportiert werden. Danach ist jedes Blatt eine einzelne DXF Datei. Das heißt, hat ein Projekt beispielsweise 2000 Blätter/Seiten, sind nach dem Exportieren in DXF, 2000 DXF Dateien vorhanden. Zusätzlich wird eine Projektdatei generiert, die Projektinformationen enthält. In Promis ist das die IXF Datei. Ein Projekt manuell, also jede Seite einzelen Stück für Stück, zu ex- und importieren ist durchführbar aber sehr zeitintensiv. Daher ist es sinnvoll, ein Programm zu entwickeln, das ein komplettes Projekt in EPLAN Electric P8 importieren kann. EPLAN Electric P8 bietet eine API zur Verfügung. Mit dieser können DXF Seiten in Projekte importiert werden. Dadurch ist die Entwicklung eines Programmes zum Importieren von DXF Seiten möglich. Um jede Zeichnung, die sich auf einem Blatt befindet, ist ein Rahmen mit Informationen. Diese sind in Projektinformationen und Blattinformationen unterteilt. In EPLAN Electric P8 gibt es einen neuen Rah- men, es ist umsetzbar diesen mit der API zu befüllen. DXF Dateien sind Vektorgrafiken es ist machbar Text aus ihnen zu extrahieren. Zusammenfassend kann man Projekte in DXF exportieren. Diese nach Rahmeninformationen durchsu- chen und mit der EPLAN Electric P8 API in ein Projekt importieren. Die aus den DXF gewonnen Rah- meninformationen werden anschließend in die einzelnen Seiten, im importierten Projekt, geschrieben. Zusätzlich bekommt das Projekt durch diese Informationen eine Struktur.
  16. 16. S. 16 3.2 ZIEL Erstellen eines Konvertierungsprogrammes, das Projekte aus Promis, Ruplan, DDS-C und Eplan V5.7 in EPLAN Electric P8 übernimmt. Dazu müssen abhängig vom Projekt Zeichensätze konvertiert werden, Farben geändert oder Informationen aus den DXF Dateien entnommen werden. 3.3 KOSTENFAKTOR Jedes ECAD System läuft auf seinem eigenen Server. Die Konstrukteure verbinden sich mit dem ECAD Startcenter auf die jeweiligen Terminalserver (siehe Abbildung 3.3-a). Auf Grund der vielen Konstrukteu- re findet eine Lastverteilung auf mehrere Server statt. Dies bedeutet, dass es mehr als nur vier Server (Ruplan, Promis, DDS-C, Eplan V5.7) für die CAD Systeme gibt. zentrale Systemdaten Promis DDS-C Ruplan EPLAN V5.7 SQL Konvertierung EPLAN Electric P8 vorgelagerter Sicherheitsbereicht SAP Abbildung 3.3-a
  17. 17. S. 17 Die Anzahl der Konstrukteure, die die CAD Systeme beherrschen und diejenigen die mehrere Systeme gleichzeitig bedienen können sinkt drastisch. Das liegt daran, das die Systeme von den Herstellern nicht mehr supportet werden und zum anderen die Konstrukteure die das beherrschten in Ruhestand gehen. Es müssen alle alten Projekte konvertiert werden solange noch genug Mitarbeiter vorhanden sind um die alte Software zu bedienen. Tritt dies nicht ein geht das Know-how und somit essentielles Firmenka- pital verloren.
  18. 18. S. 18 3.4 RANDBEDINGUNGEN Die Randbedingungen sind abteilungsinterne Vorgaben, die zusätzlich beachten werden müssen 3.4.1 TFS Jedes Projekt wird initial nach der Erstellung in den TFS eingecheckt. Nach jeder Änderung, die den Funktionsumfang erweitert oder verringert soll das Projekt mit Kommentar eingecheckt werden. Somit entsteht eine Historie. Mit dieser kann bei Fehlern auf einen bestimmten Punkt zurückgesprungen wer- den. Weitere Funktionen und Einzelheiten werden im Kapitel TFS (Kapitel 1.1) besprochen. 3.4.2 Übersichtlichkeit Der Code muss übersichtlich sein, Methoden sollen in Klassen ausgelagert werden und Kommentare müssen die komplexen Abschnitte oder Methoden beschreiben. Genauere Informationen werden im Kapitel Programmierstil (Kapitel 12) besprochen. 3.4.3 Aufteilung Das komplette Aufgabe Altdatenkonvertierung ist in verschiedene Programmierprojekte und einer Da- tenbank aufgeteilt. Die einzelnen Programmteile werden im Kapitel Beschreibung der Umsetzung (Kapi- tel 4) genauer beschrieben. 3.4.4 Logging Zur Analyse des Fortschritts sowie Fehlern sollen alle Vorgänge geloggt werden. Zur Umsetzung wird Log4Net verwendet. Je nach Wichtigkeit des zu loggenden Eintrages wird eine verschiedene Stufe aus- gewählt (siehe Tabelle 3.4-1). Was mit den verschiedenen LOGGING Nachrichten passiert wird in der Logging.config Datei definiert. Dort können verschiedene „Appender“ angelegt werden. Diese können automatisch E-Mails versenden, Einträge in Datenbanken erstellen oder Textdateien befüllen. Die „Ap- pender“ werden in der Logging.config auf eine bestimmte LOGGING Stufe eingestellt. Beispielsweise wird dem „Appender“, der E-Mails versendet die Stufe FATAL zugewiesen. Das heißt, alle LOGGING Nachrichten mit der Stufe FATAL werden automatisch per E-Mail an einen in der Log- ging.config definierten Empfänger versendet. Letzterer entnimmt aus der E-Mail bei welchem Anwender und an welcher Stelle sich das Programm beendet hat. Danach kann er den Fehler, der den Absturz er- zeugt hat, beheben. (30) Logging Stufe Einsatzzweck Appender ALL Nicht verwendet DEBUG Nicht verwendet INFO Funktionsaufrufe; Berechnun- gen Textdatei WARN inkonsistente Eingaben Textdatei; Datenbank ERROR Fehler ist aufgetreten Textdatei; Datenbank FATAL Programm wurde beendet Textdatei; Datenbank; E-Mail OFF Nicht verwendet Tabelle 3.4-1 Logging Stufen
  19. 19. S. 19 3.5 ZEIT Effizienz war für die Konvertierung von Beginn an ein Schlüsselelement zur Umsetzung des Projektes. Die Anzahl der Projekte ist über 38.000, das entspricht 15 Millionen Seiten. Der Zeitaufwand zur Konvertierung pro Konvertierungsprojekt muss so gering wie möglich sein. Zum Messen der Dauer wird die Funktion „Leistung und Diagnose“ von Visual Studio verwendet (siehe Abbil- dung 3.5-a). Dort wird dann der „Leistungs-Assistent“ mit dem Profil CPU-Sampling gestartet. In letzte- rem können CPU-gebundene Anwendungen mit geringem Mehraufwand überwacht werden. Dieses Werkzeug wird vor dem Starten des Programmierprojektes gestartet und nach dem Beenden des Projektes beendet. Anhand verschiedener Graphen kann die Leistung, bis auf die einzelne ausgeführte Zeile Code, angezeigt werden. Abbildung 3.5-a Zeitmessung in Visual Studio Nach dem dritten Test des Programmierprojektes wurde klar welche Funktionen am meisten Rechenzeit benötigen und somit überarbeitet werden müssen. Multiples Testen verringert die Laufzeitunterschiede des zu Testenden Programm. Nach drei oder mehr Tests kann angenommen werden, dass die Werte stimmen. Es wurde nach jeder Änderung wieder, manchmal mehr als drei Mal, die Geschwindigkeit ge- testet. Die erste Testphase zu Beginn des Programmierprojektes ergab, pro Konvertierungsprojekt mit 1000 Seiten, eine Konvertierungszeit von 270 Sekunden. Die Recherche nach besseren Lösungen für bestimmte Berechnungen und Abläufe in Funktionen ergab, dass durch gezieltes verändern der Syntax von C# oder durch selbstschreiben von Funktionen, die nor- malerweise C# zur Verfügung stellt sehr viel Zeit gespart werden kann. Die genaueren Änderungen sind im Kapitel Technische Beschreibung (Kapitel 5) detaillierter beschrieben. Nach der Optimierung wurde das Konvertierungsprojekt mit 1000 Seiten anstatt in 270 in 140 Sekunden konvertiert.
  20. 20. S. 20 Nach einer weiteren Analyse der Funktionen, die viel Zeit benötigen, wurde festgestellt, dass die API von EPLAN Electric P8 am meisten Zeit benötigt. Die API und die Geschwindigkeit dieser kann nicht geändert werden. EPLAN Electric P8 läuft leider nur auf 32 Bit. Das führt bei großen Projekten zu Problemen, da sie die Grenze von 4 Gigabyte Arbeitsspeicher schnell erreichen. Ein weiterer Schwachpunkt ist, dass es nur einen Prozessorkern auslastet, ergo nicht multithreadingfähig ist. Zusammenfassend nutzt EPLAN Electric P8 nicht die Möglichkeiten moderner Rechnersystem vollständig aus.
  21. 21. S. 21 4 BESCHREIBUNG DER UMSETZUNG Zu Beginn wurde ein Programmierprojekt erstellt, das für die Konvertierung zuständig ist. Es hatte eine simple grafische Oberfläche, die einzige Komponente war eine Schaltfläche zum Start. Danach wurde die DLL für EPLAN Electric P8 programmiert, diese soll die EPLAN Electric P8 Projekte erstellen. Im Nächsten Schritt wurde das Konvertierungsprojekt um weitere GUI Elemente erweitert und es wurde die Verbindung zur DLL hergestellt. Danach wurden die Informationen aus der Datenbank anstatt direkt vom Benutzer entnommen. Die Datenbank wird im Kapitel Datenbank genauer beschrieben. Mit der Datenbank Erweiterung wurden die GUI Elemente im Konvertierungsprogramm redundant und deshalb entfernt. Damit die GUI mehrfach von verschiedenen Orten gestartet werden kann, wurden die GUI und das Konvertierungsprogramm komplett getrennt (siehe Abbildung 3.5-a). Dazu wurde das Konvertierungs- programm zu einer Konsolenanwendung umgestellt, die im Hintergrund läuft. Die GUI verwaltet die Konvertierungsaufträge in der Datenbank. Ab diesem Zeitpunkt existierten drei Projekte, die Grafische Oberfläche für die Datenbank, das Konvertierungsprogramm und die DLL für EPLAN Electric P8. Grafische Oberfläche namens „SEDI“ Datenbank Konvertierungsprogramm „SEDI_Service“ DLL „SEDI_DLL“ startet Eplan Electric P8 Abbildung 3.5-a Nachkommend wurde die GUI weiterentwickelt um die Bedienung zu Erleichtern. Als nächstes wurde das Konvertierungsprogramm so modifiziert, dass es die speziellen Anforderungen eines Windows Dienstes erfüllt. Als dieser muss er zu den bisherigen Windows Diensten hinzugefügt werden. Danach startet er je nach Einstellung des Dienstes automatisch mit Windows. Als Windows Dienst führt es alle Methoden wie beim Konvertierungsprogramm aus – er verarbeitet die Aufträge aus der Datenbank.
  22. 22. S. 22 4.1 BESCHREIBUNG DER CAD SYSTEME Die Zusammenführung verschiedener Standorte und Unternehmen zu der heutigen Schuler AG hat zu einer mannigfaltigen Kombination unterschiedlicher CAD Systeme und Betriebssysteme geführt. Alle haben zum Fortschritt sowie Weiterentwicklung des CAD Umfelds beigetragen. 4.1.1 Promis Bis November 2001 lief Promis nur auf HP-UX und AIX. Mit dem Promis Release 5.0, das in jenem Jahr ausgerollt wurde, lief Promis auf Windows 2000. Erst mit der gleichzeitigen sehr erfolgreichen Windows 2000 Version lohnte sich die Umstellung für die Anwender. Das neue Windows hatte verbesserte Funk- tionen zum Beispiel Berechtigungen, Schriften, Druckausgabe und Zeichensätze. In der Abbildung 4.1-a dem Konvertierungsablauf ist in Einzelschritten zuerkennen wie eine Konvertie- rung bei Promis abläuft. Start DXF Datei Konvertierung DXF Datei mit korrektem Zeichensatz XML Datei mit Informationen Aufruf Electric P8 Projekt Aufruf Electric P8 Projekt Temporärer Ordner ZielOrdnerEplan SEDI_DLL EPLAN Electric P8 Projekt Ende Abbildung 4.1-a Konvertierungsablauf Um mit Promis zu arbeiten waren schon immer spezielle Zeichentabellen mit Sonderzeichen notwendig. Wenn man beispielsweise Promis auf HP-UX nutzen wollte, musste man die HP-UX Zeichentabelle nut- zen. Die Eingaben auf der Tastatur, die von HP-UX entgegengenommen wurden, werden mit der speziel- len Zeichentabelle verarbeitet und an Promis weitergeleitet. Die Sonderzeichen sind somit ein Problem bei Promis. Die Umlaute sind ein kleiner Teil der kompletten 256 Sonderzeichen. Vor Windows war es schlicht nicht möglich Umlaute in eine Zeichnung zu schreiben. Diese wurden mit der Alternativschreibweise ersetzt, ä mit „ae“ usw. Mit Windows wurde in Promis ein anderer Zeichensatz eingeführt somit wurden alle 256 Sonderzeichen intern unterschiedlich kodiert. Außerdem gab es Zeichen die überhaupt nicht in den üblichen Zeichensätzen vorkamen, die man aber für die Konstruktion benötigte. Ein solches spezielles Zeichen ist z.B ╩.
  23. 23. S. 23 Öffnet man eine Zeichnung in Promis sind die Umlaute korrekt. Abbildung 4.1-b Öffnet man dieselbe Zeichnung exportiert als DXF Datei sind die Sonderzeichen inkorrekt. Abbildung 4.1-c Start DXF Datei Konvertierung DXF Datei mit korrektem Zeichensatz XML Datei mit Informationen Aufruf Electric P8 Projekt Abbildung 4.1-d Damit die Zeichnung korrekt in EPLAN Electric P8 übernommen werden kann müssen alle Sonderzeichen mit den korrekten Sonderzeichen ausgetauscht werden. Zum Tauschen benötigt man eine Tabelle mit den korrekten Sonderzeichen. Promis stellt extra für die Umstellung auf Windows die OEM-ANSI Tabelle zur Verfügung.
  24. 24. S. 24 Die DXF Dateien sind Vektorgrafiken, das heißt alle Zeichnungen sind Vektoren und die Texte sind als Texte gespeichert. Öffnet man eine DXF mit einem Texteditor erhält man leserlichen Text. Wenn man im Vergleich dazu eine Bilddatei mit einem Texteditor öffnet erhält man unverständliche kryptische Zeichen. DXF Datei PNG Bild Datei Abbildung 4.1-e Abbildung 4.1-f Zur Konvertierung wird eine DXF Datei eingelesen und jedes Zeichen wird mit dem korrekten Zeichen aus dem Wörterbuch ausgetauscht. Vorher Nachher Abbildung 4.1-g Abbildung 4.1-h
  25. 25. S. 25 Als nächstes wird nach Blatt- und Projektinformationen in den DXF Dateien gesucht. Die gewonnen Wer- te werden in eine XML Datei gespeichert. Start DXF Datei Konvertierung DXF Datei mit korrektem Zeichensatz XML Datei mit Informationen Aufruf Electric P8 Projekt Abbildung 4.1-i Man kann EPLAN Electric P8 mit der API erweitern. Dies ist notwendig um das automatische Importieren von DXF Seiten und Erstellen von Projekten umzusetzen. Das heißt, man erstellt ein Programm, in die- sem werden Funktionen nach bestimmten Vorlagen der API erstellt. Mit Visual Studio wird aus dem kreierten Programmcode eine DLL erstellt. Diese wird in EPLAN Electric P8 eingebunden. Möchte man nun die DLL benutzen müssen lediglich bestimme Aufrufparameter an die EPLAN Electric P8 EXE anhängt werden. Aufruf Electric P8 Projekt Temporärer Ordner ZielOrdnerEplan SEDI_DLL EPLAN Electric P8 Projekt Ende Abbildung 4.1-j
  26. 26. S. 26 Um EPLAN Electric P8 zu starten gibt man folgenden Befehl in die Kommandozeile ein: EPLAN.exe /Variant:"Electric P8" /NoSplash /Frame:0 /Auto SEDI_DLL /ZielOrdner:““ /ZielOrdnereplan:““ Paramater Erklärung EPLAN.exe Programmname /Variant:"Electric P8" Name des Programmbereiches /NoSplash Es wird kein Splash angezeigt /Frame:0 Das Fenster wird unsichtbar /Auto SEDI_DLL Die Funktion SEDI_DLL wird geladen /ZielOrdner: „“ (In der Abbildung 4.1-j als Temporärer Ordner) Parameter eins für die SEDI_DLL Ist der Order mit den DXF und XML Dateien In den „“ steht der Pfad für den Ordner /ZielOrdnereplan: „“ Parameter zwei für die SEDI_DLL Ist der Order für das EPLAN Electric P8 Projekt das erstellt wird In den „“ steht der Pfad für den Ordner Tabelle 4.1-1 Die Erstellte DLL heißt SEDI_DLL, sie wird mit den zwei Parametern ZielOrdner und ZielOrdnerEplan ge- startet.
  27. 27. S. 27 4.1.2 Ruplan In Ruplan besteht kein Problem mit den Zeichensätzen. Im Vergleich zu Promis sind die DXF Dateien in nur in manchen Bereichen verschieden. Das heißt, der Konverter wird einfach um den Bereich Ruplan erweitert. Der Konvertierungsvorgang und der Aufruf von EPLAN Electric P8 sind gleich wie bei Promis. Der Unterschied zu Promis liegt darin, dass die Seiten schwarz gefärbt werden und die Durchsuchung der DXF Dateien nach anderen Schlagwörtern sucht, an der Art der Suche ändert sich aber nichts. Start Welches CAD System? PromisklassePromis RuplanklasseRuplan Konvertierung Abbildung 4.1-k
  28. 28. S. 28 4.1.3 DDS-S Die DXF Dateien von DDS-C können importiert aber nicht verarbeitet werden. Das heißt, keine Informa- tionen können aus Ihnen entnommen werden (blauer Schritt in der Grafik). Ohne diese kann EPLAN Electric P8 die einzelnen Seiten nicht unterscheiden. Start Welches CAD System? PromisklassePromis RuplanklasseRuplan Konvertierung DDS-CklasseDDS-C Abbildung 4.1-l Konvertierung DXF Datei mit korrektem Zeichensatz XML Datei mit Informationen Ende Abbildung 4.1-m Ohne die XML Dateien (blau gefärbt) hat das Projekt in EPLAN Electric P8 keine Struktur. Mit einem Pro- jekt ohne Struktur kann nicht gearbeitet werden. Die Markt-Einführung von DDS-C war von 1981. Zum hohen Alter der Software kommt dazu, dass DDS-C die erste Software vom CIM-TEAM war. Diese Fakto- ren könnten der Grund für den veralteten Stand der DXF Syntax sein.
  29. 29. S. 29 4.1.4 Eplan V5.7 Ist der Vorgänger von EPLAN Electric P8, letzteres kann EPLAN V5.7 Projekte direkt öffnen und konver- tieren.
  30. 30. S. 30 4.2 ÜBERBLICK ÜBER ENTWICKLUNGSUMGEBUNG TFS Der Team Foundation Server TFS ist eine zentrale Anlaufstelle für die Entwicklung von Softwareprojek- ten. Ein Teil des Umfanges sind (31):  Dokumente und Dateien freigeben  Arbeitsaufgaben und Arbeitsaufga- benlisten erstellen und diese freige- ben  Benachrichtigungen senden und emp- fangen  Teamprozesse befolgen  Versionskontrolle  TFS-Build  Reports  Revisionsverwaltung  Benutzerverwaltung Aufgrund des mächtigen Funktionsumfanges von TFS wird nur auf die Revisionsverwaltung genauer ein- gegangen. Vor diesem wird im Kapitel Einchecken beschrieben wie ein Programmierprojekt auf den TFS kommt. 4.2.1 Einchecken Pro Aufgabenstellung wird ein Programmierprojekt in Visual Studio erstellt. Direkt danach kann dieses mit dem TFS verbunden werden. Um dies zu ermöglichen muss es „eingecheckt“ werden. Beim ersten „Einchecken“ wird gleich vorgegangen wie bei einer Programmänderung oder einer Programmerweite- rung. Start Programmänderung Programmerweiterung Einchecken Kommentar für Änderung Was soll gespeichert werden Datenbank Ende Abbildung 4.2-a Nach jeder Änderung oder Erweiterung kann das Projekt gleich wie bei Microsoft Word gespeichert werden. Das heißt, die Dateien sind lokal auf dem Computer gesichert. Möchte man beispielsweise sei- nen bisherigen Fortschritt einem Mitarbeiter zeigen muss dieser persönlich vorbeikommen oder die Daten müssen, beispielsweise per USB Stick, ausgetauscht werden. In diesem Fall ist es leichter den Fortschritt siehe Abbildung 4.2-b „einzuchecken“. Start Programmänderung Programmerweiterung Einchecken Kommentar für Änderung Was soll gespeichert werden Datenbank Ende Abbildung 4.2-b
  31. 31. S. 31 Mindestens einmal pro Tag muss das komplette Pro- grammierprojekt „eingecheckt“ werden. Je nach Pro- grammierstil wird dies auch mehrfach pro Tag getan. Der Programmierstil wird im Kapitel Programmierstil (Kapitel 12) genauer beschrieben. Bevor man auf den Button mit dem Text: „Einchecken“ klickt (siehe Abbildung 4.2-c), also das Programmierprojekt auf den TFS lädt, muss man einen Kommentar angeben und auswählen was man spei- chern will. Start Programmänderung Programmerweiterung Einchecken Kommentar für Änderung Was soll gespeichert werden Datenbank Ende Abbildung 4.2-d Man muss einen Kommentar für die Änderung eintragen, um seine Fortschritt und Änderungen zu pro- tokolieren. Erweitert man beispielsweise das Programmierprojekt um eine neue Klasse, die die Statistik anzeigt, schreibt man als Kommentar „Statistik Klasse; errechnet die Durchschnittszeit pro Auftrag“. Bei der Auswahl was gespeichert werden soll, kann man entweder das komplette Programmierprojekt oder nur einzelne Elemente auswählen. Der Unterschied liegt darin, dass bei Auswahl der kompletten Programmierprojektmappe alle darunterliegenden und bei der Einzelauswahl nur bestimmte Elemente „eingecheckt“ werden. Start Programmänderung Programmerweiterung Einchecken Kommentar für Änderung Was soll gespeichert werden Datenbank Ende Abbildung 4.2-e Nachdem ein Programmierprojekt sich auf der Datenbank (TFS) befindet, können sich es auch andere Mitarbeiter herunterladen. 4.2.2 Revisionsverwaltung Das heißt, man kann ein Projekt auf einen vorherigen Stand zurücksetzen. Dies ist sehr nützlich wenn man eine Änderung gemacht hat und merkt, dass diese fehlerhaft ist oder nicht mehr den Anforderun- gen der aktuellen Aufgabenstellung entsprechen. Ist dies der Fall, kann man sein Projekt beispielsweise auf den vorherigen Tag zurücksetzen. Aus diesem Grund ist es förderlich sein Projekt mehrfach pro Tag einzuchecken, um mehr Zurückstellungspunkte zu generieren. Abbildung 4.2-c Visual Studio Einchecken
  32. 32. S. 32 4.3 DATENBANK Bevor eine Datenbank mit Software angelegt wird, sollte ein Schema entwickelt werden. Dies beschreibt die Datenbankstruktur und den Zusammenhang der darin enthaltenen Tabellen. Zeichnen kann man ein Schema auf Papier, in Microsoft Access oder anderen Datenbankprogrammen. Anhand des Schemas (siehe Abbildung 4.3-a) wurde die Datenbank auf einem MSSQLServer erstellt. Abbildung 4.3-a Gezeichnetes Schema Nachdem die per Hand gezeichnete Version mit der Abteilung besprochen wurde, war klar, dass noch mehrfache Änderungen vorgenommen werden müssen. Die verbesserte Zeichnung diente dann als Vor- lage für die auf dem MSSQL Server erstellte Datenbank. Abbildung 4.3-b Schema von MSSQLServer erzeugt Die Datenbank hat zwei Tabellen, die miteinander verknüpft sind. In Auftrag sind die Konvertierungsauf- träge und die dazugehörigen Logging Nachrichten sind in der Tabelle Log.
  33. 33. S. 33 Das Entwerfen und Erstellen der Datenbank war jedoch erst der Anfang. Eine Datenbank ohne Inhalt ist wie ein Parkhaus ohne Autos – es ist da aber erfüllt keinen weiteren Zweck. Ergo müssen im nächsten Schritt Daten in die Datenbank geschrieben und daraus gelesen werden. Die Verbindung zur Datenbank wurde mit Schuler Tools hergestellt. Das heißt, in jedem Programmier- projekt wurde das Programmierprojekt SchulerTools über den TFS eingebunden. In SchulerTools gibt es eine Klasse die die Verbindung zur Datenbank aufbaut. Über diese können Einträge in die Datenbank geschrieben und gelesen werden. Zur programmatischen Verbindung mit der Datenbank wurde ADO.NET verwendet. Abbildung 4.3-c erweitertes Schema mit mehr Einträgen
  34. 34. S. 34 5 TECHNISCHE BESCHREIBUNG ABLAUF DES PROGRAMMES SEDI Auftrag anlegen Datenbank Aufträge anzeigen SEDI_Service SEDI_DLL DXF Konvertieren XML Datein erstellen EPLAN Electric P8 Projekt erstellen DXF Seiten importieren Information aus XML entnehmen startet Abbildung 4.3-a Zuerst startet der Anwender SEDI. Dort werden die bestehenden Aufträge angezeigt und der Anwender kann neue Aufträge anlegen. Diese Informationen stammen aus der Datenbank beziehungsweise wer- den in diese geschrieben. Im nächsten Schritte nimmt sich der ständig laufende Windows Dienst SEDI_Service einen Auftrag von der Datenbank und konvertiert diesen. Bei letzteren werden zusätzlich XML Dateien angelegt und be- füllt. Diese befüllen später die EPLAN Electric P8 Projekte mit Informationen. Am Schluss wird vom SEDI_Service die DLL gestartet. Diese Erstellt pro Auftrag ein EPLAN Electric P8 Projekt und importiert die DXF Seiten. In letztere und in das Projekt werden Informationen aus dem XML Dateien geschrieben.
  35. 35. S. 35 6 SEDI Schuler EPLAN Electric P8 DXF Import zeigt und legt Konvertierungsaufträge an. Diese werden in der Datenbank gespeichert. 6.1 ENTSTEHUNG DER GRAFISCHEN OBERFLÄCHE Die Grafische Oberfläche sowie der Funktionsumfang haben sich fortlaufend weiterentwickelt. Mit fol- genden Screenshots kann man die Entwicklung von SEDI erkennen. In den blauen Blasen sind die wich- tigsten Fortschritte festgehalten. Abbildung 6.1-a Abbildung 6.1-b Abbildung 6.1-c Erster Entwurf Ribon DevExpress GridControl zwei Seiten IconsMenüs Datenbank- verbindung
  36. 36. S. 36 Abbildung 6.1-d Abbildung 6.1-e Abbildung 6.1-f Neues Design Anzeigen der Aufträge Aufträge modifizieren Info und Hilfe Infoscreen
  37. 37. S. 37 Abbildung 6.1-g Abbildung 6.1-h Abbildung 6.1-i Splashscreen Statusbar Nur noch Aufträge Neuer Name
  38. 38. S. 38 Abbildung 6.1-j Abbildung 6.1-k Abbildung 6.1-l Neuer Name Neues Logo Drucken Statistik Fortschritt Projetordner variabel
  39. 39. S. 39 Abbildung 6.1-m Abbildung 6.1-n Eigene Druckansicht Eigene Design- ansicht
  40. 40. S. 40 Abbildung 6.1-p Neues Logo Bessere Be- schreibung Vollbildansicht Abbildung 6.1-o
  41. 41. S. 41 6.2 AUFTRAG ANLEGEN Auf der Seite Neue Aufträge kann man einen oder mehrere Auftrag/Aufträge anlegen. Abbildung 6.2-a Ablauf um einen Auftrag anzulegen: 1. CAD System auswählen 2. Normblatt festlegen 3. Ein zu Durchsuchendes StartVerzeichnis auswählen. Danach wird automatisch vom Programm nach Projekten in allen Unterverzeichnissen gesucht. 4. Einen Projekt Ordner auswählen dies kann für alle Aufträge oder für jeden einzeln festgelegt werden 5. Einen oder mehrere Aufträge aus der Liste auswählen 6. Auf den Knopf Auftrag anlegen klicken
  42. 42. S. 42 6.3 RESTLICHER FUNKTIONSUMFANG Nach dem Start sieht man eine Liste mit bereits angelegten Aufträgen. Diese wird aus der Datenbank geladen. Zu jedem Auftrag gibt es folgende Informationen:  CAD System (Promis, Ruplan...)  Normblatt (je nach Normblatt wird ei- ne Konfigurationsdatei geladen)  Quell Ordner (Ordner mit DXF Datei- en)  Projekt Ordner (Order in dem Das EPLAN Electric P8 Projekt angelegt werden soll)  SAPID  Erstellzeit  Startzeit  Endzeit  Priorität (Je nach Priorität werden die Aufträge bearbeitet)  Status  Ersteller  DB_ID  Anzahl DXF  Fortschritt Abbildung 6.3-a Es existieren folgende Status:  in Arbeit (in der Warteschlange)  läuft (wird momentan konvertiert)  erfolgreich (ein Projekt wurde erstellt)  fehlgeschlagen  pause (Auftrag angehalten)
  43. 43. S. 43 In der Ansicht Aufträge kann man folgendes:  Priorität erhöhen  Priorität senken  Auftrag Löschen  Auftrag Reparieren (Aufträge die fehl- geschlagen sind)  Auftrag Pausieren und Starten  Auftragsliste Drucken  Aktualisierungsgeschwindigkeit der Liste erhöhen bzw. senken Abbildung 6.3-b Modifizierungswerkzeuge von Aufträge Abbildung 6.3-c Statusbar Pfeiltasten für Aktualisierungsgeschwindigkeit Ist beim Konvertieren eines Auftrages etwas fehlgeschlagen oder der Fortschritt eines Auftrages, der sich im Status läuft befindet, ändert sich 10 Minuten lang nicht, wird der Status auf fehlgeschlagen ge- setzt. In der Druckansicht können wie von Office Produkten gewohnt Einstellungen für den Druck optimiert werden. Zusätzlich kann dieser in PDF oder andere Formate exportiert werden. Abbildung 6.3-d
  44. 44. S. 44 Auf der Seite Statistik wird ein Diagramm über die Aufträge angezeigt. Der Typ und die Darstellung kön- nen geändert werden. Somit kann schnell ein Tortendiagramm erstellt oder die Farbe geändert werden. Abbildung 6.3-e Im Bereich Andere kann modular zur Laufzeit ein Diagramm frei nach Belieben aus den bisherigen Auf- trägen angelegt werden. Dazu muss lediglich auf den Knopf Designer klicken. Abbildung 6.3-f
  45. 45. S. 45 Nach dem Klicken poppt der Designer auf. Abbildung 6.3-g
  46. 46. S. 46 7 SEDI_SERVICE Zu Beginn des Projektes gab es noch kein SEDI. Zu diesem Zeitpunkt war SEDI_Service noch kein Windows Dienst. Am Anfang war es eine grafische Anwendung. Im nächsten Schritt wurden die grafi- schen Elemente vom Programmierprojekt getrennt und letzteres wurde zu einer Konsolenanwendung. Die grafischen Bedienelemente wurden nur zum Testen eingeführt. Mit dem Einbinden einer Datenbank wurden diese redundant. Am Ende wurde aus der Konsolenanwendung ein Windows Dienst (in Englisch Service). Dieser Startet automatisch mit dem Start von Windows und lässt sich einfacher administrieren als eine Konsolenanwendung. 7.1 GRAFISCHE ENTWICKLUNG Zu Beginn bestand die GUI nur aus einem Element, dem Startknopf. Alle Parameter sowie die Pfade wa- ren festgelegt. Es gab keine Verbindung zur Datenbank. Das Programm konnte Projekte nur aus Promis, mit dem Normblatt SPW_DIN_Elektro, konvertieren. Zur leichteren Bedienung wurden immer mehr GUI Elemente hinzugefügt. Abbildung 7.1-a In der weiteren Entwicklung wurden die XML Dateien zum dynamischen Laden der GUI Elemente be- nutzt. Da sich das Programm immer noch in der frühen Entwicklungsphase befand mussten häufig XML Dateien hinzugefügt oder ausgetauscht werden. Danach hat sich die GUI dynamisch angepasst. Abbildung 7.1-b
  47. 47. S. 47 Abbildung 7.1-c Mit der Verbindung zur DLL waren Fortschrittsbalken, auf der Seite des Konverters sowie der DLL, erfor- derlich um den Fortschritt der Konvertierung festzustellen. Start Konvertierung EPLAN DLL EndeFortschrittsbalken Fortschrittsbalken Abbildung 7.1-d Das Einbinden der Datenbank hat alle Grafischen Elemente unnötig gemacht. Somit wurde Stück für Stück alle GUI Ele- mente, Messageboxen und Fortschrittsbalken entfernt. Abbildung 7.1-e
  48. 48. S. 48 7.2 NORMBLÄTTER Aus der Unternehmensgeschichte geht hervor, dass es mehre Standorte gibt. Je nach Standort oder Norm, die zur Konstruktion gebraucht wird, gibt es verschiedene Normblätter. Beim Starten des ECAD Startcenters auf den jeweiligen Terminalservern muss jedes Mal, bevor konstruiert wird, das Normblatt angegeben werden. Aus den DXF Dateien kann programmatisch nicht entnommen werden, welches Normblatt verwendet wurde. Für die Konvertierung der DXF Dateien bedeutet dies, dass bei jedem zu konvertierenden Projekt ein entsprechendes Normblatt angegeben werden muss. Die Entwicklung des Konverters hat, wie bereits erwähnt, mit dem Normblatt SPW_DIN_Elektro begon- nen. Nach dem erfolgreichen konvertieren der DXF Dateien von diesem Normblatt wurde der Konverter umgeschrieben, sodass er dynamisch je nach Normblatt die DXF Dateien konvertiert. Bei diesem Vorgang wird jede DXF Datei nach bestimmten Schlüsselwörtern, die je nach Normblatt vari- ieren können, durchsucht. Um das Dynamische konvertieren anhand der Normblätter umzusetzen wa- ren XML Dateien nötig.
  49. 49. S. 49 7.3 XML DATEIEN Nach der Testphase sollten Projekte von allen CAD Systemen konvertiert werden. Dazu musste der Kon- verter umprogrammiert werden. Um dies elegant zu lösen wurden Konfigurationsdateien erstellt. Diese beinhalten Informationen über die CAD Systeme und deren Normblätter. Die GUI belädt sich dynamisch mit den Inhalten aus den XML Konfigurationsdateien. Es gibt drei verschieden Stufen:  Stufe 1 – Enthält das CAD System  Stufe 2 – Das Normblatt (pro CAD System)  Stufe 3 – Informationen für die DLL (wird pro DXF Datei erstellt) 7.3.1 XML Stufe 1 Stufe 1 Ruplan Promis DDS-C EPLAN V5 Abbildung 7.3-a 7.3.2 XML Stufe 2 In der Stufe 2 gibt es pro CAD System verschieden Normblätter. Hier sind die Speziellen Schlüsselwörter gespeichert, diese wurden im Kapitel Normblätter genauer beschrieben. Folgende sind von Promis. Stufe 2 SHP_DIN Elektro SMG_DIN Elektro SMG_HYD Fluid SMG_USA Elektro SPW_DIN Elektro SPW_SAAB Elektro Abbildung 7.3-b
  50. 50. S. 50 7.3.3 XML Stufe 3 In der dritten Stufe wird pro zu konvertierende DXF Datei eine XML Datei erzeugt. In dieser stehen die Informationen, die mit den Schlüsselwörtern aus der XML Stufe 2 gesucht wurden. Ein EPLAN Electric P8 Projekt kann auch ohne Inhalt in den Stufe 3 XML Dateien erstellt werden. In diesem Fall werden nur die DXF Seiten importiert. Aber das Projekt hat keinerlei Struktur. Alle Seiten sind wahllos im Projekt ver- streut. Die Struktur in einem EPLAN Electric P8 Projekt ist jedoch sehr wichtig, mit dieser kann man die Reihenfolge und Struktur der einzelnen Seiten erkennen. Entfernt man beispielsweise von einem Buch die Seitenzahlen, die Bindung, den Bucheinband, das In- haltsverzeichnis und mischt alle Seiten durcheinander, ist es sehr schwer den Inhalt des Buches zu ver- stehen. Für Personen die das Buch wie ihre linke Westentasche kennen ist es nicht schwer die Seiten in einen Zusammenhang zu bringen. Im Vergleich dazu ist diese Aufgabe für Außenstehende nahezu un- möglich, da sie nur die einzelnen Seiten lesen nicht aber den Zusammenhang erkennen können. Aus diesem Grund sind die Stufe 3 XML Dateien so wichtig für die Erstellung von EPLAN Electric P8 Pro- jekten. In diesen stehen, wie bereits oben erwähnt, die Informationen, die mit den Schlüsselwörtern aus der XML Stufe 2 gesucht wurden. Ergo stehen in diesen Dateien Informationen die für die Struktur eines EPLAN Electric P8 Projekten notwendig sind. Stufe 3 XML0 XML1 XML2 XML ... DXF0 DXF1 DXF2 DXF ... Abbildung 7.3-c
  51. 51. S. 51 8 SEDI_DLL Die DLL erstellt EPLAN Electric P8 Projekte. Dazu erzeugt sie pro DXF Datei eine Seite im EPLAN Electric P8 Projekt. Pro Seite werden Informationen aus den XML Stufe 3 Dateien genommen und der Seite hin- zugefügt.
  52. 52. S. 52 9 SCHWIERIGKEITEN Zu den Misserfolgen zählen Aufgaben oder Teilaufgaben in den verschiedenen Projekten die nicht er- folgreich umgesetzt wurden:  UNC Pfad Überprüfung  Logging auf dem Konvertierungsserver mit der DLL  Schriftgröße DXF  EPLAN Electric P8 Projekte überschreiben 9.1 UNC PFAD ÜBERPRÜFUNG Beim Anlegen der Projekte in SEDI soll überprüft werden ob der Nutzer, der die Projekte auf dem Konvertierungsserver konvertiert, Schreib- und Leserechte besitzt. Zudem sollen Pfade in UNC Pfade getauscht werden. Wenn man ein Netzlaufwerk einem Computer zuweist, wird ein Laufwerksbuchstabe für dieses Laufwerk vergeben. Letzterer wird bei der Konvertierung zum UNC Pfad nachgeschlagen. Bei diesem Vorgang wird nach dem korrekten Servernamen gesucht und dieser in den ursprünglichen Pfad kopiert. Nach mehrfachen erfolglosen Versuchen sowie Neuanfängen um diese Anforderung programmatisch umzusetzen wurde die Aufgabe einem erfahrenen Mitarbeiter zugewiesen. Dieser hat eine Klasse er- stellt, die alle Anforderungen erfüllt. 9.2 LOGGING AUF DEM KONVERTIERUNGSSERVER MIT DER DLL Das Logging der EPLAN Electric P8 DLL ist sehr wichtig. Damit kann überprüft werden ob und wo etwas nicht ordnungsgemäß abläuft. Das Logging funktioniert bei allen Programmierprojekten nur bei der DLL nicht. Das Problem ist, dass die DLL lokal auf dem Entwicklungssystem erfolgreich loggt, aber nicht auf dem Konvertierungsserver. Warum dies der Fall ist, ist nicht bekannt. 9.3 PROJEKTE ÜBERSCHREIBEN Nach dem erfolglosen konvertieren eines Auftrages muss dieser erneut konvertiert werden. Die DLL hat jedoch schon ein EPLAN Electric P8 Projekt erstellt. Nachdem ein Auftrag erneut gestartet wird sollte das alte gelöscht und an gleicher Stelle ein neues EPLAN Electric P8 Projekt mit selben Namen erstellt wer- den. Die API unterstützt kein standardmäßiges überschreiben von EPLAN Electric P8 Projekten. In dem Verzeichnis in dem ein EPLAN Electric P8 Projekt angelegt werden soll, darf kein EPLAN Electric P8 Pro- jekt mit demselben Namen existieren. Deswegen muss per Code geprüft werden ob bereits ein solches Projekt existent ist und danach gelöscht werden. Erfolgreiches Umsetzen war bis zum Ende des Praxis- semesters nicht möglich.
  53. 53. S. 53 9.4 SCHRIFTGRÖßE DXF Nach dem Import der DXF Seiten sind manche Texte an der falschen Position oder die Größe ist inkor- rekt. Beide sollen jedoch exakt dem original entsprechen. Der Grund der inkorrekten Position und Größe ist der intransparente DXF Import von EPLAN Electric P8. Es ist nicht bekannt nach welchen Spezifikatio- nen oder Attributen die Importfunktion die DXF Dateien durchsucht. In der unteren Abbildung kann man die Bündigkeit von Texten schemenhaft erkennen. Im ersten Block sind alle möglichen Positionen zu erkennen. Man kann die Position eines Textes an einer der neun Punk- te setzten. Im zweiten Block erkennt man, dass der Text, anhand des Punktes, der sich in der Mitte be- findet, dargestellt wird. Im dritten Block erkennt man, dass ein Text anhand des Punktes, der sich links unten befindet, dargestellt wird. Diese Informationen wo sich der Text „festankert“ nennt man Bündig- keit und diese geht beim Importieren in EPLAN Electric P8 verloren. Die DLL kann zwar die Größe und Position der Textelemente anpassen, weiß aber nicht wie. Ist bei- spielsweise ein Text zu klein oder zu weit links, kann man beim Betrachten der DXF mit einem Viewer, diesen Fehler, und den Zusammenhang mit allen anderen Texten, sehr schnell erkennen. Die DLL hinge- gen hat all diese Informationen nicht, und weis somit auch nicht inwiefern der Text modifiziert werden soll. Wort Wort
  54. 54. S. 54 10 TECHNISCHE EINZELHEITEN 10.1 SEDI Start Auftrag anlegen CADSystem? PromisRuplan DDS-C Normblatt? SPW_DIN_Elektro SPGSMG_HYD Durchsuchendes Startverzeichnis für zu konvertierende Projekte auswählen UNC Pfad? Hat Nutzer eplanp8admin Rechte? ja Projekte suchen ja Wandlung in UNC Pfad nein nein CAD System festgelegt Normblatt festgelegt Abbildung 10.1-a In Abbildung 10.1-a ist der Ablauf zum Anlegen eines Auftrages in SEDI zu sehen. Zuerst wählt man ein CAD System aus, im Anschluss legt man das passende Normblatt zu dem jeweiligen CAD Sys- tem an. In der Grafik sind nur drei Normblätter zu erkennen. Diese sind nur beispiel- werte und nicht für alle CAD System geeignet. Nachdem das Normblatt festgelegt ist, legt man ein zu durchsuchendes Start- verzeichnis für die zu konvertierenden Projekte an.
  55. 55. S. 55 Projekte suchen Ablageort für EPLAN Projekte angeben UNC Pfad? Hat Nutzer eplanp8admin Rechte? ja Liste anzeigen mit Aufträgen die angelegt werden können ja Wandlung in UNC Pfad nein nein Ende Abbildung 10.1-b Die Abbildung 10.1-b setzt den Ablauf wie man einen Auftrag in SEDI anlegt siehe Abbildung 10.1-a fort. Nachdem die Projekte zum Konvertieren gefunden wurden legt man den der Ordner fest indem man die EPLAN Electric P8 Projek- te speichern will. Am Ende wird eine Liste mit allen zuvor ausgewählten In- formationen angezeigt. Um einen Auftrag anzulegen klickt man dann auf einen oder mehrere Listenein- träge und danach auf die Schaltfläche Auftrag anlegen.
  56. 56. S. 56 10.2 SERVICE Onstart StartThread Auftrag holen Datenbank Variablen anlegen CADSystem? Ruplan DDS-CPromis Konvertierung mit ausgewählten CAD System starten Status auf läuft und Startzeit auf jetzt Start neuer Auftrag? ja Datenbank hole Informationen nein Datenbank Abbildung 10.2-a In Abbildung 10.2-a wird der Ablauf des Service beschrieben. Wird er einmal gestartet läuft er durchgehend und sucht nach neuen Aufträgen. Erst mit dem beenden des Konvertierungsser- vers auf dem der Service läuft beendet sich letzterer. Aus diesem Grund ist in der Grafik kein Ende zu sehen.
  57. 57. S. 57 10.2.1 Promis Start XML Stufe 2 einlesen Wörterbuch erstellen OEM ANSI XML Stufe 2 XML Welches Normblatt? Aufrufparameter DXF Dateien konvertieren alte DXF Wörterbuch benutzen Zeichen im Wörterbuch? Behalte Zeichen nein Zeichen austauschen ja neue DXF erstellen neue DXF Anpassen des Farbschemas XMLStufe 3 erstellen XML Stufe 3 Schema XML Stufe 3 Informationen entnehmen IXF Datei EPLAN Starten ENDE Abbildung 10.2-b In Abbildung 10.2-b kann man den Ab- lauf einer Konvertierung eines Auftra- ges des CAD Systems Promis sehen. Diese Abbildung steht im direkten Zu- sammenhang mit der Abbildung 10.2-a.
  58. 58. S. 58 10.2.2 Ruplan Start XML Stufe 2 einlesen XML Stufe 2 XML Welches Normblatt? Aufrufparameter neue DXF erstellen neue DXF Färben XMLStufe 3 erstellen XML Stufe 3 Schema XML Stufe 3 Informationen entnehmen LST Datei EPLAN Starten ENDE Abbildung 10.2-c In Abbildung 10.2-c kann man den Ab- lauf einer Konvertierung eines Auftra- ges des CAD Systems Ruplan sehen. Diese Abbildung steht im direkten Zu- sammenhang mit der Abbildung 10.2-a.
  59. 59. S. 59 10.3 DLL Start Ende Aufrufparameter speichern Variablen erstellen und füllen XML Stufe 3 Template existiert? ja EPLAN Projekt erstellen Fehler ausgebennein Template Projekt erfolgreich erstellt? ja Fehler ausgebennein Variablen bereitstellen Seite erzeugen Seitenattribute mit Werten füllen DXF Datei in erzeugte Seite importieren DXF Datei Fortschritt setzen Datenbank Projekt schließen Datenbank Status auf fehlgeschlagen und Endzeit setzen Müssen noch Seiten konveritert werden? ja nein Abbildung 10.3-a In Abbildung 10.3-a kann man den Ablauf der EPLAN Electric P8 DLL se- hen. Diese Abbildung steht im direk- ten Zusammenhang der CAD Systeme Promis bzw. Ruplan in den Abbildun- gen 10.2-b bzw. 10.2-c.
  60. 60. S. 60 11 PROGRAMMCODE HIGHLIGHTS In diesem Kapitel werden bestimmte Abschnitte oder komplette Funktionen beschreiben, die sehr kom- plex sind oder einen essentiellen Teil darstellen. 11.1 DURCHLAUFE DXF Diese Funktion liest jede Zeile einer DXF Datei Stück für Stück ein. Entnimmt sowie verarbeitet Informa- tionen aus den Zeilen. Die Werte aus den DXF Dateien schreibt sie in die Stufe 3 XML. Die konvertierten DXF Dateien werden in eine Variable geladen. Diese wird Zeile für Zeile durchlaufen. Direkt nach dem Finden einer bestimmten Zeichenfolge, wird der darin enthaltene Wert ausgelesen und in die XML Stufe 3 geschrieben. Bei der Abfrage „neuer Wert vorhanden“, in der Abbildung 11.1-b orange gefärbt, wird nach weiteren Suchworten abgefragt. Das Suchwort in dem Beispiel der Abbildung 11.1-a ist „Geprüft = “. Dieses spezi- elle Wort ist jedoch nicht das einzige, es gibt noch mehrere Wörter nach denen gesucht wird. Schlägt Prüfung von dem Suchwort „Geprüft = “ fehl, wird nach einem neuen Wort, beispielsweise „Datum“ gesucht. Dieser Vorgang wird solange wiederholt bis kein neuer Wert vorhanden ist Aufbau einer DXF Datei am Beispiel Promis: Abbildung 11.1-a
  61. 61. S. 61 Start DXF Datei nächste Zeile einlesen Zeilenwert = " 1" ? nächste Zeile einlesen ja nein Zeilenwert:“Herr Test“ merken nächste Zeile einlesen Zeilenwert = " 3" ?nein nächste Zeile einlesen ja Zeile enthält Wert: „Geprüft =“ XML Stufe 2 „Herr Test“ in XML Stufe 3 schreiben ja XML Stufe 3 Ende nächsten Wert z.B. Datum wählen nein neuer Wert vorhanden? ja nein Abbildung 11.1-b In Abbildung 11.1-b kann man den Ablauf von Kapitel 11.1 Durchlaufe DXF sehen.
  62. 62. S. 62 11.2 CONVERTDXF Start Ende DXF Dateien holen Ordner mit DXF Dateien Dateiname extrahieren DXF Datei in Variable laden alte DXF Datei Datei von String auf Byte umwandeln neue DXF Datei erstellen Temporärer Ordner Neue DXF Datei mit Text beladen Abbildung 11.2-a Die Funktion ConvertDXF konvertiert den Zeichensatz von DXF Dateien. Die korrek- ten Werte der einzelnen auszutauschenden Werte befinden sich im Wörterbuch. In diesem sind jedoch keine String-Werte, sondern Dezimal-Werte gespeichert. Aus diesem Grund müssen die Zeichen in meh- reren Schritten von einem Dateityp in den nächsten konvertiert werden. Der Schritt: „Neue DXF Datei mit Text bela- den“ wird im Kapitel mit dem gleichen Namen (Kapitel 11.2.1) mit einer eigenen Grafik genauer beschrieben.
  63. 63. S. 63 11.2.1 Neue DXF Datei mit Text beladen Start Jedes Zeichen durchlaufen alte DXF Datei Zeichen in Wörterbuch? nein Zeichen Konvertieren ja Das Zeichen von String nach Integer Konvertieren Zeichen von Integer zu Character Konvertieren Zeichen aus Wörterbuch nehmen Zeichen von Character zu String konvertieren Zeichen in neue DXF Datei schreiben Zeichen direkt nehmen neue DXF Datei Ende Zeichen von Byte zu String konvertieren Abbildung 11.2-b In der Abbildung 11.2-b wird der genaue Ablauf der Konver- tierung der einzelnen Zeichen Stück für Stück beschrieben. Diese Grafik ist eine genauere Beschreibung des Punktes „Neues DXF Datei mit Text beladen“ der Abbildung 11.2-a. Auszug aus dem OEM-ANSI Wörterbuch: 128 : 199 129 : 252 130 : 233 Wandlung Schritt für Schritt eines Zeichens das konvertiert (in der Abbildung Orange gefärbt) wird: 1. -252 (Byte) 2. „252“ (String) 3. 252 (Integer) 4. ‚ü‘ (Character) 5. „ü“ (String)1. 2. 3. 4. 5.
  64. 64. S. 64 12 PROGRAMMIERSTIL Alle Programmierprojekte wurden mit der Agilen Software Entwicklung umgesetzt. Die Vorgaben waren nicht bis ins kleinste Detail in einem Lastenheft beschrieben. Es gab keine weiteren Rückfragen mit dem Auftragsgeber bis zur Fertigstellung des Programmierprojek- tes. Stattdessen wurde die Software Stück für Stück in den vier Schritten (siehe Abbildung 6.5-a) weiterentwickelt. Dazu waren jedoch regelmäßige Absprachen mit der Abteilung notwendig. Entsprach die Entwicklung, zu einem bestimmten Zeitpunkt, nicht den Erwartungen konnte das Programmier- projekt schnell angepasst werden. Dies war nur möglich weil immer nur kleine Aufgaben und nicht das ganze Program- mierprojekt auf einmal abgearbeitet wurden. Bei der Gestaltung des Programmcodes wurde sich weitestgehend an die „C# Coding Convetions“ von Microsoft gehalten. Dazu gehört beispielsweise:  Auslagern von Arbeitsschritten in Funktionen  Eindeutige sinnvolle Variablenamen  Kommentare für komplexe Abschnitte  Pfade und Parameter auslagern in Settingsdatei Zusätzlich wurde ein Interface für die CAD Systeme erstellt. Damit kann im späteren Verlauf der Ent- bzw. Weiterentwicklung des SEDI_Service sehr einfach ein zusätzliches CAD-System hinzugefügt werden. Abbildung 11.2-b
  65. 65. S. 65 13 TAGESBERICHTE 02.03.15 Besprechen des Arbeitsvertrages, Urlaub und den Ablauf des Praxissemesters. Einführung in das Projekt Altdatenkonvertierung bekommen. Recherche zum Format DXF, manuelles Erstellen von Dateien, sowie Unterstützungsprogramme zur Anzeige und Konvertierung. Die Konvertierungsprogramme DXFKONV und CADconv, sowie die meisten DXF Viewer sind kosten- pflichtig oder sind nur privat nutzbar. Aus diesen Gründen wurde kein geeignetes DXF Konvertierungs- programm gefunden. Als DXF Viewer wird DWG Viewer verwendet, da dieser bereits auf dem System vorinstalliert ist. Recherche um UTF Zeichen korrekt zu konvertieren. Erstellen eines Wörterbuches zu den Sonderzeichen, die inkorrekt konvertiert wurden. Das Dictionary hat eine Key Value Eigenschaft, das heißt zu einem Schlüssel wird ein bestimmter Wert zugeordnet so- mit kann ein Wörterbuch erstellt werden. 03.03.15 Vertiefen in die Bereiche Table und Head von DXF. Einführung in Programm Promis (CAD Programm) erhalten. Erstellen von neuen und öffnen von bestehenden Projekten in Promis. Erfassen von Informationen, DXF Dateien von Promis, die vor und nach dem Import beachtet werden müssen. Analyse von 3 Betriebssystemen HP-UX und AIX und Windows, dazu müssen verschiedene ANSI Codes betrachtet werden. Da jedes Betriebssystem verschiedene verwendet. Erstellen einer Datei mit dem Text „ßöäüÖÄÜ“ zur Testkonvertierung in Promis. Analyse des Ergebnisses ergab, dass OEM-ANSI bei Promis auf Windows benötigt wird. Somit wird ein Konvertierungswörterbuch erstellt anhand der OEM-ANIS Tabelle. Erstellen eines Programmablaufes zum Umwandeln des Zeichen- satzes Programm mit GUI in C# mit Visual Studio 2013 erstellt. Dieses kann Textdateien sowie DXF Dateien einlesen. Problem Sonderzeichen sind Fragezeichen. Somit können diese nicht eindeutig zugwiesen werden. Ein ß in der Zeichnung ist ein „?“ in der DXF Datei. Somit müssen alle Zeichen in das Dezimalsys- tem konvertiert werden. Im Dezimalsystem ist eine eindeutige Zuweisung alle Sonderzeichen möglich. Recherche nach Konvertierungsklassen in C# um effektiv und effizient ASCII zu dezimal umzuwandeln. Programm kann nun Textdatei in Dezimal umwandeln.
  66. 66. S. 66 04.03.15 Besuch verschiedener IT Abteilungen IT-M  Serverraum  Personalhelpdesk und Bestellung von Hardware wie Monitore und Telefone  Serviceunternehmen die für Schuler extern Arbeit übernehmen. Telefonanlage, Computer, Dru- cker usw. sind extern mittels Firmen realisiert  Hardwareverwaltung  Citrix Lösungen IT-D  Server, auf denen mehre VMs laufen  VM Software Möglichkeiten  modifizieren der Hardware Ressourcen der Server mit VM Software IT-O  SAP Systemarchitektur (AIX, Oracle, Netweaver)  SAP Systeme (Systemlandschaften) bei Schuler  Module (MM, PP, SD, CS, QS, PS, CO, FI, HR)  Programmierung / Customizing  Sperrkonzept, Verbuchungskonzept, Workprozesse  ALE-Szenarien (Kommunikation der Systeme untereinander)  Rollen und Berechtigungen  Schnittstellen zum System  Change Management IT-E  Geschichte von Schuler  Geschichte vom Umstieg von Unix auf Windows  Art der Dokumentation vom Praxisse- mester  Einführung in EPLAN Electric P8  EPLAN Electric P8 ADDINS  Visual Studio  DevExpress  Team Fundation Server IT-M  Catia Einführung
  67. 67. S. 67 05.03.15 Einarbeiten und vertiefen in DXF. Problem: Visual Studio zu starten. Recherche zu Startproblemen. Lösung: Windows Benutzerkonto wird zurückgesetzt. Dadurch wurde der vorhandene Code gelöscht. Konverter neu von Anfang an programmieren. Grafische Elemente hinzugefügt und bestehendes Layout verbessert. Problem: Konverter stürzt ab beim Versuch eine komplette DXF Datei zu konvertieren. Mögliche Ursa- che ist die häufige Ausgabe auf der Konsole. Programm funktioniert nur mit kleinem Teil einer DXF. Text wird in Dezimal übersetzt. Programm kann nun eine „falsche“ in eine korrekte Dezimalzahl tauschen. Dazu wurde eine neue Funk- tion geschrieben. Lösung: Grafisches Element zur Textanzeige entfernt Recherche zu schnelleren Alternativen in C#:  Switch Case ist schneller als IF  Dictionary ist schneller als Array Problem: Die Information in der OEM-ANSI Datei ist in der inkorrekten Reihenfolge. Lösung: Korrektur der Reihenfolge im Code. Ausgabe ist in ASCII. Doppelte Einträge werden entfernt, dadurch werden alle Zeichen außer Sonderzeichen gelöscht.
  68. 68. S. 68 06.03.15 Problem: DevExpress und Visual Studio lassen sich nicht starten. Lösung: Einstellung in Visual Studio, sodass alle Module manuell je nach Bedarf nachgeladen werden und nicht alles zu Begin. Versuch Text in Promis auf andere Schichten des Projektes umzulagern, sodass nach der Konvertierung jeder Text auf Schicht zwei liegt. Recherche nach DXF Schichten und der Zusammenhang mit Text waren ohne Erflog. Recherche nach schnellen, threadsicheren Methoden um Programm zu verbessern. In dem Element TEXT gibt es das Element „Group 72“ in ihm kann die Position geändert werden. Zum Beispiel von „links, oben“ auf zentriert. Zeichen die nicht im Dictionary sind werden noch nicht in ANSI konvertiert und kommen zu häufig vor. Programm konvertiert nun DXF in dem Sinne, dass es eine Datei einliest und dann die Sonderzeichen aus dem Dictionary nimmt und die die nicht im Dictionary sind übersprungen werden. Programm dauert zu lange. Schreiben in das GUI Element Memoedit entfernt. Problem: Programm wurde mit der selbst erstellten Testdatei getestet. Diese war jedoch im falschen Zeichensatz(UTF-8), jedoch ist der Zeichensatz der vorhandenen Daten ANSI. Lösung: Den kompletten Programmcode ändern. Mehrere Encodings beim einlesen und schreiben getestet.
  69. 69. S. 69 09.03.15 Programm kann Sonderzeichen austauschen. Neue Aufgabe Programm verarbeitet ganzen Ordner mit DXF Dateien um Geschwindigkeit zu testen. Neuer Button angelegt der einen FolderBrowseDialog öffnet. Fehler zwischen DevExpress DLL 13 und 14. Alle Verweise zu DevExpress DLL 13 gelöscht. Programm kann nun mehrfach hintereinander ausgeführt werden weil das Dictionary nur einmal ange- legt wird. Programm kann nun einzelne oder auch mehrere DXF Dateien, umwandeln das heißt Sonderzeichen werden umgewandelt. Im DWG Viewer kann „ANSI as utf8“ nicht darstellen, somit muss das Exportformat „ANSI“ werden. Fehlerhaftes Encoding wurde behoben, es ist nun „ANSI“. Die Sonderzeichen werden korrekt in EPLAN Electric P8 angezeigt. Als nächster Schritt müssen Informationen aus dem Rahmen der CAD Zeichnung entnommen werden. Ansatz: suche nach dem Wort „Geprüft“ dann nach der Zeichenfolge „1Name3Geprüft“ Somit ist der Wert, der in „Name“ steht der Name des Prüfers. Ergo wird ein Wert aus dem Rahmen der CAD Zeichnung entnommen. Recherche nach: Wie können Informationen in den Rahmen in EPLAN Electric P8 geschrieben werden? DLL schreiben, die die Schnittstelle von EPLAN Electric P8 benutzt. Somit können Funktionen zum Import von DXF Dateien, Erstellen von Projekten usw. aufgerufen werden. Nach der Erstellung einer Test DLL, wurde diese in EPLAN Electric P8 geladen. Problem: Das Einbinden der erstellten Test DLL, EPLAN Electric P8 reagiert nicht auf den geschriebenen Test Code.
  70. 70. S. 70 10.03.15 Weiterentwickeln der DLL Recherche zu Actions und Funktionen der Schnittstelle von EPLAN Electric P8. Versuch ein Test Programm zu entwickeln das irgendwelche Parameter in den neuen Rahmen schreibt. Neuer Ansatz: Die Eplan exe mit Aufrufparametern starten, sodass keine GUI startet. Somit hat man mehr Geschwindigkeit. Danach die selbsterstellte Action mit Parametern aufrufen. In diesen sind der Ort der DXF Datei und der Ort wo die importierte Datei abgelegt werden sollen. Die EPLAN Electric P8 exe kann mit speziellen Parametern aufgerufen werden, somit wird die selbst kre- ierte DLL, mit zwei Orten und ohne GUI gestartet. Zum Testen werden die Angaben der Orte in einer Messagebox ausgegeben. Recherche nach Funktionen und Nampespaces zum Importieren von DXF Seiten in EPLAN Electric P8 Projekte. Problem beim Importieren besteht darin, dass die Seite zum Import bereits vorhanden sein muss. Erfolgreiches importieren der konvertierten DXF Dateien ist nun möglich. Jedoch ist das Scaling des Im- ports inkorrekt eingestellt. Probleme mit der Schnittstelle von EPLAN Electric P8 da die Anleitung sehr dürftig ist. Es gibt viele Eigen- schaften und Werte, die in der umständlichen Hilfe gesucht werden müssen. Anhand spezieller Einstellungen in EPLAN Electric P8 werden zu allen Elementen auf einer Zeichnung Nummern angezeigt. Diese Nummern können in der Hilfe nachgeschlagen werden. Somit findet man die korrekte Bezeichnung einer Eigenschaft. Letztere werden benötigt um Informationen in den Rahmen der Zeichnung zu schreiben. Nächste Aufgabe: Im Konverter, nicht in der DLL Informationen aus der DXF herauslesen und speichern. Entwickeln eines Algorithmus für das Feld Geprüft und die so mittigen Daten extrahieren.
  71. 71. S. 71 11.03.15 Überarbeiten des Algorithmus für Geprüft Experimentelles implementieren des Algorithmus um Fehler zu finden. Problem: Jedes Zeichen wird einzeln gelesen und nicht Wortweise. Zudem wird das Zeichen nach der Konvertierung sofort geschrieben und ist nicht in einem Array verfügbar. Ergänzend werden die Umlaute erst korrekt dargestellt nachdem das Encoding vom Writer stattgefunden hat. Lösung: Nach der Konvertierung das Dokument Zeile für Zeile mit einem Reader nach dem Wort „Ge- prüft“ durchsuchen. Recherche für Geschwindigkeit von Readern. Streamreader ist schneller als der Aufruf von File.ReadAllLines Problem: Das Wort Geprüft ist in der Datei aber die If Anweisung findet das Wort nicht Lösung: Beim Einlesen der Datei war das Encoding falsch somit konnte nicht auf Sonderzeichen geprüft werden. Problem: alte korrekte Sonderzeichen werden durch die Konvertierung gelöscht. Wenn ein Sonderzeichen konvertiert wird, rutscht ein „“ „ in den Programmablauf somit werden alle Sonderzeichen wie öäü null. In der OEM-ANSI Tabelle von Promis wurde ü mit Leerzeile ersetzt. Lösung: Die OEM-ANSI Tabelle manipulierst werden. Recherche um Programm schneller zu machen Schnellere Möglichkeit gefunden um String in integer zu wandeln somit bei gleichen Daten von 230 Sek auf 170 sek gedrosselt.
  72. 72. S. 72 12.03.15 Recherche um Programm zu beschleunigen. Manche Methoden werden schneller, weil sie static sind. Stringbuilder ist schneller als String Weiterentwickeln des Algorithmus Geprüft Prüfer wird erfolgreich ausgelesen. Problem: Sonderzeichen sind wieder inkorrekt beim Konvertieren. Lösung: Encoding beim Schreiben der Dateien umstellen, dort befand sich der falsche Wert. Recherche welche Werte müssen aus der DXF Datei herausgelesen werden, außer Geprüft. Erstellen einer Liste von Informationen: Tabelle erstellt: aktuelle Anlage aktuelles Blatt aktuelles Datum Benutzername Blattbez. 1 Blattbez. 2 Datum Erstelldatum Erstellname Geprüft Kom-Nr. Konstrukteur = Bearb. Kunde Masch-Typ Algorithmus bearbeiten sodass alle wichtigen Werte aus der DXF Datei entnommen werden. Anfangs wurden nur bestimmte Werte gefunden. Der Fehler, dass die Schlagwörter mit dem Begriff Contains gesucht wurden, wurde behoben. Mit dem Ersetzten von Equal werden genau nach den Zei- chen gesucht und nicht nach einer Reihe von Zeichen in der das Schlagwort ist. Wenn sich in einer Zeile beliebig oft das Zeichen 1 befindet liefert die IF Anweisung ein true und führt somit Code aus. Dies soll jedoch nur der Fall sein wenn die Zeile dem Wert „ 1“ gleicht. Durch diesen Fehler wurde die IF Anwei- sung zu häufig true. Besprechen des Ablaufzyklus vom Konverter.
  73. 73. S. 73 13.03.15 Erstellen einer XML Konfigurationsdatei zur Vorauswahl von Eigenschaften. Recherche nach der Anzahl von verschiedenen Rahmen der Zeichnungen. Manche Standorte haben andere Rahmen als andere. Erstellen der ersten Konfigurationsdatei anhand des ersten Normblattes SPW_DIN beziehungsweise dem ersten Standort. Recherche von Performance Verbesserung, mit Visual Studio. Neue „Integer to Char“ Konvertierungsfunktion geschrieben, die das Programm beschleunigt. Aufteilen der einzelnen Konfigurationsdatei in drei Stufen. Stufe 1 Enthält das CAD System, Stufe 2 das Normblatt, Stufe 3 die Informationen für die DLL. Erstellen der drei Konvertierungsdateien. 16.03.15 Überarbeiten der Stufe 3 XML Recherche und Vergleich von XML Erstellungs- sowie Validierungswerkzeugen verschiedener Anbieter. Die meisten Ergebnisse waren Webseiten mit Upload Funktion, jedoch schlossen Altova und die Interne Engine von Visual Studio am besten ab. Festlegen der Reihenfolge von der Erstellung der XML Schemata und XML Konfigurationsdateien. Es werden zuerst die Stufen eins bis drei erstellt, danach werden mit Visual Studio aus den Konfigurations- dateien Schemata kreiert. Erster Versuch den Alten Rahmen der DXF Datei, die in EPLAN Electric P8 importiert wurde, zu löschen. Analyse der Buchstaben A-F und 1-8 im Rahmen und des Rahmen selbst. Messen der Koordinaten des Rahmens. Versuch alle Elemente der DXF Datei, mit dem Namen „Line“ und „Solid“ zu löschen. Nach dem Löschen wurden auch wichtige Linien und Elemente aus den Zeichnungen gelöscht, was nicht vorgesehen war. Somit ist diese Idee ein Fehlschlag. Problem: Was ist der Rahmen und was die Zeichnung? Versuch beim Export den Rahmen auf eine Andere Layer zu schieben oder zu markieren um somit eine Unterscheidung zu ermöglichen, dies ist jedoch nicht möglich. Angabe mehrerer Punkte, somit werden zwei Rechtecke erzeugt. Mittels der Differenz dieser kann der Rahmen entfernt werden. Drei XML Schemata zu den drei XML Stufen erstellt.
  74. 74. S. 74 17.03.15 Überarbeiten der XML Schemata. Recherche zu XML Schreib- sowie Lesefunktionen in C#. Erstellen eines groben Ablauflaufplanes, auf Papier, in Welcher Reihenfolge welches Programm bzw. Funktionen aufgerufen wird. Probleme mit DevExpress 13. Versuch letzteres zu deinstallieren um Listboxview von DevExpress 14 zu nutzen. Überarbeiten der GUI Elemente und Hinzufügen eines Fortschrittsbalkens. Alpha Version der GUI abgeschlossen. Überarbeiten der Kommentare, sowie Benennen von Variablen und Methoden im Code. Die Konfigurationsdatei der Stufe eins und zwei XML wurde befüllt und dynamisch im Konverter eingele- sen, sowie die Information daraus an die GUI weitergeleitet. Überarbeiten der Schemata. 18.03.15 Hinzufügen von mehr dynamischen Abhängigkeiten, die die Information aus den XML Dateien beziehen. Überarbeiten von Kommentaren, sowie Benennen von Variablen und Methoden im Code. Problem: Die Stufe 3 XML benötigt pro Seite eine eigene XML Datei. Lösung: Die XML Stufe 3 Konfigurationsdatei muss anhand eines gelungenen Schemas automatisch er- zeugt werden. Nach dem Erstellen wird letztere mit Daten gefüllt. Nach dem Konvertierungsvorgang stehen in der Stufe 3 XML die Informationen für die DLL. Problem: beim Schreiben in die Stufe3 XML, Datei hat nach dem dynamischen Erstellen eines Schemas ein Lock. Mit einem Lock kann man nicht schreiben. Versuch alternative Lösung zu finden um Lock zu umgehen. Lösung: Reader und Writer müssen explizit mit dem Aufruf Close geschlossen werden. Programm liest einerseits Parameter aus XML Stufe 1 bis 2 ein und schreibt in XML Stufe 3. Manche Parameter bestehen aus mehreren Teilen, wie zum Beispiel Benennung. Diese können noch nicht perfekt verarbeitet werden. Als nächstes müssen die XML Parameter „Fix Werte“ und „Scaling“ eintragen werden. Letztere müssen an EPLAN Electric P8 weitergeleitet und importiert werden.
  75. 75. S. 75 19.03.15 Verbessern und weiterentwickeln der Schemata Stufe 3. Mehrere Fehler und Exceptions sind in den XML Dateien aufgetreten. Beheben der Fehler. Analyse von Promis ergab die XML Dateien müssen erweitert werden um die Dokumentenstruktur. Problem der Dokumentenstruktur viele Werte der Struktur von EPLAN Electric P8 sind nicht vorhanden und somit müssen Fixwerte festgelegt werden. Recherche über IXF. Beginn mit der Auswertung von IXF Dateien. Recherche nach der Benennung der einzelnen Elemente der Dokumentenstruktur. Für Unbekannte Wer- te werden Fixwerte verwendet. Manche Werte der Dokumentenstruktur werden aus der IXF Datei aus- gelesen. 20.03.15 Alle Daten bis auf die Fixwerte werden nun korrekt in die XML übertragen. Weiterentwickeln der DLL für EPLAN Electric P8, in Ihr soll eine manuell erstellte Aktivity aufgerufen werden. In dieser werden die XML Stufe 3 Daten eingelesen und verarbeitet. Recherche für Ablauf der Integration von EPLAN Electric P8 in das bestehende Programm. Recherche Welche APIs und DLLs müssen zum Projekt hinzugefügt werden. Schwierigkeiten mit „FileNotFoudExeption“ obwohl DLLs im Projekt sind. 23.03.15 Analyse des DLLs Problems Alle EPLAN Electric P8 DLLs entfernt danach nur die benötigten DLLs einge- fügt. Planänderung es wird alles was mit EPLAN Electric P8 zu tun hat in die DLL eingelagert. Somit hat man auch keine DLL Probleme und kann mehrere Instanzen EPLAN Electric P8s nutzen. Neue Funktion erstellt, die ein EPLAN Electric P8 Projekt mit Seiten erstellt. Problem: es werden keine Projekte angelegt. Lösung: Hinzufügen eines Template für das Projekt. Suche nach Template von einem neuen Rahmen. Erweitern des Konverters um einen Zielordner und einen dedizierten Start Knopf. GUI Parts sind abgeschlossen es muss nur noch die Information des Ziel- ordners in Programm übernommen werden. Zusätzliche Parameter, die Hardcodet sind, müssen noch umgeschrieben werden, so dass mehr dynamic in das Projekt gelangt.
  76. 76. S. 76 24.03.15 Anpassen aller Namen der Variablen. Sie haben alle die gleiche Struktur in der Benennung. Dateityp und Reichweite werden in den Variablennamen festgehalten. Auslagern des IXF Teils in eine extra Methode. Verbessern des Algorithmus, der die IXF Datei einliest. Befüllen der Dokumentenstruktur mit Werten. Recherche nach Dokumentenart in der Dokumentenstruktur. 25.03.15 Krankgeschrieben 26.03.15 Krankgeschrieben 27.03.15 Krankgeschrieben 30.03.15 Erstellen einer leeren Projektvorlage mit EPLAN Electric P8. Diese wird für jede Neuerstellung eines Pro- jektes benötigt. Änderungen der Projektvorlage im Code übernommen. Eintragen der Rahmenwerte in das neue EPLAN Electric P8 Projekt. Funktion erstellen die XML Dateien in der EPLAN Electric P8 DLL wieder einliest und Informationen zum Projekt hinzufügt. Verbessern des Einlesens der XML Dateien. Die For Schleifen und If Abfragen wurden auf häufiges Deklarieren und Toten Code überprüft. Beim Start von EPLAN Electric P8 kommt der Fehler das zwei Actions aufgerufen werden aber es gibt nur eine. Recherche um Fehler zu beheben. Fehler in Funktion XMLeinlesen gefunden. Fehler in XML Datei die eingelesen wird.
  77. 77. S. 77 31.03.15 Mehrfache Versuche die XML Dateien zu validieren um somit die Fehler zu beheben. Problem: Programm wirft eine Exception, dass die XMLs die generiert werden nicht korrekte XML Datei- en sind. Versuch XML Dateien zu verbessern. In den XML Dateien waren keine Schemata verankert. Versuch in dem Schema das Schema selbst zu verlinken, dies schlug fehl. Versuch mit C# ein Attribut im Nachhinein zu erstellen, war erfolgreich, alle XML Dateien sind nun valid. Lösung: Pfad beim Einlesen in der DLL ist inkorrekt, weil der Pfad doppelt kopiert wurde. Problem: EPLAN Electric P8 beendet sich nicht von selbst. 01.04.15 Versuch Problem zu lösen das EPLAN Electric P8 sich nicht schließt und das Projekt beschädigt ist wenn man es öffnen will. Neuen Programmteil gefunden der aufgerufen werden muss bevor das Projekt geschlossen wird. Lösung: Hinzufügen des Aufrufparmaters /Auto beendet sich beim Testen die DLL und somit auch EPLAN Electric P8. Der Test ob die Datei bzw. das Projekt geöffnet sind / ist bevor es erzeugt wurde schlug fehl dies war ein Denkfehler. Der Pfad zu dem das Projekt führt wird überprüft. Falls dort bereits ein Projekt ist geschieht nichts, ist dies jedoch nicht der Fall wird dort ein Projekt angelegt. EPLAN Electric P8 importiert die Seiten. Manche Informationen im Rahmen sind inkorrekt. Erweitern der OEM-ANSI Kodierungsfunktion um mehr Dynamik. Diese kann nun leicht um mehr Kodie- rungsdateien erweitert werden. Der Projektname wird dynamisch aus der XML entnommen. Die Werte aus der EPLAN Electric P8 Hilfe sind korrekt aber trotzdem sind manche Daten fehlerhaft oder leer.
  78. 78. S. 78 02.04.15 Dokumentenstruktur wird erzeugt. Versuch einen kleinen Teil von einem Projekt zu konvertieren. Dieser hat lediglich 100 Seiten. Nach dem Testlauf sind die Strukturelemente inkorrekt. Nach Anpassen des Inhaltes (vertauschen der Werte) ist die Dokumentenstruktur korrekt. Ändern der Projektsettings sodass alles in Großbuchstaben konvertiert wird. Dokumentenstruktur fertiggestellt. Recherche mit der EPLAN Electric P8 Hilfe Verbessern des „Look and Feel“ des Codes > Variablennamen und Kommentare Buttons und Bedienelemente der einzelnen Schritte werden deaktiviert nachdem man von einem Schritt in den nächsten geht. Hilfe Button mit Anzeigebox eingefügt für Benutzer die nicht wissen wie man das Programm benutzt. 03.04.15 Feiertag 06.04.15 Feiertag 07.04.15 Verbessern des Codes mit Kommentaren. Problem: Projekt muss gelöscht werden wenn man das Programm zwei Mal starten will. Erstellen eines Interfaces um zukünftige Erweiterung vom Programm zu erweitern. Verbessern des Programmcodes mit „Pair Programming“. Damit wurden häufige Aufrufe verbessert, sowie Funktionen vereinfacht. Manche Aufgaben wurden in weitere Methoden ausgelagert.
  79. 79. S. 79 08.04.15 Problem der Quell- und Zielordner sind identisch beim Starten des Programmes. Aus diesem Grund wurden keine XML Dateien in den Zielordner geschrieben und die alten DXF Dateien überschrieben. Erstellen einer Aufrufhierarchie für den Überblick und zur Fehlerfindung. Inhalte in EPLAN Electric P8 Rahmen sind an falscher Stelle trotz Recherche und auslesen der Zahlen aus anderen Projekten. Problem: Mehrere Informationen tauchen nicht im Rahmen auf. Das liegt am Template, an der Vorlage, dort wird festgelegt wie die Felder in EPLAN Electric P8 heißen. Somit variieren diese stark voneinander. Ersteller kann somit Creater oder Zusatzfeld sein. Lösung: Das Projekt muss gelöscht werden. Projekt lässt sich nicht löschen wegen Rechten und Zugriffsproblemen von anderen Programmen (Windows EPLAN Electric P8 etc pp) Bei vorhanden Projekt wird eine Kopie erstellt und eine Meldung wird ausgegeben. Das Problem besteht weiterhin, keine Lösung in Sicht weder Kopie noch löschen noch sonst was. Einchecken der Projekte in den Team Foundation Server. Performance Test für ein Projekt abgeschlossen. 561 Sek pro Projekt = > 75 Tage für alle Projekte. Auf einem Prozessor 75 Tage. 09.04.15 Verbinden mit dem Team Fundation Server, sodass Code Revision betrieben werden kann. Um ein Pro- jekt dem Server hinzuzufügen müssen alle Klassen und Nampespaces einen Sinnvollen Namen haben. Das Umbenennen erzeugt wegen der Umbenennung viele Fehler. Laden und Entladen der DLL in EPLAN Electric P8 um die Umbenennungen zu aktualisieren. Manche Werte im Rahmen überschreibt EPLAN Electric P8 beim der Erstellen. Somit sind diese leer so- bald man das Projekt und die Seite öffnet. Überprüfen für bestehendes Projekt funktioniert nicht. Benutzer kann nicht zwei Projekte in einen Ord- ner ablegen, die den gleichen Namen haben. Import von DXF Seiten in die einzelnen Seiten vom EPLAN Electric P8 Projekt.
  80. 80. S. 80 10.04.15 Einarbeiten in Ruplan. Anstatt IXF Dateien stehen LST Dateien pro Projekt zur Verfügung. Recherche zu DXF Dateien von Ruplan. Das Importprogramm von DXF Seiten muss überarbeitet werden. Die Projekteinstellung mit der Groß- schreibung wurde wieder entfernt. Die Blattnummern, auf den Promis Seiten, sind inkorrekt. Anpassen der Benennung der Seiten und somit auch des Blattnamens. In den DXF aus Promis gibt es zweimal das Feld aktuelles Blatt, das die Blattnummer freigibt. Dies führt zu vielen Fehlern. Im Programm wird somit jetzt nur noch einmal nach dem Begriff aktuelles Blatt ge- sucht. Umsetzung mit einem Boolean wert. Jetzt stimmt die Blattzahl links beim Projektbaum und im Rahmen. Der von EPLAN Electric P8 automa- tisch eingefügte Wert des nächsten Blattes stimmt auch. Schwierigkeiten mit dem Rahmen, es ist die Funktion Einbauort vom alten zum neuen Rahmen unter- schiedlich. Überprüfen der Performance von Promis Projekten. 13.04.2015 Einarbeiten in Ruplan. Starten des Programmes sowie testen der Funktionen. Ruplan hat mehrere verschiedene Rahmen im Vergleich zu Promis. Im oberen Teil, des Rahmen stehen die Funktionskennzeichen, sie sind wichtige Informationen die auch in EPLAN Electric P8 übernommen werden müssen. Der Rahmen ist unterschiedlich zu Promis zudem werden Sonderzeichen ohne bisher bekannte Proble- me angezeigt. Verändern des Suchalgorithmus um Informationen aus den DXF Dateien auszulesen. Die LST Dateien ähneln viel mehr einer Tabelle als die IXF Dateien. Die Rahmen Informationen sind nicht immer verfügbar. Je nach Erstellungsjahr fehlen einige Informati- onen. Diese Fälle müssen abgefangen werden. Sobald ein Feld leer ist soll ein Fixwert eingetragen wer- den. Komplikationen der XML Konfigurationsdateien, wegen der abwechslungsreichen Informationsmenge in den Ruplan Projekten. Auslagern aller Arbeiten mit Ruplan in eine extra Klasse.
  81. 81. S. 81 14.04.15 Bearbeiten der Klassen von Ruplan Pfadnamen von Dateien verbessert, dort waren Leichtsinnsfehler vorhanden. Die Eigenschaften der Paramater der DXF Klasse sind nicht eindeutig, sowie die von Promis. Zudem Be- stehen die Informationen aus dem XML Element „Seitennamenproeigeschaft“ aus zwei anstatt üblich 3 Parametern dies wurde angepasst. Index Out of Range Exception wurde behandelt, die konkret auftreten, wenn LST-Dateien vom Standard abweichen. Optimieren der DXF Werte für Stufe2 XML Ruplan. 15.04.15 Optimieren der Werte von Stufe2 XML Ruplan. Aufwerten der Textdateien. In diesen stehen die Ausgaben des Programmes. Aus Ihnen kann gelesen werden, welche DXF Elemente für welche Information im Rahmen der Ruplan Projekte stehen. Es treten Probleme auf, da die Variablen teils mehrfach verwendet werden oder gar nicht vorkommen. Dies erschwert das Festlegen der DXF Parameter erheblich. Das Belegen bzw. Festlegen der Parameter ist abgeschlossen. Überarbeiten und Verbessern mehrerer Klassen. Problem: In EPLAN Electric P8, muss jede Seite einen unterschiedlichen Namen tragen. Viele Namens- werte sind jedoch leer. Das heißt, entweder fehlen viele Felder, sind leer oder viele Felder haben den gleichen Wert. 16.04.15 Weiterhin Probleme mit den Werten die In EPLAN Electric P8 importiert werden. Viele Werte sind leer bzw. haben Sonder- oder Leerzeichen. Dies erfordert Bearbeiten der Strings. Die Dokumentenstruktur ist noch nicht korrekt zudem ist die Farbe Türkis. Diese muss auf Schwarz ver- ändert werden. Zum Ändern der Farben muss jede DXF durchlaufen werden. Recherche zum Erstellen eines Algorithmus, der die Farbe ändert. Fertigstellen des Algorithmus zum Färben. Dieser Ändert die Farbe aller Linien von Türkis nach Schwarz. Recherche woran kann man in der DXF Datei erkennen ob Sie Hoch- oder Querformat ist.
  82. 82. S. 82 17.04.15 Nach der Recherche, wie erkannt werden kann ob sich eine Seite im Hochformat befindet, ergab, dass es spezielle Texteigenschaften gibt. In diesen steht ob ein Text sich in einem Winkel befindet. Bei Seiten, die im Hochformat sind steht dieser Wert auf 90 Grad. In Promis Projekten kann jetzt, dank der neuen Eigenschaft aus der Stufe3XML, herausgelesen werden ob die Seite Hoch oder Querformat ist. In Ruplan wurden noch keine Hochformat Projekte gefunden. In EPLAN Electric P8 muss jeder Text direkt angesteuert und danach die Größe geändert werden. Somit muss man wissen welche Texte ausgewählt werden und welche Größe sie haben müssen. Gleicherma- ßen werden blind Texte verändert diese Lösung ist nicht akzeptabel. Erstellen eines GUI Elements, das den Fortschritt mit Seitenzahl anzeigt. Concurrency Probleme mit Fortschrittsbalken. Verwenden von Schuler Tools für den Fortschrittsbalken. Problem: Der Fortschrittsbalken in der DLL, verschwindet sofort nach dem Erzeugen. 20.04.2015 Versuch den Blinker Bug zu lösen. Der Fortschrittsbalken blinkt nur kurz auf anstatt dauerhaft angezeigt zu werden. Lösung: Die Action wurde zwei Mal aufgerufen einmal mit dem direkten Aufruf per „Aufruf Parameter“ andererseits mit dem „Automatischen Aufruf“ in der Funktion „OnInitGui 

×