Frage zur RSAPI.DLL
25.06.2007 20:29:06
Achim
nicht klar.
Folgendes Problem:
Ich möchte eine Siemens LOGO über die RS 232 Schnittstelle steuern und als Datenlogger nutzen.
Mit der Programmiersprache Python ist mir dies problemlos gelungen.
Unter Visual Basic stellt sich fogendes Problem:
Um eine Siemens LOGO in Run zu schalten, muß ich den Steuercode
SENDBYTE (&H55)
SENDBYTE (&H18)
SENDBYTE (&H18)
SENDBYTE (&HAA)
über die RS 232 senden.
Um die LOGO zu stoppen, den Steuercode
SENDBYTE (&H55)
SENDBYTE (&H12)
SENDBYTE (&H12)
SENDBYTE (&HAA)
Ich habe, weil es nicht funktionierte, den ComPort mit einem Portmonitor beobachtet und
festgestellt, das anstelle des Steuercode &H55 das Zeichen "U" gesendet wird, die beiden nächsten Zeichen "&H18 &H18"
stimmen, und das Byte &HAA wird in die Zeichenfolge "ffffffaa" umgewandelt.
Was mache ich falsch ?
Der Programmcode:
Declare Sub OPENCOM Lib "RSAPI.DLL" (ByVal ComParameter$)
Declare Sub CLOSECOM Lib "RSAPI.DLL" ()
Declare Sub SENDBYTE Lib "RSAPI.DLL" (ByVal i%)
Declare Function READBYTE Lib "RSAPI.DLL" (B%) As Integer
Declare Sub TIMEOUT Lib "RSAPI.DLL" (ByVal ms%)
Declare Sub Delay Lib "RSAPI.DLL" (ByVal ms%)
___
Private Sub logo_run_cmd_Click()
OPENCOM "COM1:9600,E,8,1"
SENDBYTE (&H55)
SENDBYTE (&H18)
SENDBYTE (&H18)
SENDBYTE (&HAA)
CLOSECOM
End Sub
Private Sub logostop_cmd_Click()
OPENCOM "COM1:9600,E,8,1"
SENDBYTE (&H55)
SENDBYTE (&H12)
SENDBYTE (&H12)
SENDBYTE (&HAA)
CLOSECOM
End Sub