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 

Eventstruktur der Laufzeitteufel



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.11.2011, 10:48
Beitrag #1

DuffiDuck Offline
LVF-Grünschnabel
*


Beiträge: 42
Registriert seit: Sep 2011

10.0.1
2007
EN


Oesterreich
Eventstruktur der Laufzeitteufel
Hallo community,

ich hätte mal eine Frage aber zuerst zu meinem Projekt.

Ich steuere eine Testanlage über Labview und TwinCat und protokolliere und Verarbeite die Messergebnisse in LabView bzw. Excel. Die Kommunikation mit TwinCat funkt und habe auch gleich eine zweite Testanlage mit hineingenommen. Die Verarbeitung der Testanlagenergebnisse (Messwerte) erfolgt in zwei verschiedenen Schleifen. In einer dritten Schleife ist eine Eventstruktur erstellt worden die die Tasten abfragt und anschließend einen CASE ausführt. Hier werden dann sub.vi aufgerufen für die Ausgabe von Informationen bzw. Interaktion mit der Anlage. Kleines Bildchen unten.

Zu meinem Problem:

Es funktioniert alles einwandfrei bis auf einen kleinen aber doch erheblichen Fehler. Nach ca. zwei Tage hängt sich die Eventstruktur bzw. deren Schleife irgendwie auf?
Normal: Button drücken > sub.vi geht auf
Manchmal: Button drücken > Button wird als gedrückt angezeigt > nichts geht mehr zu drücken (frontpanel kann nicht scrollen, keine Tasten mehr drücken, usw.)

Aber die anderen Schleifen laufen weiter und protokollieren da ich immer mit TwinCat auf eine Rückmeldung warte. Sprich nur diese eine Schleife mit der Eventstruktur ist irgendwie tot. Habe auch schon mit der Glühbirne (Highlight irgendwas?) nachgesehen bzw. eine Variblen Überwachung gesetzt. Hier kam heraus dass die Schleife erst beim Aufruf des sub.vi stehen bleibt und somit die anderen Event Strukturen blockiert (wahrscheinlich?).

Meine Lösungsansätze jetzt:
- in die Schleife ein wait einfügen > ist besser geworden hat aber nicht funktioniert (bin ich vom c so gewöhnt wenns nicth funkt)
- Oben im Frontpanel zwei mal auf Pause (||) drücken und dann macht es wieder weiter und ruft das sub.vi wieder auf (weiß nicht warum)

Es merkt sich auch welche Tasten gedrückt wurden und öffnet diese nach der reihe.

Vielen Dank für eure Mithilfe.

mfg DuffiBadewanne_2_2


Angehängte Datei(en) Thumbnail(s)
   

Ich bin kein Politiker,
ich bin kein Dichter,
ich bin kein Mensch...
... ich bin Techniker.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.11.2011, 13:11 (Dieser Beitrag wurde zuletzt bearbeitet: 23.11.2011 13:12 von GerdW.)
Beitrag #2

GerdW Online
______________
LVF-Team

Beiträge: 17.428
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Eventstruktur der Laufzeitteufel
Hallo Duffi,

- Vielleicht zuviele Knicke in den Drähten?
- Vielleicht zuviele verdeckte Drähte?
Bei beiden Fällen fließen die Daten langsamer... (Ironie!)

- Zuviele lokale Variablen? Dadurch zuviele Datenkopien? Zu großer Speicherbedarf, insbesondere nach längerer Laufzeit?
- Vielleicht hängt ja irgendwas anderes, sodass die Eventstruktur nicht zum Zug kommt und dadurch das FP sperrt?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.11.2011, 13:18
Beitrag #3

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Eventstruktur der Laufzeitteufel
Unnötige lokale Variablen, das hatten wir schon in deinem ersten Thread:
http://www.labviewforum.de/Thread-Optimi...ines-SubVi

Nur auf Grund deines Screenshots kann ich dir leider nicht weiterhelfen, zu wenig Infos.
Schon mal Speicherverbrauch beobachtet? Gerne die Ursache, wenn ein Programm nicht mehr reagiert.

Gruß, 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
23.11.2011, 13:40
Beitrag #4

BNT Offline
LVF-Freak
****


Beiträge: 740
Registriert seit: Aug 2008

5.0 - 22Q3
1999
EN

64291
Deutschland
RE: Eventstruktur der Laufzeitteufel
Hi
Vielleicht wird Dein geöffnetes SubVI von dem HautVI (mit Event-Struktur) durch unbeabsichtigten "Doppelklick" wieder verdeckt und wartet auf User-Input.

Gruß Holger

NI Alliance Partner & LabVIEW Champion
GnuPG Key: 6C077E71, refer to http://www.gnupg.org for details.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.11.2011, 14:05 (Dieser Beitrag wurde zuletzt bearbeitet: 23.11.2011 14:06 von DuffiDuck.)
Beitrag #5

DuffiDuck Offline
LVF-Grünschnabel
*


Beiträge: 42
Registriert seit: Sep 2011

10.0.1
2007
EN


Oesterreich
RE: Eventstruktur der Laufzeitteufel
Hallo,

danke für die vielen Antworten.

Zitat:Hi
Vielleicht wird Dein geöffnetes SubVI von dem HautVI (mit Event-Struktur) durch unbeabsichtigten "Doppelklick" wieder verdeckt und wartet auf User-Input.

Gruß Holger

Hab ich mir auch schon gedacht und dadurch alle sub.vi so eingrichtet das diese immer im Vordergrund sind

Zitat:- Vielleicht hängt ja irgendwas anderes, sodass die Eventstruktur nicht zum Zug kommt und dadurch das FP sperrt?

Wie gesagt oben habe die Glühbirnfunktion ausgeführt und die ist bis zum sub.vi gegangen (grüner Pfeil)

Zitat:- Zuviele lokale Variablen? Dadurch zuviele Datenkopien? Zu großer Speicherbedarf, insbesondere nach längerer Laufzeit?

Unnötige lokale Variablen, das hatten wir schon in deinem ersten Thread:
http://www.labviewforum.de/Thread-Optimi...ines-SubVi

Ja ist mir klar aber wie kann ich sonst die Daten von einer Schleife in die andere Bringen? Wenn ich das mit den ganzen Variablen mit Drähte zusammenführe hab ich da 50 in diese Schleife reingehen! Das is ja auch schiach?? Aber wenns sein muss...
(zu Topic: Da waren die globalen Variablen ja nur in einem kleinen sub.vi das war dann noch übersichtlich mit Drähte)

Zitat:Schon mal Speicherverbrauch beobachtet? Gerne die Ursache, wenn ein Programm nicht mehr reagiert.

Ja wär mein nächster Schritt gewesen kann immer nur am wochenende auf die Testanlage.

Aber könnt ihr mir sagen was der Pause Button für eine Funktion darstellt also was er genau macht? Lädt der irgendetwas neu? Weil wie oben gesagt funktioniert es dann wieder?

Bringt das wait eigendlich was? Oder wird die Schleife so und so nur einmal ausgeführt (unlogisch) und wartet dann auf ein Event?

Danke für die Hilfe.

mfg duffiBadewanne_2_2

Ich bin kein Politiker,
ich bin kein Dichter,
ich bin kein Mensch...
... ich bin Techniker.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.11.2011, 14:13 (Dieser Beitrag wurde zuletzt bearbeitet: 23.11.2011 14:14 von GerdW.)
Beitrag #6

GerdW Online
______________
LVF-Team

Beiträge: 17.428
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Eventstruktur der Laufzeitteufel
Hallo Duffi,

Zitat:Oder wird die Schleife so und so nur einmal ausgeführt (unlogisch) und wartet dann auf ein Event?
Um das zu beantworten, müsste man eigentlich die Schleife überhaupt erstmal sehen...
Aber deine Eventstruktur hat nichts am TimeOut-Eingang angeschlossen, sodass man davon ausgehen kann, dass sie auf ein Event wartet (und das in jeder Iteration!).
Könntest du auch noch erläutern, welche Gedankengänge sich hinter dem "unlogisch" verstecken? Ich halte es für logisch, wenn eine Schleife mit Eventstruktur auf Events wartet...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
23.11.2011, 14:32
Beitrag #7

DuffiDuck Offline
LVF-Grünschnabel
*


Beiträge: 42
Registriert seit: Sep 2011

10.0.1
2007
EN


Oesterreich
RE: Eventstruktur der Laufzeitteufel
Hallo,

im Grundegenommen funktioniert es so wie in der unteren Abbildung.

TimeOut für was ist der
Occurs when the Event structure times out. Wire a value to the Timeout terminal at the top left of the Event structure to specify the number of milliseconds the Event structure should wait for an event to occur before generating a Timeout event.

The time stamp is a millisecond counter you can use to compute the time elapsed between two events or to determine the order of occurrence.


Wann kommt es zu diesem Zustand? Zwischen 2 Tastendrücken? Oder eigendlich immer wenn nichts passiert sprich es tut sich 1000ms nichts dann wird der Timeout case durchgeführt?

Zitat:Zitat:Oder wird die Schleife so und so nur einmal ausgeführt (unlogisch) und wartet dann auf ein Event?

Weil sich das irgendwie Wiedersprich! Für was muss ich eine Eventstruktur in eine Schleife packen wenn diese sowieso nur auf Events reagiert? Ich muss dann ja nicht in einer Tour abfragen: Bist du schon da?, Bist du schon da?, Bist du schon da?, Bist du schon da? sondern er sagt ICH BIN DA, MICH AUSFÜHREN? (is ja wie ein Interrupt? Oder muss ich das zwecks LabViews Multitaskingversuch machen? (jaja windows und so)


mfg fritz


Angehängte Datei(en) Thumbnail(s)
   

Ich bin kein Politiker,
ich bin kein Dichter,
ich bin kein Mensch...
... ich bin Techniker.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.11.2011, 14:40 (Dieser Beitrag wurde zuletzt bearbeitet: 23.11.2011 14:42 von GerdW.)
Beitrag #8

GerdW Online
______________
LVF-Team

Beiträge: 17.428
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Eventstruktur der Laufzeitteufel
Hallo duffi,

Zitat:Für was muss ich eine Eventstruktur in eine Schleife packen wenn diese sowieso nur auf Events reagiert?
Die Eventstruktur gehört in eine Schleife, weil du öfter als nur ein einziges Mal auf ein Event reagieren willst. Willst du doch, oder?

Zitat:Ich muss dann ja nicht in einer Tour abfragen: Bist du schon da?
Machst du doch auch nicht. THINK DATAFLOW!
Die Iteration der Schleife wird erst beendet, wenn alle enthaltenen Funktionen/Strukturen abgearbeitet sind. Die Eventstruktur ist eine dieser Strukturen - und die wartet nunmal auf ein Event...

Zitat:TimeOut für was ist der Occurs when the Event structure times out.
Genau wie beschrieben: wenn innerhalb der vorgegebenen Zeit kein anderes Event auftritt, dann wird der TimeOut-Case angesprungen... (Genauso funktionieren auch die TimeOuts bei VISA-,DAQmx-,Queue-,Notifier-Funktionen...)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.11.2011, 15:34
Beitrag #9

Achim Offline
*****
*****


Beiträge: 4.222
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
RE: Eventstruktur der Laufzeitteufel
(23.11.2011 10:48 )DuffiDuck schrieb:  Normal: Button drücken > sub.vi geht auf
Manchmal: Button drücken > Button wird als gedrückt angezeigt > nichts geht mehr zu drücken (frontpanel kann nicht scrollen, keine Tasten mehr drücken, usw.)

Hast du ein VI direkt in einem Event-Case platziert?

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.11.2011, 07:22
Beitrag #10

DuffiDuck Offline
LVF-Grünschnabel
*


Beiträge: 42
Registriert seit: Sep 2011

10.0.1
2007
EN


Oesterreich
RE: Eventstruktur der Laufzeitteufel
hallo,

erstmal nochmal danke für eure Hilfe.

Zitat:Die Eventstruktur gehört in eine Schleife, weil du öfter als nur ein einziges Mal auf ein Event reagieren willst. Willst du doch, oder?

Ich habe mir gedacht die Schleife läuft kontinuierlich! Habe jetzt mein Besipiel umgebaut und habe gesehen das auf ein Event gewartet wird und anschließend der neue Schleifendurchlauf beginnt.

Zitat:Genau wie beschrieben: wenn innerhalb der vorgegebenen Zeit kein anderes Event auftritt, dann wird der TimeOut-Case angesprungen... (Genauso funktionieren auch die TimeOuts bei VISA-,DAQmx-,Queue-,Notifier-Funktionen...)

ok, danke ist jetzt klar.

Heute in der früh wurde von Benutzer beobachtet das sich die Schleife gestern in der Nacht wieder aufgehängt hat. Er wollte es mir zeigen funktioniert aber wieder alles. Sprich es wird einfach irgendwann wenn es nicht mehr weitergeht einen Timeout erzeugen und die Schleife rücksetzen (Schätz ich jetzt einmal).

Zitat:Hast du ein VI direkt in einem Event-Case platziert?

Nein, habe ich nicht. Es ist nur ein Enum drinnen und 1- 2 mal ein Feld aufruf. Die sub.vi werden im nachgestellten CASE ausgeführt.

Meine Lösungsvorschläge durch die anregende Disskussion sind jetzt folgende:
1) TimeOut Event- Case belangen und ausführen
2) Die ganze Eventstruktur inklusive anschließender CASE in eine Sequenz packen da vielleicht nach der Auswahl des Eventcases der nachfolgende CASE ausgeführt wird aber die Schleife wieder weiterzählt und dadurch sehr viele Schleifendurchgänge zusätzlich mach (Ist wahrscheinlich auch der Grund warum sich die Schleife nach aufhängen alle anderen Tastendrücke merkt)
3) Nach Möglichkeit reduzieren der lokalen Variablen (weiß noch nicht wie?)
4) Überprüfung der Auslastung des Speichers

mfg duffiBadewanne_2_2

Ich bin kein Politiker,
ich bin kein Dichter,
ich bin kein Mensch...
... ich bin Techniker.
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
  Eventstruktur im SubVI - Datenaustausch TpunktN 5 2.881 01.07.2021 07:15
Letzter Beitrag: Zelos
  Eventstruktur in Sub VI Ingo2 1 3.209 20.07.2015 13:27
Letzter Beitrag: GerdW
  Eventstruktur mit 2 Events Großer_Stein 3 3.765 11.06.2015 10:11
Letzter Beitrag: Großer_Stein
  Eventstruktur lola2014 12 8.544 26.01.2015 16:28
Letzter Beitrag: GerdW
  Wert aus Eventstruktur creo_123 22 13.289 05.11.2013 21:45
Letzter Beitrag: GerdW
  Stop während Eventstruktur am laufen ist haydenfan 5 5.446 05.11.2013 09:50
Letzter Beitrag: haydenfan

Gehe zu: