Für so lange Zeiten würde ich dann doch nicht den Millisekundentimerwert nehmen. Ich habe zwar jetzt nicht im Kopf, wie lange man den laufen lassen kann, bevor er am Limit ist, aber ich denke 5 Stunden sind zu lange. Und elegant ist es so oder so nicht
Ich würde in diesem Fall mit Zeitstempel arbeiten. Habe dir eine Quick 'n Dirty Version gebastelt für das grobe Schema. Am besten du baust einfach in einen deiner Cases (oder in einen extra Case) das Setzen der Warte Zeit ein. Im "Warte" - Case liest du dann ständig die Zeit aus und vergleichst sie mit der Endzeit. Ist diese erreicht kannst du in den nächsten Case springen.
Wenn du 5h wartest könntest du auch per Wait Funktion ruhig die Schleifendurchlaufzeit auf mehrere Sekunden hochfahren um Prozessorleistung für andere Programme in den 5h zu schaffen.
Unbenannt_8.vi (Größe: 14,26 KB / Downloads: 217)
edit: Was wichtig ist, aber eigentlich klar sein sollte. Wenn du die Zeiten vergleichst nie ein "=" verwenden, sondern stets ein ">=". Ansonsten kann es sein, dass deine Bedingung nie erfüllt wird, weil das Programm um eine (Mili)Sekunden den genauen Wert verpasst.