- 3D-Druck Einstieg und Tipps         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 19 von 19

Thema: Velleman K8055 mit Excel Eingänge lesen

  1. #11
    Neuer Benutzer Öfters hier
    Registriert seit
    09.02.2007
    Ort
    Dessau
    Alter
    55
    Beiträge
    7
    Anzeige

    Powerstation Test
    Du kannst auch den Wert der unter ReadAllDigital () kommt als Variable speichern diese dann einer Excel Zelle zuweisen. Habe ich auch probiert und funtioniert wunderbar. UpdateEigenschaften funtionieren auch, habe es getestet. Excel wird es nur mit einem Aufruf der Routine machen also du musst die Sub Routine erst ansprechen und dann wird auch der Code bearbeitet. Oder du versuchst es mit einer Schleife. Ich arbeite nicht gern mit Schleifen aber Excel lässt dir für dein Vorhaben keine andere Chance

  2. #12
    Benutzer Stammmitglied
    Registriert seit
    20.05.2004
    Ort
    Meppen
    Alter
    47
    Beiträge
    51
    Irgendwie will es nicht...
    So habe ich es drin (ohne Adress-Routinen und sonstiges):

    Code:
    Private Declare Function OpenDevice Lib "k8055d.dll" (ByVal CardAddress As Long) As Long
    Private Declare Sub CloseDevice Lib "k8055d.dll" ()
    Private Declare Function ReadAnalogChannel Lib "k8055d.dll" (ByVal Channel As Long) As Long
    Private Declare Sub ReadAllAnalog Lib "k8055d.dll" (Data1 As Long, Data2 As Long)
    Private Declare Sub OutputAnalogChannel Lib "k8055d.dll" (ByVal Channel As Long, ByVal Data As Long)
    Private Declare Sub OutputAllAnalog Lib "k8055d.dll" (ByVal Data1 As Long, ByVal Data2 As Long)
    Private Declare Sub ClearAnalogChannel Lib "k8055d.dll" (ByVal Channel As Long)
    Private Declare Sub SetAllAnalog Lib "k8055d.dll" ()
    Private Declare Sub ClearAllAnalog Lib "k8055d.dll" ()
    Private Declare Sub SetAnalogChannel Lib "k8055d.dll" (ByVal Channel As Long)
    Private Declare Sub WriteAllDigital Lib "k8055d.dll" (ByVal Data As Long)
    Private Declare Sub ClearDigitalChannel Lib "k8055d.dll" (ByVal Channel As Long)
    Private Declare Sub ClearAllDigital Lib "k8055d.dll" ()
    Private Declare Sub SetDigitalChannel Lib "k8055d.dll" (ByVal Channel As Long)
    Private Declare Sub SetAllDigital Lib "k8055d.dll" ()
    Private Declare Function ReadDigitalChannel Lib "k8055d.dll" (ByVal Channel As Long) As Boolean
    Private Declare Function ReadAllDigital Lib "k8055d.dll" () As Long
    Private Declare Function ReadCounter Lib "k8055d.dll" (ByVal CounterNr As Long) As Long
    Private Declare Sub ResetCounter Lib "k8055d.dll" (ByVal CounterNr As Long)
    Private Declare Sub SetCounterDebounceTime Lib "k8055d.dll" (ByVal CounterNr As Long, ByVal DebounceTime As Long)
    
    Dim CardAddress As Long
    Dim connected As Boolean
    Public TimerID As Long
    Public TimerSeconds As Single
    
    Private Sub CheckBox1_Click()
    If (CheckBox1.Value) Then
    SetDigitalChannel (1)
    Else
    ClearDigitalChannel (1)
    End If
    End Sub
    
    Sub scan_DigitalAll()
    Dim i As Integer
    Do While i < 1000
        Label1.Caption = CStr(ReadAllDigital)
        i = i + 1
    Loop
    End Sub
    Das erste Teil mit Ausgang setzen funktioniert, das zweite Teil mit Label zeigt nur "Label1" an und keine Werte

  3. #13
    Neuer Benutzer Öfters hier
    Registriert seit
    09.02.2007
    Ort
    Dessau
    Alter
    55
    Beiträge
    7
    Sub scan_DigitalAll()
    Dim i As Integer
    Dim a As long

    a = ReadAllDigital

    Do While i < 1000
    .
    .
    .

    probier es mal so!

  4. #14
    Benutzer Stammmitglied
    Registriert seit
    20.05.2004
    Ort
    Meppen
    Alter
    47
    Beiträge
    51
    Ich habe folgendes eingegeben:
    Code:
    Sub scan_DigitalAll()
    Dim i As Integer
    Dim a As Long
    a = ReadAllDigital
    Do While i < 1000
        Label1.Caption = a
        i = i + 1
    Loop
    End Sub
    Und es ändert sich nichts...
    Es wird nur Label1 angezeigt.

    Füge ich aber eine Schaltfläche hinzu und gebe es ein:
    Code:
    Private Sub CommandButton3_Click()
    MsgBox ReadAllDigital
    Label1.Caption = ReadAllDigital
    End Sub
    dann wird beim Klick eine MessageBox mit dem Wert angezeigt und Label1 zeigt auch den richtigen Wert an.
    Nur es klappt nicht, dass Label1 ständig ohne irgendwelche Klicks immer den aktuellen Wert anzeigt...

  5. #15
    Benutzer Stammmitglied
    Registriert seit
    20.05.2004
    Ort
    Meppen
    Alter
    47
    Beiträge
    51
    Kann es sein, dass die Sub
    Code:
    Sub scan_DigitalAll() 
    Dim i As Integer 
    Dim a As Long 
    a = ReadAllDigital 
    Do While i < 1000 
        Label1.Caption = a 
        i = i + 1 
    Loop 
    End Sub
    in einer UserForm gar nicht verarbeitet wird?

  6. #16
    Neuer Benutzer Öfters hier
    Registriert seit
    09.02.2007
    Ort
    Dessau
    Alter
    55
    Beiträge
    7
    Soviel ich weiß ist es in Excel so. Du brauchst ein Ereignis um eine Sub zu starten.
    Du möchtest also immer den aktuellen Wert angezeigt bekommen? das ist sehr schwer in Excel umzusetzten.
    Du musst in einer vordefinierten Zeit ein Sub aufrufen welche dir dann eine Schleife nur einmal durchläuft um das Ergebnis in einer Box oder Zelle aktualisiert.
    uuuuuuuuuhhhhhhhhhh

  7. #17
    Benutzer Stammmitglied
    Registriert seit
    20.05.2004
    Ort
    Meppen
    Alter
    47
    Beiträge
    51
    so klappt es!!!

    Code:
    Private Sub UserForm_Activate()
    While userform1.Visible
        DoEvents
        Label1.Caption = ReadAllDigital
        DoEvents
    Wend
    End Sub
    Vielen Dank für Eure Ideen und Anregungen!!!
    Nico

  8. #18
    Neuer Benutzer Öfters hier
    Registriert seit
    09.02.2007
    Ort
    Dessau
    Alter
    55
    Beiträge
    7
    cool! ich wusste es nicht besser, aber du! Super!

    ciao

  9. #19
    Benutzer Stammmitglied
    Registriert seit
    20.05.2004
    Ort
    Meppen
    Alter
    47
    Beiträge
    51
    Hier ist fertiges VBA-Programm.
    Als Vorlage diente die Excel-Datei von SIGINT, die er in diesem Forum gepostet hat.

    bis dann,
    Nico
    Angehängte Dateien Angehängte Dateien

Seite 2 von 2 ErsteErste 12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress