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!
ich bin recht unerfahren in der Benutzung von LabVIEW und soll im Moment für einen Lehrstuhl eine Anlagensteuerung schreiben. Dabei werden diverse Geräter über die serielle Schnittstelle angesprochen. Das funktioniert einzeln auch schon ganz gut. Das ganze in ein einziges Programm zu integrieren, ist für mich schon schwieriger.
Hier nun mein Problem:
Ich müsste nacheinander programmgesteuert verschiedene Befehle an die RS232-Schnittstelle senden. Danach soll gewartet werden. Dazu werden Konstanten benutzt. Wie schaffe ich es nun, dass ich an den einen Eingang meins "Schreib- und LeseVIs" mehrere Befehle nacheinander schicken kann? Ich habe es schon mit Schleifen und Sequenzen versucht, bin aber zu keiner Lösung gekommen.
Ein Minimalbeispiel-Screenshot liegt bei.
Das einfachste wäre eine Sequenzstruktur. Dort einfach in jeden Rahmen nacheinander die jeweilige Anweisung reinschreiben, sofern denn die Reihenfolge immer die Gleiche ist und sich auch niemals ändert.
Um jedoch variabel auf eventuelle "Events" zu reagieren würde sich eine Eventstruktur in einer While-Schleife anbieten.
eine Sequenzstruktur habe ich schon ausprobiert. Sowohl gestapelt, als auch flach hilft sie mir diese nicht weiter. In einer gestapelten Sequenzstruktur kann an einen Ausgang aus der Sequenz nur ein einziger Anschluss gesetzt werden, anders als z.B. bei der Case-Struktur. Das hilft mir also entweder nicht weiter, oder ich habe nicht verstanden wie mir die Sequenzstrukur helfen kann.
Inwieweit kann mir denn eine Ereignisstruktur in einer While-Schleife helfen? Ich habe mir das Beispiel "New Event Handler.vi" angesehen, da sieht man jedoch auch nicht, wie man verschiedene Befehle aus der Schleife an den selben Eingang schickt.
ich habe da noch einige kleine Fragen.
Muss nach dem Senden eines Befehls immer auf eine Antwort gewartet werden bevor ein neuer Befehl gesendet wird? Beträgt die Wartezeit zwischen den zu sendenden Nachrichten immer 1sec? Möchtest du immer die selbe Reihenfolge des Nachrichtensendens/ -empfangens oder soll diese Variabel auf Bildschirmeingaben (Buttons) reagieren?
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
RE: Verschiedene Befehle nacheinander senden
Mach' die Befehle in ein Array und schließe dieses Array an eine Forschleife an (Stichwort: Indexing). Dort wartest Du dann 1s in jedem Durchlauf.
Sequenzen würde ich nicht machen. In diesem Fall schon gar nicht. Und wenn Du das mal benötigen solltest, dann nimm' lieber eine 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 !!
--------------------------------------------------------------------------
ich habe dieses Problem des Befehle versendens bei 2 verschiedenen Mess-/Regelgeräten. Das gezeigte, die Steuerung eines Massflow-Controlers, ist nur ein Beispiel. Zugegebenermaßen weiß ich gar nicht, ob sich das Gerät beschwert, wenn ich gleich mehrere Befehle hintereinander sende. Das ließe sich natürlich ausprobieren. Bei einem anderen Gerät (einem Gaskonzentrationsmessgerät) soll jedoch nach einem Befehl definitiv gewartet werden. Die Reihenfolge der Befehle ist prinzipiell immer die selbe, soll aber durch einen Button im Front Panel gesteuert werden (beispielsweise: Messgerät nullstellen (manuell durch Button eingeleitet) -> Warten bis Nullpunkt erreicht ist -> Wert kontinuierlich auslesen (automatisch))
schau dir einfach mal da Producer Consumer Pattern an. Damit liese sich dann auch individuell auf jede Tasteneingabe reagieren und funktionieren sollte es damit auch.
ich habe das Ganze im Moment gelöst, wie im Anhang zu sehen ist. Ob es am Gerät so auch funktioniert, kann ich gerade nicht sagen, da ich es nicht hier habe. Vielen Dank, Hook1986 und Y-P.
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
RE: Verschiedene Befehle nacheinander senden
Genau so habe ich es gemeint.
Gruß Markus
(26.01.2012 19:17 )Milch schrieb: ich habe das Ganze im Moment gelöst, wie im Anhang zu sehen ist.
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------