LabVIEWForum.de - Virtuelle Frontpanel Schalter/Poti an physikalische koppeln?

LabVIEWForum.de

Normale Version: Virtuelle Frontpanel Schalter/Poti an physikalische koppeln?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hi miteinander

ich hab mir ein größeres Labview Program geschrieben. Dieses beinhaltet mehrere Schalter/Taster und Potis zum steuern eines Motorreglers. Das spielt aber für meine Frage erstmal keine Rolle. Eine Tastaturabfrage habe ich auch schon implementiert. D.h. nun kann ich das Programm auch via verschiedener Tastaturbefehle steuern.
Nun will ich noch eine kleine externe Controlbox in das System integrieren.

Frage?

Was eignet sich denn am besten für sowas? Ich hatte mit einem NI USB 6008 und DAQ herumgespielt. Dachte das wäre eine einfache und günstige Lösung. Leider gelingt es mir aber nicht das Gerät in meine Ereignisstruktur einzubinden. Blink
Falls es irgendwelche Tutourials, Beispiele etc. gibt - ich bin ganz Ohr.

Der Programmcode ist leider zu umfangreich um diesen hier einzustellen, bei Bedarf kann ich aber vielleicht ein kleines Beispiel zum Problem basteln?!

Gruß und schon mal danke.

Martin
Hallo Martin,

habe ich Dich richtig verstanden, Du möchtest jetzt Hardwarepotis verwenden, um damit z.B. die Frontpanelregler zu bedienen.
Das sollte selbst mit einer 6008 möglich sein.

Was Du dazu benötigst ist zuerst mal ein aktueller DAQmx Treiber, den Du auf Deinem System installieren musst.
Damit bekommst Du dann VIs für die Datenerfassung.
[attachment=36030]

Danach musst Du "nur noch":

- die Hardware anschließen
- die Erfassung konfigurieren (Task erstellen, starten)
- die erfassten Daten aus dem Puffer lesen und verarbeiten

Wahrscheinlich wird es sinnvoll sein, die Datenerfassung in einer getrennten Schleife zu realisieren und mit Deinem bestehenden VI über lokale Variablen die Daten auszutauschen. (Melder, Queue und FGV geht natürlich auch)

Grüße
Andreas
Hi

Danke erstmal. Also so wie du das beschrieben hast hatte ich das schon versucht. Mein Programm ist als Queue State Machine aufgebaut. Über die Ereignise gebe ich nur Daten/Befehle in die Queue die dann anderweitig verarbeitet werden. Somit hab ich minimale Rechenbelastung was die Ereignisstuktur betrifft. Aber das funktioniert ja schon.

Hab mal ein kleines Beispielprogramm gebastelt was das Problem näher schildert.

Funktion:
Betätige ich "Ereignis aktivieren" über Frontpanel mit Maus, wird die Ereignisstuktur wie erwartet gestartet -> Lampe 1 leuchtet
Betätige ich "Ereignis aktivieren DAQ" über Frontpanel mit Maus, wird die Ereignisstuktur auch gestartet -> Lampe 2 leuchtet
(nochmal "Ereingis aktivieren" setzt Lampe 2 zurück)
Betätige ich über den NI USB-6008 den ausgewählten Port schaltet zwar "Ereignis aktivieren DAQ" im Frontpanel -> Die Ereignisstruktur wird aber NICHT gestartet -> Lampe 2 leuchtet NICHT

Glaub ich hab da irgend eine Grundfunktion nicht verstanden! Fuktioniert die Ereignisstuktur etwa nur über das Frontpanel?


Gruß Martin

Lv10
(21.09.2011 13:30 )Lableo schrieb: [ -> ]Fuktioniert die Ereignisstuktur etwa nur über das Frontpanel?
JA! Alternativ noch über die PropertyNode "Value (Signaling)". Dabei wird aber bei jedem Schreiben ein Event ausgelöst, egal ob sich der Wert wirklich ändert oder nicht.

Gruß, Jens
Hi

Ok - das wusste ich nicht. Über Wert (SGL) klappts dann auch - leider aber mit den schon genannten vielen Events. Mal sehen vielleicht lässt sich das geschickt über ne Case Funktion unterdrücken.

Gruß Martin
Hi

so ich hab das ganze über ein Schieberegister gelöst. Funktioniert bei dem einfachen Beispiel wirklich sehr gut. Werden es mehrere Variablen werde ich wohl auf Cluster zurückgreifen, damit das nicht zu unübersichtlich wird. Oder habt Ihr bessere Ideen?

Anbei der Code.

Gruß Martin

Lv10
Hallo Martin,

ich würde ja auch über den Code schauen, aber mit Lv85_img gehts leider nicht.
Aber Du hast ja Jens schon als wertvollen Ratgeber. Top1

Grüße
Andreas
Hi Andreas

na dann für dich noch 3 schöne Bilder. Cool

Bye

Martin
Referenz-URLs