
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
> > Hallo > > Ich habe eine M-Unit (CControl 1) und würde gerne in Abständen Messwerte, die im EEPROM abgespeichert werden, über die serielle Schnittstelle direkt in eine Excel (97) – Tabelle einlesen lassen. Ich kenne mich mit VB aber überhaupt nicht aus. > > Ich habe 2 unterschiedliche Messwerte, die im Stundenabstand gemessen und hintereinander im EEPROM abgelegt werden. Die Excel-Anbindung müsste nun die Daten abrufen und in zwei Spalten jeweils ans Ende hängen. > > Gibt es jemanden, der so etwas schon realisiert hat und mir einfach die notwendigen Programmdateien überlassen würde? Natürlich erwarte ich nicht, dass ich hier den Service einer neuen Programmierung bekomme. Dann müsste ich mich schon selbst in Excel-VB einarbeiten. > > Viele Grüße Hallo ich versuche mal das hier reinzustellen. Es sind zwei Programme. Das eine in Basic für die c-control und das zweite ist das Visual-Basic. '************************************** ' ' C-Control/BASIC LOGGER.BAS ' ' Aufgabe: ' ' - Langzeit-Datenerfassung ' - Ein analoger Eingang ' '************************************** ' --- Definitionen -------------------- define AD1 AD[1] define Kommando byte define Wert byte define n Word ' --- Programmoperationen ------------- #Anfang open# for write #Loop gosub Messen gosub Warten goto Loop 'Endlosschleife end #Messen if (filefree > 10) then print# AD1 return #Warten for n= 1 to 10 '1 s pause 5 '5 x 20 ms if rxd then gosub Unterbrechung next return #Unterbrechung get Kommando if Kommando = 27 then gosub Auslesen return #Auslesen close# open# for read #Next input# Wert put Wert if not EOF then goto Next close# open# for append return .......................................... 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 "COM2:9600,N,8,1" ThisWorkbook.Sheets("Tabelle1").Activate Columns("A:B").Select Selection.ClearContents Range("A1").Select TIMEOUT 1000 SENDBYTE 27 Zeile = 1 Do e1 = READBYTE e2 = READBYTE If e1 >= 0 And e2 >= 0 Then Cells(Zeile, 1).Value = e1 Cells(Zeile, 2).Value = e2 Cells(1, 3).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 > Ich habe bei Programme nicht ausprobiert aber es sollte funktionieren. Das Prog. Logger.bas erfasst zwei Meßwerte pro Sekunde. Datenübergabe im Byteformat. Ich würde Dir zwei Bücher empfehlen. Messen Steuern Regeln mit c-control, und Messen Steuern Regeln mit Word und Excel. mfg Hermann Sattler |
| Antwort schreiben |