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 

Wartezeit - Abbruch durch Case-Struktur



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!

27.10.2009, 09:40 (Dieser Beitrag wurde zuletzt bearbeitet: 27.10.2009 11:16 von jg.)
Beitrag #1

WolfiB Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 88
Registriert seit: Jul 2007

8.5
2007
de

711xx
Deutschland
Wartezeit - Abbruch durch Case-Struktur
Hallo User,

ich möchte in einer State-Machine in einem Case auf einen Eingang (Lokale Variable) warten.
Wenn die Zeit des Verzögerungsgliedes abgelaufen ist in den nächsten Case springen und eine Fehlermeldung ausgeben.
Sollte während der Wartezeit aber der Eingang "True" werden, möchte ich in einen anderen Case springen.

Soweit funktioniert das auch. Allerdings fängt die Zeit des Wartegliedes nicht immer bei 0 an, daher sind die Zeiten sehr unterschiedlich
und sehr ärgelich, wenn die Meldung z.B. schon nach 1 Sekunde kommt statt nach eingestellten 10s. Die Einstellung "Automatisches Rücksetzen" ist gesetzt,
sonst funktioniert es gar nicht, da die Komponente nie zurückgesetzt wird.

Ich habe hier leider ein Express-VI benutzt, da es mir mit anderen Zeitkomponenten nicht gelungen ist. Die anderen Komponenten
für eine Verzögerung ließen sich durch den True-werdenden Eingang nicht unterbrechen.

Wie kann ich also sicherstellen, dass die Zeit immer von Null-beginnt?

bzw. welche elegantere Lösung gibt es für ein solches Problem?

Vielen Dank.

LV-Version: 8.5


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
27.10.2009, 09:56
Beitrag #2

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


Beiträge: 4.222
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Wartezeit - Abbruch durch Case-Struktur
Blende mal den Rücksetz-Eingang ein...und wenn du das erste mal in den Case kommst, sagst du hier TRUE...überprüfen kannst du das, in dem du per Schieberegister prüfst, ob der vorhergehende Schritt der gleiche war oder nicht!

PS: Ich empfehle dir für ne StateMachine Enums anstelle von Strings...damit vermeidest du Tippfehler in den Case-Namen!

"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
27.10.2009, 10:02
Beitrag #3

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Wartezeit - Abbruch durch Case-Struktur
.... und die bitte als TypeDef, falls Du später mal was ändern möchtest (neuer State einfügen,...).

Gruß Markus

' schrieb:Ich empfehle dir für ne StateMachine Enums

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.10.2009, 11:01 (Dieser Beitrag wurde zuletzt bearbeitet: 27.10.2009 11:16 von jg.)
Beitrag #4

WolfiB Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 88
Registriert seit: Jul 2007

8.5
2007
de

711xx
Deutschland
Wartezeit - Abbruch durch Case-Struktur
Hey Achim und Y-P,

danke für Eure Tipps, habs in der Art und Weise von Achim umgesetzt. Funktioniert soweit.
Dachte, dass es da evtl noch was komfortableres gibt, denn die Express-Vi´s sind ja glaub ich bei den Profis nicht so beliebt.

Danke euch.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.10.2009, 12:00
Beitrag #5

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Wartezeit - Abbruch durch Case-Struktur
Hast Du Dein Enum als TypeDef definiert?

Gruß Markus

' schrieb:danke für Eure Tipps, habs in der Art und Weise von Achim umgesetzt.

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
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
  Case-Struktur: Angegebener Case nicht vorhanden braendy 10 5.065 02.02.2021 15:05
Letzter Beitrag: Lucki
  Case Struktur 2 Schleifendurchläufe verzögert True setzen aber sofort auf False bachatero18 4 4.612 07.11.2020 14:08
Letzter Beitrag: Martin.Henz
  CAN Nachrichten in Array verarbeiten und aus Case Struktur weiterverarbeiten Tomate27 4 3.766 17.07.2020 13:30
Letzter Beitrag: Tomate27
  Steuerung, Case-Struktur pixie_2 4 3.323 16.04.2020 14:30
Letzter Beitrag: GerdW
  Längere Wartezeit im Programmablauf quattro888 5 3.685 21.05.2019 14:26
Letzter Beitrag: quattro888
  Event Case Ignoriert Tastendruck wenn in Gegenwart eines anderen "Leeren" Event Case Ksanto 8 6.855 23.10.2017 09:08
Letzter Beitrag: Ksanto

Gehe zu: