LabVIEWForum.de - Parallelisierung von Schleifen

LabVIEWForum.de

Normale Version: Parallelisierung von Schleifen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,
mein Problem ist folgendes: ich muss ein Model für einen Regelungsversuch aufbauen. An diesem muss ich unter Nutzung von LabVIEW 8.5 gleichzeitig Messen- uns Steuernaufgaben durchführen.

Ich will einen Schrittmotor ansteuern, dazu erzeuge ich über digitale Ausgänge die 4 benötigten Bitfolgen innerhalb einer zeitgesteuerten While-Schleife. Das klappt recht gut.
Nun muss ich aber realisieren das der Motor mal schneller oder langsamer links/rechts dreht, bzw. stil steht.
Parallel dazu muss ich noch in mit einer anderen Zeitbasis Messen durcführen.
Ich habe nun gehofft, dass es möglich ist, zwei zeitgesteuerten While-Schleifen zu parallelisieren(durch die priorität oder so). Gedacht hab ich mir das wie eine Art interrupt-gesteuerter Ablauf bei dem ich die Zeitbasis des einen Interruptes ändern kann.

Existiert in LabVIEW eine Möglichkeit so etwas zu realisieren und wenn ja, wie geht das?

Danke für eure Mühe im Voraus!

mfg
=steffen=
' schrieb:Hallo,
mein Problem ist folgendes: ich muss ein Model für einen Regelungsversuch aufbauen. An diesem muss ich unter Nutzung von LabVIEW 8.5 gleichzeitig Messen- uns Steuernaufgaben durchführen.

Ich will einen Schrittmotor ansteuern, dazu erzeuge ich über digitale Ausgänge die 4 benötigten Bitfolgen innerhalb einer zeitgesteuerten While-Schleife. Das klappt recht gut.
Nun muss ich aber realisieren das der Motor mal schneller oder langsamer links/rechts dreht, bzw. stil steht.
Parallel dazu muss ich noch in mit einer anderen Zeitbasis Messen durcführen.
Ich habe nun gehofft, dass es möglich ist, zwei zeitgesteuerten While-Schleifen zu parallelisieren(durch die priorität oder so). Gedacht hab ich mir das wie eine Art interrupt-gesteuerter Ablauf bei dem ich die Zeitbasis des einen Interruptes ändern kann.

Existiert in LabVIEW eine Möglichkeit so etwas zu realisieren und wenn ja, wie geht das?

Danke für eure Mühe im Voraus!

mfg
=steffen=


Mir fällt dazu nur ein über events zu arbeiten:

Die eine Schleife erzeugt bei jedem Durchlauf (bzw. wenn nötig) ein Event, welches die andere Schleife abarbeitet.

Bzw um Daten auszutauschen schlägt NI die Queues vor (siehe Producer-Consumer-Template)
Hi,

zwei zeitgesteuerte Schleifen zu parallelisieren ist auf jeden Fall möglich.

Wie steuerst du denn deinen Schrittmotor? Erfolgt pro (passender) Sequenz ein Schritt?
Falls dem so ist würde ich die Geschwindigkeit nicht über die Zeitbasis deiner Zeitgesteuerten Schleife realisieren. Eher würde ich die Zeitbasis auf die schnellste zu erwartende Frequenz stellen und die Ausgabe über ein Wait, oder - noch besser - über die Samplerate steuern.
Sende doch einfach in der maximal zu erwartenden Frequenz Daten hinaus. Wenn du den Motor langsamer ansteuern willst, dann sende zwischendurch "0 Sequenzen".
Die Zeitbasis der Schleife zu ändern halte ich für den falschen Ansatz.

Grüße
Referenz-URLs