Copyright: H.-J. Berndt 1999
Citation: Referenz RSAPI.DLL - Berndt'99


Übersicht
MSR mit Word und Excel

Referenz zur RSAPI.DLL Version 1.1

Die Prozeß-DLL eröffnet die Möglichkeit, auf Anwenderprogramm-Ebene unter Windows (z.B. Visual-Basic, WinWord und Excel) mit serieller Hardware umzugehen. Die DLL steht in einer 16-Bit- und einer 32-Bit-Version zur Verfügung. Damit kann sie unter Win3.x, Windows NT4 und Windows 95 benutzt werden. Sie entlastet den Anwender von hardwarespezifischen Detailoperationen. Sie enthält Routinen für diverse Hardware (Interfaces).

Die einzelnen Sprachelementen bestehen aus verschiedenen Funktionen, die sich wie folgt gliedern lassen:

Allgemeine Funktionen für die serielle Schnittstelle

Digital-Multimeter einfach

Digitalmultimeter mehrfach

Zeitfunktionen

Funktionen für Modulbus Interfaces

Erweiterte Funktionen zur Zelle

Erweiterte Funktionen zum Sios

Tastaturfunktionen

Deklarationen in VB

Deklarationen in VBA Deutsch

Deklarationen in C


Allgemeine Funktionen
Referenz zur RSAPI.DLL -

Allgemeine Funktionen für die serielle Schnittstelle

Mit diesen allgemeinen Funktionen sollte es möglich sein, jedes Gerät mit RS 232-Anschluß aus Standard-Software heraus anzusprechen. Wurden früher technisch-wissenschaftliche Geräte mit Analog-Ausgängen für XY-Schreiber ausgestattet, findet man heute an vielen Geräten den seriellen Anschluß. Dabei werden häufig die Daten als Zeichen zum Rechner übertragen.

Um serielle Geräte zu steuern und auszulesen, sind heute keine Spezialprogramme mehr nötig. Vielmehr gestattet es die Makro-Fähigkeit der Standardsoftware (Excel), diese überall verfügbaren Programme für die speziellen Bedürfnisse anzupassen.

Klassische Versuchsabläufe, wie Meßtabellen erstellen und Diagramme zeichnen, werden einfach automatisiert. Voraussetzung dafür ist die Kenntnis (irgend-) einer Programmiersprache und ein Modul (DLL), welches die Hardware ansprechen kann.

Grundsätzlich ist es auch möglich in VBA über die Windows-API diese Funktionen zu realisieren. Dies ist sehr aufwendig und wegen der Interpretation (kein Compiler)  langsam und dadurch oftmals unzuverlässig. Zur Zeit ist es in WordBasic allerdings nicht möglich auf alle API-Funktionen zuzugreifen.

Zu den allgemeinen Funktionen zählen:

OPENCOM	Öffnen einer seriellen Schnittstelle

CLOSECOM	Schließen einer seriellen Schnittstelle

SENDBYTE	Übertragung eines Zeichens zum Interface

READBYTE	Übertragung eines Zeichens vom Interface

SENDSTRING	Übertragen einer Zeichenfolge zum Interface

READSTRING	Übertragen einer Zeichenfolge vom Interface

TIMEOUT	Einstellen der Wartezeit auf ein Zeichen

RTS	Schalten der Leitung RTS

DTR	Schalten der Leitung DTR

TXD	Schalten der Leitung TxD

CTS	Lesen des Zustandes der Leitung CTS

DCD	Lesen des Zustandes der Leitung DCD

DSR	Lesen des Zustandes der Leitung DSR

RI	Lesen des Zustandes der Leitung RI


Digital-Multimeter einfach
Referenz zur RSAPI.DLL -

Digital-Multimeter einfach

Wird nur ein Meßgerät benötigt, so können diese beiden Routinen zum Auslesen des Digital-Multimeters benutzt werden. Viele Multimeter senden Zeichenfolgen zum Computer, die als Inhalt die Zeichen der Anzeige haben.

STRLENGTH	Einstellen der Zahl der zu übertragenden Zeichen vom Multimeter

STRREAD	Lesen der Anzeige des Digital-Multimeters

OPENCOM	Öffnen einer seriellen Schnittstelle

CLOSECOM	Schließen einer seriellen Schnittstelle

TIMEOUT	Einstellen der Wartezeit auf ein Zeichen

Grobstruktur zum Einlesen eines Meßwertes aus einem Multimeter:

Serielle Schnittstelle öffnen

Anzahl der zu übertragenden Zeichen festlegen

Anzeige auslesen

Das Ergebnis darstellen

Schnittstelle schließen (optional)

Beispiele für Word und Excel findet man bei den einzelnen Funktionen.


Digital-Multimeter mehrfach
Referenz zur RSAPI.DLL -

Digital-Multimeter mehrfach

Werden zur Messung zwei Multimeter benötigt (z. B. Strom-Spannungs-Messungen) muß jedes Gerät an eine separate serielle Schnittstelle (COM1:, COM 2) angeschlossen werden. Darum müssen bei diesen Funktiosaufrufen zusätzlich die Nummern der Geräte übergeben werden.  Die Nummer ist eine Zahl im Bereich 0 bis 7. Somit können bis zu 8 Multimeter angesprochen werden, wenn so viele Schnittstellen (COM) zur Verfügung stehen. Dabei kann für jedes Gerät ix jede freie Schnittstelle geöffnet werden. Die Nummer ix hat also nichts mit der Nummer der Schnittstelle zu tun!

IX_OPENCOM	Öffnen der Schnittstelle für eine Gerät

IX_CLOSECOM	Schließen der Schnittstelle für ein Gerät

IX_STRLENGTH	Einstellen der Zahl der zu übertragenden Zeichen vom Multimeter

IX_STRREAD	Lesen der Anzeige des Digital-Multimeters

IX_TIMEOUT	Einstellen der Wartezeit auf ein Zeichen

IX_IXSENDBYTE	Übertragen eines Zeichens zum Multimeter

IX_READBYTE	Empfang eines Zeichens vom Multimeter

IX_SENDSTRING	Senden einer Zeichenkette

IX_READSTRING	Empfang einer Zeichenkette bis TimeOut

IX_CTS	Lesen der Leitung CTS

IX_DCD	Lesen der Leitung DCD

IX_DSR	Lesen der Leitung DSR

IX_RI	Lesen der Leitung RING

IX_RTS	Setzen der Leitung RTS

IX_DTR	Setzen der Leitung DTR

IX_TXD	Setzen der Leitung TxD


Zeitfunktionen
Referenz zur RSAPI.DLL  -

Zeitfunktionen

Zeitintervalle im Millisekunden-Bereich werden mit folgenden Funktionen zur Verfügung gestellt:

DELAY	Verzögerung im Millisekunden-Bereich

TIMEINIT	Initialisierung einer Internen Stoppuhr

TIMEREAD	Lesen der verstrichenen Zeit (in ms) nach TimeInit


Tastaturfunktionen
Referenz zur RSAPI.DLL  -

Tastaturfunktionen

Tastaturfunktionen, wie sie in anderen Programmierumgebungen üblich sind, machen in einer Makro-Sprache wenig Sinn. Trotzdem können sie für Testzwecke manchmal nützlich sein.

KBHIT	Keypressed für VBA

TASTE	Warten auf eine Taste


Spezialfunktionen
Referenz zur RSAPI.DLL  -

Spezialfunktionen für Modulbus-Interfaces/Camface

FINDHARD	Suchen der Hardware an allen verfügbaren Schnittstellen und Öffnen

INIT	Öffnen der Schnittstelle und Initialisierung für die Compact-Box

INITSIOS	Öffnen der Schnittstelle und Initialisierung für das Sios

INITCOMPULAB	Öffnen der Schnittstelle und Initialisierung für das CompuLab

INITZELLE	Öffnen der Schnittstelle und Initialisierung für die Zelle

CLOSECOM	Schließen der Schnittstelle

SETHARD	Hardware setzen, sinnvoll bei Sios/Zelle

GETHARD	Benutzte Hardware erfragen

AIN	8-Bit-Analogwert einlesen.

AOUT	8-Bit-Analogwert ausgeben.

DOUT	Digitalausgänge schalten.

DIN	Digitaleingänge einlesen.

Erweiterte Funktionen zur Zelle

Erweiterte Funktionen zum Sios


Erweiterte Funktionen zur Zelle
Referenz zur RSAPI.DLL  -

Erweiterte Funktionen zur Zelle

Das autonome Meßsystem „Die Zelle“ wird mit folgenden Funktionen unterstützt.

Sonderfunktionen

UBAT	Abfragen der Batteriespannung (in mV)

TASTER	Abfragen des Start-Tasters

STAUS	Ausgabe digital

STEIN	Eingabe digital

Funktionen für externe Messungen:

BLOCKDEF	Vorbereitung einer externen Messung

BLOCKSTART	Auslösen einer externen Messung

BLOCKTRIGGER	Bedingtes Auslösen einer externen Messung

BLOCKABWARTEN	Externe Messung abwarten

BLOCKEIN	Externe Meßdaten in den PC übertragen

BLOCKINFO	Meßparameter auslesen

Für die mit BLOCKINFO oder BLOCKEIN eingelesenen Meßdaten stehen folgende Informations-Funktionen zur Verfügung:

MESSUNGEN	Liefert die Anzahl der Meßpunkte

ZEITINTERVALL	Liefert das Zeitintervall in ms

KANALZAHL	Liefert die Zahl der benutzten Eingänge

BLOCKZAHL	Liefert die Zahl der übergebenen Blöcke

DATENMENGE	Liefert die Anzahl der Bytes

Meßdaten werden mit folgenden Datei-Funktionen unterstützt:

DATENSPEICHERN	Speichert die Meßdaten als Binärdatei

DATENLADEN	Lädt die Meßdaten als Binärdatei

TABELLESPEICHERN	Speichert die Meßdaten als Text-Datei

Funktionen für Maschinennahe Programmierung

PROLADEN	Übertragen eines Anwenderprogramms

PROSTART	Starten eines Anwenderprogramms

RAMAUS	RAM Auslesen

RAMEIN	RAM Schreiben

REGAUS	Register Lesen

REGEIN	Register Schreiben

SYSTEMRESET	System der Zelle  zurücksetzen


Erweiterte Funktionen zum Sios
Referenz zur RSAPI.DLL  -

Erweiterte Funktionen für das SIOS

Das Meßsystem „SIOS“ wird mit folgenden Funktionen unterstützt.

Funktionen für externe Messungen:

BLOCKDEF	Vorbereitung einer externen Messung

BLOCKSTART	Auslösen einer externen Messung

BLOCKTRIGGER	Bedingtes Auslösen einer externen Messung

BLOCKABWARTEN	Externe Messung abwarten

BLOCKEIN	Externe Meßdaten in den PC übertragen

BLOCKINFO	Meßparameter auslesen

Für die mit BLOCKINFO oder BLOCKEIN eingelesenen Meßdaten stehen folgende Informationsfunktionen zur Verfügung:

MESSUNGEN	Liefert die Anzahl der Meßpunkte

ZEITINTERVALL	Liefert das Zeitintervall in ms

KANALZAHL	Liefert die Zahl der benutzten Eingänge

BLOCKZAHL	Liefert die Zahl der übergebenen Blöcke

DATENMENGE	Liefert die Anzahl der Bytes

Meßdaten werden mit folgenden Dateifunktionen unterstützt:

DATENSPEICHERN	Speichert die Meßdaten als Binärdatei

DATENLADEN	Lädt die Meßdaten als Binärdatei

TABELLESPEICHERN	Speichert die Meßdaten als Textdatei

Funktionen für Maschinennahe Programmierung

PROLADEN	Übertragen eines Anwenderprogramms

PROSTART	Starten eines Anwenderprogramms

RAMAUS	RAM Auslesen

RAMEIN	RAM Schreiben

REGAUS	Register Lesen

REGEIN	Register Schreiben

SYSTEMRESET	System der Zelle  zurücksetzen


OpenCom
Referenz zur RSAPI.DLL  -

Allgemeine Funktionen für die serielle Schnittstelle

OPENCOM

VBA:

Declare Function OPENCOM Lib „RSAPI.DLL“ (ByVal Parameter$) As Integer

WORDBASIC:

Declare Function OPENCOM Lib „RSAPI.DLL“ (Parameter As String) As Integer

Öffnet eine RS232-Schnittstelle mit dem übergebenen Parameterstring. Die Schnittstelle wird vorher geschlossen. RTS wird abgeschaltet.

Rückgabe	Bei Fehler 0, sonst COM

Sub Main()

OPENCOM ("COM2,19200,N,8,2")

....

End Sub


CloseCom
Referenz zur RSAPI.DLL  -

Allgemeine Funktionen für die serielle Schnittstelle

CLOSECOM

VBA:

Declare Function CLOSECOM Lib „RSAPI.DLL“ () As Integer

Declare Sub CLOSECOM Lib „RSAPI.DLL“ ()

WORDBASIC:

Declare Function CLOSECOM Lib „RSAPI.DLL“() As Integer

Declare Sub CLOSECOM Lib „RSAPI.DLL“ ()

Schließt die  RS232-Schnittstelle Danach können andere Geräte die Schnittstelle benutzen.

Der Aufruf ist in der Regel optional.

Rückgabe bei Aufruf als Funktion:

WINAPI-Rückgabe CloseComm:

„The return value is zero if the function is successful. Otherwise, it is less than zero“.

Sub Main()

OPENCOM ("COM2,19200,N,8,2")

....

CLOSECOM

End Sub


SendByte
Referenz zur RSAPI.DLL  -

Allgemeine Funktionen für die serielle Schnittstelle

SENDBYTE

VBA:

Declare Function SENDBYTE Lib „RSAPI.DLL“ (ByVal Byte As Integer) As Integer

Declare Sub SENDBYTE Lib „RSAPI.DLL“ (ByVal Byte As Integer)

WORDBASIC:

Declare Function SENDBYTE Lib „RSAPI.DLL“(Byte As Integer) As Integer

Declare Sub SENDBYTE Lib „RSAPI.DLL“(Byte As Integer)

Sendet ein Byte über die geöffnete Schnittstelle (INIT, OPENCOM, usw.)

Der Sendepuffer wird vorher geleert. Es wird 30 ms versucht das Zeichen zu senden. Bei einem Fehler bricht SENDBYTE mit dem Rückgabewert -1 ab. Sonst wird 0 zurückgeliefert.

Sub Main()

OPENCOM "COM2,19200,N,8,2"

SENDBYTE 89

CLOSECOM

End Sub


ReadByte
Referenz zur RSAPI.DLL  -

Allgemeine Funktionen für die serielle Schnittstelle

READBYTE

VBA:

Declare Function READBYTE Lib „RSAPI.DLL“ () As Integer

WORDBASIC:

Declare Function READBYTE Lib „RSAPI.DLL“() As Integer

Empfängt und liefert ein Byte über die geöffnete Schnittstelle (OpenCom, Init, FindHard, usw.). Es wird 30 ms auf das Zeichen gewartet. Diese Zeit kann mit TimeOut geändert werden. Trifft während dieser Zeit kein Zeichen ein, so wird -1 zurückgeliefert. Der Empfangspuffer bleibt unverändert.

Sub Main()

OPENCOM ("COM2,19200,N,8,2")

x = READBYTE

CLOSECOM

End Sub


SendString
Referenz zur RSAPI.DLL  -

Allgemeine Funktionen für die serielle Schnittstelle

SENDSTRING

VBA:

Declare Function SENDSTRING Lib „RSAPI.DLL“ (ByVal S As String) As Integer

Declare Sub SENDSTRING Lib „RSAPI.DLL“ (ByVal S As String)

WORDBASIC:

Declare Function SENDSTRING Lib „RSAPI.DLL“(S As String) As Integer

Declare Sub SENDSTRING Lib „RSAPI.DLL“ (S As String)

Senden einer Zeichenfolge

Rückgabe	Ergebnis von WriteComm (WinAPI)

„The return value specifies the number of bytes written, if the function is successful. The return value is less than zero if an error occurs, making the absolute value of the return value the number of bytes written“.

Sub Main()

OPENCOM "COM2,19200,N,8,2"

SENDSTRING "HALLO" + Chr$(13)

CLOSECOM

End Sub


ReadString
Referenz zur RSAPI.DLL  -

Allgemeine Funktionen für die serielle Schnittstelle

READSTRING

VBA:

Declare Function READSTRING Lib „RSAPI.DLL“ (ByVal S As String) As Integer

Declare Sub READSTRING Lib „RSAPI.DLL“ (ByVal S As String)

WORDBASIC:

Declare Function READSTRING Lib „RSAPI.DLL“(S As String) As Integer

Declare Sub READSTRING Lib „RSAPI.DLL“ (S As String)

Empfangen einer Zeichenkette. Die Länge der übergebenen Zeichenkette legt fest, auf wie viele Zeichen eingelesen werden sollen. Bei einem TimeOut bricht der Empfang ab.

Rückgabe:	Zahl der empfangenen Zeichen.

Dim S As String

Sub Main()

OPENCOM "COM2,19200,N,8,2"

S=SPACE$(14)	’14 Leerzeichen (VBA)

READSTRING S	’Auf 14 Zeichen warten

CLOSECOM

End Sub


TIMEOUT
Referenz zur RSAPI.DLL  -

Allgemeine Funktionen für die serielle Schnittstelle

TIMEOUT

VBA:

Declare Function TIMEOUT Lib „RSAPI.DLL“ (ByVal ms As Integer) As Integer

Declare Sub TIMEOUT Lib „RSAPI.DLL“ (ByVal ms As Integer)

WORDBASIC:

Declare Function TIMEOUT Lib „RSAPI.DLL“(ms As Integer) As Integer

Declare Sub TIMEOUT Lib „RSAPI.DLL“ (ms As Integer)

Setzt das TimeOut in Millisekunden (ms) beim Empfang für die RS232-Schnittstelle. Trifft während der Zeit TimeOut kein Zeichen ein, kehrt die wird der Empfang abgebrochen. Bei langsamen Geräten, wie z. B. Multimetern ist die Zeit meist etwas höher zu wählen. Der voreingestellte Wert für TimeOut beträgt 30 ms. Wird die Zeit zu groß gewählt, kann dies dazu führen, daß das Programm „hängt“, wenn keine Zeichen empfangen werden.

Rückgabe:	Altes TimeOut in ms


RTS
Referenz zur RSAPI.DLL  -

Allgemeine Funktionen für die serielle Schnittstelle

RTS

VBA:

Declare Sub RTS Lib „RSAPI.DLL“ (ByVal EinsNull As Integer)

WORDBASIC:

Declare Sub RTS Lib „RSAPI.DLL“ (EinsNull As Integer)

Schalten (0/1) der RS232-Leitung RTS für die geöffnete Schnittstelle.

Request To Send (RTS) ist eine Ausgangsleitung der seriellen Schnittstelle. Diese Leitung kann mit dieser Funktion (Methode) an und ausgeschaltet werden. Bei manchen externen Geräten wird diese Leitung auch zur Spannungsversorgung benutzt. Beim Digitalmultimeter M-3650CR muß diese Leitung für den Empfang ausgeschaltet sein. OpenCom und alle anderen Initialisierungsroutinen schalten diese Leitung zunächst auf 0 (aus).

Es gibt sogenannte „Quicktester“ für Schnittstellen, die den Zustand der Leitungen mit verschiedenen Farben anzeigen. Ist ein solcher Adapter an COM2 angeschlossen, kann man ein kurzes Blinkprogramm schreiben und beobachten, wie Leitung 4 (RTS) blinkt.

Sub Main()

INIT 2	'COM2 öffnen

For N=1 To 10	'10 mal blinken

RTS 1	'An

DELAY 100	'100 ms warten

RTS 0	'Aus

DELAY 100	'100 ms warten

Next N

End Sub


DTR
Referenz zur RSAPI.DLL  -

Allgemeine Funktionen für die serielle Schnittstelle

DTR

VBA:

Declare Sub DTR Lib „RSAPI.DLL“ (ByVal EinsNull As Integer)

WORDBASIC:

Declare Sub DTR Lib „RSAPI.DLL“ (EinsNull As Integer)

Schalten (0/1) der RS232-Leitung DTR für die geöffnete Schnittstelle.

Data Terminal Ready (DTR) ist eine Ausgangsleitung der seriellen Schnittstelle. Diese Leitung kann mit dieser Funktion (Methode) an und ausgeschaltet werden.

Es gibt sogenannte „Quicktester“ für Schnittstellen, die den Zustand der Leitungen mit verschiedenen Farben anzeigen. Ist ein solcher Adapter an COM2 angeschlossen, kann man ein kurzes Blinkprogramm schreiben und beobachten, wie Leitung 20 (DTR bei 25poligem Stecker) blinkt.

Sub Main()

INIT 2	'COM2 öffnen

For N=1 To 10	'10 mal blinken

DTR 1	'An

DELAY 100	'100 ms warten

DTR 0	'Aus

DELAY 100	'100 ms warten

Next N

End Sub


TXD
Referenz zur RSAPI.DLL  -

Allgemeine Funktionen für die serielle Schnittstelle

TXD

VBA:

Declare Sub TXD Lib „RSAPI.DLL“ (ByVal EinsNull As Integer)

WORDBASIC:

Declare Sub TXD Lib „RSAPI.DLL“ (EinsNull As Integer)

Schalten (0/1) der RS232-Leitung TXD für die geöffnete Schnittstelle.

Sub Main()

INIT 2	'COM2 öffnen

For N=1 To 10	'10 mal blinken

TXD 1	'An

DELAY 100	'100 ms warten

TXD 0	'Aus

DELAY 100	'100 ms warten

Next N

End Sub


CTS
Referenz zur RSAPI.DLL  -

Allgemeine Funktionen für die serielle Schnittstelle

CTS

VBA:

Declare Function CTS Lib „RSAPI.DLL“ ()As Integer

WORDBASIC:

Declare Function CTS Lib „RSAPI.DLL“ ()As Integer

Rückgabe: Zustand der Leitung (1/0)

Lesen (0/1) der RS232-Leitung CTS der geöffneten Schnittstelle.

Clear To Send (CTS) ist eine Eingangsleitung der seriellen Schnittstelle. Diese Leitung kann mit dieser Funktion (Methode) gelesen werden.

Es gibt sogenannte „Quicktester“ für Schnittstellen, die den Zustand der Leitungen mit verschiedenen Farben anzeigen. Ist ein solcher Adapter an COM2 angeschlossen, kann man die Funktion überprüfen. CTS liefert eine 1, wenn die Leitung „an“ ist, sonst eine Null.

Dim x As Integer

Sub Main()

INIT 2	'COM2 öffnen

x = CTS

MsgBox "CTS liefert "+ Str$(x)

End Sub


DCD
Referenz zur RSAPI.DLL  -

Allgemeine Funktionen für die serielle Schnittstelle

DCD

VBA:

Declare Function DCD Lib „RSAPI.DLL“ ()As Integer

WORDBASIC:

Declare Function DCD Lib „RSAPI.DLL“ ()As Integer

Rückgabe: Zustand der Leitung (1/0)

Lesen (0/1) der RS232-Leitung DCD der geöffneten Schnittstelle.

Data Carrier Detect (DCD) ist eine Eingangsleitung der seriellen Schnittstelle. Diese Leitung kann mit dieser Funktion (Methode) gelesen werden.

Es gibt sogenannte „Quicktester“ für Schnittstellen, die den Zustand der Leitungen mit verschiedenen Farben anzeigen. Ist ein solcher Adapter an COM2 angeschlossen, kann man die Funktion überprüfen. DCD liefert eine 1, wenn die Leitung „an“ ist, sonst eine Null.

Dim x As Integer

Sub Main()

INIT 2	'COM2 öffnen

x = DCD

MsgBox "DCD liefert "+Str$(x)

End Sub


DSR
Referenz zur RSAPI.DLL  -

Allgemeine Funktionen für die serielle Schnittstelle

DSR

VBA:

Declare Function DSR Lib „RSAPI.DLL“ ()As Integer

WORDBASIC:

Declare Function DSR Lib „RSAPI.DLL“ ()As Integer

Rückgabe: Zustand der Leitung (1/0)

Lesen (0/1) der RS232-Leitung DSR der geöffneten Schnittstelle.

Data Set Ready (DSR) ist eine Eingangsleitung der seriellen Schnittstelle. Diese Leitung kann mit dieser Funktion (Methode) gelesen werden.

Es gibt sogenannte „Quicktester“ für Schnittstellen, die den Zustand der Leitungen mit verschiedenen Farben anzeigen. Ist ein solcher Adapter an COM2 angeschlossen, kann man die Funktion überprüfen. DSR liefert eine 1, wenn die Leitung „an“ ist, sonst 0.

Dim x As Integer

Sub Main()

INIT 2	'COM2 öffnen

x = DSR

MsgBox "DSR liefert "+Str$(x)

End Sub


RI
Referenz zur RSAPI.DLL  -

Allgemeine Funktionen für die serielle Schnittstelle

RI

VBA:

Declare Function RI Lib „RSAPI.DLL“ ()As Integer

WORDBASIC:

Declare Function RI Lib „RSAPI.DLL“ ()As Integer

Rückgabe: Zustand der Leitung (1/0)

Lesen (0/1) der RS232-Leitung RING der geöffneten Schnittstelle.

RI oder RI ist eine Eingangsleitung der seriellen Schnittstelle. Diese Leitung kann mit dieser Funktion (Methode) gelesen werden.

Es gibt sogenannte „Quicktester“ für Schnittstellen, die den Zustand der Leitungen mit verschiedenen Farben anzeigen. Ist ein solcher Adapter an COM2 angeschlossen, kann man die Funktion überprüfen. RI liefert eine 1, wenn die Leitung „an“ ist, sonst eine Null.

Dim x As Integer

Sub Main()

INIT 2	'COM2 öffnen

x = RI

MsgBox "CTS liefert "+Str$(x)

End Sub


StrLength
Referenz zur RSAPI.DLL  -

Digital-Multimeter einfach

STRLENGTH

VBA:

Declare Function STRLENGTH Lib „RSAPI.DLL“ (ByVal L As Integer) As Integer

Declare Sub STRLENGTH Lib „RSAPI.DLL“ (ByVal L As Integer)

WORDBASIC:

Declare Function STRLENGTH Lib „RSAPI.DLL“ (L As Integer) As Integer

Declare Sub STRLENGTH Lib „RSAPI.DLL“ (L As Integer)

Rückgabe:	Alte Länge

Legt die Länge fest, die zur Übertragung der Anzeige benötigt werden. Die voreingestellte Länge ist 14 Zeichen zum Auslesen der DMM-Anzeige des M-3650 CR. Dieses Gerät überträgt pro Meßwert 14 Zeichen in folgendem Format:

1	2	3	4	5	6	7	8	9	10	11	12	13	14

D	C	-	1	.	9	9	9	V	CR

Bei andern Geräten kann mit dieser Methode eine andere Länge eingestellt werden.


StrRead
Referenz zur RSAPI.DLL  -

Digital-Multimeter einfach

STRREAD

VBA:

Declare Sub STRREAD Lib „RSAPI.DLL“ (ByVal S As String)

WORDBASIC:

Declare Sub STRREAD Lib „RSAPI.DLL“ (S As String)

Empfang einer Zeichenkette. Es werden die mit STRLENGTH gesetzte Anzahl von Zeichen erwartet. Bei einem TimeOut (siehe TIMEOUT) bricht der Empfang ab und es wird der String "Fehler" zurückgeliefert.

Beim Auslesen der DMM-Anzeige des M-3650 CR werden 14 Zeichen übertragen.

1	2	3	4	5	6	7	8	9	10	11	12	13	14

D	C	-	1	.	9	9	9	V	CR

Folgendes WordBasic-Makro liefert 10 Meßwerte vom Multimeter M-3650CR, wenn dieses an COM2 angeschlossen ist:

Declare Sub OPENCOM Lib "RSAPI.DLL"(A As String)

Declare Sub TIMEOUT Lib "RSAPI.DLL"(ms As Integer)

Declare Sub SENDBYTE Lib "RSAPI.DLL"(Byte As Integer)

Declare Sub STRREAD Lib "RSAPI.DLL"(A As String)

Declare Sub DELAY Lib "RSAPI.DLL"(ms As Integer)

Declare Sub CLOSECOM Lib "RSAPI.DLL"()

Sub MAIN

DateiNeuStandard	'Neues Blatt

OPENCOM "COM2,1200,N,7,1"	'Schnittstelle öffnen

TIMEOUT 300	'TimeOut erhöhen

For i = 1 To 10	'Für 10 Messungen

DELAY 10	'Multimeter ist langsam

SENDBYTE  Asc("D")	'Meßdaten anfordern

A$ = "12345678901234"	'14 Zeichen reservieren

STRREAD A$	'Auslesen

Einfügen A$	'Ins Dokument einfügen

Next	'Nächste Messung

CLOSECOM	'Schnittstelle schließen

DateiSchließen 2	'Blatt wegwerfen

End Sub


IX_OpenCom
Referenz zur RSAPI.DLL  -

Digital-Multimeter mehrfach

IX_OPENCOM

VBA:

Declare Function IX_OPENCOM Lib „RSAPI.DLL“ (ByVal ix%, ByVal Parameter$) As Integer

Declare Sub IX_OPENCOM Lib „RSAPI.DLL“ (ByVal ix%, ByVal Parameter As String)

WORDBASIC:

Declare Function IX_OPENCOM (ix As Integer, Parameter As String) As Integer

Declare Sub IX_OPENCOM Lib „RSAPI.DLL“ (ix As Integer, S As String)

Rückgabe:	Bei Fehler nicht eindeutig, sonst COM (1...8)

Öffnet die im Parameterstring angegebene serielle Schnittstelle. Die Zahl ix kann Werte zwischen 0 und 7 annehmen. Werden z.B. zwei Multimeter Typ M-3650CR zur Strom-/Spannungsmessung benötigt, ergibt sich eine Initialisierung wie folgt:

Sub Main()

IX_OPENCOM 1, "COM2,1200,N,7,1"	'Gerät 1 an COM2

IX_OPENCOM 2, "COM1,1200,N,7,1"	'Gerät 2 an COM1

....

End Sub


IX_CloseCom
Referenz zur RSAPI.DLL  -

Digital-Multimeter mehrfach

IX_CLOSECOM

VBA:

Declare Function IX_CLOSECOM Lib „RSAPI.DLL“ (ByVal ix%) As Integer

Declare Sub IX_CLOSECOM Lib „RSAPI.DLL“ (ByVal ix%)

WORDBASIC:

Declare Function IX_CLOSECOM (ix As Integer) As Integer

Declare Sub IX_CLOSECOM Lib „RSAPI.DLL“ (ix As Integer)

Rückgabe:	Bei Fehler -1, sonst 0

Schließt die für Gerät ix die serielle Schnittstelle, die mit IX_OPENCOM geöffnet wurde. Die Zahl ix kann Werte zwischen 0 und 7 annehmen. Werden z.B. zwei Multimeter Typ M-3650CR zur Strom-/Spannungsmessung benötigt, ergibt sich eine Initialisierung wie folgt:

Sub Main()

IX_OPENCOM 1, "COM2,1200,N,7,1"	'Gerät 1 an COM2

IX_OPENCOM 2, "COM1,1200,N,7,1"	'Gerät 2 an COM1

....

IX_CLOSECOM 1

IX_CLOSECOM 2

End Sub


IX_StrLength
Referenz zur RSAPI.DLL  -

Digital-Multimeter mehrfach

IX_STRLENGTH

VBA:

Declare Function IX_STRLENGTH Lib „RSAPI.DLL“ (ByVal ix%, ByVal Len%) As Integer

Declare Sub IX_STRLENGTH Lib „RSAPI.DLL“ (ByVal ix%, ByVal Len%)

WORDBASIC:

Declare Function IX_STRLENGTH (ix As Integer, Len As Integer) As Integer

Declare Sub IX_STRLENGTH Lib „RSAPI.DLL“ (ix As Integer, Len  As Integer)

Rückgabe:	Alte Länge

Legt die Länge fest, die zur Übertragung der Anzeige benötigt werden. Die voreingestellte Länge ist 14 Zeichen zum Auslesen der DMM-Anzeige des M-3650 CR. Dieses Gerät überträgt pro Meßwert 14 Zeichen in folgendem Format:

1	2	3	4	5	6	7	8	9	10	11	12	13	14

D	C	-	1	.	9	9	9	V	CR


IX_StrRead
Referenz zur RSAPI.DLL  -

Digital-Multimeter mehrfach

IX_STRREAD

VBA:

Declare Sub IX_STRREAD Lib „RSAPI.DLL“ (ByVal ix%, ByVal S As String)

WORDBASIC:

Declare Sub IX_STRREAD Lib „RSAPI.DLL“ (ix As Integer, S As String)

Empfang einer Zeichenkette. Es werden die mit IX_StrLength gesetzte Anzahl von Zeichen erwartet. Bei einem TimeOut  bricht der Empfang ab und es wird der String "Fehler" zurückgeliefert.

Beim Auslesen der DMM-Anzeige des M-3650 CR werden 14 Zeichen übertragen.

1	2	3	4	5	6	7	8	9	10	11	12	13	14

D	C	-	1	.	9	9	9	V	CR

Folgendes WordBasic-Makro liefert 10 Meßwerte vom Multimeter M-3650CR, wenn dieses an COM2 angeschlossen ist:

Declare Sub IX_OPENCOM Lib "RSAPI.DLL"(IX As Integer, A As String)

Declare Sub IX_TIMEOUT Lib "RSAPI.DLL"(IX As Integer, ms As Integer)

Declare Sub IX_SENDBYTE Lib "RSAPI.DLL"(IX As Integer, Byte As Integer)

Declare Sub IX_STRREAD Lib "RSAPI.DLL"(IX As Integer, A As String)

Declare Sub DELAY Lib "RSAPI.DLL"(ms As Integer)

Declare Sub IX_CLOSECOM Lib "RSAPI.DLL"(IX As Integer)

Sub MAIN

DateiNeuStandard	'Neues Blatt

IX_OPENCOM 1, "COM2,1200,N,7,1"	'Schnittstelle öffnen in Win3.xx

TIMEOUT 300	'TimeOut erhöhen

For i = 1 To 10	'Für 10 Messungen

DELAY 10	'Multimeter ist langsam

IX_SENDBYTE  1, Asc("D")	'Meßdaten anfordern

A$ = "12345678901234"	'14 Zeichen reservieren

IX_STRREAD 1, A$	'Auslesen

Einfügen A$	'Ins Dokument einfügen

Next	'Nächste Messung

IX_CLOSECOM 1	'Schnittstelle schließen

DateiSchließen 2	'Blatt wegwerfen

End Sub


IX_TimeOut
Referenz zur RSAPI.DLL  -

Digital-Multimeter mehrfach

IX_TIMEOUT

VBA:

Declare Function IX_TIMEOUT Lib „RSAPI.DLL“ (ByVAl Ix%, ByVal ms As Integer) As Integer

Declare Sub IX_TIMEOUT Lib „RSAPI.DLL“ (ByVal Ix%, ByVal ms As Integer)

WORDBASIC:

Declare Function IX_TIMEOUT Lib „RSAPI.DLL“(ix As Integer, ms As Integer) As Integer

Declare Sub IX_TIMEOUT Lib „RSAPI.DLL“ (ix As Integer, ms As Integer)

Setzt das TimeOut in Millisekunden (ms) beim Empfang für die RS232-Schnittstelle. Trifft während der Zeit TimeOut kein Zeichen ein, kehrt die wird der Empfang abgebrochen. Bei langsamen Geräten, wie z. B. Multimetern ist die Zeit meist etwas höher zu wählen. Der voreingestellte Wert für TimeOut beträgt 30 ms. Wird die Zeit zu groß gewählt, kann dies dazu führen, daß das Programm „hängt“, wenn keine Zeichen empfangen werden.

Rückgabe:	Altes TimeOut in ms


IX_SendByte
Referenz zur RSAPI.DLL  -

Digital-Multimeter mehrfach

IX_SENDBYTE

VBA:

Declare Function IX_SENDBYTE Lib „RSAPI.DLL“ (ByVal ix%, ByVal Byte As Integer) As Integer

Declare Sub IX_SENDBYTE Lib „RSAPI.DLL“ (ByVal ix%, ByVal Byte As Integer)

WORDBASIC:

Declare Function IX_SENDBYTE Lib „RSAPI.DLL“(ix As Integer, Byte As Integer) As Integer

Declare Sub IX_SENDBYTE Lib „RSAPI.DLL“(ix As Integer, Byte As Integer)

Sendet ein Byte über die geöffnete Schnittstelle (IX_OpenCom) für Gerät ix. Der Sendepuffer wird vorher geleert. Es wird 30 ms versucht das Zeichen zu senden. Bei einem Fehler bricht IX_SENDBYTE mit dem Rückgabewert -1 ab. Sonst wird 0 zurückgeliefert.

Sub Main()

IX_OPENCOM  1, "COM2,19200,N,8,2"

IX_SENDBYTE 1, 89	'Byte 89 oder Zeichen "Y" senden.

IX_CLOSECOM 1

End Sub


IX_ReadByte
Referenz zur RSAPI.DLL  -

Digital-Multimeter mehrfach

IX_READBYTE

VBA:

Declare Function IX_READBYTE Lib „RSAPI.DLL“ (ByVal ix%) As Integer

WORDBASIC:

Declare Function IX_READBYTE Lib „RSAPI.DLL“(ix As Integer) As Integer

Empfängt und liefert ein Byte über die geöffnete Schnittstelle (IX_OpenCom) von Gerät ix. Es wird 30 ms auf das Zeichen gewartet. Diese Zeit kann mit IX_TIMEOUT geändert werden. Trifft während dieser Zeit kein Zeichen ein, so wird -1 zurückgeliefert. Der Empfangspuffer bleibt unverändert.

Sub Main()

IX_OPENCOM 1, "COM2,19200,N,8,2"

x = IX_READBYTE(1)

IX_CLOSECOM 1

End Sub


IX_ReadString
Referenz zur RSAPI.DLL  -

Digital-Multimeter mehrfach

IX_READSTRING

VBA:

Declare Function IX_READSTRING Lib „RSAPI.DLL“ (ByVal ix%, ByVal S As String) As Integer

WORDBASIC:

Declare Function IX_READSTRING Lib „RSAPI.DLL“(ix As Integer, S As String) As Integer

Empfangen einer Zeichenkette. Die Länge der übergebenen Zeichenkette legt fest, auf wie viele Zeichen eingelesen werden sollen. Bei einem TimeOut bricht der Empfang ab.

Rückgabe	Zahl der empfangenen Zeichen.

Dim S As String

Sub Main()

IX_OPENCOM 1, "COM2,19200,N,8,2"

S = SPACE$(32000)	’Viel Leerzeichen

N = READSTRING (1,S)	’Auf x Zeichen warten

MsgBox "Es wurden " + Str$(N) + "Zeichen empfangen"

IX_CLOSECOM 1

End Sub


IX_SendString
Referenz zur RSAPI.DLL  -

Digital-Multimeter mehrfach

IX_SENDSTRING

VBA:

Declare Function IX_SENDSTRING Lib „RSAPI.DLL“ (ByVal ix%, ByVal A$) As Integer

Declare Sub IX_SENDSTRING Lib „RSAPI.DLL“ (ByVal ix%, ByVal A$)

WORDBASIC:

Declare Function IX_SENDSTRING Lib „RSAPI.DLL“(ix As Integer, S As String) As Integer

Declare Sub IX_SENDSTRING Lib „RSAPI.DLL“ (ix As Integer, S As String)

Senden einer Zeichenfolge

Rückgabe	Ergebnis von WriteComm (WinAPI)

„The return value specifies the number of bytes written, if the function is successful. The return value is less than zero if an error occurs, making the absolute value of the return value the number of bytes written“.

Sub Main()

IX_OPENCOM 5, "COM2,19200,N,8,2"

IX_SENDSTRING 5, "ATI" + Chr$(13)

IX_CLOSECOM 5

End Sub


IX_RTS
Referenz zur RSAPI.DLL  -

Digital-Multimeter mehrfach

IX_RTS

VBA:

Declare Sub IX_RTS Lib „RSAPI.DLL“ (ByVal ix%, ByVal EinsNull As Integer)

WORDBASIC:

Declare Sub IX_RTS Lib „RSAPI.DLL“ (ix As Integer, EinsNull As Integer)

Schalten (0/1) der RS232-Leitung RTS für die geöffnete Schnittstelle von Gerät ix.

Request To Send (RTS) ist eine Ausgangsleitung der seriellen Schnittstelle. Diese Leitung kann mit dieser Funktion (Methode) an und ausgeschaltet werden. Bei manchen externen Geräten wird diese Leitung auch zur Spannungsversorgung benutzt. Beim Digitalmultimeter M-3650CR (Conrad) muß diese Leitung für den Empfang ausgeschaltet sein. IX_OpenCom und alle anderen Initialisierungsroutinen schalten diese Leitung zunächst auf 0 (aus).

Es gibt sogenannte „Quicktester“ für Schnittstellen, die den Zustand der Leitungen mit verschiedenen Farben anzeigen. Ist ein solcher Adapter an COM2 angeschlossen, kann man ein kurzes Blinkprogramm schreiben und beobachten, wie Leitung 4 (RTS) blinkt.

Sub Main()

IX_OPENCOM 1, "COM2,1200,N,7,1"	'1. Schnittstelle öffnen

For N=1 To 10	'10 mal blinken

IX_RTS 1,1	'An

DELAY 100	'100 ms warten

IX_RTS 1,0	'Aus

DELAY 100	'100 ms warten

Next N

IX_CLOSECOM 1

End Sub


IX_DTR
Referenz zur RSAPI.DLL  -

Digital-Multimeter mehrfach

IX_DTR

VBA:

Declare Sub IX_DTR Lib „RSAPI.DLL“ (ByVal ix%, ByVal EinsNull As Integer)

WORDBASIC:

Declare Sub IX_DTR Lib „RSAPI.DLL“ (ix As Integer, EinsNull As Integer)

Schalten (0/1) der RS232-Leitung DTR für die geöffnete Schnittstelle von Gerät ix.

Data Terminal Ready (DTR) ist eine Ausgangsleitung der seriellen Schnittstelle. Diese Leitung kann mit dieser Funktion (Methode) an und ausgeschaltet werden.

Es gibt sogenannte „Quicktester“ für Schnittstellen, die den Zustand der Leitungen mit verschiedenen Farben anzeigen. Ist ein solcher Adapter an COM2 angeschlossen, kann man ein kurzes Blinkprogramm schreiben und beobachten, wie Leitung 20 (DTR bei 25poligem Stecker) blinkt.

Sub Main()

IX_OPENCOM 1, "COM2,1200,N,7,1"	'1. Schnittstelle öffnen

For N=1 To 10	'10 mal blinken

IX_DTR 1,1	'An

DELAY 100	'100 ms warten

IX_DTR 1,0	'Aus

DELAY 100	'100 ms warten

Next N

IX_CLOSECOM 1

End Sub


IX_TXD
Referenz zur RSAPI.DLL  -

Digital-Multimeter mehrfach

IX_TXD

VBA:

Declare Sub IX_TXD Lib „RSAPI.DLL“ (ByVal ix%, ByVal EinsNull As Integer)

WORDBASIC:

Declare Sub IX_TXD Lib „RSAPI.DLL“ (ix As Integer, EinsNull As Integer)

Schalten (0/1) der RS232-Leitung TXD für die geöffnete Schnittstelle von Gerät ix.

Transmit Data (TxD) ist eine Ausgangsleitung der seriellen Schnittstelle. Diese Leitung kann mit dieser Funktion (Methode) an und ausgeschaltet werden. Bei manchen externen Geräten wird diese Leitung auch zur Spannungsversorgung benutzt. Beim Digitalmultimeter M-3650CR (Conrad) muß diese Leitung für den Empfang ausgeschaltet sein. IX_OpenCom und alle anderen Initialisierungsroutinen schalten diese Leitung zunächst auf 0 (aus).

Es gibt sogenannte „Quicktester“ für Schnittstellen, die den Zustand der Leitungen mit verschiedenen Farben anzeigen. Ist ein solcher Adapter an COM2 angeschlossen, kann man ein kurzes Blinkprogramm schreiben und beobachten, wie Leitung 4 (TxD) blinkt.

Sub Main()

IX_OPENCOM 1, "COM2,1200,N,7,1"	'1. Schnittstelle öffnen

For N=1 To 10	'10 mal blinken

IX_TXD 1,1	'An

DELAY 100	'100 ms warten

IX_TXD 1,0	'Aus

DELAY 100	'100 ms warten

Next N

IX_CLOSECOM 1

End Sub


IX_CTS
Referenz zur RSAPI.DLL  -

Digital-Multimeter mehrfach

IX_CTS

VBA:

Declare Function IX_CTS Lib „RSAPI.DLL“ (ByBal ix%) As Integer

WORDBASIC:

Declare Function IX_CTS Lib „RSAPI.DLL“ (ix As Integer ) As Integer

Rückgabe: Zustand der Leitung (1/0)

Lesen (0/1) der RS232-Leitung CTS der geöffneten Schnittstelle für Gerät ix.

Clear To Send (CTS) ist eine Eingangsleitung der seriellen Schnittstelle. Diese Leitung kann mit dieser Funktion (Methode) gelesen werden.

Es gibt sogenannte „Quicktester“ für Schnittstellen, die den Zustand der Leitungen mit verschiedenen Farben anzeigen. Ist ein solcher Adapter an COM2 angeschlossen, kann man die Funktion überprüfen. CTS liefert eine 1, wenn die Leitung „an“ ist, sonst eine Null.

Dim x As Integer

Sub Main()

IX_OPENCOM 1, "COM2,1200,N,7,1"	'1. Schnittstelle öffnen

x = IX_CTS (1)

MsgBox "CTS liefert "+Str$(x)

IX_CLOSECOM (1)

End Sub


IX_DCD
Referenz zur RSAPI.DLL  -

Digital-Multimeter mehrfach

IX_DCD

VBA:

Declare Function IX_DCD Lib „RSAPI.DLL“ (ByVal ix%) As Integer

WORDBASIC:

Declare Function IX_DCD Lib „RSAPI.DLL“ (ix As Integer) As Integer

Rückgabe: Zustand der Leitung (1/0)

Lesen (0/1) der RS232-Leitung DCD der geöffneten Schnittstelle von Gerät ix.

Data Carrier Detect (DCD) ist eine Eingangsleitung der seriellen Schnittstelle. Diese Leitung kann mit dieser Funktion (Methode) gelesen werden.

Es gibt sogenannte „Quicktester“ für Schnittstellen, die den Zustand der Leitungen mit verschiedenen Farben anzeigen. Ist ein solcher Adapter an COM2 angeschlossen, kann man die Funktion überprüfen. DCD liefert eine 1, wenn die Leitung „an“ ist, sonst eine Null.

Dim x As Integer

Sub Main()

IX_OPENCOM 1, "COM2,1200,N,7,1"	'Schnittstelle öffnen

x = IX_DCD(1)

MsgBox "DCD liefert "+Str$(x)

IX_CLOSECOM (1)

End Sub


IX_DSR
Referenz zur RSAPI.DLL  -

Digital-Multimeter mehrfach

IX_DSR

VBA:

Declare Function IX_DSR Lib „RSAPI.DLL“ (ByVal ix%) As Integer

WORDBASIC:

Declare Function IX_DSR Lib „RSAPI.DLL“ (ix As Integer) As Integer

Rückgabe: Zustand der Leitung (1/0)

Lesen (0/1) der RS232-Leitung DSR der geöffneten Schnittstelle von Gerät ix.

Data Set Ready (DSR) ist eine Eingangsleitung der seriellen Schnittstelle. Diese Leitung kann mit dieser Funktion (Methode) gelesen werden.

Es gibt sogenannte „Quicktester“ für Schnittstellen, die den Zustand der Leitungen mit verschiedenen Farben anzeigen. Ist ein solcher Adapter an COM2 angeschlossen, kann man die Funktion überprüfen. DSR liefert eine 1, wenn die Leitung „an“ ist, sonst 0.

Dim x As Integer

Sub Main()

IX_OPENCOM 1, "COM2,1200,N,7,1"	'Schnittstelle öffnen

x = IX_DSR(1)

MsgBox "DSR liefert "+Str$(x)

IX_CLOSECOM(1)

End Sub


IX_RI
Referenz zur RSAPI.DLL  -

Digital-Multimeter mehrfach

VBA:

Declare Function IX_RI Lib „RSAPI.DLL“ (ByVal ix%) As Integer

WORDBASIC:

Declare Function IX_RI Lib „RSAPI.DLL“ (ix As Integer) As Integer

Rückgabe: Zustand der Leitung (1/0)

Lesen (0/1) der RS232-Leitung RI der geöffneten Schnittstelle von Gerät ix.

RI oder RING ist eine Eingangsleitung der seriellen Schnittstelle. Diese Leitung kann mit dieser Funktion (Methode) gelesen werden.

Es gibt sogenannte „Quicktester“ für Schnittstellen, die den Zustand der Leitungen mit verschiedenen Farben anzeigen. Ist ein solcher Adapter an COM2 angeschlossen, kann man die Funktion überprüfen. RI liefert eine 1, wenn die Leitung „an“ ist, sonst eine Null.

Dim x As Integer

Sub Main()

IX_OPENCOM 1, "COM2,1200,N,7,1"	'Schnittstelle öffnen

x = IX_RI(1)

MsgBox "RI liefert "+Str$(x)

IX_CLOSECOM(1)

End Sub


Referenz zur RSAPI.DLL  -

Zeitfunktionen

DELAY

VBA:

Declare Sub DELAY Lib „RSAPI.DLL“ (ByVal ms%)

WORDBASIC:

Declare Sub DELAY Lib „RSAPI.DLL“ (ms As Integer)

Parameter:	Millisekunden

Eine Verzögerung in Millisekunden. Windows bleibt während dieser Zeit stehen! Hier sind nur kleinere Zeiten sinnvoll. Werte über 30 Sekunden (30000) sollten auf andere Weise realisiert werden. Es kann z.B. mit TimeInit und ReadTime eine Warteschleife aufgebaut werden. In dieser Schleife kann dann DoEvents (VBAEN) oder Ereignisse (VBADE) aufgerufen werden, damit andere Tasks wie die 2. Textverarbeitung weiter läuft.

Sub MAIN

InitSios 2

DOUT(15)	REM Muster 00001111

DELAY(2000)	REM Warte 2 Sekunden

DOUT(7)	REM Muster 00000111

CloseCom

End Sub


Referenz zur RSAPI.DLL  -

Zeitfunktionen

TIMEINIT

VBA:

Declare Sub TIMEINIT Lib „RSAPI.DLL“ ()

WORDBASIC:

Declare Sub TIMEINIT Lib „RSAPI.DLL“ ()

TimeInit setzt einen internen Zeitzähler auf Null. Danach kann mit der Methode (Funktion) TimeRead die Zeit in Millisekunden erfragt werden, die nach dem Aufruf von TimeInit verstrichen ist. Auf diese Art können Warteschleifen realisiert werden, die während der Wartezeit Windows gestatten andere Prozesse (Programme) weiter zu bearbeiten.

Es kann z.B. mit TimeInit und TimeRead eine Warteschleife aufgebaut werden. In dieser Schleife kann dann DoEvents (VBAEN) oder Ereignisse (VBADE) aufgerufen werden, damit andere Tasks wie die 2. Textverarbeitung weiter läuft.

Sub MAIN

INITSIOS 2

DOUT(15)	'Muster 00001111

TIMEINIT 	'Zeit Reset

WHILE TIMEMS <5000	'5 Sekunden

DoEvents	'Andere Programme

WEND

DOUT(7)	'Muster 00000111

CLOSECOM

End Sub


Referenz zur RSAPI.DLL  -

Zeitfunktionen

TIMEREAD

VBA:

Declare Function TIMEREAD Lib „RSAPI.DLL“ () As Integer

WORDBASIC:

Declare Function  TIMEREAD Lib „RSAPI.DLL“ () As Integer

Rückgabe:	Verstrichene Zeit in ms nach dem Aufruf von TIMEINIT.

TIMEINIT setzt einen internen Zeitzähler auf Null. Danach kann mit der Methode (Funktion) TIMEREAD die Zeit in Millisekunden erfragt werden, die nach dem Aufruf von TIMEINIT verstrichen ist. Auf diese Art können Warteschleifen realisiert werden, die während der Wartezeit Windows gestatten andere Prozesse (Programme) weiter zu bearbeiten.

Es kann z.B. mit TIMEINIT und TIMEREAD eine Warteschleife aufgebaut werden. In dieser Schleife kann dann DoEvents (VBAEN) oder Ereignisse (VBADE) aufgerufen werden, damit andere Tasks wie die 2. Textverarbeitung weiter läuft.

Sub MAIN

INITSIOS 2

DOUT(15)	'Muster 00001111

TIMEINIT 	'Zeit Reset

WHILE TIMEMS <5000	'5 Sekunden

DoEvents	'Andere Programme

WEND

DOUT(7)	'Muster 00000111

CLOSECOM

End Sub


Referenz zur RSAPI.DLL  -

Tastaturfunktionen

KBHIT

VBA:

Declare Function KBHIT Lib „RSAPI.DLL“ () As Integer

WORDBASIC:

Declare Function KBHIT Lib „RSAPI.DLL“ () As Integer

Parameter:	Keine

Der Rückgabewert dieser Funktion ist 0 (False), wenn keine Taste gedrückt wurde. Der Rückgabewert -1 (True) signalisiert, daß eine Taste gedrückt war, als die Funktion aufgerufen wurde.

Diese Funktion macht in einer Windows-Umgebung kaum Sinn. Trotzdem kann sie für Testzwecke durchaus brauchbar erscheinen. Je nach Windows-Umgebung kann die Funktion auch anders reagieren als erwartet...

Hier ein Beipiel in Wordbasic für Turbo-Pascal-Fans:

Declare Function KEYPRESSED Lib "RSAPI.DLL"() Alias "KBHIT" As Integer

Sub MAIN

WHILE NOT KEYPRESSED	'DO

PRINT RND()

WEND

End Sub


Referenz zur RSAPI.DLL  -

Tastaturfunktionen

TASTE

VBA:

Declare Sub TASTE Lib „RSAPI.DLL“ ()

WORDBASIC:

Declare Sub TASTE Lib „RSAPI.DLL“ ()

Parameter:	Keine

Diese Funktion macht in einer Windows-Umgebung kaum Sinn. Trotzdem kann sie für Testzwecke durchaus brauchbar erscheinen. Windows steht still, bis eine Taste gedrückt wurde!

WORDBASIC:

Sub MAIN

PRINT "HALLO WELT:"

TASTE

End Sub


Referenz zur RSAPI.DLL  -

Spezialfunktionen für Modulbus-Interfaces/Camface

FINDHARD

VBA:

Declare Function FINDHARD Lib „RSAPI.DLL“ (ByVal Meldung%) As Integer

Declare Sub FINDHARD Lib „RSAPI.DLL“ (ByVal Meldung%)

WORDBASIC:

Declare Function  FINDHARD Lib „RSAPI.DLL“ (Meldung As Integer) As Integer

Declare Sub  FINDHARD Lib „RSAPI.DLL“ (Meldung As Integer)

Parameter:	0: Keine Meldung, sonst Meldung der gefundenen Hardware.

Rückgabe:	Das gefundene Interface als Integer.

KEIN	0

COMPULAB	1

SIOS	4

ZELLE	8

RSBOX	16

Die Funktion sucht an allen verfügbaren seriellen Schnittstellen nach bekannten, identifizierbaren Interfaces. Dabei wird zunächst versucht die Schnittstelle zu öffnen. Gelingt dies, so wird versucht das angeschlossene Gerät zu erkennen. Wenn beide Schritte erfolgreich sind, wird die Schnittstelle entsprechend dem Gerät geöffnet.

Wird als Parameter eine andere Zahl als Null (0) übergeben, so wird die gefundene Hardware in einer Meldung angezeigt, sonst unterbleibt die Meldung. Wird kein bekanntes Interface gefunden, so arbeitet die DLL im Simulations-Modus. Analoge Eingangswerte ändern sich dann, nach einer Schwingungsgleichung. Die digitalen Eingänge werden wie die analogen Eingänge simuliert.


Referenz zur RSAPI.DLL  -

Spezialfunktionen für Modulbus-Interfaces/Camface

INIT

VBA:

Declare Function INIT Lib „RSAPI.DLL“ (ByVal COM%) As Integer

Declare Sub INIT Lib „RSAPI.DLL“ (ByVal COM%)

WORDBASIC:

Declare Function  INIT Lib „RSAPI.DLL“ (COM As Integer) As Integer

Declare Sub  INIT Lib „RSAPI.DLL“ (COM As Integer)

Parameter:	Nummer der seriellen Schnittstelle (COM) 1-4

Rückgabe:	COM oder 0 bei Fehler

Diese Anweisung bereitet den Datenaustausch zwischen Rechner und RS-/CompactBox-Interface vor. Sie muß aufgerufen werden, bevor das Interface das erste Mal angesprochen wird. Wird eine Zahl >0 zurück geliefert, so war der Aufruf erfolgreich. Alle Spezialfunktionen benutzen nun die Kommunikationsparameter dieses Interfaces. GetHard liefert 16 (RSBOX).

Beispiel für WordBasic zur Ausgabe eines Bitmusters an den Digitalausgängen (LED):

Sub MAIN

INIT 2	'COM2:

DEZAUS 129	'Bit 0 und Bit 7

CLOSECOM

End Sub


Referenz zur RSAPI.DLL  -

Spezialfunktionen für Modulbus-Interfaces/Camface

INITSIOS

VBA:

Declare Function INITSIOS Lib „RSAPI.DLL“ (ByVal COM%) As Integer

Declare Sub INITSIOS Lib „RSAPI.DLL“ (ByVal COM%)

WORDBASIC:

Declare Function  INITSIOS Lib „RSAPI.DLL“ (COM As Integer) As Integer

Declare Sub  INITSIOS Lib „RSAPI.DLL“ (COM As Integer)

Parameter:	Nummer der seriellen Schnittstelle (COM) 1-4

Rückgabe:	COM oder 0 bei Fehler

Diese Anweisung bereitet den Datenaustausch zwischen Rechner und dem SIOS-Interface vor. Sie muß aufgerufen werden, bevor das Interface das erste Mal angesprochen wird. Wird eine Zahl >0 zurück geliefert, so war der Aufruf erfolgreich. Alle Spezialfunktionen benutzen nun die Kommunikationsparameter dieses Interfaces. GetHard liefert 4 (SIOS).

Beispiel für WordBasic zur Anzeige der ROM-Version:

Sub MAIN

INITSIOS 2	' COM2:

SendByte 1

T = ReadByte

SendByte 2

M = ReadByte

SendByte 3

J = ReadByte

CloseCOM

MsgBox "ROM-Version vom " + Str$(t) + "." + LTrim$(Str$(m)) + ".199" + LTrim$(Str$(j))

End Sub

Das SIOS ist kompatibel zur RS-/CompactBox und kann daher auch mit INIT initialisiert werden. Die Kompatibilität ist jedoch nur eine Simulation und nutzt nicht alle Möglichkeiten aus.


Referenz zur RSAPI.DLL  -

Spezialfunktionen für Modulbus-Interfaces/Camface

INITCOMPULAB

VBA:

Declare Function INITCOMPULAB Lib „RSAPI.DLL“ (ByVal COM%) As Integer

Declare Sub INITCOMPULAB Lib „RSAPI.DLL“ (ByVal COM%)

WORDBASIC:

Declare Function  INITCOMPULAB Lib „RSAPI.DLL“ (COM As Integer) As Integer

Declare Sub  INITCOMPULAB Lib „RSAPI.DLL“ (COM As Integer)

Parameter:	Nummer der seriellen Schnittstelle (COM) 1-4

Rückgabe:	COM oder 0 bei Fehler

Diese Anweisung bereitet den Datenaustausch zwischen Rechner und CompuLAB-Interface vor. Sie muß aufgerufen werden, bevor das Interface das erste Mal angesprochen wird. Wird eine Zahl >0 zurück geliefert, so war der Aufruf erfolgreich. Alle Spezialfunktionen benutzen nun die Kommunikationsparameter dieses Interfaces. GetHard liefert 1 (COMPULAB).

Beispiel für WordBasic zur Ausgabe eines Bitmusters an den Digitalausgängen (LED):

Sub MAIN

INITCOMPULAB 2	'COM2:

DOUT 129	'Bit 0 und Bit 7

CLOSECOM

End Sub

Das CompuLAB ist kompatibel zur RS-/CompactBox und kann daher auch mit INIT initialisiert werden. Die Kompatibilität ist jedoch nur eine Simulation und nutzt nicht alle Möglichkeiten aus.


Referenz zur RSAPI.DLL  -

Spezialfunktionen für Modulbus-Interfaces/Camface

INITZELLE

VBA:

Declare Function INITZELLE Lib „RSAPI.DLL“ (ByVal COM%) As Integer

Declare Sub INITZELLE Lib „RSAPI.DLL“ (ByVal COM%)

WORDBASIC:

Declare Function  INITZELLE Lib „RSAPI.DLL“ (COM As Integer) As Integer

Declare Sub  INITZELLE Lib „RSAPI.DLL“ (COM As Integer)

Parameter:	Nummer der seriellen Schnittstelle (COM) 1-4

Rückgabe:	COM oder 0 bei Fehler

Diese Anweisung bereitet den Datenaustausch zwischen Rechner und der ZELLE vor. Sie muß aufgerufen werden, bevor das Interface das erste Mal angesprochen wird. Wird eine Zahl >0 zurück geliefert, so war der Aufruf erfolgreich. Alle Spezialfunktionen benutzen nun die Kommunikationsparameter dieses Interfaces. GetHard liefert 8 (ZELLE).

Beispiel für WordBasic zur Anzeige der Batteriespannung in der Zelle:

Sub MAIN

INITZELLE 2	'COM2:

PRINT UBAT/1000	'Spannung in Volt in der Statuszeile

CLOSECOM

End Sub


Referenz zur RSAPI.DLL  -

Spezialfunktionen für Modulbus-Interfaces/Camface

SETHARD

VBA:

Declare Function SETHARD Lib „RSAPI.DLL“ (ByVal Hardware%) As Integer

Declare Sub SETHARD Lib „RSAPI.DLL“ (ByVal Hardware%)

WORDBASIC:

Declare Function  SETHARD Lib „RSAPI.DLL“ (Hardware As Integer) As Integer

Declare Sub  SETHARD Lib „RSAPI.DLL“ (Hardware As Integer)

Parameter:	Hardware

KEIN	0

COMPULAB	1

SIOS	4

ZELLE	8

RSBOX	16

Rückgabe:	Vorige Hardware

Diese Funktion zwingt die DLL dazu, die Routinen für diese Hardware zu benutzen. Sinn macht der Aufruf nur im Zusammenhang mit SIOS oder ZELLE. Hier gibt es Funktionen die je nach Hardware verzweigen, auch wenn die Schnittstelle schon geschlossen ist (Kanalzahl, Messungen usw.)

Der Aufruf sollte nur erfolgen, wenn man genau weiß, was man vor hat...

Beispiel für WordBasic:

Sub MAIN

INIT 2	'COM2:

PRINT DIN	'Digitaleingänge in der Statuszeile

SETHARD 0	'Keine Hardware SIMULATION

DELAY 1000	'Eine Sekunde anzeigen

PRINT DIN	'Simulationswert in der Statuszeile

CLOSECOM	'Schnittstelle schließen

End Sub


Referenz zur RSAPI.DLL  -

Spezialfunktionen für Modulbus-Interfaces/Camface

GETHARD

VBA:

Declare Function GETHARD Lib „RSAPI.DLL“ () As Integer

WORDBASIC:

Declare Function  GETHARD Lib „RSAPI.DLL“ () As Integer

Rückgabe:	Hardware

KEIN	0

COMPULAB	1

SIOS	4

ZELLE	8

RSBOX	16

Die DLL verzweigt, je nach Hardware. Bei der Erstellung  gleicher Makros für Zelle und Sios kann diese Funktion sinnvoll sein

Beispiel für WordBasic:

Sub MAIN

INITSIOS 2	'COM2:

PRINT GETHARD	'4 in der Statuszeile, oder 0 (keine Hardware)

CLOSECOM	'Schnittstelle schließen

End Sub


Referenz zur RSAPI.DLL  -

Spezialfunktionen für Modulbus-Interfaces/Camface

AIN

Parameter:	Eingang (1-4)

Rückgabe:	Wert (0-255), bei Fehler -1

RS- / CompactBox, CompuLAB: Der Meßbereich der analogen Eingänge ist 0 - 5V für die Eingänge 1 und 2. An welchem der beiden Eingänge die Spannung gemessen wird, wird durch den Übergabeparameter "Eingang" bestimmt. Die Funktion AIN liefert einen Wert zwischen 0 und 255, wobei der Zahl 0 die Spannung 0 V und der Zahl 255 die Spannung 5 V entspricht.

SIOS: Der Meßbereich der analogen Eingänge ist 0 - 5V für die Eingänge A und B und 0 - 2,55 V für die Sensoreingänge C und D. An welchem der vier Eingänge die Spannung gemessen wird, wird durch den Übergabeparameter "Eingang" bestimmt. Die Funktion AIN liefert einen Wert zwischen 0 und 255, wobei der Zahl 0 die Spannung 0 V und der Zahl 255 die Spannung 5 V bzw. 2,55 V entspricht.

ZELLE: Der Meßbereich der analogen Eingänge ist 0 - 2,55 V für die Eingänge 1 und 4. An welchem der vier Eingänge die Spannung gemessen wird, wird durch den Übergabeparameter "Eingang" bestimmt. Die Funktion AIN liefert einen Wert zwischen 0 und 255, wobei der Zahl 0 die Spannung 0 V und der Zahl 255 die Spannung 2,55 V entspricht.

Deklaration für VB:

Declare Function AIN Lib "RSAPI.DLL"(ByVal Eingang%) As Integer

Deklaration für WordBasic:

Declare Function AIN Lib "RSAPI.DLL"(Eingang As Integer) As Integer

Beispiel für WordBasic:

Sub MAIN

Init 2

Print AIN(1)

End Sub


Referenz zur RSAPI.DLL  -

Spezialfunktionen für Modulbus-Interfaces/Camface

AOUT

Parameter:	Ausgang (1-4)

Wert (0-255)

SIOS. Das SIOS besitzt zwei analoge Leistungsausgänge A und B Jeder der zwei Ausgänge kann im Bereich 0 - 5V eingestellt werden, wobei der Wert 0 der Spannung  0 V und der Wert 255 der Spannung 5V entspricht.

Deklaration für VB:

Declare Function AOUT Lib "RSAPI.DLL"(ByVal Ausgang%,ByVal Wert%) As Integer

Deklaration für WordBasic:

Declare Function AOUT Lib "RSAPI.DLL"(Ausgang As Integer,Wert as Integer) As Integer

Beispiel für WordBasic:

Sub MAIN

INITSIOS 2

AOUT(1,127)	'2,5 Volt an Ausgang 1

End Sub


Referenz zur RSAPI.DLL  -

Spezialfunktionen für Modulbus-Interfaces/Camface

DOUT

Parameter:	Wert (0-255)

Alle digitalen Ausgänge werden durch diese Anweisung gesetzt. Der Ausgabewert errechnet sich aus der Summe der Stellenwerte für die zu setzenden Ausgänge. Jeder Zahl zwischen 0 (kein Ausgang gesetzt) und 255 (alle Ausgänge gesetzt) entspricht einem bestimmten Muster von gesetzten und nicht gesetzten Ausgängen. Durch den Befehl DOUT wird das jeweilige Muster gesetzt, das dem Wert entspricht.

Deklaration für VB:

Declare Function DOUT Lib "RSAPI.DLL"(ByVal Wert%) As Integer

Deklaration für WordBasic:

Declare Function DOUT Lib "RSAPI.DLL"(Wert as Integer) As Integer

Beispiel für WordBasic:

Sub MAIN

Init 2

DOUT(15)	REM Muster 00001111

End Sub


Referenz zur RSAPI.DLL  -

Spezialfunktionen für Modulbus-Interfaces/Camface

DIN

Parameter:	Keine

Rückgabe:	Wert (0-255)

Alle digitalen Eingänge werden über diese Funktion abgefragt. Der gelesene Wert ergibt sich aus der Summe der Stellenwerte für die gesetzten Eingänge. Als Ergebnis liefert diese Funktion somit eine Zahl, die zwischen 0 (kein Eingang gesetzt) und 255 (alle Eingänge gesetzt) liegt.

Deklaration für VB:

Declare Function DIN Lib "RSAPI.DLL"() As Integer

Deklaration für WordBasic:

Declare Function DIN Lib "RSAPI.DLL"() As Integer

Beispiel für WordBasic:

Sub MAIN

INIT 2

PRINT DIN

End Sub


Referenz zur RSAPI.DLL  -

Externe Messungen

BLOCKDEF

Parameter:	Anzahl (1-30720)

Eingänge (1-15)

Zeit (0 - 65535)

Sios und Zelle

Mit dieser Funktion wird eine Serienmessung vorbereitet. Der erste Parameter legt die Anzahl der Meßwerte fest.

Durch den Parameter "Eingänge" wird festgelegt, welche Eingänge bei der Messung berücksichtigt werden sollen. Jedem Eingang ist eine Zahl zugeordnet: A=1, B=2, C=4, D=8. Der anzugebende Wert ergibt sich aus der Addition der Zahlen.

"Zeit" bestimmt den Abstand zwischen zwei Messungen in Millisekunden.

Die Messung selbst wird durch die Anweisung BLOCKSTART (s.u.) ausgelöst. Die Meßbereiche betragen 0 - 5 V für die Eingänge A und B und 0 - 2,5 V für die Sensoreingänge C und D..

Deklaration für VB:

Declare Sub BLOCKDEF Lib "RSAPI.DLL"(ByVal Anzahl%, ByVal Eingänge%, ByVal Zeit%)

Deklaration für WordBasic:

Declare Sub BLOCKDEF Lib "RSAPI.DLL"(Anzahl As Integer, Eingänge As Integer, Zeit As Integer)

Beispiel für WordBasic:

Sub MAIN

INITSIOS 2

BlockDef(1000, 1 + 2 + 4 + 8, 10)	REM 100 Meßwerte

REM Alle Eingänge	REM Meßintervall 10 ms

BlockStart	REM Messung Start

While ReadByte < 0	REM Auf Ende warten

Wend

MsgBox "Messung beendet"

End Sub


Referenz zur RSAPI.DLL  -

Externe Messungen

BLOCKSTART

Parameter:	Keine

Sios und Zelle.

Diese Anweisung startet eine durch BLOCKDEF definierte Serienmessung. Diese Anweisung kann nur einen Block auslösen. Ein erneuter Aufruf überschreibt die alten Meßwerte. Für die Dauer der Serienmessung setzt das SOIS den Digitalausgang 0 hoch.

Deklaration für VB:

Declare Sub BLOCKSTART Lib "RSAPI.DLL"()

Deklaration für WordBasic:

Declare Sub BLOCKSTART Lib "RSAPI.DLL"()

Beispiel für WordBasic:

Sub MAIN

INITSIOS 2

BlockDef(1000, 1 + 2 + 4 + 8, 10)	REM 100 Meßwerte

REM Alle Eingänge	REM Meßintervall 10 ms

BlockStart	REM Messung Start

While ReadByte < 0	REM Auf Ende warten

Wend

MsgBox "Messung beendet"

End Sub


Referenz zur RSAPI.DLL  -

Externe Messungen

BLOCKTRIGGER

Parameter:	Typ (1-6)

Triggerlevel (0-255)

Sios.

Diese Anweisung startet eine durch BLOCKDEF definierte Serienmessung mit einer definierten Triggerbedingung:

Typ = 1:  Positive Triggerung am Analogeingang A

Typ = 2:  Negative Triggerung am Analogeingang A

Typ = 3:  Positive Triggerung am Analogeingang B

Typ = 4:  Negative Triggerung am Analogeingang B

Typ = 5:  Positive Triggerung am Digitaleingang 0

Typ = 6:  Negative Triggerung am Digitaleingang 0

Der angegebene Triggerlevel legt die Spannung am entsprechenden Analogeingang im Bereich 0 - 5 V fest, bei deren Erreichen die Messung beginnt. Diese Anweisung kann nur einen Block auslösen. Ein erneuter Aufruf überschreibt die alten Meßwerte. Für die Dauer der Serienmessung setzt das SOIS den Digitalausgang 0 hoch.

Deklaration für VB:

Declare Sub BLOCKTRIGGER Lib "RSAPI.DLL"(ByVal Typ%, ByVal Level%)

Deklaration für WordBasic:

Declare Sub BLOCKTRIGGER Lib "RSAPI.DLL"(Typ As Integer, Level As Integer)

Beispiel für WordBasic:

Sub MAIN

INITSIOS 2

BlockDef(1000, 1 + 2 + 4 + 8, 10)

BlockTrigger(1,127)	REM Start bei Analogeingang 1 -> 2,5 Volt

BlockAbwarten

MsgBox "Messung beendet"

End Sub


Referenz zur RSAPI.DLL  -

Externe Messungen

BLOCKABWARTEN

Parameter:	Keine

Sios und Zelle.

Diese Anweisung verzögert den weiteren Programmablauf, bis die laufende Meßserie beendet ist. Die Wartezeit kann vorzeitig durch einen beliebigen Tastendruck abgebrochen werden.

Deklaration für VB:

Declare Sub BLOCKABWARTEN Lib "RSAPI.DLL"()

Deklaration für WordBasic:

Declare Sub BLOCKABWARTEN Lib "RSAPI.DLL"()

Beispiel für WordBasic:

Sub MAIN

INITSIOS 2

BlockDef(1000, 1 + 2 + 4 + 8, 10)

BlockStart

BlockAbwarten

MsgBox "Messung beendet"

End Sub


Referenz zur RSAPI.DLL  -

Externe Messungen

BLOCKEIN

Parameter:	Speicherbereich von mindestens 30720 Bytes

Anzahl

Sios und Zelle.

Liest eine durch "Anzahl" definierte Zahl von Blöcken der Serienmessungen aus und schreibt sie in den übergebenen Speicherbereich.  Blocklänge und Anzahl der Kanäle werden automatisch erkannt. Der Wert von "Anzahl" sollte nach den mit BLOCKDEF gesetzten Einstellungen und damit nach der Zahl der möglichen Meßserien festgelegt werden, die nacheinander ausgelöst werden konnten. Mit den Anweisungen BLOCKSTART und BLOCKTRIGGER kann zwar jeweils nur ein Block ausgelöst werden, spezielle Zusatzprogramme können aber mehrere Blöcke hintereinander auslösen. Die Übertragung erfolgt mit 19200 Baud und kann je nach Datenzahl etwas länger dauern.

Deklaration in VB:

Declare Function BLOCKEIN Lib "RSAPI.DLL" (ByVal DAT As String, ByVal Anzahl As Integer) As Integer

Beispiel in VBA:

Sub test()

INITSIOS 2

SYSTEMRESET

    	A$ = Space$(31000)

i = BLOCKEIN(A$, 1)

End Sub


Referenz zur RSAPI.DLL  -

Externe Messungen

BLOCKINFO

Parameter:	Speicherbereich von mindestens 16 Bytes (Zeiger)

Anzahl

Sios und Zelle.

Liest nur die Informationen aus dem SIOS / Zelle, welche durch BLOCKDEF übergeben wurden. Die

Deklaration in VB:

Declare Function BLOCKINFO Lib "RSAPI.DLL" (ByVal DAT As String, ByVal Anzahl As Integer) As Integer

Beispiel in VB:

Sub BlockInformation()

    	A$ = Space$(16)

 	INITSIOS 2

i = BLOCKINFO(A$, 1)

    	Anzahl$ = "Meßwerte: " + Str$(MESSUNGEN(A$)) + Chr$(13)

    	Intervall$ = "Zeitintevall: " + Str$(ZEITINTERVALL(A$)) + " ms" + 	Chr$(13)

    	Eingänge$ = "Eingänge: " + Str$(KANALZAHL(A$)) + Chr$(13)

    	Bytes$ = "Datenmenge: " + Str$(DATENMENGE(A$)) + " Bytes"

 	MsgBox Anzahl$ + Intervall$ + Eingänge$ + Bytes$

CLOSECOM

End Sub


Referenz zur RSAPI.DLL  -

Externe Messungen

MESSUNGEN

Parameter:	Speicherbereich (Zeiger)

Rückgabe:	Anzahl der Meßwerte

Sios und Zelle.

VB:

Declare Function MESSUNGEN Lib "RSAPI.DLL" (ByVal DAT$) As Integer


Referenz zur RSAPI.DLL  -

Externe Messungen

ZEITINTERVALL

Parameter:	Speicherbereich

Rückgabe:	Zeitintervall in ms

Sios und Zelle.

VB:

Declare Function ZEITINTERVALL Lib "RSAPI.DLL" (ByVal DAT$) As Integer


Referenz zur RSAPI.DLL  -

Externe Messungen

KANALZAHL

Parameter:	Speicherbereich

Rückgabe:	Anzahl der Meßeingänge

VB:

Declare Function KANALZAHL Lib "RSAPI.DLL" (ByVal DAT$) As Integer


Referenz zur RSAPI.DLL  -

Externe Messungen

BLOCKZAHL

Parameter:	Speicherbereich

Rückgabe:	Anzahl der Blöcke

Sios und Zelle.

VB:

Declare Function BLOCKZAHL Lib "RSAPI.DLL" (ByVal DAT$) As Integer


Referenz zur RSAPI.DLL  -

Externe Messungen

DATENMENGE

Parameter:	Speicherbereich

Rückgabe:	Anzahl der Meßdaten

Sios und Zelle.

VB:

Declare Function DATENMENGE Lib "RSAPI.DLL" (ByVal DAT$) As Integer


Referenz zur RSAPI.DLL  -

Externe Messungen

DATENSPEICHERN

Parameter:	Dateiname

Speicherbereich

Rückgabe:	Geschriebene Bytes

Sios und Zelle.

Die mit BLOCKEIN aus dem SIOS / Zelle übertragenen Meßdaten werden in einer Binärdatei unter „Dateiname“ abgespeichert

VB:

Declare Function DATENSPEICHERN Lib "RSAPI.DLL" (ByVal DateiName$,ByVal DAT$) As Integer


Referenz zur RSAPI.DLL  -

Externe Messungen

DATENLADEN

Parameter:	Dateiname

Speicherbereich

Rückgabe:	Gelesene Bytes

Sios und Zelle.

Die mit DATENSPEICHERN geschriebene Binärdatei wird in den Speicherbereich geladen.

VB:

Declare Function DATENLADEN Lib "RSAPI.DLL" (ByVal DateiName$,ByVal DAT$) As Integer


Referenz zur RSAPI.DLL  -

Externe Messungen

TABELLESPEICHERN

Parameter:	Dateiname

Speicherbereich

Sios und Zelle.

Die mit BLOCKEIN aus dem SIOS übertragenen Meßdaten werden in einer Textdatei unter „Dateiname“ abgespeichert

VB:

Declare Function TABELLESPEICHERN Lib "RSAPI.DLL" (ByVal DateiName$,ByVal DAT$) As Integer


Referenz zur RSAPI.DLL  -

Spezielle SIOS- und Zelle-Funktionen

PROLADEN

Parameter:	Dateiname

Rückgabe:	Datei-Handle (>=0) bzw. DOS-Fehler (<0)

Sios und Zelle.

Lädt ein User-Programm mit dem angegebenen "Dateinamen" von der Diskette/Festplatte in den Programm-Bereich des SIOS oder der Zelle. User-Programme sind Maschinenprogramme und können z.B. mit dem Makrocompiler MC bzw. mit dem Simpel-Compiler (Zellabor) erstellt werden.

VB:

Declare Function PROLADEN Lib "RSAPI.DLL" (ByVal Dateiname As String) As Integer

Sub Blink()

    INITSIOS 2

    PROLADEN "C:\blink.bin"

    PROSTART

End Sub


Referenz zur RSAPI.DLL  -

Spezielle SIOS- und Zelle-Funktionen

PROSTART

Parameter:	Keine

Diese Anweisung startet ein USER-Programm im RAM des SIOS oder der Zelle. Das Programm kann mit SYSTEM_RESET abgebrochen werden.

VBA:

Declare Sub PROSTART Lib "RSAPI.DLL" ()

Sub Blink()

    INITSIOS 2

    PROLADEN "C:\blink.bin"

    PROSTART

End Sub

Spezielle SIOS-Funktionen


Referenz zur RSAPI.DLL  -

Spezielle SIOS- und Zelle-Funktionen

RAMAUS

Parameter:	Adresse (0-32767)

Wert (0-255)

Mit dieser Anweisung wird ein "Wert" in die durch "Adresse" definierte Speicherstelle des SIOS/Zelle geschrieben.

VB:

Declare Function RAMAUS Lib "RSAPI.DLL" (ByVal adr%,ByVal Wert%) As Integer


Referenz zur RSAPI.DLL  -

Spezielle SIOS- und Zelle-Funktionen

RAMEIN

Parameter:	Adresse als Integer

Rückgabe:	Wert (0-255)

Über diese Funktion wird die durch "Adresse" definierte Speicherstelle des SIOS/Zelle gelesen und der Wert als Ergebnis zurückgegeben.

VB:

Declare Function RAMEIN Lib "RSAPI.DLL" (ByVal adr%) As Integer


Referenz zur RSAPI.DLL  -

Spezielle SIOS- und Zelle-Funktionen

REGAUS

Parameter:	Adresse (0-255)

Wert (0-255)

Diese Anweisung schreibt einen "Wert" in das durch "Adresse" definierte interne Register des Prozessors des SIOS oder der Zelle.

VB:

Declare Function REGAUS Lib "RSAPI.DLL" (ByVal adr%,ByVal Wert%) As Integer


Referenz zur RSAPI.DLL  -

Spezielle SIOS- und Zelle-Funktionen

REGEIN

Parameter:	- Adresse (0-255)

Rückgabe:	- Wert (0-255)

Über diese Funktion wird das durch "Adresse" definierte interne Register der SIOS/Zelle-Prozessors gelesen und der Wert als Ergebnis zurückgegeben.

VB:

Declare Function REGEIN Lib "RSAPI.DLL" (ByVal adr%) As Integer


Referenz zur RSAPI.DLL  -

Spezielle SIOS- und Zelle-Funktionen

SYSTEMRESET

Parameter:	Keine

Mit diesem Aufruf wird das SIOS / die Zelle aufgefordert in den Grundzustand zurück zu kehren. Laufende Messungen oder Programme werden abgebrochen.

VB:

Declare Sub SYSTEMRESET Lib "RSAPI.DLL" ()


Referenz zur RSAPI.DLL  -

Deklarationen für Visual Basic 3,4,5 und VBA (englisch)

Declare Function OPENCOM Lib "RSAPI.DLL" (ByVal COM$) As Integer

Declare Function CLOSECOM Lib "RSAPI.DLL" () As Integer

Declare Function SENDBYTE Lib "RSAPI.DLL" (ByVal B%) As Integer

Declare Function READBYTE Lib "RSAPI.DLL" () As Integer

Declare Function SENDSTRING Lib "RSAPI.DLL" (ByVal Raus$) As Integer

Declare Function READSTRING Lib "RSAPI.DLL" (ByVal Rein$) As Integer

Declare Function TIMEOUT Lib "RSAPI.DLL" (ByVal ms%) As Integer

Declare Sub RTS Lib "RSAPI.DLL" (ByVal AnAus%)

Declare Sub DTR Lib "RSAPI.DLL" (ByVal AnAus%)

Declare Sub TXD Lib "RSAPI.DLL" (ByVal AnAus%)

Declare Function CTS Lib "RSAPI.DLL" () As Integer

Declare Function DCD Lib "RSAPI.DLL" () As Integer

Declare Function DSR Lib "RSAPI.DLL" () As Integer

Declare Function RI Lib "RSAPI.DLL" () As Integer

Declare Function STRLENGTH Lib "RSAPI.DLL" (ByVal l%) As Integer

Declare Sub STRREAD Lib "RSAPI.DLL" (ByVal Anzeige$)

Declare Function IX_OPENCOM Lib "RSAPI.DLL" (ByVal ix%, ByVal COMPARAMETER$) As Integer

Declare Function IX_CLOSECOM Lib "RSAPI.DLL" (ByVal ix%) As Integer

Declare Function IX_STRLENGTH Lib "RSAPI.DLL" (ByVal ix%, ByVal l%) As Integer

Declare Sub IX_STRREAD Lib "RSAPI.DLL" (ByVal ix%, ByVal Anzeige$)

Declare Function IX_TIMEOUT Lib "RSAPI.DLL" (ByVal ix%, ByVal ms%) As Integer

Declare Function IX_SENDBYTE Lib "RSAPI.DLL" (ByVal ix%, ByVal B%) As Integer

Declare Function IX_READBYTE Lib "RSAPI.DLL" (ByVal ix%) As Integer

Declare Function IX_RTS Lib "RSAPI.DLL" (ByVal ix%, ByVal AnAus%) As Integer

Declare Function IX_DTR Lib "RSAPI.DLL" (ByVal ix%, ByVal AnAus%) As Integer

Declare Function IX_CTS Lib "RSAPI.DLL" (ByVal ix%) As Integer

Declare Function IX_DCD Lib "RSAPI.DLL" (ByVal ix%) As Integer

Declare Function IX_DSR Lib "RSAPI.DLL" (ByVal ix%) As Integer

Declare Function IX_RI Lib "RSAPI.DLL" (ByVal ix%) As Integer

Declare Function IX_READSTRING Lib "RSAPI.DLL" (ByVal ix%, ByVal Anzeige$) As Integer

Declare Function IX_SENDSTRING Lib "RSAPI.DLL" (ByVal ix%, ByVal Anzeige$) As Integer

Declare Sub DELAY Lib "RSAPI.DLL" (ByVal ms%)

Declare Function TIMEREAD Lib "RSAPI.DLL" () As Long

Declare Sub TIMEINIT Lib "RSAPI.DLL" ()

Declare Function KBRESET Lib "RSAPI.DLL" () As Integer

Declare Function KBHIT Lib "RSAPI.DLL" () As Integer

Declare Function TASTE Lib "RSAPI.DLL" () As Integer

Declare Function FINDHARD Lib "RSAPI.DLL" (ByVal MeldungAnAus%) As Integer

Declare Function SETHARD Lib "RSAPI.DLL" (ByVal ix%) As Integer

Declare Function GETHARD Lib "RSAPI.DLL" () As Integer

Declare Function GETCOM Lib "RSAPI.DLL" () As Integer

Declare Function INIT Lib "RSAPI.DLL" (ByVal COM%) As Integer

Declare Function INITSIOS Lib "RSAPI.DLL" (ByVal COM%) As Integer

Declare Function INITCOMPULAB Lib "RSAPI.DLL" (ByVal COM%) As Integer

Declare Function INITZELLE Lib "RSAPI.DLL" (ByVal COM%) As Integer

Declare Function AIN Lib "RSAPI.DLL" (ByVal Eingang%) As Integer

Declare Function AOUT Lib "RSAPI.DLL" (ByVal Ausgang%, ByVal Wert%) As Integer

Declare Function DOUT Lib "RSAPI.DLL" (ByVal Wert%) As Integer

Declare Function DIN Lib "RSAPI.DLL" () As Integer

Declare Function UBAT Lib "RSAPI.DLL" () As Integer

Declare Function TASTER Lib "RSAPI.DLL" () As Integer

Declare Function STAUS Lib "RSAPI.DLL" (ByVal Zustand%) As Integer

Declare Function STEIN Lib "RSAPI.DLL" () As Integer

Declare Sub BLOCKDEF Lib "RSAPI.DLL" (ByVal Anzahl%, ByVal Eingänge%, ByVal Zeit%)

Declare Sub BLOCKSTART Lib "RSAPI.DLL" ()

Declare Sub BLOCKTRIGGER Lib "RSAPI.DLL" (ByVal Typ%, ByVal Level%)

Declare Sub BLOCKABWARTEN Lib "RSAPI.DLL" ()

Declare Function BLOCKEIN Lib "RSAPI.DLL" (ByVal DAT As String, ByVal Anzahl As Integer) As Integer

Declare Function BLOCKINFO Lib "RSAPI.DLL" (ByVal DAT As String, ByVal Anzahl As Integer) As Integer

Declare Function MESSUNGEN Lib "RSAPI.DLL" (ByVal DAT$) As Integer

Declare Function ZEITINTERVALL Lib "RSAPI.DLL" (ByVal DAT$) As Integer

Declare Function KANALZAHL Lib "RSAPI.DLL" (ByVal DAT$) As Integer

Declare Function BLOCKZAHL Lib "RSAPI.DLL" (ByVal DAT$) As Integer

Declare Function DATENMENGE Lib "RSAPI.DLL" (ByVal DAT$) As Integer

Declare Function DATENSPEICHERN Lib "RSAPI.DLL" (ByVal DateiName$, ByVal DAT$) As Integer

Declare Function DATENLADEN Lib "RSAPI.DLL" (ByVal DateiName$, ByVal DAT$) As Integer

Declare Function TABELLESPEICHERN Lib "RSAPI.DLL" (ByVal DateiName$, ByVal DAT$) As Integer

Declare Function PROLADEN Lib "RSAPI.DLL" (ByVal DateiName As String) As Integer

Declare Sub PROSTART Lib "RSAPI.DLL" ()

Declare Function RAMAUS Lib "RSAPI.DLL" (ByVal adr%, ByVal Wert%) As Integer

Declare Function RAMEIN Lib "RSAPI.DLL" (ByVal adr%) As Integer

Declare Function REGAUS Lib "RSAPI.DLL" (ByVal adr%, ByVal Wert%) As Integer

Declare Function REGEIN Lib "RSAPI.DLL" (ByVal adr%) As Integer

Declare Sub SYSTEMRESET Lib "RSAPI.DLL" ()

Declare Function VERSION Lib "RSAPI.DLL" (ByVal Meldung%) As Integer

Änderungen vorbehalten.


Referenz zur RSAPI.DLL  -

Deklarationen für VBA (Deutsch)

Deklariere Funktion OPENCOM Biblio "RSAPI.DLL" (AlsWert COM$) Als Ganz

Deklariere Funktion CLOSECOM Biblio "RSAPI.DLL" () Als Ganz

Deklariere Funktion SENDBYTE Biblio "RSAPI.DLL" (AlsWert B%) Als Ganz

Deklariere Funktion READBYTE Biblio "RSAPI.DLL" () Als Ganz

Deklariere Funktion SENDSTRING Biblio "RSAPI.DLL" (AlsWert Raus$) Als Ganz

Deklariere Funktion READSTRING Biblio "RSAPI.DLL" (AlsWert Rein$) Als Ganz

Deklariere Funktion TIMEOUT Biblio "RSAPI.DLL" (AlsWert ms%) Als Ganz

Deklariere Sub RTS Biblio "RSAPI.DLL" (AlsWert AnAus%)

Deklariere Sub DTR Biblio "RSAPI.DLL" (AlsWert AnAus%)

Deklariere Sub TXD Biblio "RSAPI.DLL" (AlsWert AnAus%)

Deklariere Funktion CTS Biblio "RSAPI.DLL" () Als Ganz

Deklariere Funktion DCD Biblio "RSAPI.DLL" () Als Ganz

Deklariere Funktion DSR Biblio "RSAPI.DLL" () Als Ganz

Deklariere Funktion RI Biblio "RSAPI.DLL" () Als Ganz

Deklariere Funktion STRLENGTH Biblio "RSAPI.DLL" (AlsWert l%) Als Ganz

Deklariere Sub STRREAD Biblio "RSAPI.DLL" (AlsWert Anzeige$)

Deklariere Funktion IX_OPENCOM Biblio "RSAPI.DLL" (AlsWert ix%; AlsWert Parameter$) Als Ganz

Deklariere Funktion IX_CLOSECOM Biblio "RSAPI.DLL" (AlsWert ix%) Als Ganz

Deklariere Funktion IX_STRLENGTH Biblio "RSAPI.DLL" (AlsWert ix%; AlsWert l%) Als Ganz

Deklariere Sub IX_STRREAD Biblio "RSAPI.DLL" (AlsWert ix%; AlsWert Anzeige$)

Deklariere Funktion IX_TIMEOUT Biblio "RSAPI.DLL" (AlsWert ix%; AlsWert ms%) Als Ganz

Deklariere Funktion IX_SENDBYTE Biblio "RSAPI.DLL" (AlsWert ix%; AlsWert B%) Als Ganz

Deklariere Funktion IX_READBYTE Biblio "RSAPI.DLL" (AlsWert ix%) Als Ganz

Deklariere Funktion IX_RTS Biblio "RSAPI.DLL" (AlsWert ix%; AlsWert AnAus%) Als Ganz

Deklariere Funktion IX_DTR Biblio "RSAPI.DLL" (AlsWert ix%; AlsWert AnAus%) Als Ganz

Deklariere Funktion IX_TXD Biblio "RSAPI.DLL" (AlsWert ix%; AlsWert AnAus%) Als Ganz

Deklariere Funktion IX_CTS Biblio "RSAPI.DLL" (AlsWert ix%) Als Ganz

Deklariere Funktion IX_DCD Biblio "RSAPI.DLL" (AlsWert ix%) Als Ganz

Deklariere Funktion IX_DSR Biblio "RSAPI.DLL" (AlsWert ix%) Als Ganz

Deklariere Funktion IX_RI Biblio "RSAPI.DLL" (AlsWert ix%) Als Ganz

Deklariere Funktion IX_SENDSTRING Biblio "RSAPI.DLL" (AlsWert ix%; AlsWert Anzeige$) Als Ganz

Deklariere Funktion IX_READSTRING Biblio "RSAPI.DLL" (AlsWert ix%; AlsWert Anzeige$) Als Ganz

Deklariere Sub DELAY Biblio "RSAPI.DLL" (AlsWert ms%)

Deklariere Funktion TIMEREAD Biblio "RSAPI.DLL" () Als Lang

Deklariere Sub TIMEINIT Biblio "RSAPI.DLL" ()

Deklariere Funktion KBRESET Biblio "RSAPI.DLL" () Als Ganz

Deklariere Funktion KBHIT Biblio "RSAPI.DLL" () Als Ganz

Deklariere Funktion TALSTE Biblio "RSAPI.DLL" () Als Ganz

Deklariere Funktion FINDHARD Biblio "RSAPI.DLL" (AlsWert MeldungAnAus%) Als Ganz

Deklariere Funktion SETHARD Biblio "RSAPI.DLL" (AlsWert ix%) Als Ganz

Deklariere Funktion GETHARD Biblio "RSAPI.DLL" () Als Ganz

Deklariere Funktion GETCOM Biblio "RSAPI.DLL" () Als Ganz

Deklariere Funktion INIT Biblio "RSAPI.DLL" (AlsWert COM%) Als Ganz

Deklariere Funktion INITSIOS Biblio "RSAPI.DLL" (AlsWert COM%) Als Ganz

Deklariere Funktion INITCOMPULAB Biblio "RSAPI.DLL" (AlsWert COM%) Als Ganz

Deklariere Funktion INITZELLE Biblio "RSAPI.DLL" (AlsWert COM%) Als Ganz

Deklariere Funktion AIN Biblio "RSAPI.DLL" (AlsWert Eingang%) Als Ganz

Deklariere Funktion AOUT Biblio "RSAPI.DLL" (AlsWert Ausgang%; AlsWert Wert%) Als Ganz

Deklariere Funktion DOUT Biblio "RSAPI.DLL" (AlsWert Wert%) Als Ganz

Deklariere Funktion DIN Biblio "RSAPI.DLL" () Als Ganz

Deklariere Funktion UBAT Biblio "RSAPI.DLL" () Als Ganz

Deklariere Funktion TALSTER Biblio "RSAPI.DLL" () Als Ganz

Deklariere Funktion STAUS Biblio "RSAPI.DLL" (AlsWert Zustand%) Als Ganz

Deklariere Funktion STEIN Biblio "RSAPI.DLL" () Als Ganz

Deklariere Sub BLOCKDEF Biblio "RSAPI.DLL" (AlsWert Anzahl%; AlsWert Eingänge%; AlsWert Zeit%)

Deklariere Sub BLOCKSTART Biblio "RSAPI.DLL" ()

Deklariere Sub BLOCKTRIGGER Biblio "RSAPI.DLL" (AlsWert Art%; AlsWert Level%)

Deklariere Sub BLOCKABWARTEN Biblio "RSAPI.DLL" ()

Deklariere Funktion BLOCKEIN Biblio "RSAPI.DLL" (AlsWert DAT$; AlsWert Anzahl Als Ganz) Als Ganz

Deklariere Funktion BLOCKINFO Biblio "RSAPI.DLL" (AlsWert DAT$; AlsWert Anzahl Als Ganz) Als Ganz

Deklariere Funktion MESSUNGEN Biblio "RSAPI.DLL" (AlsWert DAT$) Als Ganz

Deklariere Funktion ZEITINTERVALL Biblio "RSAPI.DLL" (AlsWert DAT$) Als Ganz

Deklariere Funktion KANALZAHL Biblio "RSAPI.DLL" (AlsWert DAT$) Als Ganz

Deklariere Funktion BLOCKZAHL Biblio "RSAPI.DLL" (AlsWert DAT$) Als Ganz

Deklariere Funktion DATENMENGE Biblio "RSAPI.DLL" (AlsWert DAT$) Als Ganz

Deklariere Funktion DATENSPEICHERN Biblio "RSAPI.DLL" (AlsWert DateiName$; AlsWert DAT$) Als Ganz

Deklariere Funktion DATENLADEN Biblio "RSAPI.DLL" (AlsWert DateiName$; AlsWert DAT$) Als Ganz

Deklariere Funktion TABELLESPEICHERN Biblio "RSAPI.DLL" (AlsWert DateiName$; AlsWert DAT$) Als Ganz

Deklariere Funktion PROLADEN Biblio "RSAPI.DLL" (AlsWert DateiName$) Als Ganz

Deklariere Sub PROSTART Biblio "RSAPI.DLL" ()

Deklariere Funktion RAMAUS Biblio "RSAPI.DLL" (AlsWert adr%; AlsWert Wert%) Als Ganz

Deklariere Funktion RAMEIN Biblio "RSAPI.DLL" (AlsWert adr%) Als Ganz

Deklariere Funktion REGAUS Biblio "RSAPI.DLL" (AlsWert adr%; AlsWert Wert%) Als Ganz

Deklariere Funktion REGEIN Biblio "RSAPI.DLL" (AlsWert adr%) Als Ganz

Deklariere Sub SYSTEMRESET Biblio "RSAPI.DLL" ()

Deklariere Funktion VERSION Biblio "RSAPI.DLL" (AlsWert Meldung%) Als Ganz

Änderungen vorbehalten.


Referenz zur RSAPI.DLL  -

Deklarationen in C (Auszug aus dem Quelltext)

//ALLGEMEIN OPEN CLOSE

int _export opencom(char *);

int _export closecom(void);

//ALLGEMEIN BYTE READ/WRITE

int _export sendbyte(int);

int _export readbyte(void);	/

/ALLGEMEIN STRING READ/WRITE

int  _export sendstring	(char *); //

int  _export readstring	(char *); //

//TimeOut bei Zeichenempfang

int _export timeout(int); 	// timeout

//LEITUNGEN LESEN

int _export cts(void);

int _export dcd(void);

int _export dsr(void);

int _export ri(void);	//ri

//LEITUNGEN SCHREIBEN

void _export txd(int);  //txd

void _export rts(int);  // rts

void _export dtr(int);  // dtr

//MULTIMETER EINFACH

int  _export strlength(int);  // strlength

void _export strread (char *);// strread

//MULTIMETER MEHRFACH

int  _export ix_opencom	(int ,char *); 	//ix_open

int  _export ix_closecom(int);         	//ix_close

int  _export ix_strlength(int,int);    	//ix_strlength

void _export ix_strread	(int,char *);   //ix_strread

int  _export ix_timeout	(int,int);     	//ix_timeout

int  _export ix_sendbyte(int,int);      //ix_sendbyte

int  _export ix_readbyte(int);          //ix_readbyte

int  _export ix_sendstring	(int,char *); //

int  _export ix_readstring	(int,char *); //

void _export ix_rts	(int,int);    	//ix_rts

void _export ix_dtr	(int,int);    	//ix_dtr

void _export ix_txd	(int,int);    	//ix_txd

int  _export ix_cts	(int);

int  _export ix_dcd	(int);

int  _export ix_dsr	(int);

int  _export ix_ri	(int);

//HARDWARE SETZEN/ERFRAGEN

int _export sethard(int newhard); 	//SetHard

int _export gethard(void);	//GetHard

//MODULBUS INTERFACES UND SIMULATION

int _export init(int newcom);  	//Init RSBOX  1,2,3,4

int _export initsios(int newcom);  	//InitSIOS

int _export initcompulab(int newcom);  	//InitCOMPULAB

int _export initzelle(int newcom); 	//InitZELLE

int _export getcom(void);               //GetCom

int _export dout	(int);    	 //DOut

int _export din	(void);      //DIn

int _export ain	(int);       //AIn

int _export aout	(int,int);   //AOut

int _export findhard(int);       //FindHard

/*********************************TASTATUR ****************/

int _export kbreset(void);                  //OK

int _export kbhit(void);                    //OK

int _export taste(void);                    //OK

/********************************* ZELLE *********************/

int _export ubat(void);    //	UBat in mV

int _export taster(void);  //	Taster

int _export staus(int);    //	StAus

int _export stein(void);   //	StEin

/*************************** Zelle und Sios ******************/

int _export systemreset(void);

int _export regaus(int adresse,int wert);

int _export regein(int adresse);

int _export ramaus(int adresse,int wert);

int _export ramein(int adresse);

/******************Externe Messungen SIOS & ZELLE ************/

void _export BlockTrigger(int level, int typ);

void _export BlockDef(WORD anzahl,int eingaenge,WORD zeit);

void _export BlockStart();

WORD _export Messungen(BYTE *dat);

WORD _export Kanalzahl(BYTE *dat);

WORD _export Zeitintervall(BYTE *dat);

WORD _export Blockzahl(BYTE *dat);

WORD _export Datenmenge(BYTE *dat);

int _export BlockEin(BYTE *dat,int bloecke);

int _export BlockInfo(BYTE *dat,int bloecke);

int _export ProLaden(char *name);

int _export ProStart();

int _export DatenSpeichern(char *name, BYTE *dat);

int _export DatenLaden(char *name, BYTE *dat);

int _export TabelleSpeichern(char *name,BYTE *dat);

/************************Zeit*******************************/

void _export delay(int ms);    //Delay

DWORD _export timeread(void);  //TimeRead

void _export timeinit(void);   //TimeInit

/********************VERSCHIEDENES**************************/

int _export version(int show);

#define KEIN	0

#define COMPULAB	1

#define SIOS	4

#define ZELLE	8

#define RSBOX	16

Änderungen vorbehalten.


Referenz zur RSAPI.DLL  -

Beispiel für Delphi3-Pascal

unit rsapi;

interface

const THEDLL='RSAPI.DLL';

function FINDHARD( i:Integer):integer; stdcall; external THEDLL;

function AIN(i:Integer):integer;  stdcall; external THEDLL;

function OPENCOM( s:ansiString):integer; stdcall; external THEDLL;

function READBYTE: integer; stdcall; external THEDLL;

function SENDBYTE(i:integer): integer; stdcall; external THEDLL;

function DELAY(i:integer): integer; stdcall; external THEDLL;

procedure TIMEINIT; stdcall; external THEDLL;

function TIMEREAD: longint; stdcall; external THEDLL;

function TIMEOUT( i: integer):integer; stdcall; external THEDLL;

function VERSION( i: integer):integer; stdcall; external THEDLL;

function PARAMETER3( i,j,k: integer):integer; stdcall; external THEDLL;

function PROGLOAD( s:ansiString):integer; stdcall; external THEDLL;

function DTR( i: integer):integer; stdcall; external THEDLL;

function RTS( i: integer):integer; stdcall; external THEDLL;

function TXD( i: integer):integer; stdcall; external THEDLL;

function READSTRING(s:ansistring):integer; stdcall; external THEDLL;

function SENDSTRING(s:ansistring):integer; stdcall; external THEDLL;

function GETCOM:integer; stdcall; external THEDLL;

function GETHARD:integer; stdcall; external THEDLL;

procedure FLUSHIN; stdcall; external THEDLL;

procedure FLUSHOUT; stdcall; external THEDLL;

procedure CLOSECOM; stdcall; external THEDLL;

function DIN:integer; stdcall; external THEDLL;

implementation

end.