FP_HTTP_TRANSFER_REQUEST

HTTP転送要求

このFP命令は、nTransferIDで指定されたHTTPクライアントの要求を送信して、転送を開始します。

パラメータ

入力

nTransferID (WORD, INT, UINT)

HTTPクライアントIDを設定します

値:0~15

出力

bError (BOOL)

以下の条件でTRUEになります。

  • 接続のタイムアウトが経過した場合

  • IPアドレスが無効な場合

    エラーが発生した場合は、エラーコード番号のシステム変数sys_iEthernetConnectionErrorCodeを確認してください。

解説

  • この命令は、割り込みプログラム中で使用することはできません。

  • 命令を実行する前に、FP_HTTP_SET_MODEまたはHTTPクライアントの設定ダイアログを使用して転送設定を指定する必要があります。

  • 命令実行前に、システム変数sys_bIsEthernetHTTPClientReadyTRUEになっていることを確認してください。FALSEのとき、命令を実行すると、エラーが発生します。

  • 命令を実行する前にsys_bIsEthernetInitializingFALSEであることを確認してください。命令が実行されるとsys_bIsEthernetInitializingTRUEになります。sys_bIsEthernetInitializingTRUEのときに命令を実行すると、エラーが発生します。

  • この命令はsys_bIsEthernetCableNotConnectedFALSEのときにのみ実行することができます。

  • 命令は、指定した転送設定用の転送要求フラグが「FALSE:転送要求なし」の場合のみ実行することができます。転送要求フラグが「TRUE:転送要求済み」の場合は、演算エラーが発生します。

  • この命令が正常に実行されると、システム変数sys_bIsCarryおよびsys_iEthernetConnectionErrorCodeがリセットされます。

  • 次のいずれかの条件で命令を実行しようとすると、転送エラーが発生し、実行完了コードとしてエラーコードが保存されます。

    ステータス

    コード

    接続先サーバーが未設定

    1

    転送設定が未設定

    2

    処理要求登録失敗

    4

    転送が無効

    5

    データ展開失敗(データPUT時)

    8

    データ展開失敗(データGET時)

    9

  • エラーが発生した場合は、エラーコード番号のシステム変数sys_iEthernetConnectionErrorCodeを確認してください。

エラーフラグ

sys_bIsOperationErrorHold (TRUEになり、TRUEを保持)
  • インデックス修飾時にエリアを超えたとき

  • パラメータに指定された値が許容範囲外の場合。

  • 命令が割り込みプログラム内で実行された場合。

  • 命令が実行されたとき、システム変数sys_bIsEthernetHTTPClientReadyFALSEの場合。

  • 指定した転送設定用の転送要求フラグが、命令が実行されるときに「TRUE:転送要求済み」の場合。

  • FP_HTTP_SET_MODEで設定されていない、またはHTTPクライアントの設定ダイアログで設定されていない転送設定が指定された場合。

sys_bIsOperationErrorNonHold (1回のスキャンに対してTRUE)
  • インデックス修飾時にエリアを超えたとき

  • パラメータに指定された値が許容範囲外の場合。

  • 命令が割り込みプログラム内で実行された場合。

  • 命令が実行されたとき、システム変数sys_bIsEthernetHTTPClientReadyFALSEの場合。

  • 指定した転送設定用の転送要求フラグが、命令が実行されるときに「TRUE:転送要求済み」の場合。

  • FP_HTTP_SET_MODEで設定されていない、またはHTTPクライアントの設定ダイアログで設定されていない転送設定が指定された場合。

sys_bIsCarry (1回のスキャンに対してTRUE)
  • Ethernetケーブル切断時に命令が実行された場合。 sys_iEthernetConnectionErrorCodeが「10:Ethernetケーブル未接続」に設定されます。

  • Ethernet初期化中に命令を実行した場合は、sys_iEthernetConnectionErrorCodeが「11:Ethernet初期化中」に設定されます。

POUヘッダ

POUヘッダには、このプログラムで使用するすべての入力変数と出力変数を宣言します。 POUヘッダは全プログラム言語で使用できます。

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

POUボディ

sys_bIsEthernetHTTPClientReadyTRUEにセットされているときbTransferRequestFALSEからTRUEに変わると、命令が実行されます。Ethernetユニット5にHTTP転送が要求されます。

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

STボディ

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

最終修正日: 2024-03-07このページに関するフィードバックお問い合わせ窓口