18.02.2008, 18:29
Beitrag #1
|
jeffrey
LVF-Gelegenheitsschreiber
Beiträge: 123
Registriert seit: Aug 2007
8.0 zuhause, 8.2 Uni
2007
kA
Deutschland
|
SubVi initialisieren
Hallo,
ich habe ein Regler-SubVI. Dieses wird in meinem Programm mehrmals verwendet. Dabei wird dann ja jedesmal ein Klon erstellt. Dieses enthält mehrere Schieberegister. Jetzt würde ich aber beim Programmstart alle Klone initialisieren, es geht vorallem darum die Summe vom I-Anteil auf 0 zu setzen.
Ich habe jetzt gedacht, kein Problem, einfach eine zusätzlichen Initeingan, und wenn der True ist wird der Integrator resetet. Aber geht ja so niht, weil ja wenn ich es in meine Initsequennz einfüge ein neuer Klon erstellt wird. Aber ich möchte gerne alle Vis, die später verwendet werden reseten.
Geht das? (Hoff´s mal) Wenn ja wie?
MfG Jeffrey
|
|
|
18.02.2008, 18:37
Beitrag #2
|
eg
LVF-SeniorMod
Beiträge: 3.868
Registriert seit: Nov 2005
2016
2003
kA
66111
Deutschland
|
SubVi initialisieren
Wird das nicht automatisch bei Start des Clons mit dem Default Value initialisiert? Warum nimmst du Clon (reentrantes VI)? Brauchst du es wirklich? Du kannst die Methode "Set Control Value" vor dem Start benutzen.
|
|
|
18.02.2008, 18:48
Beitrag #3
|
|
|
18.02.2008, 20:15
Beitrag #4
|
jeffrey
LVF-Gelegenheitsschreiber
Beiträge: 123
Registriert seit: Aug 2007
8.0 zuhause, 8.2 Uni
2007
kA
Deutschland
|
SubVi initialisieren
' schrieb:Es gibt ein Element "Erster Aufruf" in der Palette "Synchronisierung". Damit kann man einmalige Initialisierungen machen.
hi,
ja aber erster aufruf funktioniert nur, wie der name schon sagt beim ersten aufruf. man muss dann jedesmal LabVIEW cshließen, bevor man das programm neu startet.
es wird mit den default values initialisiert, aber das schieberegister behält seinen wert. und ich benötige wirklich klone, weil ich mehrere temperaturen mit dem gleichen reglervi regeln will, aber natürlich soll da jeder regelkreis seinen eigenen regler haebn.
mfg jeffrey
|
|
|
18.02.2008, 20:56
Beitrag #5
|
IchSelbst
LVF-Guru
Beiträge: 3.689
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
SubVi initialisieren
' schrieb:ja aber erster aufruf funktioniert nur, wie der name schon sagt beim ersten aufruf. man muss dann jedesmal LabVIEW cshließen, bevor man das programm neu startet.
Ja wolltest du nicht beim erstmaligem Aufruf eines SubVIs alles initialisieren - also einmalig? Bei mir in LV 85 gilt "Erster Aufruf" auch beim Starten mit dem Ausführungspfeil innerhalb der LV-IDE.
Zitat:es wird mit den default values initialisiert, aber das schieberegister behält seinen wert.
Auch Schieberegister kann man einmalig initialisieren - mit true/false-Case in der Whileschleife.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
|
|
|
18.02.2008, 21:15
Beitrag #6
|
jeffrey
LVF-Gelegenheitsschreiber
Beiträge: 123
Registriert seit: Aug 2007
8.0 zuhause, 8.2 Uni
2007
kA
Deutschland
|
SubVi initialisieren
' schrieb:Ja wolltest du nicht beim erstmaligem Aufruf eines SubVIs alles initialisieren - also einmalig? Bei mir in LV 85 gilt "Erster Aufruf" auch beim Starten mit dem Ausführungspfeil innerhalb der LV-IDE.
stimmt, als ich es getestet habe, hat das irgendwie nicht funktioniert, muss wohl irgendwo ein fehlr gewesen sein.
Zitat:Auch Schieberegister kann man einmalig initialisieren - mit true/false-Case in der Whileschleife.
ich weiß, ich will genau das machen ;-) die controls werden ja mit default values initialisiert.
muss ich mal noch mal testen.
mfg jeffrey
|
|
|
| |