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 

zeitbasierte Druckverlaufsmessung



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!

12.05.2014, 13:16 (Dieser Beitrag wurde zuletzt bearbeitet: 12.05.2014 13:36 von jrraid.)
Beitrag #11

jrraid Offline
LVF-Grünschnabel
*


Beiträge: 13
Registriert seit: Apr 2014

2012/2013
2011
EN


Deutschland
RE: zeitbasierte Druckverlaufsmessung
Hi Gerd,

Zitat:- wenn du kontinuierlich lesen willst, musst du nur ganz ganz selten wirklich die Buffergröße über "Samples to read" am DAQmxCreateChannel festlegen. Das macht DAQmx schon selbst ganz gut.
hab ich versucht, allerdings läuft mein VI dann nicht. Mit Buffer gehts. Sollte ja keine großen Nachteile bringen wen ich den Buffer vorgebe ?

Zitat:- wenn du Daten lesen willst, dann hat es sich bewährt, feste Blockgrößen abzufragen - und nicht wie du "aufwendige" QR-Rechnungen in Statemachines durchzuführen. Einfach Blöcke mit 40k Samples abfragen und gut ist!
jup, gemacht.

Zitat:- Diese Blöcke dann in einer Producer-Consumer-Struktur an eine zweite Schleife zur Berechnung weiterrreichen.
- Notfalls Queue-Größe überwachen und (falls deine Rechnung nicht hinterherkommt) überzählige Blöcke verwerfen…
Producer-Consumer sagt mir nur im Zusammenhang mit Message Queue was. Ich hab die Berechnung jetzt in ne andere Schleife gepackt. Ist es das was du meintest? Funktioniert auf jedenfall jetzt noch besser wenn ich das so mache.

Zitat:Du kannst alternativ auch dein Drucksignal zwischen den Pulsen interpolieren. Ist erheblich weniger Rechenaufwand und funktioniert auch mit jedem Drehgeber!
Wir verwenden an unserem Prüfstand einen Geber mit 360Pulsen/Umdr. Meine Software interpoliert von diesen 1°KW auf <0.1°KW…
Jap ist sicherlich auch eine gute Lösung. Das Problem dabei ist aber, wenn beispielsweise das Druckmaximum zwischen 2 Flanken liegt dann wird da einfach drüber interpoliert und ich bekomme keine Aussage darüber wie Hoch das wirklich Druckmaximum ist. Wenn ich den Druckverlauf zeitbasiert messe bekomme ich ein sehr genaues Abbild und nehme dafür nur eine gewisse unschärfe im Drehzahl- bzw Winkelverlauf zwischen 2 Flanken hin. Habs versucht mal kurz in nem Bild zu visualisieren. Rote Kurve ist der interpolierte Verlauf.


Angehängte Datei(en) Thumbnail(s)
   

11.0 .vi  test_2011_v2.vi (Größe: 55,3 KB / Downloads: 114)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
12.05.2014, 13:56
Beitrag #12

jrraid Offline
LVF-Grünschnabel
*


Beiträge: 13
Registriert seit: Apr 2014

2012/2013
2011
EN


Deutschland
RE: zeitbasierte Druckverlaufsmessung
Sorry ich nehms zurück. So funkionier das VI nich mit der zweiten While-Schleife. Meinst du das hier mit Producer-Consumer ? http://www.ni.com/white-paper/3023/en/ Ich seh den Zusammenhang nicht ganz.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.05.2014, 13:59 (Dieser Beitrag wurde zuletzt bearbeitet: 12.05.2014 14:02 von GerdW.)
Beitrag #13

GerdW Offline
______________
LVF-Team

Beiträge: 17.411
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: zeitbasierte Druckverlaufsmessung
Hallo jrraid,

Zitat:Meinst du das hier mit Producer-Consumer ?
Ja.

Zitat:Ich seh den Zusammenhang nicht ganz.
Ein ProducerConsumerPattern trennt zwei ansonsten starr gekoppelte Routinen, indem ein Puffer zwischen ihnen eingebaut wird - die Queue. Beide Routinen können dadurch so schnell wie möglich laufen, ohne sich gegenseitig auszubremsen.

Über die Queue bekommt man auch eine Kontrolle über die Fälle, wenn der Consumer anfängt, hinterher zu hinken. Man kann dann in das Queuemanagement eingreifen und selbst überzählige Datenpakete weglöschen. Oder auch einen zweiten Consumer zur Entlastung starten. Oder...

Ganz allgemein:
Du hast vor, eine recht rechenintensive Routine mit schon anspruchsvoller Messwerterfassung (3 AI-Kanäle á 1MS/s plus ebenso schnelle DI-Kanäle) zu koppeln. Dazu gehört auch ein entsprechend vorbereitetes Software-Konstrukt - das man nicht mal eben aus dem Handgelenk schüttelt. Da sollte man sich vorher überlegen, was man braucht, wie man es aufbaut und wie man leistungsfähige Software schreibt. Das ist in LabVIEW nicht anders als in anderen Programmiersprachen!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.05.2014, 08:52
Beitrag #14

jrraid Offline
LVF-Grünschnabel
*


Beiträge: 13
Registriert seit: Apr 2014

2012/2013
2011
EN


Deutschland
RE: zeitbasierte Druckverlaufsmessung
Hey Gerd,

das mit dem Queue werd ich auf jeden Fall mal versuchen, denn momentan ist mein Problem, dass ich zu schnell Daten generiere, als dass ich sie auch verarbeiten könnte. Mir läuft mein Buffer immer voll.

Zitat:Man kann dann in das Queuemanagement eingreifen und selbst überzählige Datenpakete weglöschen
Das will ich auf jeden Fall vermeiden. Es sollen keine Messdaten gelöscht werden und zwar aus dem Grund, dass man eventuelles Klopfen verpasst.

Zitat:Du hast vor, eine recht rechenintensive Routine mit schon anspruchsvoller Messwerterfassung (3 AI-Kanäle á 1MS/s plus ebenso schnelle DI-Kanäle) zu koppeln. Dazu gehört auch ein entsprechend vorbereitetes Software-Konstrukt - das man nicht mal eben aus dem Handgelenk schüttelt. Da sollte man sich vorher überlegen, was man braucht, wie man es aufbaut und wie man leistungsfähige Software schreibt. Das ist in LabVIEW nicht anders als in anderen Programmiersprachen!
Auch da geb ich dir mehr als Recht. Das dumme ist nur, ich bekomme von der Uni ne Aufgabenstellung und die muss ich innerhalb von 6 Monaten umgesetzt haben und dann noch eine 100Seitige Arbeit darüber schreiben. Labview Kurse und so bekommt man naürlich nicht Smile, deshalb ist so ein Forum hier für mich Gold wert. Danke nochmal für deine Hilfe
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.05.2014, 10:24 (Dieser Beitrag wurde zuletzt bearbeitet: 13.05.2014 10:26 von jrraid.)
Beitrag #15

jrraid Offline
LVF-Grünschnabel
*


Beiträge: 13
Registriert seit: Apr 2014

2012/2013
2011
EN


Deutschland
RE: zeitbasierte Druckverlaufsmessung
Hab das Ganze jetzt mit nem Queue programmiert. Problem ist jetzt, dass meine Queue voll läuft. Hab ich jetzt nicht einfach nur den Teufel mit dem Belzebub ausgetrieben ? Anstatt dass mein Buffer voll läuft tut das halt jetzt der Queue. Es bleibt das Problem, dass die Berechnung in der For Schleife zu langsam ist ? Mir bleibt jetzt also nur übrig mir eine schnellere Rechenoperation für die Schleife zu überlegen oder?


Angehängte Datei(en)
11.0 .vi  DAQ_Queue.vi (Größe: 54,18 KB / Downloads: 116)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.05.2014, 10:28
Beitrag #16

GerdW Offline
______________
LVF-Team

Beiträge: 17.411
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: zeitbasierte Druckverlaufsmessung
Hallo jrraid,

Zitat: Problem ist jetzt, dass meine Queue voll läuft. Hab ich jetzt nicht einfach nur den Teufel mit dem Belzebub ausgetrieben ?
Jein.
Du kannst z.B. nun einfach die Daten in der Queue auf die Festplatte wegspeichern (was ja relativ schnell geht) und nur jeden 10. Datenblock für die Anzeige durchrechnen lassen. Hinterher nimmt man die gepsiecherten Daten und analysiert sie vollständig - aber eben nicht mehr in "Echtzeit"…
Du kannst auch die Rechenroutine verbessern und schauen, ob du den Algorithmus deutlich schneller bekommst.
Du kannst auch mehrere Rechenroutinen parallel arbeiten lassen - wenn du einen MultiCore-Rechner nutzt.

Oder du kannst überlegen, ob es nicht einfacher ist, für diese Messung einfach einen Drehgeber mit 3600Pulsen/Umdr vorzuschreiben…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
13.05.2014, 17:44
Beitrag #17

jrraid Offline
LVF-Grünschnabel
*


Beiträge: 13
Registriert seit: Apr 2014

2012/2013
2011
EN


Deutschland
RE: zeitbasierte Druckverlaufsmessung
Zitat:Du kannst auch die Rechenroutine verbessern und schauen, ob du den Algorithmus deutlich schneller bekommst.
Daran arbeite ich gerade. Leider auch ohne wirkliches Wissen. Kannst du mir sagen obs dazu nen Whitepaper oder so was von NI gibt? Hab nichts gefunden.

Zitat:Oder du kannst überlegen, ob es nicht einfacher ist, für diese Messung einfach einen Drehgeber mit 3600Pulsen/Umdr vorzuschreiben…
Smile Ist leider Vorgabe der Aufgabenstellung, dass das ganze unabhängig vom Inkrementalgeber funktionieren muss.
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
  Zeitbasierte digitale Ausgabe stainless_steel 2 3.081 06.06.2016 10:41
Letzter Beitrag: stainless_steel

Gehe zu: