15.11.2018, 06:55
|
erzengelsamael
LVF-Gelegenheitsschreiber
Beiträge: 89
Registriert seit: Aug 2012
12.0f3
2012
DE
Deutschland
|
RE: Zyklen zählen
(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.
|
|
|
15.11.2018, 09:01
|
erzengelsamael
LVF-Gelegenheitsschreiber
Beiträge: 89
Registriert seit: Aug 2012
12.0f3
2012
DE
Deutschland
|
RE: Zyklen zählen
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.
|
|
|
15.11.2018, 11:50
(Dieser Beitrag wurde zuletzt bearbeitet: 15.11.2018 11:53 von Lucki.)
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
RE: Zyklen zählen
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.)
|
erzengelsamael
LVF-Gelegenheitsschreiber
Beiträge: 89
Registriert seit: Aug 2012
12.0f3
2012
DE
Deutschland
|
RE: Zyklen zählen
(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.
|
|
|
15.11.2018, 17:40
|
GerdW
______________
Beiträge: 17.467
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Zyklen zählen
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…
|
|
|
15.11.2018, 18:21
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
RE: Zyklen zählen
(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.
|
|
|
16.11.2018, 07:17
|
erzengelsamael
LVF-Gelegenheitsschreiber
Beiträge: 89
Registriert seit: Aug 2012
12.0f3
2012
DE
Deutschland
|
RE: Zyklen zählen
(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.
|
|
|
17.11.2018, 00:23
(Dieser Beitrag wurde zuletzt bearbeitet: 19.11.2018 14:54 von Lucki.)
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
RE: Zyklen zählen
(16.11.2018 07:17 )erzengelsamael schrieb: Hast du n Idee?
Ja
Impuls.vi (Größe: 14,15 KB / Downloads: 183)
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.
|
|
|
| |