LabVIEWForum.de
Countereingang - Flanken zählen: wo Trigger definieren - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: Countereingang - Flanken zählen: wo Trigger definieren (/Thread-Countereingang-Flanken-zaehlen-wo-Trigger-definieren)

Seiten: 1 2


RE: Countereingang - Flanken zählen: wo Trigger definieren - GerdW - 17.01.2013 21:03

Hallo SeeAdler,

Zitat:Ich erfasse einen Winkel über CI-Winkelaufnehmer und möchte nun durch einen externen Trigger den Winkel mitloggen.
Das war deine ursprüngliche Anfrage!

Zitat:Das einzige, was ich mir noch vorstellen könnte, wäre, dass ich den Sample-Takter in den CI-Winkelaufnehmer integriere? wobei ich nicht sicher bin, ob dann der Winkel noch richtig gemessen wird, wenn die "Taktrate" dann zu gering ist. Oder ist der Sample-Takt nur die Auslese-Rate und intern wird mit "Maschinengeschwindigkeit" weiterhin der Winkel gemessen? Das Winkel messen selber geschieht durch einen WinkelaufnehmerTask über A-B-Z Inkrementalgeber.
Wovon rede ich denn die ganze Zeit?
Du sollst den CTR-Task anschließen und die "Flanken" nutzen als Sampletrigger...
Das, was du oben mit dem PFI-Eingang machst, musst du beim unteren Task machen!!!

In deinem Bild hast folgendes programmiert:
- Der untere Task zeigt einen CTR "Winkel".
- Der obere Task zeigt einen CTR "Flanke", der über einen PFI-Eingang getaktet wird.
- In der Schleife werden beide Task unabhängig voneinander abgefragt, der einzige Zusammenhang ist, dass beide Tasks einen Wert liefern müssen, bevor die nächste Iteration starten kann.
- Was soll die Feedbacknode im Array, welches im Scheiberegister gespeichert wird? Warum nicht einfach ein autoindizierender Ausgangstunnel?


RE: Countereingang - Flanken zählen: wo Trigger definieren - SeeAdler - 18.01.2013 15:02

(17.01.2013 21:03 )GerdW schrieb:  Wovon rede ich denn die ganze Zeit?
Du sollst den CTR-Task anschließen und die "Flanken" nutzen als Sampletrigger...

...hatte ich schon vermutet, dass ich deine Ausführungen nicht richtig verstehe, da mir einige Begriffe nicht bekannt sind und ich sie daher falsch interpretriere/verstehe. Tut mir Leid, ich bin halt nicht mit Labview aufgewachsen, sodass mir gewisse Strukturen von der Denkweise her noch unbekannt sind.

(17.01.2013 21:03 )GerdW schrieb:  - Der untere Task zeigt einen CTR "Winkel".
- Der obere Task zeigt einen CTR "Flanke", der über einen PFI-Eingang getaktet wird.
- In der Schleife werden beide Task unabhängig voneinander abgefragt, der einzige Zusammenhang ist, dass beide Tasks einen Wert liefern müssen, bevor die nächste Iteration starten kann.
Vielen Dank für die Erklärung! ..also habe ich die Schleife quasi Zweckentfremdet eingesetzt, wobei das Ergebnis das richtige war, oder?

(17.01.2013 21:03 )GerdW schrieb:  Das, was du oben mit dem PFI-Eingang machst, musst du beim unteren Task machen!!!
Das hatte ich ja auch schon vermutet und nun umgesetzt: Dies führt allerdings dazu, dass der Winkel quasi immer, also ich vermute mit maximaler Abtastrate mitgeloggt wird. Ich stelle zum testen an den PFI10 eine beliebige Frequenz im Pulsgenerator ein, die werte rauschen nur so durch. Ich habe mein angepasstes Blockdiagramm angehängt, habe ich da nun etwas falsch verschaltet?

(17.01.2013 21:03 )GerdW schrieb:  - Was soll die Feedbacknode im Array, welches im Scheiberegister gespeichert wird? Warum nicht einfach ein autoindizierender Ausgangstunnel?
Ich hab habe das mit dem autindizierten Ausgangstunnel versucht umzusetzen, seitdem wird jedoch nur noch 1 Zahlenwert ausgegeben, scheint so, als würde die Indizierung nicht funktionieren. Oder muss ich die Daten noch anders verarbeiten bevor ich sie dann ausgeben kann. Wenn ich wieder meine Ursprüngliche "Rückkopplung" benutze, erhalte ich mehrere Messwerte in meiner Ausgabe.

Vielleicht habe ich ja noch einen "typischen" Anfängerfehler gemacht, den ich übersehe...

Vielen Dank auf jedenfall für deine geduldige Hilfe, ich habe schon einiges mehr begriffen als noch vor einigen Tagen!

Grüße
SeeAdler


RE: Countereingang - Flanken zählen: wo Trigger definieren - GerdW - 18.01.2013 15:10

Hallo SeeAdler,

du hast beim DAQmxRead einen TimeOut von 0 (Null) vorgegeben, d.h. diese Funktion wartet niemals auf neue Werte.
- Ist das wirklich so gewollt?
- Bekommst du nach dem DAQmxRead einen Fehler angezeigt, wenn du eine Sonde darauf setzt?

Zitat:Ich hab habe das mit dem autindizierten Ausgangstunnel versucht umzusetzen, seitdem wird jedoch nur noch 1 Zahlenwert ausgegeben,
Du meinst, nach der WhileLoop kommt nur noch ein Array mit einen einzigen Element heraus? Das glaube ich nicht (es sei denn, die Schleife läuft nur einmal durch...)!


RE: Countereingang - Flanken zählen: wo Trigger definieren - SeeAdler - 18.01.2013 15:45

Hallo Gerd,

ja, das mit dem Timeout von 0 war natürlich in diesem Zusammenhang nicht sinnvoll, Fehler behoben. Wink

(18.01.2013 15:10 )GerdW schrieb:  Du meinst, nach der WhileLoop kommt nur noch ein Array mit einen einzigen Element heraus? Das glaube ich nicht (es sei denn, die Schleife läuft nur einmal durch...)!

ja genau! Und die Schleife läuft nicht nur 1mal durch, sonst würde ich nicht mehrere "Schritte" auf dem Signalverlaufsdiagramm sehen, oder? Kann ich mir nicht erklären, weil ich die Ausgangstunnel mit Indizierung eigentlich für sinnvoll halte, besser als mein Work-around.

Irgendwelche Ideen, was ich testen könnte, woran es liegt?

Grüße
SeeAdler


RE: Countereingang - Flanken zählen: wo Trigger definieren - GerdW - 18.01.2013 15:47

Hallo SeeAdler,

Zitat:Und die Schleife läuft nicht nur 1mal durch, sonst würde ich nicht mehrere "Schritte" auf dem Signalverlaufsdiagramm sehen, oder?
Löscht du die Diagramme jedesmal oder bleiben die alten Messwerte stehen?

Zitat:Irgendwelche Ideen, was ich testen könnte, woran es liegt?
Schon mal Debugging mit Highlight-Option genutzt???


RE: Countereingang - Flanken zählen: wo Trigger definieren - SeeAdler - 18.01.2013 17:16

Hallo Gerd,

ich weiß nicht, was ich geändert habe, bzw. eigentlich nichts, aber nun schreibt er wieder mehrere Werte raus. Komisch...

Die alten Messwerte bleiben bestehen, sprich das signalverlaufsdiagramm "zählt weiter". Wie würde ich dieses zurücksetzen, löschen? Da hatte ich auch schonmal kurz drüber
nachgedacht, aber da es mich auch nicht sehr stört, war das ein nachranginges Thema f. mich.

GANZ Herzlichen Dank für deine Hilfe, das eigentliche Problem ist ja nun gelöst!

Grüße
SeeAdler