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 

Eventstruktur im SubVI - Datenaustausch



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!

29.06.2021, 14:51
Beitrag #1

TpunktN Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 217
Registriert seit: Jul 2011

2021
2011
EN

70***
Deutschland
Eventstruktur im SubVI - Datenaustausch
Servus zusammen,

ich habe mir mal die Eventstruktur Warnungen durchgelesen, mit den Warnungen von NI.

Hintergrund ist, ich habe mir ein kleines VI geschrieben, welches Einstellwerte speichert, editierbar, und laden kann.

18.0 .vi  Listbox RWG.vi (Größe: 20,94 KB / Downloads: 147)
(Beschreibung weiter unten)
jetzt will ich aber nicht die vorhandene Eventstruktur bearbeiten nur um das einzufügen, habe aber mal gehört, 2 Eventstrukturen sind doof!
Soweit ich das jetzt verstanden habe, kann ich das machen, solange jede Eventstruktur eine eigene Whilestruktur bekommt.

Weitergedacht wäre das voll cool als SubVI, einfach als separates Fenster, das bei Bedarf geöffnet werden kann. (Klar, dann muss ich es noch anpassen)
Kann ich dieses VI auch als SubVI laufen lassen um die Funktion dahinter zu verwenden oder ist davon abzuraten?
Wie übergebe ich die aktuellen Werte an, bzw. vom SubVI an das eigentliche Programm?
Im Prinzip ist das im Hauptprogramm nur eine Sollwertvorgabe für einen Regler, den würde ich gerne normal steuern können, den aktuellen Wert im SubVI anzeigen und bei Bedarf in die Liste übernehmen. Wenn ein Wert aus der Liste (durch doppelklicken) ausgewählt wird, soll der dann den Wert im Hauptprogramm ersetzen (einmalig).

Bin für jede Hilfe, selbst Schlagworte für Google, dankbar.
Grüße Timo

Interessant fand ich auch, Filterereignisse (die mit '?') werden nacheinander abgearbeitet, sollten mehrere Eventstrukturen das abfangen.
So ganz habe ich aber nicht verstanden was bei Meldeereignissen passiert, die erste Eventstruktur, die es abarbeitet entfernt es auch aus der Eventqueue? D.h. alle anderen arbeiten das nicht oder gleichzeitig ab?

Justieren ist dem Gerät sagen was es anzeigen soll, kalibrieren ist die Kontrolle dieser Anzeige. Eichen ist ein längerer Prüfprozess und darf nur das Eichamt!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
30.06.2021, 11:21
Beitrag #2

Zelos Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: May 2021

2019 / 2020
2009
DE_EN

72xxx
Deutschland
RE: Eventstruktur im SubVI - Datenaustausch
Hallo Timo,

Generell sehe ich kein Problem mehrere Eventstrukturen zu benutzen. Es muss halt klar sein, dass die Struktur nur ein einziges mal ausgeführt wird, solang es in der umgebenden Schleife keinen neuen Durchlauf gibt, was im Regelfall heißt, dass eine Eventstruktur einer eigenen Schleife bedarf.

Sofern ich das korrekt verstanden habe, willst du das angehängte VI in einen Bereits bestehenden Code einfügen richtig?
Die Daten kannst du im einfachsten Fall einfach über die Definition eines Daten Ein- und Ausgangsclusters im Anschlussfeld des Sub VIs definieren, sodass du die Daten einfach in deinem HauptVI anschließen kannst. Vergiss dabei nicht zu konfigurieren, dass das FP bei Aufruf geladen und nach der Abarbeitung geschlossen wird. Dabei ist natürlich zu beachten, dass der Teil deines Haupt VI, welcher den Aufruf des SubVIs beinhaltet, für die Dauer der Ausführung des SubVIs blockiert ist. und erst nach dem Schließen des VI's die Ausführung und Datenübernahme aus dem SubVI erfolgt.

In deinem konkreten Fall würde das heißen, dass ein Doppelklickevent die Schleife des SubVI beenden (und es damit schließen) würde und den Wert des angeklickten Elements dann auf einen Ausgang im Anschlussfeld legt, den du dann einfach im Hauptprogramm abarbeiten kannst.

Gruß Patrick
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.06.2021, 13:18 (Dieser Beitrag wurde zuletzt bearbeitet: 30.06.2021 13:21 von TpunktN.)
Beitrag #3

TpunktN Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 217
Registriert seit: Jul 2011

2021
2011
EN

70***
Deutschland
RE: Eventstruktur im SubVI - Datenaustausch
(30.06.2021 11:21 )Zelos schrieb:  Generell sehe ich kein Problem mehrere Eventstrukturen zu benutzen. ... einer eigenen Schleife bedarf.
So habe ich das auch verstanden/rausgelesen, finde aber die Texte teilweise wirr von NI..

Zitat:Sofern ich das korrekt verstanden habe, willst du das angehängte VI in einen Bereits bestehenden Code einfügen richtig?
Jup, Hauptsache es gibt die Funktion.
Zitat:...In deinem konkreten Fall würde das heißen, dass ein Doppelklickevent die Schleife des SubVI beenden (und es damit schließen) würde und den Wert des angeklickten Elements dann auf einen Ausgang im Anschlussfeld legt, den du dann einfach im Hauptprogramm abarbeiten kannst.
Nee, das ist nicht wirklich eine nützliche Funktion Big Grin Erste Idee war die Bedienelemente in das vorhandene Programm einzupflegen/reinkopieren. Da mir das jetzt aber so gut gefällt, wird es wohl ein SubVI werden.
Die Einstellung: Window behaviour - Floating macht das VI und das Hauptfenster klickbar (oder ist hier etwas anderes an diesem Feature schuld?) und erfüllt die Weiter gedachte Idee von mir.

Ich hatte ein wenig mit Referenzen rumgespielt, so die Basics..
Anbei meine aktuelle Version mit einem Test VI um das VI (jetzt mit Referenz) zu testen. Es funktioniert ganz gut, auch das Verschieben habe ich dank Re: move window without title bar hinbekommen (Ist sinnlos, aber Übung ist Übung!)
Jetzt würde ich gerne das VI beenden, wenn das Haupt-VI schließt, muss ich das dann anders aufrufen? Das VI hat keine wichtige Funktion, kann man das "abschließen"? Ich rufe das ja falsch auf, muss ich das immer offen haben und nur zeigen/verstecken?
Ich habe hier einen 13 Jahre alten Beitrag gefunden, gibt es evtl. mit den neuen LabVIEW Versionen elegantere Lösungen? FGV (geht das im Event?)? Sonst würde ich die Varriante bevorzugen, über das X das Fenster verstecken und vom Main aus wieder anzeigen lassen.

Solangsam sieht das aus wie ein (D)QMH-Modul in meinem Kopf.. Sad

Grüße Timo


Angehängte Datei(en)
18.0 .vi  Listbox RWG.vi (Größe: 40,98 KB / Downloads: 133)

18.0 .vi  Test VI.vi (Größe: 19,4 KB / Downloads: 143)

Justieren ist dem Gerät sagen was es anzeigen soll, kalibrieren ist die Kontrolle dieser Anzeige. Eichen ist ein längerer Prüfprozess und darf nur das Eichamt!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.06.2021, 14:55
Beitrag #4

Zelos Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: May 2021

2019 / 2020
2009
DE_EN

72xxx
Deutschland
RE: Eventstruktur im SubVI - Datenaustausch
Hallo Timo,

ich hatte irgendwie gedacht du willst den Wert vom SubVI ins HauptVI übernehmen, aber du übernimmst ja jetzt einen Wert vom HauptVI ins SubVI. Das sollte so funktionieren.

Zum Beenden des SubVIs wenn du das Haupt VI beendest gibt es 2 Möglichkeiten:
  1. Du generierst ein Benutzerevent beim Stop des HauptVIs und wertest das im SubVI aus. - Das wäre die saubere Lösung.
  2. Du setzt beim Beenden des VI's eine boolesche globale Variable und wertest diese im Timeout der Eventstruktur im SubVI aus. Dabei solltest du nicht vergessen den Timeout der Event Struktur im SubVI auf 1000ms oder sowas zu setzen und die globale Variable beim Start des Programms zurückzusetzen. - Das ist die schnelle Lösung.


Gruß, Patrick
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.07.2021, 06:49
Beitrag #5

TpunktN Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 217
Registriert seit: Jul 2011

2021
2011
EN

70***
Deutschland
RE: Eventstruktur im SubVI - Datenaustausch
(30.06.2021 14:55 )Zelos schrieb:  ich hatte irgendwie gedacht du willst den Wert vom SubVI ins HauptVI übernehmen, aber du übernimmst ja jetzt einen Wert vom HauptVI ins SubVI. Das sollte so funktionieren.
Ich will beides, so wie es jetzt auch implementiert ist, nur im SubVI lässt es sich aktuell niciht manuell anpassen, was jetzt auch nicht schlimm ist, mach ich ne Anzeige drauß, man kann den Wert ja editieren.

Zitat:Du generierst ein Benutzerevent beim Stop des HauptVIs und wertest das im SubVI aus. - Das wäre die saubere Lösung.
So hatte ich mir das auch gedacht, gleich wieder was zu lernen und es ist dann eine saubere Lösung. So kann ich das SubVI dann auch aus-/einblenden, oder?

Danke für die Hilfe,
Timo

Justieren ist dem Gerät sagen was es anzeigen soll, kalibrieren ist die Kontrolle dieser Anzeige. Eichen ist ein längerer Prüfprozess und darf nur das Eichamt!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.07.2021, 07:15
Beitrag #6

Zelos Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: May 2021

2019 / 2020
2009
DE_EN

72xxx
Deutschland
RE: Eventstruktur im SubVI - Datenaustausch
Hallo Timo,

(01.07.2021 06:49 )TpunktN schrieb:  Ich will beides, so wie es jetzt auch implementiert ist, nur im SubVI lässt es sich aktuell niciht manuell anpassen, was jetzt auch nicht schlimm ist, mach ich ne Anzeige drauß, man kann den Wert ja editieren
Wölltest du doch beides Also eingeben und auslesen, müsstest du von der von der permanenten Referenz weg und die Daten dann bei Änderung mit einer Queue bzw einem Melder übergeben denke ich.

(01.07.2021 06:49 )TpunktN schrieb:  So hatte ich mir das auch gedacht, gleich wieder was zu lernen und es ist dann eine saubere Lösung. So kann ich das SubVI dann auch aus-/einblenden, oder?
Ja, das wäre eine Möglichkeit, das du ein 2. Benutzerereignis machst. Eine andere (vermutlich einfachere) Möglichkeit wäre eine statische VI Referenz im Haupt VI zu verwenden und die entsprechenden Eigenschaftsknoten (VI Transparenz) oder Methodenknoten (FP.Open; FP.Close) daran anzuschließen.

Gruß, Patrick

Patrick
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
  Datenaustausch über Cluster in zwei While-Schleifen creo_123 5 4.522 04.03.2022 09:36
Letzter Beitrag: Kiesch
  Kommunikation/Datenaustausch MainVI und SubVI THenry14 13 9.202 09.03.2018 08:46
Letzter Beitrag: GerdW
  Datenaustausch VisualBasic / LabView goetzi 4 4.419 02.03.2016 09:32
Letzter Beitrag: goetzi
  Eventstruktur in Sub VI Ingo2 1 3.576 20.07.2015 13:27
Letzter Beitrag: GerdW
  Eventstruktur mit 2 Events Großer_Stein 3 4.209 11.06.2015 10:11
Letzter Beitrag: Großer_Stein
  Eventstruktur lola2014 12 9.806 26.01.2015 16:28
Letzter Beitrag: GerdW

Gehe zu: