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 

If Schleife und queues



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!

24.05.2013, 16:05
Beitrag #1

Danjo Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: Jan 2012

2009
2012
DE



If Schleife und queues
Hallo zusammen,

ich arbeite gerade daran eine Trägheitsplattform in unser LV-Messsystem zu integrieren. Der Hersteller hat hier schon VIs zur Kommunikation und zum Datenmanagement mitgeliefert. Allerdings wird in dem mitgelieferten Minimalbeispiel bei jedem Schleifendurchgang zunächst überprüft ob neue Messdaten vorliegen. Nur wenn neue Daten vorhanden sind werden diese auch übermittelt. Das Minimalbeispiel soll nun überarbeitet werden und in unser großes "MAIN-VI" integriert werden. Dort werden Daten von mehreren A/D-Wandler in einzelnen while-Schleifen erfasst und über queues in eine "Speicherschleife" transportiert, um tdms-files schreiben zu können.

Probleme bereitet mir hier insbesondere die if-Abfrage. Ich habe das Minimalbeispiel des Herstellers mal etwas erweitert und versucht die Daten in einer extraschleife zu speichern, allerdings bleiben die queues leer. Vielleicht sollte ich noch erwähnen, dass wenn keine neuen Daten gefunden wurden (Kommt öfter vor) ich die queue einfach durch die Schleifen durchlaufen lasse.

Hat jemand eine Idee wie ich das Problem beheben kann? Die samplingfrequenz des Trägheitssystems beträgt 100Hz und ich habe schon versucht über zeitgesteuerte Schleifen die if-Abfrage zu umgehen, doch leider verträgt sich dass nicht mit den Hersteller VIs.

Ich hab mal ein Bild des Minimalbeispiels angehängt. Ich hoffe dass mein Problem somit etwas deutlicher wird.
Bin für jede Hilfe/Anregung etc dankbar...

Viele Grüße

Danjo

Lv09_img2


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.05.2013, 17:37
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: If Schleife und queues
THINK Dataflow.
Deine TDMS Speicher-Schleife wird erst NACH Beendigung deiner Sequenz durchgeführt.
Willst du das wirklich?

Gruß, Jens

P.S. & offtopic: Hilfe, ein BD, das 6000x2300 Pixel groß ist.

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.05.2013, 11:10 (Dieser Beitrag wurde zuletzt bearbeitet: 25.05.2013 11:14 von GerdW.)
Beitrag #3

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: If Schleife und queues
Hallo Danjo,

Zitat:offtopic: Hilfe, ein BD, das 6000x2300 Pixel groß ist.
1. Das BD ist tatsächlich zu groß.
2. Warum hast du das Bild des BD noch einmal hochskaliert?

3. Sehr schön auch, wie du die Daten vom großen Cluster in die vielen kleinen umsortierst...
4. Sehr schön auch die "STOP"-Schleife unten rechts: IF STOP=FALSE THEN Boolesch=FALSE unter Zuhilfenahme einer Case-Struktur und einer Konstante. Warum nicht einfach Boolesch=STOP? Warum überhaupt "Boolesch"?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.05.2013, 14:55
Beitrag #4

Danjo Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: Jan 2012

2009
2012
DE



RE: If Schleife und queues
Hallo auch,

vielen Dank erst mal für eure schnellen Antworten.

Das mit der Bildgröße tut mir Leid. Ich gehe da so vor, dass ich das Blockschaltbild in LabVIEW als pdf ausdrucke und dann über Schnappschuss in Paint einfüge. Habe da extra näher rangezoomt damit man noch alles gut erkennen kann. War dann vielleicht etwas zu nah ;-). Wenn ihr eine Bessere Möglichkeit kennt Bilder zu machen kennt, dann immer her damit. Wenn ich direkt Screenshoots mache hab ich 4-5 Einzelbilder und die pdf- darf ich ja auch nicht ins Forum stellen oder?

Ich hab jetzt die tdms Schleife in die Sequenz neben die "Daten-while-Schleife" gelegt, aber leider immer noch keinen kontinuierlichen Datenfluss. Eine Sonde am Ausgang des "Element aus Queue entfernen "-Blocks zeigt mir "nicht ausgeführt" an. Wäre das so die korrekte Struktur? Die Daten sollen im späteren Gesamt-VI auf jeden Fall aus der "Daten-while-Schleife" herausgeführt werden...

Die if-Abfrage innerhalb der "Daten-while-Schleife" fragt ja bei jedem Schleifendurchgang ob neue Daten zur Verfügung stehen. Nur wenn ja wird der sichtbare Teil im Bild durchlaufen. Wenn nein habe ich nun versucht ein Array mit Nullen in die queue zu schreiben, leider auch ohne Erfolg.

Das umsortieren im Cluster hatte ich schon mal vorbereitet, weil später einige Daten noch überarbeitet werden sollen. Hab den Teil jetzt aber auch rausgenommen damit es übersichtlicher wird.

Die "Stop"-Schleife war ne Notlösung. Da wollte ich mit nur einem Stop-Knopf alle Schleifen beenden. Das soll später auch so funktionieren, allerdings macht es in großen VI ja keinen Sinn den Ausgang des Knopfes durch das VI in 12 verschiedene Schleifen zu ziehen, weshalb ich lokale Variablen benutzen wollte. Wenn ich den Ausgang direkt in eine lokale Variable schreibe bekomme ich allerdings immer eine Fehlermeldung, da es anscheinend zu einem dritten Zustand kommen kann. Weiß aber nicht mehr genau wie die Fehlermeldung hieß, hatte mich schnell dazu entschlossen das ganze so umzubauen, da es mir von Kollegen empfohlen wurde. Wenn es hierzu eine bessere Lösung gibt dann bin ich da natürlich auch für alles offen.

Ich hoffe ihr könnt mir noch mal weiterhelfen. Hab das überarbeitete VI als png angehängt. Diesmal etwas kleiner (Hoffe das ist so ok).

Viele Grüße

Danjo


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.05.2013, 15:14
Beitrag #5

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: If Schleife und queues
Ich wiederhole mich ungern, aber:
(24.05.2013 17:37 )jg schrieb:  THINK Dataflow.
Deine TDMS Speicher-Schleife wird erst NACH Beendigung deiner Sequenz durchgeführt.

Zwecks Screenshots:
Hängt ein wenig von deinem Betriebssystem ab:
Windows 7 hat ein Snapshot-Programm an Bord, es gibt aber auch genügend Freeware.
Oder du erstellst ein Snippet direkt aus LabVIEW 2009 heraus.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  LabVIEW Queues Schrankwand 3 4.451 14.12.2023 13:41
Letzter Beitrag: Schrankwand
  Bool Werte über Queues maxil 52 25.166 12.07.2019 14:00
Letzter Beitrag: GerdW
  Queues? flizzer82 14 30.785 23.05.2017 19:58
Letzter Beitrag: jg
  Queues VI übergreifend verwenden mdu 12 16.919 14.03.2015 15:34
Letzter Beitrag: Lucki
  Queues mit FGVs in Polymorphen VI Andre_A 7 7.415 17.05.2014 07:39
Letzter Beitrag: cb
  Dynamisch Queues erstellen Kiesch 9 11.419 24.06.2012 21:46
Letzter Beitrag: Kiesch

Gehe zu: