Sleep on Lan

Matze001

Level-3
Beiträge
2.813
Reaktionspunkte
572
Zuviel Werbung?
-> Hier kostenlos registrieren
Der Titel gibt mein Anliegen eigentlich schon wieder.
Ich möchte ein Sleep on Lan realisieren.

Gibt es dort schon fertige Lösungen oder muss ich mir selbst Gedanken machen.

Müsste ich mir selbst Gedanken machen würde ich ein Wake on Lan Signal missbrauchen und modifizieren.

bei WoL sendet man ja an einen IP-Broadcast z.B. 192.168.1.255
6 mal FF und 10 mal die Mac-Adresse des Ziel-PCs.

Mein Ansatz wäre jetzt nur 5 mal die Mac zu senden, und 5 mal einen "code" um die PCs zu unterscheiden.

Oder hat jmd. eine andere schlaue Idee?

Die Pakete zu senden ist kein Problem, das passiert von einer SPS aus, Wake on Lan geht schon ohne zu Murren.

Für Sleep on Lan brauche ich aber eine Gegenstelle am PC, und da hört mein Latein leider schon auf :(

Ich freue mich auf Ideen und Anregungen!

Grüße

Marcel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
... bei W gibts shutdown und damit kann man graphisch oder Kommandozeile Rechner remote herunterfahren.

meinen FREENAS Dateiserver fahre ich mit plink in einer Batchdatei herunter
Code:
plink 192.168.1.2 -P 22 -l Benutzer -pw Passwort  shutdown -p now

Thomas
 
Entschuldigt!

OS ist Windoof Server 2003. Das ich dann ne Batch mit Shutdown ausführe habe ich mir auch schon gedacht, aber nun muss ich erstmal auf das UDP-Paket sniffen, und da seh ich den größten Knackpunkt.

Grüße

Marcel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Entschuldigt!

OS ist Windoof Server 2003. Das ich dann ne Batch mit Shutdown ausführe habe ich mir auch schon gedacht, aber nun muss ich erstmal auf das UDP-Paket sniffen, und da seh ich den größten Knackpunkt.

Grüße

Marcel

das shutdown kannst du doch direkt in der bat einbauen siehe schalter /?
Thomas
 
Danke! Sehr hilfreich!

Ich werde es mal Testen wenn ich wieder in der Heimat bin!
Klingt aber auf jeden Fall sehr vielversprechend!

Grüße

Marcel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie wäre es, beim Win2003 Server Telnet zu aktivieren, sich dann von der SPS aus per Telnet einzuloggen und dann ein shutdown auszuführen?
Telnet ist ein relativ einfaches Protokoll, daher sollte man das in der SPS noch unterbringen können. Das sollte man natürlich nur aktivieren wenn man sich in einem halbwegs sicheren Netzwerk befindet.

Alternativ könnte das Herunterfahren auch vom Server ausgelöst werden. Z.B. indem er sich per kleines über den Taskplaner augeführtes Skript minütlich in die SPS einloggt und einen Wert im Datenbaustein abfragt. Steht dort ein entsprechender Wert wird heruntergefahren.
 
Das ist nicht das Problem, das Problem ist das ich diese Batch starten muss, oder die Batch immer läuft und auf Anweisung wartet... da fehlt mir einfach der Ansatz!

Grüße

Marcel

P.S: Sorry 4 Doppelpost
:confused: klar musst du die batch starten. Auf deinem lokalen Rechner, von dem aus du den anderen herunterfahren möchtest.
Thomas

PS wer lesen kann... hab vollkommen überlesen von SPS aus.

Thomas
 
Zuletzt bearbeitet:
:confused: klar musst du die batch starten. Auf deinem lokalen Rechner, von dem aus du den anderen herunterfahren möchtest.
Thomas

PS wer lesen kann... hab vollkommen überlesen von SPS aus.

Thomas


@ Thomas: Ich habe mich gerade schon gewundert ;) Aber nun ist ja alles klar

@ Thomas: Den Server auf die SPS schauen zu lassen ist ne geile Idee,
das ist so einfach das ich nicht drauf gekommen bin. Die SPS kann in
XML-Dateien schrieben, bzw. mit http://IP_DER_SPS/READPI=BLABLABLA
lassen sich auch Variablen auslesen. Den Ansatz werde ich mal verfolgen!

Grüße und danke für die super Hilfe!

Marcel

P.S: Wer noch mehr Ideen hat, immer her damit!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Eine Alternative, um einen Rechner "geordnet auszubekommen" wäre ihm wenn er eine Ser. SS hat eine USV an selbiger vorzugaukeln welche Netzausfall signalisiert. Im Netz gibt es dazu diverse einfache Anleitungen(z.B. http://www.helmut.hullen.de/filebox/Technik/usv-klug.html) welche nur 1DO benötigen würden.
Das ist zwar nicht über Lan, aber für manch anderen Zweck sicher ausreichend.

Thomas
 
Ist nur über 600km und VPN etwas schwierig :(

Aber woher sollst du es auch wissen!

Trotzdem kann es für andere interessant sein. Danke!

Grüße

Marcel
 
Bluesky (welcher neben mir saß) hat sich dazu überreden lassen ein
Programm in C# anzufangen mit dem das zu realisieren ist.

Funktionsumfang wird sein:

Auf der CPU liegt eine XML Datei welche wie folgt aufgebaut ist:

Code:
<shutdown.xml>

<pc1><!--Readpi--></pc1>
<pc2><!--Readpi--></pc2>
<pcn><!--Readpi--></pcn>

</shutdown>

Readpi (hier abgekürzt) füllt dann den Wert der Variablen zwischen die Tags, welche von dem Programm ausgewertet werden.

Es wird zyklisch geschaut ob der PC herruntergefahren werden soll,
wenn das Ereignis eintritt wird die Shutdown.exe ausgeführt.

Mit dem gleichen zyklischen Trigger wird mittels writepi eine Variable in
der SPS auf true gesetzt. Eine Art Lebensbit des PCs. So kann bei Wake on Lan kontrolliert werden ob der PC nach einer Zeit X hochfährt, und dies ggf. wieder angestoßen werden muss, und bei Sleep on Lan ob der PC wirklich herruntergefahren ist.

Wenn das alles soweit funktioniert und getestet ist stelle ich hier die XML, das C# Programm sowie einen FB online!

Grüße

Marcel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hab da mal geschwind eine Beispiel App dazu gemacht welche du nützen könntest. (Warn ja nur 20 Zeilen Code...)

Wenn man die Exe mit "/config" aufruft, kann man die Verbindung konfigurieren.

Den Befehl welcher ausgeführt werden soll, und das Datenbit welches überprüft wird kann man in dem Config File festlegen.

Wenn man das Programm nun alle Minute mit dem taskplaner aufrufen würde, könnte man damit den PC runterfahren.

Quellcode dazu gibt's in meine SiemenPLCToolBoxLib
(http://siemensplctoolboxlib.codeplex.com/)
 

Anhänge

  • CommandWhenBitSet.zip
    313,8 KB · Aufrufe: 55
Zurück
Oben