25.07.2006, 12:12
Beitrag #2
|
jg
CLA & CLED
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.
|
|
|
25.07.2006, 14:21
(Dieser Beitrag wurde zuletzt bearbeitet: 25.07.2006 14:22 von diplNisse.)
Beitrag #3
|
diplNisse
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?
|
|
|
25.07.2006, 17:04
Beitrag #4
|
Lucki
Tech.Exp.2.Klasse
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)
|
|
|
25.07.2006, 19:46
Beitrag #5
|
eg
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
|
|
|
31.07.2006, 07:06
Beitrag #6
|
pa647
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
|
|
|
31.07.2006, 08:37
Beitrag #7
|
diplNisse
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
|
|
|
31.07.2006, 09:07
Beitrag #8
|
pa647
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?
|
|
|
31.07.2006, 09:27
(Dieser Beitrag wurde zuletzt bearbeitet: 31.07.2006 09:28 von diplNisse.)
Beitrag #9
|
|
|
| |