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 

Datenübergabe von For-Schleife in While-Schleife



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!

03.04.2017, 15:43
Beitrag #1

MR_Engineer Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Oct 2016

2014
2016
DE



Datenübergabe von For-Schleife in While-Schleife
Guten Tag zusammen,

ich steh gerade auf dem Schlauch. Ich hab ein Vi welches mir einen regelmäßigen Impuls mit einer For-Schleife erzeugt. Überprüfen lässt es sich über ein Kurvendiagramm und ein Boolsches Anzeigeelement. Soweit so gut wie gewünscht. Nun hab ich eine While-Schleife drum herum gelegt für die dauerhafte ausführung. In der While Schleife soll nun mein DAQ Schreiben mit "Digital 1D Bool 1 Kanal 1 Sample" den Wert des Impulses bekommen (wie als ob er in der For-Schleife ist). Nur ich bekomm den Boolschen Wert nicht aus der For-Schleife. Ich hab schon induzierte Tunnel benutzt aber ohne Ergebnis.
ich würde mich freuen, wenn jemand einen Tipp hat. Das Vi ist angehängt
Vielen Dank


Angehängte Datei(en)
14.0 .vi  PMW_Sub.vi (Größe: 23 KB / Downloads: 157)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
03.04.2017, 15:52 (Dieser Beitrag wurde zuletzt bearbeitet: 03.04.2017 15:54 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Datenübergabe von For-Schleife in While-Schleife
Hallo MR,

du schreibst "Dieser Wert wird benötigt" - aber sagst nicht, aus welcher Iteration!?

Du generierst in der FOR-Loop 50mal einen boolschen Wert und erzeugst damit (auf IMHO falsche Art und Weise) ein Array.
Welchen dieser 50 Werte benötigst du denn außerhalb der FOR-Loop?
Und warum holst du dir diesen Wert nicht einfach aus dem Array?

Ich gehe mal davon aus, dass du jeden dieser 50 Werte außerhalb der Schleife benötigst - und zwar parallel zur FOR-Loop!
Lösung: du solltest die FOR-Loop nicht in die While-Loop packen, sondern parallel dazu! THINK DATAFLOW!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.04.2017, 19:05
Beitrag #3

MR_Engineer Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Oct 2016

2014
2016
DE



RE: Datenübergabe von For-Schleife in While-Schleife
Hallo Gerd,

ich benötige lediglich die steigende bzw. obere Flanke des Impulses, die anderen Daten wie Schleifendurchläufe, Tastgrad und Zykluszeit leg ich als Konstante fest. Der Sinn der Gechichte ist, dass ich eine Pulsweite bekomme und damit über Digital Out ein Impulssignal erzeuge (weil ich leider keine Karte mit Counter Funktion zur Verfügung habe...). Allerdings verarbeite ich noch andere DO in meinem Main Programm. Die Pulsweiten Modellierung soll als SubVi periodisch den Wert 1 an die das DAQmx-Schreiben weiter geben, quasi so als ob jemand ein Boolsches Bedienelement periodisch betätigt. Ich hoffe man kann es verstehen2hands. Das VI ist von der NI Seite aber ich kann das DAQmx-Schreiben in der For-Schleife nicht umgehen. Das ist das Problem. ich hätte gerne eine Trennung

Vielen Dank

Gruß Mario


Angehängte Datei(en)
14.0 .vi  PWM_output_SW-timed_with_digital_line (vers 8.2) (2).vi (Größe: 28,94 KB / Downloads: 155)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.04.2017, 19:51
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Datenübergabe von For-Schleife in While-Schleife
Hallo MR,

Zitat:Allerdings verarbeite ich noch andere DO in meinem Main Programm. Die Pulsweiten Modellierung soll als SubVi periodisch den Wert 1 an die das DAQmx-Schreiben weiter geben, quasi so als ob jemand ein Boolsches Bedienelement periodisch betätigt.
Du willst also mehrere Schleifen parallel arbeiten lassen und zwischen den Schleifen Daten austauschen: das hört sich noch einer grundlegenden Aufgabe für einen LabVIEW-Programmierer an… Big Grin

Im einfachsten Fall schreibst du in deiner PWM-Schleife den aktuellen Zustand in eine globale Variable und liest diese Variable in deiner DO-Schleife aus. Das Problem dabei ist nur die zeitliche Abstimmung beider Schleifen, die halt stark von den Taktraten der beiden Loops abhängt. Andere, evtl. "schönere" Alternativen bieten Notifier oder Queues…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.04.2017, 20:04
Beitrag #5

MR_Engineer Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Oct 2016

2014
2016
DE



RE: Datenübergabe von For-Schleife in While-Schleife
Hallo Gerd,

ja da hast du recht, eigentlich nur Daten zwischen zwei Schleifen austauschenBig Grin

Ich denke du hast recht mit dem Problem der Taktraten. Die PWM taktet ganz anders als die While-Schleife der anderen Daten. Da werde ich um Queues wohl nicht herum kommen.
Vielen Dank für deine Zeit

Gruß Mario
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.04.2017, 20:23
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Datenübergabe von For-Schleife in While-Schleife
Hallo MR,

Zitat:Die PWM taktet ganz anders als die While-Schleife der anderen Daten. Da werde ich um Queues wohl nicht herum kommen.
Deine DO-Schleife sollte schneller laufen als die PWM-Schleife. Und ich würde eher Notifier als Queues für diese Aufgabe nehmen…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Prüfstand mit LabVIEW ansteuern - Schleife mit vielen Zyklen Thomas_E 3 6.061 24.08.2023 13:43
Letzter Beitrag: Thomas_E
  Schleife stoppen in subVI illy777 31 13.547 14.09.2020 18:00
Letzter Beitrag: illy777
  ungebremste Schleife / laufendes VI finden Trinitatis 3 2.981 18.08.2020 13:13
Letzter Beitrag: Trinitatis
  While-Schleife sofort beenden ? RobertRoth 17 10.742 21.10.2019 11:00
Letzter Beitrag: RobertRoth
  Schleife Werte Ausgeben MarcelXX 4 3.915 30.08.2019 09:19
Letzter Beitrag: jg
  For-Schleife takten Christoph1993 4 3.996 23.06.2019 12:05
Letzter Beitrag: Christoph1993

Gehe zu: