Vellemann K8055 Geschwindigkeit ausrechnen

  • VB6

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von peterfido.

    Vellemann K8055 Geschwindigkeit ausrechnen

    Hallo Leute,

    ich möchte mit meinem USB - Interface via Impulsen die Geschwindigkeit einer Welle ausrechnen

    folgende Formel:

    Visual Basic-Quellcode

    1. Private Sub zählen_Click()
    2. Dim zähler1 As Long
    3. Dim zähler2 As Long
    4. zähler1 = 0
    5. zähler2 = 0
    6. zähler1 = ReadCounter(1)
    7. Label2.Caption = ReadCounter(1)
    8. Sleep 3000
    9. zähler2 = ReadCounter(1)
    10. Label3.Caption = zähler2
    11. zähler.Text = (zähler2 - zähler1)/3
    12. End Sub




    FUnktioniert aber nicht, wahrsch wegen der sleep funktion, und auserdem hängt sich des ganze ding auf?

    könnte jemand so nett sein und mir behilflich sein?



    danke für die antworten

    mfg
    Prinzipiell sollte es so laufen. Ein Sleep im Click könnte die Vellemann lib stören.

    Visual Basic-Quellcode

    1. Dim Zeit As double
    2. Zeit = Timer + 3
    3. Do While Timer < Zeit
    4. DoEvents
    5. Loop


    Sind natürlich nicht genau 3 Sekunden. bekommst Du bei Sleep oder Timern aber evtl auch nicht... Windows ist kein Echtzeit-OS. Für genaue Messungen würde ich einen Mikrocontroller einsetzen.
    Gruß
    Peterfido

    Keine Unterstützung per PN!
    Guten morgen ,erst mal danke für die antwort ;)

    ich hab das jetzt mal so gemacht nur als testobjekt, es funzt zwar, aber der wartet nicht. Was habe ich falsch gemacht?

    Visual Basic-Quellcode

    1. Dim Zeit As Double
    2. Dim a As Long
    3. Dim b As Long
    4. Private Sub Command1_Click()
    5. a = Text1.Text
    6. Zeit = Timer + 3000
    7. Do While Timer < Zeit
    8. DoEvents
    9. a = a + 3
    10. Text1.Text = a
    11. Loop
    12. End Sub


    Danke für die Hilfe!

    mfg
    Womit wartet er keine 3000! Sekunden ?
    Timer gibt die Zeit in Sekunden wieder...

    Du könntest eine Pausenfunktion damit proggen:

    Visual Basic-Quellcode

    1. public sub warten(byval dSekunden as double)
    2. dsekunden=dsekunden+timer
    3. do while timer<dsekunden
    4. doevents
    5. loop
    6. end sub


    und diese dann von einer anderen Sub aufrufen

    Visual Basic-Quellcode

    1. Private Sub zählen_Click()
    2. Dim zähler1 As Long
    3. Dim zähler2 As Long
    4. zähler1 = 0
    5. zähler2 = 0
    6. zähler1 = ReadCounter(1)
    7. Label2.Caption = ReadCounter(1)
    8. warten 3
    9. zähler2 = ReadCounter(1)
    10. Label3.Caption = zähler2
    11. zähler.Text = (zähler2 - zähler1)/3
    12. End Sub


    (evtl Fehler nich auszuschließen, da eben schnell aus dem Kopf gemacht)
    edit Sub statt Funktion genommen
    Gruß
    Peterfido

    Keine Unterstützung per PN!