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 

Zwangssteuerung Ereignissteuerung



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!

30.03.2012, 07:37
Beitrag #1

Funaukel Offline
LVF-Grünschnabel
*


Beiträge: 32
Registriert seit: Apr 2011

2011
2010
DE


Deutschland
Zwangssteuerung Ereignissteuerung
Hallo LabView Freunde,

habe ein kleines Problem mit meiner Ereignisstruktur: Wertänderung.

In der Ereignisstruktur soll eine Casestruktur 2x aufgerufen werden (mit unterschiedlichen Variablen).
Diese wird allerdings nur 1x aufgerufen (immer der letzte Eintrag).

Wenn man sich das Programm anschaut sieht man direkt was gemeint ist.

ciao
Funaukel


Angehängte Datei(en)
11.0 .vi  Test.vi (Größe: 12,75 KB / Downloads: 227)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.03.2012, 08:04 (Dieser Beitrag wurde zuletzt bearbeitet: 30.03.2012 08:08 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Zwangssteuerung Ereignissteuerung
Hallo Funaukel,

Sechs, setzen!

Oder etwas verständlicher ausgedrückt: Nochmal den in meiner Signatur verlinkten Basics-Kurs durchgehen und DATAFLOW verinnerlichen!

Fehler:
- Dataflow missachtet und lokale Variablen benutzt
- Dataflow missachtet und eine Case-Struktur in einer Iteration deiner Schleife zweimal aufrufen wollen
- Aufräumknopf nicht benutzt: warum sollen wir erst dein BD aufräumen, wenn du Lösungen haben willst

Mögliche Lösung:
- QSM (QueuedStateMachine) verwenden und Befehle als Cluster[String,Wert,Wartezeit] versenden
- statt eines Strings ein typdefiniertes Enum verwenden
- parallele Schleifen verwenden
- Basics-Kurs durchgehen!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.03.2012, 08:36
Beitrag #3

Funaukel Offline
LVF-Grünschnabel
*


Beiträge: 32
Registriert seit: Apr 2011

2011
2010
DE


Deutschland
RE: Zwangssteuerung Ereignissteuerung
(30.03.2012 08:04 )GerdW schrieb:  Sechs, setzen!

Besser hätte ich meine LabView Künste nicht beschreiben können.
Immer wenn ich denke, ich habe LabView halbwegs verstanden, kommt wieder eine neue Baustelle auf mich zu.

(30.03.2012 08:04 )GerdW schrieb:  Oder etwas verständlicher ausgedrückt: Nochmal den in meiner Signatur verlinkten Basics-Kurs durchgehen und DATAFLOW verinnerlichen!

Fehler:
- Dataflow missachtet und lokale Variablen benutzt
- Dataflow missachtet und eine Case-Struktur in einer Iteration deiner Schleife zweimal aufrufen wollen
- Aufräumknopf nicht benutzt: warum sollen wir erst dein BD aufräumen, wenn du Lösungen haben willst

Mögliche Lösung:
- QSM (QueuedStateMachine) verwenden und Befehle als Cluster[String,Wert,Wartezeit] versenden
- statt eines Strings ein typdefiniertes Enum verwenden
- parallele Schleifen verwenden
- Basics-Kurs durchgehen!

Vielen Dank.....Mit der Aussage hast du mir so eben mein Wochenende versaut/gerettet. Big Grin Big Grin
Werde mich dann mal an die Arbeit begeben.

ciao
Funaukel
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.03.2012, 10:56
Beitrag #4

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Zwangssteuerung Ereignissteuerung
Die von Gerd erwähnte Queue driven State machine (Googeln mit Labview QSM) ist extrem variabel, und auch dein Problem, von einem Ereignis aus mehrere Cases (oder mehrere Male denselbsen Case) zu aktivieren, ist damit elegant lösbar. Allerdings halte ich es für unwahrscheinlich, dass Du das als Anfänger von selbst hinbekommst, deshalb hier ein kleine Vorlage.
   


Angehängte Datei(en)
11.0 .vi  Test2.vi (Größe: 15,52 KB / Downloads: 180)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.03.2012, 12:26
Beitrag #5

Funaukel Offline
LVF-Grünschnabel
*


Beiträge: 32
Registriert seit: Apr 2011

2011
2010
DE


Deutschland
RE: Zwangssteuerung Ereignissteuerung
Vielen Dank für eure Hilfe.

Habe eine Frage zum Datentyp der Queue.
Kann dieser variabel sein?

d.h. Ich schreibe an Queue Position 1: Enum + I8
und an Position 2: Enum + Cluster
und an Position 3: Enum + DBL
usw.....

Da in den State-Maschines auch verschiedene Datentypen verwendet werden können, will ich in die Queue veränderbare Variablen schreiben.
Ist das möglich in LabView?

ciao
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.03.2012, 12:30 (Dieser Beitrag wurde zuletzt bearbeitet: 30.03.2012 12:31 von GerdW.)
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Zwangssteuerung Ereignissteuerung
Hallo Funaukel,

nein, eine Queue kann nur mit einem festen Datentyp arbeiten.
Aber:
Du kannst natürlich einen Datentyp designen, der alle deine Erfordernisse abdeckt, z.B. ein Cluster mit String, DBL, INT32, Enum-Kommando. Je nach Kommando wird dann der passende Wert aus dem Cluster weiterverwendet...
Noch mehr Aber:
Du kannst natürlich auch ein Variant für die Queue-Definition verwenden, musst dann aber jeweils korrekt konvertieren...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.03.2012, 13:02 (Dieser Beitrag wurde zuletzt bearbeitet: 30.03.2012 13:19 von Lucki.)
Beitrag #7

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Zwangssteuerung Ereignissteuerung
Eine andere Möglichkeit, die verschiedensten Datentypen zu übertragen, ist deren Serialisierung/Deserialisierung zu/aus einem String. Ich habe noch ein altes Labview-Buch aus Zeiten von LV6/LV7, da ist die QSM bereits mit Beispielen vertreten, es gab aber noch nicht den Datentyp Variant. Deshalb wurde es ausschließich so gemacht. Beispiel (Zu sehen ist hier nur die Deserialisierung):
    .

Gerd hat aber Recht, wenn er das gar nicht erwähnt. Der Datentyp Variant ist gewissermassen die modernere Variante dieser Prozedur, ich würde es jetzt auch nur noch so machen. Neuere Lehrbeispiele sehen dementsprechend eher so aus:

   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.03.2012, 15:51
Beitrag #8

THL Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 111
Registriert seit: May 2011

2012
2009
EN


Deutschland
RE: Zwangssteuerung Ereignissteuerung
Ich verwende inzwischen durchwegs statt Variant die Funktionen 'flatten to XML' und 'unflatten from XML' wenn ich Argumente mit unterschiedlichen Datentypen in einer State Machine zu übergeben habe. Habe ich mir angewöhnt, als ich bei irgendeiner Variant-Umwandlung auf ein 'das geht nicht' gestossen bin (weiss nimmer genau was es war - irgendwas mit Array oder Cluster).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.03.2012, 17:37
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
RE: Zwangssteuerung Ereignissteuerung
@THL
Sehr guter Hinweis, das wußte ich gar nicht.
Da bei HTML der meiste Zeichensalat erzeugt wird, vermute ich zwar, daß die Konvertierungsgeschindigkeit in abnehmender Reihenfolge Variant - String - HTML ist. Aber ich will den Vorschlag damit nicht herunterspielen, meist ist ja die Ausführungsgeschwindigkeit nicht an einer kritischen Grenze.
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
  Ereignissteuerung simcum 2 2.700 09.02.2022 22:46
Letzter Beitrag: simcum
  VI Applikation-Template mit Ereignissteuerung und Queues? J.R. 2 4.984 14.01.2011 16:24
Letzter Beitrag: unicorn
  Ereignissteuerung hansidergute 8 9.065 21.11.2005 11:32
Letzter Beitrag: MrSieb

Gehe zu: