BT2k
HOME

RSAPI unter LabView 6.1 für Windows
LabVIEW & RSAPI.DLL

Nach zwanzig Jahren hat es jetzt den Anschein als würde sich die grafische Programmierumgebung an entsprechenden Stellen der Industrie und Lehre als Standard durchsetzen. Wer nicht die aktuelle Version besitzt kann auch mit LabView 6.1 arbeiten, die kürzlich kostenlos auf einer c't-DVD zu finden war.

Messen, Steuern und Regeln - kurz MSR - war und ist auch Haupteinsatzgebiet der RSAPI. DLL aus [1]. Hier soll nun gezeigt werden, wie man diese DLL unter LabVIEW 6.1 einbinden kann. Die Art und Weise unterscheidet sich sehr stark zu späteren Versionen, etwa die von Version 8.2.

Bei der RSAPI handelt es sich um eine Bibliothek, die verschiedene Interfaces - hauptsächlich die der Firma modul-bus - auf einfache Weise unterstützt. Sie wird aber auch in der Lehre eingesetzt, um serielle Geräte aus dem Laborbereich anzusteuern. Es handelt sich also nicht um die Einbindung eines Gerätes - anders ausgedrückt: hier wird kein Gerätetreiber erzeugt, sondern eine externe Bibliothek eingebunden, die ihrerseits viele Geräte unterstützt. Das Verfahren funktioniert auch mit anderen Bibliotheken.


Aufruf externer Bibliotheken
Funktionen

Nachdem ein neues (leeres) VI erstellt wurde, erreicht man die Diagrammdarstellung des VI durch Drücken von Strg+E. Mit der rechten Maustaste kann die rechts dargestellte Funktionenpalette aufgerufen werden. Ganz unten rechts befindet sich die Sammlung der "Aufruf externer Bibliotheken". Das orange Icon erscheint auf der Arbeitsfläche. Dies muss nun mit den entsprechenden Funktionseigenschaften versehen werden. Alle benötigten Angaben findet man in [1]. Hier sollen nur zwei Funktionen der RSAPI.DLL exemplarisch eingebunden und benutzt werden.

Declare Function FINDHARD Lib "RSAPI" (Byval Meldung As Integer) As Integer

und

Declare Function AIN Lib "RSAPI" (Byval Eingang As Integer) As Integer

Mit einem Doppelklick auf das orange Symbol erreicht man den Einstellungsdialog für die erste Funktion.

Direktsteuerung
Einstellungen

Unter Bibliotheksname reicht der Dateiname RSAPI.DLL, wenn diese Datei im Windowsverzeichnis liegt, sonst sollte der gesamte Pfad angegeben werden. Bei Funktionsname wird FINDHARD in Grossbuchstaben angegeben und die Aufrufkonvention ist nicht "C", sondern stdcall (WINAPI).

Der Returntype ist vom Typ Integer, hier also nicht void, sondern numerisch - vorzeichenbehafteter 16-Bit-Integer. Als Funktionsprototyp sollte LabView nun weiter unten "short int FINDHARD(void);" angegeben werden, was aber noch nicht mit obiger Deklaration identisch ist. Der Aufrufparameter muss unbedingt noch angegeben werden! Mit "Parameter danach einfügen" kann der Parameter Meldung als numerischer vorzeichenbehafteter 16-Bit-Integer angegeben werden. Der korrekt eingestellte Dialog hätte dann folgendes Aussehen:


Auf diese Art und Weise wird jede Funktion einer externen Bibliothek eingestellt. Werden hier falsche Einstellungen vorgenommen, ist ein Absturz von Windows oder LabView sehr wahrscheinlich...


Aufruf von FINDHARD
Ein Anschluss bzw. ein Parameter muss übergeben werden. Mit Maus fährt man in die Nähe des unteren linken Anschlusses. Mit der rechten Maustaste kann nun eine Konstante erzeugt werden. Wird als Parameter eine 1 übergeben, wird FINDHARD (1) aufgerufen und die RSAPI-Funktion zeigt eine Meldung über gefundene Hardware.

Nun kann das VI erstmals gestartet werden und eine Messagebox der DLL sollte erscheinen. Abstürzte sind meist die Folge unrichtiger Funktionseinstellungen und nicht Fehler in LabView oder der DLL.


Ein kleiner Test
Mit der weiteren Funktion AIN hier ein VI-Diagramm eines kleines Tests, dessen Frontansicht unten zu finden ist:


In einer WHILE-Schleife wird regelmäßig AIN(1) und AIN(2) aufgerufen - die beiden Analogeingänge eines Interfaces wie z.B. CompuLab abgefragt. Durch Division mit 51 werden Spannungen im Bereich von 0 bis 5 Volt angezeigt. Eingang 1 geht noch auf ein Kurvendiagramm und der XY-Graph zeigt einen XY-Schreiber beider Kanäle wie bei Compact.


Weitere Software

.
Startseite Bücher Software Digital TV Musik Kontakt

Für Inhalt und weitere Verzweigung externer Links sind die Betreiber der dortigen Seiten verantwortlich - H.-J. Berndt