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 

dynamischer oder statischer Aufruf von SubVis



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!

02.04.2015, 07:36
Beitrag #1

tobi45f Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 59
Registriert seit: Feb 2015

11.0
2015
EN


Deutschland
dynamischer oder statischer Aufruf von SubVis
Hallo zusammen,
ich hätte eine Verständnisfrage zum dynamischen und statischen Aufrufen von SubVis.
Für mein Programm habe ich eine ganze Palette an SubVis, vom kleinen Vi zum disablen von mehreren Referenzen, hin bis zum Excel auslesen/schreiben. Ebenso ist mein Programm so aufgebaut, dass ich im Hauptmenu meine Buttons habe, die per Case mein entsprechendes Programm starten, wo dann das FP geöffnet wird und schließt bis es abgearbeitet wird.

Als ich vom dynamischen Aufruf gelesen habe, war für mich der ausschlaggebende Aspekt, dass es Ressourcen spart Vor allem bei langen Laufzeiten. Da mein Programm, wenn es nicht grade abstürzt Big Grin, bis zu einem Jahr am Stück laufen soll, ist das nicht grade irrelevant.

Nun habe ich mir die Arbeit gemacht und habe alle kleinen SubVis per Referenz geöffnet (mit klein meine ich SubVis mit 4-5 Elementen). Ist das bei solchen kleinen SubVis notwendig? Denn ich finde, dieser doch nicht unerhebliche Brocken an Code macht das Programm schon wesentlich unübersichtlicher im Vergleich zu einem Block vom statischen Aufruf. Davon ab, kommt ja wie ich das in einem anderen Thread gelesen habe dann nochmal ordentlich Arbeit auf mich zu, wenn ich die .exe daraus machen möchte. Zumindest glaube ich, dass es viel Arbeit ist, so ganz habe ich das nicht verstanden, wie das mit dem Vi-Pfad und der exe funktioniert, aber das ist ein anderes Thema.

Kann ich in meinem Hauptprogramm die Unterprogramme auch dynamisch Aufrufen, sodass das FP geöffnet wird und nach Bearbeitung geschlossen wird? So wie ich es in der statischen kann?

Momentan habe ich meine Vis so aufgerufen:
http://zone.ni.com/reference/de-XX/help/...dcall_vis/

Und beim stöbern habe ich sowas gefunden:
http://www.labviewforum.de/attachment.php?aid=13647
(aus: http://www.labviewforum.de/Thread-Wie-fu...E-wirklich )

Gruß Tobias
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
02.04.2015, 07:43
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: dynamischer oder statischer Aufruf von SubVis
Hallo Tobi,

Zitat:Kann ich in meinem Hauptprogramm die Unterprogramme auch dynamisch Aufrufen, sodass das FP geöffnet wird und nach Bearbeitung geschlossen wird? So wie ich es in der statischen kann?
Ja.


Zitat:Nun habe ich mir die Arbeit gemacht und habe alle kleinen SubVis per Referenz geöffnet (mit klein meine ich SubVis mit 4-5 Elementen).
Ist das wirklich sinnvoll - und nötig?

Es kann sehr sinnvoll sein, VIs per VIServer zu laden und zu starten, z.B. beim Einsatz in subPanels oder wenn man verschiedene "Bibliotheken"/Treiber/etc. (nach)laden will. Aber "all kleinen subVIs" halte ich für übertrieben…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.04.2015, 08:20 (Dieser Beitrag wurde zuletzt bearbeitet: 02.04.2015 08:35 von jg.)
Beitrag #3

tobi45f Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 59
Registriert seit: Feb 2015

11.0
2015
EN


Deutschland
RE: dynamischer oder statischer Aufruf von SubVis
(02.04.2015 07:43 )GerdW schrieb:  Ja.
Spärliche Antworten sind echt dein Ding Big Grin
Verrätst du mir auch wie?Lol

(02.04.2015 07:43 )GerdW schrieb:  Es kann sehr sinnvoll sein, VIs per VIServer zu laden und zu starten, z.B. beim Einsatz in subPanels oder wenn man verschiedene "Bibliotheken"/Treiber/etc. (nach)laden will. Aber "all kleinen subVIs" halte ich für übertrieben…

Genau das war ja die Frage, ob es sinnvoll ist oder nicht.
Scheinbar ist es sinnvoll bei subPanels, was meinen Unterprogrammen mit FP aufruf entspräche.
Und für diesen Aufruf müsste ich wissen, wie man per dynamischen Aufruf das FP öffnet und nach Bearbeitung schließt Big Grin

Verrätst du mir auch wie?Lol


Vielen Dank für die Antwort
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.04.2015, 08:24 (Dieser Beitrag wurde zuletzt bearbeitet: 02.04.2015 08:29 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: dynamischer oder statischer Aufruf von SubVIs
Hallo Tobi,

Zitat:Scheinbar ist es sinnvoll bei subPanels, was meinen Unterprogrammen mit FP aufruf entspräche.
Wenn ich ein subVI aufrufe, welches sein FP anzeigen soll, dann kann ich es auch direkt aus dem MainVI aufrufen - ohne Umweg über den VI-Server.
Ich sehe hier noch immer keinen sinnvollen Einsatz von dynamischen/statischen subVI-Aufrufen per VI-Server…

Zitat:wie man per dynamischen Aufruf das FP öffnet und nach Bearbeitung schließt
Sowas stellt man entweder in den subVI-Eigenschaften ein oder erledigt es programmatisch per PropertyNode/Methodenknoten…

Irgendwie hattest du Probleme mit dem korrekten Umgang mit der Quote-Funktion des Editors hier…

Zitat:Spärliche Antworten sind echt dein Ding
Falsch. Ich habe auf deine Frage geantwortet.
Wenn du Fragen stellst, die man mit Ja/Nein beantworten muss, darfst du dich nicht über entsprechende Antworten wundern… Big Grin

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.11.2016, 12:56
Beitrag #5

Woodeye Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 54
Registriert seit: Aug 2010

2024
2009
DE

01774
Deutschland
RE: dynamischer oder statischer Aufruf von SubVis
Hallo zusammen,

ich habe z. Zt. ein ähnliches Problem und hoffe auf Hilfe.

Erstellt ist ein Messprogramm für Sensoren mit CAN Ausgang. Ich habe immer das gleiche Eingangssignal (SensorID, PGN und 8 Datenbytes), für jeden Sensortyp aber unterschiedliche PGNs und Ausgangswerte. Nun war mein Gedanke, für jeden Sensortyp ein extra VI zu erstellen, was aus dem Anwendungsverzeichnis dynamisch in das Hauptprogramm geladen wird. Somit wäre es in Zukunft möglich, weitere Sensortypen anzulegen ohne das Hauptprogramm anzufassen. In der Entwicklungsumgebung läuft dies ohne Probleme, in der Exe leider nicht mehr. Dort bekomme ich es nur zum Laufen, wenn das "Sensor-VI" bereits bei der Builderstellung im Projekt war.

Gibt es eine Möglichkeit dieses später erstellte, dynamische SUB-VI über den Pfadaufruf zu starten?


Angehängte Datei(en) Thumbnail(s)
   

Viele Grüße

Harald
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.11.2016, 13:00
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: dynamischer oder statischer Aufruf von SubVis
Hallo Woodeye,

Zitat:Gibt es eine Möglichkeit dieses später erstellte, dynamische SUB-VI über den Pfadaufruf zu starten?
Wenn das VI unter dem Pfad, den du beim Aufruf angibst, gefunden wird, dann wird es (normalerweise) auch gestartet!
Welche Fehlermeldung bekommst du denn?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.11.2016, 13:45
Beitrag #7

Woodeye Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 54
Registriert seit: Aug 2010

2024
2009
DE

01774
Deutschland
RE: dynamischer oder statischer Aufruf von SubVis
Hallo Gerd,

ich bekomme den Fehler 1003.

"Fehler 1003 bei nicht identifizierter Position
Mögliche Ursachen:
LabVIEW: Das VI ist nicht ausführbar. Dieser Fehler kann auftreten, weil das VI entweder fehlerhaft ist oder ein SubVI enthält, das nicht gefunden werden kann. Öffnen Sie das VI über Datei>>Öffnen und prüfen Sie, ob das VI ausführbar ist."

Auch der Aufrufpfad verweist auf das Anwendungsverzeichnis:
"VI-Referenz öffnen in Funktionskontrolle_main.vi<APPEND>
VI-Pfad: <b>T:\Q\Pruefsoftware\Pruefprogramme\CAN\Einzelmessung\161102_Version_02\G15_123​5.vi</b>"

Auch wenn ich das SUB-VI über die Suche direkt auswähle, egal ob es im Projekt- oder Anwendungsordner liegt, es kommt der gleiche Fehler. Ich vermute fast ein fehlendes Häkchen in den VI-Einstellungen.

Viele Grüße

Harald
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.11.2016, 14:48
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: dynamischer oder statischer Aufruf von SubVis
Hallo Woodeye,

ist das VI denn ausführbar, wenn es am angegebenen Ort liegt?
Es muss dort inkl. aller vom ihm benötigten subVIs ausführbar sein!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.11.2016, 16:01 (Dieser Beitrag wurde zuletzt bearbeitet: 02.11.2016 16:03 von Woodeye.)
Beitrag #9

Woodeye Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 54
Registriert seit: Aug 2010

2024
2009
DE

01774
Deutschland
RE: dynamischer oder statischer Aufruf von SubVis
Hallo Gerd,

das ist ja das Verrückte, ich kann das VI in jedem Ordner einzeln mit der Entwicklungsumgebung öffnen. Auch die Builderstellung auf dem Laufwerk C: brachte keine Änderung. Ich werde morgen noch einmal ein extra Projekt erstellen und noch einmal von Anfang an probieren.

Ich danke dir für deine Bemühungen.

Viele Grüße

Harald
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.11.2016, 21:32 (Dieser Beitrag wurde zuletzt bearbeitet: 03.11.2016 07:15 von Woodeye.)
Beitrag #10

Woodeye Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 54
Registriert seit: Aug 2010

2024
2009
DE

01774
Deutschland
RE: dynamischer oder statischer Aufruf von SubVis
Hallo Gerd,

ich bin dem Fehler auf der Spur! Begreifen kann ich ihn noch nicht...

Meine aufgerufenen VIs melden einen Fehler, wenn das LV VI "Mean.vi" aus der Statistikpalette zum Einsatz kommt. Im Anhang ist ein kleines Programm, welches dynamisch die Funktionen plus, minus usw. aufruft. Alle funktionieren ohne Probleme, nur das VI "Fehler" meldet auf zwei unterschiedlichen PCs einen Fehler zurück. In diesem VI ist das "Mean.vi" integriert.

Das fehlerhafte VI versucht das "Mean(DBL).vi aus der NI_AALBase.lvlib zu laden, schafft dies nicht und gibt einen Fehler aus. Auch der Versuch, das "Mean.vi" irgendwo in das Blockdiagramm des aufrufenden VIs zu legen brachte keine Besserung. Die gesuchte .lvlib ist dann zwar unter den Abhängigkeiten im Projekt zu finden, aufgerufen wird sie aber nicht. Der Aufruffehler tritt auch mit anderen VIs aus der Statistikpalette auf.

Im NI Forum gibt es auch schon einige Diskussionen über diesen Fall, eine Lösung habe ich aber noch nicht gefunden. Ich werde den Mittelwert händisch programmieren, dann müsste es (für dieses Programm) gehen.

PS: in das Feld Operation muss "plus"; "minus" usw.


Angehängte Datei(en)
0.0 .zip  VI_refBuild.zip (Größe: 752,95 KB / Downloads: 355)

Viele Grüße

Harald
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
  Fehler 7 trotz statischer Einbindungen Milch 8 9.378 19.06.2012 18:36
Letzter Beitrag: Milch

Gehe zu: