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 

Oberfläche von SubVI in Main Programm einbinden



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!

15.11.2016, 17:04
Beitrag #1

sara2211 Offline
LVF-Grünschnabel
*


Beiträge: 23
Registriert seit: Nov 2016

2012
2016
DE



Oberfläche von SubVI in Main Programm einbinden
Hallo Leute,

dank meiner Bachelorthesis komme ich jetzt auch zu der Ehre mich in LabView einzuarbeiten (LabView Version 2012). Dieses Forum wurde jetzt schon für viele Probleme zu Rate gezogen, jetzt bin ich das erste Mal an einer Stelle wo ich nicht mehr weiter komme (und somit meinen ersten Beitrag schreiben darf).

Zu meiner Problematik:
Das Ziel meiner Thesis ist es, einen Testautomaten zur Überprüfung von Netzteilen zu entwickeln. Der Benutzer soll über eine Oberfläche verschiedene Einstellungen auswählen können, den Test starten und am Ende soll protokolliert werden welchen Status das Netzteil erhält (Pass/Fail).
Ich hänge gerade an der Erstellung der Benutzeroberfläche. Ich habe eine Oberfläche konstruiert, die auch so funktioniert wie sie soll. Der Benutzer kann alle Einstellungen vornehmen und die Angaben sollen jetzt weiterhin im Programm verarbeitet werden. Die Steuerung der Oberfläche habe ich nun in ein SubVI gepackt (Bedienungsauswahl.vi), sodass später mein Hauptprogramm (Main.vi) übersichtlicher wird. Die Übertragung der Elemente von der SubVI habe ich (nach meinem Glauben zumindest) in das Main Programm geschafft, allerdings stehe ich jetzt vor dem Problem, dass beim Ausführen irgendwie die Funktionen des SubVIs nicht richtig ausgeführt werden (bei alleiniger Benutzung der SubVI funktioniert alles fehlerlos).

Mein Problem an einem konkreten Beispiel beschrieben:
Das Dropdownmenü ist im Status <Lastart auswählen>, somit sind alle Elemente deaktiviert und ausgegraut. Wähle ich im Dropdownmenü jetzt "Leerlauf", sollte das Dropdownmenü <Netzteil auswählen> aktiviert und bedienbar sein. Beim alleinigen Ausführen von Bedinungsauswahl.vi funktioniert dies, über Main.vi mit dem SubVI welches Bedingungsauswahl.vi beinhaltet funktioniert dieses nicht.
Wenn ich meinen Fehler versuche über die Highlight-Funktion zu entdecken, erkenne ich, dass eigentlich der Status von allen Elementen richtig übertragen wird, nur irgendwie die Veränderungen der Oberfläche bedingt durch die Funktionen in der SubVI nicht ausgeführt werden.

Woran liegt das? Kann mir jemand helfen? Angel_not


Angehängte Datei(en) Thumbnail(s)
           

12.0 .vi  Main.vi (Größe: 8,73 KB / Downloads: 201)

12.0 .vi  Bedingungsauswahl.vi (Größe: 38,03 KB / Downloads: 186)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.11.2016, 17:19
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Oberfläche von SubVI in Main Programm einbinden
Deine PropertyNodes innerhalb deines SubVIs verweisen auf die Elemente IM SubVI, und nicht auf die Elemente in deinem Haupt-VI.

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
16.11.2016, 08:07 (Dieser Beitrag wurde zuletzt bearbeitet: 16.11.2016 08:11 von C.Maier.)
Beitrag #3

C.Maier Offline
LVF-Grünschnabel
*


Beiträge: 42
Registriert seit: Oct 2016

2017
2016
DE


Deutschland
RE: Oberfläche von SubVI in Main Programm einbinden
Du könntest von deinen Elementen in der Main Referenzen bilden und diese in dein SubVI einbinden.

Habe mal auf die schnelle dein Programm umgestrickt um dies zu demonstrieren. Natürlich geht das viel schöner. Aber um das Prinzip darzustellen reicht es.


Angehängte Datei(en) Thumbnail(s)
       

15.0 .vi  Main.vi (Größe: 9,4 KB / Downloads: 167)

15.0 .vi  Bedingungsauswahl.vi (Größe: 33,09 KB / Downloads: 184)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.11.2016, 08:19 (Dieser Beitrag wurde zuletzt bearbeitet: 16.11.2016 08:20 von GerdW.)
Beitrag #4

GerdW Online
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Oberfläche von SubVI in Main Programm einbinden
Hallo C.,

Zitat:Natürlich geht das viel schöner.
- Referenzen in einem Cluster zusammenfassen, das spart jede Menge Draht und Terminals im ConnectorPane
- Bei den "Deaktiviert"-Eigenschaftsknoten nicht einfach "0" oder "2" anschließen, sondern passende Enums verwenden - dann verschwinden die CoercionDots!
- Wenn man etwas wie hier gleich 6mal erledigen will, sollte man mit einer Schleife arbeiten…

Außerdem:
Wenn der OP angibt, er arbeitet mit LV2012, dann solltest du deine VIs auch entsprechend kompatibel hochladen!

(Bitte nicht falsch verstehen: ich finde es gut, dass du Hilfe anbietest und VIs hochlädst! Aber etwas mehr Sorgfalt würde auch nicht schaden…)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.11.2016, 09:57
Beitrag #5

sara2211 Offline
LVF-Grünschnabel
*


Beiträge: 23
Registriert seit: Nov 2016

2012
2016
DE



RE: Oberfläche von SubVI in Main Programm einbinden
Hallo C.,

Vielen Dank für die Antwort.

(16.11.2016 08:07 )C.Maier schrieb:  Du könntest von deinen Elementen in der Main Referenzen bilden und diese in dein SubVI einbinden.

Habe mal auf die schnelle dein Programm umgestrickt um dies zu demonstrieren. Natürlich geht das viel schöner. Aber um das Prinzip darzustellen reicht es.

Ich habe jetzt versucht dein Bild mal nachzubauen und hänge gerade an der Einbindung von der Main Referenz in die SubVI. Eine Referenz in der MainVI zu erstellen (und diese dann mit dem Element des SubVI verbinden) ist kein Problem. Die Erstellung vom Eigenschaftsknoten und dann ausschneiden und in die SubVI einbauen ging auch. Wie kriege ich diese "türkisenen Bausteine" in der SubVI erstellt?
Sonst wäre ich auch sehr dankbar wenn du deine kurze Umstickung als 2012 Version hochladen könntest Angel_not

(16.11.2016 08:19 )GerdW schrieb:  - Referenzen in einem Cluster zusammenfassen, das spart jede Menge Draht und Terminals im ConnectorPane
- Bei den "Deaktiviert"-Eigenschaftsknoten nicht einfach "0" oder "2" anschließen, sondern passende Enums verwenden - dann verschwinden die CoercionDots!
- Wenn man etwas wie hier gleich 6mal erledigen will, sollte man mit einer Schleife arbeiten…

Vielen Dank für die Tipps, ich werde sie versuchen umzusetzen Smile
Danke auch an jg für die schnelle Antwort!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.11.2016, 10:00
Beitrag #6

GerdW Online
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Oberfläche von SubVI in Main Programm einbinden
Hallo sara,

Zitat:Wie kriege ich diese "türkisenen Bausteine" in der SubVI erstellt?
- Rechtsklick auf die im Main-VI-Blockdiagramm erstellte Referenz -> Erstelle -> Control
- Dieses Control in dein subVI verschieben…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.11.2016, 10:34
Beitrag #7

C.Maier Offline
LVF-Grünschnabel
*


Beiträge: 42
Registriert seit: Oct 2016

2017
2016
DE


Deutschland
RE: Oberfläche von SubVI in Main Programm einbinden
Danke für die Anregungen. Habe dann mal meinen Vorschlag überarbeitet Wink


Angehängte Datei(en)
12.0 .vi  Main.vi (Größe: 7,56 KB / Downloads: 172)

12.0 .vi  Bedingungsauswahl.vi (Größe: 20,94 KB / Downloads: 190)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.11.2016, 11:57
Beitrag #8

sara2211 Offline
LVF-Grünschnabel
*


Beiträge: 23
Registriert seit: Nov 2016

2012
2016
DE



RE: Oberfläche von SubVI in Main Programm einbinden
Vielen Dank für die Tipps und das Beispiel.
Mittlerweile bin ich soweit gekommen (siehe Anhang)
Das mit den Clustern macht das ganze viel übersichtlicher - wenn mal alles funktioniert werde ich mich an diese definitiv machen.

Ein Problem besteht allerdings noch:
Die Auswahl der Spannungen, Lastart/Netzteil habe ich glaube ich geschafft, mir fehlt nur noch das Klicken von einem Button (Bestätigungen). Hier komme ich nicht weiter. Ich habe zwei Vorangehensweisen versucht, einmal am Beispiel von C. orientiert (siehe "Auswahl der Voltage under test") und einmal an der Vorangehensweise der Auswahl von den Spannungen (siehe "Testbedingungen festgelegt"). Leider sind beide Arten nicht wirklich zufriedenstellend. Bei "Auswahl der Voltage under test" wird die Auswahl auf der Main Oberfläche nicht aktivert, sondern nur bei der Bedingungsauswahl Oberfläche. Wenn ich aber so vorgehe wie bei den Spannungen, kann ich diesen "türkisenen Baustein" von "Auswahl Voltage under Test" nicht mit den Auswahlfunktionen verbinden, da ich zwei Anschlüsse mit unterschiedlichem Typ verbinde.
Ich vermute mal die Herangehensweise von C. ist die Richtige, allerdings ist meine Verknüpfung vom Blockschaltbild mit den Oberflächenelementen wohl nicht gelungen (obwohl das Blockschaltbildelement in Main mit dem Ausgang von meiner SubVI verbunden ist).
Wie schaffe ich die Verknüpfung richtig?


Angehängte Datei(en) Thumbnail(s)
       

12.0 .vi  Main.vi (Größe: 9,91 KB / Downloads: 157)

12.0 .vi  Bedingungsauswahl.vi (Größe: 38,89 KB / Downloads: 176)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.11.2016, 12:45 (Dieser Beitrag wurde zuletzt bearbeitet: 16.11.2016 12:46 von GerdW.)
Beitrag #9

GerdW Online
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Oberfläche von SubVI in Main Programm einbinden
Hallo sara,

Zitat:Bei "Auswahl der Voltage under test" wird die Auswahl auf der Main Oberfläche nicht aktivert, sondern nur bei der Bedingungsauswahl Oberfläche.
Weil du es so programmiert hast: du hast eine Property des Bedienelements im subVI verwendet!

Zitat:Wenn ich aber so vorgehe wie bei den Spannungen, kann ich diesen "türkisenen Baustein" von "Auswahl Voltage under Test" nicht mit den Auswahlfunktionen verbinden, da ich zwei Anschlüsse mit unterschiedlichem Typ verbinde.
Wie schaffe ich die Verknüpfung richtig?
Du musst eine Referenz auf das Bedienelement an dein subVI weiterreichen - nicht den Wert aus diesem Bedienelement!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.11.2016, 12:57
Beitrag #10

C.Maier Offline
LVF-Grünschnabel
*


Beiträge: 42
Registriert seit: Oct 2016

2017
2016
DE


Deutschland
RE: Oberfläche von SubVI in Main Programm einbinden

Akzeptierte Lösung

Du musst von deinem Bedienelement aus der Main eine Referenz zum SubVI weiterleiten.

Im SubVI leitest du diese Referenz auf einen Eigenschaftsknoten.
   

Du benutzt bisher einen Eigenschaftsknoten mit der Referenz aus dem SubVI. Du musst also eine Referenz mit einem Eigenschaftsknoten verbinden damit die 2 Funktionen zusammengehören.
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
  Zugversuch - Oberfläche: Programmablauf? _Markus_ 1 2.572 19.11.2019 13:47
Letzter Beitrag: GerdW
  Radiobutton steuern von main.vi aus in While-Schleife tatanka 1 3.207 18.11.2016 08:59
Letzter Beitrag: GerdW
  Main Frontpanel ausblenden Pythagoras 9 9.590 21.03.2016 19:17
Letzter Beitrag: jg
  Symbol-Editor startet mit anderer Oberfläche Hotte-BW 2 4.401 03.03.2016 16:46
Letzter Beitrag: Hotte-BW
  LabVIEW Oberfläche erstellen leobi 2 3.886 27.03.2015 08:52
Letzter Beitrag: GerdW
  VIs aus Main VI starten Chris88 6 4.925 09.10.2014 11:39
Letzter Beitrag: GerdW

Gehe zu: