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!
Zitat:Ich arbeite an einer Universal VI für cDaq Geräte.
Die Berechnung mit Frequenz und Dauer, funktioniert auch nicht. Die Dauer kann nicht erfasst werden, wegen der Waiting Time. Und Frequenzen lassen sich erst ab 1Hz erfassen.
Vielleicht ist dieses "Universal VI" ja das Problem!
Wenn du statt einer "universellen" doch eine "spezielle" Lösung anstrebst, sollte deine Messung doch sicherlich machbar sein.
Ansonsten ist mir vieles deiner Ausführungen nicht wirklich nachvollziehbar - es fehlt einfach ein BeispielVI…
Da gebe ich dir recht, die Universal ist das Problem.
Leider muss die Universal irgendwie erstellt werden.
Ich arbeite in einem Prüflabor und für jede Prüfung eine spezielle VI zu programmieren, frisst viel Zeit.
Deswegen sollen Standard Prüfungen mit einer VI aufgezeichnet und Überwacht werden können,
mit eigener Abschaltung, wenn Zyklen erreicht, Min/Max überschritten, usw.
Naja, ich mach mir mal weiter meine Gedanken.
Vielleicht kann ich ja die Waiting Time reduzieren, auf 50ms.
Dann wäre ich der Sache einem schritt weiter.
Es sind aber analoge Signale, die aus der rauhen Wirklichkeit kommen, mehr oder weniger verrauscht. Dann kann es zu Mehrfachzählungen bei den Nulldurchgängen kommen. Lösung: beim Durchgang von Minus nach Plus müssen erst mehrere Werte hintereinander positiv sein, bevor der Durchgang "anerkannt" wird. Umgekehrt entsprechend anders.
15.11.2018, 12:58 (Dieser Beitrag wurde zuletzt bearbeitet: 15.11.2018 13:00 von erzengelsamael.)
(15.11.2018 11:50 )Lucki schrieb: Es sind aber analoge Signale, die aus der rauhen Wirklichkeit kommen, mehr oder weniger verrauscht. Dann kann es zu Mehrfachzählungen bei den Nulldurchgängen kommen. Lösung: beim Durchgang von Minus nach Plus müssen erst mehrere Werte hintereinander positiv sein, bevor der Durchgang "anerkannt" wird. Umgekehrt entsprechend anders.
erst mal ups, sind 4 State's
Genau aus dem Grunde beachte ich nur den ersten wert.
Größer als X -> wechsel zu Kleiner als X -> wechsel zu Größer als X -> erst dann +1 Zählen.
Ich beachte hier also, die komplette Sinus-Schwingung, erst dann wird gezählt.
Ich hoffe ich mach hier keinen fehler. :-)
Nach den aufgezeichnet Messwerten, passen die Zyklenzahlen, ganz gut.
Wie wäre es mit StyleGuide lesen?
- von links nach rechts verdrahten verbessert den "Lesefluss". Du hast dagegen mehrfach von rechts zurück nach links verdrahtet…
- verdeckte Drähte etc. sind auch "suboptimal" - der VIAnalyzer wird dir sowas immer bemängeln…
Ansonsten:
- Um bei einer Waveform nur die Y-Daten zu ändern, muss man nicht t0 und dt kopieren: unnötiger Aufwand aka RubeGoldberg…
- Wenn du in einem Array ein Element am Anfang hinzufügen willlst, solltest du BuildArray verwenden und nicht InsertIntoArray mit Index 0…
(15.11.2018 12:58 )erzengelsamael schrieb: Größer als X -> wechsel zu Kleiner als X -> wechsel zu Größer als X -> erst dann +1 Zählen.
Ich beachte hier also, die komplette Sinus-Schwingung, erst dann wird gezählt.
Funtioniert so aber nicht wie es sollte. Bei diesem Verlauf
hat man zwei komplette negative Halbschwingungen, und nach Deinem Algorithmus werden zwei negative Flanken gezählt. Das sollte aber nicht sein, da diese erste kurze negative Halbwelle nur durch das Signalrauschen zustandegekommen ist und nicht mitgezählt werden soll.
(15.11.2018 12:58 )erzengelsamael schrieb: Größer als X -> wechsel zu Kleiner als X -> wechsel zu Größer als X -> erst dann +1 Zählen.
Ich beachte hier also, die komplette Sinus-Schwingung, erst dann wird gezählt.
Funtioniert so aber nicht wie es sollte. Bei diesem Verlauf
hat man zwei komplette negative Halbschwingungen, und nach Deinem Algorithmus werden zwei negative Flanken gezählt. Das sollte aber nicht sein, da diese erste kurze negative Halbwelle nur durch das Signalrauschen zustandegekommen ist und nicht mitgezählt werden soll.
Hast du n Idee?
Aus Erfahrung heraus, um Doppeltes zählen zu vermeiden, Messe ich nicht den 0 Durchgang/ Offset, sondern eher eine abfallende Flanke, mit einem Wert, knapp unter dem Max wert.
Weil dort ein rauschen eher unwahrscheinlich ist, bei unseren Prüf aufbauten. Wir messen hauptsächlich Kraft oder Druck.
Also bei einer Amplitude von 20, Offset 0, Messe ich bei 9.
17.11.2018, 00:23 (Dieser Beitrag wurde zuletzt bearbeitet: 19.11.2018 14:54 von Lucki.)
Da sich jetzt doch noch jemand für das Vi zu interessieren scheint:
Beispiel für N=5. Damit der Impulsausgang auf high umschaltet, müssen mindestens 5 hintereinanderfolgende Samples am Eingang positiv gewesen sein. Damit er wieder auf low schaltet, müssen mindestens 5 aufeinanderfolgende Samples negativ sein.
In machen Karten für Impulszählung ist genau dieses digitale Filter bereits eingebaut, siehe hier.