Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 CControl mit Excel/VBA/RSAPI Kategorie: C-Control I V1.1 (von laika63 - 16.12.2010 17:59)
laika63 nutzt:  CC1-Unit V1.1
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

Bisherige Antworten: