Auslesen der Seriellen Schnittstelle



Excel-Version: 8.0 (Office 97)
nach unten

Betrifft: Auslesen der Seriellen Schnittstelle
von: Ingmar
Geschrieben am: 22.06.2002 - 18:22:03

Ich versuche ein Makro zu schreiben/finden, dass die serielle Schnittstelle öffnet, darauf wartet, dass ein String geschickt wird, diesen in die aktive Zelle einträgt und den Port dann wieder schließt.
Ich habe einen Messschieber (Mahr16ES), der auf Knopfdruck seinen Messwert über die serielle Schnittstelle schickt.
Ich habe mir dafür die RSAPI.dll besorgt und die 32-Bit Version installiert.
Aber entweder schmiert mir Excel ab, oder es tut sich gar nichts, deswegen wäre ich für eine Tipp echt dankbar.
Hier, das Ergebnis, wieweit ich es hinbekommen habe:

___________________________________________________
Declare Sub OPENCOM Lib "RSAPI.DLL" (ByVal A$)
Declare Sub CLOSECOM Lib "RSAPI.DLL" ()
Declare Sub TIMEOUT Lib "RSAPI.DLL" (ByVal MS%)
Declare Sub STRREAD Lib "RSAPI.DLL" (ByVal A$)
Declare Sub STRLENGTH Lib "RSAPI.DLL" (ByVal L%)
Declare Sub TIMEINIT Lib "RSAPI.DLL" ()
Declare Function TIMEREAD Lib "RSAPI.DLL" () As Long
Declare Sub SENDBYTE Lib "RSAPI.DLL" (ByVal B%)

Dim messwert As Integer
Dim datastring As String

Sub Messschieber()
OPENCOM "COM1:4800,E,7,1"
STRREAD (datastring)
messwert = Val(Mid$(datastring, 8)) 'numerischen Wert aus String isolieren
ActiveCell.Value = messwert
CLOSECOM
End Sub

nach oben   nach unten

Re: Auslesen der Seriellen Schnittstelle
von: Hans W. Hofmann
Geschrieben am: 23.06.2002 - 11:00:51

Hallo Ingmar,

bist Du Dir sicher, dass die Lib die Parameter ByVal übernimmt. Zumindest der String entspricht nicht den C++ Konventionen. Dort sind Strings meist Null terminiert. Häng doch ggf. mal ein chr$(0) an.

Gruß HW


 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Auslesen der Seriellen Schnittstelle"