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!
ich hab ein Problem bei meiner Kraftmessung. Ich messe mit einem Sensor der eine Vollbrückenschaltung enthält die Kraft und lese diese mit dem cDAQ und der NI 9237 Messkarte ein.
Nun sind in kurzer Zeit mehr Samples zur Verfügung als abgearbeitet werden. Dies kommt zu stande, da immer auf die nächsten 10 ms gewartet wird (dies ist für eine andere Anwendung für später nötig), denn sobald ich diese Wartezeit entferne, hab ich dieses Problem nicht mehr.
Gibt es eine Möglichkeit dieses Problem zu lösen ohne mehr Samples auf einmal einzulesen? (die jeweiligen Kraftwerte müssen zu anderen Werten später zusammen gebracht werden, und während ich 1 z.B. Drehzahlwert hab hätte ich damit 1000 Kraftwerte)
Ich hab auch schon versucht diese 1000 Kraftwerte zu mitteln, und würde auch ansich klappen wenn nicht zwischendrin immer Lücken auftauchen würden. (das 2. Bild)
Ein fast perfekter Hilfegesuch! Nur das das VI anhängen und es wär perfekt gefragt...
Nun aber zum Problem:
Sehe ich das richtig, dass du mit 1kHz erfässt, aber alle 10 immer nur 1 Wert ausliest? Dass kann nicht klappen, der Puffer wirsd überlaufen, da du nur 100Werte/s abholst, aber eben 1000Werte/s misst.
ups, minimal zu langsam...
Gruß
05.03.2012, 10:01 (Dieser Beitrag wurde zuletzt bearbeitet: 05.03.2012 10:09 von Golan.)
Selbst wenn ich die Taktrate auf 100 runtersetze läuft der Buffer genauso schnell über als wenn da 1000 steht, deshalb hab ich das nicht erwähnt gehabt tut mir leid.
Hier noch das VI.
Danke für die schnellen antworten.
Ah ich weiss wieso, die Messkarte hat eine mindest Samplerate von 1,6 kS/s.
Nun kann ich mir überlegen wie es nun auf 100 Hz runterbekomme ... vielleicht über eine For-Schleife.
mir ist noch nicht klar, wieso du explizit nur genau 1 Wert abfragen darfst pro Schleifendurchlauf... 100Werte pro Aufruf klingt ganz vernünftig, oder eben 160 bei 1,6KHz.
Gruß
05.03.2012, 10:32 (Dieser Beitrag wurde zuletzt bearbeitet: 05.03.2012 10:45 von Golan.)
Bei dem ganzen Aufbau geb ich eine Spannung von 0-10 Volt aus um einen Frequenzumrichter anzusteuern und lese die Drehzahl des Motors ein der durch den FU angetrieben wird. Der Motor treibt ne größere Maschine an bei der im am Schluss am Prüfling eine Kraft messen soll. Später soll man nun zu dem jeweiligen Kraftwert die jeweilige Drehzahl sehen können (bei der Dokumentation).
Ich bin mir hierbei bei z.b. 160 Werten unsicher wie ich sie zu verarbeiten habe. Während des Versuchs soll man ja die aktuellen Drehzahl und Kraftwerte sehen können.
Mit einem Array von 160 Werten tu ich mich da derzeit irgendwie schwer (wahrscheinlich steh ich da grad einfach aufm Schlauch).
Grüße
Christian
05.03.2012, 11:06 (Dieser Beitrag wurde zuletzt bearbeitet: 05.03.2012 11:06 von eb.)
bin mir nicht ganz sicher, wo genau du festhängst.
Hier mal eine kleine Idee: Du erfässt 2 analoge Kanäle (Kraft und Drehzahl) und speicherst sie mit der kompletten Samplerate ab. Allerdings nicht "immer einzeln", sondern eben "100 am Stück".
Schau die mal das leicht erweiterte VI an.
Jetzt hab ich noch eine Frage zu dem VI "Bis zum nächsten Vielfachen von ms warten".
Ist es möglich bei diesem VI 0,5 anzugeben bzw 1:2, oder rundet dann LabVIEW auf 1 auf bzw auf 0 ab?
Denn damit müsst ich bei meinem Gesamtprogramm nur ein Unter-Vi verändern.
Grüße
Christian
05.03.2012, 12:55 (Dieser Beitrag wurde zuletzt bearbeitet: 05.03.2012 12:56 von Lucki.)
(05.03.2012 12:35 )Golan schrieb: Jetzt hab ich noch eine Frage zu dem VI "Bis zum nächsten Vielfachen von ms warten".
Die Frage scheint darauf hinzudeuten, daß Du immer noch mit dem Gedanken spielst, in der Schleife für Read eine Wartefunktion unterzubringen. Das sollte man überhaupt nicht tun. Erik hat in seinem VI gezeigt, wie man genau die gewünschten 10ms Schleifen-Umlaufszeit (100Hz) ohne Verwendung der Wartefunktion erzielt. So und nicht anders sollte man es machen. Ansonsten kann immer Buffer-Überlauf drohen.
Naja im Core-1 Kurs hieß es man sollte dieses VI immer hinzufügen, zudem möchte ich zu bestimmten Zeitpunkten an den Frequenzumrichter einen bestimmten Wert übergeben (später sollen hier Drehzahlkennlinien abgefahren werden).