LabVIEWForum.de - Richtungserkennung

LabVIEWForum.de

Normale Version: Richtungserkennung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo Forummitglieder!

Ich möchte eine Richtungserkennung realisieren.
Mir stehen 2 Rechtecksignale von Ultraschallgebern zur Verfügung.
Wenn der erste Ultraschallgeber anspricht und danach der zweite soll inkrementiert werden.
Spricht zuerst der zweite und dann der erste an soll dekrementiert werden.

Bitte um Lösungsvorschläge.

Danke im Vorhinein.
' schrieb:Hallo Forummitglieder!

Ich möchte eine Richtungserkennung realisieren.
Mir stehen 2 Rechtecksignale von Ultraschallgebern zur Verfügung.
Wenn der erste Ultraschallgeber anspricht und danach der zweite soll inkrementiert werden.
Spricht zuerst der zweite und dann der erste an soll dekrementiert werden.

Bitte um Lösungsvorschläge.

Danke im Vorhinein.
Hallo,
eine einfache Variante ist, warten bis der erste anspricht und dann den 2. abfragen. Ist dieser aktiv dek, ist er inaktiv ink.
MfG Jeffrey
' schrieb:Hallo,
eine einfache Variante ist, warten bis der erste anspricht und dann den 2. abfragen. Ist dieser aktiv dek, ist er inaktiv ink.
MfG Jeffrey

Da ich erst seit einigen Studen mit diesem Programm arbeite fällt es mir schwer das von dir vorgeschlage Programm zu erstellen. Könntest du mir bitte genauere Informationen geben?

Danke
Schaue dir mal in der Hilfe die "Quadrature Counter Function" an, damit kann man einiges anfangen, bzw. so umwandeln, die du es haben willst
' schrieb:Da ich erst seit einigen Studen mit diesem Programm arbeite fällt es mir schwer das von dir vorgeschlage Programm zu erstellen. ...
Ein paar Stunden "Erfahrung", aha.

Mein Tip: Setzte dich erst mal mit den Basics von LV auseinander, indem du z.B.
- einen Kurs besuchst.
- und/oder ein Lernbuch durchackerst.
- und/oder die LV-Online-Hilfe studierst.
- und/oder die LV-Einführung durchackerst.
- und/oder die Beispiele im NI-Examplefinder dir anschaust.

MfG, Jens
' schrieb:Ein paar Stunden "Erfahrung", aha.

Mein Tip: Setzte dich erst mal mit den Basics von LV auseinander, indem du z.B.
- einen Kurs besuchst.
- und/oder ein Lernbuch durchackerst.
- und/oder die LV-Online-Hilfe studierst.
- und/oder die LV-Einführung durchackerst.
- und/oder die Beispiele im NI-Examplefinder dir anschaust.

MfG, Jens

Mit "diesem Programm" meinte ich nicht LabVIEW sondern, das von mir zu erstellende Programm (Richtungserkennung).
Als ich meine Frage ins Forum stellte dachte ich das vielleicht jemand schon einmal ein solches VI erstellt hat und dieser jemand mit mir sein Wissen teilen möchte.

Aber wenn du dich anscheinend mit diesen "Basics" auseinander gesetzt hast, kannst du mir ja vielleicht helfen.
Wenn du keine Idee hast, kannst du mir vielleicht mitteilen wo ich genau ein solches VI finden könnte.

Ich hatte die Idee die Richtungserkennung mit einer Sequenzstruktur zu realisieren.

Die Datei die sich im Anhang befindet ist ein erster Versuch von mir. Das Signal das vom DAQ kommt ist ein Rechtecksignal (0-5 V). Das Problem dabei ist, dass das Programm nicht erkennt welches Signal zuerst auf 5 V springt. Somit ist es nicht möglich die Entscheidung zu treffen ob Inkrementiert oder Dekrementiert werden soll.

MfG, Stefan
Mit Dank im voraus!

(VI LV 7.0)
Stichwort: Edge Counting mit externer Richtungserkennung.

Wenn du einen Counter-Kanal erstellt, Signal 1 deines Sensors an A und Signal 2 an B hängst, übernimmt das auf- und abzählen der Counter für dich. Suche dazu auch nach generellen Infos zu Encodern. Das von dir erklärte Prinzip entsprich nämlich genau diesem.

Alternativ kannst du, wie bereits vorgeschlagen, den Counter für die Aufgabe Winkelposition verwenden. Funktioniert an sich genauso.
OK, das mit den paar Stunden war dann wohl ein Missverständis.

Aber bei folgendem werde ich halt sauer: 2 h Beschäftigung mit LV, dann die Erkenntnis, ich schaffe irgendwas nicht, und frage dann das LVF, anstatt halt erst mal ordentlich Zeit und Gehirnschmalz zu investieren und LV von Grund auf zu erlernen (wie jede andere Programmiersprache auch) Ahrg1

Ansonsten kann ich mich nur den Tipps der anderen anschließen: Wenn es deine Karte (WELCHE übrigens???) erlaubt, benutze die Counter und nicht AI.

MfG, Jens
Zitat:Erstmal Danke für deine Hilfe.

Wenn du den Counter Channel des DAQmx Gerätes meinst, diesen kann ich leider nicht verwenden, da wir nur einen Anschluss für den Counter haben, aber einen zweiten benötigen. Vielleicht kannst du deine Antwort ein wenig ausführlicher darstellen, wenn es möglich ist.

Danke im Voraus

mfg Big Z

Zunächst mal: Solche Fragen gehören ins Forum, nicht in eine PM - andere sind mit Sicherheit auch daran interessiert...

Also ich kenne zwar nicht alle Karten von NI, aber die DAQ-Karten, mit denen ich bisher zu tun hatte, hatten alle mindestens zwei Counter. Das soll aber nicht ausschließen, dass es auch welche mit nur einem Counter gibt. Jedenfalls meine ich genau diesen Counter. Wenn du keinen mehr frei hast, kannst du ihn nicht verwenden, dein Programm dürfte dann erheblich komplizierter werden.

Ansatz mit analogen Inputs: Füge beide Kanäle zu EINEM Task zusammen und messe sie somit zur gleichen Zeit. Das ganze lässt du kontinuierlich in eienr Schleife ablaufen. Das entstehende Array kannst du dann auswerten... Aber wie bereits gesagt: Das wird dann erheblich mehr Programmieraufwand und mit Sicherheit nicht mehr Echtzeitähnlich, sondern verzögert.
' schrieb:Also ich kenne zwar nicht alle Karten von NI, aber die DAQ-Karten, mit denen ich bisher zu tun hatte, hatten alle mindestens zwei Counter. Das soll aber nicht ausschließen, dass es auch welche mit nur einem Counter gibt.

OFF-Topic: Einige von den Low-Cost-USB-"Karten" verfügen über nur einen Counter!
Seiten: 1 2 3
Referenz-URLs