Habe nun 2 Möglichkeiten die funktionieren !!!
1. Abfrage ob Windows einen Shutdown beginnt:
Dies funktioniert mit dem Event Case „Application Instance Close? “
Hier bleiben ca. 12-20 sec. das Programm selber zu schließen und Daten weg zu speichern.
Nach dieser Zeit Schließt Windows einfach das Programm...
Diese Funktion ist sinnvoll wenn Windows einfach heruntergefahren wird
2. Abfrage des Zustandes der USV
Im Rups2000 Manager ( von der USV ) wird der Pfad einer Batch Datei bei
„Befehlsdatei“ ausführen eingetragen.
Kommt es jetzt zu einem Stromausfall merkt dies die USV und startet die Batchdatei nach 1min.
Die Batchdatei kopiert das Dat File „shutdownOrderLV.dat“ vom Ordner „Default_USV“
in den Ordner „check_LV“.
Der Ordner check_LV wird zyklisch von LabView abgefragt ob sich die Datei „schutdownOrderLV“ im Ordner befindet, ist dies der Fall wird das Programm gezielt beendet und die Datei „schutdownOrderLV“ wieder aus dem Ordner gelöscht.
Als kleine Erweiterung schreibe ich noch die Daten weg wann der Befehl der USV kam und wann das Programm beendet wurde.
In der Batchdatei sind die Pfade der Ordner angegeben. Wird vor dem Windows shutdown noch mehr Zeit benötigt muss man einfach nur noch weiter ping Befehle (Wartezeit ) einfügen
Die Batch schaut so aus:
@echo off
xcopy "d:\shutdown_usvPC\Default_USV\shutdownOrderLV.dat" "d:\shutdown_usvPC\check_LV"
ping pc04980 // als Wartezeit
ping pc04980