Lectura desde memoria EEPROM
Utilizando esta instrucción de transferencia de datos se pueden copiar datos desde una EEPROM/ Flash-ROM en los DTs del PLC. La función se lleva a cabo copiando bloques. Por lo tanto no se pueden copiar palabras sueltas. El tamaño del bloque y el número de bloques se muestra en la tabla "información específica del PLC". Comprobar que al menos existen de 64 a 2048 registros de datos reservados para el área destino (1 bloque = 64/ 2048 palabras(DTs)).
Entrada
Activación de la función (si EN pasa a TRUE, la función se ejecutará en cada ciclo de scan del PLC)
Número del bloque inicial de la memoria EEPROM
Número de bloques a leer. 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")
Salida
Una vez ejecutado la 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.
DT a partir del cual se escriben los datos leídos
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 |
También cuenta apagar y cambiar de modo de RUN -> PROG.
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;
(*activates the instruction*)
datafield: ARRAY [0..63] OF INT:=[64(0)];
(*data field to be uploaded data from EEPROM*)
END_VAR
Cuando la variable start pasa de FALSE a TRUE, se ejecuta la función.
La función lee el primer bloque (= 64 palabras) a partir del bloque inicial número 0 de la EEPROM y escribe la información en el campo de datos desde datafield[0] hasta datafield[63].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,F12_EPRD!,Instance,8,1,16,6,,?DEN?Ds1_Start?Ds2_Number?AENO?Cd_Start);
B(B_VARIN,,0,6,3,8,5,);
B(B_VARIN,,1,6,4,8,6,);
B(B_VAROUT,,datafield[0],16,3,18,5,);
B(B_CONTACT,,start,3,2,5,4,);
L(5,3,8,3);
L(1,3,3,3);
L(1,0,1,6);
END_NETWORK_BODY
END_NET_WORK
END_BODY
LD |
start |
DF |
|
F12_EPRD |
0,1,datafield[0] |