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 

Producer-Consumer-Struktur - richtig



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!

21.08.2008, 14:35
Beitrag #1

Curtis Newton Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 132
Registriert seit: Apr 2008

8.5
2008
de

14***
Deutschland
Producer-Consumer-Struktur - richtig
Hallo,

da meine Programme jetzt etwas größßer werden, muss ich mir ja mal Gedanken um die Struktur machen. Für größere Programme geeignet erscheint mir die Producer-Consumer-Struktur. Ich habe mal ein Beispiel, um mir das Konzept zu verdeutlichen, erstellt. Anbei. Ist das soweit richtig?

Zwei Fragen habe auch zusätzlich noch:
1. Ich bekomme für die beiden Buttons folgende Warnmeldung: "Der Anschluss für dieses Bedien- oder Anzeigeelement auf dem Frontpanel ist nicht verbunden." Ja, wohin soll ich es denn verbinden? Ich brauche den Wert doch garnicht, sondern nur die beiden Dinger als Buttons.
2. Immer, wenn ich einen Case bei dem enum "Queue anfordern" hinzufüge, muss ich alle enums bei "Element einfügen" (also in der oberen while-Schleife) neu erstellen. Geht das auch komfortabler?

Danke!

C.
   


Sonstige .vi  ProducerConsumerEvents.vi (Größe: 26,89 KB / Downloads: 474)
(LV 8.51)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
21.08.2008, 14:50
Beitrag #2

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Producer-Consumer-Struktur - richtig
Sieht doch schon mal gut aus.

Dein Problem mit dem Enum kannst Du mit einer Typedef lösen. Dazu gibt's auch hier im Forum Beispiele.

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.08.2008, 14:51
Beitrag #3

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Producer-Consumer-Struktur - richtig
' schrieb:2. Immer, wenn ich einen Case bei dem enum "Queue anfordern" hinzufüge, muss ich alle enums bei "Element einfügen" (also in der oberen while-Schleife) neu erstellen. Geht

Speichere dein Enum als StrictTypeDef (Advanced...Customize)

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.08.2008, 14:53 (Dieser Beitrag wurde zuletzt bearbeitet: 21.08.2008 14:55 von Y-P.)
Beitrag #4

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Producer-Consumer-Struktur - richtig
........ und hier ist ein Bsp. dazu in Verbindung mit einer State Machine.

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.08.2008, 14:59
Beitrag #5

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.692
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Producer-Consumer-Struktur - richtig
' schrieb:1. Ich bekomme für die beiden Buttons folgende Warnmeldung: "Der Anschluss für dieses Bedien- oder Anzeigeelement auf dem Frontpanel ist nicht verbunden." Ja, wohin soll ich es denn verbinden? Ich brauche den Wert doch garnicht, sondern nur die beiden Dinger als Buttons.
Ignorieren.

Sobald das Programm keinen Fehler mehr hat, erscheint auch diese Warnung nicht mehr. So ist es zumindest bei mir.

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
21.08.2008, 18:55
Beitrag #6

Curtis Newton Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 132
Registriert seit: Apr 2008

8.5
2008
de

14***
Deutschland
Producer-Consumer-Struktur - richtig
' schrieb:Speichere dein Enum als StrictTypeDef (Advanced...Customize)

Wo? Finde ich nicht. Ich habe ein dt. LabVIEW...

C.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
21.08.2008, 21:07
Beitrag #7

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Producer-Consumer-Struktur - richtig
Hier.... (ist zwar englisch, aber so müsstest Du es finden).

   

Gruß Markus

' schrieb:Wo? Finde ich nicht. Ich habe ein dt. LabVIEW...

C.

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.08.2008, 09:32
Beitrag #8

Curtis Newton Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 132
Registriert seit: Apr 2008

8.5
2008
de

14***
Deutschland
Producer-Consumer-Struktur - richtig
' schrieb:Sieht doch schon mal gut aus.

Dein Problem mit dem Enum kannst Du mit einer Typedef lösen. Dazu gibt's auch hier im Forum Beispiele.

Gruß Markus

Wie mache ich das denn, wenn sich Daten ändern und in Controls neu geschrieben werden? In meinen Beispiel werden ja immer beide Controls (Number und String) neu mit Daten gefüllt, wenn die Consumer-Schleife was gemacht hat. Packe ich dann die Controls in die Case-Struktur? Aber was ist, wenn mehrere Cases das gleiche Control füllen? Operiere ich dann mit lokalen Variablen?

Danke!
C.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.08.2008, 11:59
Beitrag #9

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.692
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Producer-Consumer-Struktur - richtig
' schrieb:Packe ich dann die Controls in die Case-Struktur? Aber was ist, wenn mehrere Cases das gleiche Control füllen? Operiere ich dann mit lokalen Variablen?
Ich verstehe deine Frage nicht.

Machs so wie im Bild (untere Schleife) in deinem ersten Beitrag, also Controls außerhalb der Case-Sequenz. Dann kannst du von mehreren Cases aus auf die Controls schreiben. Nämlich immer dann, wenn die Sequenz beendet wird.

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
22.08.2008, 12:29
Beitrag #10

Curtis Newton Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 132
Registriert seit: Apr 2008

8.5
2008
de

14***
Deutschland
Producer-Consumer-Struktur - richtig
' schrieb:Ich verstehe deine Frage nicht.

Machs so wie im Bild (untere Schleife) in deinem ersten Beitrag, also Controls außerhalb der Case-Sequenz. Dann kannst du von mehreren Cases aus auf die Controls schreiben. Nämlich immer dann, wenn die Sequenz beendet wird.

Aber dann schreibe ich doch immer in alle Controls, auch wenn sich die betreffenden Daten nicht geändert haben (in meinem Beispiel wird auch in Number geschrieben, auch wenn sich nur String geändert hat). Oder macht das nichts, weil LabVIEW merkt, wenn sich die Daten nicht geändert haben und ensprechend nichts tut?

Danke!
C.
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
  Queue verwendung in komplexer Producer/Consumer Abhängigkeit Ksanto 8 5.733 03.04.2017 20:14
Letzter Beitrag: Ksanto
  Producer/Consumer? Neon88 2 5.198 12.09.2012 17:07
Letzter Beitrag: Neon88
  CPU Auslastung : CASE Struktur VS Event Struktur > 20% : 60% ??? Dimasq 14 12.689 08.06.2012 12:28
Letzter Beitrag: Dimasq
  Producer-Consumer Struktur ThermoHiwi 4 5.620 28.04.2011 11:14
Letzter Beitrag: ThermoHiwi
  Producer-Consumer in einer dritten Hauptschleife dimitri84 4 5.480 20.10.2010 16:17
Letzter Beitrag: IchSelbst
  Pausieren von parallel ablaufenden Producer/Consumer Schleifen Aleph1 19 15.708 24.06.2010 12:38
Letzter Beitrag: Aleph1

Gehe zu: