Control de la transferencia FTP de los archivos de histórico de datos
Esta instrucción FP controla la transferencia FTP de un archivo de histórico de datos especificado por nLogID. Las palabras de control válidas son 'ENABLE'
, 'DISABLE'
y 'CANCEL'
.
Entrada
Número de LOG (rango permitido: 0–15). El compilador genera internamente la cadena para el número de archivo de registro, p. ej., 'LOG=0'
Control trama de caracteres:
'ENABLE'
: habilita la transferencia de archivos
'DISABLE'
: deshabilita la transferencia de archivos
'CANCEL'
: cancela la transferencia de archivos
Salida
Pasa a TRUE bajo las siguientes condiciones:
si se supera el tiempo de espera de la conexión
si la dirección IP no es válida
Cuando se produce un error, consulte la variable del sistema sys_iEthernetConnectionErrorCode para conocer el número de código de error.
El número de caracteres de los datos de cadena no debe superar los 256.
Esta instrucción no está disponible en los programas de interrupción.
Antes de ejecutar la instrucción, se deben especificar los ajustes de transferencia de los archivos de histórico de datos utilizando FP_FTP_SET_MODE_TRANSFER_LOG o el diálogo de configuración del cliente FTP.
Antes de ejecutar la instrucción, asegurarse de que sys_bIsEthernetInitializing es FALSE. sys_bIsEthernetInitializing pasa a TRUE cuando se ejecuta la instrucción. Cuando ejecuta la instrucción mientras sys_bIsEthernetInitializing es TRUE, se produce un error.
Se pueden utilizar caracteres en mayúsculas y minúsculas para los operandos en los que se puede especificar una constante de caracteres. "Abcd", "ABCD" y "abcd" son sinónimos, pero los nombres de archivo distinguen entre mayúsculas y minúsculas.
Cuando esta instrucción se ha ejecutado con éxito, las variables del sistema sys_bIsCarry y sys_iEthernetConnectionErrorCode se reinician.
El procesamiento de la solicitud de cancelación de la transferencia tarda algún tiempo. Comprobar el estado de transferencia con FP_FTP_GET_STATUS y verificar si la transferencia se detiene después de ejecutar la instrucción.
Cuando se produce un error, consulte la variable del sistema sys_iEthernetConnectionErrorCode para conocer el número de código de error.
Si se especifica cualquier cadena de control que no sea 'ENABLE'
, 'DISABLE'
o 'CANCEL'
para sControl.
si la instrucción se ejecuta en un programa de interrupción
Si el número de caracteres de los datos de cadena supera los 256.
si se especifica un ajuste de transferencia de archivos de histórico de datos que no ha sido configurado con la instrucción FP_FTP_SET_MODE_TRANSFER_LOG o en el diálogo de configuración del cliente FTP.
Si se especifica cualquier cadena de control que no sea 'ENABLE'
, 'DISABLE'
o 'CANCEL'
para sControl.
si la instrucción se ejecuta en un programa de interrupción
Si el número de caracteres de los datos de cadena supera los 256.
si se especifica un ajuste de transferencia de archivos de histórico de datos que no ha sido configurado con la instrucción FP_FTP_SET_MODE_TRANSFER_LOG o en el diálogo de configuración del cliente FTP.
si la instrucción se ejecuta durante la inicialización de Ethernet, sys_iEthernetConnectionErrorCode pasa a "11: Ethernet se está inicializando".
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
bSetLogTransferFTP: BOOL:=FALSE;
bIsError: BOOL:=FALSE;
bDisableLogTransferFTP: BOOL:=FALSE;
END_VAR
Si bSetLogTransferFTP y bDisableLogTransferFTP están a TRUE, se ejecuta la instrucción.
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_VARIN,,0,18,2,20,4,);
B(B_VARIN,,'SV0',18,3,20,5,);
B(B_VARIN,,'LogData',18,4,20,6,);
B(B_VAROUT,,bIsError,37,2,39,4,);
B(B_CONTACT,,bSetLogTransferFTP,5,1,7,3,);
B(B_F,FP_FTP_SET_MODE_TRANSFER_LOG!,,20,0,37,6,,?DEN?DnLogID?DsOperation?DsFTPServerDirectory?AENO?CbError);
L(1,2,5,2);
L(7,2,20,2);
L(1,0,1,6);
END_NETWORK_BODY
END_NET_WORK
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_CONTACT,,bDisableLogTransferFTP,5,1,7,3,);
B(B_VARIN,,0,18,2,20,4,);
B(B_VARIN,,'DISABLE',18,3,20,5,);
B(B_VAROUT,,bIsError,39,2,41,4,);
B(B_F,FP_FTP_TRANSFER_CONTROL_LOG!,,20,0,37,5,,?DEN?DnLogID?DsControl?AENO?AbError);
L(1,2,5,2);
L(37,3,39,3);
L(7,2,20,2);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
If (bSetLogTransferFTP) Then
FP_FTP_SET_MODE_TRANSFER_LOG(nLogID := 0, sOperation := 'SV0',
sFTPServerDirectory := 'LogData',
bError => bIsError);
End_if;
If (bDisableLogTransferFTP) Then
FP_FTP_TRANSFER_CONTROL_LOG(nLogID := 0, sControl := 'DISABLE', bError => bIsError);
End_if;