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 

NI 9411 digitalen Eingang mit 10 khz abfragen



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!

17.08.2012, 08:20
Beitrag #1

Scenic626 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 60
Registriert seit: Aug 2012

12
2012
DE

42...
Deutschland
NI 9411 digitalen Eingang mit 10 khz abfragen
Hallo,
ich bin noch sehr unerfahren, was den umgang mit LabVIEW angeht, komme aber aktuell bei folgenden Problem nicht weiter:

Ich möchte im Zuge einer Drehzahlmessung ein digitales Signal auslesen (X-mal/Umdrehung ein true/false-Wechsel).
Damit auch hohe Drehzahlen korrekt erfasst werden sollte die Abtastrate mindestens bei 10 khz (oder so hoch wie möglich) liegen.
Ich habe bisher zwei Methoden probiert, beides mal gab es Probleme:

1. Methode Nit DAQ Assistent:
Mit One-Sample Methode: viel zu langsam(nur etwa 150 hz)
Mit Continous-Sampling: Schaffe ich es nicht den Datentyp in ein Boolean-Array umzuwandeln
Bei diesem Array müsste auch jedem Wert die Zeit zugeornet werden können.

2. Methode ohne DAQ Assistent:
Hier gab es gleich mehrere Fehler: -Die Eingegebene Abtastrate scheint keinerlei Auswirkung auf das einlesen der Messwerte zu haben.
-Obwohl der richtige Kanal eingestellt sein sollte, wird nur false eingelesen
-Sobald man die Messung beendet kommt es zu einer Fehler

Falls es relevant ist: ich verwende die Evaluationsversion von LabVIEW 8.6
Angehängt findet ihr die beiden VI`s.(global_Cluster gehört zu der Version mit DAQ-Assistent)
Ich hoffe, dass jemand meine Fehler sieht, oder eine ganz andere Idee hat.

Mit freundlichen Grüßen,

Scenic626


8.6 .vi  Drehzahlmessung_mit_DAQ-Assistent.vi (Größe: 39,37 KB / Downloads: 335)

8.6 .vi  global_Cluster.vi (Größe: 4,61 KB / Downloads: 272)

8.6 .vi  Drehzahlmessung_ohne_DAQ-Assistent.vi (Größe: 18,89 KB / Downloads: 317)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.08.2012, 08:30 (Dieser Beitrag wurde zuletzt bearbeitet: 17.08.2012 08:32 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: NI 9411 digitalen Eingang mit 10 khz abfragen
Hallo Scenic,

ich habe mir nur die Version ohne DAQ-Assi angeschaut und gleich mehrere Sachen sind mir aufgefallen:
- in jeder Iteration wird ein neuer Channel erstellt. Wozu? Sowas macht man nur einmal vor der Schleife.
- du sammelst deine Daten in FeedbackNodes, allerdings ohne Größenbegrenzung. Wenn du wirklich mit 10kHz sampeln willst, hast du sehr schnell Speicherprobleme...
- du fragst nur Einzelwerte ab. Dies ist generell langsam. Verwende stattdessen den Modus "1Kanal NSamples" und frage die Daten blockweise ab. Wenn du die Option "Signalverlauf" wählst: es gibt eine Funktion "DWDT: Digitaldaten nach boolsches Array"...
- wenn du den Task stoppst, solltest du ihn auch wieder starten...

Zitat:Sobald man die Messung beendet kommt es zu einer Fehler
Der Fehler tritt schon vorher auf, wird aber erst nach dem DAQmxStop angezeigt... Schon mal den Fehler untersucht? Ich wette, es wird ein BufferOverflow angezeigt (wegen deiner Einzelwertabfrage)...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.08.2012, 09:15
Beitrag #3

Scenic626 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 60
Registriert seit: Aug 2012

12
2012
DE

42...
Deutschland
RE: NI 9411 digitalen Eingang mit 10 khz abfragen
Hallo GerdW,

und vielen Dank für deine schnelle Antwort.
Ich bin noch sehr unerfahren, was LabVIEW anbelangt( 5 Tage learning-by-doing).
Was deine Anmerkungen anbelang habe ich folgendes geändert:
- das vielfach erzeugen des Kanals müsste jetzt behoben sein (leider kommt es nun sofort zum Fehler)
- könntest du mir alternative Methoden nennen um Daten zu sammeln, sie aber dennoch live ausgeben zu können
- Die Abfrage aus dem Messwert-Buffer ist eingerichtet, führt aber zu einem neuen Problem:
--> Wenn ich digital Waveform in boolean array umwandle, wie werden die Informationen dann abgelegt, und wie kann ich den einzelnen Werten hinterher den Zeiten zuordnen, zu denen sie aufgenommen wurden?
-Der Fehler besagt folgenden: Measurements: Terminal cannnot appear multiple times within a single digital input or output task.

Im Anhang wieder die veränderte VI

Gruß, Scenic



8.6 .vi  Drehzahlmessung_ohne_DAQ-Assistent.vi (Größe: 20,64 KB / Downloads: 286)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.08.2012, 09:31 (Dieser Beitrag wurde zuletzt bearbeitet: 17.08.2012 09:32 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: NI 9411 digitalen Eingang mit 10 khz abfragen
Hallo Scenic,

- du hast einen Task "Drehzahlerfassung" in MAX definiert - wir kennen deine Einstellungen dort nicht.
- du fügst weiterhin beim Start jeder Messung den gleichen Kanal zu diesem Task hinzu, einmal vor der (Haupt-)Schleife würde reichen. Diese Beobachtung passt zu deiner Fehlermeldung...
- wenn der Kanal schon in den Einstellungen in MAX definiert wurde, kannst du ihn natürlich nicht noch einmal zum Task hinzufügen...
- du indizierst eine Spalte aus den Digitaldaten, ich glaube aber, das du die Daten zeilenweise bekommst. "Ich glaube" bedeutet, du solltest das mal testen...
- dein "Messwertspeicher" gibt eigentlich die Anzahl der Samples pro Kanal an
- du sammelst in den Feedbacknodes jeweils einen Wert für die Zeit und gleichzeitig viele neue Messwerte. Die Samplerate bestimmt dir das dt zwischen den Messwerten, ist eine einfache Rechnung...

Statt Learning-By-Doing könntest du auch die Online-Kurse durchgehen, siehe Link in meiner Signatur...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.08.2012, 11:03
Beitrag #5

Scenic626 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 60
Registriert seit: Aug 2012

12
2012
DE

42...
Deutschland
RE: NI 9411 digitalen Eingang mit 10 khz abfragen
Hallo GerdW

vielen Dank für die viel Tipps, auch der Link hat sehr geholfen.
Ich habe die VI noch einmal aufgeräumt und fürs erste vereinfacht.
Leider tritt der oben genannte Fehler noch immer auf.

Er ist vorhanden, sobald die Schleife ausgeführt wird.
Kann es sein, dass es zu dem Fehler kommt, wenn LabVIEW den nächsten Schleifendurchgang schon aufruft,
während DAQmx-Read der vorhergegangenen Iteration noch Messwerte einliest?

Im Anhang die neue VI.

Gruß,

Scenic



8.6 .vi  Drehzahlmessung_ohne_DAQ-Assistent2.vi (Größe: 18,49 KB / Downloads: 263)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.08.2012, 11:50
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: NI 9411 digitalen Eingang mit 10 khz abfragen
Hallo Scenic,

Zitat:Er ist vorhanden, sobald die Schleife ausgeführt wird.
Tritt der Fehler beim CreateChannel/Timing auf oder beim DAQmxRead? Schon vor der Schleife oder erst bei der ersten Iteration?

Zitat:Kann es sein, dass es zu dem Fehler kommt, wenn LabVIEW den nächsten Schleifendurchgang schon aufruft, während DAQmx-Read der vorhergegangenen Iteration noch Messwerte einliest?
Nein. Beschäftige dich mal mit dem Thema "DATAFLOW", dann wüsstest du die Antwort auch...

- Jetzt stoppst du den Task nicht, sondern löscht ihn.
- Regulär starten könnte man den Task auch...

Du hast immer noch nicht die Punkte von oben geklärt! Wie ist der Task definiert?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
17.08.2012, 12:25 (Dieser Beitrag wurde zuletzt bearbeitet: 17.08.2012 12:48 von Scenic626.)
Beitrag #7

Scenic626 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 60
Registriert seit: Aug 2012

12
2012
DE

42...
Deutschland
RE: NI 9411 digitalen Eingang mit 10 khz abfragen
Hallo GerdW,

Der Fehler tritt laut Fehlerdialog bei Create Channel auf.
Wenn man den Inhalt der ERROR-"Leitung" verfolgt tritt der Fehler
erst nach dem Eintritt in die Schleife auf. Die Taskeinstellungen sind wie folgt:

-> Erfassungsmodus Single Sample
-> Externer Sampletaktquelle: Sampleclock (Steigend)

Task wird jetzt auch manuell in der VI gestartet

Gruß,

Scenic



8.6 .vi  Drehzahlmessung_ohne_DAQ-Assistent2.vi (Größe: 19,09 KB / Downloads: 313)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Digitalen Ausgang mit DAQ Simulieren Georg1980 1 3.073 01.07.2021 07:21
Letzter Beitrag: GerdW
  Hochzählen mit digitalen Eingang TiBu 4 5.045 03.07.2019 08:06
Letzter Beitrag: TiBu
  Drahtbrucherkennung bei Digitalen Ausgängen MRL2018 1 3.497 09.04.2018 10:38
Letzter Beitrag: GerdW
  schnelles schalten von digitalen kanälen serge_franke 4 5.452 10.11.2017 09:17
Letzter Beitrag: serge_franke
  Analogen Eingang Überwachen mmk1988 3 4.865 17.10.2016 21:32
Letzter Beitrag: GerdW
  Analog Eingang triggern nach Digital Ausgang cobain2004 0 4.249 28.11.2014 13:49
Letzter Beitrag: cobain2004

Gehe zu: