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 

Parallele Datenaufnahme, Erz-Verbr verbraucht irgendwann nicht mehr



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!

10.07.2012, 10:36 (Dieser Beitrag wurde zuletzt bearbeitet: 10.07.2012 10:38 von kiX.)
Beitrag #1

kiX Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Jul 2012

7.1
2010
DE



Parallele Datenaufnahme, Erz-Verbr verbraucht irgendwann nicht mehr
Hallo LV-Foristen,

ich habe ein Problem. Wink
Mein Chef fand es passend Big Grin, mich an ein Laborgruppen-Projekt zu setzen, welches seit 6 Jahren nicht in Gang zu kriegen ist, es geht um eine "Filmwaage". Kosten hat sie schon genug verschlungen (daher auch nur LV 7.1), 4 Diplomanden haben sich, mit mehr oder weniger logischem Verständnis, daran versucht, nun soll ich sie zum Laufen kriegen.
Das Ding ist komplett selbst gebaut, was dann "leider" auch die komplette Programmierung in LV beinhaltet.
Ärgerlicherweise beschränkten sich meine LV-Erfahrungen auf die Programmierung einer Steuer- und Auswertesoftware eines Spektrographen vor 2 Jahren, nur über einen Tag. Daher kenn ich mich einfach nicht mit LV aus. Sad Und ich bin hier im Haus noch derjenige, der sich damit am "meisten" auskennt. Bahn
Aber genug von meiner Inkompetenz, kommen wir zu meinem Problem:

Ich tüftel zur Zeit an der Motorsteuerung, simples nach links oder rechts fahren, dabei in kleinen Intervallen @1s Aufnahme von insg. 4-5 Messparametern. Dabei soll die Motorsteuerung möglichst NICHT von der Aufnahme der Daten beeinflusst werden.
Ich könnte natürlich ganz simpel "1cm fahren, Daten aufnehmen, 1cm fahren, Daten aufnehmen ..." programmieren, so war es auch ganz am Anfang (funktionierte dennoch nicht Big Grin).
Das Problem dabei ist die Bewegung der Barriere (durch den Motor getrieben), welche sich teilweise in Flüssigkeit befindet. Eine solche "step-by-step" Lösung führt zu starken Stoßwellen, welche wiederum die Probe massiv beeinflussen.

Also habe ich mich, nach langer und hoffentlich ausgiebiger Lektüre verschiedener Quellen, auch dieses Forums, an die "Erzeuger-Verbraucher-Schleife" rangemacht. Auf einmal kann ich mit minimaler Verzögerung in 50-Schritt-Blöcken (damit alle 50 Schritte die Stopbedingungen geprüft werden) fahren und alle 4 Blöcke die Motorposition aus der Erzeuger-Schleife in die Verbraucher-Schleife geben. Dabei läuft die Erzeuger-Schleife weiter, auch wenn der Verbraucher noch am arbeiten ist. Nahezu paralleler Ablauf, juhu!
Dabei gibt es aber zwei Probleme:
1. Wenn ich die Verbraucher-Schleife zu voll packe (mit noch mehr Graphen, noch mehr Datenaufnahmen) oder den Waittimer in der Verbraucherschleife (zur Beeinflussung des Ausgabe-Intervalls) zu hoch setze (zB testweise 5000ms), läuft zwar der Erzeuger normal weiter, jedoch "streikt" die Verbraucherschleife irgendwann (meist gleich ab dem ersten Durchlauf).
D.h. es werden ständig neue Parameter in die Queue gesetzt, die Verbraucher-Schleife holt sich jedoch keine raus, obwohl sie zZ GARnichts tut. Und es ist nicht so, dass sie mal einen Durchlauf "auslässt", sie hört dann komplett auf zu arbeiten. Warum und wie kann man das beheben? Big Grin

2. Man hört ganz deutlich, dass die Motorsteuerung kurz aussetzt, wenn die Verbraucher-Schleife arbeitet. Das ist aus oben genannten Gründen unschön. Dass es nicht an der Übergabe des Parameters in die Queue in der Erzeuger-Schleife liegt, kann ich schnell sehen, wenn ich die gesamte Datenauswertung (4 Graphen abbilden, Messwerte in 2 Dateien schreiben) aus dem Verbraucher rauslösche - dann funktioniert das nämlich "reibungslos". Ich kenne das Problem von (alten?) LabView(-Versionen?), dass das Programm überhaupt nicht damit umgehen kann, wenn nebenbei noch was anderes passiert (Mausclick ahoi) und dann sofort hakt. Ist das hier auch der Grund? Hakt die Motorsteuerung, weil die Verbraucherschleife nun auch Rechenleistung benötigt? Wenn ja, kann man das beheben? Wenn nein, wie kann man das beheben? Lol


Ich habe mal sowohl Screenshots als auch ein Beispiel-VI (Queue_Template2.vi) samt SubVIs angehängt (die letzten 2 SubVIs folgen im nächsten Post).

Ich bitte daher um Hilfe (auch abseits der genannten Probleme, bin immer dafür zu haben) Wink

Danke und mit freundlichen Grüßen,
Niels

Anhänge Teil 2


Angehängte Datei(en) Thumbnail(s)
       

7.1 .vi  Queue_Template_2.vi (Größe: 279,3 KB / Downloads: 185)

7.1 .vi  LVDT.vi (Größe: 35,8 KB / Downloads: 191)

7.1 .vi  TempReg_all.vi (Größe: 156,73 KB / Downloads: 172)

7.1 .vi  MS2_sub.vi (Größe: 28,35 KB / Downloads: 172)

7.1 .vi  MS3_sub.vi (Größe: 28,14 KB / Downloads: 170)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
30
Antwort schreiben 


Nachrichten in diesem Thema
Parallele Datenaufnahme, Erz-Verbr verbraucht irgendwann nicht mehr - kiX - 10.07.2012 10:36

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  [split] Button reagiert nicht mehr samba 13 7.458 19.04.2021 09:30
Letzter Beitrag: samba
  Parallele Frequenz-Datenerfassung mit NI-9401 ArneS 5 4.017 18.02.2021 09:41
Letzter Beitrag: GerdW
  parallele Ausführung von for-loops stsc 5 5.017 24.07.2019 15:12
Letzter Beitrag: stsc
  Programm funkioniert nach LV-Neustart nicht mehr TeCruz 9 6.110 23.03.2018 13:33
Letzter Beitrag: TeCruz
  LabVIEW startet nicht mehr Fredy 8 7.454 08.12.2017 15:40
Letzter Beitrag: Fredy
  Durch Schließen des SubVIs reagiert das Haupt VI nicht mehr?! C.Maier 2 3.957 07.10.2016 07:52
Letzter Beitrag: Lucki

Gehe zu: