Beschreibung
Die Anweisung "PE_WOL" sendet die PROFIenergy-Kommandos "Start_Pause" und "End_Pause" an mehrere PROFIenergy-fähige Devices im PROFINET I/O Systemen.
Über die Anweisung ist die Koordination mehrerer PE-Devices möglich, vorausgesetzt die PE-Devices unterstützen die Funktion "Wake on LAN" über eine UDP-Verbindung.
Die Anweisung "PE_WOL" ist nur auf einer CPU mit integrierter Ethernet-Schnittstelle ausführbar. Diese CPU muss in der Lage sein, Bausteine mit einer Größe von ca. 40kB zu laden. Sie können den Baustein nicht mit PROFINET I/O Systemen einsetzen, wenn diese über einen Ethernet CP angebunden sind.
Die Anweisung "PE_WOL" wird asynchron abgearbeitet.
Definition: Wake on LAN
Die Wake On LAN Funktionalität erlaubt Datenverarbeitungseinrichtungen die Wiederaufnahme der Arbeit aus einem nahezu ausgeschalteten Zustand heraus, durch den Empfang eines speziellen Ethernet-Pakets.
Damit dieses Verfahren funktionieren kann, muss die Datenverarbeitungseinrichtung über einen Netzwerk-Controller verfügen, der für den Empfang eines solchen Pakets ausgerüstet ist.
Dieses Paket (Magic Packet™) hat eine spezielles Format. Es beinhaltet 15mal die MAC Adresse des Netzwerkadapters.
Auswahl der Devices
Die Auswahl der Devices erfolgt über den Anwender-Datenbaustein am Parameter PENERGY. Der Anwender-DB stellt die Datenbasis für die Bearbeitung mehrerer Devices dar.
Vor der Initialisierung von "PE_WOL" müssen Sie in dem Anwender-DB mindestens folgende Informationen hinterlegen:
-
ID des PROFINET I/O Systems
-
Daten der Verbindung, die für "Wake On LAN" genutzt wird
-
Port-Nummer, die für "Wake On LAN" genutzt wird
-
Für jedes Device
-
Pausenzeit (PauseTime)
-
Schalten des Device in den PE_SLEEP_MODE (EnableSleep)
-
Über den den Parameter COM_RST initialisieren Sie die Anweisung "PE_WOL". Nach der Initialisierung werden die im Anwender-DB hinterlegten Aufträge nacheinander abgearbeitet.
Die folgende Grafik zeigt beispielhaft, wie das PE-Kommando "Start_Pause" an mehrere Devices übertragen wird:
|
(1) |
Schritt 1: Das Bit "CmdStartPause" der abzuschaltenden Devices wird durch den Anwender auf "1" gesetzt. |
|
(2) |
Schritt 2: Die Diagnose-Adressen der abzuschaltenden Devices (CmdStartPause = "1") werden in die Warteschlange eingekettet. |
|
(3) |
Schritt 3: Das Bit "CmdStartPause" wird automatisch zurückgesetzt, nachdem die Aufträge eingekettet wurden. |
|
(4) |
Schritt 4: Die Anweisung "PE_WOL" bearbeitet die Aufträge, sobald diese eingekettet sind. |
Über die Parameter START und END kann ein PROFIenergy-Kommando "CmdStartPause" bzw. "CmdEndPause" für alle erkannten Geräte im PROFINET IO System gesendet werden.
Über den Parameter STATUS wird der Stand der Auftragsbearbeitung sowie mögliche Fehler bei der Bearbeitung ausgegeben.
Bedienung der Anweisung über den Anwender-DB
Die Bedienung der Anweisung "PE_WOL" kann ausschließlich über den Anwender-DB erfolgen. Hierbei gilt ein grundsätzlicher Ablauf:
-
Anwahl des auszuführenden Kommandos für ein Device:
-
START_PAUSE ("CmdStartPause" im Anwender-DB)
-
ENDE_PAUSE ("CmdEndPause" im Anwender-DB)
-
UPDATE_STATUS ("CmdUpdateStatus" im Anwender-DB)
-
-
Setzen des Bits zur Aktualisierung ("Update" im Header des Anwender-DBs)
Zwischen zwei Aktualisierungen sollte mindestens ein CPU Zyklus verstreichen mit einem "Update" = False, da sonst eine Flankenerkennung nicht gewährleistet werden kann.
Priorisierung der PE-Kommandos
Die folgende Grafik zeigt den zeitlichen Ablauf der drei möglichen Kommandos.
Diese werden nacheinander abgearbeitet, unabhängig davon ob der jeweils vorherige Kommandoaufruf erfolgreich war oder mit Fehler beendet wurde.
Bei gleichzeitigem Setzen von, z. B. "CmdEndPause" und "CmdUpdateStatus" wird nur ein Kommando ausgeführt. Es liegt innerhalb des Bausteins eine Priorisierung vor:
-
Das Kommando "CmdStartPause" hat die höchste Priorität und wird folglich immer ausgeführt, sofern angewählt.
-
Das Kommando "CmdEndPause" hat die zweithöchste Priorität.
-
Das Kommando "CmdUpdateStatus" hat die niedrigste Priorität.
Werden alle drei Kommandos gleichzeitig gesetzt, bleiben die nicht ausgeführten Kommandos vorgewählt. In diesem Falle wird die nächste steigende Flanke das nächste Kommando ausführen.
Parameter
Die folgende Tabelle zeigt die Parameter der Anweisung "PE_WOL":
|
Parameter |
Deklaration |
Datentyp |
Speicherbereich |
Beschreibung |
|---|---|---|---|---|
|
Input |
BOOL |
E, A, M, D, L |
Setzt den Baustein zurück und führt eine Neuinitialisierung durch. Solange hier ein True gesetzt ist, wird die Initialisierung eingeleitet, jedoch noch nicht vollständig durchgeführt. Erst die fallende Flanke setzt die Initialisierung fort und wechselt nach der Initialisierung in den normalen Betriebsmodus. |
|
|
Input |
BOOL |
E, A, M, D, L |
Eine steigende Flanke führt ein PROFIenergy-Kommando "CmdStartPause" für alle erkannten Geräte durch, die diese Funktion unterstützen. |
|
|
Input |
BOOL |
E, A, M, D, L |
Eine steigende Flanke führt ein PROFIenergy-Kommando "CmdEndPause" für alle erkannten Geräte durch, die diese Funktion unterstützen. |
|
|
InOut |
ANY |
D |
Zeiger auf den Anwender-DB, der die Datenbasis für die Bearbeitung mehrerer Devices enthält. |
|
|
Output |
DWORD |
E, A, M, D, L |
Status-/Fehlernummer zum aktuellen Zustand der Anweisung (siehe "Parameter STATUS"). |
Weitere Informationen zu den gültigen Datentypen finden Sie unter "Übersicht über die gültigen Datentypen".