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 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.
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
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
' 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.
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
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
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.
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
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
09.05.2007, 14:55 (Dieser Beitrag wurde zuletzt bearbeitet: 09.05.2007 15:13 von martin_mort.)
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!
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)