Abteilung Informatik, Kommunikation und Elektrotechnik
 

 

Software Engineering

red_light Software zur Steuerung eines industriellen Messmikroskops

red Student: Alessi Patrik
Traber Urs
red Dozent: Aders Arnold Prof.
 
red Kurzbeschreibung:
  • Our work is the presentation of our capabilities. Johann Wolfgang von Goethe

Die Produktionsprozesse der heutigen Industrie stellen kontinuierlich höhere Anforderungen an die Qualitätssicherung. Um die Qualität der Produkte sicherzustellen, müssen entsprechende Prüfsysteme eingesetzt werden. Immer öfter werden optische Messverfahren eingesetzt, da diese komplizierte Formen und fragile Teile kontaktlos messen können. Das Ziel des Auftraggebers ist, ein Messmikroskop zu entwickeln, das den künftigen Anforderungen in der Produktion gerecht wird.

Aufgabe der vorliegenden Diplomarbeit ist, einen Softwareprototypen zu entwickeln, mit dessen Hilfe die wichtigsten Abläufe und Funktionen gezeigt werden können. Dies betrifft einerseits die grafische Darstellung und Handhabung von Messelementen wie zum Beispiel Messpunkten im Zusammenspiel mit der Hardware und andererseits die Ansteuerung beziehungsweise Regelung des Messtisches. Eine zentrale Rolle spielen dabei zwei Design-Pattern, welche für die Datenverwaltung und Darstellung verantwortlich sind. Von Bedeutung ist auch der Entwurf einer einfach zu bedienenden, grafischen Benutzeroberfläche.

Die Software ist nach objektorientierten Prinzipien entwickelt und mit Borland Delphi implementiert worden. Dem Auftraggeber kann damit ein Prototyp übergeben werden, auf dem er aufbauen kann.

Fachgebietübersicht / Studentenverzeichnis

red_light Sprachsteuerung für medizintechnische Geräte

red Student: Hofmann Thomas
Osrecak Mihael
red Dozent: Hutter Hans-Peter
 
red Kurzbeschreibung:

Bei chirurgischen Eingriffen mit Endoskopen werden verschiedene zusätzliche Geräte, wie Lichtquellen, Kameras und auch Roboter, eingesetzt. Diese müssen vom Chirurgen selbst oder von Assistierenden bedient werden. Da der Chirurg Augen und Hände für den eigentlichen Eingriff braucht, bedeutet die Bedienung dieser Geräte jedesmal eine Ablenkung der Aufmerksamkeit. Ein weiteres Problem besteht darin, dass die Hände steril bleiben müssen, was bei einer manuellen Bedienung nur mit unverhältnismässig hohem Aufwand zu gewährleisten ist.

Eine wesentliche Verbesserung wird erreicht, wenn die Geräte auch per Stimme bedient werden können. Dadurch kann sich der Chirurg auf seinen Bildschirm konzentrieren und hat Hände und Augen frei, um die Operation durchzuführen. Auch die Sterilitätsanforderungen können leichter erfüllt werden.

Die Aufgabenstellung unserer Diplomarbeit umfasste die Entwicklung eines Dialogkonzeptes, die Implementation eines Prototyps sowie einer einfachen grafischen Benutzeroberfläche zur Simulation einer manuellen Bedienung der Geräte. Schliesslich war das gewählte Dialogkonzept anhand des Prototyps zu evaluieren.

Beim Dialog-Design wurde auf möglichst natürliche Dialoge geachtet. Mit Hilfe von Anwendungsfällen wurden drei typische Operationssituationen analysiert. Danach wurden verschiedenene Konzepte entworfen, die sich im Aufbau des Kommandobaumes und der Navigation durch denselben zum Teil wesentlich unterscheiden. Mit der Entwicklungs-Software grapHvite wurden die Dialoge für die einzelnen Geräte in englisch und deutsch realisiert und getestet.

Die Dialoge der einzelnen Geräte haben folgenden Aufbau: 1. Gerätename, 2. Funktion, 3. Befehl. Dabei können die Geräte mit einem Kommando (bestehend aus mehreren Wörtern) angesprochen oder nur einzelne Wörter gesagt werden. Ein Fokus wird an die entsprechende Stelle gesetzt, so dass mit einem nächsten Kommando an derselben Stelle weitergefahren werden kann.

Fachgebietübersicht / Studentenverzeichnis

red_light Verteilte Internet-Datenbank-Anwendung für Messwerte

red Student: Grassi Markus
Schneider Roger
red Dozent: Mumprecht Eduard Prof. Dr.
 
red Kurzbeschreibung:

Unsere Aufgabe bestand darin eine verteilte Applikation zu entwickeln, welche Messwerte technischer Anlagen entgegennimmt und diese zuverlässig in einer Datenbank ablegt. Die Messwerte und einige Zusatzinformationen werden via E-Mail übertragen. Dafür wurde ein spezielles Format vereinbart, in welchem die Mail abgefasst sein muss.

Eine erste Aufgabe bestand nun darin ein Modul zu entwerfen, welches die Messdaten-Mail entgegennimmt und deren Inhalt überprüft. Wird ein Datum als korrekt bewertet, so soll es in der Datenbank abgelegt werden.

Ein zweites Modul wurde entwickelt, um den Zugriff auf die Datenbank zu regeln. Wir befanden, dass ein sogenanntes Dreischichten-Modell in unserer Anwendung angebracht sei. Ein Application-Server entstand, der die Datenbank vollständig abschirmt und direkte Datenbankzugriffe verhindert. Für Benutzerapplikationen bietet der Server eine flexible, einfach zu bedienende Schnittstelle an.

Wir beschäftigten uns auch damit, wie die gesammelten Daten online zur Verfügung gestellt werden könnten. Dieser dritte Teil unserer Anwendung ist einerseits für die Kommunikation mit dem Application-Server zuständig und bietet andererseits dem Benutzer eine graphische Schnittstelle. Die Benutzerschnittstelle ermöglicht es, Daten nach bestimmten Kriterien auszuwählen und in graphischer oder tabellarischer Form darzustellen.

Wenn auch aus unserer Arbeit kein endgültiges, gebrauchsfertiges System hervorgegangen ist, so denken wir doch, dass die wesentlichen Forderungen erfüllt worden sind. Unser System ist portierbar und lässt sich ohne weiteres für diesen speziellen Zweck (Messdatenbank) erweitern oder auf andere Gegebenheiten und Wünsche übertragen. Die Verwendung fortgeschrittener Kommunikationstechnologien unterstützt dabei zusätzlich die gute Wartbarkeit der verteilten Anwendung.

Fachgebietübersicht / Studentenverzeichnis

red_light WWW-basierte Kurs-Datenbank

red Student: Al-Jabaji Ahmed
Stoklasa Alexander
red Dozent: Müller Thomas Prof.
 
red Kurzbeschreibung:

An der ZHW werden jedes Jahr Nachdiplomkurse und studien durchgeführt. Das Kursprogramm wird als Broschüre und auf dem WWW präsentiert. Bisher wurden die einzelnen Kursbeschreibungen von den Dozenten auf Papier verfasst, zentral editiert, in mehreren Durchläufen korrigiert, in der Druckerei gesetzt und anschliessend auf das WWW übertragen, wo es bald veraltet war.

Ziel der Diplomarbeit war es, dieses ineffiziente Verfahren zu verbessern. Unsere Applikation erlaubt es, die Kursbeschreibungen über einen Browser einzugeben, zu editieren und zu verwalten. Die Anwendung erlaubt Interessenten, sich direkt für einen Kurs anzumelden oder eine Broschüre zu bestellen. Dozenten können ihr Kursbeschreibung nach Bedarf aktualisieren, und Administratoren haben jederzeit die Möglichkeit neue Kurse zu erfassen, Kurse zu publizieren oder alte Kurse zu löschen.

Um diese Funktionalität bieten zu können, wurden die heutigen Möglichkeiten dynamische Web-Inhalte zu generieren voll ausgenutzt. Wir setzten dazu Java Servlets in Verbindung mit einer Oracle7-Datenbank und einem Apache-Webserver ein. Bei der Entwicklung waren leitungsfähige Werkzeuge eine Grundvoraussetzung. Wir verwendeten Metrowerks Codewarrior 5 als Progammier-Werkzeug, Macromedia Dreamweaver 2 als HTML-Editor, sowie Macromedia Fireworks und Adobe Photoshop zur Erstellung von Grafiken.

Da erprobte Technologien eingesetzt wurden, waren die technologischen Hürden dieser Arbeit nicht sehr hoch. Im Gegensatz dazu war der Umfang der zu implementierenden Funktionen eine Herausforderung, die wir unterschätzt haben.

Fachgebietübersicht / Studentenverzeichnis

red_light Realisation eines CANopen-Netzwerkknotens: Software Layer

red Student: Bhend Markus
Däppen Philippe
red Dozent: Zeman Jan Prof. Dr.
 
red Kurzbeschreibung:

Bei der vorliegenden Arbeit war das Ziel, einen CANopen fähigen Drucksensor zu realisieren. Wir kümmerten uns um das, auf CAN Bus aufbauende, Higher Layer Protokoll CANopen.

CANopen - it was hard to get it open!

Was man einleitend wissen muss: CAN ist die Abkürzung für Controller Area Network, einem echtzeitfähigen Feldbus für Sensoren und Aktoren. Die CiA (CAN in Automation) ist eine internationale non-profit Gruppe, welche die Standards bezüglich CANopen definiert. Das ISO-OSI Layer-Model ist ein normiertes Modell zum Datenaustausch in Kommunikationssystemen. Eine auf dem ISO-OSI Layer #7 aufbauende Softwarelösung wird als Higher Layer Protokoll bezeichnet.

Basierend auf dem CiA Profil DS 301 Version 4.0 (Application Layer and Communication Profile) wurde ein CANopen Knoten implementiert.

Die Schnittstelle zum Layer #2 wurde so definiert, dass unsere Software auf beliebige CAN-Controller portiert werden kann. Den unterschiedlichen Prioritäten der verschiedenen Kommunikationsobjekte wurde beim Design grosse Bedeutung geschenkt.

Borland C wurde wegen seiner einfachen Portierbarkeit als Programmiersprache verwendet.

Aus Gründen der Testbarkeit und auch um unabhängig von der DA Zem99/2a (Hardware Layer) entwickeln zu können, haben wir eine PC-basierende Lösung erarbeitet. Mit unserem kleinen CANopen Netzwerk, bestehend aus zwei Knoten und verschiedenen Analyse-Tools konnten wir uns eine optimale Test- und Arbeitsumgebung schaffen.

Die nötigen Hardware-Treiber, eine flexible Bufferstruktur, die Datenstruktur des Object Dictionary sowie NMT- und SDO-Kommunikation wurden implementiert und auf ihre Funktion getestet. Die fehlenden Einträge des OD, die Applikation, die PDO-Kommunikation sowie das Error-Handling müssen noch erweitert oder gänzlich implementiert werden.

Fachgebietübersicht / Studentenverzeichnis