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 

For 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!

23.11.2010, 09:48
Beitrag #1

Kova Offline
LVF-Grünschnabel
*


Beiträge: 49
Registriert seit: Sep 2010

2009
-
de


Deutschland
For Schleifen parallel
Hallo!

Ich habe ein kleines Problem bei einem Projekt das ich gerade mache.
Ich hab versucht zwei For schleifen parallel auszuführen. Das sind quasi 2 unterschiedliche Marker die ich bewege und wenn ich Sie parallel laufen lassen könnte würden sich bei mir die Fehler beim abtasten erheblich verkleinern!

Ich hänge einfach mal mein VI an und ich hoffe Ihr habt einpaar Ideen.
Es handelt sich um die zwei kleinen For Schleifen in der Mitte des VIs.

Vielen Dank im Voraus an alle!


LABVIEW 2009


Angehängte Datei(en)
Sonstige .vi  FINAL_BETA_1.3.1.vi (Größe: 118,03 KB / Downloads: 236)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.11.2010, 09:57 (Dieser Beitrag wurde zuletzt bearbeitet: 23.11.2010 10:02 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.427
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
For Schleifen parallel
Hallo Kova,

dann mach sie doch parallel!

Momentan sind die beiden Schleifen über die diversen Drähte (ErrorCluster, VISA) doch datenflußgesteuert serialisiert. Das musst du ändern!

Durch die ganzen fehlenden subVIs kann man natürlich schlecht beraten, was so an Datenabhängigkeiten etc. vorhanden ist... Beispiel: Der Abort-Button in der ersten FOR-Loop wird ja an die zweite Loop weitergereicht: diese läuft dann entweder komplett durch oder wird nach der ersten Iteration beendet. Hier könnte evtl. auch eine Case-Struktur für Klarheit sorgen. Evtl. könnte man auch beide For-Loops zu einer zusammenfassen, falls beide auf den gleichen Abort-Button hören sollen. Eine Parallelisierung der Abarbeitung könnte auch möglich sein (Rechtsklick auf Loop-Rahmen, Properties der FOR-Loop einstellen).

Diesen Abort-Button dann außerhalb (in der äußersten Schleife) per expliziter Referenz/PropertyNode (warum keine Property des Buttons?) abzufragen ist aber auch Overkill, hier würde auch eine lokale Variablen möglich sein (Vorteil: schneller, da kein Threadwechsel).

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.11.2010, 10:02
Beitrag #3

Kova Offline
LVF-Grünschnabel
*


Beiträge: 49
Registriert seit: Sep 2010

2009
-
de


Deutschland
For Schleifen parallel
Ich hab leider null Ahnung wie ich das machen könnteBig Grin
Kannst du mir Helfen und ein Bsp posten?
Ich wäre die sehr dankbar!

Gruß,
Armin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.11.2010, 10:06 (Dieser Beitrag wurde zuletzt bearbeitet: 23.11.2010 10:11 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.427
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
For Schleifen parallel
Hallo Kova,

Datenfluß-Abhängigkeiten verhindern bisher paralleles Abarbeiten, mach es eher so:
   
Immer vorausgesetzt, es ergeben sich keine Abhängigkeiten durch die subVIs (die ich, wie schon erwähnt, nicht beurteilen kann). Die VISA-Zugriffe können(/werden) sich natürlich gegenseitig beeinflussen/stören, aber das kannst du wohl besser als ich überprüfenSmile

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.11.2010, 10:09
Beitrag #5

Andora Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 124
Registriert seit: Jul 2008

2009
2001
de

81539
Deutschland
For Schleifen parallel
Hallo Kova,

' schrieb:dann mach sie doch parallel!

auch mein Vorschlag und anbei mein Beispiel.

Lv09_img2


da war GerdW schneller Smile


Angehängte Datei(en)
Sonstige .vi  FINAL_BETA_1_1_.3.1_tmp.vi (Größe: 91,07 KB / Downloads: 229)

Gruß,
Daniel
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.11.2010, 10:48
Beitrag #6

Kova Offline
LVF-Grünschnabel
*


Beiträge: 49
Registriert seit: Sep 2010

2009
-
de


Deutschland
For Schleifen parallel
Hallo!

So eine Ausführung habe ich mir schon gedacht. Das Problem ist nur das sich die Marker nur setzten, aber nicht bewegen und werte aufnehmen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
23.11.2010, 10:55
Beitrag #7

GerdW Offline
______________
LVF-Team

Beiträge: 17.427
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
For Schleifen parallel
Hallo Kova,

Zitat:aus Beitrag #4: Die VISA-Zugriffe können(/werden) sich natürlich gegenseitig beeinflussen/stören,
Du versuchst, parallel auf eine Ressource zuzugreifen. Das könnte gutgehen - wird es aber in den meisten Fällen eher nicht... Wenn dein Gerät abwechselnd irgendwelche Befehle gesendet bekommt, kommt es schnell mal durcheinander: soll ich jetzt Marker setzen oder doch noch einen alten Wert zurücksenden?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.11.2010, 11:01
Beitrag #8

Kova Offline
LVF-Grünschnabel
*


Beiträge: 49
Registriert seit: Sep 2010

2009
-
de


Deutschland
For Schleifen parallel
Genau das ist das ProblemBig Grin
Es hängt auch sehr viel vom Abort Button ab. Es bestimmt die Reihenfolge des Ablaufes.
Gibt es eine andere Möglichkeit das euch vielleicht einfällt?

Danke auf jeden Fall!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.11.2010, 11:05
Beitrag #9

GerdW Offline
______________
LVF-Team

Beiträge: 17.427
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
For Schleifen parallel
Hallo Kova,

schon mal in mein Bild oben geschaut? Lokale Variable beachten...
Der Abort-Button bestimmt nicht die Reihenfolge des Ablaufs, sondern nur, ob früher abgebrochen wird!

Alternativ:
FOR-Loops zusammenfassen und die Marker nacheinander setzen und passende Werte lesen. Aber das ist alles Rumstochern im Nebel, da du nichts zum Messgerät verraten hast...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.11.2010, 11:13
Beitrag #10

Kova Offline
LVF-Grünschnabel
*


Beiträge: 49
Registriert seit: Sep 2010

2009
-
de


Deutschland
For Schleifen parallel
Ich habe die Lokale Var schon beachtet.
Meine Marker bleiben halt aber nur stehen.
Sie werden nur gesetzt. Was interessiert dich denn genau? Auf dem anderen VIs sind nur die Parameter gesetzt, sonst nichts.
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.929 12.02.2016 13:05
Letzter Beitrag: Lucki
  Mehrere Schleifen parallel ausführen! houss 7 12.073 06.08.2013 14:41
Letzter Beitrag: houss
  Zwei While Schleifen Parallel eine Bedingung zur Beendung samuel-stinger 20 23.488 17.11.2010 17:37
Letzter Beitrag: TSC
  Pausieren von parallel ablaufenden Producer/Consumer Schleifen Aleph1 19 13.526 24.06.2010 12:38
Letzter Beitrag: Aleph1
  2 Schleifen Parallel laufen lassen ManuelH 3 10.487 13.05.2009 19:44
Letzter Beitrag: ImExPorty
  2 While Schleifen parallel Surfman 17 29.510 06.02.2008 14:44
Letzter Beitrag: abrissbirne

Gehe zu: