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 

Dieses Thema hat akzeptierte Lösungen:

Wert aus Eventstruktur



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.2013, 20:46
Beitrag #1

creo_123 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 101
Registriert seit: Jan 2013

17.0
2013
DE


Deutschland
Wert aus Eventstruktur
Hallo,

noch eine kleine (hoffe ich zumindestWink) Frage am Abend:

Ich führe per Schalter eine Eventstruktur aus, in der ich Messwerte generiere. Diese Messwerte möchte ich nach Abschluss
des Events gerne weiter verarbeiten. Per lokaler Variable schaffe ich es den Messwert "nach draußen zu funken". Das ist aber
mit Sicherheit nicht die eleganteste Lösung. Daher meine Frage, ob man das irgendwie anders bewerkstelligen kann.

In meinem Beispiel-VI hab ich die Messung durch einen numerischen Wert ersetzt, den ich gerne nach Beenden des Events bis
zum nächsten Start verwenden möchte.

Vielen Dank und noch einen schönen Abend!


Angehängte Datei(en)
11.0 .vi  event.vi (Größe: 6,81 KB / Downloads: 220)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
27.10.2013, 09:27
Beitrag #2

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: Wert aus Eventstruktur
Eine gute Methode ist z.B. eine eigene Schleife zur Ereignisbehandlung und Übertragung der Werte in die Arbeitschleife über ein Queue.
Gruß Ludwig

11.0 .vi  event2.vi (Größe: 7,72 KB / Downloads: 252)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.10.2013, 10:08 (Dieser Beitrag wurde zuletzt bearbeitet: 27.10.2013 10:14 von creo_123.)
Beitrag #3

creo_123 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 101
Registriert seit: Jan 2013

17.0
2013
DE


Deutschland
RE: Wert aus Eventstruktur
Danke für die AntwortSmile

Könnte man das auch so abändern, dass die untere Schleife immer wieder durchlaufen wird, nachdem das Event ausgeführt wird. Eventuell
möchte ich Filter oder ähnliches auf meine Messwerte anwenden, die ich hinzu- und wegschalten möchte. Um diese Änderungen anzupassen,
müsste ja die Schleife immer wieder abgearbeitet werden. Wenn es dann noch eine Möglichkeit gibt die Auswertungsschleife zu pausieren,
während der Messwertaufnahme, wäre das echt perfektSmile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.10.2013, 12:42
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Wert aus Eventstruktur
Hallo creo,

bei Nutzung von Queues wartet die Verbraucherschleife immer auf neue Werte in der Queue! Deine "Wartezeiten" erhälst du damit automatisch bei Nutzung einer Queue...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.10.2013, 14:50
Beitrag #5

creo_123 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 101
Registriert seit: Jan 2013

17.0
2013
DE


Deutschland
RE: Wert aus Eventstruktur
Das ist ja schonmal gut.. nur wie könnte ich es denn hinbekommen, dass ich in dem Beispiel von Lucki die Zufallszahl nach abgeschlossener Messung weiter verarbeiten kann? Also beispielsweise mit verschiedenen Faktoren multiplizieren.. momentan würde
er diese Änderung ja nur übernehmen, wenn ich erneut messe.

Danke für die Unterstützung sogar am SonntagSmile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.10.2013, 18:58
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Wert aus Eventstruktur
Hallo creo,

Zitat:dass ich in dem Beispiel von Lucki die Zufallszahl nach abgeschlossener Messung weiter verarbeiten kann?
Nach Abschluss einer Messung wird der Wert in die Queue geschrieben. In der Verbraucher-Schleife kommt der Wert aus dem Queue und du kannst ihn verarbeiten, wie du willst. Wo ist das Problem?

Zitat:momentan würde er diese Änderung ja nur übernehmen, wenn ich erneut messe.
Wieso?
Wenn deine Verbraucherschleife mit einem (mehr oder weniger) festen Takt arbeiten soll, solltest du dem Dequeue einen TimeOut vorgeben: wenn TimeOut dann verwende vorigen Messwert (aus einem Schieberegister) ansonsten nimm neuen Messwert (und speichere diesen im Schieberegister)...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
27.10.2013, 20:32 (Dieser Beitrag wurde zuletzt bearbeitet: 27.10.2013 20:33 von creo_123.)
Beitrag #7

creo_123 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 101
Registriert seit: Jan 2013

17.0
2013
DE


Deutschland
RE: Wert aus Eventstruktur
Danke für den Tipp.. das Problem ist, dass ich irgendwie selbst noch nicht auf sowas komme, obwohl es ja eigentlich total logisch ist, wenn man es hört bzw. liest^^

habe das jetzt so umgesetzt mit dem Timeout und dem Schieberegister.. jetzt ist nur noch die letzte Sache.. ich möchte ja in meiner Messung die Schleifen möglichst schnell durchlaufen, um Messwerte in kurzen Zeitabständen zu erhalten. Wenn ich
jetzt aber immer gleichzeitig noch die Auswertungsschleife durchlaufe, wird mein Programm doch langsamer. Deshalb würde ich gerne die Auswertung aussetzten, während ich messe. Oder spielt das keine (große) Rolle, wenn die beiden Abläufe in verschiedenen Schleifen stattfinden?


Angehängte Datei(en)
11.0 .vi  event3.vi (Größe: 9,21 KB / Downloads: 201)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.10.2013, 08:00
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
RE: Wert aus Eventstruktur
(27.10.2013 10:08 )creo_123 schrieb:  Danke für die AntwortSmile
Könnte man das auch so abändern, dass die untere Schleife immer wieder durchlaufen wird, nachdem das Event ausgeführt wird.
Gar kein Problem. Einfach an die Funktion "Element aus Queue entfernen" einen Timeout-Wert anschließen:

11.0 .vi  event3.vi (Größe: 8,51 KB / Downloads: 241)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.10.2013, 22:29 (Dieser Beitrag wurde zuletzt bearbeitet: 31.10.2013 22:29 von creo_123.)
Beitrag #9

creo_123 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 101
Registriert seit: Jan 2013

17.0
2013
DE


Deutschland
RE: Wert aus Eventstruktur
Ich habe das Vi jetzt mal noch etwas mit den Funktionen, die für mich später wichtig sind, erweitert. Zur besseren Übersichtlichkeit
möchte ich Bedienelemente ausgrauen, wenn bestimmte Schalter betätigt werden (wenn ich Messung 1 nicht durchführe, sollen auch die Bedienelemente dazu nicht aktiv sein). Andere Werte möchte ich erst nach abgeschlossener Messung einmalig in die Auswertung übernehmen.
Ein späteres Umstellen soll die Auswertung nicht beeinflussen. Andere Werte wiederum sollen auch nach abgeschlossener Messung in der Auswertung anpassbar sein. Das funktioniert alles so wie es soll.

Ein kleines Problem habe ich aber noch mit einer Abbrechen-Funktionalität. Ich möchte die Messung jederzeit abbrechen können,
was mir in meinem Beispiel VI über Melder gelingt. In meinem richtigen Programm gibt es sehr viele Messschleifen, weshalb ich
auch dementsprechend viele Melder benötige. Der Einfachheit halber habe ich daher jedem "Melder-Ausgeben" ein Sub-VI spendiert, in
dem genau die Elemente enthalten sind, die im Beispiel-VI in den Messschleifen liegen.

Ich weiß nicht, ob das der perfekte Ansatz ist und habe auch den Eindruck, dass die Melder meine Messschleifen langsamer machen.
Kann das sein? Eine andere Vermutung von mir ist, dass das Programm allgemein sehr langsam ist, weil die Auswertung immer
wieder durchlaufen wird. Wenn man um die Auswertung ein Event legen könnte, so dass diese nur nach abgeschlossener Messung oder nach Wertänderung eines Bedienelements innerhalb der Auswertung durchlaufen wird (im Beispiel "Schalter und Faktor Auswertung"),
wäre das perfekt. Leider gelingt es mir nicht wirklich, eine "oder-Verknüpfung" (hier: "Messung abgeschlossen" oder "Wertänderung Schalter" oder "Wertänderung Faktor") in ein Event zu integrieren.

Vielleicht habt ihr ja die ein oder andere Idee für michSmile

Danke jedenfalls schonmal im Voraus!!!


Angehängte Datei(en)
11.0 .vi  programm_struktur.vi (Größe: 24,01 KB / Downloads: 198)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.11.2013, 08:45 (Dieser Beitrag wurde zuletzt bearbeitet: 01.11.2013 08:46 von GerdW.)
Beitrag #10

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Wert aus Eventstruktur
Hallo creo,

Zitat:Der Einfachheit halber habe ich daher jedem "Melder-Ausgeben" ein Sub-VI spendiert, in dem genau die Elemente enthalten sind, die im Beispiel-VI in den Messschleifen liegen. ... habe auch den Eindruck, dass die Melder meine Messschleifen langsamer machen. Kann das sein?
Ja! "Einfachheit" ist zwar zu begrüßen, aber zu einfach sollte es dann auch nicht werden...
Wenn du dauernd neue Melder anforderst, ohne die vorigen Referenzen zu schließen, muss dein Programm ja langsamer werden!
Mögliche Lösungen:
- Melder-Referenz nur einmal anfordern (beim Start des subVIs, vor einer Schleife) und korrekt schließen (am Ende eines subVIs, nach der Schleife)
- stattdessen mit einer FGV arbeiten, die die CANCEL-Bedingung speichert...

Zitat:Eine andere Vermutung von mir ist, dass das Programm allgemein sehr langsam ist, weil die Auswertung immer wieder durchlaufen wird.
Daten ständig erneut durchzurechnen hat noch nie geholfen...

Zitat:Wenn man um die Auswertung ein Event legen könnte, so dass diese nur nach abgeschlossener Messung oder nach Wertänderung eines Bedienelements innerhalb der Auswertung durchlaufen wird (im Beispiel "Schalter und Faktor Auswertung"), wäre das perfekt.
Du sendest Daten per Queue vom Producer zum Consumer. Warum ist es dir nicht möglich, einen weiteren Wert mit der Queue zu versenden, der signalisiert, ob "neue Messdaten" vorliegen, ob eine "Benutzereingabe" vorgenommen wurde, oder etc.? Man könnte ein passendes Enum mitsenden...

Zitat:Leider gelingt es mir nicht wirklich, eine "oder-Verknüpfung" (hier: "Messung abgeschlossen" oder "Wertänderung Schalter" oder "Wertänderung Faktor") in ein Event zu integrieren.
Eine ODER-Verknüpfung ist super-einfach: man konfiguriert mehrere Events, auf die der Event-Case reagieren soll...

P.S.: Kannst du mal die unnötigen Zeilenumbrüche in deinen Botschaften weglassen?

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
  Eventstruktur im SubVI - Datenaustausch TpunktN 5 3.557 01.07.2021 07:15
Letzter Beitrag: Zelos
  Wert an naheliegensten Wert aus Array anpassen TSC 17 11.503 26.07.2016 06:59
Letzter Beitrag: TSC
  Eventstruktur in Sub VI Ingo2 1 3.576 20.07.2015 13:27
Letzter Beitrag: GerdW
  Eventstruktur mit 2 Events Großer_Stein 3 4.209 11.06.2015 10:11
Letzter Beitrag: Großer_Stein
  Eventstruktur lola2014 12 9.806 26.01.2015 16:28
Letzter Beitrag: GerdW
  Aktueller Wert von vorherigem Wert abziehen Semicon 6 7.400 18.06.2014 16:34
Letzter Beitrag: jg

Gehe zu: