LabVIEWForum.de
Zyklen zählen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Zyklen zählen (/Thread-Zyklen-zaehlen)

Seiten: 1 2 3


RE: Zyklen zählen - erzengelsamael - 15.11.2018 06:55

(14.11.2018 17:43 )GerdW schrieb:  Hallo Samael,

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.


RE: Zyklen zählen - erzengelsamael - 15.11.2018 09:01

Ich habe es hinbekommen, ohne die Waiting Time zu reduzieren.

Ich habe in eine For-Schleife eine State Maschine integriert.

die State's sind, Größer als -> Kleiner als -> zählen +1

Das Ergebnis aus der For-Schleife, wird in der Haupt While-Schleife über Schieberegister Addiert.

So habe ich zwar keine Direkte Zählung (1,2,3,4,5,...) bei 5Hz, aber pro Wiederholung (5,10,15,20,25,...)

Das ganze funktioniert bis jetzt mit jeder frequenz die ich getestet habe, zwischen 0,5Hz und 20Hz.

Das reicht mir aus. Anniemacht_2


RE: Zyklen zählen - Lucki - 15.11.2018 11:50

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.


RE: Zyklen zählen - erzengelsamael - 15.11.2018 12:58

(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.

[attachment=59561]

[attachment=59562]

[attachment=59563]

[attachment=59564]

Ich hoffe ich mach hier keinen fehler. :-)

Nach den aufgezeichnet Messwerten, passen die Zyklenzahlen, ganz gut.


RE: Zyklen zählen - GerdW - 15.11.2018 17:40

Hallo Samael,

Zitat:Ich hoffe ich mach hier keinen fehler. :-)
Naja…

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…


RE: Zyklen zählen - Lucki - 15.11.2018 18:21

(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
[attachment=59565]
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.


RE: Zyklen zählen - BNT - 15.11.2018 20:26

Vielleicht sollten die Rohdaten einen Tiefpassfilter mit geeigneter Grenzfrequenz durchlaufen, bevor die Schwingungen gezählt werden.
Gruß Holger


RE: Zyklen zählen - erzengelsamael - 16.11.2018 07:17

(15.11.2018 18:21 )Lucki schrieb:  
(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.


RE: Zyklen zählen - Lucki - 17.11.2018 00:23

(16.11.2018 07:17 )erzengelsamael schrieb:  Hast du n Idee?
Ja
[attachment=59570]
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.