Prozessor bei 100% - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ) +---- Thema: Prozessor bei 100% (/Thread-Prozessor-bei-100) |
Prozessor bei 100% - Joe - 24.11.2004 16:35 Hi Leute, ich habe in meinen Rechner eine NI DAQ PCI 6071E eingebaut und möchte da jetzt einen analogen Eingang messen und im Frontpanel darstellen. Da meine Hardware noch nicht parat ist, habe ich mir einfach eine kleine Drahtbrücke genommen und einen analogen Output in einen der Eingänge gebrückt, um mich mal mit der Erstellung eines passenden VI's beschäftigen zu können. Dabei habe ich jetzt auf den Ausgang einfach im Testpanel des "Measurement & Automation Explorer" ein Sinussignal angelegt und im Blockdiagram meines VI's einen DAQ Assistenten platziert. Dieser ist wie folgt konfiguriert: [list] [*] Eingangsbereich: +- 500 mV [*] Anschlusskonfiguration: RSE [*] N Abtastwerte [*] zu lesende Abtastwerte: 5000 [*] Rate(Hz): 5000 [*] kein Trigger [list] An dieses Express-VI hab ich jetzt einen ganz normalen Waveform Graph angeschlossen, dessen X-Achse auf 1 Sekunde manuell eingeschränkt und alles in einer While-Schleife untergebracht. Starte ich das jetzt, läuft mir der Prozessor auf maximale Last. OK, das passiert ja immer, wenn ich in die Schleife kein Delay reinbaue. Also: Ein Wait (100 ms) eingebaut und nochmal probiert. Ergebnis: Prozessor immer noch auf Anschlag. Was mache ich denn falsch? Ich weiß da momentan keine Antwort drauf. Kann mir da jemand von euch helfen? Danke schonmal. Gruß, Joe Prozessor bei 100% - malef - 24.11.2004 17:42 5000 samples / 5000 samples/second = 1 second > 100 ms In Worten: Das Delay ist nicht wirksam. :roll: Prozessor bei 100% - Oliver Listing - 24.11.2004 19:12 Hi Joe, sorge dafür, das das Delay vor oder nach der Messung erst ausgeführt wird. Packe es dazu z.B. in eine "Sequence Structure" und schließe den Error out vom Express VI einfach an den Rahmen an. Dadurch mißt du dann im abstand von z.B. 100ms für 1sec die Daten. Deine Last schwankt dadurch zwar immer, aber der Rechner hat noch eine Chance auf Benutzereingaben zu reagieren und etwas anderes abzuarbeiten. Gruß Oliver Prozessor bei 100% - Joe - 25.11.2004 09:06 Hi, danke schonmal für die Antworten. Dazu habe ich aber trotzdem nochmal eine Frage: Ich muss über meine DAQ Karte kontinuierlich Daten einlesen. Zwischen 5 und 20 kHz Abtastung. Jetzt war ich der Meinung, dass die Karte meine Hardware abtastet, das in einem eigenen Zwischenpuffer speichert und dann in einem Block an LabVIEW weitergibt. Und in LabVIEW würde dann natürlich die Abholung aus dem Hardware-Puffer wesentlich weniger Zeit beanspruchen als die 1s, die es jetzt braucht. (Daher hab ich auch gemeint, dass das Wait(100) was bringt) Kann man das so realisieren, wie ich mir das vorstelle, dass die Karte zwischenpuffert und ich das innerhalb von kürzester Zeit abholen kann? Weil ich muss ca. 1 Minute in Sekunden aufgeteilt anzeigen und die jeweiligen Anzeigen sollten schon immer direkt am Sekundenanfang beginnen. Weil wenn ich eine Stacked Sequence benutze, dann mach ich ja ne Sekunde lang Abtastung, warte 100 ms, taste für 1 s ab, warte 100 ms. Dadurch würde sich ja mein Anzeige-Anfang immer um 100ms weiter nach rechts verschieben, was aber nicht sein darf. Gruß, Joe Prozessor bei 100% - M. Wolters - 30.03.2005 11:24 Bei einer Erfassung im Automatik-Modus könnte man die Karte vorher programmieren und anstarten und dann nur noch in den Zeitabständen die Daten aus dem FIFO auslesen. Die 6071E müsste eigentlich die 1 Sekunde als Messvorgang buffern können (Abhängig von der Abtastrate). Zur Realisierung startet man die Messung und prüft dann in der eigentlichen Messschleife den FIFO-Status der Karte, um bei Erreichen der 1s an Daten diese abzuholen und anzuzeigen. Ein Delay von 10-100ms garantiert in dieser Messschleife, daß der PC gut bedienbar bleibt. |