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 

While mit Flat Sequence durch State Machine ersetzen



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!

01.06.2007, 07:05 (Dieser Beitrag wurde zuletzt bearbeitet: 01.06.2007 07:08 von skywalker.)
Beitrag #1

skywalker Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 154
Registriert seit: Jan 2007

2020
2007
DE

99310
Deutschland
While mit Flat Sequence durch State Machine ersetzen
Hallo,

ich habe ein größeres Problem. Seit einiger Zeit beschäftige ich mich mit LabVIEW. Ich habe mittlerweile ein relativ großes Programm,
welches allerdings sehr unüberischtlich ist. Ich habe den Fehler gemacht, das ein Teil meines Main-VI ein einer while-Schleife mit
vielen Flat-Sequences abläuft. Dies ist natürlich sehr lang...

Jetzt wurde ich darauf hingewiesen, eine State Machine zu verwenden.
Wie kann ich nun am geschicktesten mein Programm umformen?
Kann man in einer State-Machine den gleichen State mehrmals aufrufen?

Mein Ziel ist es, ein Test nach einen bestimmten Muster durchzuführen. Hierfür habe ich vier SubVIs, welche an einer bestimmten Stelle
aufgerufen werden. Dazwischen erfolgt jeweils eine Pause.
Beispiel: SubVI1 - P1 - SubVI3 - P2 - SubVI1 - P1 - SubVI4 - P3- SubVI2 - P1 - SubVI3 - P2 - SubVI2 - P1 - SubVI4

Ich lad im Anhang einfach mal meine Schleife hoch. Nur mal um zu sehen, wie lang die ist. (ohne SubVIs)



Sonstige .vi  while.vi (Größe: 99,59 KB / Downloads: 238)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
01.06.2007, 07:17
Beitrag #2

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


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
While mit Flat Sequence durch State Machine ersetzen
Guckst du hier...als Anregung:

http://www.LabVIEWforum.de/index.php...ost&p=15729


Das ist ja der Gag an der State-Machine...irgend eine Bedingung wird abgefragt...und abhängig davon wird ein State "angesprungen"...ob das jetzt jedes Mal ein neuer ist oder 1354 mal der gleiche, hängt ganz von deiner Vorgabe ab...

Gruss
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
01.06.2007, 11:17
Beitrag #3

skywalker Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 154
Registriert seit: Jan 2007

2020
2007
DE

99310
Deutschland
While mit Flat Sequence durch State Machine ersetzen
Das hab ich verstanden.

Ich versuch mein Problem noch mal zu erklären.
Ich springe State 1 an, dieser wird acht mal wiederholt, danach State 2. Dieser wiederum 8 mal angesprungen.
Danach State 1, jedoch jetzt nicht 8 mal, sondern 16 mal. Und nun nicht State 2, sondern State 3 danach.

8x State 1
8x State 2
16x State 1
16x State 3

Ich lade einfach mal meinen Test hoch. Ich habe das mit einem Entscheidungscase gelöst. ist noch nicht ausgereift
und ich weiß auch nicht, ob dies die eleganteste Lösung ist.
Was meint ihr dazu?



Sonstige .vi  test.vi (Größe: 39,36 KB / Downloads: 233)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.06.2007, 11:20 (Dieser Beitrag wurde zuletzt bearbeitet: 01.06.2007 11:24 von Achim.)
Beitrag #4

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


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
While mit Flat Sequence durch State Machine ersetzen
Hab momentan nur LV8.0.1, du musst vorerst auf meine Kommentare verzichten...

Wenn du sagst, du hast es verstanden, wo ist dann dein Problem? Offenbar klappts ja schon...du musst halt am Ende jedes States prüfen, ob du jetzt von hier aus wieder hier landen willst oder wo anders...und da ist ein Case (+ evtl. ein Zähler) ganz gut! Alternativ kannst du "Select" von der Comparison-Palette verwenden, so wie ich's im Beispiel (Link oben) gemacht hab!

Gruss
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
01.06.2007, 11:54
Beitrag #5

erbi Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 101
Registriert seit: Dec 2005

8.2
2005
de

98646
Deutschland
While mit Flat Sequence durch State Machine ersetzen
kann mir mal bitte einer state machine auf deutsch übersetzen? ich hab ne deutsche LabVIEW version......weiß garnet um was des hier geht....
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.06.2007, 12:03
Beitrag #6

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
While mit Flat Sequence durch State Machine ersetzen
' schrieb:kann mir mal bitte einer state machine auf deutsch übersetzen? ich hab ne deutsche LabVIEW version......weiß garnet um was des hier geht....


Finite state machine ist ein endlicher Zustandsautomat.

eg

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.06.2007, 12:43
Beitrag #7

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


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
While mit Flat Sequence durch State Machine ersetzen
' schrieb:kann mir mal bitte einer state machine auf deutsch übersetzen? ich hab ne deutsche LabVIEW version......weiß garnet um was des hier geht....

Ne State Machine ist nix LV-spezifisches...in "G" (= LabVIEW) lässt sich das allerdings sehr anschaulich programmieren...

http://de.wikipedia.org/wiki/Finite-State-Machine

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


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Machine learning Hubert R. 3 2.522 29.08.2023 10:10
Letzter Beitrag: Hubert R.
  Programm beenden State Machine simcum 3 3.432 17.10.2020 20:57
Letzter Beitrag: BNT
  Queued State Machine: IDLE Optimierung ALuehmann 3 4.931 14.02.2017 14:00
Letzter Beitrag: HVo
  2D Array durchsuchen und bestimmte Werte ersetzen sara2211 4 5.696 13.01.2017 10:59
Letzter Beitrag: sara2211
  State machine und Typdefinition meta_ir 4 4.450 09.01.2017 12:47
Letzter Beitrag: meta_ir
Question Frage zu "queued state machine" Architektur joptimus 4 6.011 05.08.2016 14:34
Letzter Beitrag: joptimus

Gehe zu: