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 

Prüfung auf "erster Aufruf?"



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!

25.07.2006, 11:18
Beitrag #1

pa647 Offline
LVF-Grünschnabel
*


Beiträge: 15
Registriert seit: Feb 2006

2011
2003
kA

52441
Deutschland
Prüfung auf "erster Aufruf?"
Hallo,
ich habe ein Sub Vi mit Schieberegister erstellt.
Dieses Sub VI wird in einem übergeordneten VI in einer While Schleife aufgerufen.
Bei jedem Aufruf läuft dieses Sub Vi genau einmal und schiebt den "aktuellen Wert" in das Schieberegister.
Soweit so gut...

Ich muss dieses Sub Vi/ Schieberegister allerdings Initialisieren wenn das übergeordnete VI das erste mal aufgerufen wurde, damit irgendwelche alten Werte aus diesem Schieberegister gelöscht werden.

Im Augenblick habe ich das so gelöst, dass ich im Übergeordneten VI die Funktion: "erster Aufruf?" mit dem Sub VI verbinde un dort entsprechend verarbeite.
Funktioniert auch noch....

Damit dieses Vi aber einfach und universell einstzbar ist, würde ich gerne auf diesen zusätzlichen unnötigen? "Anschluss" verzichten.

Daher meine Frage:
Kann ich aus einem Sub vi heraus prüfen ob ein beliebiges übergeordnetes VI das dieses Sub Vi nutzt das erste mal aufgerufen bzw. "aktiviert" wurde?

Danke für jeden Tipp
Gruß Andreas
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
25.07.2006, 12:12
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Prüfung auf "erster Aufruf?"
<div align="left">Hallo, Andreas,

das hängt von der LabVIEW-Version ab, die du verwendest.

Ergänze doch bitte dein Profil entsprechend.

MfG,
Jens</div>

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
25.07.2006, 14:21 (Dieser Beitrag wurde zuletzt bearbeitet: 25.07.2006 14:22 von diplNisse.)
Beitrag #3

diplNisse Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 97
Registriert seit: Apr 2006

2010
2006
EN


Deutschland
Prüfung auf "erster Aufruf?"
' schrieb:Ich muss dieses Sub Vi/ Schieberegister allerdings Initialisieren wenn das übergeordnete VI das erste mal aufgerufen wurde, damit irgendwelche alten Werte aus diesem Schieberegister gelöscht werden.

Warum machst du nicht im SubVI selbst eine Auswertung auf "first call"?
Beim ersten Durchlauf der While-Scheife im Übergeodneten VI wird der Schieberegister dann gelöscht, bei allen weiteren Aufrufen wird er nicht gelöscht. Ohne zusätzlichen Anschluss

Das ist doch das, was du möchtest, oder?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.07.2006, 17:04
Beitrag #4

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Prüfung auf "erster Aufruf?"
' schrieb:Warum machst du nicht im SubVI selbst eine Auswertung auf "first call"?
Da muß man erstens wissen, daß es genau diese Funktion gibt, und zweitens, wo man sie findet, denn sie ist im Funktionenmenü, wie ich finde, außerordentlich gut getarnt.
Also LV8: Funktionsmenü/Synchronisierung/Erster Ausfruf?
(die Funktion "Erste Aufruf?" hat zwar nichts mit Synchronisierung zu tun, aber ein besserer Ort als dort ist den Entwicklern offenbar nicht eingefallen - ich wüßte auch keinen anderen Ort)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.07.2006, 19:46
Beitrag #5

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Prüfung auf "erster Aufruf?"
Der bessere Ort wäre die Applikation-Palette, aber First Call hat wirklich mit Syncronisation zu tun.

Gruss

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.07.2006, 07:06
Beitrag #6

pa647 Offline
LVF-Grünschnabel
*


Beiträge: 15
Registriert seit: Feb 2006

2011
2003
kA

52441
Deutschland
Prüfung auf "erster Aufruf?"
Hallo,
danke für eure Hilfe.

Zitat:Warum machst du nicht im SubVI selbst eine Auswertung auf "first call"?
Beim ersten Durchlauf der While-Scheife im Übergeodneten VI wird der Schieberegister dann gelöscht, bei allen weiteren Aufrufen wird er nicht gelöscht. Ohne zusätzlichen Anschluss

Das ist doch das, was du möchtest, oder?

Das mit der Auswertung im Sub VI selbst funktioniert wirklich.
Ich habe irgendwie die Funktion first call falsch verstanden.

Ich habe gedacht, das sich die Funktion First call auf das VI bezieht in der es sich befindet.
Daher hätte ich erwartet, dass die Auswertung auf First call bei einem immer wieder neu aufgerufenen Sub VI bei jedem aufruf dann wider true ist, aber das ist nicht so.
So ganz ist der Groschen aber noch nicht bei mir gefallen.
Wird denn jetzt auch im Sub VI initialisiert wenn das Hauptprogramm die While Schleife öfter mal aufruft, oder nur wenn das Hauptprogramm erneut gestartet wird?
Gruß Andreas
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
31.07.2006, 08:37
Beitrag #7

diplNisse Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 97
Registriert seit: Apr 2006

2010
2006
EN


Deutschland
Prüfung auf "erster Aufruf?"
' schrieb:Hallo,
danke für eure Hilfe.
Das mit der Auswertung im Sub VI selbst funktioniert wirklich.
Ich habe irgendwie die Funktion first call falsch verstanden.

Ich habe gedacht, das sich die Funktion First call auf das VI bezieht in der es sich befindet.
Daher hätte ich erwartet, dass die Auswertung auf First call bei einem immer wieder neu aufgerufenen Sub VI bei jedem aufruf dann wider true ist, aber das ist nicht so.
So ganz ist der Groschen aber noch nicht bei mir gefallen.
Wird denn jetzt auch im Sub VI initialisiert wenn das Hauptprogramm die While Schleife öfter mal aufruft, oder nur wenn das Hauptprogramm erneut gestartet wird?
Gruß Andreas

Hallo!

Du hast es nicht falsch verstanden. Es bezieht sich wirklich auf das VI, in dem es sich befindet.
Dein SubVI wird beim Start des "Haupt"VIs einmalig geladen. Dabei ist dann die firstcall-Auswertung im SubVI == TRUE.
Wenn Du das Haupt-VI erneut öffnest, wird das SubVI auch neu geladen.

Wenn du ein SubVI jedes mal neu laden möchtest (so dass alle Schieberegister (a.s.o.) leer bzw. undefiniert sind), dann musst du im HauptVI mit rechts draufklcken, dann auf "Call Setup..." und da auf "Reload for each call".
Dann bringt natürlich die Firstcall Auswertung nix mehr.

Ich hoffe das war nicht zu durcheinander....

Nisse
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.07.2006, 09:07
Beitrag #8

pa647 Offline
LVF-Grünschnabel
*


Beiträge: 15
Registriert seit: Feb 2006

2011
2003
kA

52441
Deutschland
Prüfung auf "erster Aufruf?"
Danke Diplnisse,
jetzt habe ich es verstanden.
Bei menem Programm ist das so, dass das Hauptprogramm ein Vi (While Schleife) aufruft, das das Sub VI nutzt.
Beim ersten Start des Hauptprogramms und somit des VIs wird also dann das Sub VI geladen und initialisiert. Jetzt beende ich die While Schleife und starte sie durch das Hauptprogramm neu. Ist dann der folgende Aufruf des Sub Vis dann ein erneuter "erster Aufruf" oder hat LabVIEW das Sub VI geladen und behält die Werte der vorangegangenen Messung im Schieberegister?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.07.2006, 09:27 (Dieser Beitrag wurde zuletzt bearbeitet: 31.07.2006 09:28 von diplNisse.)
Beitrag #9

diplNisse Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 97
Registriert seit: Apr 2006

2010
2006
EN


Deutschland
Prüfung auf "erster Aufruf?"
Hi.
Ich würde behaupten, dass die Werte bestehen bleiben, solange das Haupt-VI läuft. Würde ich ansonsten mal mit ganz einfachen VI's testen.

Wenn du dein Sub VI (erster Grad, also das mit der While Schleife) mit der Option "Reload for each Call" aufrufst, dann bleiben die Werte -meiner Meinung nach- nur bis zum nächsten Aufruf des SubVIs erhalten.

Musst du mal schauen, je nachdem, was du benötigst....
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Mittelwert wenn Werte in erster Spalte gleich marc_ampa 6 5.018 21.03.2022 08:38
Letzter Beitrag: marc_ampa
  VISA Abfrage an virtuellem COM Port liefert nur bei erster Abfrage Wert (MarCator) Ksanto 3 4.434 27.07.2017 09:40
Letzter Beitrag: Ksanto
  Prüfung einer Zeichenkette alan 4 3.755 10.03.2015 18:47
Letzter Beitrag: jg
  Bit-Prüfung auf binärem Ausgangsterminal Himmi 7 6.975 10.05.2011 13:28
Letzter Beitrag: Himmi
  erster Wert speichern dawe0006 3 5.786 20.08.2010 18:30
Letzter Beitrag: Y-P
  Erkennung direkter Aufruf oder SubVI-Aufruf Lucki 18 16.584 20.05.2009 14:22
Letzter Beitrag: TSC

Gehe zu: