LabVIEWForum.de
Daten aus einer Sequenz heraus verschicken - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Instrument IO & VISA (/Forum-Instrument-IO-VISA)
+---- Thema: Daten aus einer Sequenz heraus verschicken (/Thread-Daten-aus-einer-Sequenz-heraus-verschicken)



Daten aus einer Sequenz heraus verschicken - jojo2203 - 15.03.2009 21:05

Hallo,

ich möchte gern eine Zeichenfolge über die serielle Schnittstelle versenden, dann soll nach einer vom Nutzer zu wählenden Zeit eine weitere Zeichenfolge gesendet werden. Die Zeichenfolge wird durch den Wechsel des Zustandes einer Schaltfläche abgeschlossen.

Um diese zeitliche Abfolge zu realisieren, habe ich eine Sequenz benutzt die in einer CASE-Struktur läuft, aber leider wird die Zeichenfolge zwar aus der Sequenz und Case-Struktur heraus gesendet, aber erst nach deren vollständigen Abarbeitung wird die Zeichenfolge über die serielle Schnittstelle versendet.

Woran könnte das liegen? Habt ihr einen anderen Lösungsvorschlag parat.

Habe mal eine Grafik mit der Sequenz angehangen.

Danke MfG jojo


Daten aus einer Sequenz heraus verschicken - jg - 15.03.2009 22:21

Datenfluss, Datenfluss, Datenfluss!

Grundprinzip von LabVIEW, eine Struktur (SubVI o.ä.) wird erst dann bearbeitet, wenn alle Eingänge anliegen, und erst dann beendet, wenn alle Ausgänge anliegen.

Gruß, Jens


Daten aus einer Sequenz heraus verschicken - jojo2203 - 16.03.2009 01:55

schade, ich hatte mir so was schönes überlegt, muss ich nochmal neu drüber nachdenken.
trotzdem danke.

mfg jojo


Daten aus einer Sequenz heraus verschicken - rolfk - 19.03.2009 09:42

' schrieb:schade, ich hatte mir so was schönes überlegt, muss ich nochmal neu drüber nachdenken.
trotzdem danke.

mfg jojo

Wobei man über die Schönheit der von Dir gezeigten Lösung geteilter Meinung sein kann Rolleyes

Ästhetisch ist daran tatsächlich nicht soviel auszusetzen aber LabVIEW technisch schon. Ein paar Grundregeln:

- Datenfluss wenn immer möglich
- Diagramm einschränken auf einen Bildschirm (wenn es grösser wird solltest Du über die Architektur nachzudenken beginnen: Zustandsmaschine, Event Handling, oder vielleicht auch ganz einfach Modularisierung mittels subVIs).
- Kommentare
usw.

Die entsprechende List kann noch viele mehr Empfehlungen/Regeln enthalten. Mit LabVIEW kommt auch ein Online Handbuch "LabVIEW Style Checklist" das als Anleitung dienen kann.

Rolf Kalbermatter


Daten aus einer Sequenz heraus verschicken - Lucki - 19.03.2009 10:22

' schrieb:Woran könnte das liegen? Habt ihr einen anderen Lösungsvorschlag parat.
Einer muß doch auch mal die Frage beantworten:
Es geht z.B. mit eine einem Bedien/Anzeigeelement und einer lokalen Variablen.
Beispiel Bedienelement: Davon eine Lokale Variable in der Sequenz, diese wird dort beschrieben. Der neue Wert steht augenblicklich am Bedienelement zur Verfügung, ganz gleich wo im VI sich dieses befindet. Das sollte natürlich ein einer unabhängigen zweiten Schleife sein, die nicht blockiert ist, wenn die Sequenz abgearbeitet ist. (Es genügt ja nicht, daß der neue Wert im Element drin steht, man muß es auch abfragen können.)
(Das Bedien/Anzeigeelement läßt sich verbergen, wenn es am FP nicht gebraucht wird)
Weitere Möglichkeiten: Queues, Melder.

Und nun nach diesem hoffentlich hilfreichen Hinweis möchte ich den bisherigen Kritiken noch eins drauf zu setzen.
Die exzessive Verwendung von Sequenzen ist immer die digitale Visitenkarte des LabVIEW-Anfängers, der von einer textorientierte Programmiersprache herkommt und deren sequentiellen Datenfluß in die LabVIEW-Programmierumgebung hinüberretten will.
NI empfielt die sparsamme Verwendung von Sequenzen, da sie die parallele Ausführung behindern und die Programme langsamer machen.