next up previous
Nächste Seite: Zusammenfassung Aufwärts: Dynamik von Defekten in Vorherige Seite: Ergebnisse und Diskussion

Unterabschnitte

Programmierung

Umgebung

Unsere Rechner arbeiteten unter dem Microsoft Betriebssytem Windows 3.11. Als Programmierumgebungen standen Borland C und Borland C++ 4.52 sowie LabView 4.0.1 zur Verfügung. Die Meßdaten wertete ich mit EasyPlot der Firma Spiral Software aus und tabellarisierte sie mit Microsoft Excel. Ich hatte die Möglichkeit, das freie Betriebssystem Linux auf einem unserer Computer zu installieren. Text- und Bildverarbeitung führte ich seitdem in dieser Unixumgebung durch. Die Einbindung des Linuxrechners in unser Ethernet verschaffte uns einen modernen Unix-Arbeitsplatz.

Ausgangspunkt

Zur Datenübertragung vom Oszilloskop auf den Computer verwendeten wir verschieden Programme. Jedes benutzt zur Speicherung der Meßwerte des Oszilloskopes ein eigenes Datenformat. Das am häufigsten genutzte Übertragungsprogramm kauften wir mit dem Gerät. LeCroy Transition Version 1.0 speichert Daten im FAMOS 2.0-Format der imc Meßsysteme GmbH Berlin ab. Dieses Format bildet eine Untermenge des DASA-Dateiformates der Firma Gould Inc.. Neben den Meßdaten im Byte-Format, d.h. jeder der 256 möglichen Werte des 8-Bit A/D-Wandlers des Oszilloskopes wird von einem Zeichen im ASCII repräsentiert, werden in Schlüsselwörtern Informationen zu Skalierung und Ursprung der Daten gesichert. Um die Informationen auswerten zu können, ist man auf das hauseigene Tabellenkalkulationsprogramm angewiesen, das wir nicht besitzen. Es gibt die alternative Möglichkeit, Datensätze als Menge skalierter Dezimalzahlen zu speichern. Diese Option führte zu häufigen Systemabstürzen und nahm viel Zeit in Anspruch. Der erste Schritt zur Lösung dieser Probleme war das Schreiben eines C-Programms zur Übersetzung der Daten im FAMOS-Format in Dezimalzahlen mit richtiger Skalierung nach den in der FAMOS-Datei gespeicherten Informationen.

Auf dem Oszilloskop liegen die Daten in einem LeCroy-eigenen Format vor [20]. Dieses schreibt einen Kopf- und einen Datenteil vor. Der Kopfteil enthält ämtliche Einstellungen des Gerätes in verschlüsselter Form. Informationen sind nicht durch Marken gekennzeichnet, sondern befinden sich an festgelegten Positionen in der Datei. Kopf und Datenteil sind im Byte-Format gespeichert. Der Unterschied im Speicherplatzbedarf von einer Datei in diesem Format zu einer Datei, die aus einer Spalte rationaler Zahlen besteht, beträgt etwa 1:10.

Ein Übertragungsprogramm sollte die Daten schnell vom Oszilloskop auf den Computer transferieren. Dateien müßten im platzsparenden LeCroy-Format angelegt werden. Als Nebeneffekt gehen dann keine Informationen zu Geräteeinstellungen verloren. Zur Weiterverarbeitung ist das Übersetzen der übertragenen Rohdaten auf skalierte Zahlenwerte notwendig. Bei Bedarf sind für die Auswertsoftware lesbare Dateien zu erstellen. Da manche Berechnungen sofort nach der Übertragung vorgenommen werden können, sollten die Daten direkt an ein Auswertungsprogramm weitergegeben werden. Zusammen mit automatisiertem Speichern der Rohdaten unter aussagekräftigen Dateinamen spart man dann mehrere Arbeitsschritte.


Programm

Ich entschied mich, die Datenübertragung in der Programmierumgebung LabView zu programmieren. LabView beinhaltet eine grafische Programmiersprache. Daten werden in Flußdiagrammen an Operatoren weitergegeben, dort bearbeitet und weitergeleitet. Programme lassen sich sehr gut strukturieren. Unterprogramme erscheinen als neue Operatoren (virtuelle Instrumente) und sind in anderen LabView-Programmen beliebig verwendbar. Diese Strukturierung ermöglicht es, komplexe Aufgaben mit einfachen Programmbausteinen zu bewältigen. Via Internet stehen Treiber für eine große Anzahl von Meßinstrumenten zur Verfügung. Grafische Benutzerschnittstellen werden aus einem Reservoir von vorgegebenen Teilen zusammengestellt. Elemente wie Schalter, Anzeigen, Stellknöpfe, oder Eingabefelder müssen nur noch in den Datenfluß eingebunden werden. Es stehen viele Windows-Dialogelemente zur Verfügung.

Abbildung: Benutzeroberfläche des Transferprogramms
\begin{figure}\centering\epsfig{figure=bilder/image4,width=\linewidth,clip=} \end{figure}

Die Kommunikation zwischen Rechner und Oszilloskop übernimmt ein angepaßtes Unterprogramm von National Instruments. Nach der Datenübertragung auf den Rechner via GPIB werden die Rohdaten mit automatisch gewählten Namen gesichert. Dateinamen setzen sich aus Tag, Monat, Jahr und Nummer des Versuches zusammen. Die Versuchsnummer wird von a alphabetisch bis zz hochgezählt. Wenn gewünscht übersetzt das Programm die Daten aus dem LeCroy-Format in von Tabellenkalkulationsprogrammen lesbare Datensätze mit der richtigen Skalierung der Meßwerte. Eine Datei mit diesen Werten wird mit der Endung .asc gespeichert. Um die Meßwerte an unsere Verarbeitungssoftware weiterzugeben, schrieb ich ein C-Programm, das mit LabView über eine Windows-eigene Schittstelle kommuniziert. Dynamic Data Exchange (DDE) ermöglicht es, Daten zwischen verschiedenen gleichzeitig laufenden Windows-Anwendungen auszutauschen. Vom C-Programm aus starte oder aktiviere ich EasyPlot und übergebe in einem gemeinsam genutzten Speicherbereich den Namen der zu ladenden Datei mit den Meßwerten. Leider muß man die Daten erst auf die Festplatte sichern und dann von dort aus nach EasyPlot laden. Wenn man die Werte direkt im Hauptspeicher übergeben könnte, würde man den Vorgang ca. um den Faktor 100 beschleunigen.

In EasyPlot kann man direkt an der Meßkurve arbeiten. Ausschitte werden mit dem Mauszeiger umrissen. In diesem automatisch vergrößerten Fenster sind beliebige Operationen ausführbar. Zur Automatisierung der Datenverarbeitung ist eine Programmierschnittstelle vorhanden.

Mit den während dieser Arbeit entstandenen Teilprogrammen konnte ich auch ältere Daten lesbar machen, die unter anderen Formaten abgespeichert wurden. Früher auf Diskette gespeicherte Meßkurven werden übersetzt. Dank der einfachen Einbindung von Windows-Funktionen in LabView Programme ist es zum Beispiel möglich, wie gewohnt in der Dateiauswahl ein Verzeichnis zu bestimmen und alle in diesem Verzeichnis enthaltenen Dateien automatisch zu übersetzen. Die Änderung der Dateinamen nimmt LabView vor.


next up previous
Nächste Seite: Zusammenfassung Aufwärts: Dynamik von Defekten in Vorherige Seite: Ergebnisse und Diskussion
Marcus Lindemann 2001-09-10