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: Messwertabfrage in Excel mit rsapi.dll Kategorie: Verschiedenes (von Carsten - 27.09.2005 9:10)
 Als Antwort auf Messwertabfrage in Excel mit rsapi.dll von Markus - 26.09.2005 20:47
Carsten nutzt:  CC1-M-Unit V1.2/2.0
Du kannst folgendes versuchen (klappt bei mir problemlos, allerdings mit VB statt Excel): Von der C-Control aus sendest Du 2 Bytes mit PUT: zuerst den HIGH-Anteil, dann den LOW-Anteil des Words.

Im PC empfängst Du einfach diese 2 Bytes, multiplizierst das erste mit 256 und addierst dazu das zweite - schon hast Du Dein Word übertragen.

Um Empfangsfehler auszuschließen, schreib Dir vorher (nur zum probieren) ein Programm auf der C-Control, das einfach permanent abwechelnd 2 Bytes sendet - und schaue, ob Du genau diese mit dem PC empfängst. Ein häufiger Effekt ist, daß das erste von der C-Control gesendete Byte verlorengeht.

Viel Spaß beim Basteln!

Gruß Carsten


> Hallo C-Controler
>
> Ich möchte Messdaten, die als Wordvariable im C-control gespeichert sind in Excel einlese!
> Gibt es eine Funktion wie z.B. "Readword"????
> Mit "Readstring" habe ich scho experimentiert!
>
> Wer kann mir einen Tip geben, ich komme nicht weiter.
>
>
> Danke für die Hilfe
> Markus
>
> Ich benutze dieses Vb-Programm :
>
> Declare Sub OPENCOM Lib "RSAPI.DLL" (ByVal Parameter$)
> Declare Function READBYTE Lib "RSAPI.DLL" () As Integer
> Declare Sub TIMEOUT Lib "RSAPI.DLL" (ByVal ms%)
> Declare Sub CLOSECOM Lib "RSAPI.DLL" ()
> Declare Sub SENDBYTE Lib "RSAPI.DLL" (ByVal B%)
> Declare Sub DELAY Lib "RSAPI.DLL" (ByVal ms%)
>
> Sub c_control()
>     OPENCOM "COM1:9600,N,8,1"
>     ThisWorkbook.Sheets("Tabelle1").Activate
>     Columns("A:c").Select
>     Selection.ClearContents
>     Range("A2").Select
>     TIMEOUT 1000
>     SENDBYTE 27
>     zeile = 3
>     Do
>         e1 = READBYTE
>         e2 = READBYTE
>                 If e1 >= 0 And e2 >= 0 Then
>             Cells(zeile, 1).Value = e1
>             Cells(zeile, 2).Value = e2
>                        Cells(1, 5).Value = zeile
>             zeile = zeile + 1
>         End If
>         Loop Until (e1 < 0 Or e2 < 0)
>     CLOSECOM
>     Calculate
>     MsgBox Str(zeile - 1) + " Meßwerte gelesen"
> End Sub
>
>
>
>
>
>
>

 Antwort schreiben

Bisherige Antworten: