TIA Shut_down und wie behandelt man ihn

vollmi

Level-3
Beiträge
5.436
Reaktionspunkte
1.410
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi zusammen

Ich versuch grad aus dem Shut_Down befehl schlau zu werden. Grundsätzlich funktioniert die Sache.

Das heisst ich rufe den Befehl bedingt auf (was ja schon ungewöhnlich ist, normalerweise hat man bei solchen Dingen ja n Req Eingang damit man die Stati ständig auswerten kann)

Was ich nicht verstehe.
Ich rufe den Befehl in Mode 4 auf und er schreibt meine Fehlermeldung ins Windows Log. Trotzdem kommt am Ret_Val ein 8091 zurück.
Durch das 8091 rufe ich den Shut_Down mit Mode 5 auf was ja das System direkt killen sollte. Tut es aber nicht.

Muss ich ich vor Umschalten von Mode 4 auf 5 den Aufruf einen Zyklus auslassen?

Gibt es eine Möglichkeit einen Bluescreen des Betriebsystems aus der CPU heraus zu erkennen? Kann man überhaupt irgendwelche Zustände vom Windows System an die CPU übertragen ohne das man sich dafür spezielle Programme per ODK zu schreiben?

mfG René
 
Hier mal Schnell unser Baustein ist sicher Ausbau fähig. Was mir aufgefallen ist das der Mode 5 wenn Windows läuft nur bedingt klappt bzw. eher dafür sorgt das die CPU auch noch abschmiert. Ich nutze das ganze eher um den Rechner runterzufahren wenn die UPS anspricht. Die Bluescreen Funktion ist eher ein kleines Zubrot das die CPU nicht beim HW Reset mit abgeschossen wird.

Für die erkennung vom Bluescreen hab ich leider noch keine Funktion gesehen. Aber die CPU erkennt das zumindest das Windows nicht mehr da ist. Aber das heißt ja nicht unbedingt das gerade ein Bluescreen da ist.

Code:
IF #ShutdownPC THEN
    #tShutDownMode := 1;
ELSIF #BlueScreen THEN
    #tShutDownMode := 5;
ELSE
    #tShutDownMode := 0;
END_IF;

IF (#ShutdownPC OR #BlueScreen) AND NOT #statShutDown_stared THEN  
    #tShutDownReason := STRING#'Level UPS to low';
    #RetVal := SHUT_DOWN(MODE := #tShutDownMode, COMMENT := #tShutDownReason);
    #statShutDown_stared := TRUE;
END_IF;

IF NOT #ShutdownPC AND NOT #BlueScreen THEN
    #statShutDown_stared := false;
END_IF;
 
Zuletzt bearbeitet:
Zurück
Oben