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 

Ausgang bei case-Struktur



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!

26.11.2008, 12:10 (Dieser Beitrag wurde zuletzt bearbeitet: 06.08.2012 13:42 von jg.)
Beitrag #1

capitano Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Oct 2008

8.6
2008
de

92224
Deutschland
Ausgang bei case-Struktur
Hallo,

ich hab eine Frage zu der case-struktur.
Ich führe in der case-Struktur eine Zeitmessung durch und verarbeite die aufegenommenen Zeiten dann später weiter.
Es ist so, dass diese case-struktur in einer while-Schleife immer wieder aufgerufen wird und dann bei FALSE eine Zeit misst. Im Fall TRUE soll gar nichts passieren.

Das Problem ist nun, dass ich die nur Daten(orange Linie) aus dem FALSE-case danach in einer Tabelle weiterverarbeiten will. Man muss ja aber auch Daten für den anderen case definieren(z.B. "Standard verwenden, wenn nicht verbunden"), somit habe ich auch Daten die ich nicht brauche.

Kann ich es irgendwie verhindern, dass im TRUE-case DAten ausgegeben werden?


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
26.11.2008, 13:02 (Dieser Beitrag wurde zuletzt bearbeitet: 26.11.2008 13:03 von toaran_.)
Beitrag #2

toaran_ Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 237
Registriert seit: Feb 2007

2012
2006
EN

90763
Deutschland
Ausgang bei case-Strutur
Hallo

das geht ganz einfach.. einfach ein schieberegister an der While schleife erstellen und die daten im true case da hinein speichern..im false case dann einfach durch leiten ...

siehe hier ....
Lv71_img

Sonstige .vi  schieberegister_simple.vi (Größe: 18,17 KB / Downloads: 298)


T
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.11.2008, 13:09
Beitrag #3

Ice Lord Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 79
Registriert seit: Sep 2008

8.2, 8.5
2008
de

82256
Deutschland
Ausgang bei case-Strutur
' schrieb:Hallo,

ich hab eine Frage zu der case-struktur.
Ich führe in der case-Struktur eine Zeitmessung durch und verarbeite die aufegenommenen Zeiten dann später weiter.
Es ist so, dass diese case-struktur in einer while-Schleife immer wieder aufgerufen wird und dann bei FALSE eine Zeit misst. Im Fall TRUE soll gar nichts passieren.

Das Problem ist nun, dass ich die nur Daten(orange Linie) aus dem FALSE-case danach in einer Tabelle weiterverarbeiten will. Man muss ja aber auch Daten für den anderen case definieren(z.B. "Standard verwenden, wenn nicht verbunden"), somit habe ich auch Daten die ich nicht brauche.

Kann ich es irgendwie verhindern, dass im TRUE-case DAten ausgegeben werden?

Eine weiter Möglichkeit wäre eine Event Struktur. bei der du halt sagst das er bei FALSE messen soll, ansonsten soll er halt nix machen....
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.11.2008, 13:28 (Dieser Beitrag wurde zuletzt bearbeitet: 26.11.2008 13: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
Ausgang bei case-Strutur
' schrieb:das geht ganz einfach.. einfach ein schieberegister an der While schleife erstellen und die daten im true case da hinein speichern..im false case dann einfach durch leiten ...
... und altenativ kann man die Anzeige auch im Case selbst aufdatieren, so daß man keinen Anschluß nach außen hin braucht. Wenn man die Daten dann irgendwo anders braucht, liest man die Daten mit einer lokalen Variablen.
Es sollte möglichst so konfiguriert werden, daß die Lokale Variable sich nicht voll in der womöglich zeitkritischen Hauptschleife befindet. Also z.B anderes herum machen als ich im Beispiel: Für das gelegentliche aufdatieren im Case die Lokale Variable verwenden, Auslesen in der Haupschleife mit dem Element selbst.
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.11.2008, 13:41
Beitrag #5

capitano Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Oct 2008

8.6
2008
de

92224
Deutschland
Ausgang bei case-Strutur
Hey, danke für die schnellen Antworten.

Hab es mit dem Schieberegister ausprobiert und hat super funktioniert...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.07.2012, 09:32
Beitrag #6

Linsche Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Jul 2012

2011
2012
EN


Deutschland
RE: Ausgang bei case-Strutur
Hallo,

ich habe auch ein Zeitmessungsproblem in einer Case-Struktur und hoffe es kann mir jemand behilflich sein.

Ich benutze das LabView-Beispiel 'Advanced Peak-Detector' und möchte nun auch zu jedem Peak der gefunden wird, den genauen Zeitpunkt, zu dem er gefunden wird ermitteln. Wenn ein Peak ermittelt wird, so springt das Programm in eine Case-Struktur in den Fall 3 (siehe angehängtes VI). Deshalb habe ich in diesen Case ein Get Time Vi eingebunden. Das Ganze Soll dann ausgegeben werden. Später möchte ich daraus noch ein Array machen, sodass ich die Zeiten zusammen mit den Amplituden in eine Datei speichern kann.
Mein Problem sind jetzt jedoch die anderen Cases, was mach ich in die denn rein, damit das Programm funktioniert? Wenn ich auf den Tunnel gehe und Use Default if Unwired aktiviere, passiert gar nichts und wenn ich einfach eine Variable=0 damit verbinde, bekomme ich eine Minizahl raus, die immer gleich bleibt. Ich vermute mal, dass das die Zeit ist, die die Case Sruktur zum verarbeiten der Daten braucht.

Ich hoffe ich konnte mich halbwegs verständlich machen. Ich bin noch blutiger Anfänger bei LV und besitze noch nicht den nötigen Fach-Jargon.

Grüße und schonmal vielen Dank,
Linsche


Angehängte Datei(en)
11.0 .vi  PeakSub1.2.vi (Größe: 40,03 KB / Downloads: 132)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.07.2012, 09:41 (Dieser Beitrag wurde zuletzt bearbeitet: 31.07.2012 09:42 von GerdW.)
Beitrag #7

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Ausgang bei case-Strutur
Hallo Linsche,

deine Peak-Erkennung basiert auf Werte-Arrays. Ich nehme an, diese Arrays kommen aus einen DAQmxRead (oder gleichwertigen Funktionen) und enthalten Signaldaten, die gleichmäßig mit einer Samplerate abgetastet wurden. Du berechnest den Zeitpunkt eines Peaks deshalb aus dem Sampleindex und deinem dir aus der Samplerate bekannten dt.

Der Zeitpunkt, zu dem die Case-Struktur ausgeführt wird, hat dagegen selten etwas mit dem zeitlichen Auftreten eines Peaks zu tun...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.07.2012, 14:43
Beitrag #8

Linsche Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Jul 2012

2011
2012
EN


Deutschland
RE: Ausgang bei case-Strutur
Hallo GerdW,

danke für die schnelle Antwort.
Ich möchte meine Daten letztendlich wirklich mit einer Datenaquisitions-Karte aufnehmen, da diese aber leider noch auf sich warten lässt habe ich derzeit einen Signalgenerator eingebaut.

Der Case Nr. 3, den ich meine, wird nur dann aufgerufen, wenn ein Peak detektiert wurde.
Allerdings habe ich heute nochmal den ganzen Tag rumprobiert und nehme nun den # found ausgang aus dem Peak Detektor VI, der high wird, wenn ein Peak gefunden wurde. Alles in allem funktioniert die Zeitdetektion jetzt auch ABER: leider nur, wenn ich das Programm mit dem kleinen Lämpchen an langsam durchlaufen lasse. Dann bekomme ich meine Zeitwerte in mein Array geschrieben. Wenn ich das Programm dann normal laufen lasse, bekomme ich nur Nullen.
Kann die Zeit so schnell, wie der Peak kurz da ist, nicht ermittelt werden? Oder was mache ich falsch?

Danke und Gruß,
Linsche


Angehängte Datei(en)
11.0 .vi  PeakSub1.3.vi (Größe: 51,76 KB / Downloads: 148)

11.0 .vi  Peak Detector2.5.vi (Größe: 300,17 KB / Downloads: 141)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.07.2012, 14:53
Beitrag #9

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Ausgang bei case-Strutur
Hallo Linsche,

Zitat:Wenn ich das Programm dann normal laufen lasse, bekomme ich nur Nullen. Kann die Zeit so schnell, wie der Peak kurz da ist, nicht ermittelt werden? Oder was mache ich falsch?
Nochmal: du willst nicht den Zeitpunkt wissen, wann du den Peak detektierst, sondern den Zeitpunkt, wann er aufgetreten ist. Dies ist ein himmelweiter Unterschied!

Nochmal: Dein DAQmxRead liefert Samples mit (meist) festem dt. Der PeakDetector liefert dir nicht nur die Anzahl der Peaks, sondern auch deren Positionen. Nutze die Positionen, um über den Sample-Index und dt den Zeitpunkt des Samples zu berechnen!

Man kann dein VI aufgrund eines fehlenden subVI nicht testen. Außerdem sieht man so leider nicht, was du mit dem einen Sample vom SimulateSignal machst und wie du damit ein Array erstellst...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.08.2012, 07:53
Beitrag #10

Linsche Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Jul 2012

2011
2012
EN


Deutschland
RE: Ausgang bei case-Strutur
Hallo Gerd,

sorry erstmal für die späte Antwort, aber früher ging es diesmal einfach nicht.

Danke für die schnellen Antworten und ich hatte auch schon überlegt, ob man nicht die Zeit durch die Positionen berechnen könnte....hatte aber leider keine Vorstellung wie.
Leider stehe ich bei einer Sache doch noch mega auf dem Schlauch...was bedeutet denn dt? Blush

Und hier nun noch einmal das komplette Programm mit alles SubVIs.

Danke


Angehängte Datei(en)
11.0 .vi  Peak Detector2.5.vi (Größe: 300,17 KB / Downloads: 161)

11.0 .vi  PeakSub1.3.vi (Größe: 51,76 KB / Downloads: 135)

11.0 .vi  QueueSub.vi (Größe: 35,29 KB / Downloads: 137)
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
  Case-Struktur: Angegebener Case nicht vorhanden braendy 10 4.841 02.02.2021 15:05
Letzter Beitrag: Lucki
  Case Struktur 2 Schleifendurchläufe verzögert True setzen aber sofort auf False bachatero18 4 4.431 07.11.2020 14:08
Letzter Beitrag: Martin.Henz
  CAN Nachrichten in Array verarbeiten und aus Case Struktur weiterverarbeiten Tomate27 4 3.690 17.07.2020 13:30
Letzter Beitrag: Tomate27
  Steuerung, Case-Struktur pixie_2 4 3.234 16.04.2020 14:30
Letzter Beitrag: GerdW
  Event Case Ignoriert Tastendruck wenn in Gegenwart eines anderen "Leeren" Event Case Ksanto 8 6.627 23.10.2017 09:08
Letzter Beitrag: Ksanto
  Case-Struktur führt True und False aus (Ereignisschleife) HIMI 11 7.623 24.08.2017 13:04
Letzter Beitrag: HIMI

Gehe zu: