INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

Energiesparmodus verhindern



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!

20.06.2014, 08:31
Beitrag #1

jan91 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 76
Registriert seit: Jun 2008

2023
2007
DE

28359
Deutschland
Energiesparmodus verhindern
Hallo zusammen,

leider kommt es bei Laborrechnern immer wieder vor, das der Energiesparmodus aktiviert ist (nach Installation, neuem SP, ...) und so die Langzeitmessungen unterbrochen werden.
Prinzipell bringt diese Funktion aus Gründen des Energieverbrauchs ja auch Sinn, aber leider nicht während der Messungen.

Deshalb würde ich aus meiner Labview Anwendung bei laufenden Messungen (via RS232 oder USB) gerne den Energiesparmodus verhindern. Gibt es eine Möglichkeit den Timer des Windows Energiesparmodus nachzutriggern oder den Energiesparmodus komplett zu blocken?

Gruß
jan
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.06.2014, 18:09 (Dieser Beitrag wurde zuletzt bearbeitet: 20.06.2014 18:11 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.471
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Energiesparmodus verhindern
Hallo Jan,

üblicherweise lässt sich der Energiesparmodus durch Mausbewegungen vermeiden. Du musst dir also überlegen, wie du die Maus bewegt bekommst…

Es gibt Wege (z.B. Win-DLL-Aufrufe oder 3rd-party tools), mit denen man den Mauszeiger bewegen/platzieren kann, ohne das dazu ein User am PC sitzen muss. Meist reicht das aus, um den Screensaver/Energiesparmodus zu verhindern. Also: einfach regelmäßig MouseMove-Events erzeugen!

Ansonsten:
Mess-PCs sollten einen eindeutigen Admin haben, der sich um die Updates etc. kümmert. Und dieser Admin sollte der einzige sein, der die Energiesparoptionen etc. einstellt. Alles andere ist in einem produktiven Umfeld simple Geldverschwendung!
Also:
- Auto-Update ausschalten (Messrechner sollten sowieso nicht am Internet hängen)
- normalen (eingeschränkten) User-Account für Messungen einrichten
- einen Admin-Account einrichten, der sich regelmäßig und nach Absprache mit dem Mess-Plan um Updates und Rechnereinstellungen (mit Checkliste!) kümmert…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.06.2014, 17:31 (Dieser Beitrag wurde zuletzt bearbeitet: 22.06.2014 08:59 von Lucki.)
Beitrag #3

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Energiesparmodus verhindern
Es gibt ja viele Programme, bei denen das Herunterfaheren nicht stattfindet, wenn es läuft. (Download Manager, Video-Konvertierer). Eine Programmierung kann da doch nicht so schwer sein, und ich vermute, man macht das mit der Windows-Funktion "shutdown.exe"
Mach doch mal das:
In der Windows-Eingabezeile cmd aufrufen. Dann in dem sich öffnenden Fenster "shutdown /?" eingeben
Es erscheint die Syntax des Befehls mit allen Parametern.
Finde heraus, wie es geht, und lass das Ergebnis hier allen zugute kommen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.06.2014, 14:59 (Dieser Beitrag wurde zuletzt bearbeitet: 22.06.2014 15:01 von rolfk.)
Beitrag #4

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: Energiesparmodus verhindern

Akzeptierte Lösung

Oder man ruft die Windows API Funktion kernel32.SetThreadExecutionState(uInt32 state) auf.

Mit Parameter 0x80000002 verhindert man, dass Windows das Display in den Ruhemodus schaltet. Mit 0x80000000 schaltet man das wieder zurück. Das 0x2 am Ende sagt dass die Applikation das Display nicht ausgeschaltet haben will. Mit 0x1 anstelle von 0x2 teilt man Windows mit dass das System benützt wird (aber das Display durchaus schlafen gehen darf, also das Display kann dunkel werden aber der Computer geht nicht schlafen).

Aber: explizite Requests des Benützers um den Computer auszuschalten oder in den Schlafmodus zu setzen (z.B. Laptop schliessen) werden trotzdem ausgeführt!

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.06.2014, 08:53
Beitrag #5

jan91 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 76
Registriert seit: Jun 2008

2023
2007
DE

28359
Deutschland
RE: Energiesparmodus verhindern
Hallo Zusammen,

habe mich für die Mausbewegung entschieden.

Ich rufe nun nach jeder Messung einmal die user32.dll mit der Funktion "mouse_event" und den Parametern 1,0,0,0,0 auf.

Dadurch wird ein "MOUSEEVENTF_MOVE" mit der Mausverschiebung um 0 aufgerufen, was anscheined reicht um den Bildschirmschoner & Co. nachzutriggern.

Ich hoffe mal, das verursacht keine "bleibenden Schäden" im Dauerbetrieb.

Vielen Dank

jan Big GrinBig GrinBig Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.06.2014, 10:46
Beitrag #6

jan91 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 76
Registriert seit: Jun 2008

2023
2007
DE

28359
Deutschland
RE: Energiesparmodus verhindern
Hallo Rolf,

vielen Dank, das ein/ ausschalten mit der Windows API Funktion kernel32 funktioniert super.
Das ist genau die Funktion, nach der ich gesucht habe.

Kennst Du evtl. auch eine Möglichkeit, um zu prüfen, auf welche Zeitdauer der Timer für den Systemabschaltmodus konfiguriert ist?


Gruß
jan
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
25.06.2014, 13:26 (Dieser Beitrag wurde zuletzt bearbeitet: 25.06.2014 13:27 von Lucki.)
Beitrag #7

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Energiesparmodus verhindern
(24.06.2014 10:46 )jan91 schrieb:  vielen Dank, das ein/ ausschalten mit der Windows API Funktion kernel32 funktioniert super.
Das ist genau die Funktion, nach der ich gesucht habe.
Dann sollte man doch die Antwort auch als "richtige Lösung" markieren. Habe das mal für Dich getan.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.06.2014, 13:43
Beitrag #8

jan91 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 76
Registriert seit: Jun 2008

2023
2007
DE

28359
Deutschland
RE: Energiesparmodus verhindern
@Lucki: Danke
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.11.2024, 12:41
Beitrag #9

baer1775 Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Jan 2024

2022
2000
DE


Deutschland
RE: Energiesparmodus verhindern
(22.06.2014 14:59 )rolfk schrieb:  Oder man ruft die Windows API Funktion kernel32.SetThreadExecutionState(uInt32 state) auf.

Mit Parameter 0x80000002 verhindert man, dass Windows das Display in den Ruhemodus schaltet. Mit 0x80000000 schaltet man das wieder zurück. Das 0x2 am Ende sagt dass die Applikation das Display nicht ausgeschaltet haben will. Mit 0x1 anstelle von 0x2 teilt man Windows mit dass das System benützt wird (aber das Display durchaus schlafen gehen darf, also das Display kann dunkel werden aber der Computer geht nicht schlafen).

Aber: explizite Requests des Benützers um den Computer auszuschalten oder in den Schlafmodus zu setzen (z.B. Laptop schliessen) werden trotzdem ausgeführt!


Super! Genau was ich gesucht habe Big Grin, danke!

Anbei ein kleines VI wo diese Lösung umgesetzt ist


Angehängte Datei(en)
20.0 .vi  standby verhindern.vi (Größe: 9,65 KB / Downloads: 19)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.11.2024, 09:16
Beitrag #10

TpunktN Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 217
Registriert seit: Jul 2011

2021
2011
EN

70***
Deutschland
RE: Energiesparmodus verhindern
(12.11.2024 12:41 )baer1775 schrieb:  Anbei ein kleines VI wo diese Lösung umgesetzt ist

Cool, danke für das VI und zum aufmerksam machen auf den Thread, sowas wollte ich auch mal einbauen. Zumindest sollte es verhindern, dass meine USB Ports abgeschaltet werden während einer längeren Messung, oder?

Ich habe noch nie mit der 'Call Library Function' gearbeitet, das sieht ja umständlich aus (wenn man keine Ahnung hat). Beim lesen des Threads habe ich mal die MS Seite dazu genommen, verstehe ich das richtig, die Funktion gibt auch eine Echo als Antwort mit der aktiven Funktion?

Interessant fande ich den Teil:
"Calling SetThreadExecutionState without ES_CONTINUOUS simply resets the idle timer; to keep the display or system in the working state, the thread must call SetThreadExecutionState periodically."
Man kann sich quasi Mouse Move komplett sparen und einfach einen Timer Reset machen ..

Grüße Timo

Justieren ist dem Gerät sagen was es anzeigen soll, kalibrieren ist die Kontrolle dieser Anzeige. Eichen ist ein längerer Prüfprozess und darf nur das Eichamt!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Windowszugriff verhindern seuk 1 3.145 28.03.2019 11:59
Letzter Beitrag: th13
  Verhindern von Befehlen mit falscher Bitlänge Praktikantin 1 2.712 25.09.2015 15:35
Letzter Beitrag: GerdW
  Springen des Cursors verhindern Lucki 6 5.535 15.08.2013 10:59
Letzter Beitrag: Y-P
  Kurzzeitige Unterbrechungen eines VI verhindern Hähnchen 11 9.480 09.08.2013 13:40
Letzter Beitrag: Hähnchen
  Automatischen Start der EXE verhindern HerTesla 8 6.309 06.03.2013 17:39
Letzter Beitrag: Lucki
  Ereignisstruktur auslösen verhindern Moeseph 7 7.103 18.02.2012 08:00
Letzter Beitrag: Y-P

Who read this thread?
1 User(s) read this thread:
Martin.Henz

Gehe zu: