LabVIEWForum.de
Berechnung im extra Fenster - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Berechnung im extra Fenster (/Thread-Berechnung-im-extra-Fenster)



Berechnung im extra Fenster - Günni1977 - 18.12.2013 12:15

Hallo Leute,

ich brauche mal einen Denkanstoß/Tipp/Hinweis/Hilfe.

Folgendes Beispiel:
- ich habe ein VI mit "A", "B" und "C" und einen Button "Rechne"
- A, B und C sind deaktiviert und ausgegraut
- beim Dücken auf "Rechne" soll sich ein SubVI in einem eigenen Fenster öffnen
- im SubVI werden A und B aus den HauptVI übernommen
- im SubVI sind 2 Buttons "OK" und "Abbrechen", sowie Anzeigen für A, B und C
- im SubVI kann ich A und B ändern und es wird der neue Wert für C angezeigt
- im SubVi "OK" drücken -> neu eingegeben Werte A, B und berechneter Wert C werden ans HauptVI übergeben; SubVI schließt
- im SubVI "Abbrechen" drücken -> keine neuen Werte (bzw. die ursprünglichen Werte?) werden ans HauptVI übergeben; SubVI schließt

Sinn der Aktion:
Ich will einen Gradienten berechnen. Eine "Vorberechnung" soll in einem extra Fenster erfolgen und der User soll anhand des Ergebnisses entscheiden, ob die Werte übernommen werden oder er die Berechnung abbricht.

So ungefähr.
Vielleicht gibt es auch andere Ansätze/Lösungswege als mein beschriebener.
Ich weiß nur nicht, in wie weit ich mit zusätzlichen Variablen neben A, B, C arbeiten soll, oder mit lokalen Variablen von A, B, C,...???


RE: Berechnung im extra Fenster - GerdW - 18.12.2013 13:05

Hallo Günni,

Zitat:beim Dücken auf "Rechne" soll sich ein SubVI in einem eigenen Fenster öffnen
Mit einem (Event-)Case ein subVI aufrufen. Das subVI so konfigurieren, dass sich das FP bei Aufruf öffnet...

Zitat:im SubVI werden A und B aus den HauptVI übernommen
Dafür ist das ConnectorPane da: das subVI im MainVI dann ordentlich verdrahten...

Zitat:im SubVI sind 2 Buttons "OK" und "Abbrechen", sowie Anzeigen für A, B und C
im SubVI kann ich A und B ändern und es wird der neue Wert für C angezeigt
Önk!
Wenn du für ABC "Anzeigen" nimmst, dann kannst du deren Werte nicht ändern. Du musst Bedienelemente/Controls verwenden. Aber das hatten wir in einem älteren Thread doch schon mal geklärt...

Zitat:im SubVi "OK" drücken -> neu eingegeben Werte A, B und berechneter Wert C werden ans HauptVI übergeben; SubVI schließt
Wie schon gesagt: ConnectorPane entsprechend herrichten. SubVI so konfigurieren, dass sich das FP nach Beenden des VIs auch wieder schließt...

Zitat:im SubVI "Abbrechen" drücken -> keine neuen Werte (bzw. die ursprünglichen Werte?) werden ans HauptVI übergeben; SubVI schließt
Du musst also die "Abbrechen"-Info ans MainVI übergeben, um dort eine Case-Struktur damit zu steuern:
Code:
IF Abbrechen THEN
  nichts tun
ELSE
  Werte für ABC übernehmen
ENDIF

Günni: meinst du nicht auch, es wäre sinnvoll, schon etwas Code vorzubereiten und hier anzuhängen? Und vielleicht auf deinen älteren Thread zu verweisen? Bis dahin solltest du die LabVIEW-Basics (s. meine Signatur) durchgehen, die verraten dir so ziemlich alles, was du zur Lösung deiner Aufgabe benötigst...
Hat sich ggü. dem letzten Thread irgendwas geändert, was einen neuen Thread erforderlich macht?


RE: Berechnung im extra Fenster - Günni1977 - 18.12.2013 13:20

(18.12.2013 13:05 )GerdW schrieb:  Günni: meinst du nicht auch, es wäre sinnvoll, schon etwas Code vorzubereiten und hier anzuhängen? Und vielleicht auf deinen älteren Thread zu verweisen? Bis dahin solltest du die LabVIEW-Basics (s. meine Signatur) durchgehen, die verraten dir so ziemlich alles, was du zur Lösung deiner Aufgabe benötigst...
Hat sich ggü. dem letzten Thread irgendwas geändert, was einen neuen Thread erforderlich macht?

Da hast du sicher Recht mit dem Code. Eigentlich versuche ich immer alles selbst zu machen. Das endet, wenn es nicht klappt, meist im wilden Erstellen und Löschen von Code.
Aber ich reiße mich nächstes mal zusammen und präsentiere was. Angel

Die Aufgabe hat sich nicht wirklich geändert. Es ist eher so, dass ich so Ideen und Vorstellungen habe, wie man sowas noch lösen kann.
Zum einen kann ich durch so etwas dazu lernen, neue Wege und Lösungsansätze kennen lernen. Vor allem Labview besser verstehen. Top1
Hab z.B. von diesem ConnectorPane noch nie was gesehen und kann es mir jetzt mal anschaun.
Zum anderen entwickel ich vielleicht funktionale oder optische Dinge, die ich dem Kunden vorschlagen kann.

Ist also hier alles ne Mischung aus Selbststudium, Selbstentfaltung und Kundenzufriedenheit.

Hier mal meine ersten (wüsten) Versuche.

Bitte einfach klar und deutlich ansprechen, was daran Schrott ist. Box


RE: Berechnung im extra Fenster - GerdW - 18.12.2013 13:28

Hallo Günni,

Zitat:Hab z.B. von diesem ConnectorPane noch nie was gesehen und kann es mir jetzt mal anschaun.
LabVIEW-Hilfe:
-> Introduction to Virtual Instruments
-> Icon and Connector Pane
-> Using and Customizing VIs and SubVIs

Rtmfx Big Grin

Edit:
Dein subVI würde ich sehr einfach so machen:
[attachment=47834]
(Ja, man könnte eine Eventstruktur nutzen. Hier geht es aber ums Funktionsprinzip..)
1. Der Nutzer sollte immer ein Rechenergebnis sehen, nicht nur, wenn er OK klickt...
2. Die Entscheidung, ob das Rechenergebnis und die neuen Werte im MainVI übernommen werden, wird auch im MainVI (anhand "take new value") gemacht...
3. Zum ConnectorPane (welches du doch schon benutzt): Man sollte Werte, die im subVI geändert werden, auch jeweils "durchschleifen". D.h. wenn du oben links den Eingang für "a" hast, sollte der zugehörige Ausgang "a_out" rechts oben sein usw.
- Buttons (wie "Rechnen") sollten möglichst in ihrem ValueChange-Eventcase liegen, damit das FP ordentlich gezeichnet wird...


RE: Berechnung im extra Fenster - Günni1977 - 18.12.2013 14:16

(18.12.2013 13:28 )GerdW schrieb:  3. Zum ConnectorPane (welches du doch schon benutzt): Man sollte Werte, die im subVI geändert werden, auch jeweils "durchschleifen". D.h. wenn du oben links den Eingang für "a" hast, sollte der zugehörige Ausgang "a_out" rechts oben sein usw.
- Buttons (wie "Rechnen") sollten möglichst in ihrem ValueChange-Eventcase liegen, damit das FP ordentlich gezeichnet wird...

Danke! Wusste nicht, dass das so heißt. Big Grin

Wird langsam dank deiner Hilfe.
Noch eine Frage: Wenn ich "Rechnen" im HauptVI drücke, wird das SubVI aufgerufen.
Was passiert mit der EventStruktur im HauptVI?
Wartet die auf das Ende des SubVI? Können während das SubVI offen ist, eventuell andere Events behandelt werden?


RE: Berechnung im extra Fenster - Trinitatis - 18.12.2013 19:26

(18.12.2013 14:16 )Günni1977 schrieb:  Wenn ich "Rechnen" im HauptVI drücke, wird das SubVI aufgerufen.
Was passiert mit der EventStruktur im HauptVI?
Wartet die auf das Ende des SubVI? Können während das SubVI offen ist, eventuell andere Events behandelt werden?

Hallo Günni,

die Eventstruktur wartet, bis die Ausführung des Sub-VIs abgeschlossen ist, es sei denn, du machst den Aufruf dynamisch. Paralleler Code im selben Eventrahmen wird allerdings parallel zur Laufzeit des SubVIs ausgeführt.
Während das SubVI offen ist (abgearbeitet wird) können keine Events derselben Eventstruktur abgearbeitet werden. Das geht nur in einer parallelen Eventstruktur, was man nicht macht, oder über eine parallele Struktur, die nur die Events sammelt, während diese in einer anderen Schleife abgearbeitet werden.


Gruß, Marko