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 

Boolean Array und Events



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!

04.08.2007, 14:24
Beitrag #1

Firpo Offline
LVF-Grünschnabel
*


Beiträge: 16
Registriert seit: Jun 2007

8.2
-
kA


Deutschland
Boolean Array und Events
Hallo,

ich habe folgendes Problem.

Ich möchte, dass ein Event ausgelöst wird, nachdem sich ein bestimmtes Anzeigeelement geändert hat. Wenn ich es mit "normalen" numerischen Bedienelementen programmiere funktioniert alles wunderbar.
Wenn ich aber nun boolsche Schalter benutze, die ich in ein Array schreibe wird in der Eventstruktur für den alten und den neuen Wert der gleiche Wert angezeigt (siehe Bild).

Wie kann ich dieses Problem lösen bzw. ist das überhaupt möglich?

Gruß,
Firpo


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
04.08.2007, 14:45
Beitrag #2

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.692
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Boolean Array und Events
"Gleichzeitig" auf sowohl das Anzeigeelement als auch auf das Property Val(Sig) des selben Anzeigeelementes zu schreiben widerspricht der Logik der Datanflusssteuerung. Warum schreibst du überhaupt auf beides? Eines, also das Property, ist ausreichend.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.08.2007, 17:46 (Dieser Beitrag wurde zuletzt bearbeitet: 04.08.2007 17:48 von Lucki.)
Beitrag #3

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Boolean Array und Events
Im Detail passiert dieses:
a) die Wertzuweiung über die Eigenschaft ist sehr viele langsamer als die direkte Wertzuweisung an das Bedienelement. Man kann davon ausgehen, daß das Programm erst das Bedienelement abarbeitet, dann erst den Eigenschaftsknoten
b) Die Eigenschaft "Wert, signalisierend" löst auch dann ein Ereignis aus, wenn der Wert gar nicht geändert wird, wenn also der neue Wert gleich dem alten ist. Genau das ist hier der Fall, da ja die Wertzuweisung auf dem "direktem Weg" schon erfolgt war.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.08.2007, 19:45
Beitrag #4

Firpo Offline
LVF-Grünschnabel
*


Beiträge: 16
Registriert seit: Jun 2007

8.2
-
kA


Deutschland
Boolean Array und Events
Danke für die Antworten. Das mit dem Eigenschaftswert ist natürlich nicht so geschickt.
Ich habe das Problem jetzt mit Shift-Registern und Lokalen Variablen gelöst.

Ob man das dennoch auch mit Events hinkriegt, würde mich trotzdem interessieren.

@IchSelbst:
Der Screenshot ist eine vereinfachte Darstellung des Programmteils. Im richtigen Programm kommt noch ein SubVI mit einigen Rechnungen davor und die Ergebnisse möchte ich eben angezeigt bekommen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.08.2007, 20:19 (Dieser Beitrag wurde zuletzt bearbeitet: 04.08.2007 20:23 von Lucki.)
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
Boolean Array und Events
' schrieb:Ob man das dennoch auch mit Events hinkriegt, würde mich trotzdem interessieren.
Und ich dachte schon, Ichselbst und ich selbst hätten Dir die Frage umfassend beantwortet, so daß keine Frage mehr offen ist. Also noch mal zum Mitschreiben:
a) Die Verwendung des Eigenschaftsknotens ist nicht dumm, sondern die einzige Möglichkeit das Ereignis auszulösen.
b) Dumm ist nur die parallele, gleichzeitige direkte Wertzuweisung an das Control. Also: Control vom Draht abklemmen, evtl. in Indikator umwandeln - das wars schon. Die Änderung dauert 1 sec.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.08.2007, 21:07 (Dieser Beitrag wurde zuletzt bearbeitet: 04.08.2007 21:08 von Firpo.)
Beitrag #6

Firpo Offline
LVF-Grünschnabel
*


Beiträge: 16
Registriert seit: Jun 2007

8.2
-
kA


Deutschland
Boolean Array und Events
Ah, ok hab jetz glaub kapiert was ihr meint. Is Unfug was ich da gemacht habe.
Aber wenn du sagst, dass die property node auch ein Ereignis auslöst wenn der Wert nicht geändert wird, bleibt das Problem doch bestehen oder nicht.
Oder aber ich stehe grad vollkommen auf dem SchlauchSmile
Naja, werde das morgen mal ausprobieren.

Zitat:b) Dumm ist nur die parallele, gleichzeitige direkte Wertzuweisung an das Control...
Du meinst an die Anzeige, oder?? Sonst geb ich auf...Wink

Gruß,
Firpo
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
04.08.2007, 21:22
Beitrag #7

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.692
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Boolean Array und Events
' schrieb:Aber wenn du sagst, dass die property node auch ein Ereignis auslöst wenn der Wert nicht geändert wird, bleibt das Problem doch bestehen oder nicht.
Das "Problem", dass also Alt und Neu gleich sein können, bleibt natürlich bestehen. Nur das ist kein Problem: Eine ÄNDERUNG war dann, wenn Alt und Neu nicht gleich sind.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.08.2007, 22:52 (Dieser Beitrag wurde zuletzt bearbeitet: 04.08.2007 22:54 von Lucki.)
Beitrag #8

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Boolean Array und Events
' schrieb:Du meinst an die Anzeige, oder?? Sonst geb ich auf...Wink
Ja
Daß sich der Wert nicht wirklich geändert haben muß, ist eher von Vorteil.
Beispiel: Ein Ereignis wird normalerweise durch Wertänderung eines Bedienelementes ausgelöst. Zusätzlich aber wünsche ich, das das Ereignis auch bei der Initialisierung des Programms stattfindet. Wie mache ich das? Ganz einfach: Ich weise im Initialisierungsteil des Programms dem Eigenschaftsknoten "Wert, signalisierend" einen Wert zu, den ich vorher aus einer lokalen Variablen desselben Bedienelementes gelesen habe. Das ist natürlich nicht mit Wertänderung verbunden, wohl aber wird wie gewünscht das Ereignis ausgelöst.
Beim wirklichen Bedienen funktioniert das übrigens nicht. Wenn ich am Bedienelement herumfummele, ohne das das letztlich mit Wertänderung einhergeht, wird kein Ereignis ausgelöst.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.08.2007, 09:05
Beitrag #9

Firpo Offline
LVF-Grünschnabel
*


Beiträge: 16
Registriert seit: Jun 2007

8.2
-
kA


Deutschland
Boolean Array und Events
Ok, funktioniert.Smile
Vielen Dank euch beiden für die Hilfe.

Im Hightlight-Modus sieht man jetzt auch die Wertänderungen.

Jetz wäre da nur noch die Frage was die bessere Programmierart ist. Event oder das Shift-Register, das ich momentan verwende. Ich habe allerdings schon eine Event-Struktur an einer anderen Stellen des Programms und habe hier irgendwo gelesen, dass mehrere Event-Strukturen in einem Programm häufig Probleme verursachen können. Obwohl ich dieses Ereignis womöglich in die andere Struktur mit einbauen könnte.

Gruß,
Firpo
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.08.2007, 09:26
Beitrag #10

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.692
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Boolean Array und Events
' schrieb:Jetz wäre da nur noch die Frage was die bessere Programmierart ist. Event oder das Shift-Register
Da werde ich immer Events vorziehen !

Ich habe alle Events in einen Case gepackt und den in einer eigenen While-Schleife laufen. Der Datenaustausch, wenn erforderlich, mit anderen While-Schleifen erfolgt über Queue/Melder oder Variablen.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
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
  Frage zur Architektur: Statemachine und Wait for Events tuhpon 6 4.489 18.03.2024 16:14
Letzter Beitrag: tuhpon
  Event Triggern über boolean Anzeige simcum 6 3.568 25.02.2023 14:57
Letzter Beitrag: simcum
  Mittelwert VI mit Boolean-Ausgang BlackEagle 6 5.459 18.01.2020 15:10
Letzter Beitrag: Lucki
  Boolean als globale Variable ares2013 12 11.350 06.09.2019 13:57
Letzter Beitrag: GerdW
  Bedienelemente bündeln zum Auslösen eines Events Marcusius 12 9.290 03.09.2019 17:24
Letzter Beitrag: Marcusius
  Boolean durch Array bedienen Gellerpa 3 5.062 07.06.2018 20:10
Letzter Beitrag: hansi9990

Gehe zu: