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 

Events nicht speichern



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!

18.12.2007, 09:23
Beitrag #1

Simsdibims Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 70
Registriert seit: May 2007

8.5
2006
kA

83553
Deutschland
Events nicht speichern
Hallo LV-Gemeinde,
ich hab ein Programm, bei denen die Events manchmal länger dauern, je nach dem wie schnell mein
Gerät mir die Antworten zurückgibt. Wenn man jetzt einen Schalter öfters schnell drückt, werden die Events
gespeichert und dann ist der Zugriff auf andere Sachen gesperrt (Applikation beenden, usw.)
Kann man verhindern, dass Events gespeichert werden?!
Freu mich über jede Antwort, Gruß Simon
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.12.2007, 09:28
Beitrag #2

abrissbirne Offline
LVF-Stammgast
***


Beiträge: 480
Registriert seit: Aug 2007

LV2009, LV2010
2007
EN

66123
Deutschland
Events nicht speichern
' schrieb:Hallo LV-Gemeinde,
ich hab ein Programm, bei denen die Events manchmal länger dauern, je nach dem wie schnell mein
Gerät mir die Antworten zurückgibt. Wenn man jetzt einen Schalter öfters schnell drückt, werden die Events
gespeichert und dann ist der Zugriff auf andere Sachen gesperrt (Applikation beenden, usw.)
Kann man verhindern, dass Events gespeichert werden?!
Freu mich über jede Antwort, Gruß Simon
Du kannst das Frontpanel für die Zeit in der das Event ausgeführt wird sperren. Dann kann in dieser Zeit niemand ein Steuerelement bedienen. Wenn du ein Event erstellst kann du unten ein Häckchen bei "Lock front panel until the event case for this event completes" setzen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.12.2007, 09:32 (Dieser Beitrag wurde zuletzt bearbeitet: 18.12.2007 09:33 von Achim.)
Beitrag #3

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


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Events nicht speichern
Hi,
du hast ganz offensichtlich in den jeweiligen Event-Cases While-Schleifen untergebracht, die auf irgendwas warten, gelle?

Das ist nicht gut! Ein Event ist "was kurzes", damit sollte man nur was antriggern...z.B. kann man damit in einen neuen Status eines Zustandsautomaten springen, der dann so oft wiederholt wird, bis dein Ergebnis da ist. Das Programm bleibt aber bis dahin in Bereitschaft für neue Events, z.B. "Abbruch". Sieh dir zu diesem Thema mal die diversen Foreneinträge an!

Zu deinem Problem: Ich weiß nicht, wie man Events "nicht speichern" kann. Aber du kannst ja für jedes Event "Lock frontpanel until event completes" definieren...damit kann dann niemand den Button nochmal drücken...allerdings auch keine anderen. Du könntest aber bei Event-Start diverse Sachen deaktivieren...dann wartetst du bis "fertig" und dann aktivierst du die nötigen Bedienelemente wieder...naja, das ist nicht die feine englische Art, aber es dürft funktionieren.

Du solltest dir aber wirklich mal das Konzept Zustandautomat/State Machine anschauen, damit kann man 99,99% aller Anwendungen in LV ganz bequem erschlagen!

Gruß
Achim

"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
18.12.2007, 09:45
Beitrag #4

Simsdibims Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 70
Registriert seit: May 2007

8.5
2006
kA

83553
Deutschland
Events nicht speichern
Das Problem ist, dass ich ungefährt 20 Schalter auf dem GUI habe. Mit jedem Schalter schicke ich ein anderes Kommando über RS232 und lese es dann anschließend ein. Solange der ließt, werden alle anderen Events nur gespeichert und danach abgearbeitet. Hier wäre eine Statemachine glaube ich sehr unübersichtlich...
Der Menüpunkt "Lock front panel until the event case for this event completes" ist bei mir schon aktiviert, die Events werden trotzdem gespeichert!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.12.2007, 09:49 (Dieser Beitrag wurde zuletzt bearbeitet: 18.12.2007 09:54 von Achim.)
Beitrag #5

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


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Events nicht speichern
Na dann pack doch alle Schalter in ein Cluster...wenn du einen betätigst, deaktivierst du das komplette Cluster inkl. dem gerade betätigten Button...und dann werden garantiert keine Events gespeichert, weil keine erzeugt werden können! Wenn das Event fertig ist, aktivierst du wieder.

Du musst dazu noch nicht mal für jeden Button einen eigenes Event machen, da reicht ein ValueChange des kompletten Cluster...und im Cluster ermittelst du mit "new Value", welcher Button grad gedrückt wurde...

    Hier fehlt noch die De-/aktivierung...

A.

"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
18.12.2007, 19:45
Beitrag #6

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.697
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Events nicht speichern
' schrieb:und dann werden garantiert keine Events gespeichert, weil keine erzeugt werden können!
Das ist ohne Zusatz aber nur bedingt richtig - zumindest bei mir und in LV8.5. Siehe Anhang.

Wenn das Bedienelement disabled ist und im Event "Frontpanel sperren" aktiviert ist, dann kann man auf das deaktivierte Element 10mal klicken - und diese 10 Klicks werden der Reihe nach abgearbeitet. Selbst unsichtbare Bedienelemente kann mal so betätigen.

Nur ein Deaktivieren des Bedienelementes und das Wegklicken von "Frontpanel sperren" (also darf das Frontpanel bearbeitet werden) funktioniert.

Ganz klar: Bei "Frontpanel sperren" wird der Klick gespeichert, nicht das Event. Ist der Eventcase fertig und das Bedienelement wieder enabled, erst dann wird der Klick ausgeführt - auf einem enableden Bedienelement. Bei nicht gesperrtem Frontpanel wird der Klick ausgewertet: Das Bedienelement ist aber disabled => kein Event.


Lv85_img


Angehängte Datei(en)
Sonstige .vi  TestEvent.vi (Größe: 26,6 KB / Downloads: 212)

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.12.2007, 21:13 (Dieser Beitrag wurde zuletzt bearbeitet: 18.12.2007 21:13 von Achim.)
Beitrag #7

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


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Events nicht speichern
' schrieb:Das ist ohne Zusatz aber nur bedingt richtig - zumindest bei mir und in LV8.5. Siehe Anhang.

Wenn das Bedienelement disabled ist und im Event "Frontpanel sperren" aktiviert ist, dann kann man auf das deaktivierte Element 10mal klicken - und diese 10 Klicks werden der Reihe nach abgearbeitet. Selbst unsichtbare Bedienelemente kann mal so betätigen.

Nur ein Deaktivieren des Bedienelementes und das Wegklicken von "Frontpanel sperren" (also darf das Frontpanel bearbeitet werden) funktioniert.

Ganz klar: Bei "Frontpanel sperren" wird der Klick gespeichert, nicht das Event. Ist der Eventcase fertig und das Bedienelement wieder enabled, erst dann wird der Klick ausgeführt - auf einem enableden Bedienelement. Bei nicht gesperrtem Frontpanel wird der Klick ausgewertet: Das Bedienelement ist aber disabled => kein Event.
Lv85_img

Ok, ich hab mir das so gedacht:


Sonstige .vi  deaktivieren.vi (Größe: 15,52 KB / Downloads: 244)
Lv85_img

Allerdings hab ich nicht weit genug gedacht...es sollte ja innerhalb des gleichen Events zuerst deaktiviert und dann wieder aktiviert werden...
Ich nehm' alles zurück und behaupte das Gegenteil...Wink

"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
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Frage zur Architektur: Statemachine und Wait for Events tuhpon 6 4.498 18.03.2024 16:14
Letzter Beitrag: tuhpon
  Bedienelemente bündeln zum Auslösen eines Events Marcusius 12 9.308 03.09.2019 17:24
Letzter Beitrag: Marcusius
  Inhalt einer Baumstruktur über Methodenknoten speichern funktioniert nicht... enone 2 3.889 10.05.2019 10:19
Letzter Beitrag: enone
  Mausrad bei Events/Casestrukturen Schwand 1 3.823 20.09.2016 08:30
Letzter Beitrag: Schwand
  Dynamische Events programmatisch auslösen AMueller 6 7.043 22.04.2016 07:43
Letzter Beitrag: GerdW
  Eventstruktur mit 2 Events Großer_Stein 3 4.213 11.06.2015 10:11
Letzter Beitrag: Großer_Stein

Gehe zu: