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 

2 While Schleifen parallel



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.03.2006, 10:47
Beitrag #11

marker Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 226
Registriert seit: Feb 2005

8.2.1
2002
kA


Deutschland
2 While Schleifen parallel
Hallo FilthHound,

hier der Lösungsvorschlag von oben mit Rendezvous.

Gruß,
Marko


Angehängte Datei(en) Thumbnail(s)
   

"Make it simple, make it strong!"
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
04.04.2006, 07:46
Beitrag #12

FilthHound Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: Mar 2006

LabView 11
2006
kA

55768
Deutschland
2 While Schleifen parallel
Hallo!

Danke für das Bild. Hab die Rendevouzs in mein Programm eingebaut...Programm läuft auch, allerdings ohne Veränderung zu vorher. Irgendwie scheint LabVIEW Probleme zu haben zwei Sachen parallel laufen zu lassen, da ja schon die LED die synchron mit der Achsenbewegung blinken soll erst anfängt zu blinken wenn die Bewegung beendet ist.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.04.2006, 09:12
Beitrag #13

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
2 While Schleifen parallel
Hallo Filth Hound, versuche das Blinking zuerst einzuschalten, also vor der Messung.

Gruss, Eugen


Angehängte Datei(en) Thumbnail(s)
   
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.07.2007, 15:18
Beitrag #14

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
2 While Schleifen parallel
' schrieb:Hallo Surfman, hier mein Vorschlag mit Occurences, aber es geht genauso mit Semaphoren.
Gruss, Eugen


Obwohl das Thema schon älter ist, schreibe ich doch was dazu. Die Semaphoren sind zwar zum Synchronisieren gedacht, Lösen diese Aufgabe aber nicht, weil die gerade adie umgekehrte Funktion erfüllen.
Genauer gesagt, wenn man zwei Whiles hat und möchte, dass die nacheinander ablaufen und nicht parallel. Meine Aussage, dass es genauso mit Semaphoren geht ist also falsch. Sorry, hab damals nicht dran gedacht.

eg

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.07.2007, 05:16
Beitrag #15

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
2 While Schleifen parallel
' schrieb:in beiden schleifen ist eine verzögerung von 100ms eingebaut aber trotzdem laufen beide nicht gleich...
Die Schleifen laufen synchron, wenn Du für die Verzögerung in den Schleifen anstelle der Uhr den Metronom benutzt.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.07.2007, 09:41
Beitrag #16

thomas.sandrisser Offline
LVF-SeniorMod


Beiträge: 1.298
Registriert seit: Sep 2005

xxxx
2005
EN

78759
United States
2 While Schleifen parallel
Zwei parallelE While-Schleifen absolut zu synchronisieren ist in dem Sinn nicht moeglich.
Mit der Timed Loop ist es moeglich, zwei Schleifen zur exakt gleichen Zeit zu starten, aber dann hat jede Schleife Ihre Eigendynamik.
Auch das Timen mit dem Metronom bringt nichts, weil bei einem Ueberlauf bereits eine ganze Iteration ausgesetzt wird (ok wenn es gewuenscht ist)...
Wenn beide Schleifen die gleiche Iterationszeit haben sollen und obendrein noch absolut synchron sein muessen...
...waere es dann nicht das einfachste, die Codefragmente von beiden Schleifen in eine zu packen? :-)

Wenn das nicht moeglich, dann wirst nur mit Timed Loops zum Ziel kommen und diese entsprechend so synchronisieren, dass bei einer Latency die fehlende Iteration asap aufgeholt wird, trotzdem der Basistakt nach wie vor eingehalten wird.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.07.2007, 11:12 (Dieser Beitrag wurde zuletzt bearbeitet: 28.07.2007 11:14 von Lucki.)
Beitrag #17

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
2 While Schleifen parallel
' schrieb:Auch das Timen mit dem Metronom bringt nichts, weil bei einem Ueberlauf bereits eine ganze Iteration ausgesetzt wird (ok wenn es gewuenscht ist)...

Mit "...bringt nichts" hättest Du nur recht, wenn in praktisch jeder Applikation solche Überläufe in den Schleifen die Regel wären. Ich würde aber eher sagen, daß das nur in seltenen, zeitkritischen Anwendungen ein Problem ist. Der Metronom ist also nicht immer, aber in sagen wie mal 98% der Anwendungen eine ausreichende Methode zur Synchronisation mehrerer Schleifen.

Zitat:Wenn beide Schleifen die gleiche Iterationszeit haben sollen und obendrein noch absolut synchron sein muessen...
...waere es dann nicht das einfachste, die Codefragmente von beiden Schleifen in eine zu packen? :-)
Gute Frage, aber wie macht man das, wenn die Schleifen in verschiedenen VIs laufen?

Anwendungshinweis für Metronom <---> Uhr:
Bei Verwendung der Uhr hat man nicht nur Phasenverschiebungen beim Start der beiden Schleifendurchläüfe, (- die oft nicht stören würden -) sondern es ist über längere Zeit auch mit Phasendrift zu rechnen (d.h die Durchlauffrequenzen unterscheiden sich geringfügig)
Bei Verwendung des Metronomes ist zu beachten, daß die voreingestellte Verzögerung (z.B 100ms) erst beim zweiten Durchlauf wirksam ist. Beim ersten Durchlauf sind es 1..100 ms. Will man das verhindern, muß man die Schleife(n) mit einem äußeren Metronom schon synchronisiert starten.

Man kann hier im Forum auch beobachten, daß versucht wird, Schleifen miteinander zu synchronisieren, bei denen das gar nicht nötig ist bzw. wo damit sogar Schaden angerichtet wird. Beispiel IO-Datenerfassung: Das IO-Read wartet geduldig, bis die angeforderten Daten erfasst sind. Ein Timer in der Schleife ist unnötig bis fehlerhaft. Ebenso synchronisieren sich bei Verwendung von Queues Sender und Empfänger bei richtiger Konfiguration von selbst, ein Timer sollte höchstens in einer der beiden Schleifen vorhanden sein. Ich würde sogar sagen, daß, wer die Synchronisation über Timer statt über Datenabhänggkeiten herstellt, irgendetwas falsch macht. Ich selbst habe das, was ich oben zu Synchronisation empfohlen haben, aus Büchern und selbst nie benutzt.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.02.2008, 14:44
Beitrag #18

abrissbirne Offline
LVF-Stammgast
***


Beiträge: 480
Registriert seit: Aug 2007

LV2009, LV2010
2007
EN

66123
Deutschland
2 While Schleifen parallel
' schrieb:Zwei parallelE While-Schleifen absolut zu synchronisieren ist in dem Sinn nicht moeglich.
Mit der Timed Loop ist es moeglich, zwei Schleifen zur exakt gleichen Zeit zu starten, aber dann hat jede Schleife Ihre Eigendynamik.
Auch das Timen mit dem Metronom bringt nichts, weil bei einem Ueberlauf bereits eine ganze Iteration ausgesetzt wird (ok wenn es gewuenscht ist)...
Wenn beide Schleifen die gleiche Iterationszeit haben sollen und obendrein noch absolut synchron sein muessen...
...waere es dann nicht das einfachste, die Codefragmente von beiden Schleifen in eine zu packen? :-)

Wenn das nicht moeglich, dann wirst nur mit Timed Loops zum Ziel kommen und diese entsprechend so synchronisieren, dass bei einer Latency die fehlende Iteration asap aufgeholt wird, trotzdem der Basistakt nach wie vor eingehalten wird.
Ich versuche zwei timed loop Schleifen parallel laufen zu lassen. Allerdings bekomme ich nach ein par fehlerfreien Druchläufen folgende Fehlermeldung:
LabVIEW: Cannot add timed structure to the active timed structure synchronisation group.

Danach läuft das VI wieder zwei bis dreimal fehlerfrei durch bis die Fehlermeldung erneut erscheint.

Kennt jemand das Problem?
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
  2 Schleifen parallel bedienen HTL_HL 3 3.968 12.02.2016 13:05
Letzter Beitrag: Lucki
  Mehrere Schleifen parallel ausführen! houss 7 12.129 06.08.2013 14:41
Letzter Beitrag: houss
  For Schleifen parallel Kova 9 8.279 23.11.2010 11:13
Letzter Beitrag: Kova
  Zwei While Schleifen Parallel eine Bedingung zur Beendung samuel-stinger 20 23.587 17.11.2010 17:37
Letzter Beitrag: TSC
  Pausieren von parallel ablaufenden Producer/Consumer Schleifen Aleph1 19 13.673 24.06.2010 12:38
Letzter Beitrag: Aleph1
  2 Schleifen Parallel laufen lassen ManuelH 3 10.534 13.05.2009 19:44
Letzter Beitrag: ImExPorty

Gehe zu: