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!
25.05.2011, 10:39 (Dieser Beitrag wurde zuletzt bearbeitet: 25.05.2011 11:01 von Golan.)
Hallo,
ich möchte in einem Beispiel die Kraft in Abhängigkeit der Zeit abbilden (nur als Beispiel hier, da ich später bei einem Projekt die gemessene Kraft in Abhängigkeit einer gemessenen Drehzahl abbilden muss). Dies geschieht über den cDAQ. Als Messkarte benutze ich die NI 9237 für die Kraft.
Nach ungefähr 60 Sekunden bricht das Programm mit dem Fehler 200279 ab. Ich hab mir daraufhin die zu Verfügbaren Samples pro Kanal anzeigen lassen, und diese laufen ab ner gewissen Zeit bis 9999 hoch. Ich schätze dies liegt daran, dass ich mir die Kraft- und Zeitwerte in Arrays speicher und somit die While-Schleife länger braucht und sich Samples "anstauen" (wenn die Verfügbaren Samples steigen sind die Werte auch nicht mehr aktuell, wenn ich Kraft auf den Sensor ausübe, tritt diese im Signalverlaufsdiagramm verzögert auf).
Nun suche ich eine elegante Lösung wie ich trotzdem (in Bezug auf die spätere Drehzahl) meine Werte in einem xy-Graphen anzeigen lassen kann.
Im vorraus schon mal Danke für die Hilfe
Grüße
Christian
PS: Bei nSamples 1 Kanal kam der Fehler bisher nicht vor, die Verfügbaren Samples steigen zwar auch aber nicht in dem Maße und pendeln sich irgendwann ein (wobei ich das Programm nur mal 10 Minuten laufen hab lassen, keine Ahnung wie das bei ner Stunde aussieht). Das Problem ist, dass ich bei nSamples nicht direkt die jeweilige Zeit bzw. später Drehzahl auf den jeweiligen Kraftwert zuteilen kann
RE: Fehler 200279 bei auslesen einer Brückenschaltung
Ich hatte vor kuzem das gleiche Problem. Die Karte speichert die Daten in eine Puffer, wenn dein Programm die Daten nicht schnell genug abfragt, läuft der Puffer über und die Fehlermedung erscheint. Du kannst in deinem DAQmx Read.vi - Samples to Read definieren. Wenn du Beispiesweise mit 2000 Hz abtastest und Sampels to Read auf 200 stellst werden auf einen Schwung 200 Ergebinsse aus deinem Puffer rausgeholt. (Wahrscheinlich ziehst du gerade jeden Wert einzehlen.) Die Werte werden also in eine Array mit 200 Plätzen gespeichter mit dem du dann weiter rechnen kannst. Ich hab dir mein Progamm mal angehängt - vielleicht hielft dir das weiter (bin leider auch erst Anfänger)?
RE: Fehler 200279 bei auslesen einer Brückenschaltung
Danke für die Antwort, hab deinen Threat auch gestern schon gelesen gehabt, jedoch kann cih die Samples zu lesen nur bestimmen, wenn ich nSamples einlese und derzeit versuche ich das noch mit 1 Sample zu schaffen, da ich später jeden Messwert einem anderen Messwert zuteilen möchte (sozusagen bei gemessenen 100 Newton hab ich eine Drehzahl von 1000 U/min gemessen) und bei nSamples stell ich mir das grad ein bischen schwieriger vor.
RE: Fehler 200279 bei auslesen einer Brückenschaltung
Wenn du mit 1 kHz Daten aufnimmst, dann darfst du unter Windows die Werte nicht einzeln auslesen. Das schafft Windows nicht, ist schließlich kein Echtzeit-Betriebssystem.
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!
RE: Fehler 200279 bei auslesen einer Brückenschaltung
100 Hz würde auch reichen, die frage ist ob dass zum einen Möglich ist und zum anderen Klug, da ich noch 7 andere Messkarten angeschlossen habe deren Messwerte alle miteinander reagieren (sollte die eine Messkarte einen bestimmten Wert haben muss die andere Messkarte ein Signal ausgeben an ein Gerät).
Reicht es einfach die Rate im Timing auf 100 zu setzen?
Wenn ich nSamples einstelle, ist es dann später noch möglich die Drehzahl in Abhängigkeit von der Kraft abzubilden? (hab bei der Drehzahl ja bisher auch 1 Sample und bei der Kraft wärens dann n Sample).