INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Frontpanel und Blockdiagramm zur Laufzeit anpassen



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

18.06.2012, 14:01
Beitrag #1

fabqu Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 84
Registriert seit: May 2011

9
2011
DE



Frontpanel und Blockdiagramm zur Laufzeit anpassen
Hallo LaView'er,

habe hier ein Problem, bei dem ich nicht weiterkomme:
Ich möchte, dass sich mein Frontpanel und mein Blockdiagramm individuell anpassen lassen.

Das heißt (hier am Beispiel einer kameraeinbindung innerhalb eines großen Programms) :

Ich habe innerhalb meines Hauptprogramms ein Teilprogramm, das sich nur mit dem Darstellen eines Kamerabildes beschäftigt. Manch einer hat aber kein NI-iMaq-DX und auch keine Kamera. Ergo: Er bekommt Fehlermeldungen über fehlende VIs und so weiter.

Nun soll er zu Beginn des ersten Programmaufrufs auswählen können, ob er überhaupt eine Kamera hat. Verneint er dies, sollen alle mit der Kamera zusammenhängenden Bedien- und Anzeigeelemente deaktiviert und ausgegraut werden.
Das geht ja über Eigenschaftsknoten (siehe Beispiel-VI im Anhang). Aber wie kann ich denn viele Referenzen zusammenfassen? Geht das? Oder muss ich für jedes Bedienfeld, das ausgegraut werden soll, einen neuen Knoten machen?

Dann soll natürlich auch das Blockdiagramm dieses Teilprogramms (siehe wieder Anhang) komplett deaktiviert werden. Das heißt, letztenendes soll das Programm quasi gar nichts mehr von diesem Teilprogramm im Blockdiagramm wissen - GEHT DAS??
Denn die Fehlermeldungen nerven und soweit ich weiß, kann man das Programm dann auch nicht ausführen, wenn die SubVIs von NI-iMaq-DX nicht vorliegen.

Danke Euch schon mal für die Hilfe!!!
Fabian


Angehängte Datei(en)
9.0 .vi  TestDeaktivierung.vi (Größe: 83,3 KB / Downloads: 321)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
20.06.2012, 13:21 (Dieser Beitrag wurde zuletzt bearbeitet: 20.06.2012 13:22 von fabqu.)
Beitrag #2

fabqu Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 84
Registriert seit: May 2011

9
2011
DE



RE: Frontpanel und Blockdiagramm zur Laufzeit anpassen
Ich habe nun - wie mir empfohlen wurde - die gesamte Kamerasteuerung in ein SubVI gesteckt und binde dieses nun dynamisch ein (siehe Screenshot im Anhang).
Das hat zwar den gewünschten Effekt, jedoch geht nun die Performance flöten, das Kamerabild wird nur noch etwa 3 Mal pro Sekunde erneuert.

Außerdem bleibt das alte Problem, dass ich noch nicht weiß, wie ich mehrere Ein- und Ausgabeobjekte im Frontpanel auf einmal ausgrauen und deaktivieren kann.

Bräuchte dringend Hilfe!
Danke euch


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.06.2012, 13:30
Beitrag #3

Clyde Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 71
Registriert seit: May 2012

2012
2009
EN


Sonstige
RE: Frontpanel und Blockdiagramm zur Laufzeit anpassen
Nur n Schuss ins Blaue:
Wird innerhalb des SubVIs die Kamera immer wieder neu initialisiert? Das würde den Performance-Verlust erklären. Initialisiere sie vor der While-Schleife.


Gruß
Clyde
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.06.2012, 13:57
Beitrag #4

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
RE: Frontpanel und Blockdiagramm zur Laufzeit anpassen
Pack' sie doch in ein Array (oder Cluster) und graue das aus.

Gruß Markus

(20.06.2012 13:21 )fabqu schrieb:  Außerdem bleibt das alte Problem, dass ich noch nicht weiß, wie ich mehrere Ein- und Ausgabeobjekte im Frontpanel auf einmal ausgrauen und deaktivieren kann.

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.06.2012, 13:57
Beitrag #5

NWOmason Offline
Simultator
*****


Beiträge: 1.078
Registriert seit: Dec 2010

2012.SP1
2008
EN

93047
Deutschland
RE: Frontpanel und Blockdiagramm zur Laufzeit anpassen

Akzeptierte Lösung

(20.06.2012 13:21 )fabqu schrieb:  Außerdem bleibt das alte Problem, dass ich noch nicht weiß, wie ich mehrere Ein- und Ausgabeobjekte im Frontpanel auf einmal ausgrauen und deaktivieren kann.

Du kannst z.B. die relevanten Referenzen in einem Array sammeln. Dann brauchst du die PropertyNode nur einmal:

   

Beste Grüße,
NWO

9 von 10 Stimmen in meinem Kopf sagen: Ich bin nicht verrückt,
die andere summt die Melodie von Tetris
.

NI schrieb:To use the abort button is like using a tree to stop a car!

(20.01.2012 11:02 )NWOmason schrieb:  Getting Started with NI LabVIEW Student Training
http://zone.ni.com/devzone/cda/tut/p/id/7466

Introduction to NI LabVIEW - Learn LabVIEW Basics
http://www.ni.com/gettingstarted/labviewbasics/

Top 5 der Empfehlungen für LabVIEW-Einsteiger
http://www.ni.com/newsletter/51735/de/
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.06.2012, 13:59 (Dieser Beitrag wurde zuletzt bearbeitet: 20.06.2012 13:59 von Y-P.)
Beitrag #6

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
RE: Frontpanel und Blockdiagramm zur Laufzeit anpassen
Yes..... Da war ich ein paar Millisekunden schneller (OK, ohne Bsp.). Big Grin

Gruß Markus

(20.06.2012 13:57 )NWOmason schrieb:  
(20.06.2012 13:21 )fabqu schrieb:  Außerdem bleibt das alte Problem, dass ich noch nicht weiß, wie ich mehrere Ein- und Ausgabeobjekte im Frontpanel auf einmal ausgrauen und deaktivieren kann.

Du kannst z.B. die relevanten Referenzen in einem Array sammeln. Dann brauchst du die PropertyNode nur einmal:



Beste Grüße,
NWO

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
20.06.2012, 14:03
Beitrag #7

fabqu Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 84
Registriert seit: May 2011

9
2011
DE



RE: Frontpanel und Blockdiagramm zur Laufzeit anpassen
Ah ja Big Grin Nicht schlecht! Danke!
Werde ich machen Wink

Zum Performance-Problem: Ich initialisiere die Cam nur beim ersten Start - siehe Screenshot. Beim ersten Aufruf wird in meiner While-Schleife im Hauptprogramm ein Schieberegister mit 0 initialisiert, was die Initialisierung der Cam im SubVi bewirkt. Danach wird das Schieberegister mit einer 1 besetzt.
Bin mir aber ehrlich gesagt nicht 100%ig sicher, ob das hinhaut.

Grüße


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.06.2012, 20:52
Beitrag #8

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Frontpanel und Blockdiagramm zur Laufzeit anpassen

Akzeptierte Lösung

Zwecks Performance, probier mal Referenz auf das entsprechende VI nur 1x (irgendwann beim Programmstart) zu öffnen, Schließen natürlich nur bei Programmende, und dann nur der SubVI-Aufruf an Hand der schon geöffneten Referenz.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.06.2012, 08:02
Beitrag #9

fabqu Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 84
Registriert seit: May 2011

9
2011
DE



RE: Frontpanel und Blockdiagramm zur Laufzeit anpassen
Oha, danke dir!
Das wars natürlich. Hab schon mal so nen Fehler gemacht beim Öffnen/Initialisieren einer COM-Schnittstelle - und da sagt man, aus Fehlern würde man lernen Big Grin

Danke dir! Fehler behoben, alle Probleme beseitigt!

Danke euch allen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.06.2012, 21:06
Beitrag #10

Kiesch Offline
LVF-Stammgast
***


Beiträge: 412
Registriert seit: Mar 2009

2019, 2018, 2016
2009
DE

04519
Deutschland
RE: Frontpanel und Blockdiagramm zur Laufzeit anpassen
mal noch ne Verständnisfrage / Anregung zu weiterer Optimierung:

Wäre es nicht nur die Referenz auf das SubVI sondern das ganze SubVI nur einmal aufzurufen und dann vom Hauptprogram Fernzusteuerung? (über Queues o.ä.)

Weis nicht ob das bei Verwendung von IMAQdx wirklich sinnvoll ist, aber ich meine da wird ja für das Image eine Referenz verwendet, so lange man die hat müsste die also auch im Hauptprogram das Bild aktualisieren (ohne weiteren Aufwand)?

So würde man sich zumindest auch noch das ständige neu Initialisieren der Cam im SubVI sparen.

Zitat:Märchen und Geschichten werden erzählt am Lagerfeuer, technischen Fakten werden mitgeteilt (oder so). (Genauso wie Software nicht auf einem Server "herumliegt", die ist dort installiert.)
*Zitat: IchSelbst*
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Ein Blockdiagramm-Anzeigeelement im Frontpanel mehrmals verwenden Thom.A.s 10 12.291 01.04.2014 15:27
Letzter Beitrag: Thom.A.s

Gehe zu: