(23.05.2024 13:41 )Minako schrieb: Jetzt ist noch die Geräte suchen Funktion enthalten, welche auch ein paar Sekunden dauert.
Die müsste auch noch raus. Dafür ne neue Schleife zu öffnen sehe ich irgendwie als blöd an.
...
Also: Wenn ich ein Event über den Button starte und dieses zu lange dauert, wie mache ich das?
Queued Message Handler Aufbau, meist baue ich mir einfach eine Queue auf mit nem Cluster als Eingang: Befehlsstring und Datenvariant, lässt sich einfach aufsplitten (hab ich von DQMH abgeguckt). Du kannst auch eine Messerfassung in eine weitere Schleife machen und von dort die Daten dann (per Queue) in die MHL schicken und verarbeiten.
Ich hab dir mal nen Miniprogramm als Beispiel angehängt, versuche doch mal eine Zufallszahl in einer (gebremsten) Schleife zu generieren, an die MHL zu schicken und mit 'laden' den aktuellen Wert anzuzeigen, das geht alles ohne eine einzige Lokale Variable.
Zitat:Der Stopbutton funktioniert zwar aber braucht recht lange, wenn der Klimaschrank genutzt wird. Das führt leider gern zur ungedult von Kollegen, die dann versuchen erneut drauf zu klicken. Da hängt sich dann gern das Programm auf. Das Gleiche bei Geräte suchen. Wenn man zu schnell versucht andere Einstellungen vorzunehmen, hängt es sich auf. Liegt bestimmt an der Struktur.
LabVIEW arbeitet alles ab was es kann, sprich überall wo dein Stop schon ausgefüht ist, das funktioniert nicht mehr, deine Suche läuft aber noch, diese akzeptiert aber keine Eingabe.
Eine einfache Lösung blende ein Indicator ein, der die info gibt, es wird beendet.. Das musst du aber da machen, was auch abgearbeitet wird (meist in der Eventstruktur)
Zitat:Es geht nicht darum mein Programm im speziellen zu debuggen. Es geht um eine allgemeine Erklärung zum ordentlichen und platzsparenden Aufbau von größeren Programmen, wenn man zu viele Eingabe Variablen an, welche man an den unterschiedlichsten Stellen benötigt. (Mein Lieblingsbaustein ist der Propertynode)
Passende Programmstruktur, auf die Aufgebaut wird von vornherein. Vorhandene Strukturen verwenden (Beispiele) und anpassen, man muss sich auch zwingen die Struktur beizubehalten. Kann aber auch mal nach hinten losgehen, wenn man halb Fertig ist und dann die Struktur nicht mehr passt -.-' Vieles kommt aber mit der Zeit, am meisten habe ich gelernt von Delacor QMH, was ich immer noch sehr gerne verwende, nimmt einem die Arbeit drumherum ab.
MfG Timo