LabVIEWForum.de
Drehzahl messen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: Drehzahl messen (/Thread-Drehzahl-messen)



Drehzahl messen - martin_mort - 09.05.2007 10:54

Hallo an alle,

ich beschäftige mich seit kurzem mit LV und möchte Drehzahl über eine Lichtschranke erfassen. Die Lichtschranke ist an einem DI angeschlossen. Mit der Drehzahl will ich einmal die Dauer des Test bestimmen z.B. immer wenn ich ein Impuls bekomme, soll er von 1000 Umdr. substrahiert werden. Das zweite Problem ist die Drehzahl/min zu ermiteln für die Drehzahlregelung.

Das soll eigentlich nicht so schwer sein, aber ich komme einfach nicht weiter.

Ich hab da ein Bild angehängt für die Dauer des Tests.

hoffentlich hat jemand einen Vorschlag.


Drehzahl messen - jg - 09.05.2007 11:01

Hallo,

erzähl mal was über die von dir verwendete Mess-Hardware (d.h. welche DAQ-Karte hast du). Normalerweise würde man das ja eher über Counter machen.

MfG, Jens


Drehzahl messen - Achim - 09.05.2007 11:02

Für die Drehzahlmessung solltest du einen Counter verwenden, der die digitalen Signale "zählt" bzw. auswertet. Dafür gibts jede Menge Beispiele in der LV-Hilfe!

Gruss
Achim


Drehzahl messen - martin_mort - 09.05.2007 12:50

' schrieb:Für die Drehzahlmessung solltest du einen Counter verwenden, der die digitalen Signale "zählt" bzw. auswertet. Dafür gibts jede Menge Beispiele in der LV-Hilfe!

Gruss
Achim

Ich hab eine pci 6229, die hat 2 counter. Ich hab jetzt einen Virt channel erzeugt, für Flankenzählung und wenn ich den in MAX ausführe, zählt errichtig. aber in LV habe ich es noch nicht hingekriegt.

was muss ich nach dem Virtuellen Channel anschliessen, damit ich an den Werten komme.

mfg martin


Drehzahl messen - Achim - 09.05.2007 13:53

Hi,

ich glaube den Flankenzähler kannst du dir sparen...du kannst die Zählung direkt über die Anschlüsse des Counters machen, das dürften PFIxx-Leitungen sein...Schau dir dazu mal die Beschreibung des Counters im Handbuch zu deiner HW an...du musst vermutlich was am Gate und an der Source des Counters anschließen (Gate dürfte für den internen Taktgeber sein, das kann man intern "routen", Source für dein Signal...oder war's umgekehrt?) Wenn du den zweiten Counter zusätzlich verwendest, wird deine Messung genauer, da dieser zweiter Counter als Taktgeber läuft. Dafür gibts aber in der LV-Hilfe Beispiele und auch unter zone.ni.com!

Gruss
Achim


Drehzahl messen - martin_mort - 09.05.2007 14:08

erstmal danke für die schnellen Antworten

ich hab jetzt mir ein Beispiel angekuckt und einbißchen verändert(im Anhang).

es scheint zu funktionieren

das nächste Problem ist die Daten von der Messung in einem Puffer zu speichern, damit ich am ende des Tests (Dauer einige Stunden), die Werte 5 min vor dem Stop gespeichert habe.

mfg martin


Drehzahl messen - Achim - 09.05.2007 14:17

Hi,

schreib die Werte in ne Datei! In nem Pufferarray kannst du sie mit BuildArray + nem Schieberegister sammeln, und alle x Minuten (Timer abfragen) schreibst du sie weg...immer wieder die Datei überschreiben, "Replace"-Abfrage aber deaktivieren!

Fünf Minuten in nem Array sammeln gibt aber auch ne ganze Menge Daten...evtl. schreibst du einfach kontinuierlich die Daten weg und extrahierst bei Testende die Zeilen für die letzen fünf Minuten aus der eingelesenen Datei...

Gruss
Achim


Drehzahl messen - martin_mort - 09.05.2007 14:55

Hi,

das mit dem Array und dem Schiebereg. habe ich gemacht, aber das mit dem Zurücksetzen weiss ich nicht wie

gruss martin

wenn ich das VI Messwerte in Datei schreiben benutze, mit welchem Programm kann ich dann die öffnen


Drehzahl messen - Achim - 09.05.2007 15:25

Was zurücksetzen? Wenn du das Array meinst, dann füge ein Casestruktur oder einen Eventcase ein, durch die du das Array schleifst...in einem Fall wirds einfach durchgereicht, im anderen wird eine leere Array-Konstante angeschlossen!

Ich würde nicht "Messwerte schreiben nehmen" (schon gar kein Express-VI !) sondern "Write Spreadsheet"...dann kannst du mit "Read Spreadsheet" wieder einlesen!