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 

Iterationszähler



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!

17.04.2010, 18:34
Beitrag #1

Sennar Offline
LVF-Grünschnabel
*


Beiträge: 11
Registriert seit: Apr 2010

7.0
2010
de


Deutschland
Iterationszähler
Hallo ihr Lieben,

ich habe ein VI, bei dem es mehrere Schleifen gibt. Ich möchte den Gesamt-Iterationszähler (also die äußerste Schleife) pro Sekunde um 1 erhöhen. Innerhalb dieser Schleife ist eine weitere, die 5 mal wiederholt wird. In dieser Zeit läuft ja der äußere Zähler nicht weiter, da zunächst die innere 5 mal wiederholt wird (pro Durchlauf ebenfalls 1 sekunde). Das soll auch so beibehalten werden, dass jeder Durchlauf 1 Sekunde dauert aber halt auch der äußere Zähler jedesmal um 1 nach oben geht. Wenn ich die innere Schleife durch einen Button anhalte, soll der äußere Iterationszähler weiterhin um 1 pro Sekunde steigen. Ich hoff ich konnte beschreiben was ich meine:)Kann man da was machen? Wahrscheinlich ist es total simpel und ich steh auf dem Schlauch...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
17.04.2010, 21:10
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
Iterationszähler
So wie Du Dir das vorstellst geht das nicht. Wenn Du so was haben möchtest, dann musst Du die Schleifen parallel laufen lassen und nicht eine Schleife in der anderen. Vielleicht kannst Du ja kurz sagen, was Du damit erreichen möchtest, dann kann man Dir bestimmt einen Tip geben, wie Du das besser lösen könntest.

Gruß Markus

' schrieb:Kann man da was machen?

--------------------------------------------------------------------------
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
17.04.2010, 21:22
Beitrag #3

Sennar Offline
LVF-Grünschnabel
*


Beiträge: 11
Registriert seit: Apr 2010

7.0
2010
de


Deutschland
Iterationszähler
Also ich habe einen Tank der je nach Wert eines bestimmten Quotienten entweder einen Zulauf erhält oder nicht. Wenn der Quotient kleiner als 1 ist, ist der Zulauf geöffnet und wird für 5 Durchläufe einer Schleife so beibehalten. Wenn er kleiner ist als 1 dann bleibt der Zulauf geschlossen ebenfalls für 5 Durchläufe. Außerdem hat das System einen Schalter um den zulauf manuell zu stoppen. Ich habe eine numerische und graphische Volumenanzeige und eine Uhr für die vergangene Zeit in Form des Iterationszählers. Der Iterationszähler soll immer weiter zählen und die graphische Anzeige jede Sekunde jegliche Veränderung anzeigen auch wenn es keine gibts da der Quotient über 1 ist.
So soll es am Ende ausehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.04.2010, 08:33 (Dieser Beitrag wurde zuletzt bearbeitet: 18.04.2010 08:34 von IchSelbst.)
Beitrag #4

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Iterationszähler
' schrieb:Ich möchte den Gesamt-Iterationszähler (also die äußerste Schleife) pro Sekunde um 1 erhöhen. Innerhalb dieser Schleife ist eine weitere, die 5 mal wiederholt wird. In dieser Zeit läuft ja der äußere Zähler nicht weiter, da zunächst die innere 5 mal wiederholt wird (pro Durchlauf ebenfalls 1 sekunde). Das soll auch so beibehalten werden, dass jeder Durchlauf 1 Sekunde dauert aber halt auch der äußere Zähler jedesmal um 1 nach oben geht. Wenn ich die innere Schleife durch einen Button anhalte, soll der äußere Iterationszähler weiterhin um 1 pro Sekunde steigen.
Unsure
Einfach den Wire für den Zähler der äußeren Schleife mit Schieberegister durch die innere Schleife führen und dort beide Zähler erhöhen? Am Außgang der inneren Scheife den äußeren Zähler in Abhängigkeit "Abbruch" erhöhen?

Oder:
Eine FGV machen mit integrierter Anzeige (Referenz auf Anzeigeelement in der FGV hinterlegen) und die überall dort platzieren, an der hochgezählt werden soll.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.04.2010, 08:58
Beitrag #5

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Iterationszähler
' schrieb:Also ich habe einen Tank der je nach Wert eines bestimmten Quotienten entweder einen Zulauf erhält oder nicht. Wenn der Quotient kleiner als 1 ist, ist der Zulauf geöffnet und wird für 5 Durchläufe einer Schleife so beibehalten. Wenn er kleiner ist als 1 dann bleibt der Zulauf geschlossen ebenfalls für 5 Durchläufe.
Das Du machen willst läßt auf einfachste Weise zu lösen. Die innere Schleife anhalten geht allerdings nicht, wie Du inzwischen weißt. Also packe einen Case in die innere Schleife rein und sorge dafür, daß im "angehaltenen Zustand" in der Schleife nichts getan wird.
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.04.2010, 10:45
Beitrag #6

Sennar Offline
LVF-Grünschnabel
*


Beiträge: 11
Registriert seit: Apr 2010

7.0
2010
de


Deutschland
Iterationszähler
@Lucki danke, das hab ich bereits es geht wirklich nur um den IterationszählerSmile

@IchSelbst was ist eine FGV?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
18.04.2010, 11:21
Beitrag #7

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Iterationszähler
' schrieb:was ist eine FGV?
Eine "Funktionale Globale Variable".

Vom Gültigkeitsbereich her ist es eine "Globale Variable" - und somit überall verfügbar. Überall heißt in deinem Falle, dass der Wert sowohl in der äußeren als auch in der inneren Schleife verfügbar ist. Er kann also in beiden Schleifen gelesen bzw. manipuliert werden.

Eine FGV besteht aus einer While-Schleife mit Bedingungsanschluss = TRUE (also so, dass die Schleife nur ein einziges Mal durchlaufen wird). Wichtig ist lediglich ein Schieberegister auf der Whileschleife. Hierin liegt nämlich der Wert der "globalen Variable". Eine FGV hat einen Steuereingang, der sinnvollerweise mindestens die Zustände "Variable schreiben" (mit Daten von Dateneingang) und "Variable lesen" (=> FGV-Wert geht an Datenausgang) beinhaltet. Man kann die FGV jetzt aufbohren um einen Enumeratoreingang und eine Case-Struktur in der While-Schleife. Dann kann man so Sachen machen wie "Erhöhe Datenwert", "Resette Datenwert", "Merke Referenz zur Anzeige des Datenwertes" etc. Praktisch ist das mit der Anzeige z.B. dann, wenn gleich nach dem Erhöhen der Wert auch noch angezeigt werden soll. Man spart sich somit die Verdrahtung der Anzeige am BD des VIs.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.04.2010, 12:56
Beitrag #8

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

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Iterationszähler
Er wollte doch in der inneren Schleife auch jede Sekunde den Zähler (i) erhöhen. Wenn die innere Schleife aber fünf Sekunden dauert, kann er den Zähler (i) der darumliegenden Schleife nicht jede Sekunde erhöhen. Da muss er sich halt einen eigenen Zähler basteln, aber den schleifeneigenen Zähler (i) kann er so nicht verwenden.

Gruß Markus

' schrieb:Das Du machen willst läßt auf einfachste Weise zu lösen. Die innere Schleife anhalten geht allerdings nicht, wie Du inzwischen weißt. Also packe einen Case in die innere Schleife rein und sorge dafür, daß im "angehaltenen Zustand" in der Schleife nichts getan wird.
[attachment=54315:Schleife_anhalten.png]

--------------------------------------------------------------------------
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
18.04.2010, 13:08
Beitrag #9

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Iterationszähler
' schrieb:schleifeneigenen Zähler (i)
Ach er redet vom schleifeneigenen Zähler.

Kann man den auch verwenden? (Wink) Ich verwenden den außer für Indizierungen nie. -_-

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.04.2010, 06:47
Beitrag #10

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

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Iterationszähler
Davon bin ich ausgegangen.... Unsure

Gruß Markus

' schrieb:Ach er redet vom schleifeneigenen Zähler.

--------------------------------------------------------------------------
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
Antwort schreiben 


Gehe zu: