FP_FTP_TRANSFER_CONTROL

Control de la transferencia FTP a una sola unidad Ethernet

Esta instrucción FP controla la transferencia FTP a una sola unidad Ethernet especificada por nTransferID (0–15). Las palabras de control válidas son 'ENABLE', 'DISABLE' y 'CANCEL'.

Parámetros

Entrada

nTransferID (INT)

ID de la unidad Ethernet (valores: 0–15)

sControl (STRING)

Control trama de caracteres:

  • 'ENABLE': habilita la transferencia de archivos a la unidad Ethernet

  • 'DISABLE': deshabilita la transferencia de archivos a la unidad Ethernet

  • 'CANCEL': cancela la transferencia de archivos a la unidad Ethernet

Salida

bError (BOOL)

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.

Observaciones

  • 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.

  • 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.

  • Antes de ejecutar la instrucción, necesita especificar la configuración de transferencia utilizando FP_FTP_SET_MODE 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.

  • 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.

Banderas de error

sys_bIsOperationErrorHold (pasa a TRUE y permanece TRUE)
  • 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 que no ha sido configurado con FP_FTP_SET_MODE o en el diálogo de configuración del cliente FTP.

sys_bIsOperationErrorNonHold (pasa a TRUE para un ciclo de scan)
  • 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 que no ha sido configurado con FP_FTP_SET_MODE o en el diálogo de configuración del cliente FTP.

sys_bIsCarry (pasa a TRUE para un ciclo de scan)
  • si la instrucción se ejecuta durante la inicialización de Ethernet, sys_iEthernetConnectionErrorCode pasa a "11: Ethernet se está inicializando".

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
		bEnableFTP: BOOL:=FALSE;
		bDisableTransferError: BOOL:=FALSE;
		iID10: INT:=10;
	END_VAR

Cuerpo de la POU

Si bEnableFTP cambia de FALSE a TRUE, se ejecuta la instrucción. La palabra de control 'ENABLE' habilita la transferencia FTP para la unidad Ethernet 10.

Cuerpo LD

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
B(B_VARIN,,iID10,10,2,12,4,);
B(B_VARIN,,'ENABLE',10,3,12,5,);
B(B_VAROUT,,bEnableTransferError,27,2,29,4,);
B(B_CONTACT,,bEnableFTP,4,1,6,3,R);
B(B_F,FP_FTP_TRANSFER_CONTROL!,,12,0,27,5,,?DEN?DnTransferID?DsControl?AENO?CbError);
L(1,2,4,2);
L(6,2,12,2);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Cuerpo en ST

If DF(bDisableAll) then
    FP_FTP_TRANSFER_CONTROL(nTransferID := iID10,
                            sControl := 'ENABLE',
                            bError => bError);
End_if;
If DF(bDisableAll) then
    FP_FTP_TRANSFER_CONTROL(nTransferID := iID10,
                            sControl := 'ENABLE',
                            bError => bError);
End_if;

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