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 

SubVI im Hauptprogramm



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!

20.10.2010, 12:16 (Dieser Beitrag wurde zuletzt bearbeitet: 20.10.2010 12:20 von dom2475.)
Beitrag #1

dom2475 Offline
LVF-Grünschnabel
*


Beiträge: 30
Registriert seit: Oct 2010

8.6
2010
de


Deutschland
SubVI im Hauptprogramm
Hallo,

ich hab hier im Forum schon mehrmals tolle Antworten bekommen, u.a. zu den SubVI's in dem sich in der Anlage befindlichen Hauptprogramms.
Genau um dieses Hauptprogramm geht es. In diesem befindet sich ein SubVI zur Kennliniendarstellung.

Starte ich das Hauptprogramm, werden zwar die Kennlinienwerte im XY-Graph des SubVI's angezeigt, jedoch nicht im Graph des Hauptprogramms.

Ansonsten läuft das Programm (getestet im Debug-Modus).

Kann mir jemand einen Tip geben, wie die Kennlinienwerte auch im Hauptprogramm angezeigt werden können.

Im Anhang befindet sich das Hauptprogramm an erster Stelle, gefolgt vom SubVI.


Gruß
Dominik


Angehängte Datei(en) Thumbnail(s)
               
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
20.10.2010, 18:56
Beitrag #2

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
SubVI im Hauptprogramm
Das geht mit Referenzen.

Hier ein Bsp. (mit Property visible), Du musst halt die Property "Value" nehmen:

Sonstige .vi  sichtbarkeitstest_mainvi_6.vi (Größe: 9,85 KB / Downloads: 235)

Lv86_img

Sonstige .vi  sichtbarkeitstest_subvi_3.vi (Größe: 7,26 KB / Downloads: 249)

Lv86_img

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.10.2010, 20:34
Beitrag #3

BsaiboT Offline
LVF-Stammgast
***


Beiträge: 449
Registriert seit: Nov 2009

2010
2007
kA

22459
Deutschland
SubVI im Hauptprogramm
Markus hat dir deine Frage ja schon beantwortet. Schön, dann hast du auch dieses Problem gelöst.
Smile

Ich möchte dir lediglich den Tipp geben, dass die inflationäre Anwendung von lokalen Variablen nicht anzuraten ist und das Datenflussprinzip unterwandert. In den Codeausschnitten könnte man sämtliche lokale Variablen durch sinnvolle Signalführung (Verdrahtung) ersetzen.

Such einfach mal nach lokale Variable hier im Forum und du wirst einige Themen finden in denen erklärt wird, weshalb (racing condition ftw!) diese möglichst vermieden werden sollen, sofern es möglich ist (geht halt nicht immer).

Grüße,
//Tobias

Tobias Brüggemann
Dipl.-Ing.(FH) Nachrichtentechnik/Elektronik
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.10.2010, 06:00
Beitrag #4

Matze Offline
LVF-Team
LVF-Team

Beiträge: 1.027
Registriert seit: Apr 2010

20xx
2010
DE_EN

7xxxx
Deutschland
SubVI im Hauptprogramm
Was Tobias schreibt ist korrekt, wobei es in deinem Falls nicht zu Race-Conditions kommt, wenn ich es richtig sehe. Dennoch ist das direkte Verdrahten immer der bessere Weg.

Was mich aber interessieren würde: Wieso erstellst du grundsätzlich eigene Express-VIs anstelle der klassischen SubVIs?
Ich weiß, dass die ExpressVIs von NI einen relativ großen Overhead haben, u.a. auch deshalb, weil die ganzen Dialoge integriert sind, um den LabVIEW-Code zu generieren. Ich vermute, den Overhead haben eigene Express-VIs auch.
Und das Blockdiagramm wird natürlich stark vergrößert, da die Express-VIs viel mehr Platz in Anspruch nehmen. Meiner Meinung nach sinkt die Übersichtlichkeit hier deutlich.

Ich selbst habe noch nie eigene Express-VIs erstellen müssen.

Gibst du die VIs an Kunden, die einfache Konfigurationsmöglichkeiten haben sollen oder was ist der genaue Grund?
Ich lerne hier immer wieder gerne dazu.Wink

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.10.2010, 06:28
Beitrag #5

macmarvin Offline
CLA
***


Beiträge: 445
Registriert seit: Sep 2006

2014
2004
EN

81373
Deutschland
SubVI im Hauptprogramm
' schrieb:Was mich aber interessieren würde: Wieso erstellst du grundsätzlich eigene Express-VIs anstelle der klassischen SubVIs?

Ich glaube da gibt's ein Missverständnis. Das in den Screenshots sind keine ExpressVIs (die wären Blau), sondern nur anders dargestellte SubVIs (einfach mal den Haken bei "View as Icon" wegmachen). Diese Darstellung, hätte ihre Berechtigung, wenn dabei die Conntectornamen mit angezeigt werden, so sind's nur leicht anders verdrahtete und größere SubVIs.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.10.2010, 07:35 (Dieser Beitrag wurde zuletzt bearbeitet: 21.10.2010 07:36 von dom2475.)
Beitrag #6

dom2475 Offline
LVF-Grünschnabel
*


Beiträge: 30
Registriert seit: Oct 2010

8.6
2010
de


Deutschland
SubVI im Hauptprogramm
Ja. Macmarvin hat Recht. Es sind einfach nur anders dargestellte SubVI's. Diese gebe ich nicht an Kunden weiter, sondern es handelt sich um ein FH-Projekt.

Werde gleich mal die Referenzvariante ausprobieren.


Gruß
Dominik
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
21.10.2010, 09:43 (Dieser Beitrag wurde zuletzt bearbeitet: 21.10.2010 09:52 von dom2475.)
Beitrag #7

dom2475 Offline
LVF-Grünschnabel
*


Beiträge: 30
Registriert seit: Oct 2010

8.6
2010
de


Deutschland
SubVI im Hauptprogramm
Das Problem mit den Messwerten im Hauptprogramm habe ich über Referenzen gelöst.

Jetzt ist doch noch ein kleines Problem aufgetreten:

Das Programm wechselt nicht vom SubVI "Kennlinie" zum nächsten Sequenzabschnitt mit dem SubVI "ISEL-Ansteuerung".
Die While-Schleife im SubVI wird nicht abgebrochen.
Hab schon verschiedene Abbruchmöglichkeiten durchgespielt, aber ich krieg die While-Schleife im SubVI nicht zum Stoppen.

Hat jemand ne Idee?

Im Anhang befindet sich das SubVI an zweiter Stelle.

Recht, recht herzlichen Dank für Eure Hilfe schon mal im Vorraus. Das Projekt nähert sich dem Ende.
Ohne Eure Hilfe hätte ich so manches Problem nicht lösen können. Also, toll.

Gruß
Dominik


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.10.2010, 10:05
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
SubVI im Hauptprogramm
Hallo dom,

ich vermute mal, dein subVI ist im rechten Bild dargestellt.

Das Problem sind die Werte, die du zum Schleifenabbruch vergleichst: du vergleichst den Timer-Ausgangswert mit "2000". Da wird immer "ungleich"/FALSE rauskommen und deine Schleife ewig laufen. Warum das so ist, kannst du in der Kontexthilfe zur Wait-Funktion lesen.

Was willst du hier überhaupt erreichen? Erst 2s warten und dann kontrollieren, ob auch wirklich 2s gewartet wurde???

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.10.2010, 10:14 (Dieser Beitrag wurde zuletzt bearbeitet: 21.10.2010 10:14 von dom2475.)
Beitrag #9

dom2475 Offline
LVF-Grünschnabel
*


Beiträge: 30
Registriert seit: Oct 2010

8.6
2010
de


Deutschland
SubVI im Hauptprogramm
Hallo Gerd,

ich wollte damit einfach erreichen, dass die Schleife abgebrochen wird. Funktioniert aber nicht.

Kannst du mir eine andere Variante anbieten?

Gruß
Dominik
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.10.2010, 11:06
Beitrag #10

dom2475 Offline
LVF-Grünschnabel
*


Beiträge: 30
Registriert seit: Oct 2010

8.6
2010
de


Deutschland
SubVI im Hauptprogramm
Ich hab das Problem gelöst mit zwei Timern und Schieberegistern. Diese Variante fand ich im LabVIEW-Forum.

Eine Sache ist mir noch unklar. Die Messwerte im Graph verschwinden nach jedem Aufruf des SubVI's "Kennlinie". Es sollte jedoch im Graph des Hauptprogramms eine Kennlinie sichtbar sein.

Was muss ich noch tun, sodass auch die Messwerte im Graph abgespeichert sind.

Gruß
Dominik
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
  Unterprogramm im Hauptprogramm heshamali88 17 12.062 25.07.2016 15:11
Letzter Beitrag: heshamali88
  Hauptprogramm weiter ausführen bei SubVI-Aufruf haiopei 16 22.153 14.03.2012 17:21
Letzter Beitrag: phylin
  SubVI Funktionen verwenden, ohne SubVI Frontpanel (AVT Kamera) Allyoucaneat 3 8.843 25.08.2011 15:18
Letzter Beitrag: GerdW
  Anzeige SubVI aus dem Hauptprogramm Homer82 19 19.862 21.10.2010 14:30
Letzter Beitrag: stromflo
  Hauptprogramm erst NACH Sub-VI fortsetzen ekempf0 5 5.138 09.04.2010 13:39
Letzter Beitrag: ekempf0
  Benutzeranmeldung vor Hauptprogramm P.Pfarherr 21 23.246 03.03.2009 20:33
Letzter Beitrag: schrotti

Gehe zu: