INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

Mit Zähler Volumenstrom messen



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!

23.01.2012, 12:24
Beitrag #1

Knarrre Offline
LVF-Grünschnabel
*


Beiträge: 27
Registriert seit: Nov 2011

2011
2011
DE_EN



Mit Zähler Volumenstrom messen
Hallo,

ich habe eine Ni-USB 6210 Karte mit LV2011 und möchte den Volumenstrom der durch eine Gasuhr geht messen. Diese kann einen Takt ausgeben, also mehr oder weniger hat sie einen Schalter, der alle 10 Liter einmal schließt.
Da ich ich Labview Neuling bin benutze ich den DAQ-Assistenten.
Bisher habe ich es über Signale erfassen-->Zählergestützte Erfassung-->Flankenzahl bestimmen so weit hinbekommen, dass er pro Kontakt zählt. Nur zählt er jetzt pro Kontakt nicht einen hoch sondern ca. 10 bis 30.
Ich vermute er zählt immer Kontaktzeit*Frequenz.

Wie kann ich ihn pro Kontakt einmal hochzählen lassen?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.01.2012, 15:09
Beitrag #2

Knarrre Offline
LVF-Grünschnabel
*


Beiträge: 27
Registriert seit: Nov 2011

2011
2011
DE_EN



RE: Mit Zähler Volumenstrom messen
Also ich habe auch noch die möglichkeit mir den geschlossenen Kontakt boolisch als eins und null ausgeben zu lassen. Jetzt müsste ich halt noch einen zähler programmieren der dieses "signal" erkennt und danach hochzählt.

Weiß jemand wie das geht? im endeffekt ist mein größtes Problem gerade, dass ich nichtmal hinkriege einen Wert zu erstellen den ich dann hochlaufen lasse. Herkömmlich würde ich das etwa so programmieren:


zähler=0
do
if schalter=1 then i=1;
elseif schalter=0 and i=1 then zähler=zähler+1 and i=0;
loop

Er soll also merken ob der schalter gerade von eins auf null umgeschaltet hat und dann immer einen hochzählen...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.01.2012, 15:26
Beitrag #3

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Mit Zähler Volumenstrom messen
Hallo Knarre,

Zitat:Nur zählt er jetzt pro Kontakt nicht einen hoch sondern ca. 10 bis 30.
Hat die Gasuhr vielleicht einen stark prellenden mechanischen Schalter (aka Relais)?

Code:
zähler=0
do
if schalter=1 then i=1;
elseif schalter=0 and i=1 then zähler=zähler+1 and i=0;
loop
In LabVIEW sind das zwei Schieberegister und keine lokalen Variablen...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.01.2012, 15:30
Beitrag #4

M Nussbaumer Offline
Zarathustra
****


Beiträge: 654
Registriert seit: Sep 2009

2009 SP1
2009
EN

6300
Schweiz
RE: Mit Zähler Volumenstrom messen

Akzeptierte Lösung

(23.01.2012 15:09 )Knarrre schrieb:  Also ich habe auch noch die möglichkeit mir den geschlossenen Kontakt boolisch als eins und null ausgeben zu lassen. Jetzt müsste ich halt noch einen zähler programmieren der dieses "signal" erkennt und danach hochzählt.

Weiß jemand wie das geht? im endeffekt ist mein größtes Problem gerade, dass ich nichtmal hinkriege einen Wert zu erstellen den ich dann hochlaufen lasse. Herkömmlich würde ich das etwa so programmieren:


zähler=0
do
if schalter=1 then i=1;
elseif schalter=0 and i=1 then zähler=zähler+1 and i=0;
loop

Er soll also merken ob der schalter gerade von eins auf null umgeschaltet hat und dann immer einen hochzählen...

Wenn ich dich richtig verstehe, willst du bei jedem Wechsel von 1 nach 0 deinen Counter um 1 erhöhen.

Falls dem so ist könntest du die Schieberegister verwenden um den letzten Wert zu vergleichen.
Hier mal ein Beispiel wie es funktionieren könnte:


9.0 .vi  Counter.vi (Größe: 8,39 KB / Downloads: 452)


Nicht vergessen, den Initialisieren-Case zuerst auszuführen damit die Counter etc zurückgesetzt werden.

Hoffe das hilft dir weiter!

Gruss Marc
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.01.2012, 15:49 (Dieser Beitrag wurde zuletzt bearbeitet: 23.01.2012 15:51 von Knarrre.)
Beitrag #5

Knarrre Offline
LVF-Grünschnabel
*


Beiträge: 27
Registriert seit: Nov 2011

2011
2011
DE_EN



RE: Mit Zähler Volumenstrom messen
(23.01.2012 15:26 )GerdW schrieb:  Hallo Knarre,

Zitat:Nur zählt er jetzt pro Kontakt nicht einen hoch sondern ca. 10 bis 30.
Hat die Gasuhr vielleicht einen stark prellenden mechanischen Schalter (aka Relais)?

Code:
zähler=0
do
if schalter=1 then i=1;
elseif schalter=0 and i=1 then zähler=zähler+1 and i=0;
loop
In LabVIEW sind das zwei Schieberegister und keine lokalen Variablen...

Hallo GerdW,

ja das mit dem Schalter kann sein, weißt du was genau dieser counter da zählt?

Das mit den Schieberegistern verstehe ich einfach nicht! Meinst du den Zähler und i in meinem Beispiel? Aber ich muss doch den Zähler im Frontpanel ausgeben können...
Ich verstehe wirklich nicht warum mir der Wechsel zu Labview (bzw. zur grafischen Programmierung) so schwer fällt! Sorry und Danke für die Geduld!










(23.01.2012 15:30 )M Nussbaumer schrieb:  
(23.01.2012 15:09 )Knarrre schrieb:  Also ich habe auch noch die möglichkeit mir den geschlossenen Kontakt boolisch als eins und null ausgeben zu lassen. Jetzt müsste ich halt noch einen zähler programmieren der dieses "signal" erkennt und danach hochzählt.

Weiß jemand wie das geht? im endeffekt ist mein größtes Problem gerade, dass ich nichtmal hinkriege einen Wert zu erstellen den ich dann hochlaufen lasse. Herkömmlich würde ich das etwa so programmieren:


zähler=0
do
if schalter=1 then i=1;
elseif schalter=0 and i=1 then zähler=zähler+1 and i=0;
loop

Er soll also merken ob der schalter gerade von eins auf null umgeschaltet hat und dann immer einen hochzählen...

Wenn ich dich richtig verstehe, willst du bei jedem Wechsel von 1 nach 0 deinen Counter um 1 erhöhen.

Falls dem so ist könntest du die Schieberegister verwenden um den letzten Wert zu vergleichen.
Hier mal ein Beispiel wie es funktionieren könnte:



Nicht vergessen, den Initialisieren-Case zuerst auszuführen damit die Counter etc zurückgesetzt werden.

Hoffe das hilft dir weiter!

Gruss Marc

Hallo Marc!

Vielen Dank für das Beispiel! Ich versuche das mal zu verstehen und dann meld ich mich ob ich es damit hinkriege...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.01.2012, 15:51 (Dieser Beitrag wurde zuletzt bearbeitet: 23.01.2012 16:06 von Lucki.)
Beitrag #6

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Mit Zähler Volumenstrom messen
Marc war mit seinem VI eher, wegen des Rube-Goldberg-Anteils poste ich mal noch mein ansonsten gleiches Bildchen. Es reagiert allerdings auf die O/1- Flanke, was leicht zu ändern ist. ("<" statt ">" verwenden)
Wichtig ist ein Wait in der Schleife. Nicht nur wegen der ansonten 100%igen CPU-Last, sondern auch um Falschzählungen wegen Kontaktprellung zu vermeiden. Wenn t0 und t1 die 0- und 1-Zeiten bei der höchsten Durchflußrate sind, dann sollte t-Wait kleiner sein als die kürzere der beiden Zeiten - aber nicht sehr viel kleiner.
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
23.01.2012, 16:01
Beitrag #7

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Mit Zähler Volumenstrom messen
Hallo Knarre,

Zitat:Das mit den Schieberegistern verstehe ich einfach nicht! Meinst du den Zähler und i in meinem Beispiel? Aber ich muss doch den Zähler im Frontpanel ausgeben können...
Dank an Lucki. Der zeigt in seinem Bild nämlich die zwei genannten Schieberegister - und der Zähler wird auch im Frontpanel angezeigt...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.01.2012, 16:11
Beitrag #8

M Nussbaumer Offline
Zarathustra
****


Beiträge: 654
Registriert seit: Sep 2009

2009 SP1
2009
EN

6300
Schweiz
RE: Mit Zähler Volumenstrom messen
(23.01.2012 15:51 )Lucki schrieb:  Marc war mit seinem VI eher, wegen des Rube-Goldberg-Anteils poste ich mal noch mein ansonsten gleiches Bildchen. Es reagiert allerdings auf die O/1- Flanke, was leicht zu ändern ist. ("<" statt ">" verwenden)
Wichtig ist ein Wait in der Schleife. Nicht nur wegen der ansonten 100%igen CPU-Last, sondern auch um Falschzählungen wegen Kontaktprellung zu vermeiden. Wenn t0 und t1 die 0- und 1-Zeiten bei der höchsten Durchflußrate sind, dann sollte t-Wait kleiner sein als die kürzere der beiden Zeiten - aber nicht sehr viel kleiner.

Der Rube-Goldberg-Teil ist mir im Nachhinein auch aufgefallenBlush

Gruss Marc
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.01.2012, 16:19 (Dieser Beitrag wurde zuletzt bearbeitet: 23.01.2012 16:26 von Knarrre.)
Beitrag #9

Knarrre Offline
LVF-Grünschnabel
*


Beiträge: 27
Registriert seit: Nov 2011

2011
2011
DE_EN



RE: Mit Zähler Volumenstrom messen
(23.01.2012 15:30 )M Nussbaumer schrieb:  
(23.01.2012 15:09 )Knarrre schrieb:  Also ich habe auch noch die möglichkeit mir den geschlossenen Kontakt boolisch als eins und null ausgeben zu lassen. Jetzt müsste ich halt noch einen zähler programmieren der dieses "signal" erkennt und danach hochzählt.

Weiß jemand wie das geht? im endeffekt ist mein größtes Problem gerade, dass ich nichtmal hinkriege einen Wert zu erstellen den ich dann hochlaufen lasse. Herkömmlich würde ich das etwa so programmieren:


zähler=0
do
if schalter=1 then i=1;
elseif schalter=0 and i=1 then zähler=zähler+1 and i=0;
loop

Er soll also merken ob der schalter gerade von eins auf null umgeschaltet hat und dann immer einen hochzählen...

Wenn ich dich richtig verstehe, willst du bei jedem Wechsel von 1 nach 0 deinen Counter um 1 erhöhen.

Falls dem so ist könntest du die Schieberegister verwenden um den letzten Wert zu vergleichen.
Hier mal ein Beispiel wie es funktionieren könnte:



Nicht vergessen, den Initialisieren-Case zuerst auszuführen damit die Counter etc zurückgesetzt werden.

Hoffe das hilft dir weiter!

Gruss Marc



Sehr geil hat geklappt. Ich habe einfach meinen Wert den ich von der Gasuhr bekommen an deinen "value" über "lokale Variable" übergeben und dein vi so eingefügt. Vielen Dank!

(23.01.2012 15:51 )Lucki schrieb:  Marc war mit seinem VI eher, wegen des Rube-Goldberg-Anteils poste ich mal noch mein ansonsten gleiches Bildchen. Es reagiert allerdings auf die O/1- Flanke, was leicht zu ändern ist. ("<" statt ">" verwenden)
Wichtig ist ein Wait in der Schleife. Nicht nur wegen der ansonten 100%igen CPU-Last, sondern auch um Falschzählungen wegen Kontaktprellung zu vermeiden. Wenn t0 und t1 die 0- und 1-Zeiten bei der höchsten Durchflußrate sind, dann sollte t-Wait kleiner sein als die kürzere der beiden Zeiten - aber nicht sehr viel kleiner.

Danke Lucki!
Habe jetzt schon Marcs Variante genommen (sie funktioniert also nehm ich sie einfach erstmalWink )
Aber jetzt können andere mit dem gleichen Problem sich eine Variante aussuchen. Dieses Forum ist echt der Hammer!
Werde mich sobald (und falls) ich es kann revangieren!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Zähler mit digital counter der Hardware JonasSJ 3 2.339 29.08.2023 17:50
Letzter Beitrag: GerdW
  1 Zähler , 2 Operationen gleichzeitig knq 14 11.658 01.12.2014 19:43
Letzter Beitrag: knq
Sad Zähler, Unterbrechungen RMR 2 4.756 14.04.2011 09:16
Letzter Beitrag: RMR
  Wieviele Zähler ? Mueller_BT 2 4.864 16.06.2010 09:40
Letzter Beitrag: Mueller_BT
  Zähler in Abhängigkeit eines Anderen aber mit... Kevsche 3 5.093 07.08.2008 09:27
Letzter Beitrag: Y-P
  Frage wie kann man in LV 8.2 Zähler und analoge Channels synchron loggen? Ueberarbeitet 1 4.288 18.06.2008 09:48
Letzter Beitrag: Ueberarbeitet

Gehe zu: