LabVIEWForum.de
Channels zu einem Task anzeigen/ändern - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: Channels zu einem Task anzeigen/ändern (/Thread-Channels-zu-einem-Task-anzeigen-aendern)

Seiten: 1 2


Channels zu einem Task anzeigen/ändern - daxel - 14.08.2013 14:59

Hallo liebe LabView-Experten,

ich melde mich direkt nochmal in einem neuen Thread (der Übersicht wegen, ich hoffe das ist ok). Ich muss zugeben, das hier ist ein Crosspost (das Original befindet sich in den englischsprachigen NI-Foren), mir fiel aber erst nach dem Posten ein dass ein deutschsprachiges Forum vielleicht die bessere Wahl ist - ihr versteht die Fragen besser und ich die Antworten. Sollte sich dort zuerst eine Lösung finden, poste ich diese natürlich auch hier.

Ich habe ein SubVI erstellt, dass es dem User erlaubt einen Task zu erstellen, bei dem er die physikalischen Kanäle auswählen kann, die angezeigt werden sollen. Das hinzufügen der Kanäle und ihre Benennung funktionieren auch wunderbar, allerdings hätte ich auch gerne die Möglichkeit, eine Liste der bereits zugefügten virtuellen Kanäle anzuzeigen und dem User wenn möglich auch erlauben diese nach dem zufügen noch zu bearbeiten; ich habe aber keine Möglichkeit gefunden, überhaupt auf die Kanäle eines Tasks zuzugreifen. Kennt hier jemand eine Möglichkeit?

Danke & freundliche Grüße,
daxel

[attachment=45873]


RE: Channels zu einem Task anzeigen/ändern - jg - 14.08.2013 16:11

Offtopic2
LabVIEW 2013 ist noch nicht mal 2 Wochen auf dem Markt. Das haben hier die allerwenigsten Leute installiert.
Wäre gut, wenn du deine VIs für eine frühere Version speichert (File->Save for previous version), so kannst du mehr Hilfe erwarten.

Gruß, Jens


RE: Channels zu einem Task anzeigen/ändern - daxel - 14.08.2013 20:14

Danke für den Tipp, wird morgen früh so schnell wie möglich erledigt!


RE: Channels zu einem Task anzeigen/ändern - daxel - 15.08.2013 06:46

Ist erledigt. Hier mein SubVI, vorsichtshalber als LabVIEW 2011 kompatibel gespeichert.


RE: Channels zu einem Task anzeigen/ändern - GerdW - 15.08.2013 08:05

Hallo daxel,

probier mal das VI im Anhang aus! Ich habe es mangels Zeit und Hardware nicht getestet.

Schau dir auch mal an, wie ich die Eventstruktur nutzen würde...

Zitat:vorsichtshalber als LabVIEW 2011 kompatibel gespeichert
Das war eine sehr gute Idee deinerseits! Big Grin


RE: Channels zu einem Task anzeigen/ändern - daxel - 15.08.2013 09:07

Hi,

danke Dir! Das Anzeigen der Kanäle ist so kein Problem mehr. Allerdings habe ich noch nicht so ganz raus, wie ich jetzt Kanäle bearbeiten/löschen könnte.. Ich habe dein VI mal leicht verändert, so wie ich bisher vorgehen würde, mir fehlt jetzt nur der Zugriff auf die Kanaleigenschaften. Ich habe vorhin mal den Knoten für die Eigenschaften von Kanälen ausprobieren wollen, aber der verlangt als Eingang auch einen Task? Ich hoffe das ändern innerhalb der Whileschleife ist nicht zu hässlich, sollte eben nur eine schnelle Behelfslösung sein.

Und danke für den Tipp mit dem Event - so scheint mir das auch viel besser.. Und um ehrlich zu sein, auch einfacher; ich weiß gar nicht wieso meine Lösung so umständlich aussah (*Brett vor Kopf*).


RE: Channels zu einem Task anzeigen/ändern - GerdW - 15.08.2013 09:17

Hallo daxel,

ich würde die komplette Geschichte etwas anders lösen:
- Erst darf dein User die Kanäle definieren/editieren. Dazu bekommt er eine Tabelle als Übersicht und kann sich daran abarbeiten.
- Wenn der User "Fertig!" sagt, wird der DAQmx-Task erstellt. Und erst dann wird er erstellt!
- Kanaleinstellungen kannst du gern schon beim Editieren als auch gesammelt nach dem "Fertig!" kontrollieren/überprüfen (z.B. wurden Kanäle doppelt/mehrfach ausgewählt?). Das bleibt dir oder den User-Anforderungen überlassen...

Auf diese Weise kannst du 1. ein "schönes" UI anbieten und 2. brauchst nicht einen DAQmx-Task immer wieder mal umparametrieren...

Die Grundidee dahinter lautet:
Trenne die Darstellung von Daten auf dem UI von der Darstellung/Verwaltung im Hintergrund/im Programm!
Man muss dem User nicht eine komplexe Datenstruktur präsentieren, die er nicht versteht - und auch nicht zu verstehen braucht! Stattdessen bekommt er einen Editor/Assistenten, der nebenbei noch Fehler bemängelt/behebt...


RE: Channels zu einem Task anzeigen/ändern - daxel - 15.08.2013 09:31

Okay, ich werde mich mal daran versuchen. Wird wahrscheinlich eine Weile dauern, aber dann melde ich mich mal zurück (entweder mit Erfolg oder neuen Fragen Wink).


RE: Channels zu einem Task anzeigen/ändern - daxel - 15.08.2013 10:11

Tut mir Leid für die dauernden Doppelposts, nur scheint das Bearbeiten ja nicht allzu lange möglich zu sein.

Habe mir jetzt noch eine andere Möglichkeit überlegt.. die Tasks werden außerhalb des Programms im MAX erstellt und können dann im Programm selber ausgewählt werden. Bietet den Vorteil, dass die ganze Konfiguration schon programmiert ist und gut aussieht und funktioniert und die Tasks außerdem auch das Programmende überleben.


RE: Channels zu einem Task anzeigen/ändern - Lucki - 15.08.2013 11:06

Habe mir jetzt den Thread mal gegönnt. Ich würde es vielleicht so machen:

[attachment=45902]
Ich muss allerdings auch sagen, dass es programmtechnisch schwerer zu handhaben ist, wenn die Kanäle je nach Zu- und Abschaltungen sich in jewelis unterschiedlichen Positionen im 2D-Datenrray befinden. Wenn es die Perrformance erlaubt, ist auch zu überlegen, immer alle Kanäle aufzunehmen, und die nicht benutzten dann softwaremäißg nicht mit zu verarbeien.