Este bloque de funciones copia los datos de la memoria en un archivo y viceversa. El archivo se encuentra en el sistema de archivos interno o en un sistema de archivos externo (tarjeta SD).
El bloque de funciones DataFileCopy puede:
Leer datos de un archivo formateado.
Copiar los datos de la memoria en un archivo formateado. Para obtener más información, consulte Non-Volatile Memory Organization.
Nombre de biblioteca: PLCSystemBase
Espacio de nombres: PLCSystemBase
Para ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.
En esta tabla se describen las variables de entrada:
Entrada |
Tipo |
Comentario |
---|---|---|
xExecute |
BOOL |
En el flanco ascendente, inicia la ejecución del bloque de funciones. En el flanco descendente, restablece las salidas del bloque de funciones cuando finaliza cualquier ejecución en curso.
NOTA: Con el flanco descendente, la función continúa hasta que concluye su ejecución y actualiza sus salidas. Las salidas se conservan durante un ciclo y se restablecen.
|
sFileName |
STRING |
Nombre de archivo sin extensión (la extensión .DTA se agrega automáticamente). Utilice solamente caracteres alfanuméricos (mayúsculas, minúsculas o números). |
xRead |
BOOL |
TRUE: copiar datos del archivo identificado por sFileName en la memoria interna del controlador. FALSE: copiar datos de la memoria interna del controlador en el archivo identificado por sFileName. |
xSecure |
BOOL |
TRUE: la dirección MAC siempre se almacena en el archivo. Solo un controlador con la misma dirección MAC podrá leer el archivo. FALSE: otro controlador con el mismo tipo de memoria puede leer desde el archivo. |
iLocation |
INT |
0: la ubicación del archivo en el sistema de archivos interno es /usr/DTA. 1: la ubicación del archivo en el sistema de archivos externo (tarjeta SD) es /usr/DTA.
NOTA: Si el archivo no existe todavía en el directorio, se creará.
|
uiSize |
UINT |
Indica el tamaño en bytes. El máximo son 65 534 bytes. Utilice solamente direcciones de variables conformes con IEC 61131-3 (variables, matrices, estructuras); por ejemplo:
|
dwAdd |
DWORD |
Indica la dirección de la memoria desde la que leerá o en la que escribirá la función. Utilice solamente direcciones de variables conformes con IEC 61131-3 (variables, matrices, estructuras); por ejemplo:
|
ADVERTENCIA | |
---|---|
En esta tabla se describen las variables de salida:
Salida |
Tipo |
Comentario |
---|---|---|
xDone |
BOOL |
|
xBusy |
BOOL |
|
xError |
BOOL |
|
eError |
Indica el tipo de error de copia de archivo de datos que se ha detectado. |
En este ejemplo se describe cómo copiar comandos de archivo:
VAR
LocalArray : ARRAY [0..29] OF BYTE;
myFileName: STRING := 'exportfile';
EXEC_FLAG: BOOL;
DataFileCopy: DataFileCopy;
END_VAR
DataFileCopy(
xExecute:= EXEC_FLAG,
sFileName:= myFileName,
xRead:= FALSE,
xSecure:= FALSE,
iLocation:= DFCL_INTERNAL,
uiSize:= SIZEOF(LocalArray),
dwAdd:= ADR(LocalArray),
xDone=> ,
xBusy=> ,
xError=> ,
eError=> );