Datenbaustein am Parameter PENERGY
Der Anwender-DB für die PROFIenergy Anweisung "PE_WOL" stellt eine Datenbasis für die Bearbeitung mehrerer Devices dar.
Der Datenbaustein ist generell in zwei Teile gegliedert. Diese sind:
-
Kopfteil 110 Byte (Header)
-
Device-Teil für maximal 256 Devices mit je 100 Byte (Device). Diese enthalten:
-
Device-spezifische Daten (Device)
-
PROFIenergy-spezifische Daten (PE)
-
Daten der Auftragsbearbeitung (Task)
-
Benutzerdaten (UserData)
-
Die einzelnen Teilbereiche haben eine bestimmte Größe, die konstant ist. Insgesamt ergeben diese eine konstante Größe von 25.746 Byte für den Datenbaustein.
Verbindungsparameter "Connection"
Die Anweisung "PE_WOL" reserviert eine Verbindungsressource aus dem Bereich der "Open User Communication". Diese wird als UDP Verbindung genutzt. Hierfür müssen im Datenbaustein folgende Parameter definiert werden:
-
Verbindungs-ID (Parameter "Connection.id")
Die Verbindungs-ID ist eine ganze Zahl, die im Bereich von 1 bis 32 liegt. Die Standardeinstellung ist 31. Sie dient der Identifikation der firmwareseitig zugeordneten Kommunikationsressourcen, wie Sende- und Empfangspuffer.
Die Verbindungs-ID muss CPU-weit eindeutig vergeben werden. -
Port-Nummer, die für die "Wake On LAN" Funktion genutzt wird (Parameter "Header.PortNo")
Nummer des UDP-Ports über die ein "Wake On LAN" Paket versendet wird. Diese Port-Nummern sind Bestandteil der Kommunikationsressourcen, die firmwareseitig durch die Verbindungs-ID identifiziert und bereitgestellt werden. Die hier verwendete Standardeinstellung für den Port von 2189 ist durch die IANA zurzeit nicht zugeordnet. Die Port-Nummer wird auf die Verbindungsprojektierung übertragen. Hierdurch werden die Parameter "Connection.local_tsap_id[1]" und "Connection.rem_tsap_id[1]" beeinflusst.
-
Schnittstellen-ID (Parameter "Connection.local_device_id")
Die Schnittstellen-ID ist ebenfalls Teil der Verbindungsbeschreibung. Diese ID identifiziert die zu nutzende Schnittstelle einer CPU für diese Verbindung. Es sind mehrere gültige Werte möglich.
Diese müssen jedoch auf die verwendete CPU und Schnittstelle angepasst werden:
-
B#16#01 bei ET200S CPU oder WinAC RTX mit Ethernetschnittstelle in Subslot IF1
-
B#16#02 bei CPU 315(F)-2PN/DP oder CPU 317(F)-2PN/DP
-
B#16#03 bei CPU 319(F)-2PN/DP
-
B#16#05 bei CPU 41x(F)-3PN/DP
-
B#16#06 bei WinAC RTX mit Ethernetschnittstelle in Subslot IF2
-
B#16#0B bei WinAC RTX mit Ethernetschnittstelle in Subslot IF3
-
B#16#0F bei WinAC RTX mit Ethernetschnittstelle in Subslot IF4
-
Aufbau des Datenbausteins
Der Datenbaustein hat den folgenden Aufbau:
|
Name |
Datentyp |
Offset |
Kommentar |
|||
|---|---|---|---|---|---|---|
|
Header |
STRUCT |
- |
Kopfinformationen |
|||
|
Update (1) |
BOOL |
0.0 |
Signal zur Anzeige einer Änderung im Datenbereich.
|
|||
|
Initialized |
BOOL |
0.1 |
Signal zur Anzeige der abgeschlossenen Initialisierung.
|
|||
|
LinkUp |
BOOL |
0.2 |
Zeigt eine erfolgreiche Konfiguration der Ethernetschnittstelle an.
|
|||
|
LinkDown |
BOOL |
0.3 |
Zeigt eine unkonfigurierte Schnittstelle an.
|
|||
|
PROFINET_ID (1) |
INT |
2.0 |
ID des PROFINET I/O Systems |
|||
|
Reserved |
ARRAY [1..37] OF BYTE |
4.0 |
Reserviert |
|||
|
LastDeviceID |
INT |
42.0 |
Enthält die größte Device-ID in diesem PROFINET I/O System. |
|||
|
PortNo (1) |
INT |
44.0 |
Port-Nummer, die für die "Wake On LAN" Funktion genutzt wird (Default= 2189). |
|||
|
Connection |
STRUCT |
- |
Enthält die Verbindungsprojektierung der "Wake on LAN" Verbindung. |
|||
|
block_length |
WORD |
46.0 |
Länge der Struktur (immer B#16#40). |
|||
|
id (1) |
WORD |
48.0 |
Verbindungs-ID |
|||
|
connection_type (1) |
BYTE |
50.0 |
Verbindungstyp (UDP = B#16#13) |
|||
|
active_est (1) |
BOOL |
51.0 |
Aktiver Verbindungsaufbau (bei UDP immer passiv) |
|||
|
local_device_id (1) |
BYTE |
52.0 |
Enthält die Schnittstellen-ID (CPU abhängig) |
|||
|
local_tsap_id_len (1) |
BYTE |
53.0 |
Enthält die Länge in Bytes des eigenen/lokalen UDP-Ports |
|||
|
rem_subnet_id_len (1) |
BYTE |
54.0 |
ungenutzt (immer B#16#00) |
|||
|
rem_staddr_len (1) |
BYTE |
55.0 |
Enthält die Länge der entfernten IP-Adresse oder B#16#00. |
|||
|
rem_tsap_id_len (1) |
BYTE |
56.0 |
Enthält die Länge in Bytes des entfernten UDP-Ports. |
|||
|
next_staddr_len (1) |
BYTE |
57.0 |
Enthält die Länge der Default-Router-Adresse (nicht relevant). |
|||
|
local_tsap_id (1) |
ARRAY[1..8] OF INT |
58.0 |
Enthält die eigene/lokale Port-Nummer. |
|||
|
rem_subnet_id (1) |
ARRAY[1..6] OF BYTE |
74.0 |
ungenutzt (immer B#16#00) |
|||
|
rem_staddr (1) |
ARRAY[1..6] OF BYTE |
80.0 |
Enthält die entfernte IP-Adresse. |
|||
|
rem_tsap_id (1) |
ARRAY[1..8] OF INT |
86.0 |
Enthält die entfernte UDP-Port-Nummer. |
|||
|
next_staddr (1) |
ARRAY[1..6] OF BYTE |
102.0 |
irrelevant |
|||
|
spare (1) |
WORD |
108.0 |
||||
|
Device |
ARRAY[1..256] OF STRUCT |
110.0 |
Array der Devices |
|||
|
Device |
STRUCT |
110.0 |
Enthält Daten für jedes Device |
|||
|
DiagID |
WORD |
110.0 |
Diagnoseadresse des Device. Wird durch die Hardware-Konfiguration zugewiesen. |
|||
|
InterfaceID |
WORD |
112.0 |
Diagnoseadresse der Device-Schnittstelle. Wird durch die Hardware-Konfiguration zugewiesen. |
|||
|
MACAdr |
ARRAY[1..6] OF BYTE |
114.0 |
Enthält die MAC-Adresse des Device. |
|||
|
IPAdr |
ARRAY[1..4] OF BYTE |
120.0 |
Enthält die IP-Adresse des Device. |
|||
|
OrderID |
STRUCT |
124.0 |
Enthält die OrderID des Device. |
|||
|
MxLen |
BYTE |
Enthält die maximale Länge des Array. |
||||
|
ActLen |
BYTE |
Enthält die aktuelle Anzahl Daten im Array. |
||||
|
Data |
ARRAY[1..20] CHAR |
Enthält die Daten. |
||||
|
PE |
STRUCT |
146.0 |
PROFIenergy spezifische Daten. |
|||
|
ModeID |
BYTE |
146.0 |
PE_MODE_ID nach PROFIenergy Spezifikation. |
|||
|
Result |
BYTE |
147.0 |
PEErrorCode nach PROFIenergy Spezifikation. |
|||
|
PauseTime (1) |
TIME |
148.0 |
Enthält die Pausenzeit in ms. |
|||
|
TimeToPause |
TIME |
152.0 |
Enthält die Zeit, die das Device benötigt, um in den Pause-Modus zu gelangen. |
|||
|
TimeToOperate |
TIME |
156.0 |
Enthält die Zeit, die das Device benötigt, um in den Betriebsmodus zu gelangen. |
|||
|
MinSleepTime |
TIME |
160.0 |
Enthält die minimale Zeit des Devices im PE_SLEEP_MODE. |
|||
|
SleepToOperate |
TIME |
164.0 |
Enthält die Zeit, die das Device benötigt um vom PE_SLEEP_MODE betriebsbereit zu werden. |
|||
|
StatusOperate |
BOOL |
168.0 |
Zeigt den Betriebs-Modus des Device an. |
|||
|
StatusPause |
BOOL |
168.1 |
Zeigt den Pause Modus des Devices an. |
|||
|
StatusSleep |
BOOL |
168.2 |
Zeigt den PE_SLEEP_MODE des Device an. |
|||
|
StatusTransitOK |
BOOL |
168.3 |
Zeigt den Übergang von einem Energiezustand in einen anderen an. |
|||
|
StatusInTransit |
BOOL |
168.4 |
Zeigt einen aktuellen Zustandsübergang an. |
|||
|
StatusTransitNOK |
BOOL |
168.5 |
Zeigt an, dass der Zustandswechsel nicht erfolgreich war. |
|||
|
StatusError |
BOOL |
168.6 |
Zeigt einen Fehler mit dem Device an. |
|||
|
StatusRetryEx |
BOOL |
168.7 |
Zeigt eine nicht erfolgreiche Ausführung eines Kommandos an. Es wird nicht mehr versucht, dieses Kommando erneut auszuführen. |
|||
|
CmdStartPause (1) |
BOOL |
169.0 |
Platziert ein START_PAUSE Kommando für dieses Device in die Warteschleife. |
|||
|
CmdEndPause (1) |
BOOL |
169.1 |
Platziert ein END_PAUSE Kommando für dieses Device in die Warteschleife. |
|||
|
CmdUpdateStatus (1) |
BOOL |
169.2 |
Platziert ein PEM_STATUS Kommando für dieses Device in die Warteschleife. |
|||
|
EnableSleep (1) |
BOOL |
169.3 |
Erlaubt den PE_SLEEP_MODE für dieses Device.
|
|||
|
Services |
WORD |
170.0 |
Zeigt alle unterstützten PROFIenergy Services an. |
|||
|
UserData (2) |
ARRAY[1..24] OF BYTE |
172.0 |
Nutzer definierte Daten |
|||
|
Task |
STRUCT |
196.0 |
Auftragsbearbeitung |
|||
|
Cmd |
BYTE |
196.0 |
Interne Bits für die Auftragsbearbeitung |
|||
|
CmdJ |
BYTE |
197.0 |
Internal Bits für die Auftragsbearbeitung |
|||
|
TimeStart |
BOOL |
198.0 |
Startet eine Verzögerungszeit. |
|||
|
TimeStarted |
BOOL |
198.1 |
Die Verzögerungszeit wurde gerade gestartet. |
|||
|
TimeDone |
BOOL |
198.2 |
Zeigt den Ablauf der Verzögerungszeit an. |
|||
|
Done |
BOOL |
198.3 |
Zeigt an, dass dieser Auftrag beendet wird. |
|||
|
DelayedCmd |
BOOL |
198.4 |
Zeigt an, dass ein verzögertes Kommando noch ansteht. |
|||
|
IsV1_0 |
BOOL |
198.5 |
Zeigt an, dass dieses Gerät ein Spec. V1.0 Gerät ist. |
|||
|
IsWakeOnLAN |
BOOL |
198.6 |
Zeigt an, dass dieses Gerät per "Wake On LAN" geweckt wird. |
|||
|
RetryCount |
BYTE |
199.0 |
Wiederholungszähler für PE_COMMANDS |
|||
|
Duration |
TIME |
200.0 |
Enthält den Zeitwert für die Verzögerung in ms. |
|||
|
StartTime |
TIME |
204.0 |
Enthält den Startzeitpunkt der Verzögerungszeit. |
|||
|
MachineState |
INT |
208.0 |
Enthält den internen Status des Auftrags. |
|||
|
(1) Durch den Anwender zu befüllen. (2) Für den Anwender frei verwendbar. |
||||||