PE_CMD: Energiesparmodus starten und beenden / Zustandsinformationen auslesen (S7-300, S7-400) - STEP 7

Erweiterte Anweisungen (S7-300, S7-400)

ft:publication_title
Erweiterte Anweisungen (S7-300, S7-400)
Product
STEP 7
Version
V20
Publication date
11/2024
Language
de-DE
PE_CMD: Energiesparmodus starten und beenden / Zustandsinformationen auslesen

Beschreibung

Die Anweisung "PE_CMD" wird im PE-Controller verwendet und löst in der PE-Entity eine Energiesparpause aus oder beendet eine Pause. Zusätzlich können mit "PE_CMD" weitere Informationen und Energiemesswerte aus einer PE-Entity ausgelesen werden.

Die Anweisung kann vorzugsweise bei PE-Controllern eingesetzt werden, an deren zugeordneten PE-Devices Feldgeräte angeschlossen sind, von denen Energiemesswerte ausgelesen werden sollen. Ist dies nicht der Fall, kann zum starten und beenden der Pausen auch die Anweisung "PE_START_END" verwendet werden.

Übertragung der PROFIenergy-Kommandos (PE-Kommandos)

Die Anweisung "PE_CMD" überträgt ein PROFIenergy-Kommando an eine PE-Entity.

Die Anweisung kann auch eingesetzt werden, wenn das PROFIenergy-Profil zukünftig um weitere Kommandos erweitert wird. Die Kommandos, die nach dem aktuellen PROFIenergy-Profil verwendet werden können, sind in der Beschreibung der Parameter CMD und CMD_MODIFIER aufgelistet (siehe Tabelle "Parameter CMD und CMD_MODIFIER").

  • Den einzelnen PE-Kommandos, die mit der Anweisung an die PE-Entity übertragen werden, sind definierte "Service_Request_IDs" zugeordnet. Die Service_Request_IDs 01...05 und 16 werden am Parameter CMD zugewiesen.

  • Über den Parameter CMD_MODIFIER werden die beiden PE-Kommandos 04 (Query_Modes) und 16 (Query_Measurement) näher spezifiziert.

  • Für einzelne PE-Kommandos werden am Parameter CMD_PARA zusätzliche Werte übergeben (siehe Beschreibung der einzelnen PE-Kommandos). Der Parameter CMD_PARA_LEN legt die Länge der Daten am Parameter CMD_PARA fest.

Die Kommandos werden ohne Plausibilitätstest übertragen. Die Antwortdaten der PE-Entity werden in dem durch ANY-Zeiger adressierten Datenbereich RESPONSE_DATA abgelegt (die Inhalte der Antworttelegramme sind in den Beschreibungen des jeweiligen PE-Kommandos enthalten).

Schreib- und Leseaufträge der Anweisung "PE_CMD"

Die Anweisung "PE_CMD" versendet mittels "WRREC" einen PROFIenergy-Befehl als Schreibauftrag an die PE-Entity. Anschließend wartet "PE_CMD" auf die Quittung der PE-Entity. Dazu wird alle 100 Millisekunden der Quittungsdatensatz mit der Anweisung "RDREC" gelesen. Solange keine Quittung der PE-Entity eingetroffen ist, wird der Leseauftrag für 10 Sekunden im Abstand von jeweils 100 Millisekunden wiederholt. Die Antwortdaten der PE-Entity werden ebenfalls mit der Anweisung "RDREC" gelesen.

Die folgende Abbildung zeigt das Ablaufdiagramm der Schreib- und Leseaufträge:

Parameter

Die folgende Tabelle zeigt die Parameter der Anweisung "PE_CMD":

Parameter

Deklaration

Datentyp

Speicherbereich

Beschreibung

REQ

Input

BOOL

E, A, M, D, L

Startet die Übertragung des PE- Kommandos bei positiver Flanke.

ID

Input

DWORD

E, A, M, D, L oder Konstante

Adresse der PE-Entity

Die Adresse kann bei einem PROFINET-IO Device aus der Hardware-Konfiguration übernommen werden.

CMD

Input

BYTE

E, A, M, D, L, P oder Konstante

Service-Request-ID des PROFIenergy-Kommandos entsprechend dem PROFIenergy-Profil (siehe "Parameter CMD und CMD_MODIFIER").

Nach Erweiterungen des PROFIenergy-Profils sind weitere Service-Request-IDs möglich.

CMD_MODIFIER

Input

BYTE

E, A, M, D, L, P oder Konstante

PROFIenergy-Unterkommando

(nur bei CMD=3 oder CMD=16, siehe "Parameter CMD und CMD_MODIFIER")

Nach Erweiterungen des PROFIenergy-Profils sind weitere Unterkommandos möglich.

CMD_PARA

Input

ANY

E, A, M, D, L

Parameter für die PE-Kommandos:

  • Get mode: PE_mode_ID

  • Get measurement values: List of Measurement_Ids

Es wird der komplette Service Data Request eingetragen.

CMD_PARA_LEN

Input

INT

E, A, M, D, L, P oder Konstante

Tatsächliche Länge der Parameter zu dem Kommando (<= Länge in CMD_PARA, wird von der Anweisung geprüft).

RESPONSE_DATA

InOut

ANY

E, A, M, D, L

PROFIenergy-Information

Je nach Kommando gesamtes Antwort-Telegramm einschließlich Block-Header.

Hinweis: Wenn der Puffer zu klein ist, werden nur die Anzahl Bytes eingetragen, wie im ANY-Zeiger angegeben.

VALID

Output

BOOL

E, A, M, D, L

Kommando erfolgreich abgesetzt.

BUSY

Output

BOOL

E, A, M, D, L

Kommandobearbeitung läuft noch.

ERROR

Output

BOOL

E, A, M, D, L

Bei der Bearbeitung trat ein Fehler auf.

STATUS

Output

DWORD

E, A, M, D, L

Bausteinstatus / Fehlernummer (siehe "Parameter STATUS"):

Weitere Informationen zu den gültigen Datentypen finden Sie unter "Übersicht über die gültigen Datentypen".

Parameter CMD und CMD_MODIFIER

CMD

CMD_
MODIFIER

PROFIenergy-Kommando

Beschreibung

01

0

Start_Pause

Starten des Energiesparmodus oder Wechsel in einen anderen Energiesparmodus.

02

0

End_Pause

Beenden des Energiesparmodus.

03

1

Query_Modes - List energy saving Modes

Ausgeben der unterstützten Energiesparmodi.

2

Query_Modes - Get Mode

Attribute zu dem momentan aktivierten Energiesparmodus ausgeben.

04

0

PEM_Status

Status des Energiesparmodus abfragen.

05

0

PE_Identify

Anzahl und die Beschreibung der unterstützten PE-Kommandos auslesen.

16

1

Query_Measurement - Get_Measurement_List

Auflistung der durch die PE-Entity unterstützten Messwerte.

2

Query_Measurement - Get_Measurement_Values

Ausgabe der Messwerte der PE-Entity.

Parameter STATUS

Am Ausgangsparameter STATUS werden Fehlerinformationen ausgegeben. Wird er als ARRAY[1...4] of BYTE interpretiert, hat die Fehlerinformation folgende Struktur:

Feldelement

Name

Bedeutung

STATUS[1]

Function_Num

Fehlerursache

  • B#16#00: Kein Fehler

  • B#16#DE: Fehler beim Lesen des Datensatzes

  • B#16#DF: Fehler beim Schreiben des Datensatzes

  • B#16#C0: Fehlermeldung der intern verwendeten Kommunikationsanweisungen "RDREC" und "WRREC".

STATUS[2]

Error_Decode

Ort der Fehlerkennung

  • 80: DPV1-Fehler nach Norm IEC 61158-6 oder anweisungsspezifisch

  • FE: DP/PNIO-Profile - PROFIenergy-spezifischer Fehler

STATUS[3]

Error_Code_1

Fehlerkennung

  • Bei Error_Decode = 80:

    • 81: Längenkonflikt bei den Parametern CMD_PARA und CMD_PARA_LEN bzw. maximale Datensatzlänge (4095 Byte) überschritten.

    • 82-8F: weitere Fehlermeldungen (reserviert)

  • Bei Error_Decode = FE:

    • 01: "Service Request ID" ungültig

    • 02: Falsche "Request_Reference"

    • 03: "Modifier" ungültig

    • 04: "Data Structure Identifier RQ" ungültig

    • 05: "Data Structure Identifier RS" ungültig

    • 06: "PE energy-saving modes" werden nicht unterstützt

    • 07: "Response" ist zu lange (die maximal übertragbare Länge wurde überschritten)

    • 08: "Count" ungültig

    • 50: Es steht kein passender Energiesparmodus (energy mode) zur Verfügung.

    • 51: Angegebener Zeitwert wird nicht unterstützt.

    • 52: "PE_Mode_ID" ungültig

STATUS[4]

Error_Code_2

herstellerspezifische Erweiterung der Fehlerkennung

Hinweis

Fehlermeldungen der Anweisungen RDREC und WRREC

Die Anweisungen "PE_CMD" verwenden zur Kommunikation die Anweisungen "WRREC" und "RDREC". Fehlermeldungen dieser Anweisungen werden entsprechend in den Feldelementen STATUS[1] bis STATUS[4] ausgegeben.

Zur Bedeutung der Fehlercodes der Anweisungen "WRREC" und "RDREC" siehe Beschreibung des entsprechenden Parameters STATUS.