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 

Serielle Ereignisstruktur-Variablen in Ereignisstruktur übergeben



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!

25.10.2011, 21:06 (Dieser Beitrag wurde zuletzt bearbeitet: 26.10.2011 09:16 von jg.)
Beitrag #1

Hummingbird Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 52
Registriert seit: Sep 2011

LV 2011
2009
EN


Deutschland
Serielle Ereignisstruktur-Variablen in Ereignisstruktur übergeben
Hallo Freunde,

ich brauche mal wieder Rat. Ich habe jetzt ein Programm, das funktioniert.. Möchte das aber noch bisschen aufmotzen (anschaulicher gestalten). Hierzu möchte ich das Frontpanel tunen. Im Moment habe ich.. Input->Output.. Will jetzt aber die einzelnen Schritte mit Aufforderungen am Frontpanel verbinden. Was macht da mehr Sinn? Ereignisstruktur, oder auf Frontpaneleingabe warten? Ich denke mir, dass das letztere wohl weniger Speicher frisst. Ich habe nun aber auf jeden Fall eine Ereignisstruktur im System, da ich gerne die Timeout-Funktion nutzen möchte. Wenn ich jetzt in meinen ersten case der Ereignisstruktur (o-ter ist time out) eine Flat-Sequence Struktur packe und das mit einer "true-false" Abfrage eines Schalters verbinde, dann rennt Labview auf Knopfdruck los, stoppt aber selbst dann bei dem erreichen des zweiten Fensters der Flat-Sequence nicht, wenn ich hier einen "auf Frontpanel-Eingabe warten" Baustein einfüge. Hier verknüpfe ich die "auf Frontpanel-Eingabe warten" funktion mit einer True-False Wertänderung, die ich in das zugehörige Fenster der Flat-Sequence packe, doch das wird einfach übergangen..
Ist die Alternative eine Ereignisstruktur in einer While-Schleife mit Schieberegistern (übergeben von Werten)? Ich hätte gerne eine serielle Ereignisstruktur. Aktion eins liest ein File ein.. Ruhe.. Knopf zwei löst einen Verarbeitungsschritt aus.. Ruhe.. Eingabe Feld nimmt Werte von Benutzer auf.. Ruhe.. Knopf verwertet die Eingabe mit den bestehenden Daten.. Ausgabe in Datei, oder Grafik.. So wie ich mir das mit der While Schleife vorstelle, läuft das dann immer im Hintergrund und frisst Leistung.. Hab schon gefunden, dass mehrere Ereignisstrukturen ein NoGo sind..

Würde gerne ein Beispiel posten, doch hab auf meinem Notebook kein Labview installiert..

Vielen Dank für eure Zeit..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
26.10.2011, 07:06
Beitrag #2

M Nussbaumer Offline
Zarathustra
****


Beiträge: 654
Registriert seit: Sep 2009

2009 SP1
2009
EN

6300
Schweiz
RE: Serielle Ereignisstruktir-Variablen in Ereignisstruktur übergeben
(25.10.2011 21:06 )Hummingbird schrieb:  Hallo Freunde,

ich brauche mal wieder Rat. Ich habe jetzt ein Programm, das funktioniert.. Möchte das aber noch bisschen aufmotzen (anschaulicher gestalten). Hierzu möchte ich das Frontpanel tunen. Im Moment habe ich.. Input->Output.. Will jetzt aber die einzelnen Schritte mit Aufforderungen am Frontpanel verbinden. Was macht da mehr Sinn? Ereignisstruktur, oder auf Frontpaneleingabe warten? Ich denke mir, dass das letztere wohl weniger Speicher frisst. Ich habe nun aber auf jeden Fall eine Ereignisstruktur im System, da ich gerne die Timeout-Funktion nutzen möchte. Wenn ich jetzt in meinen ersten case der Ereignisstruktur (o-ter ist time out) eine Flat-Sequence Struktur packe und das mit einer "true-false" Abfrage eines Schalters verbinde, dann rennt Labview auf Knopfdruck los, stoppt aber selbst dann bei dem erreichen des zweiten Fensters der Flat-Sequence nicht, wenn ich hier einen "auf Frontpanel-Eingabe warten" Baustein einfüge. Hier verknüpfe ich die "auf Frontpanel-Eingabe warten" funktion mit einer True-False Wertänderung, die ich in das zugehörige Fenster der Flat-Sequence packe, doch das wird einfach übergangen..
Ist die Alternative eine Ereignisstruktur in einer While-Schleife mit Schieberegistern (übergeben von Werten)? Ich hätte gerne eine serielle Ereignisstruktur. Aktion eins liest ein File ein.. Ruhe.. Knopf zwei löst einen Verarbeitungsschritt aus.. Ruhe.. Eingabe Feld nimmt Werte von Benutzer auf.. Ruhe.. Knopf verwertet die Eingabe mit den bestehenden Daten.. Ausgabe in Datei, oder Grafik.. So wie ich mir das mit der While Schleife vorstelle, läuft das dann immer im Hintergrund und frisst Leistung.. Hab schon gefunden, dass mehrere Ereignisstrukturen ein NoGo sind..

Würde gerne ein Beispiel posten, doch hab auf meinem Notebook kein Labview installiert..

Vielen Dank für eure Zeit..

Dein Programm hält nicht an, weil es in den Timeout-Case läuft worin sich jedoch mit ziemlich grosser Sicherheit kein "Warten auf Frontpanel-Veränderung" befindet.
Wenn du schon eine Eventstruktur hast würde ich garantiert zu 90% keine "Warten auf Frontpanel-Veränderung" (du meinst schon das VI oder?) verwenden, einfach weil die Eventstruktur das zuverlässig löst.

Die einfachste Lösung wäre, deinen Timeout-Case in eine separate Schleife auszulagern. Ob dies möglich ist kann ich leider ohne Code schlecht beurteilen... Was läuft denn im Timeout-Case genau ab?

Ohne Timeout-Case wartet die Eventstruktur nämlich ab bis ein Event ausgelöst wird. Genau das was du willst. Zumindest hab ich das beim Lesen deiner Anforderung rausgelesenSmile

Für deine Anforderung würde sich eine State-Machine mit Ablauf
Aktion 1 -> Auf Event Warten -> Aktion 2 -> Auf Event warten -> ect.
anbieten, dafür wäre es interessant zu wissen ob die verschiedenen Aktionen auch alle eine Aktion des Users vorraussetzten oder auch programmatisch gelöst werden ohne "Fremdeinwirkung"

Hoffe das hilft dir weiter!

Gruss Marc
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.10.2011, 08:44
Beitrag #3

Hummingbird Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 52
Registriert seit: Sep 2011

LV 2011
2009
EN


Deutschland
RE: Serielle Ereignisstruktir-Variablen in Ereignisstruktur übergeben
Hi Marc,

hab anbei mal ein kurzes Beispiel zusammen geklickt..

Ich möchte definitiv, dass mein Programm auf die Usereingabe wartet.. Hier also soll es darauf warten, dass der user den zweiten Schalter betätigt und somit zur Dateieingabe aufgeffordert wird..
Ich lasse ihn in den Timeout case laufen, da ich das Programm gerne über einen Schalter starten möchte und nicht über den "Run-Pfeil"..

Vielen Dank für Eure Mühe


Angehängte Datei(en)
11.0 .vi  Serielle Ereignisstruktur.vi (Größe: 29,56 KB / Downloads: 490)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.10.2011, 09:12
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Serielle Ereignisstruktir-Variablen in Ereignisstruktur übergeben
Hallo Humming,

bitte nach LV2009 konvertieren...

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

Hummingbird Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 52
Registriert seit: Sep 2011

LV 2011
2009
EN


Deutschland
RE: Serielle Ereignisstruktur-Variablen in Ereignisstruktur übergeben
Bitte entschuldigt..

Die Ereignisstruktur könnte ich hier auch raus lassen, wenn das mit dem warten auf Frontpanel klappen würde.. Arbeitet LV das ganze nicht durch die flat sequence seriell ab? Warum übergeht es denn dann das "warten auf? Ist die State Machine die Lösung?

Liebe Grüße


Angehängte Datei(en)
9.0 .vi  Serielle Ereignisstruktur.vi (Größe: 26,28 KB / Downloads: 257)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.10.2011, 12:46 (Dieser Beitrag wurde zuletzt bearbeitet: 26.10.2011 12:48 von GerdW.)
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Serielle Ereignisstruktur-Variablen in Ereignisstruktur übergeben
Hallo humming,

1) Ein Event sollte immer in einer möglichst kurzen Zeit abgearbeitet werden - was bei deiner Wartefunktion nicht gegeben ist. Siehe Kontexthilfe...
2) Events werden per default so eingestellt, dass sie während der Abarbeitung das FP blockieren - so wirst du natürlich nicht auf ein FP-Event warten können. Steht auch in der Kontexthilfe zum Event-Einstelldialog!
3) Deine Sequenzstruktur ist Blödsinn. Der erste Frame holt den Maximalwert aus einem Array (in µs), im zweiten wird parallel eine Datei geschrieben und auf ein FP-Event gewartet - wozu also warten?

Tipp:
Eventabarbeitung umstrukturieren oder eine Statemachine verwenden. Aber bitte Events schnell abarbeiten!
Was willst du überhaupt mit dem zweiten Button (Boolean2) erreichen???

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
26.10.2011, 13:45
Beitrag #7

Hummingbird Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 52
Registriert seit: Sep 2011

LV 2011
2009
EN


Deutschland
RE: Serielle Ereignisstruktur-Variablen in Ereignisstruktur übergeben
Hallo GerdW,

mhh.. Was ich gerne hätte wäre eine Struktur, die es mir ermöglicht auf Knopfdruck Teile meines vis auszuführen.. Diese Teile erzeugen Ergebnisse, die dann dem Rest des Programms zur Verfügung stehen..

Das Hauptprogramm ist unübersichtlich.. Deshalb hatte ich dieses Beispiel erstellt. Meiner Ansicht nach sollte es sich, sobald es den Timeout verlässt (Button), das Maximum aus einem vom user eingegebenen Array suchen und dann wieder schlafen gehen bis der User den zweiten Knopf betätigt auf dem steht Datei einlesen.. Dann sollte LV nach dem Pfad der txt Datei fragen und die dort stehenden Werte zu dem Maximum dazu addieren.. Die Sequenz hatte ich eingefügt, dass LV nicht einfach unkontrolliert losrennt und die Reihenfolge verdreht..

Was kann ich nun machen um ein Programm nach jedem sub vi anzuhalten und nach Fütterung über das Frontpanel auf Knopfdruck, unter Berücksichtigung der bisher gewonnenen Daten, weiter rennen zu lassen?

Liebe Grüße und vielen Dank
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.10.2011, 13:50
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Serielle Ereignisstruktur-Variablen in Ereignisstruktur übergeben
Hallo Humming,

du fragst nach einer "Event-driven Statemachine".
Deine Events erzeugen Kommandos für eine Statemachine, die dies dann abarbeitet.
Also z.B.:
- ArrayMax bestimmen
- Pfad abfragen
- Datei speichern
- TimeOut/Idle/Warten

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

Hummingbird Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 52
Registriert seit: Sep 2011

LV 2011
2009
EN


Deutschland
RE: Serielle Ereignisstruktur-Variablen in Ereignisstruktur übergeben
Hallo GerdW,

läuft das in der State Machine dann so, dass ich sobald ich in den ersten Case springe ich hier Daten erzeuge, die dann über das Schieberegister jedem weiteren Case zur Verfügung stehen und somit das Programm dann mit den Daten auf die nächste Usereingabe wartet?

Liebe Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.10.2011, 15:16
Beitrag #10

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Serielle Ereignisstruktur-Variablen in Ereignisstruktur übergeben
Hallo Kolibri,

genau so würde ich deine Anfrage umsetzen Smile

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
  Ereignisstruktur Kaya 4 2.329 25.07.2023 13:48
Letzter Beitrag: GerdW
  Alternative zur Ereignisstruktur simcum 5 3.052 16.09.2020 10:05
Letzter Beitrag: IchSelbst
  Maustaste in Ereignisstruktur abfragen / Bedienelement verliert Tastatur-Focus Horst 1 3.108 25.07.2019 12:31
Letzter Beitrag: Horst
  Ereignis in Ereignisstruktur ruft weitere Ereignisse auf Gruenschnabel 6 4.652 16.09.2016 07:01
Letzter Beitrag: TSC
  Ereignisstruktur katana 1 2.565 26.10.2015 17:49
Letzter Beitrag: wladimir s
  Ereignisstruktur - Gleichzeitig auftretende Ereignisse I3erry 3 3.212 28.09.2015 13:21
Letzter Beitrag: Lucki

Gehe zu: