Hallo meta,
Zitat:ich habe doch bereits in meinem Blockdiagramm Obtain Queue und Queue Referenzen eingefügt. Könntest Du mir bitte Beispiele zeigen ?
Sollen wir jetzt in deinen Bildern rummalen?
Häng doch einfach mal dein VI hier an - dann könnten wir es auch mit LabVIEW bearbeiten!
(Für mich bitte nach LV2014 zurückkonvertiert: Datei -> Für vorige Version speichern…)
Hallo Gerd,
die Dateien sind angehängt. Danke im Voraus !
viele Grüsse
meta
Hallo meta,
ich liebe ja aufgeräumte Blockdiagramme - deines gehört leider nicht in diese Kategorie…
- Wie Jens schon sagte: dein DeQueueElement in der Consumer-Schleife wartet ewig auf einen Befehl. Wenn du keinen in der Producer-Schleife auslöst, wartet der Consumer eben. Man könnte den Timeout-EIngang dieser Funktion sinnvoll bedrahtet und dann den Timeout?-Ausgang auswerten…
- Warum wird im Consumer in jeder Iteration erneut eine TCP-Connection geöffnet?
-
Wie Jens schon sagte: Deine Queue-Referenz "Data.WriteQueue" wird leider NIRGENDS definiert. Kein Wunder, wenn du dann beim Enqueue mit "STOP"/"EO=0" wie im Bild Fehlermeldungen bekommst! Die Queue-Referenz wird im "Initialize"-State definiert. Wird dieser State jemals aufgerufen???
- GROBER Fehler: die Daten, die im Shiftregister gehalten werden, sollten NIE irgendwo aus einem Tunnel kommen, der auf "default if unwired" gesetzt wurde!!!
- Der Rest ließe sich auch einfacher erledigen:
[
attachment=57262]
Hallo Gerd,
es tut mir leid, zu hören, dass mein Blockdiagramm unaufgeräumt ist. Ich dachte, ich habe bereits nach dem LabView-Architektur nachgearbeitet.
Es liegt daran, dass ich noch kein ausreichendes Wissen in LabVIEW habe. Wo liegt der Aufbau-Fehler ? Könntest Du mir bitte ein Tipp geben ?
zu deiner Frage im Anhang : Diese Pfad werden in dem TypDef Cluster definiert (Gelb makiert). Muss ich denn zuerst ein Bedienelementen im Blockdiagramm haben, damit dieser Pfad gültig ist ?
Ich habe die Bedientelemente in Cluster als Typdef eingefügt.
viele Grüsse
meta
Hallo meta,
Zitat:zu deiner Frage im Anhang : Diese Pfad werden in dem TypDef Cluster definiert (Gelb makiert).
Dieser typdefinierte Cluster definiert erst einmal NUR den Daten
typ, aber nicht den Daten
wert!
Man kann zwar noch Standardwerte hinterlegen: bei einem Pfad/String wird das noch funktionieren. Bei einer Referenz aber garantiert nicht mehr…
Zitat:Ich habe die Bedientelemente in Cluster als Typdef eingefügt.
Was bringen dir diese Controls in der Typdefinition - vor allem, wenn der Cluster als Konstante im Blockdiagramm liegt???
Nochmal: du definierst erst einmal nur den Datentyp, aber nicht den Wert!
Zitat:Muss ich denn zuerst ein Bedienelementen im Blockdiagramm haben, damit dieser Pfad gültig ist ?
Du musst sicherstellen, dass der Daten
wert gültig ist!
Das kannst du über ein Control machen - oder aber auch programmatisch, indem man Konstanten oder frisch geöffnete Referenzen in den Cluster einträgt…
Hier ein Beispiel:
[
attachment=57265]
Das kleine "OUT CH" stellt einen typdefinierten Cluster (=Daten
typ) bereit, der darüber dann noch mit den jeweils benötigten
Werten befüllt wird…