' schrieb:Leider zählt der ctr1 immer doppelt. Also z.B 511 511 801 801 ...
Das glaube ich nicht...der Counter zählt 100%ig einfach...was aber vermutlich passiert ist, dass du doppelt ausliest, d.h. zwei- (oder mehrmals) einfach den gleichen Zählerstand! Das heißt, du zählst zu langsam bzw. die Triggerung passt nicht so richtig...
Hallo!
Wie ich in dem vorigen Thema bereits beschrieben habe, muss ich folgendes Problem mit DAQmx lösen. Ich überarbeite gerade ein Programm, das noch DAQ-trad VIs benutzt. Diese sollen ersetzt werden.
Aufgabe:
Wir fahren mit einem Kraftsensor, der auf einer Spindel sitzt gegen einen Gegenstand (Druckschalter). Die Spindel wird über einen Schrittmotor angesteuert. Am Ende der Spindel sitzt ein Winkelencoder. Somit können wir den zurückgelegten Weg und über einen Sensor die Kraft erfassen. Die Kraft muss über den Kanal ai0 erfasst werden. Die Striche des Encoders müssen über den counter1 gezählt werden. Jetzt möchten wir eine Auflösung einstellen können. Die Frequenz mit der erfasst wird, berechnet sich dann durch die Geschwindigkeit/gewünschte Schrittweite. Das Timing der AD Wandlung von ai0 läuft in meiner neuen Version über den Onboardclock. In einer Schleife lese ich dann einen Sample und gleichzeitig den Zählerstand EINMAL ein.
Die Frequenz mit der erfasst wird, stimmt. Der counter1 zählt leider falsch, wie schon beschrieben (0, 0, 5, 5, ...). Lasse ich beides getrennt laufen, funktioniert alles.
Zudem schaffe ich es nicht, die Funktionalität der alten DAQ-trad VIs nachzubilden. Besonders lässt mich das VI(trad) "Signale erzeugen" mit den Eingängen AI Scan Start und PFI7 ein bisschen stutzen. PFI7 ist ja ctr1out. Triggert dann etwa ctr1 meine AD-Wandlung von ai0?
Ich habe mal beide VIs angehängt. Die VIs, die fehlen sollten, sind nur für die Motorsteuerung notwendig. Ich würde mich wahnsinnig freuen, wenn mir jemand weiterhelfen würde. Bin da jetzt seit einer Woche am rätseln, habe einiges gelesen, aber komme einfach auf keinen grünen Zweig. Das Problem der Doppelzählung halbiert natürlich unsere Auflösung, da das Resultat ja eine Kurve "Kraft über Weg" ist. Zudem ergeben sich durch die Doppelzählung Unstetigkeiten.
Das Projekt ist NICHT kommerziell, sondern wir basteln in unserem Studiengang Elektrotechnik an einem Teststand für Druckschalter. Ich habe die alte Version und die neue mal angehängt.
Über eine Antwort freue ich mich.
Gruß Marcel
Anhang:
Messsequenz_Linear (alt)+Screenshot
Messsequenz_Linear_Neu
+Config von DAQmx-Task (Schalt1-6 sind weitere analog input Kanäle, spielt ja keine weitere Rolle)
LVF-Regeln lesen und beachten.
Dazu gehört:
- Keine Doppelpostings (-> Beiträge verschmolzen).
- VI-Uploads mit LV-Version versehen (-> Beitrag editiert).
Gruß, Jens
Hallo!
Die Verletzung von Regeln bitte ich zu entschuldigen. Problem hat sich gelöst. Benutze jetzt counter1 zum triggern. Trotzdem kommt es mir seltsam vor, das ein counter doppelt zählt, wenn man den onboardclock gleichzeitig zum wandeln über ai0 nimmt. Werde das mal bei NI nachfragen und die Antwort hier posten.
Danke!
Marcel
Ah, gut, dann schaue ich nicht weiter in dein VI. Berichte über deine Ergebnisse. Mit den E-Serien-Karten kenn ich mich leider nicht so aus. Bei einer M-Serien Karte wäre das ganze viel einfacher. Da wird bei einem internem Hardware-Takt kein externer Pin zur Datenerfassung benötigt.
:ironie:Und dir seien deine Fehltritte verziehen.
(Soll heißen: Entschuldigung natürlich akzeptiert)
Ich bin ja nicht nachtragend.
MfG, Jens
Antwort von NI:
bauen Sie bitte mal zwei einzelne Vi´s. Eins für Analog und eins für Counter. Kann dann Vi´s parallel laufen lassen. Synchronisation kann man dann über Counter - externer Takt nachträglich machen. Hauptsache es läuft mal einzeln. Dazu das Timeout Problem anpacken indem man einmal ohne Trigger das Ganze laufen lässt und dann wenn es klappt diesen einbaut und mit unterschiedlichen Triggersignalen tested. Bei Ihnen ist gepufferte Analog Erfassung (-> getime-te Schleife mit Counter zusammen -> der will dieses Timing eigentlich nicht -> Counterprobleme wie geschildert)
Hm...