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 

Bool Werte über Queues



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.07.2019, 09:02
Beitrag #31

maxil Offline
LVF-Grünschnabel
*


Beiträge: 27
Registriert seit: Jun 2019

13.0
2017
DE



RE: Bool Werte über Queues
Genau das stellt ja das Problem da, wie kann ich denn unterscheiden, für welche Funktion meine Daten genau in einem Augenblick sind?
Werden sie mit einer Kennung oder einer Position oder sonstigem versehen, so dass ich identifizieren kann, durch wen das Ereignis (z. B. btn1) ausgelöst worden ist?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
04.07.2019, 09:24 (Dieser Beitrag wurde zuletzt bearbeitet: 04.07.2019 09:28 von GerdW.)
Beitrag #32

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Bool Werte über Queues
Hallo maxil,

Zitat:Werden sie mit einer Kennung oder einer Position oder sonstigem versehen, so dass ich identifizieren kann, durch wen das Ereignis (z. B. btn1) ausgelöst worden ist?
Wenn du das so programmierst, dann haben die Datenelemente der Queue auch eine Kennung für die Quelle der Daten…

Du musst dir vorher überlegen, was du genau brauchst: wenn du nur ein Flag /true/false) benötigst, sollte dessen Quelle egal sein. Wenn du aber Daten weiterverteilen willst, dann ist es hilfreich, etwas über das Woher? und Wohin? zu wissen. Dafür könnte man einen Cluster mit mehreren Elementen verwenden. Gern genommen wird ein Cluster aus Enum (oder String) und Variant…

Zurück zum Anfang:
Zitat:Ich habe zwar eine Möglichkeit gefunden die Button über Case-Strukturen weiterzuleiten, jedoch weiß ich nicht genau, wie ich die Daten in der zweiten While-Schleife wieder in einen Bool Wert ändere, damit eine weitere Case Struktur, eine Aufgabe ausführt (z.B. einschalten einer LED).
Du könntest im Erzeuger aus dem boolschen ValueChangeEvent einen String wie "0/1,Button1" (boolscher Wert, Label des Buttons) generieren und in die Queue schicken. Am anderen Ende dann einfach ein ScanFromString mit "%b,%s" und du hast sofort wieder den boolschen Wert und das Label zur Verfügung…
Das wäre aber dann auf diesen konkreten Anwendungsfall zugeschnitten: die Variante mit Enum/String und Variant ist dann flexibler!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.07.2019, 10:36
Beitrag #33

MarcoN Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 68
Registriert seit: Mar 2019

2016
2019
DE_EN

562**
Deutschland
RE: Bool Werte über Queues
Wäre es nicht auch möglich das ganze mit Meldern statt Queues aufzubauen? Bin mir nicht ganz sicher ob man das so macht. Nachteil der Melder ist auf jeden Fall das du keinen Puffer hast..
Bevor du das aber so nachbaust würde ich erst warten was die Erfahrenen LV-User sagen!


Angehängte Datei(en)
16.0 .vi  Melderbeispiel.vi (Größe: 24,37 KB / Downloads: 127)

Gruß
Marco
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.07.2019, 10:58
Beitrag #34

maxil Offline
LVF-Grünschnabel
*


Beiträge: 27
Registriert seit: Jun 2019

13.0
2017
DE



RE: Bool Werte über Queues
(04.07.2019 09:24 )GerdW schrieb:  Hallo maxil,

Zitat:Werden sie mit einer Kennung oder einer Position oder sonstigem versehen, so dass ich identifizieren kann, durch wen das Ereignis (z. B. btn1) ausgelöst worden ist?
Wenn du das so programmierst, dann haben die Datenelemente der Queue auch eine Kennung für die Quelle der Daten…

Du musst dir vorher überlegen, was du genau brauchst: wenn du nur ein Flag /true/false) benötigst, sollte dessen Quelle egal sein. Wenn du aber Daten weiterverteilen willst, dann ist es hilfreich, etwas über das Woher? und Wohin? zu wissen. Dafür könnte man einen Cluster mit mehreren Elementen verwenden. Gern genommen wird ein Cluster aus Enum (oder String) und Variant…

Zurück zum Anfang:
Zitat:Ich habe zwar eine Möglichkeit gefunden die Button über Case-Strukturen weiterzuleiten, jedoch weiß ich nicht genau, wie ich die Daten in der zweiten While-Schleife wieder in einen Bool Wert ändere, damit eine weitere Case Struktur, eine Aufgabe ausführt (z.B. einschalten einer LED).
Du könntest im Erzeuger aus dem boolschen ValueChangeEvent einen String wie "0/1,Button1" (boolscher Wert, Label des Buttons) generieren und in die Queue schicken. Am anderen Ende dann einfach ein ScanFromString mit "%b,%s" und du hast sofort wieder den boolschen Wert und das Label zur Verfügung…
Das wäre aber dann auf diesen konkreten Anwendungsfall zugeschnitten: die Variante mit Enum/String und Variant ist dann flexibler!

Hi Gerd,

danke für die Info, werde ich heute Abend mal versuchen mit den Clustern.
Sollte denn die Eventstruktur dabei dann beibehalten werden oder würde sie dann überflüssig sein.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.07.2019, 11:27
Beitrag #35

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Bool Werte über Queues
Hallo maxil,

mit Eventstrukturen kann man Polling vermeiden: das ist hilfreich bei der Abfrage des Buttons…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.07.2019, 11:55
Beitrag #36

maxil Offline
LVF-Grünschnabel
*


Beiträge: 27
Registriert seit: Jun 2019

13.0
2017
DE



RE: Bool Werte über Queues
(04.07.2019 10:36 )MarcoN schrieb:  Wäre es nicht auch möglich das ganze mit Meldern statt Queues aufzubauen? Bin mir nicht ganz sicher ob man das so macht. Nachteil der Melder ist auf jeden Fall das du keinen Puffer hast..
Bevor du das aber so nachbaust würde ich erst warten was die Erfahrenen LV-User sagen!

Hallo Marco,

leider kann ich das Beispiel nicht laden, da ich mit einer Version (13.0) von 2013 arbeite, eine andere habe ich nicht zur Verfügung.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
04.07.2019, 12:51 (Dieser Beitrag wurde zuletzt bearbeitet: 04.07.2019 12:54 von MarcoN.)
Beitrag #37

MarcoN Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 68
Registriert seit: Mar 2019

2016
2019
DE_EN

562**
Deutschland
RE: Bool Werte über Queues
(04.07.2019 11:55 )maxil schrieb:  
(04.07.2019 10:36 )MarcoN schrieb:  Wäre es nicht auch möglich das ganze mit Meldern statt Queues aufzubauen? Bin mir nicht ganz sicher ob man das so macht. Nachteil der Melder ist auf jeden Fall das du keinen Puffer hast..
Bevor du das aber so nachbaust würde ich erst warten was die Erfahrenen LV-User sagen!

Hallo Marco,

leider kann ich das Beispiel nicht laden, da ich mit einer Version (13.0) von 2013 arbeite, eine andere habe ich nicht zur Verfügung.

Ich hier einfach ein Cluster aus 2 nummerischen Controls gebaut. "Verbraucher Daten 1" wertet nur "Daten 1" des Clusters aus und "Verbraucher Daten 2" wertet nur "Daten 2" aus. Die Änderung wird jeweils erst aktiviert wenn du auf den Button "Wertänderung" drückst.


Angehängte Datei(en)
13.0 .vi  Melderbeispiel.vi (Größe: 18,92 KB / Downloads: 139)

Gruß
Marco
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.07.2019, 00:56 (Dieser Beitrag wurde zuletzt bearbeitet: 05.07.2019 08:28 von Lucki.)
Beitrag #38

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: Bool Werte über Queues
Melder würde ich nur nehmen, wenn es wirklich notwendig ist, also wenn man z.B die erzeugten Werte in mehreren VIs benötigt.
Allgemein macht man es so (es wurde ja hier schon angedeutet):
Das Queueelement ist ein Cluster mit 2 Elementen:
1. Element: Name (Adresse). Format: String oder Enum
2. Element: Wert. Format: Variant (Oder, wenn alle Werte von den verschiedenen Erzeugern gleiches Format haben, z.B DBL, dann eben DBL)
Jeder Adresse hat seine eigene Erzeugerschleife.
Empfangsschleife gibt es nur eine, dort müssen die Adressen in einer Casestruktur sortiert werden, und in jedem Case die Rück-Konvertierung von Variant zu Wert erfolgen.
Die Erzeugerschleifen sind bezüglich des Timings voneinander völlig unabhängig.
Einfaches Beispiel:

13.0 .vi  Queue.vi (Größe: 12,96 KB / Downloads: 153)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.07.2019, 08:14 (Dieser Beitrag wurde zuletzt bearbeitet: 11.07.2019 08:14 von maxil.)
Beitrag #39

maxil Offline
LVF-Grünschnabel
*


Beiträge: 27
Registriert seit: Jun 2019

13.0
2017
DE



RE: Bool Werte über Queues
Guten Morgen,

so ich habe es jetzt weitestgehend hinbekommen, dass die einzelnen Funktionen für einen Screenshot sowie zur Speicherung der Daten aufgerufen werden.
Das Problem ist jetzt, dass sie ständig aufgerufen werden und nicht, wenn ich nur den entsprechenden Button gedrückt habe.
Wahrscheinlich ist es ein Blöder Fehler oder ich habe eine Funktion nicht richtig verstanden, aber vielleicht hat jemand eine Idee, wie ich das Verhalten umgehen kann?
(11.07.2019 08:14 )maxil schrieb:  Guten Morgen,

so ich habe es jetzt weitestgehend hinbekommen, dass die einzelnen Funktionen für einen Screenshot sowie zur Speicherung der Daten aufgerufen werden.
Das Problem ist jetzt, dass sie ständig aufgerufen werden und nicht, wenn ich nur den entsprechenden Button gedrückt habe.
Wahrscheinlich ist es ein Blöder Fehler oder ich habe eine Funktion nicht richtig verstanden, aber vielleicht hat jemand eine Idee, wie ich das Verhalten umgehen kann?


Angehängte Datei(en)
13.0 .vi  Motorsteuerung_V16_Test.vi (Größe: 86,86 KB / Downloads: 124)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.07.2019, 08:29 (Dieser Beitrag wurde zuletzt bearbeitet: 11.07.2019 08:30 von jg.)
Beitrag #40

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Bool Werte über Queues
Dann verwende eine Event-Struktur in deiner Producer-Loop (vgl. Beitrag 35):
   
Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
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
  LabVIEW Queues Schrankwand 3 2.821 14.12.2023 13:41
Letzter Beitrag: Schrankwand
  Queues? flizzer82 14 28.286 23.05.2017 19:58
Letzter Beitrag: jg
  Queues VI übergreifend verwenden mdu 12 14.867 14.03.2015 15:34
Letzter Beitrag: Lucki
  Queues mit FGVs in Polymorphen VI Andre_A 7 6.112 17.05.2014 07:39
Letzter Beitrag: cb
  If Schleife und queues Danjo 4 6.325 27.05.2013 15:14
Letzter Beitrag: jg
  Auf Anzeige (Bool) reagieren (Ereignis) bigwowan11 10 8.558 31.10.2012 11:39
Letzter Beitrag: Kiesch

Gehe zu: