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 

 Re: Datenübertragung zwischen C-Control und PC mittels VBA Kategorie: Programmierung CC-Plus (von Carsten - 21.04.2005 14:12)
 Als Antwort auf Datenübertragung zwischen C-Control und PC mittels VBA von Dietmar B. - 9.04.2005 17:52
Carsten nutzt:  CC1-M-Unit V1.2/2.0
Hallo Dietmar,

Versuch mal Dein C-Control-Programm mit dem Hyperterminal - da solltest Du das Zeichen zurückerhalten, das Du eingetippt hast.. Ich hatte oft den Effekt, daß das allererste Zeichen, das die C-Control senden sollte "verschluckt" wurde und erst das 2. richtig gesendet wurde.

Bei Deinem PC-Programm solltest Du dir mal den ASCII-Code anzeigen lassen, den Du zurückbekommst.

Schließlich kannst Du Deine Leseroutine erstmal z.B. mit dem Programm "Hallo Welt.bas" testen - damit Du sehen kannst, ob von der C-Control auch das kommt (respektive kryptischer VBA-Syntax), was Du erwartest.

Gruß Carsten


> 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: