FP_OPERATION_RECORDING_WRITE_TO_SD

Escribir el registro de operaciones en la tarjeta SD

Esta instrucción FP escribe los datos registrados por la función de grabación de operaciones del número de configuración especificado por s1_nNumber en un archivo CSV, que se guarda en la carpeta OPH0OPH7 (dependiendo del número de configuración utilizado) de la tarjeta SD. Esta carpeta se crea automáticamente en la tarjeta SD.

Parámetros

Entrada

s1_nNumber (ANY16)

Especifica el número de configuración en el rango de 0-7

s2_bTimeDescending (BOOL)

Especifica si los registros deben escribirse en orden creciente o decreciente de su marca de tiempo:

  • FALSE: creciente

  • TRUE: decreciente

s3_nLanguage (ANY16)

Especifica el número de idioma definido en la configuración de la Operación de grabación:

  • 0: idioma 0

  • 1: idioma 1

s4_bClearRecordedDataAfterWriting (BOOL)

Especifica el comportamiento después de escribir en la tarjeta SD:

  • FALSE: los datos registrados no se borran

  • TRUE: los datos registrados se borran

Observaciones

  • Cuando se ejecuta esta instrucción, la variable del sistema sys_bIsSDMemoryAccessActive pasa a TRUE. Cuando la escritura en la tarjeta SD ha terminado, sys_bIsSDMemoryAccessActive pasa de nuevo a FALSE.

  • Cuando se ejecuta esta instrucción, la variable del sistema sys_bIsSDMemoryAccessDone pasa a FALSE. Cuando los datos grabados se han escrito en la tarjeta SD, sys_bIsSDMemoryAccessDone pasa de nuevo a TRUE.

  • Cuando esta instrucción se ha ejecutado con éxito, la variable del sistema sys_bIsSDMemoryAccessError se ajusta a FALSE. Si la escritura en la tarjeta SD de los datos grabados no ha tenido éxito, sys_bIsSDMemoryAccessError se ajusta a TRUE.

  • En lugar de utilizar esta instrucción, también se puede enviar el comando desde una página web creada con Control Web Creator. Para ampliar la información consultar el Manual del Web Server.

Banderas de error

sys_bIsOperationErrorHold (pasa a TRUE y permanece TRUE)
  • si se ha especificado un número de configuración no establecido.

  • si el número de configuración especificado está fuera del rango permitido

  • si el área especificada utilizando el modificador índice supera el límite.

  • Si el valor especificado para un parámetro está fuera del rango permitido.

sys_bIsOperationErrorNonHold (pasa a TRUE para un ciclo de scan)
  • si se ha especificado un número de configuración no establecido.

  • si el número de configuración especificado está fuera del rango permitido

  • si el área especificada utilizando el modificador índice supera el límite.

  • Si el valor especificado para un parámetro está fuera del rango permitido.

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
		bWrite: BOOL:=FALSE;
	END_VAR

Cuerpo LD

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 7 ;
        NETWORK_BODY
B(B_CONTACT,,bWrite,5,1,7,3,R);
B(B_F,FP_OPERATION_RECORDING_WRITE_TO_SD!,,14,0,34,7,,?DEN?Ds1_nNumber?Ds2_bTimeDescending?Ds3_nLanguage?Ds4_bClearRecordedDataAfterWriting?AENO);
B(B_VARIN,,0,12,2,14,4,);
B(B_VARIN,,FALSE,12,3,14,5,);
B(B_VARIN,,1,12,4,14,6,);
B(B_VARIN,,TRUE,12,5,14,7,);
L(1,0,1,7);
L(1,2,5,2);
L(7,2,14,2);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY
    END_NET_WORK
END_BODY

Cuerpo en ST

If DF(bWrite) Then
    FP_OPERATION_RECORDING_WRITE_TO_SD(s1_nNumber := 0, s2_bTimeDescending := FALSE,
                                       s3_nLanguage := 1, s4_bClearRecordedDataAfterWriting := TRUE);
End_if;

Modificado el: 2023-03-22Comentarios sobre esta páginaLínea directa de Panasonic