-
-
Vielleicht hab ich mich zu kompliziert ausgedrückt:
Ich habe auf meinem DC-Motor einen Schrittzähler, also wenn sich der Motor dreht bekomme ich einen Takt (0 1 0 1 0 1 0 1 0 1 0 1 0).
Ich habe das USB Interface K8055, (diese hat 5 Digitale Eingänge), mit diesem kann ich diese Signale ins Visual Basic einlesen. Dafür benötige ich eine .dll, die ich erfolgreich in mein Form inkludiert hab.
Mit dieser .dll kann ich folgendes machen:
ReadDigitalInput 1 (den ersten digital Eingang einlesen)
ReadDigitalInput ist entweder True oder False (Boolean), je nachdem ob der Motor sich dreht oder nicht.
Jetzt benötige ich einen Zähler der mir immer, wenn vom Motor ein True (high) kommt, 1 dazuzählt:
Also:
i=i+1
So wie ich es prog. habe, gibz folgendes Problem:
Solange wie der Eingang High ist zählt der Zähler 1 dazu, bzw, wenn der Schrittzähler vom Motor bei High stehen bleibt, zählt der Zähler immer etwas dazu, also bräuchte ich so etwas ähnliches wie eine Flankensteuerung, dass er nur wenn er 1 wird (oder umgekehrt) etwas dazuzählt.
Ich hoffe ich hab das jetzt etwas besser formuliert. Ich hoffe du kannst mir weiterhelfen, falls es fragen gibt kannst du mit auch eine Mail schreiben: martin.toth@utanet.at
Leider gibz dabei noch ein zweites Problem:
Wenn ich diese programmierte Programm öffne soll er sofort anfangen zum einlesen und zu Zählen und nicht wenn ich erst einen Button anklicke oder so ähnlich. Natürlich kann ich das mit einem Timer realisieren. Doch dieser würde die Eingänge nur alle 50ms abfragen, ich müsste die Eingänge jedoch alle 5ms abfragen können, ich denke das funktioniert mit einem API Timer. Aber wie?
DANKE!
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen