
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
Guten Abend, bisher kommuniziere ich vom PC aus mit meiner CControl mittels Hyperterminal, was für meine Zwecke eigentlich ausreicht. Manche längere Ein-/Ausgaben würde ich aber doch gerne mit Excel/VBA machen. Dazu habe ich mir die RSAPI.DLL installiert und eine (zunächst) einfache Test-Sub geschrieben: Declare Sub DELAY Lib "RSAPI.DLL" (ByVal ms As Integer) Declare Sub OPENCOM Lib "RSAPI.DLL" (ByVal para$) Declare Sub CLOSECOM Lib "RSAPI.DLL" () Declare Sub SENDBYTE Lib "RSAPI.DLL" (ByVal B%) Declare Sub STRLENGTH Lib "RSAPI.DLL" (ByVal B%) Declare Sub TIMEOUT Lib "RSAPI.DLL" (ByVal B%) Declare Sub TIMEINIT Lib "RSAPI.DLL" () Declare Function STRREAD Lib "RSAPI.DLL" (ByVal Display$) As Integer Declare Function READBYTE Lib "RSAPI.DLL" (ByVal ix%) As Integer Declare Function TIMEREAD Lib "RSAPI.DLL" () As Long '--------------------------------------------------------------- Sub hausleit_main() Dim gelesener_string$ '------------------------------------------- ThisWorkbook.Sheets("T_").Activate [sende_byte] = auftrags_byte 'COM öffnen OPENCOM "COM" & [COM_Nr] & ":" & [COM_Parameter] 'Auftragsbyte senden, d.h. CControl-Daten anfordern SENDBYTE auftrags_byte 'String von CControl einlesen STRLENGTH 50 STRREAD gelesener_string MsgBox gelesener_string 'COM wieder schließen CLOSECOM End Sub "auftrags_byte" ist ein Byte, das in der CControl mit get eingelesen wird und bestimmte Funktionen auslöst. CControl sendet dann ggf. mit print was zurück an den PC. 1. Leider habe ich noch keine Beschreibung der RSAPI-Funktionen gefunden, hat jemand was? 2. Wenn ich nur etwas sende und nichts mit STRLENGTH und STRREAD gelesen wird, ist alles gut, an der Reaktion (per LED-Anzeigen) sehe ich, dass es richtig verarbeitet wurde. Sind die beiden Anweisungen aber drin, stürzt Excel ab! 3. Benutze ich die RSAPI-Subs und -Functions falsch? Danke für die Hilfe Laika PS: Vista, Office 2003 |
| Antwort schreiben |