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 

zu viele Übergabevariablen/zu wenig Connectors



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!

26.06.2012, 08:19
Beitrag #11

dbausdd Offline
LVF-Grünschnabel
*


Beiträge: 38
Registriert seit: Feb 2005

7.1
2004
DE_EN

01099
Deutschland
RE: zu viele Übergabevariablen/zu wenig Connectors
(25.06.2012 09:39 )Lucki schrieb:  Die Verwendung von globalen Variablen in solchen Fällen ist der Königsweg, um das Drahtwirrwar von und zu SubVIs entscheidend zu beseitigen und die Übersichtlichkeit eines VIs zu verbessern.
Danke für den Hinweis, auf die Aussage werde ich ggf. mal drauf zurückgreifen.

Zitat:Hallo Lucki,

ich habe nicht vor der Verwendung von subVIs in Events generell gewarnt. Ich bezog mich auf die Aussage:

Zitat:in den Sub-VIs brauche ich teilweise dessen Referenzen, damit während das Sub-VI noch läuft das Frontpanel des Haupt-VIs aktuallisiert wird.
Ergo: ein subVI, welches die Abarbeitung eines Event-Cases unnötig verzögert...
Was ich hier so zwischen den Zeilen rauslese scheine ich da noch ein zusätzliches generelles Strukturproblem meines Programms zu haben. Warum ist es schlimm, wenn ein SubVI in einem Event-Case eine gewisse Zeit benötigt? Bei mir ist das definitiv so, die Sub-VIs benötigen deutlich mehr als die 2 sec. In der Zeit finden Messungen, Berechnungen usw. statt, es ist auch gar nicht geplant, dass neue Events in dieser Zeit zugelassen sind. Im Gegenteil, in den SubVIs läuft eine Sequenz, die unter keinen Umständen irgendwie unterbrochen werden sollte.
Was wäre eine gute Alternative, sollte dies so wie ich es implementiert habe wirklich ein Problem sein?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
28.06.2012, 09:34
Beitrag #12

dbausdd Offline
LVF-Grünschnabel
*


Beiträge: 38
Registriert seit: Feb 2005

7.1
2004
DE_EN

01099
Deutschland
RE: zu viele Übergabevariablen/zu wenig Connectors
(26.06.2012 08:19 )dbausdd schrieb:  
Zitat:Hallo Lucki,

ich habe nicht vor der Verwendung von subVIs in Events generell gewarnt. Ich bezog mich auf die Aussage:

Zitat:in den Sub-VIs brauche ich teilweise dessen Referenzen, damit während das Sub-VI noch läuft das Frontpanel des Haupt-VIs aktuallisiert wird.
Ergo: ein subVI, welches die Abarbeitung eines Event-Cases unnötig verzögert...
Was ich hier so zwischen den Zeilen rauslese scheine ich da noch ein zusätzliches generelles Strukturproblem meines Programms zu haben. Warum ist es schlimm, wenn ein SubVI in einem Event-Case eine gewisse Zeit benötigt? Bei mir ist das definitiv so, die Sub-VIs benötigen deutlich mehr als die 2 sec. In der Zeit finden Messungen, Berechnungen usw. statt, es ist auch gar nicht geplant, dass neue Events in dieser Zeit zugelassen sind. Im Gegenteil, in den SubVIs läuft eine Sequenz, die unter keinen Umständen irgendwie unterbrochen werden sollte.
Was wäre eine gute Alternative, sollte dies so wie ich es implementiert habe wirklich ein Problem sein?
Gibt es hierzu keinen Lösungsvorschlag?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.06.2012, 09:42 (Dieser Beitrag wurde zuletzt bearbeitet: 28.06.2012 09:44 von GerdW.)
Beitrag #13

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: zu viele Übergabevariablen/zu wenig Connectors
Hallo db,

Zitat:es ist auch gar nicht geplant, dass neue Events in dieser Zeit zugelassen sind.
Man kann leider nicht sehen, wie du die Events definiert hast. LabVIEW merkt sich jedenfalls UI-Events, auch wenn das FP gerade blockiert ist. Und es kann ziemlich störend sein, wenn mein Programm nicht sofort (in irgendeiner Art und Weise) auf FP-Events reagiert, weil es gerade mit dem Abarbeiten eines subVI beschäftigt ist. Wenn das Event dann fertig ist, wird plötzlich ein anderes Event bearbeitet, welches man schon wesentlich früher generiert hatte und worauf das Programm nun Sekunden später erst reagiert. Sowas würde mich als User sehr stören...

Zitat:Was wäre eine gute Alternative
Eine saubere Statemachine, event-driven, Befehlsweitergabe per Queue...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.06.2012, 11:00 (Dieser Beitrag wurde zuletzt bearbeitet: 28.06.2012 11:01 von Lucki.)
Beitrag #14

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: zu viele Übergabevariablen/zu wenig Connectors
Der direkte Löungsvorschlag ist: Wenn jemend vor Referenzen, Eigenschaftsknoten u. dgl. warnt, weil dann das Programm verlangsamt wird, nie vergessen die Enschränkung hinzuzufügen: Falls das Programm überhaupt zeitkritisch ist, und wenn ja, ob es so zeitkritisch ist, daß diese paar Mikrosekunden überhaupt eine Rolle spielen.
Wenn das nicht der Fall ist, dann gebe ich jedenfalls der Klarheit und übersichtlichkeit des Codes den Vorzug, auch wenn das Programm dadurch (- für den Benutzer unmerklich -) langsamer wird.
Es ist bekanntlich die wichtigste Eigenschaft deutscher Mentalität, überall Gefahren lauern zu sehen, vor allem Angst zu haben und vor allem und jedem zu warnen. Da bleibt natürlich auch ein deutsches Labview-Forum nicht außen vor.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.06.2012, 12:41
Beitrag #15

dbausdd Offline
LVF-Grünschnabel
*


Beiträge: 38
Registriert seit: Feb 2005

7.1
2004
DE_EN

01099
Deutschland
RE: zu viele Übergabevariablen/zu wenig Connectors
Ich gebe euch beiden Recht!
Wenn ich ein Frontpanel-Button klicke und nix passiert, bzw. erst zeitverzögert, dann nervt das nur.
Andererseits ist mein Programm nicht zeitkritisch, daher sind Verzögerungen kein Problem.

Letztendlich nutze ich eine State-Machine, sie ist event-driven (siehe Bild), nur Befehle sammel ich nicht per Queue. Die allermeisten meiner Ereignisse laufen nach Frontpanel-Aktivitäten ab, z.B. wenn bestimmte Buttons gedrückt wurden. In dem gezeigten Bild ist das auch so, nach einem Knopfdruck läuft eine Messung ab. Und diese Messung soll wie auch schon beschrieben weder unterbrochen werden, noch sollen in der Zeit andere Einstellungen vornehmbar sein. Im Gegenteil, damit die Messung auch so läuft wie ich das will, darf gar nichts anderes im Programm in der Zeit passieren. Ich habe aber zugegebenermaßen noch nicht ausprobiert, einen anderen Knopf in der Zeit zu drücken, so weiß ich gar nicht was mit dem dahinterliegenden Event passiert (ignorieren oder später ausführen).
Unterm Strich ist die von mir genutzte Architektur unter den Vorausetzungen gar nicht so falsch, zumindest glaube ich das bis heute.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
Question (viele) Bedienelemente deaktivieren / aktivieren F.Bi 3 5.297 16.08.2018 12:59
Letzter Beitrag: GerdW
  Viele Variablen in SubVI nutzen chrisw 3 3.799 02.12.2016 11:35
Letzter Beitrag: GerdW
  Ideeansatz gesucht: Viele Bedienelemente tuhpon 3 4.405 02.11.2015 13:58
Letzter Beitrag: Lucki
  Case vs. Event ...und viele Buttons! Emittance 13 15.372 01.07.2011 16:59
Letzter Beitrag: Emittance
  zu viele Leitungen im BD jak888 8 5.969 23.02.2011 16:43
Letzter Beitrag: Lucki
  Array initiaslisiert zu viele Felder Lyson 3 3.937 29.10.2010 14:00
Letzter Beitrag: Lyson

Gehe zu: