LabVIEWForum.de
Probleme mit Eigenschaftensknoten in einem SubVI - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Probleme mit Eigenschaftensknoten in einem SubVI (/Thread-Probleme-mit-Eigenschaftensknoten-in-einem-SubVI)



Probleme mit Eigenschaftensknoten in einem SubVI - Seb. Cordsen - 30.07.2009 13:25

Hallo,

ich habe ein Problem mit meinen Eigenschaftsknoten und weiß nicht weiter...

Die Eigenschaftsknoten sollen Schieberegler aktivieren oder deaktivieren und ausgrauen.

Ich habe probiert das so zu machen wie in diesem Thread, es geht um die Übersichtlichkeit von Eigenschaftsknoten in SubVi´s.:

http://www.LabVIEWforum.de/LabVIEW-Eigensc...VIs-t12947.html

aber leider funktioniert es bei nicht.

In meinem HauptVI habe ich die Referenzen einiger Schieberegler zu einem Cluster zusammengefasst, damit es übersichtlich bleibt.
Dieses Cluster führe ich in das SubVI, in dem ich je nach Abhängigkeit vom Fahrmode die Eigenschaft der Schieberegler ändere.

Ich habe beide SubVI´s als pic und als VI.

[attachment=20084]
[attachment=20085]

Lv86_img
[attachment=20086]
[attachment=20087]

Ich hoffe das mein Problem verständlich geworden ist.

Beste Grüße


Probleme mit Eigenschaftensknoten in einem SubVI - TSC - 30.07.2009 13:30

Dabei fallen mir zwei Dinge auf:

1. Die Eigenschaftsknoten beziehen sich auf das Cluster, nicht auf die einzelnen Referenzen.

2. Die dritte Referenz wird nie aktiviert!?

LG
Torsten


Probleme mit Eigenschaftensknoten in einem SubVI - RoLe - 30.07.2009 13:36

.. und die Reihenfolge ist auch falsch. (gibt dann später Probleme)
übergeben wir BT, SCD, CPP -> im SubVI dann aber BT, CPP, SCD.

um das zu vermeiden kannst du auch einen Cluster mit Namen erstellen, dazu zuerst einen Cluster erstellen (TypDef).


Probleme mit Eigenschaftensknoten in einem SubVI - Seb. Cordsen - 30.07.2009 14:20

@ TSchAC

zu 1) Du hast recht. Ich habe mich falsch ausgedrückt, die Referenz soll sich auf das Cluster beziehen.

zu 2) Die dritte Referenz (SCD) soll immer aktiv sein, daher in allen Cases die "0" als Eingang für die Eigenschaftsknoten!?

@ RoLe

Danke für die Info. Die Reihenfolge ist falsch, es ändert aber leider nichts an dem Problem da diese VI´s nur als Bsp. für mich dienen. In meinem richtigen Programm hatte ich es korrekt gemacht.

Hier nochmal die richtigen Bilder und VI´s.
[attachment=20090]
[attachment=20091]
Lv86_img
[attachment=20092]
[attachment=20093]

Das Problem ist, das CPP immer deaktivert ist, obwohl es "meines Erachtens" richtig angeschlossen ist.

Danke für Eure Antworten!

Gruß


Probleme mit Eigenschaftensknoten in einem SubVI - TSC - 30.07.2009 14:29

Aktiviere mal manuell die zwei schieberegister im CPP und auch das umfassende Cluster.
Damit funktionierts bei mir dann.

LG
Torsten


Probleme mit Eigenschaftensknoten in einem SubVI - Seb. Cordsen - 30.07.2009 14:46

Was soll ich dazu sagen?

Wenn man den Wald vor lauter Bäumen nicht sieht... vielleicht ist es einfach nicht mein Tag.

Ich Danke Dir TSchAC!


Probleme mit Eigenschaftensknoten in einem SubVI - TSC - 30.07.2009 14:50

kein Ding!

evtl noch was zur optimierung, falls du das in deinem richtigen Programm nciht schon hast: Momentan aktuallisierst du den Aktivstatus mit der höchsten Frequenz die Prozessor und LabVIEW zur verfügung stellen.
Das belastet deine CPU. Abhilfe schafft da entweder eine kleine Wartezeit in der entsprechenden WhileSchleife (da wo das SubVI aufgerufen wird) oder wenn dus richtig machen willst, dann entfernst du die Schleife, und reagierst nur auf das Event Wertänderung von deinem Control in dem du den Status angibst.

LG
Torsten


Probleme mit Eigenschaftensknoten in einem SubVI - Lucki - 30.07.2009 16:16

' schrieb:evtl noch was zur optimierung, falls du das in deinem richtigen Programm nciht schon hast: Momentan aktuallisierst du den Aktivstatus mit der höchsten Frequenz die Prozessor und LabVIEW zur verfügung stellen.
Das belastet deine CPU. Abhilfe schafft da entweder eine kleine Wartezeit in der entsprechenden WhileSchleife (da wo das SubVI aufgerufen wird) oder wenn dus richtig machen willst, dann entfernst du die Schleife, und reagierst nur auf das Event Wertänderung von deinem Control in dem du den Status angibst.
Ja, es is überhaupt nie gut, die Abarbeitung von Eigenschaftsknoten, die 200 mal so viel Zeit brauchen wie z.B das Lesen einer lokalen Variablen (und deren Verwendung oft geschlolten wird!), in die oftmals zeitkritische Haupschleife hineinzuverlegen. Also: wie schon gesagt, Aufruf nur bei Wertänderungt, und selbst dann möglichst nicht in der Haupschleife. Das optimale Konstrukt dafür ist die Ereignisbehandlung in einer separaten Schleife (mit timeout unendlich).
Lv86_img[attachment=20096]