VB Anfänger
Grünschnabel
Hallo,
ich habe folgendes Problem:
Ein Drehzahlsensor vor der Kulissenscheibe einer Motorwelle liefert mir jede Umdrehung vier High-Signal (sonst Low).
Anschließend sende ich ein char-Zeichen ('1' oder '0') entsprechend dem aktuellen Zustand an einen seriell-Port meines Rechner (COM 2).
Das Signal scheint korrekt übertragen zu werden (mit Hyper Terminal kann es ausgegeben werden), aber mit einer Binärfolge kann ich ja noch nicht viel anfangen. Auf die Schnittstelle greife ich über die inpout32.dll und dem aus ihr abgeleiteten Modul input32.bas zu.
Ich möchte das Signal nun mit Visual Basic 6 auslesen um eine Drehzahl zu errechnen. Die Flankenwechsel sollen 10 Sekunden lang gezählt werden. Dann soll der Berechnungsteil ((Flankenwechsel*6)/4) gestartet werden und das Programm wieder von vorne zählen. Ich habe mich mit meinen bescheidenen VB-Kenntnissen schon daran versucht, aber er gibt mir nur 0 aus. Hier einmal mein Code:
Kann mir bitte jemand so schnell wie nur möglich sagen was ich noch muss?
mfg
ich habe folgendes Problem:
Ein Drehzahlsensor vor der Kulissenscheibe einer Motorwelle liefert mir jede Umdrehung vier High-Signal (sonst Low).
Anschließend sende ich ein char-Zeichen ('1' oder '0') entsprechend dem aktuellen Zustand an einen seriell-Port meines Rechner (COM 2).
Das Signal scheint korrekt übertragen zu werden (mit Hyper Terminal kann es ausgegeben werden), aber mit einer Binärfolge kann ich ja noch nicht viel anfangen. Auf die Schnittstelle greife ich über die inpout32.dll und dem aus ihr abgeleiteten Modul input32.bas zu.
Ich möchte das Signal nun mit Visual Basic 6 auslesen um eine Drehzahl zu errechnen. Die Flankenwechsel sollen 10 Sekunden lang gezählt werden. Dann soll der Berechnungsteil ((Flankenwechsel*6)/4) gestartet werden und das Programm wieder von vorne zählen. Ich habe mich mit meinen bescheidenen VB-Kenntnissen schon daran versucht, aber er gibt mir nur 0 aus. Hier einmal mein Code:
Option Explicit
Dim i As Long
Dim nTime As Single
Dim signal() As Long
Dim drehzahl As Long
Private Sub cmdEnde_Click()
End
End Sub
Private Sub Form_Activate()
i = 0
Do While Timer - nTime <= 10
signal(i) = Inp(&H2F8)
If signal(i) > signal(i - 1) Then drehzahl = drehzahl + 1
i = i + 1
Loop
drehzahl = (drehzahl * 6) / 4
picOut.Print drehzahl
End Sub
Kann mir bitte jemand so schnell wie nur möglich sagen was ich noch muss?
mfg
Zuletzt bearbeitet: