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.


Thema geschlossen 

Verständisproblem Ereignisstrukur



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!

26.10.2009, 15:47 (Dieser Beitrag wurde zuletzt bearbeitet: 26.10.2009 15:49 von RioRio.)
Beitrag #1

RioRio Offline
LVF-Grünschnabel
*


Beiträge: 15
Registriert seit: Jun 2009

8.6.1
2008
de_en

1067
Deutschland
Verständisproblem Ereignisstrukur
Hallo LabVIEW User,
ich habe anscheinend ein kleines Problem bei der Anwendung der Ereignisstruktur.

Ich möchte eine GUI für eine Motorensteuerung schreiben. (bzw. sie existiert schon...funktioniert aber eben nicht..)
Dafür habe ich mehrere Controls mit denen ich verschiedene Parameter (Motorauswahl, Geschwindigkeit, Beschleunigung usw.) ändern kann.

Jetzt soll sofort nach Änderung der Werte die neue Konfiguration als string per TCP/IP an meine Motoren "geschickt" werden.

Ich dachte mir, das beste ist, ich trenne diese beiden Komplexe und arbeite mit 2 seperaten Schleifen.

1e Eingabeschleife, in der eine Ereignisstruktur sitzt, die nach Änderung eines Parameters nur diesen Parameter vom jeweiligen Control ausließt und in einen "Zwischenstring" schreibt.

In der 2ten Schleife ("Kommunikatioonsschleife") befindet sich die TCP/IP-Kommunikation in einer weiteren Ereignisstruktur.
D.h. sobald sich der Wert von "Zwischenstring" ändert müsste eigentlich diese 2te Schleife arbeiten und den String über TCP/IP versenden.
Macht sie aber nicht.....

Ich habe ein kleines Minimalbeispiel gemacht um den Denkfehler einzugrenzen:

Was dieses Programm machen müsste, (aber nicht tut) ist folgendes:

Bei Änderung des Wertes A (durch den Schieber) oder B (durch das Eingabefeld)
wird der unsigned inter (U16) in einen String konvertiert.

Bei Änderung des String-wertes müsste die Ereignisstruktur der "Kommunikationsschleife"
sofort den neuen Wert in das Ausgabefeld schreiben.


..leider reagiert die "Kommunikationsschleife" garnicht.

Wo ist mein Denkfehler???

Ich verwende LabVIEW 8.6.1f1


Angehängte Datei(en)
Sonstige .vi  ereignis_test.vi (Größe: 12,94 KB / Downloads: 178)
Alle Beiträge dieses Benutzers finden
to top
26.10.2009, 16:05
Beitrag #2

TSC Offline
LVF-Team
LVF-Team

Beiträge: 1.882
Registriert seit: Sep 2008

LV 2018 SP1
2008
EN

52379
Deutschland
Verständisproblem Ereignisstrukur
verwende anstelle der Lokalen Variable auf den "Zwischenstring" einen Eigenschaftsknoten mit der Eigenschaft "Wert signalisierend".

LG
Torsten

"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Alle Beiträge dieses Benutzers finden
to top
26.10.2009, 16:22
Beitrag #3

RioRio Offline
LVF-Grünschnabel
*


Beiträge: 15
Registriert seit: Jun 2009

8.6.1
2008
de_en

1067
Deutschland
Verständisproblem Ereignisstrukur
Hey super!!!
Das klappt!!

...aber warum funktioniert das nicht wenn ich nur die lokale Variable überschreibe?
Dabei ändere ich doch auch den Wert.....
Alle Beiträge dieses Benutzers finden
to top
26.10.2009, 16:24
Beitrag #4

TSC Offline
LVF-Team
LVF-Team

Beiträge: 1.882
Registriert seit: Sep 2008

LV 2018 SP1
2008
EN

52379
Deutschland
Verständisproblem Ereignisstrukur
Die Ereignisstruktur reagiert eben nicht auf "programmatische" Änderungen sondern eher auf Benutzeraktionen (Eingaben auf der Oberfläche). Wenn sie doch reagieren soll, musst du den besagten Eigenschaftsknoten verwenden, der gleichzeitig das Ereignis auslöst.

LG
Torsten

"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Alle Beiträge dieses Benutzers finden
to top
26.10.2009, 17:19
Beitrag #5

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Verständisproblem Ereignisstrukur
' schrieb:Ich habe ein kleines Minimalbeispiel gemacht um den Denkfehler einzugrenzen:
Dafür schon mal vorab ein dickes Lob. Das sollte eigentlich immer so sein, aber leider ist das eher die seltene Ausnahme als die Regel.
Das VI enthät auch einen weiteren Fehle: Wenn Timeout in den Cases unendlich ist, dann werden Wertänderungen des Stop-Knopfes nicht bemerkt. Stop sollte auch en Ereignis sein.
Eine der beiden Ereignisstrukturen ist unnötig. Das Ereignis "String-Wertänderung" (mit Eigenschaft "Wert-Signalisiernd") kännte auch in einem anderen Ereigniscase der ersten Ereignisstruktur behandelt werden, dazu brauicht es keine zweite Ereignisstruktur.
Ich bin aber jetzt gleich mal noch einen Schritt weitergegangenund zeige Dir, wie man die drei Ereigniscases in einem einzigen Case behandeln kann.
   
Lv86_img
Sonstige .vi  ereignis_test.vi (Größe: 10,23 KB / Downloads: 174)
Alle Beiträge dieses Benutzers finden
to top
Thema geschlossen 


Gehe zu: