Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
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.
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?
' 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
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
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.
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)
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
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
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!
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)