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_bIsEthernetHTTPClientReady是否为TRUE如果执行指令时为FALSE,则将出现错误。

  • 执行此指令前,确保sys_bIsEthernetInitializingFALSEsys_bIsEthernetInitializing在执行指令后将变为TRUEsys_bIsEthernetInitializingTRUE时,执行指令将发生错误。

  • 此指令仅可在sys_bIsEthernetCableNotConnectedFALSE时执行。

  • 仅当指定传输设置的传输请求标志为“FALSE: No transfer request”时,可以执行该指令。当传输请求标志为“TRUE: Transfer requested”时,将出现操作错误。

  • 成功执行此指令后,会重置系统变量sys_bIsCarrysys_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(对于一次扫描变为TRUE)
  • 如果使用索引寄存器指定的区域超出限制。

  • 如果为参数指定的值超出允许的范围。

  • 如果指令是在中断程序中执行的。

  • 如果执行指令时,系统变量sys_bIsEthernetHTTPClientReadyFALSE

  • 在执行指令后,如果指定传输设置的传输请求标志为“TRUE:请求传输”。

  • 如果指定了未使用FP_HTTP_SET_MODE或在HTTP客户端的设置对话框中配置的传输设置。

sys_bIsCarry(对于一次扫描变为TRUE)
  • 如果在以太网电缆断开时执行指令。 sys_iEthernetConnectionErrorCode设置为“10:Ethernet cable disconnected”。

  • 如果指令是在以太网初始化期间执行的,则sys_iEthernetConnectionErrorCode设置为“11:以太网正在初始化”。

示例

POU头

所有用于编程此函数的输入和输出变量已在POU头中声明。 所有编程语言使用相同的POU头。

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

POU本体

如果bTransferRequestFALSE变为TRUE且系统变量sys_bIsEthernetHTTPClientReadyTRUE,将执行指令。对以太网单元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此页面上的反馈松下热线