Projektliste

Mittlerweile kann ich auf 20 Jahre Software-Entwicklung zurückblicken. Angefangen mit Assembler für Micro-Computer auf Basis des 6502-Prozessors ging es - mit einigen Jahren Pause - weiter zu Turbo Pascal und Visual Basic. Mittlerweile habe auch ich das .NET Zeitalter erreicht und entwickle am liebsten mit Visual Basic.NET und dem Visual Studio 2005.

Bisher wurden folgende Projekte mit Visual Basic.NET entwickelt:

Shop-Manager


Die Übernahme der technischen Verantwortung (ohne Hosting) für den Internet-Shop
» www.badezimmer24.de lieferte einen guten Anlass, den Artikel-Manager von Grund auf zu überarbeiten. Entwicklungs- Plattform ist jetzt Visual Studio 2005 und das .NET Framework 2.0.
Der Shop-Manager dient zur Bearbeitung der Produkt-Daten in einer lokalen Datenbank und zur Synchronisation der Daten mit der Server-Datenbank. Beide MySQL-Datenbanken basieren auf dem Datenbank-Schema von xt:Commerce. <Shop-Manager>

Kick.Direct3D 3D-Messdaten-Visualisierung


Viele Laserscanner-Anwendungen liefern Messdaten, die von einer 3D-Visualisierung profitieren. Entweder weil die Messdaten bereits 3D-Koordinaten repräsentieren oder weil sich der zeitliche Ablauf mehrerer Scans hintereinander zu einer Ansicht zusammenfassen lässt. Dies führt zu einer leichteren Interpretation und Analyse oder zu einer komprimierten Ansicht der Daten: mehrere Sekunden Scandaten in einem Bild.
Mit Hilfe von DirectX for Managed Code aus dem DirectX SDK April 2006 und dem Namensraum Direct3D erfolgt die 3D-Visualisierung sogar Echtzeit.
Die 3D-Visualisierung wurde in der Komponente <Kick.Direct3D> zusammengefaßt.

KickStart


KickStart ist ein Software-Projekt für den Einsatz von Laserscannern in der Industrie. Es besteht aus einem Framework für die Ausführung von Software-Bausteinen sowie einer umfangreichen Sammlung von Software-Bausteinen. Alle Software-Bausteine sind als PlugIn realisiert, so daß eine Erweiterung mit neuen Funktionen jederzeit möglich ist. <Weiter...>

Artikel-Manager


Für einen Internet-Shop müssen die Artikel-Daten angelegt, aufbereitet und in den eigentlichen Shop exportiert werden. Die Artikel-Daten liegen als csv- oder Datanorm- Datei vor und umfassen je nach Hersteller 800 - 50.000 Produkte. Für den Shop müssen alle Artikel katalogisiert, d. h. einer bestimmten Produkt-Kategorie zugeordnet und fast ausnahmslos überarbeitet werden. Die Artikel-Daten werden in verschiedenen Tabellen gespeichert und können für verschiedene Shop-Programme exportiert werden. <Zum Artikel-Manager...>

XYPanel


Das XYPanel ist eine Komponente zur graphischen Darstellung von Messdaten in der XY-Ebene. Das XYPanel wurde von System.Windows.Forms.Panel abgeleitet und verwendet GDI+ zum Zeichnen der (x,y)-Daten auf dem Panel. Abhängig von der Größe der Gesamtfläche, dem Umfang der Messdaten und der Darstellungsform der Messdaten kann das XYPanel auch in echtzeit-nahen Anwendungen eingesetzt werden. <Mehr Infos...>

ChartPanel


Das ChartPanel ist eine Komponente zur graphischen Darstellung des zeitlichen Verlaufs von Messwerten. Es ist ebenfalls von System.Windows.Forms.Panel abgeleitet und verwendet die gleichen GDI+ Funktionen wie das XYPanel. Auch das ChartPanel kann in echtzeit-nahen Anwendungen eingesetzt werden. <Mehr Infos...>

Vor .NET wurden folgende Projekte mit Visual Basic 6.0 entwickelt:

Brammen-Positionierung


Brammen sind ein Zwischenprodukt bei der Herstellung von Stahlblechen. Am Auslauf einer Stranggußanlage wird der noch glühende Strang in Brammen zerteilt. Vor dem Walzprozeß werden diese in einem Wärmeofen noch einmal auf ca. 1200°C erwärmt. Da die Brammen im Ofen auf Schienen gleiten, müssen sie vor dem Eintrag in den Ofen richtig positioniert werden. Mit mehreren Laserscannern links, mittig und rechts vor dem Ofen wird die Situation vor dem Ofen überwacht und aus den Messdaten der Scanner die Brammenpositionen ermittelt. Diese Daten werden per Profibus an eine S7-Steuerung übertragen, die anhand der Messdaten die Positionierung übernimmt. Jeweils am Ende eines Positionierungsvorgangs werden die relevanten Messdaten in einer Datenbank gespeichert und stehen für eine spätere Datenanalyse zur Verfügung.

Block-Vermessung


Bei einem Hersteller von Stahlröhren werden die Blöcke, aus denen später die Röhren geschmiedet werden, mit einem Laserscanner vermessen. Da die Blöcke rund sind, werden mit dem Laserscanner die Länge und der Durchmesser der Blöcke bestimmt. Dazu befindet sich der Laserscanner senkrecht über dem Rollgang, so das die Rollgangsachse sich innerhalb der Scanebene befindet.

Schlagmessung an einem Rohrofen


Bei der Herstellung von Zement wird dieser in einem ca. 60m langen Rohrofen mit ca. 4m Durchmesser bei ca. 1000°C gebrannt. Wenn dieser auf Grund von Störungen an der Innenwand sich nicht gleichmäßig erwärmt, verzieht sich das Rohr und beginnt am Einlauf zu schlagen. Mit Hilfe zweier Laser-Distanzmesser wird in Höhe des Einlaufs aus sicherer Entfernung von außen auf die Ofenwand (diese hat eine Außentemperatur von mehreren 100°C) gemessen. Da sich der Ofen kontinuierlich dreht, kann über den gesamten Umfang des Rohres eine Abstandsmessung durchgeführt werden. Mit diesen Daten wurde sowohl die Unrundheit der Außenwand als auch die Bahnkurve des Rohrmittelpunktes um die theoretische Drehachse bestimmt.

Schüttgutmessung im Braunkohle-Tagebau


Für die Automatisierung mehrerer Bagger im Braunkohle-Tagebau wird mit einem Laserscanner die Befüllung des Förderbandes kurz hinter dem Schaufelrad gemessen. Der Laserscanner ist in einer Höhe von ca. 2,5-4m über dem Förderband montiert, die Scanebene befindet sich senkrecht zur Transportrichtung. Anhand des bekannten Profils des leeren Bandes und des aktuellen Profils kann die vom Schüttgut eingenommene Fläche berechnet werden. Multipliziert mit der konstanten Bandgeschwindigkeit ergibt sich daraus der Volumenstrom, gemessen in m3/h. Setzt man diesen Messwert in Bezug zur definierten Transportleistung des Bandes, ergibt sich der Füllgrad (angegeben in %). Dieser Wert wird per Profibus an eine S7- Steuerung übertragen und dient dort als Regelgröße für die Automation.

Brammendicken- und breitenmessung


Metallblöcke jeglicher Art werden erwärmt und in einem Blockwalzwerk auf vom Kunden festgelegte Abmessungen gewalzt. Am Ende des Walzprozesses werden die Abmessungen der Brammen (Dicke und Breite) in einer separaten Messeinrichtung mit 6 Laser-Distanzmessern nachgemessen. Während die Bramme durch die Messanlage fährt, werden kontinuierlich die Messdaten der Sensoren eingelesen und zu einem Profil zusammengefaßt. Am Ende des Messvorgangs werden alle Messdaten in einer Access-Datenbank gespeichert und dem Bedienungspersonal angezeigt.

Brammendimensionsmessung -und Positionierung


In einer Kombianlage werden Brammen zunächst mit 5 Laser-Distanzmessern vermessen und 20m weiter vor einem Wärmeofen positioniert.

Positionsmessung an einer Zugbeladestation


An einer automatisierten Zugbeladestation für Kohle wird mit jeweils 2 Laserscannern vor und hinter der Beladestation die Zugposition bestimmt. Mit einem 5. Laserscanner wird vor der Beladung das Innenprofil der Waggons gemessen und so festgestellt, ob diese vor der Beladung vollständig leer sind.

Kollisionsschutz an einem Schiffsentlader


Mit einem speziellen Eimerkettenbagger wird Kohle aus Schiffen entladen. Zur Vermeidung von Kollisionen zwischen dem Schiffsentlader und der Schiffsluke sind 4 Laserscanner so an dem Bagger angebracht, daß jederzeit der Abstand zu mindestens drei Seiten der Schiffsluke bestimmt werden kann.

Knüppeldickenmessung


Knüppel werden wie Brammen in einer Stranggußanlage gegossen, haben aber einen Querschnitt der dem eines dicken Balkens gleicht. Direkt hinter der Kühlkammer, wo der Strang immer noch rot glühend aber bereits fest ist, wird mit 2 Laser- Distanzmessern während des Gießens kontinuierlich die Dicke gemessen und per TCP/IP-Kopplung an eine S7-Steuerung übertragen. Die Messdatenerfassung umfasst neben den Distanzmessern auch mehrere Thermoelemente zur Temperatur- Überwachung des Messrahmens sowie digitale Ein- und Ausgänge. Alle Messwerte stehen während der Messung graphisch in einer Echtzeit-Darstellung zur Verfügung.

Mit Turbo Pascal 6.0 habe ich jahrelang gearbeitet aber eigentlich nur ein nennenswertes Projekt realisiert: meine Studienarbeit. Die kleinen Programme die ich als HiWi und während der Diplom-Arbeit erstellt habe waren sicherlich nützlich, können hier aber gerne unter den Tisch fallen.

Studienarbeit: Hard-und Software-Entwicklung für einen 3-phasigen Messzähler


Ein Messzähler ist ein sehr genaues Messgerät zur Messung von Strom, Spannung und Leistung in einem Dreiphasen-System. Um genau zu sein, ging es hier um einen Normalzähler und einen Komparator, die für die Prüfung und Kalibrierung von Stromzählern benötigt werden. Kunden für diese Geräte sind EVUs, Stadtwerke und auch Eichämter.
Vom Umfang her hätte diese Arbeit auch für eine Diplomarbeit herhalten können. Phase 1 bestand aus dem Hardware-Design für die digitale Signalverarbeitung. Für jede der drei Phasen wurde ein DSP (digitaler Signal-Prozessor) eingesetzt, um Strom und Spannungssignal mit hoher Abtastrate zu samplen und die Messwerte zu berechnen. Ein vierter DSP diente dazu, die Messdaten zwischen den anderen DSPs auszutauschen und alle Messdaten an einen PC zu übergeben. Während in einem normalen PC die Zusatzkarten in die entsprechenden Slots (damls noch ISA) gesteckt werden, war es hier eher umgekehrt. Der PC im PC/104-Format wurde hier mit seiner ISA-Bus Steckleiste von unten auf die Messplatine gesteckt und verschwand völlig aus dem Blickfeld. Mit einem 9-Zoll TFT-Display und einer Tastatur-Platine wurde das Messgerät vervollständigt und in einem 19-Zoll Rahmen untergebracht.
Phase 2 bestand aus der Software-Entwicklung für die Signalverarbeitung in den DSPs. Auch wenn in den drei Mess-DSPs die gleiche Software lief und nur zwei DSP- Programme entwickelt werden mussten, war die Aufgabe ziemlich knifflig. Aufgrund der hohen Abtastrate war keine Zeit für Pausen und so musste die Synchronisierung der DSPs über das Auszählen der Taktzyklen erfolgen. Da pro Abtast-Zyklus aber sowieso nur knapp 420 Taktzyklen Zeit blieb, blieb das ganze noch überschaubar.
Mit Phase 3 beginnt jetzt erst die eigentliche Software-Entwicklung mit Turbo Pascal. Zunächst benötigte das System einen Bootloader, um den DSP mit der Host- Schnittstelle vom PC aus zu booten. Dann wurde dem Host-DSP die Software für die drei Mess-DSPs übergeben, damit diese aus dem Dual-Ported RAM booten konnten. Nachdem das DSP-System so hochgefahren werden konnte, mußte noch die graphische Benutzeroberfläche für das Messgerät entwickelt werden. Unter Turbo Pascal eine echte Herausforderung. Aber mit dem damaligen Windows 3.1 wäre auch keine bessere und schönere Benutzeroberfläche möglich gewesen.

Copyright © 2005-2006 Dipl.-Ing. A. Ewald. Keinerlei Gewähr für Richtigkeit und Aktualität.