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: Messwerte in Excel einlesen lassen Kategorie: Verschiedenes (von Hermann Sattler - 1.04.2005 18:49)
 Als Antwort auf Messwerte in Excel einlesen lassen von Dietrich - 1.04.2005 8:55

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

Bisherige Antworten:

Re: Messwerte in Excel einlesen lassen (von Dietrich - 5.04.2005 10:30)