LabVIEWForum.de
programmatische Verwendung von unterschiedlichen Instanzen in einem polymorphen Vi - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Signaldarstellung (/Forum-Signaldarstellung)
+---- Thema: programmatische Verwendung von unterschiedlichen Instanzen in einem polymorphen Vi (/Thread-programmatische-Verwendung-von-unterschiedlichen-Instanzen-in-einem-polymorphen-Vi)



programmatische Verwendung von unterschiedlichen Instanzen in einem polymorphen Vi - t.hipp - 01.05.2020 15:07

Hallo zusammen,

ich möchte über ein Cluster-Array mehrere unterschiedliche analoge Eingangskanäle konfigurieren.
Das funktionierte bisher auch solange ich mich beim Erzeugen des Kanals auf eine polymorphe Instanz beschränkt habe. (z.B. AI - Spannung)

Nun möchte ich aber unterschiedliche Kanäle (unterschiedliche polymorphe Instanzen) innerhalb einer Schleife erzeugen. (z.B. AI - Spannung und Strom)
siehe angehängtes vi.

Wie macht man das am sinnvollsten?

Geht das mithilfe eines Eigenschaftsknoten und einer entsprechenden Case-Struktur oder
ist da Objektorientiert die bessere Lösung.
In OOP hatte ich bisher noch keine Erfahrung (Vererbung, Partner, usw. tue ich mir irgendwie noch schwer) und wäre in diesem Zusammenhang über ein Beispiel oder weitere Tipps sehr dankbar.

Anbei das aktuelle Vi.

Vielen Dank
Thomas


RE: programmatische Verwendung von unterschiedlichen Instanzen in einem polymorphen Vi - GerdW - 02.05.2020 16:10

Hallo Thomas,

ich habe das mit einem weiteren Eintrag im Cluster, der den Kanaltyp beschreibt, und einer Case-Struktur gelöst.
Bei mir im Prüfstand unterscheide ich so zwischen U, I, Pt100 und diversen TC-Typen…


RE: programmatische Verwendung von unterschiedlichen Instanzen in einem polymorphen Vi - t.hipp - 02.05.2020 17:29

Hallo Gerd,
das ist natürlich einen Lösungansatz den ich bisher noch nicht auf dem Schirm hatte.
ich hatte zwar gehofft, dass es ohne solch einen Workaround geht, aber vielleicht muss ich es dann doch so machen.

Das fernere Ziel wäre gewesen, dass die Software automatisch anhand der Hardware erkennt, welche Instanz verwendet werden muss.
So muss ich einen zusätzlichen Eintrag für jedes Modul/Kanal (cDAQ) in meiner Konfigdatei vorsehen.
Gruß und Dank :-)


RE: programmatische Verwendung von unterschiedlichen Instanzen in einem polymorphen Vi - GerdW - 02.05.2020 21:37

Hallo Thomas,

dann musst du eben auslesen, mit welcher Hardware du es zu tun hast: DAQmx bietet dafür property nodes. Außerdem gibt es ja auch noch das System Identification Toolkit...


RE: programmatische Verwendung von unterschiedlichen Instanzen in einem polymorphen Vi - t.hipp - 03.05.2020 11:07

Hallo Gerd,
ich hatte mich jetzt für deine Lösung mit der Case-Struktur entschieden - sowohl Kanal, als auch Skalierung. :-)
Eigenschaftskonten ging nicht, da ich diese Information über die Messart erst erhalte, wenn der Kanal bereits erstellt wurde. Für mein Vorgehen hätte ich diese Information aber schon davor benötigt.
Zusätzliches Software-Tool wollte ich vermeiden.
Ich bin jetzt zusätzlich noch über Variant gegangen, damit ich es in zukunft flexibel unterschiedliche Parameter über eine Konfig-Datei einlesen kann. (siehe Anhang) Passt für mich also. :-)