FP_HTTP_TRANSFER_REQUEST

Requête de transfert HTTP

Cette instruction FP envoie une requête au client HTTP spécifié par nTransferID pour démarrer le transfert.

Paramètres

Entrée

nTransferID (WORD, INT, UINT)

Définir l’ID du client HTTP

Valeurs : 0–15

Sortie

bError (BOOL)

Devient TRUE dans les conditions suivantes :

  • Si le temps d’attente de connexion est dépassé.

  • Si une adresse IP est invalide.

    Lorsqu’une erreur apparaît, utilisez la variable système sys_iEthernetConnectionErrorCode pour connaître le numéro de code d’erreur.

Remarques

  • Cette instruction n’est pas disponible dans les programmes d’interruption.

  • Avant d’exécuter l’instruction, les paramètres de transfert doivent être entrés à l’aide de FP_HTTP_SET_MODE ou de la boîte de dialogue de paramétrage du client HTTP.

  • Avant d’exécuter l’instruction, vérifiez que la variable système sys_bIsEthernetHTTPClientReady est TRUE. Si elle est FALSE pendant l’exécution de l’instruction, une erreur d’opération apparaît.

  • Avant d’exécuter l’instruction, vérifiez que sys_bIsEthernetInitializing est FALSE. sys_bIsEthernetInitializing passe à TRUE lorsque l’instruction est exécutée. Lorsque l’instruction est exécutée alors que sys_bIsEthernetInitializing est TRUE, une erreur apparaît.

  • L’instruction ne peut être exécutée que lorsque sys_bIsEthernetCableNotConnected est FALSE.

  • L’instruction ne peut être exécutée que lorsque le drapeau de requête de transfert pour la configuration de transfert spécifiée est "FALSE : Pas de requête de transfert". Lorsque le drapeau de requête de transfert est "TRUE : Requête de transfert", une erreur d’opération apparaît.

  • Lorsque l’instruction a été exécutée avec succès, les variables système sys_bIsCarry et sys_iEthernetConnectionErrorCode sont réinitialisées.

  • Lorsque vous essayez d’exécuter l’instruction dans une des conditions suivantes, une erreur de transfert apparaît et le code d’erreur est sauvegardé.

    État

    Code

    Serveur de destination non défini.

    1

    Paramètres de transfert non définis.

    2

    Échec de l’enregistrement d’une requête de process.

    4

    Transfert désactivé

    5

    Échec de la décompression des données. (lors d’un accès des données avec PUT)

    8

    Échec de la décompression des données. (lors d’un accès des données avec GET)

    9

  • Lorsqu’une erreur apparaît, utilisez la variable système sys_iEthernetConnectionErrorCode pour connaître le numéro de code d’erreur.

Drapeaux d’erreur

sys_bIsOperationErrorHold (passe à TRUE et reste TRUE)
  • Si la zone spécifiée à l’aide du modificateur d’adresse est en dehors des limites autorisées.

  • Si une valeur spécifiée pour un paramètre est en dehors de l’intervalle autorisé.

  • Si l’instruction est exécutée dans un programme d’interruption..

  • Si la variable système sys_bIsEthernetHTTPClientReady est FALSE lorsque l’instruction est exécutée.

  • Si le drapeau de requête de transfert pour la configuration de transfert spécifiée est "TRUE : Requête de transfert" lorsque l’instruction est exécutée.

  • Si un paramètre de transfert spécifié n’a pas été configuré avec l’instruction FP_HTTP_SET_MODE ou avec la boîte de dialogue de paramétrage du client HTTP.

sys_bIsOperationErrorNonHold (passe à TRUE pendant un cycle)
  • Si la zone spécifiée à l’aide du modificateur d’adresse est en dehors des limites autorisées.

  • Si une valeur spécifiée pour un paramètre est en dehors de l’intervalle autorisé.

  • Si l’instruction est exécutée dans un programme d’interruption..

  • Si la variable système sys_bIsEthernetHTTPClientReady est FALSE lorsque l’instruction est exécutée.

  • Si le drapeau de requête de transfert pour la configuration de transfert spécifiée est "TRUE : Requête de transfert" lorsque l’instruction est exécutée.

  • Si un paramètre de transfert spécifié n’a pas été configuré avec l’instruction FP_HTTP_SET_MODE ou avec la boîte de dialogue de paramétrage du client HTTP.

sys_bIsCarry (passe à TRUE pendant un cycle)
  • Si l’instruction est exécutée alors que le câble Ethernet est déconnecté. sys_iEthernetConnectionErrorCode est définie sur "10 : câble Ethernet déconnecté".

  • Si l’instruction est exécutée pendant l’initialisation d’Ethernet, sys_iEthernetConnectionErrorCode est définie sur "11 : initialisation Ethernet en cours".

Exemple

En-tête du POU

Toutes les variables d’entrée et de sortie utilisées pour programmer cette fonction ont été déclarées dans l’en-tête du POU. Le même en-tête de POU est utilisé pour tous les langages de programmation.

	VAR
		iID10: INT:=10;
		bTransferRequestError: BOOL:=FALSE;
		bTransferRequest: BOOL:=FALSE;
	END_VAR

Corps du POU

Lorsque bTransferRequest passe de FALSE à TRUE et lorsque la variable système sys_bIsEthernetHTTPClientReady est TRUE, l’instruction est exécutée. Une requête de transfert HTTP est envoyée pour l’unité Ethernet 5.

Corps en 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

Corps en ST

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

Modifié le : 2024-10-08Commentaires sur cette pageAssistance téléphonique