LabVIEWForum.de
Ereignisstruktur Wertsignalisierend - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Ereignisstruktur Wertsignalisierend (/Thread-Ereignisstruktur-Wertsignalisierend)



Ereignisstruktur Wertsignalisierend - Toto2010 - 07.04.2011 19:56

Hi

Ich habe ein Problem mit der Ereignisstruktur. Ich möchte mit einem Signal welches von Außen einmal auftritt, meine Eventstruktur einmal losgehen lassen. Der Interrupt(Event) funktioniert ohne Probleme wenn er von einem Schalter am Frontpanal bedient wird. Wenn ich aber einer boolschen Variable einen Methodenknoten Wertsignalisieren zuweise dann spielt meine Eventstruktur verrückt. Nun gut, ich habe in der Anleitung gelesen das Latchfunktionen in der Eventstruktur vermieden werden sollen. Ich hab dann alles mögliche ausprobiert. Funkioniert aber alles nicht.

Zur verdeutlichung meines Problems habe ich ein kleines Vi angehangen. Kann mir das irgendjemand verbessern?

Mit freundlichen Grüßen,
Toto


RE: Ereignisstruktur Wertsignalisierend - GerdW - 07.04.2011 20:35

Hallo Toto,

Zitat:Ich hab dann alles mögliche ausprobiert.
Glaube ich nicht Smile

Zitat:spielt meine Eventstruktur verrückt.
Das Beschreiben von Fehlern musst du aber noch üben Smile

Zitat:in der Anleitung gelesen das Latchfunktionen in der Eventstruktur vermieden werden sollen
Wo steht das denn? Terminals von LatchedBooleans sollte man durchaus in die Eventstruktur hineinlegen!
Man kann nur keinen "Wert"-PropertyNode für diese anlegen/nutzen...

Vielleicht wie im Anhang? Einfach mal eine kleine Wartezeit einfügen (nicht ohne Grund immer empfohlen!), und schon kommt die Eventstruktur auch beim Abarbeiten der Events hinterher...


RE: Ereignisstruktur Wertsignalisierend - Toto2010 - 07.04.2011 21:08

Wow,

Die Antwort kam aber schnell, danke.
Labview ist für mich noch Neuland; daher sehe ich den Wald vor lauter Bäumen nicht mehr.
Ich schau mir deine Lösung jetzt erstmal an und werde dich dann morgen weiterhin mit Sinnlosen Fragen überziehenAngel_not.
Nein, quatsch. Ich gelobe Besserung.

Mit freundlichen Grüßen,

Toto


RE: Ereignisstruktur Wertsignalisierend - Lucki - 07.04.2011 21:33

Es spielt hier das Zusammenwirken von 2 Faktoren ein Rolle, dass Deine Ereignisstruktur "verückt spielt":
1. Den beiden oberen Schleifen fehlt ein "Wait", so daß sie mit virtuell unendlich facher Geschwindigkeit umlaufen und die CPU nicht mehr normal arbeiten kann.
2. Das Ereignis wird dementsprechend mit virtuell unendlich hoher Frequenz gefeuert. Denn: Das Ereignis nennt sich zwar "Wertänderung". Diese Bezeichnung ist hier aber irreführend (und deshalb Dein Fehler verzeihlich). Denn wenn das Feuern über den Eigenschaftknoten "Wert (SGL)" erfolgt, braucht es keine Wertänderung, sondern schlichtweg jeder Aufruf des Eigenschaftsknotens an sich, ob mit neuem oder altem Wert, führt zum Ereignis.


RE: Ereignisstruktur Wertsignalisierend - Toto2010 - 07.04.2011 23:59

Hi,

danke nochmal für die Tips.
Ich habe ein kleines Vi geschrieben welches meine Probleme lösen dürfte. Bin voll happy, dass es jetzt funktioniert.
Ist n bischen groß geworden, aber was solls.
Wenn jemand ne einfachere Lösung hat, immer her damit.

EDIT jg: LV-Version des Upload ergänzt


RE: Ereignisstruktur Wertsignalisierend - Lucki - 08.04.2011 07:32

(07.04.2011 23:59 )Toto2010 schrieb:  Wenn jemand ne einfachere Lösung hat, immer her damit.
Das geht doch gar nicht: Nach welchen Optimierungkriterien sollte man denn ein funktierendes, aber absolut sinnfreies VI verbessern?


RE: Ereignisstruktur Wertsignalisierend - GerdW - 08.04.2011 07:48

Hallo Toto,

hier mal dein VI befreit von allem unnötigen Ballast...

- Bitte bei Uploads immer die LV-Version angeben!
- Wie stoppst du dein VI - deine Schleifen sind alle auf endlos gestellt?
- Wieso packst du eine Schleife um dein VI, in der endlos laufende Schleifen enthalten sind?
- Wozu die ganzen Sequenzen?
- Wozu die locals?

Zitat:absolut sinnfrei
Das trifft's ganz gut...


RE: Ereignisstruktur Wertsignalisierend - M Nussbaumer - 08.04.2011 08:47

Ich bezweifle, dass dein VI wie gewünscht funktioniert.

So wie es jetzt abläuft wird der Interrupt-Zähler alle 10 Sekunden hochgezählt, egal was dein Boolean sagt.
Value(sngl) Generiert immer ein Value-Change Event, auch wenn gar keine Wertveränderung vorliegt!

Ich gehe jetzt mal davon aus, dass du bei Interrupt eine Wertveränderung auf True gemeint hast.
Diese darf frühestens alle 10 Sek, seit dem letzten True-Wert ausgewertet werden.

Mein Lösungsvorschlag:

[attachment=33178]

Damit senden die Aliens nicht alle 10 Sekunden einen Todes-Interrupt-Strahl, sondern nur noch wenn sie Lust drauf haben Cool

Hoffe das hilft dir weiter