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-Schleife verfälscht Array-Inhalt



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!

20.05.2009, 09:42
Beitrag #1

NafeZ Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 95
Registriert seit: Apr 2009

8.5.1
2008
en

12345
Deutschland
For-Schleife verfälscht Array-Inhalt
Moin moin,

ich habe ein VI geschrieben mit dem man analoge und digitale Signale, an einem USB-Gerät, ausgeben können soll.

Nun habe ich alle Parameter in Cluster unteilt. Ein Cluster beinhaltet mögliche Ausgänge (16x Checkbox), ein weiteres einstellbare Frequenzen (16xTextring) usw. In meiner Vorstellung ist es nun so, dass ich das Cluster in ein Array umwandle und in einer Schleife durchlaufe. Da wo die Checkbox angewählt ist (CaseStruktur) soll dann ein Signal auf den entsprechenden Kanal und mit der eingestellten Frequenz generiert werden. Es soll also pro Schleifendurchlauf ein, je nach Index, ensprechender Kanal mit einem Signal gespeist werden.

1. Frage: Ist das generell möglich?

Nun zu meinem eigentlichen Problem, wenn Frage 1 mit einem ja beantwortet werden kann ...

Wenn ich das VI starte und eine Probe mache (bspw. für Digitalausgabe), dann stehen im Cluster die Werte, die ich im Frontpannel eigegeben habe korrekt drin. Die Feldwerte stimmen mit den Clusterwerten auch überein (nach Konvertierung). Sobald das Wire aber die Schleife betritt, werden die Feldwerte "False" oder "0".

2. Frage: Was stimmt da nicht?

3. Frage: Ist mein Ansatz für die Hardwareansteuerung (DAQmx) einigermaßen richtig?


VI-Version 8.51
Sonstige .vi  SOE_TRA_SYSTEMTEST_VI.vi (Größe: 126,72 KB / Downloads: 203)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
20.05.2009, 10:38 (Dieser Beitrag wurde zuletzt bearbeitet: 20.05.2009 10:39 von Achim.)
Beitrag #2

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
For-Schleife verfälscht Array-Inhalt
Das boolesche Array, das du über das Schiebregister und dann in die Schleife führst, hat beim ersten Durchlauf null Elemente...darum wird die FOR-Schleife null mal ausgeführt, egal was sonst noch angeschlossen ist! Du musst das SR initialisieren!

Die HW-Ansteuerung würde ich so machen:

1. Vor der While-Schleife "Channel genrieren"
2. In der While-Schleife, Iteration=0: "Task starten"
3. In der While-Schleife, Iteration=0...n: "Output"
4. Nach der While-Schleife: "Stop Task" + "Clear Task"

...und eigentlich sollte der Output nur neu geschrieben werden, wenn sich was verändert (Frequenz etc), ansonsten macht die HW die Generierung automatisch fortlaufend!

Und was soll das Metronom in der FOR-Schleife bewirken? SW-Timing für die HW-Ausgabe? Wenn ja: Das ist UNGENAU!

Gruß
Achim

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.05.2009, 12:34
Beitrag #3

NafeZ Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 95
Registriert seit: Apr 2009

8.5.1
2008
en

12345
Deutschland
For-Schleife verfälscht Array-Inhalt
' schrieb:Das boolesche Array, das du über das Schiebregister und dann in die Schleife führst, hat beim ersten Durchlauf null Elemente...darum wird die FOR-Schleife null mal ausgeführt, egal was sonst noch angeschlossen ist! Du musst das SR initialisieren!

Die HW-Ansteuerung würde ich so machen:

1. Vor der While-Schleife "Channel genrieren"
2. In der While-Schleife, Iteration=0: "Task starten"
3. In der While-Schleife, Iteration=0...n: "Output"
4. Nach der While-Schleife: "Stop Task" + "Clear Task"

...und eigentlich sollte der Output nur neu geschrieben werden, wenn sich was verändert (Frequenz etc), ansonsten macht die HW die Generierung automatisch fortlaufend!

Und was soll das Metronom in der FOR-Schleife bewirken? SW-Timing für die HW-Ausgabe? Wenn ja: Das ist UNGENAU!

Gruß
Achim

Danke für deine schnelle Antwort schonmal!

zu 1. bis 4. : so?
Sonstige .vi  SOE_TRA_SYSTEMTEST_VI.vi (Größe: 137,51 KB / Downloads: 201)
LV 8.5.1

Zu dem Metronom. Das diente eigentlich dazu die LEDs im ensprechenden Takt blinken zu lassen (je nach dem wie eingestellt). Dafür sollten auch die Schieberegister dienen. Ich hab das wo abgeguckt und dann einfach mal probiert.Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.05.2009, 14:25 (Dieser Beitrag wurde zuletzt bearbeitet: 20.05.2009 14:28 von Lucki.)
Beitrag #4

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
For-Schleife verfälscht Array-Inhalt
Habe mir das Vi mal angesehen, gehe aber jetzt nicht auf das Problem und die Diskussion ein.
Möchte nur ein Tip loswerden: so viele Eigenchaftsknoten sollte man nicht in der zeitkritischen Hauptschleife platzieren.
Hier die Alternative. (Die alten Fehler wurden von mir nicht korrigiert)
Lv85_img
Sonstige .vi  SOE_TRA_SYSTEMTEST_VI_2.vi (Größe: 110,35 KB / Downloads: 182)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.05.2009, 11:55
Beitrag #5

NafeZ Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 95
Registriert seit: Apr 2009

8.5.1
2008
en

12345
Deutschland
For-Schleife verfälscht Array-Inhalt
Danke Lucki. Ist zwar erstmal spanisch, aber scheint ja perfomanter zu sein.Big Grin

Es wäre nett, wenn sich zur Signalausgabe nochmal jemand äußern würde. Die Version von Lucki ist auch meine aktuelle.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Inhalt einer Baumstruktur über Methodenknoten speichern funktioniert nicht... enone 2 3.886 10.05.2019 10:19
Letzter Beitrag: enone
Question Parallele FOR-Schleife: Parallel in gleiches Array schreiben..? wassersebastian 4 5.583 04.10.2016 11:18
Letzter Beitrag: wassersebastian
  Inhalt von einen x.vi in einem anderen Y.vi auslesen galilio 2 3.682 05.09.2016 12:45
Letzter Beitrag: galilio
  Spektren mit For-Schleife sortieren und in Array schreiben Daniel100 2 3.945 03.09.2016 08:25
Letzter Beitrag: Lucki
  1D-Array in 2D-Array mittels for-Schleife hama29 7 5.618 28.07.2016 11:54
Letzter Beitrag: GerdW
  Array aus while Schleife bekommen Squanchy 1 2.959 07.06.2016 16:00
Letzter Beitrag: Freddy

Gehe zu: