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 

Erzeuger / Verbraucher Entwurfsmuster



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!

07.10.2013, 12:25
Beitrag #1

Sonde Offline
LVF-Neueinsteiger


Beiträge: 5
Registriert seit: Sep 2013

Evaluierung 2013
2013
DE



Erzeuger / Verbraucher Entwurfsmuster
Hallo zusammen,

ich habe mittels der Erzeuger / Verbraucher Entwurfsmustervorlage versucht ein Graphen zu erzeugen. Ich habe im NI Manager meine Hardware USB 6221 simuliert und mittels DAQ Assistent in der oberen WHILE Schleife einen Kanal definiert und in der unteren die entsprechenden Leitungen angeschlossen. Weiter habe ich in der unteren WHILE Schleife einen Formelknoten erstellt und einen ein Signalverlaufsdiagramm angeschlossen.

Leider bekomme ich keinen Graphen und kann das Programm nicht mit der Stopp-Taste anhalten. Datei liegt bei.

Kann mir jemand weiterhelfen?


Angehängte Datei(en)
13.0 .vi  Test.vi (Größe: 257,76 KB / Downloads: 158)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
07.10.2013, 13:02
Beitrag #2

BsaiboT Offline
LVF-Stammgast
***


Beiträge: 449
Registriert seit: Nov 2009

2010
2007
kA

22459
Deutschland
RE: Erzeuger / Verbraucher Entwurfsmuster
Hab leider grad kein LV-Rechner zur Verfügung. Poste mal ein Bild von deinem BD, dann kann ich mal schauen ob mir dazu etwas einfällt.
Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.10.2013, 13:13
Beitrag #3

Sonde Offline
LVF-Neueinsteiger


Beiträge: 5
Registriert seit: Sep 2013

Evaluierung 2013
2013
DE



RE: Erzeuger / Verbraucher Entwurfsmuster
Hallo,

ich habe 3 Screenshots angeheftet. Ich hoffe es ist zu verstehen.[/quote]


Angehängte Datei(en) Thumbnail(s)
           
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.10.2013, 13:18 (Dieser Beitrag wurde zuletzt bearbeitet: 07.10.2013 13:18 von GerdW.)
Beitrag #4

GerdW Online
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Erzeuger / Verbraucher Entwurfsmuster
Hallo Sonde,

du verwendest Queues, die du im Consumer ohne TimeOut abfragst. Da du aber in deinen Producern immer nur eine von 2 Queues mit Daten befüllst, wartet der Consumer unendlich (ohne TimeOut) auf die Daten in den jeweils anderen Queues...

Lösung(en):
- TimeOut verwenden
- nur eine Queue pro Producer, dafür aber mit Kennung, ob ein Messwert oder ein Tara gesendet wird. Tara-Daten werden im Consumer in Schieberegistern gepuffert...

P.S.:
Ein Ctrl-U würde deinem VI guttun! Big Grin

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.10.2013, 13:30
Beitrag #5

BsaiboT Offline
LVF-Stammgast
***


Beiträge: 449
Registriert seit: Nov 2009

2010
2007
kA

22459
Deutschland
RE: Erzeuger / Verbraucher Entwurfsmuster
Also....
1. Dein Graph liegt ausserhalb der While-Schleife. Das führt dazu, dass er erst mit dem Beenden der Schleife einen Wert bekommt. Die betreffende While-Schleife wird jedoch über das Error-Cluster deiner Queue gesteuert und da du bei Error aus deiner Case-Struktur nur einen Standardwert ausgibst wird er auch nach erfolgreichem Beenden der Schleife keinen Wert, bzw. 0 anzeigen.

2. Ein Eingang einer While-Schleife nimmt nur bei ersten Start den von Außen anliegenden Wert auf. Des weiteren wartet die Schleife mit ihrer Ausführung bis alle Eingangswerte empfangen wurden. Das bedeutet bei dir, dass die zweite Erzeugerschleife gar nicht startet, solange deine erste noch läuft. Sobald sie dann läuft, wird sie dann auch schon wieder beendet, aufgrund deiner Stoppbedingung.

Du solltest dir noch einmal das Datenflussprinzip von LV anschauen.

Um dein VI ans Laufen zu bekommen solltest du Stopp-Signal und Nullung in Queues packen oder mit Notifiern arbeiten und deinen Graph in die Verbraucherschleife hineinziehen. Achte darauf, dass er immer gültige Werte bekommt. Ggf. musst du hier ein Array erzeugen um den Verlauf der Daten "zu speichern". Einfach mal eine einfachere Übung mit Graphen hierzu machen um das Verständnis zu bekommen.

Gruß,
//Tobias
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.10.2013, 14:36
Beitrag #6

Sonde Offline
LVF-Neueinsteiger


Beiträge: 5
Registriert seit: Sep 2013

Evaluierung 2013
2013
DE



RE: Erzeuger / Verbraucher Entwurfsmuster
Hallo an alle!

Danke für die Tipps (speziell der Ctrl-U)! Ich werde versuchen mein VI dahingehend abzuändern.

Grüße,
Sonde
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Erzeuger/Verbraucher blubblub 18 16.043 27.12.2012 23:46
Letzter Beitrag: Lucki

Gehe zu: