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 

State Machine



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!

20.10.2006, 09:54
Beitrag #1

Pascal Offline
LVF-Grünschnabel
*


Beiträge: 45
Registriert seit: May 2006

8.00
2006
kA


Deutschland
State Machine
Hallo,

ich habe ein kleines Problem. Habe ein Programm geschrieben mit dem ja nach Auswahl bestimmte SubVi öffnen soll (siehe Bild). Funktioniert soweit. Ich würde dies gern wissen wie das mit einer State Machine funktioniert. (Brauche so was ähnliches noch öfter und würde mich interessieren). Müsste ja theoretisch so funktionieren, dass ich einen Case einrichte, der als erstes immer ausgeführt wird. Dort mache ich dann die Abfrage welcher Button gedrückt wird und springe in den entsprechenden Case. Am Ende des jeweiligen Case springe ich wieder in den ersten Case, wo die Abfrage ist. Probelem, wie mache ich die Abfrage welche Button gedrückt wurde?

Gibt es noch andere Möglichkeiten sowas zu realisieren?

Danke,

Pascal

   
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
20.10.2006, 10:00 (Dieser Beitrag wurde zuletzt bearbeitet: 20.10.2006 10:02 von Achim.)
Beitrag #2

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


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
State Machine
Schau dir mal die State-Machine-Beispiele in LV an...das ist mal ne Grundlage, danach kannst du konkretere Fragen stellen! Grundsätzlich solltest du zur Abfrage der Buttons in die Statemachine eine Event-Struktur einfügen, die dir deinen neuen Befehl in das Schieberegister schreibt...wie schon gesagt: Example Finder in LV mal bemühen!

Gruss
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
20.10.2006, 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
State Machine
Hallo,

schau mal im Beitrag "zurückspringen in Sequenzen?!? Geht das?" vom 18.20.2006. Da hatte ich eine State-Machine als VI beigefügt und vorgestern noch die Bilder hinzugefügt.

Gruß Markus



' schrieb:Hallo,

ich habe ein kleines Problem. Habe ein Programm geschrieben mit dem ja nach Auswahl bestimmte SubVi öffnen soll (siehe Bild). Funktioniert soweit. Ich würde dies gern wissen wie das mit einer State Machine funktioniert. (Brauche so was ähnliches noch öfter und würde mich interessieren). Müsste ja theoretisch so funktionieren, dass ich einen Case einrichte, der als erstes immer ausgeführt wird. Dort mache ich dann die Abfrage welcher Button gedrückt wird und springe in den entsprechenden Case. Am Ende des jeweiligen Case springe ich wieder in den ersten Case, wo die Abfrage ist. Probelem, wie mache ich die Abfrage welche Button gedrückt wurde?

Gibt es noch andere Möglichkeiten sowas zu realisieren?

Danke,

Pascal

[attachment=29776:attachment]
[attachment=29777:attachment]

--------------------------------------------------------------------------
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
20.10.2006, 10:44
Beitrag #4

Pascal Offline
LVF-Grünschnabel
*


Beiträge: 45
Registriert seit: May 2006

8.00
2006
kA


Deutschland
State Machine
Hallo,

dann brauche ich ja gar keine State Machine, sondern es reicht die Event StrukturBig Grin.

Das einzigste, was er findet, wenn ich unter "state" bei den Beispielen suche sind 3 VIs mit "dynamic generation hardware trigger with idle state.vi" oder so ähnlich. bringt mich aber nicht wirklich weiter. Auch wenn ich im LabVIEW Verzeichnis direkt suche finde ich nur "StandardStateMachine.vit" was ein sehr einfaches Beispiel ist und IM_state_machine_handler.vi wo ich vor lauter cases nichts mehr erkenne. Gibts da noch was anderes bzw. nen anderen Suchbegriff?

Pascal
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.10.2006, 11:09
Beitrag #5

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


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
State Machine
Hi,

sorry, die State-Machine-Beispiele werden wohl nur installiert, wenn man das entsprechende Toolkit installiert...

Hier http://www.LabVIEWforum.de/index.p...ost&p=15729 mal ein selber gebasteltes Beispiel, die Struktur stammt aus Zeiten, in denen es das State-Machine Toolkit von NI noch nicht gab...funktioniert aber genauso!

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
20.10.2006, 11:13 (Dieser Beitrag wurde zuletzt bearbeitet: 20.10.2006 11:28 von Lucki.)
Beitrag #6

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
State Machine
' schrieb:dann brauche ich ja gar keine State Machine, sondern es reicht die Event StrukturBig Grin.
Das sehe ich genau so. Ein State Machine ist notwendig , wenn bei der Abarbeitung eines Cases jedesmal eine logische Entscheidung gefällt werden muß, welcher Case als nächstes angesprungen werden soll. Solche Entscheidungen liegen aber bei Dir nicht an, und deshalb kann ich die Empfehlung für eine State Machine nicht nachvollziehen. Aber selbsverständlich kann man jedes Problem, und sei es noch so simpel, zu einem Problem mit State Machine upgraden, und deshalb ist so ein Rat nie grundsätzliche falsch.
Worauf Du noch achten mußt:
1.) Bei den Events das Häkchen "Fronpanel während der Ausführung des Ereignis-Cases sperren" setzen, oder Sub-VI auf "Modal" setzen. Damit verhinderst Du, daß, während das Sub-VI läuft, an den Bedienelementen des Haupt-VI herumgespielt werden kann.
2.) Die Sub-Vis sollten nur über die "Stop" - Buttons beendet werden dürfen, alle anderen Möglichkeiten, insbesondere die mit dem Kreuz in der rechten oberen Ecke des Fensters, sind zu unterbinden. Damit ist gewährleistet, daß das Programm bei Beendigung des SUB.Vis wieder zum Haupt-VI zurückkehrt und kein Programmabbruch mit irgendeinem Affengriff notwendig ist.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.10.2006, 07:56
Beitrag #7

Pascal Offline
LVF-Grünschnabel
*


Beiträge: 45
Registriert seit: May 2006

8.00
2006
kA


Deutschland
State Machine
Danke für eure Antworten und Tipps,

ich habe nun noch eine weitere Frage. Ich habe mein Frontpanel geteilt. Links soll über Buttons das jeweilige SubVI gestartet werden und rechts soll das Frontpanel des jeweiligen SubVIs angezeigt werden. Ich muss jetzt ja immer das SubVI beenden bevor ich ein neues Starten kann. Wie beschrieben funktioneirt das, wenn man die SubVIs über die Stopp Button beendet. Wie schalte ich die Möglichkeit mit dem Kreuz in der rechten oberen Ecke des Fensters das SubVI zu beenden ab? Kann man auch die Menüleiste ausblenden?

Gibt es eine Möglichkeit, dass dies über die Buttons gesteuert wird, also wenn Button 1 gedrückt wird, wird SubVI 1 angezeigt, wenn Button 2 gedrückt wird, wird subVI 1 geschlossen und SubVI 2 angezeigt.

Pascal


Sonstige .vi  Ansteuerung.vi (Größe: 6,28 KB / Downloads: 484)


Sonstige .vi  Ansteuerung_Sub.vi (Größe: 6,62 KB / Downloads: 375)


Sonstige .vi  Ansteuerung_Sub_II.vi (Größe: 7,3 KB / Downloads: 347)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.10.2006, 08:11
Beitrag #8

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


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
State Machine
Moin,

du kannst zum Starten/Beenden von VI's die VI Server Technik verwenden, hier ein Beispiel: http://www.LabVIEWforum.de/index.p...ost&p=12335

Zum Ausblenden von Menüleisten etc. kannst du die VI Properties verwenden: Rechtsklick aufs VI Icon, dann "Window Appearance" auswählen und ein bisschen spielen...

Schönen Tag noch!
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
23.10.2006, 09:38 (Dieser Beitrag wurde zuletzt bearbeitet: 23.10.2006 09:39 von Lucki.)
Beitrag #9

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
State Machine
Zitat:Wie schalte ich die Möglichkeit mit dem Kreuz in der rechten oberen Ecke des Fensters das SubVI zu beenden ab? Kann man auch die Menüleiste ausblenden?
1. Mit Methodenknoten oder Eigenschaftsknoten. So ähnlich wie in dem Link von Achim.
2. Rechte Maustaste rechts oben auf das Ikon des Sub-Vis ( Frontpanal oder Block ist egal), "VI-Einstellungen"
Bei "Fenstererscheinungsbild", "Anpassen" wirst Du fündig.
Habe leider keinn Zeit für mehr...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.01.2007, 12:44
Beitrag #10

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


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
State Machine
' schrieb:Das sehe ich genau so. Ein State Machine ist notwendig , wenn bei der Abarbeitung eines Cases jedesmal eine logische Entscheidung gefällt werden muß, welcher Case als nächstes angesprungen werden soll. Solche Entscheidungen liegen aber bei Dir nicht an, und deshalb kann ich die Empfehlung für eine State Machine nicht nachvollziehen. Aber selbsverständlich kann man jedes Problem, und sei es noch so simpel, zu einem Problem mit State Machine upgraden, und deshalb ist so ein Rat nie grundsätzliche falsch.

Hi,

ist zwar schon etwas länger her, aber: Hier lag meinerseits keine Empfehlung für eine State Machine vor! Pascal wollte aber wissen, wie das mit ner State Machine geht!

'nuff said!

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


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Machine learning Hubert R. 3 2.580 29.08.2023 10:10
Letzter Beitrag: Hubert R.
  Programm beenden State Machine simcum 3 3.456 17.10.2020 20:57
Letzter Beitrag: BNT
  Queued State Machine: IDLE Optimierung ALuehmann 3 4.979 14.02.2017 14:00
Letzter Beitrag: HVo
  State machine und Typdefinition meta_ir 4 4.497 09.01.2017 12:47
Letzter Beitrag: meta_ir
Question Frage zu "queued state machine" Architektur joptimus 4 6.041 05.08.2016 14:34
Letzter Beitrag: joptimus
  State Machine galilio 2 4.126 11.05.2016 09:32
Letzter Beitrag: galilio

Gehe zu: