5. Planung und Realisierung der Software

 

Die Hauptaufgabe der Software besteht in der Messwertaufnahme, Messwert­verarbeitung und in der grafischen Darstellung der Messkurven auf dem Monitor. Die Software soll durch eine mausgesteuerte Benutzeroberfläche in Menütechnik dargestellt werden. Durch strukturierte Programmierung können die gestellten Aufgaben erfüllt werden.

 



5. 1. Die Softwarehilfsmittel

 

Das Grundprinzip der strukturierten Programmierung heißt Aufgabenteilung. Das gesamte Programm hat eine komplexe Aufgabe zu erledigen, die sich in viele Teilfunktionen aufspalten lässt. Jede dieser Teilaufgaben wird von einer Unterroutine erledigt. Die Aufteilung des gesamten Problems sollte nach dem Top-Down-Prinzip geschehen.

 

Eine Programmiersprache die sich gut für diese Aufgaben eignet ist Pascal. Das Programm ist in TURBO PASCAL 4.0 der Firma BORLAND erstellt. In Turbo Pascal lassen sich die Teilaufgaben in den "Units" als eigenständige Programmteile zusammenfassen. Units sind Programmblöcke, die, anders als die Includedateien, eigenständig kompilierbar sind. Jede Unit kann bis zu 64 KByte groß sein. So kann ein Programm aus beliebig vielen Units bestehen. Statt COM-Files erzeugt der 4.0-Compiler EXE-Files. Damit wird die 64 KByte Grenze für das ablauffähige Gesamtprogramm überwunden. Units werden über den nicht standardmäßigen Befehl USES in ein Programm eingebunden.

 

Ganz ähnlich wie ein Hauptprogramm ist eine Unit aufgebaut.

 

UNIT Unit-Name;

INTERFACE

{ Deklarationen - unter anderem auch USES möglich }

IMPLEMENTATION

{ Vereinbarungen/Definition von Prozeduren und Funktionen }

{ BEGIN Initialisierungs-Anweisungen }

END.

 

Im INTERFACE-Teil werden alle globalen Deklarationen aufgeführt, auf die ein anderer Programmteil Zugriff haben kann, der diese Unit verwendet. Dazu gehören Konstanten, Variablen, Datentypen sowie Prozeduren und Funktionen. Letztere werden nur namentlich genannt, ihre Definition gehört in den IMPLEMENTATION -Teil.

 

Dieser Teil der Unit ist nach außen nicht verfügbar. Außer der Definition von Funktionen und Prozeduren können hier weitere Vereinbarungen getroffen werden, die alle nur lokal für die jeweilige Unit gelten. Anderen Programm­teilen außerhalb der Unit bleibt ein Direktzugriff verschlossen.

 

Wird nach der IMPLEMENTATION ein BEGIN gesetzt, können noch weitere Anweisungen folgen. Wird in einem Programm diese Unit verwendet, so gilt ein solcher Anweisungsblock als Initialisierungsteil dieser Unit und wird noch vor dem Hauptteil des aufrufenden Programms ausgeführt. Abgeschlossen wird eine Unit wie ein Programm mit END. .

 

Aufgerufene Units sind bereits kompiliert und werden durch den Turbo­Linker eingebunden. Prozeduren oder Funktionen die nicht im Programm aufgerufen werden, bindet der Linker nicht in den ausführbaren Quellcode mit ein. Dadurch lassen sich beliebig große Programmbibliotheken auch in "kleinen" Programmen verwenden. Ebenfalls lassen sich OBJ- und ASM­-Dateien durch den Turbo Linker einbeziehen.

 

Da in dieser Diplomarbeit eine A/D-Karte mit I/0-Port verwendet werden soll, ist eine Programmierung dieser Karte notwendig. Die Karte muss zur Analog-digital- und zur Digital-Analog-Wandlung über die auf der Karte vorhandene Register softwaremäßig programmiert werden. Der auf der Karte vorhandene I/0-Port wird ebenfalls über die Register programmiert. Die Routinen zur Programmierung der Register sollen als Unterprogramme realisiert werden.

 

Die Programmierung von Zusatzhardware des PCs ist über Assembler am besten möglich. Es gibt unter Turbo Pascal zwar den PORT-Befehl, mit dem direkt auf Speicherstellen zugegriffen werden kann, jedoch verliert das Programm dadurch an Übersichtlichkeit. Größere Assemblerprogrammteile sollten deshalb mit einem Assembler geschrieben werden.

Alle Assemblermodule sind mit dem MASM der Firma MICROSOFT erstellt worden.