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!
habe eine Frage zu meinem vi im Anhang bezüglich der Füllung des False Cases.
Die Messung soll erst gestartet werden, wenn die Ausgabeparameter gesetzt sind. Die Messung benötigt hierfür die Systeminfo die von der initialisierung durchgeschliffen wird.
Nur wie fülle ich den False case damit es funktioniert??? Ebenfalls durchschleifen geht ja nicht, da die Messung dann sofort beginnt ohne auf den Start des Setzens der Ausgabeparameter zu warten.
Oder ist eine andere Variante cleverer z.B. mit ereignisstruktur?
Ja das stimmt mit der Wartezeit,hatte ich vergessen
Naja, im False case muss der Knoten doch noch verbunden werden, sonst lässt sich das vi doch gar nicht starten.
Ich möchte aber ja das bei False "nichts" passiert und kann somit dort nicht auch ein System read vi einfügen
Oder?
ja das macht hier natürlich Sinn. Ich habe allerdings das schon so geplant dass die True False Abfrage vor der Messung geschieht. Da ich in meinem Programm später ein Array mit den gemessenen Werten erstelle und wenn ich dies alles in eine Case struktur packe, werden die Einträge sobald die Case struktur beendet wird gelöscht. (warum weis ich auch nicht). Aus diesem Grunde möchte ich gerne vor der Messung die Abfrage machen. Im Anhang ist das einmal gezeigt. Schleife 2 ist so wie du meintest?
Hoffe mein Problem ist noch klar?
15.08.2009, 15:30 (Dieser Beitrag wurde zuletzt bearbeitet: 15.08.2009 15:46 von Cerbi.)
1.) Wenn Auch nur eine Leitung aus einer Case Struktur hinausgeführt wird, dann muss klar sein was in jedem Case zu geschehen hat.
Wie du bereits gesagt hast, lässt LabVIEW das Programm nicht ausführen bevor das klar ist.
Darum solltest du auch MeasData2 in die Case Struktur ziehen!!!!!
2.) Wenn du nichts im False-Teil der Case Struktur hast, dann wird auch nichts gestartet, denn die Case Struktur, wird immer vorher abgefragt!!
(Empfehle: Highlight-Funktion ankucken)
3.) Wenn du nicht willst das alles andere nocheinmal abgearbeitet, sprich du willst das ganze Programm anhalten, dann würde ich ne Warteschleife einbauen!! In deinem Fall: Beim Ausgangsparameter setzen einfach den Status mit dem Ende der Schleife verbinden. Die Konstante musst natürlich weglassen. Das erspart dir auch die Status Variable!!!
Ps.: In der Warteschleife dann nicht das Metronom vergessen!! CPU Auslastung und so, du weißt schon!!
mfg Cerbi
Achja eins Hatte ich vergessen:
Normalerweise wird dein Array nicht gelöscht, esseiden du überschreibst es zu schnell oder du wählst Standard aus bei einem Tunnel!!
Standard = 0. Bei diesem Problem empfehle ich einfach einmal durchlaufen lassen oder "meine geliebte" Highlight Funktion.
Wer Rechtschreibfehler findet......... ..........kann sie behalten!!
[img]http://www.labviewforum.de/labviewforum1.gif[/img]
Zitat:3.) Wenn du nicht willst das alles andere nocheinmal abgearbeitet, sprich du willst das ganze Programm anhalten, dann würde ich ne Warteschleife einbauen!! In deinem Fall: Beim Ausgangsparameter setzen einfach den Status mit dem Ende der Schleife verbinden. Die Konstante musst natürlich weglassen. Das erspart dir auch die Status Variable!!!
Magst du mir da mal ein Beispiel zeigen? Ich versteh das jetzt so, wenn du anstatt status den error cluster mit der Schleife verbindest wird doch erst der inhalt vom error cluster nach dem Beenden der schleife ausgegeben. Ich möchte aber ja WÄHREND der Ausgabeparameter ausgabe die Messung bzw case starten. Vlt. hab ichs auch falsch verstanden, aber vielleicht wird das an einem Beispiel dann klarer.
Zitat:Normalerweise wird dein Array nicht gelöscht, esseiden du überschreibst es zu schnell oder du wählst Standard aus bei einem Tunnel!!
Standard = 0
wo wählt man den standard denn aus?
Wenn ein Array überschrieben wird, wodurch könnte das passieren?
Vielen Dank für die Hilfe.
H_S
16.08.2009, 09:10 (Dieser Beitrag wurde zuletzt bearbeitet: 16.08.2009 09:13 von jg.)
Ich weiß zwar jetzt nicht was beim Errorcluster rauskommt (TRUE o. FALSE) im Notfall einfach invertieren, jedoch wird die Schleife solange abgearbeitet bis der Status OK für den nächsten Schritt ist!!
Bild 2:
Eben MeasData2 in die Case Schleife einbinden.
Nochwas:
Mir ist aufgefallen, wenn du die Bedingung der while Schleife mit einer Konstante verbindest und die so is wie in deinem VI (FALSE), hast du eine Endlosschleife(Rot Markiert). Die Bedingung wird ja nie erfüllt!! Außerdem verstehe ich eines nicht ganz. Aus dem Sub VI kommt ein 2D Array raus, und machst mit der While ein 3D Array daraus(Grün markiert)?? Ist das absicht?
Bitte Melde dich, falls ich was falsch verstanden habe!
Wer Rechtschreibfehler findet......... ..........kann sie behalten!!
[img]http://www.labviewforum.de/labviewforum1.gif[/img]