LabVIEWForum.de
Möglichkeit zur modifikation der anzusprechenden Kanäle in nur einem Task (AnaloOut) - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: Möglichkeit zur modifikation der anzusprechenden Kanäle in nur einem Task (AnaloOut) (/Thread-Moeglichkeit-zur-modifikation-der-anzusprechenden-Kanaele-in-nur-einem-Task-AnaloOut)



Möglichkeit zur modifikation der anzusprechenden Kanäle in nur einem Task (AnaloOut) - Ksanto - 25.04.2017 11:16

Hallo zusammen,

ich hatte heute morgen ein wunderbare Idee wie ich eventuell vermeiden könnte bei jeder Änderung der Ausgabeparameter für unterschiedliche Kanäle an ein und dem selben Modul, jededsmal den Task starten und wieder beenden zu müssen (Problematik das nicht mehrere, wenn auch sich auf verschieden Kanäle beziehenden Tasks gleichzeitig laufen können (NI 9260))

Diese kam mir als ich die schon vor längerer zeit aus eine DAQ Assistenten extrahierten Task für die Anlog Erfassung ansah und mir der Eigenschaftsknoten mit dem Bezug "Aktive Kanäle" ins auge viel. (sihe Bild)
Diesen versuchte ich jetzt auch für mein Analog Ausgabe einzusetzen um den Task nur einmal mit allen Kanälen initialisieren zu müssen und dann immer nur die benötigtne Kanäle an zu sprechen.

Leider fürhte das zu dem fehler wie man ihn im beigefügten Bild sieht. Es wird bemängelt das der task zwar 16 Kanäle beinhaltet, aber in den "Daten" dazu nur 7 Kanäle zu finden wären. Also soweit das was ich wollte, nur leider geht LV nicht so damit um wie ich es mir erwartet hätte.


Hat Jemand eine Tipp/Idee wie ich das in dem sinne zu laufen bekommen kann, oder muss ich wirklich jedes mal den Task neu erstellen und diese dann ja auch noch timen?


Viel Dank schon mal für jeden der sich die Mühe macht sich meiner Frag zu widmen.

Viele Grüße
Ksanto


RE: Möglichkeit zur modifikation der anzusprechenden Kanäle in nur einem Task (AnaloOut) - GerdW - 25.04.2017 11:43

Hallo Ksanto,

wenn du einen Task mit 16 Kanälen erstellst, musst du auch 16 Werte ausgeben…

Es steht dir aber frei, eine Instanz (wie z.B. eine FGV) dazwischenzuschalten, die deine Kanäle verwaltet. In der FGV dann eben 16 Kanäle merken und nur für die "aktiven" neue Werte an die richtige Stelle im Array schreiben!


RE: Möglichkeit zur modifikation der anzusprechenden Kanäle in nur einem Task (AnaloOut) - Ksanto - 25.04.2017 12:24

Danke für die Bestätigung Gert, wie immer sehr schnell und kompetent.

Leider liegen die punkte an denen ich die Werte in dem Task Variieren muss in unabhängigen, parallel laufenden Schleifen die unter umständen auch mir verschiedenen Geschwindigkeiten.

Daher werde ich mal deinen Vorschlag mit einer weiteren Instanz berücksichtigen, diese aber nach schalten. Das macht den Braten jetzt auch nicht mehr fett und Referenzen muss ich dann in diesem fall sowieso ziehen.

Vielen Dank jedenfalls


Ksanto


RE: Möglichkeit zur modifikation der anzusprechenden Kanäle in nur einem Task (AnaloOut) - GerdW - 25.04.2017 12:32

Hallo Ksanto,

Zitat:Referenzen muss ich dann in diesem fall sowieso ziehen.
Wofür benötigst du Referenz-Drähte bei der vorgeschlagenen FGV-Lösung?


RE: Möglichkeit zur modifikation der anzusprechenden Kanäle in nur einem Task (AnaloOut) - Ksanto - 25.04.2017 13:07

Sorry, vielleicht ein bisschen undeutlich ausgedrückt,
ich werde nicht speziell die FVG Lösung in angriff nehmen, sondern allgemein eine weitere Instanz schaffend die die Ansteuerung der Hardware übernimmt.

Ich werde also alle Daten aus den 4 Regelschleifen in ein Queue mit Adresse und Regelwert schreiben (Cluster) und Die Steuere Instanz spricht dann, die werte nacheinander abarbeitend, die Hardware an.

Zur Weitergehenden Erklärung:
Ich habe 4 unabhängige schleifen die den Regel-Modus und die Regel-Werte verwalten/berechnen und die nur von der Geschwindigkeit der Messschleife anhängig gemacht sind (als einzige Einschränkung nicht schneller als die Messschleife). Ist eine Regelschleife langsamer als die Messschleife und oder die andern 3 regelschliefen überspringt diese einfach die während ihrer Ausführzeit eventuell entstandenen Messwerte und mach mit dem aktuellsten Wert weiter wenn sie halt wieder Zeit hat.

Eigentlich sollte jede der schliefen auch selber die Hardware ansprechen, aber da kam mir das Problem mit nur einem Task Pro Hardware in die Quere.
Also anstatt jetzt andauernd den Task zu Starten und zu Stoppen und oder mir um Timing Gedanken machen zu müssen, lass ich die Daten einfach so wie die schliefen halt laufen in das Queue schrieben und in der neuen Instanz abarbeiten.


RE: Möglichkeit zur modifikation der anzusprechenden Kanäle in nur einem Task (AnaloOut) - jg - 25.04.2017 13:42

Aha, also nur die Queue-Refnums verteilen - das hört sich vernünftig an.

Gruß, Jens