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 

Variablen zwischen zwei Schleifen übergeben und an bestimmter Stelle Ausführen



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!

31.08.2012, 12:59 (Dieser Beitrag wurde zuletzt bearbeitet: 31.08.2012 13:01 von FelixH.)
Beitrag #1

FelixH Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Aug 2012

2012
2012
EN


Deutschland
Variablen zwischen zwei Schleifen übergeben und an bestimmter Stelle Ausführen
Hallo,

ich möchte in einer Hauptschleife, die eine flat sequence beinhaltet, an einer bestimmten stelle die Ausführung einer zweiten Schleife starten, die parallel zur Hauptschleife ablaufen soll
(ich möchte die Schleife allerdings nicht direkt in die Hauptschleife einbauen). Außerdem soll die zweite Schleife erst ausgeführt werden, wenn alle Parameter aus dem aktuellen Durchlauf der Hauptschleife zur Verfügung stehen und eine Freigabebedingung erfüllt ist. (Mit dem Erzeuger/Verbraucher Prinzip komme ich also nicht weit). Die Zweite schleife soll bei Freigabe einmal ausgeführt werden und bis zur nächsten Ausführung warten bis die Parameter der nächsten Iteration zur Verfügung stehen.
Hintergrund ist der, dass ich in der zweiten Schleife ein Spannungs-Messkanal auf den Testablauf aufschalten will und eine Spannungsmessung vornehmen möchte. Dies soll aber nur während der lastfreien Phase geschehen (also in der im Beispiel beschriebenen Sequenz). Anbei ein Minimalbeispiel zur Erläuterung. Hat jemand von euch eine idee, wie man das realisieren kann? Habe bisher leider nichts dazu gefunden.

Vielen Dank schonmal für eure Hilfe


Angehängte Datei(en)
12.0 .vi  minimalbeispiel.vi (Größe: 60,99 KB / Downloads: 333)

8.0 .vi  minimalbeispiel_8.0.vi (Größe: 180,82 KB / Downloads: 259)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
31.08.2012, 13:16 (Dieser Beitrag wurde zuletzt bearbeitet: 31.08.2012 13:18 von Falk.)
Beitrag #2

Falk Offline
ja, das bin ich...
***


Beiträge: 343
Registriert seit: Jan 2006

8.0 :: 201x ::202x
2006
DE_EN


Deutschland
RE: Variablen zwischen zwei Schleifen übergeben und an bestimmter Stelle Ausführen

Akzeptierte Lösung

Synchronisiere doch beide Schleifen über einen (Notifier oder Queue). Die zweite parallel laufende Schleife wartet ja solange mit der Ausführung bis eine Notification eingetruddelt ist und läuft dann genau einmal durch. Anschließend wartet sie auf die nächste Notification usw. usw. Und als Daten kannst du doch genau deine Parameter etc. übergeben. Sprich das "Producer/Consumer"-Prinzip ist doch die erste Wahl. Oder habe ich hier irgendwo einen Knoten in der Denke?

Currently: zzzZZZZZZZZ
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.08.2012, 18:30
Beitrag #3

FelixH Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Aug 2012

2012
2012
EN


Deutschland
RE: Variablen zwischen zwei Schleifen übergeben und an bestimmter Stelle Ausführen
(31.08.2012 13:16 )Falk schrieb:  Synchronisiere doch beide Schleifen über einen (Notifier oder Queue). Die zweite parallel laufende Schleife wartet ja solange mit der Ausführung bis eine Notification eingetruddelt ist und läuft dann genau einmal durch. Anschließend wartet sie auf die nächste Notification usw. usw. Und als Daten kannst du doch genau deine Parameter etc. übergeben. Sprich das "Producer/Consumer"-Prinzip ist doch die erste Wahl. Oder habe ich hier irgendwo einen Knoten in der Denke?


Hallo,

der Knoten war wohl eher bei mir, hab mit dem Erzeuger-/Verbraucherprinzip mehr so zwei unabhängige Schleifen in Erinnerung, wobei die eine immer einen Stack vollädt und die andere diesen abarbeitet, die Geschwindigkeit beider Schleifen aber nicht synchron sein muss. Hat mit der Notification aber super geklappt und läuft wie geschmiert, Vielen Dank für den Tipp!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.08.2012, 22:22
Beitrag #4

Falk Offline
ja, das bin ich...
***


Beiträge: 343
Registriert seit: Jan 2006

8.0 :: 201x ::202x
2006
DE_EN


Deutschland
RE: Variablen zwischen zwei Schleifen übergeben und an bestimmter Stelle Ausführen
Hallo Felix,

schön dass ich helfen konnte. Aber mal vielleicht noch einen anderen Hinweis. Wenn ich es richtig verstehe laufen beide Schleifen mit der selben Rate? Falls ja warum überhaupt zwei Schleifen? Du kannst die Funktionalität beider Schleifen doch auch parallel in der einen zeitgesteuerten Schleife abbilden. Hierzu die Daten einfach in ein Shift-Register schieben und bei der nachfolgenden Iteration dann wieder lesen und beide Zweige eben parallel zueinander abarbeiten. Halt nur Sorge tragen dass beim 1. Durchlauf eben der eine Zweig (noch) nicht ausgeführt wird.

Schöne Grüße
Falk

Currently: zzzZZZZZZZZ
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.09.2012, 16:43
Beitrag #5

FelixH Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Aug 2012

2012
2012
EN


Deutschland
RE: Variablen zwischen zwei Schleifen übergeben und an bestimmter Stelle Ausführen
(31.08.2012 22:22 )Falk schrieb:  Hallo Felix,

schön dass ich helfen konnte. Aber mal vielleicht noch einen anderen Hinweis. Wenn ich es richtig verstehe laufen beide Schleifen mit der selben Rate? Falls ja warum überhaupt zwei Schleifen? Du kannst die Funktionalität beider Schleifen doch auch parallel in der einen zeitgesteuerten Schleife abbilden. Hierzu die Daten einfach in ein Shift-Register schieben und bei der nachfolgenden Iteration dann wieder lesen und beide Zweige eben parallel zueinander abarbeiten. Halt nur Sorge tragen dass beim 1. Durchlauf eben der eine Zweig (noch) nicht ausgeführt wird.

Schöne Grüße
Falk

Hallo,

ich fand es zunächst übersichtlicher eine getrennte Schleife zu Meßwerterfassung zu nehmen, hab das jetzt aber in der Tat so gemacht, dass alles in einer Schleife abläuft. Die Sache mit dem Notifier ist aber auf jeden Fall trotzdem nice to know Wink

Viele Grüße

Felix
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
  Messung HW getriggert nach bestimmter Impulsanzahl starten Tobias.K 6 5.513 06.02.2018 15:14
Letzter Beitrag: Tobias.K
  Zeitmessung zwischen zwei Ereignissen friele 34 24.312 14.03.2016 12:01
Letzter Beitrag: friele
  Zeitmessung zwischen zwei Signalen t-romeo 10 12.909 10.07.2015 10:36
Letzter Beitrag: t-romeo
  zwei Schleifen oder eine Schleife Hasenfuss 3 4.683 21.02.2013 16:23
Letzter Beitrag: Trinitatis
  Messung in bestimmter Zeitspanne FelixH 2 3.603 24.01.2013 09:33
Letzter Beitrag: FelixH
  Beenden der Impulserzeugung nach bestimmter Zeitdauer pwgt90 2 4.095 29.03.2012 08:52
Letzter Beitrag: pwgt90

Gehe zu: