FP_HTTP_TRANSFER_REQUEST

Solicitud de transferencia HTTP

Esta instrucción FP envía una solicitud al cliente HTTP especificado en nTransferID para iniciar la transferencia.

Parámetros

Entrada

nTransferID (WORD, INT, UINT)

Establecer el ID del cliente HTTP

Valores: 0–15

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

  • Esta instrucción no está disponible en los programas de interrupción.

  • Antes de ejecutar la instrucción, necesita especificar la configuración de transferencia utilizando FP_HTTP_SET_MODE o el diálogo de configuración del cliente HTTP.

  • Antes de ejecutar la instrucción, comprobar si la variable del sistema sys_bIsEthernetHTTPClientReady es TRUE. Si es FALSE al ejecutar la instrucción, se producirá un error.

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

  • La instrucción solo puede ejecutarse cuando sys_bIsEthernetCableNotConnected es FALSE.

  • La instrucción solo puede ejecutarse cuando la bandera de solicitud de transferencia para el ajuste de transferencia especificado es "FALSE: Ninguna solicitud de transferencia". Cuando la bandera de solicitud de transferencia es "TRUE: Transferencia solicitada", se produce un error de operación.

  • Cuando esta instrucción se ha ejecutado con éxito, las variables del sistema sys_bIsCarry y sys_iEthernetConnectionErrorCode se reinician.

  • Cuando se intenta ejecutar la instrucción bajo una de las siguientes condiciones, se produce un error de transferencia y el código de error se guarda.

    Estado

    Código

    El servidor de destino no está configurado.

    1

    La configuración de transferencia no se ha establecido.

    2

    El registro de una solicitud de proceso ha fallado.

    4

    La transferencia ha sido deshabilitada

    5

    La descompresión de datos ha fallado. (al acceder a los datos con PUT)

    8

    La descompresión de datos ha fallado. (al acceder a los datos con GET)

    9

  • 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 el área especificada utilizando el modificador índice supera el límite.

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

  • si la instrucción se ejecuta en un programa de interrupción.

  • Si la variable del sistema sys_bIsEthernetHTTPClientReady es FALSE cuando se ejecuta la instrucción.

  • Si la bandera de solicitud de transferencia para la configuración de transferencia especificada es "TRUE: Transferencia solicitada" cuando se ejecuta la instrucción.

  • Si se especifica un ajuste de transferencia que no ha sido configurado con FP_HTTP_SET_MODE o en el diálogo de configuración del cliente HTTP.

sys_bIsOperationErrorNonHold (pasa a TRUE para un ciclo de scan)
  • 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.

  • si la instrucción se ejecuta en un programa de interrupción.

  • Si la variable del sistema sys_bIsEthernetHTTPClientReady es FALSE cuando se ejecuta la instrucción.

  • Si la bandera de solicitud de transferencia para la configuración de transferencia especificada es "TRUE: Transferencia solicitada" cuando se ejecuta la instrucción.

  • Si se especifica un ajuste de transferencia que no ha sido configurado con FP_HTTP_SET_MODE o en el diálogo de configuración del cliente HTTP.

sys_bIsCarry (pasa a TRUE para un ciclo de scan)
  • Si la instrucción se ejecuta mientras el cable Ethernet está desconectado. sys_iEthernetConnectionErrorCode pasa a "10: Cable Ethernet desconectado".

  • 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
		iID10: INT:=10;
		bTransferRequestError: BOOL:=FALSE;
		bTransferRequest: BOOL:=FALSE;
	END_VAR

Cuerpo de la POU

Si bTransferRequest cambia de FALSE a TRUE, y la variable del sistema sys_bIsEthernetHTTPClientReady está a TRUE, se ejecuta la instrucción. Se solicita la transferencia HTTP para la unidad Ethernet 5.

Cuerpo LD

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 4 ;
        NETWORK_BODY
B(B_CONTACT,,bTransferRequest,5,1,7,3,R);
B(B_VAROUT,,bTransferRequestError,40,2,42,4,);
B(B_VARIN,,iID5,23,2,25,4,);
B(B_CONTACT,,sys_bIsEthernetHTTPClientReady,16,1,18,3,);
B(B_F,FP_HTTP_TRANSFER_REQUEST!,,25,0,40,4,,?DEN?DnID?AENO?CbError);
L(1,2,5,2);
L(7,2,16,2);
L(18,2,25,2);
L(1,0,1,4);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Cuerpo en ST

if DF(bTransferRequest) AND sys_bIsEthernetHTTPClientReady then
    FP_HTTP_TRANSFER_REQUEST(nTransferID := iID10,
                            bError => bTransferRequestError);
End_if;

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