' 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.