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 

Zählen bestimmter Ereignisse



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!

02.07.2008, 11:56 (Dieser Beitrag wurde zuletzt bearbeitet: 02.07.2008 12:04 von Matrim.)
Beitrag #1

Matrim Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Jul 2008

8.5
2008
de

0
Deutschland
Zählen bestimmter Ereignisse
Hallo,

ich habe ein kleines VI (LabVIEW 8.5) entwickelt, dass einfach nur zählt, wie oft ein bestimmtes Ereignis (aktivieren eines Hebels (Boolesch)) vorkommt.
Als Erweiterung wird dieser Zähler jedes Mal wieder auf 0 gesetzt, wenn er größer 5 ist.

Nun meine 1. Frage: Ist diese Umsetzung so in Ordnung? Oder kann man es einfacher erledigen?

2. Das Beenden der Schleife durch den Stopp Knopf funktioniert nur eingeschränkt, nachdem ich Stopp betätigt habe, muss ich erst den Hebel auf Wahr stellen, damit sich das Programm beendet. Wie kann ich erreichen, dass Stop den kompletten Ablauf abbricht?

Danke im Voraus.


Angehängte Datei(en) Thumbnail(s)
   

Sonstige .vi  Ereignis.vi (Größe: 13,66 KB / Downloads: 204)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.07.2008, 12:25 (Dieser Beitrag wurde zuletzt bearbeitet: 02.07.2008 12:30 von RoLe.)
Beitrag #2

RoLe Offline
LVF-Guru
*****


Beiträge: 1.236
Registriert seit: Jul 2007

-
1997
en

0
Schweiz
Zählen bestimmter Ereignisse
' schrieb:Nun meine 1. Frage: Ist diese Umsetzung so in Ordnung? Oder kann man es einfacher erledigen?

Du kannst ein ShiftRegister an der ausseren Whileschleife machen und im Event BoolChange ein +1 machen.

' schrieb:2. Das Beenden der Schleife durch den Stopp Knopf funktioniert nur eingeschränkt, nachdem ich Stopp betätigt habe, muss ich erst den Hebel auf Wahr stellen, damit sich das Programm beendet. Wie kann ich erreichen, dass Stop den kompletten Ablauf abbricht?

Für den Taster Exit auch ein Event machen.
oder den Timeouteingang an der EventStructur anschliessen, ansonnsten warten diese ewig auf einen Event, deshalb geht es auch nach dem Taster betätigen.

EDIT: noch ein Bild dazu


Angehängte Datei(en) Thumbnail(s)
   

.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.07.2008, 13:07
Beitrag #3

Matrim Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Jul 2008

8.5
2008
de

0
Deutschland
Zählen bestimmter Ereignisse
' schrieb:Du kannst ein ShiftRegister an der ausseren Whileschleife machen und im Event BoolChange ein +1 machen.
Für den Taster Exit auch ein Event machen.
oder den Timeouteingang an der EventStructur anschliessen, ansonnsten warten diese ewig auf einen Event, deshalb geht es auch nach dem Taster betätigen.

Danke, habe es noch so angepasst, dass nur von False -> True gezählt wird. Somit spare ich mir also 2 komplexere Cases und die Verwendung von lokalen Variablen.
So sollte es nun passen:


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.07.2008, 13:19
Beitrag #4

RoLe Offline
LVF-Guru
*****


Beiträge: 1.236
Registriert seit: Jul 2007

-
1997
en

0
Schweiz
Zählen bestimmter Ereignisse
' schrieb:Danke, habe es noch so angepasst, dass nur von False -> True gezählt wird. Somit spare ich mir also 2 komplexere Cases und die Verwendung von lokalen Variablen.
So sollte es nun passen:

Also, den Exit Taster würde ich schon als Event machen. So wie du es jetzt hast, macht es alle 1ms den "Timeout Event",wenn schon so dann 100ms.

.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.07.2008, 13:21
Beitrag #5

Matrim Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Jul 2008

8.5
2008
de

0
Deutschland
Zählen bestimmter Ereignisse
' schrieb:Also, den Exit Taster würde ich schon als Event machen. So wie du es jetzt hast, macht es alle 1ms den "Timeout Event",wenn schon so dann 100ms.

Das wäre eine zu hohe CPU Last, die 1ms?

Leider weiss ich grad keinen Ansatz, den Exit Taster als Event zu machen, dass er dass andere Event abbricht...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.07.2008, 13:27
Beitrag #6

RoLe Offline
LVF-Guru
*****


Beiträge: 1.236
Registriert seit: Jul 2007

-
1997
en

0
Schweiz
Zählen bestimmter Ereignisse
' schrieb:Das wäre eine zu hohe CPU Last, die 1ms?
Ja, ob zu hoch, jedenfalls sinnlos. Mach den Taster als Event und nicht den Timeout.

' schrieb:Leider weiss ich grad keinen Ansatz, den Exit Taster als Event zu machen, dass er dass andere Event abbricht...

Hää, machst du genau gleich wie du bereits den Umschalttaster gemacht hast.

Die Eventstruktur wartet (unsichtbar im Hintergrund) auf einen Befehel (Taster) und führt den definierten Event 1x aus inkl. die umgebende While-Schlaufe (Lebensschlaufe)

.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
02.07.2008, 16:55
Beitrag #7

Matrim Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Jul 2008

8.5
2008
de

0
Deutschland
Zählen bestimmter Ereignisse
Ah, nun habe ich verstanden, wie es gemeint war. Sorry -_-

Nun klappt (fast) alles, wie ich es mir gedacht hab.

Noch eine Frage habe ich, die Ereignisstruktur funktioniert nur mit Frontpanel-Eingabefeldern? Zum Beispiel bei einer LED/Diode, wenn ich da deren Status überwache, tut sich nichts...

Trotzdem Danke,
Mat.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.07.2008, 20:59
Beitrag #8

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Zählen bestimmter Ereignisse
' schrieb:Ah, nun habe ich verstanden, wie es gemeint war. Sorry -_-

Nun klappt (fast) alles, wie ich es mir gedacht hab.

Noch eine Frage habe ich, die Ereignisstruktur funktioniert nur mit Frontpanel-Eingabefeldern? Zum Beispiel bei einer LED/Diode, wenn ich da deren Status überwache, tut sich nichts...

Trotzdem Danke,
Mat.
Jein, man kann auch programmatisch Events für die Event-Struktur auslösen:

Dann muss man die Property Node "Value (Signaling)" zum Setzen einen neuen Wertes verwenden, dann bekommt sowas die Event-Struktur mit.

Und dann gibt es noch die Möglichkeit benutzerdefinierter Events, dazu empfehle ich mal die entsprechenden Beispiele im NI-Examplefinder.

MfG, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.07.2008, 11:50
Beitrag #9

Matrim Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Jul 2008

8.5
2008
de

0
Deutschland
Zählen bestimmter Ereignisse
' schrieb:Jein, man kann auch programmatisch Events für die Event-Struktur auslösen:

Dann muss man die Property Node "Value (Signaling)" zum Setzen einen neuen Wertes verwenden, dann bekommt sowas die Event-Struktur mit.

Und dann gibt es noch die Möglichkeit benutzerdefinierter Events, dazu empfehle ich mal die entsprechenden Beispiele im NI-Examplefinder.

MfG, Jens

Danke, ich werde mich da mal durchhangeln.
Statt dem Überwachen einer LED wäre es bestimmt besser, direkt den entsprechenden Booleschen Ausgang zu überwachen, und jedes Mal, wenn die Flanke von False auf True wechselt, einen bestimmten Wert zu inkrementieren. Das muss doch irgendwie gehen ...
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
  Kopplung zweier Ereignisse TTT 4 3.933 25.07.2018 15:49
Letzter Beitrag: TTT
  Plotlegende programmatisch erstellen um Ereignisse zu erfassen mez15 10 6.596 01.03.2017 16:48
Letzter Beitrag: GerdW
  Ereignis in Ereignisstruktur ruft weitere Ereignisse auf Gruenschnabel 6 4.865 16.09.2016 07:01
Letzter Beitrag: TSC
  2 Ereignisse nacheinander auslösen jan_1 31 15.049 13.04.2016 19:27
Letzter Beitrag: Lucki
  Array mit bestimmter Anzahl an Werten Svenson 2 3.487 23.02.2016 16:49
Letzter Beitrag: jg
  Ereignisse in Cluster in Array erfassen mez15 7 5.747 15.12.2015 11:24
Letzter Beitrag: mez15

Gehe zu: