P13_EPWT

EEPROM-Speicher beschreiben

Mit diesem Befehl wird ein Bereich aus dem Datenspeicher (DT) in das EEPROM/ Flash-ROM kopiert.

Parameter

Eingang

EN (BOOL)

Aktivierung der Funktion (wenn EN den Status TRUE hat, wird die Funktion einmalig ausgeführt)

s1_Start (WORD, INT, UINT)

DT-Anfangsadresse des/der zu speichernden Blocks

s2_Number (DWORD, DINT, UDINT, DATE, TOD, DT)

Zahl der zu schreibenden Blöcke. Die Blockgröße beträgt je nach SPS-Typ 64 oder 2048 Datenregister (siehe folgende Tabelle "SPS-spezifische Daten").

d_Start (DWORD, DINT, UDINT, DATE, TOD, DT)

EEPROM Startblock-Nummer

Ausgang

ENO (BOOL)

Wenn die Funktion ausgeführt wurde, wird ENO auf TRUE gesetzt. Das ist nützlich, um mehrere Funktionen mit EN-Funktionalität zu kaskadieren

Anmerkungen

Der EEPROM-Speicher ist nicht mit dem selbsthaltenden Speicherbereich zu verwechseln. Der selbsthaltende Speicherbereich sichert Daten in Echtzeit. Bei Stromausfall werden die Daten aus dem selbsthaltenden Speicherbereich im EEPROM gespeichert. Der Befehl P13_EPWT sendet nur dann Daten an das EEPROM, wenn er ausgeführt wird. Dieser Befehl kann nur begrenzt oft Daten in das EEPROM schreiben (siehe Tabelle unten). Stellen Sie sicher, dass der Befehl P13_EPWT nicht öfter ausgeführt wird, als die angegebene Zahl von Speichervorgängen zulässt.

Wenn Sie zum Beispiel den Befehl P13_EPWT mit einem R901A-Merker (Impulszeit 0,1s) ausführen, wird das EEPROM nach 100000 * 0,1s=10000s (2,8 Stunden) funktionsunfähig. Wenn Sie jedoch Profildaten wie Positionierungsparameter oder andere Parameterwerte, die selten geändert werden, speichern möchten, ist dieser Befehl sehr nützlich.

Anmerkung

Einer der beiden Eingangsvariablen s2_Number oder d_Start muss ein konstanter Zahlenwert sein.

SPS-spezifische Daten

SPS-Typ

FP0 2,7k C10/C14/C1, FP-e

FP0 5k C32

FP0 10k T32CP

FP-Sigma, FP-X, FP0R

FP0H

ROM

EEPROM

EEPROM

EEPROM

Flash-ROM

Flash-ROM

Blockgröße (1 Block)

64 Worte (64x16 Bit)

64 Worte (64x16 Bit)

64 Worte (64x16 Bit)

2048 Worte (2048x16 Bit)

2048 Worte (2048x16 Bit)

EEPROM Startblock-Nummer

0 bis 9

0 bis 95

0 bis 255

0 bis 15

0 bis 31

Anzahl der zu lesenden / schreibenden Blocks pro Ausführung

1 bis 2

1 bis 8

1 bis 255

1 (schreiben)

1 bis 16 (lesen)

1 (schreiben)

1 bis 32 (lesen)

Schreibdauer (zusätzliche Zykluszeit)

< 20ms pro Block

< 5ms pro Block

< 5ms pro Block

< 100ms pro Block

< 100ms pro Block

Lesedauer (zusätzliche Zykluszeit)

Weniger als 1ms pro Block

Weniger als 1ms pro Block

Weniger als 1ms pro Block

9.94ms + (1562.6*Anzahl der Blocks) ms

 

Max. Anzahl an Schreibvorgängen

100000

10000

10000

10000

10000

Max Lesedauer

Keine Obergrenze

Keine Obergrenze

Keine Obergrenze

Keine Obergrenze

Keine Obergrenze

Anmerkung

Stromausfall und Wechsel von RUN-> in PROG-Modus werden mitgezählt.

Beispiel

POE-Kopf

Im POE-Kopf werden alle Ein- und Ausgangsvariablen deklariert, die für die Programmierung dieser Funktion verwendet werden. Für alle Programmiersprachen wird der gleiche POE-Kopf verwendet.

	VAR
		start: BOOL:=FALSE;
		@'data field': @'ARRAY (0..63] OF INT':=@'(1,2,3,4,5,6,7,8,9,10,11,12,52(0)]';
	END_VAR

POE-Rumpf

Wenn die Variable start von FALSE auf TRUE gesetzt wird, wird die Funktion ausgeführt.

Sie liest den Inhalt von Datenfeld[0] bis Datenfeld[63] (s2* = 1 => 1 Block = 64 Wörter) und schreibt die Information ab Startblock Nummer 0 in das EEPROM.

KOP-Rumpf

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 6 ;
        NETWORK_BODY
B(B_F,P13_EPWT!,Instance,11,0,19,6,,?DEN?Ds1_Start?Ds2_Number?Dd_Start?AENO);
B(B_VARIN,,DataField[0],9,2,11,4,);
B(B_VARIN,,1,9,3,11,5,);
B(B_VARIN,,0,9,4,11,6,);
B(B_CONTACT,,start,3,1,5,3,);
L(1,2,3,2);
L(5,2,11,2);
L(1,0,1,6);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

AWL-Rumpf

Letzte Änderung: 2024-08-02Feedback zu dieser SeitePanasonic Hotline