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:
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_ |
PROFIenergy-Kommando |
Beschreibung |
|---|---|---|---|
|
01 |
0 |
Starten des Energiesparmodus oder Wechsel in einen anderen Energiesparmodus. |
|
|
02 |
0 |
Beenden des Energiesparmodus. |
|
|
03 |
1 |
Ausgeben der unterstützten Energiesparmodi. |
|
|
2 |
Attribute zu dem momentan aktivierten Energiesparmodus ausgeben. |
||
|
04 |
0 |
Status des Energiesparmodus abfragen. |
|
|
05 |
0 |
Anzahl und die Beschreibung der unterstützten PE-Kommandos auslesen. |
|
|
16 |
1 |
Auflistung der durch die PE-Entity unterstützten Messwerte. |
|
|
2 |
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 |
|
STATUS[2] |
Error_Decode |
Ort der Fehlerkennung
|
|
STATUS[3] |
Error_Code_1 |
Fehlerkennung
|
|
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. |