Hallo
Ich habe eine PCI-6229.
Daran ist ein Encoder angeschlossen. Ich muss jetzt damit den Weg (Position) und die Geschwindigkeit (Frequenz) bestimmen.
Ich habe im max einen Task für die Frequenz und einen für die Position gemacht. Im VI lese ich jetzt einmal die Frequenz davon und einem die Position.
Die Frequenz kann ich auslesen, aber die Position funktioniert nicht.
Was mache ich falsch?
Ich muss danach bei Zeit 0 beides auf null haben, dann den Motor (Digital Ausgang = 1) 2s laufen lassen und nach diesen 2 Sekunden den zurückgelegten Weg plus die aktuelle Drehzahl messen...
Danke
Hallo max,
Zitat:aber die Position funktioniert nicht. Was mache ich falsch?
Du sagst uns nicht, welcher Fehler angezeigt wird...
kein fehler, nur der wert 0...
Hallo max,
funktioniert die Positionsmessung überhaupt schon? Kannst du sie in MAX erfolgreich testen?
Alles ordentlich verdrahtet?
Mehr Infos bitte!
Hi
Ja, wenn ich mit dem DAQ Assistent den Encoder reinnehme funktioniert es, siehe Anhang.
Von Hand ohne DAQ Assistent funktioniert es nicht...
Frequenz-Messung unter Verwendung von 2 Zählern - und dann noch Positionsmessung, dabei hat die 6229 nur 2 Zähler.
Das wird IMHO nicht gleichzeitig funktionieren.
Gruß, Jens
ok, dann werde ich versuche nur mit einem Zähler zu arbeiten. Jedoch zur Positionsmessung. Wenn ich diese strate, ist der Startwert ja null.
Wenn ich jetzt also die Position messe, danach den Motor (Encoder) drehen lassen und dann die Delta position wieder messen möchte, wie komme ich auf das Delta? Wenn ich die Position erneut auslese, habe ich ja wieder einen init-wert von 0.
Muss ich beim Auslesen des Zählers diesen nicht mehr schliessen oder wie macht man das?
(03.05.2013 09:13 )machfax schrieb: [ -> ]ok, dann werde ich versuche nur mit einem Zähler zu arbeiten. Jedoch zur Positionsmessung. Wenn ich diese strate, ist der Startwert ja null.
Wenn ich jetzt also die Position messe, danach den Motor (Encoder) drehen lassen und dann die Delta position wieder messen möchte, wie komme ich auf das Delta? Wenn ich die Position erneut auslese, habe ich ja wieder einen init-wert von 0.
Muss ich beim Auslesen des Zählers diesen nicht mehr schliessen oder wie macht man das?
Du darfst den Task nicht beenden. Je nach Timing Einstellung kannst ihn auch erst wieder nach einer langen Zeit auslesen und er wird dir die geänderten Counts ausgeben.
Wenn du den Weg und die Drehzahl brauchst reicht eigentlich auch 1 Counter. Über die Count-Differenz und den Zeitabstand zwischen den zwei erfassten Countwerten kannst du beides bestimmen. Für den Weg brauchst du noch die Anzahl Inkremente je Umdrehung und den zurückgelegten Weg einer Umdrehung. Für die Drehzahl ist nur noch die Anzahl Inkremente je Umdrehung zusätzlich notwendig.