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 

 Datenübertragung zwischen C-Control und PC mittels VBA Kategorie: Programmierung CC-Plus (von Dietmar B. - 9.04.2005 17:52)
Hallo Forum,

ich plane ein Programm für meine C-Control I V1.1 das abhängig von Steuerzeichen, die mein PC sendet, verschiedene Routinen ausführt. Für die Programmierung des PCs verwende ich VBA (MS-ACCESS 2000). Für die Kommunikation zwischen PC und C-Control dient die RSAPI.DLL von H.-J. Berndt / B. Kainka.

Zur Steuerung sendet der PC ASCII-Zeichen an die C-Control. Damit ich kontrollieren kann ob das richtige Zeichen in der C-Control angekommen ist, soll die C-Control die empfangenen Zeichen einfach wieder zum PC zurücksenden.

Der Empfang dieser Echos bereitet mir derzeit Kopfzerbrechen. Das vom PC empfangene Echo ist nicht das Zeichen das er gesendet hat. Kann mir jemand einen Tipp geben?

Hier sind die in meinen Programmen enthaltenen Sequenzen.

C-Control BASIC
   #Lesen_RS232
    GET PC_sent
    beep 80,8,0
    PUT PC_sent
    gosub Anzeige_Z
   Return

Das gesendete Zeichen kommt offensichtlich in der C-Control an, da diese piept und das empfangene Zeichen im Display anzeigt. Das VBA-Programm gibt auch ein empfangenes Echo aus. Leider ist das aber immer das selbe Zeichen egal welches Steuerzeichen gesendet wurde.
 
Mein VBA-Programm sieht wie folgt aus:

Option Compare Database

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 TIMEOUT Lib "RSAPI.DLL" (ByVal ms%) As Integer

Dim Steuerzeichen As String
Dim Echo As Integer

------------------------------------------------------------------
Public Sub Sende_Byte()

Steuerzeichen = "R"

OPENCOM ("COM1,9600,N,8,2")  'Schnittstelle öffnen
TIMEOUT 1000                  'Wartezeit auf Schnittstelle erhöhen

SENDBYTE Asc(Steuerzeichen)  'Zeichen

Do While Echo < 2
    Echo = READBYTE
Loop

Debug.Print Steuerzeichen
Debug.Print Echo
CLOSECOM

End Sub



 Antwort schreiben

Bisherige Antworten:

Re: Datenübertragung zwischen C-Control und PC mittels VBA (von Carsten - 21.04.2005 14:12)