06.09.2016, 14:45
Beitrag #1
|
|
|
07.09.2016, 06:37
Beitrag #2
|
|
|
07.09.2016, 09:10
Beitrag #3
|
IchSelbst
LVF-Guru
Beiträge: 3.697
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
RE: Subpanel und Splitter Pane
In einer Event-Struktur gehört nichts gemacht, was eine undefiniert lange Zeitspanne in Anspruch nehmen könnte. Die Zeitspanne, die der Event-Code verbrauchen darf, sollte gegen Null gehen. Es ist also per se schlecht, im Event den SubVI-Aufruf mit "Warten bis beendet = true" auszuführen.
Man kann schon im Event das SubVI starten, dann aber mit "Warten bis beenden = false" - was selbstverständlich eine Anpassung des Datenflusses der SubVI-Referenz bedeutet.
Oder man schickt eben eine Message an eine parallele While-Schleife, die sich alleine nur um die Aufrufe der SubVIs in SubPanels kümmert.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
|
|
|
07.09.2016, 09:15
Beitrag #4
|
Morpheus
LVF-Gelegenheitsschreiber
Beiträge: 205
Registriert seit: Jul 2009
2019 SP1, 2020 SP1
2005
EN
8000
Schweiz
|
RE: Subpanel und Splitter Pane
(07.09.2016 09:10 )IchSelbst schrieb: In einer Event-Struktur gehört nichts gemacht, was eine undefiniert lange Zeitspanne in Anspruch nehmen könnte. Die Zeitspanne, die der Event-Code verbrauchen darf, sollte gegen Null gehen.
Dem kann ich nur beipflichten.
|
|
|
07.09.2016, 10:08
Beitrag #5
|
|
|
07.09.2016, 11:03
Beitrag #6
|
IchSelbst
LVF-Guru
Beiträge: 3.697
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
RE: Subpanel und Splitter Pane
(07.09.2016 10:08 )GT123 schrieb: "Das Tab Control welches hinter dem Subpanel liegt verschiebt sich wenn das subvi im subpanel geladen ist und das main.vi wird in der Grösse verkleinert wird (z.B. ganz schmal) und dann wieder maximiert wird und das Subvi beendet wird."
Ich kann das nicht nachvollziehen - weder mit 2014(32Bit) noch mit 2015(32Bit) (Win7/64-i7/6500)
Zitat:Weshalb verschiebt u. ändert sich Grösse entweder vom Tab Control oder vom Subvi?
Ganz selten kommt es vor, dass das SubPanel verschoben ist - die Sache ist also nicht wiederholbar nachvollziehbar.
Ich sag mal so:
Es ist mir schon immer negativ aufgefallen, dass LabVIEW nicht gerade die beste Runtime für das Refreshment der Anzeigeelemente besitzt. Ich verwende daher nur noch nicht-scalierbare Fenster und Graphiken und Arrays in Standard-Ausführung.
LabVIEW ist ja auch nicht dazu da, Anzeigeelemente in jeder erdenklichen Situation richtig darzustellen. Primäre Aufgabe ist das Sampeln (und Ausgeben) von Daten mittels NI-Karten sowie das Handling dieser Massendaten - aber das können sie richtig gut ...
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
|
|
|
07.09.2016, 11:04
Beitrag #7
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
RE: Subpanel und Splitter Pane
Es ist IMHO keine gute Idee, ein VI in ein Subpanel hineinzuladen, wenn das Frontpanel auf Grund der Menge der Elemente und enthaltenen Subpanels (inkl. irgendwelcher Scaling-Anpassungen) dann gar nicht reinpasst. Da muss dann irgendwas schief gehen und sich was verschieben. Das mit dem Autoscaling hat leider seine Grenzen in LabVIEW, in der Regel klappt das nur sauber mit 1 Element pro Pane.
Leg mal im ersten Schritt eine sinnvolle Minimalgröße für das Main-VI fest (unter Rechtsklick auf Icon -> VI Properties -> Window Size).
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.
|
|
|
07.09.2016, 11:18
(Dieser Beitrag wurde zuletzt bearbeitet: 07.09.2016 13:08 von GT123.)
Beitrag #8
|
|
|
07.09.2016, 20:13
|
IchSelbst
LVF-Guru
Beiträge: 3.697
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
RE: Subpanel und Splitter Pane
(07.09.2016 14:03 )GT123 schrieb: ... eine Applikation in der aktuell im main.vi das TabControl liegt mit allen Einstellungen zu einer Testablauf.
Der Testablauf wird im Subpanel eingeblendet (eben aderes vi), auch andere Vis können über das Subpanel eingeblendet warden ohne das x-Panel dem User geöffnet warden. Und diese Subpanel wird bei Tesablauf eingeblendet, ansosnten sieht man das Tab Control.
Wenn ich das alles richtig verstanden habe - und du es auch so meinst, wie ich es verstanden habe - dann muss ich sagen: Ein guter Ansatz! Dieser Ansatz fördert zwei wichtige Programmierparadigmen: Code-Minimierung (im Main-VI, das das Subpanel enthält) und Datenkapselung (Daten sind im Main nicht verfügbar, obwohl sie dort angezeigt werden).
Zitat:Nun ist es aber so, dass Anlagenrechner 4:3 u. per Remote 16:9... d.h. verschieden Auflösungen vorliegen. Es soll jedoch immer sinnvoll angpasst warden, z.B. Graphen will man ja immer gross haben...
Streiche dieses Feature und mach das Fenster so groß, dass es in beide Auflösungen passt. Auch ich habe früher mal gedacht, dass ich das Frontpanel schön haben will. Für schöne Fenster ist LabVIEW aber (immer noch) nicht geeignet. Schöne Fenster bedeuten nur viel, nicht gerechtfertigten Programmieraufwand.
Zitat:Ich kenne diese "fit to pane" Thematik von java was ich dort sehr angenehm u. einfach finde und auch sehr stabil läuft.
Solche Sachen und viele, viele mehr gab es vor zwanzig Jahren schon in Delphi - zu Zeiten als anderen Pogrammiersprachen noch in den Kinderschuhen steckten. - Ich schweife schon wieder ab: Du kannst ja mal versuchen in Java Daten zu sampeln ...
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
|
|
|
| |