P13_EPWT

Escritura en memoria EEPROM

Utilizando esta instrucción de transferencia de datos se pueden copiar datos desde los DTs del PLC en una EEPROM/ Flash-ROM.

Parámetros

Entrada

EN (BOOL)

Activación de la función (si EN pasa de FALSE a TRUE, la función se ejecutará una vez)

s1_Start (WORD, INT, UINT)

DT inicial del bloque de datos a guardar en la memoria

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

Número de bloques a escribir. El tamaño del bloque es de 64 o 2048 registros de datos según el tipo de PLC (consultar la siguiente tabla "Información específica del PLC")

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

Número del bloque inicial de la memoria EEPROM

Salida

ENO (BOOL)

Una vez ejecutado el bloque de función, la salida ENO pasa a TRUE. Esta funcionalidad es de gran ayuda cuando se utilizan varias funciones en cascada con una entrada EN.

Observaciones

La memoria EEPROM no es lo mismo que el área de retención. El área de retención almacena los datos en tiempo real. Si se quita alimentación al sistema, los datos de retención se almacenan en la memoria EEPROM. La instrucción P13_EPWT envía datos a la EEPROM solamente cuando se ejecuta la instrucción. También tiene una limitación en cuanto al número de veces que se puede escribir (consultar la tabla de abajo). No se debe ejecutar la instrucción P13_EPWT más veces que el número de escrituras especificado en la tabla.

Por ejemplo, si se ejecuta la instrucción P13_EPWT con el relé R901A (pulso de reloj de 0,1 seg.), la EEPROM dejará de ser operativa después de 100.000 * 0,1 seg.=10.000 seg. (2,8 horas). Sin embargo, esta instruccuón es muy útil para almacenar datos que normalmente no se modifican como son los parámetros de posicionamiento o cualquier otro parámetro.

NOTA

Una de las dos variables de entrada s2_Number ó d_Start debe tener asignada un valor constante.

Información específica del PLC

Tipo de PLC

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

Tamaño del bloque (1 bloque)

64 palabras (64x16bit)

64 palabras (64x16bit)

64 palabras (64x16bit)

2048 palabras (2048x16bit)

2048 palabras (2048x16bit)

Número del bloque inicial de la memoria EEPROM

0 a 9

0 a 95

0 a 255

0 a 15

0 a 31

Número de bloques a leer/escribir en cada ejecución

de 1 a 2

de 1 a 8

de 1 a 255

1 (escritura)

de 1 a 16 (lectura)

1 (escritura)

de 1 a 32 (lectura)

Duración de la escritura (tiempo de scan adicional)

< 20mseg cada bloque

< 5mseg cada bloque

< 5mseg cada bloque

< 100mseg cada bloque

< 100mseg cada bloque

Duración de la lectura (tiempo de scan adicional)

Menos de 1 mseg. por bloque

Menos de 1 mseg. por bloque

Menos de 1 mseg. por bloque

9,94ms + (1562.6*número de bloques) ms

 

Máximo número de eventos de escritura

100.000

10.000

10.000

10.000

10.000

Máx. número de lecturas

Sin límite

Sin límite

Sin límite

Sin límite

Sin límite

NOTA

También cuenta apagar y cambiar de modo de RUN -> PROG.

Ejemplo

Cabecera de la POU

Todas las variables de entrada y de salida utilizadas para la programación de esta función han sido declaradas en la Cabecera de la POU. Se utiliza la misma cabecera de la POU para todos los lenguajes de programación.

	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

Cuerpo de la POU

Cuando la variable start pasa de FALSE a TRUE, se ejecuta la función.

Esta función lee el contenido desde data field[0] a data field[63] (s2* = 1 => 1 bloque = 64 palabras) y escribe la información en la memoria EEPROM a partir del bloque inicial 0.

Cuerpo LD

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

Cuerpo IL

Modificado el: 2024-08-02Comentarios sobre esta páginaLínea directa de Panasonic