FP_SMTP_TRANSFER_REQUEST

SMTP传输请求

此FP指令请求SMTP客户端发送电子邮件和传输数据(由nTransferID指定)。

参数

输入

nTransferID (WORD, INT, UINT)

设置SMTP客户端ID

值:0–15

输出

bError (BOOL)

在以下情况下将变为TRUE

  • 如果超过连接超时

  • 如果 IP 地址无效

当发生错误时,针对错误代码编号检查系统变量sys_iEthernetConnectionErrorCode

标注

  • 此指令不可用于中断程序。

  • 执行此指令前,需使用FP_SMTP_SET_MODE或SMTP客户端的设置对话框指定电子邮件传输设置。

  • 执行此指令前,请确认系统变量sys_bIsEthernetSMTPClientReady是否为TRUE如果执行指令时为FALSE,则将出现错误。

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

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

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

  • 成功执行此指令后,会重置系统变量sys_bIsCarrysys_iEthernetConnectionErrorCode

  • 当发生错误时,针对错误代码编号检查系统变量sys_iEthernetConnectionErrorCode

错误标志

sys_bIsOperationErrorHold(变为TRUE并保持为TRUE)
  • 如果使用索引寄存器指定的区域超出限制。

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

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

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

  • 如果指定传输设置的电子邮件传输请求标志为“TRUE:请求传输”。

  • 如果指定了未通过指令FP_SMTP_SET_MODE或SMTP客户端的设置对话框配置的电子邮件传输设置。

  • 如果禁用发送电子邮件,即,如果FP_CLIENT_STATUS_DUT的标识符bIsTransmissionBlockedTRUE

sys_bIsOperationErrorNonHold(对于一次扫描变为TRUE)
  • 如果使用索引寄存器指定的区域超出限制。

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

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

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

  • 如果指定传输设置的电子邮件传输请求标志为“TRUE:请求传输”。

  • 如果指定了未通过指令FP_SMTP_SET_MODE或SMTP客户端的设置对话框配置的电子邮件传输设置。

  • 如果禁用发送电子邮件,即,如果FP_CLIENT_STATUS_DUT的标识符bIsTransmissionBlockedTRUE

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_bIsEthernetSMTPClientReadyTRUE,将执行指令。对以太网单元10请求SMTP传输。

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,4,1,6,3,R);
B(B_VARIN,,iID10,23,2,25,4,);
B(B_VAROUT,,bTransferRequestError,40,2,42,4,);
B(B_F,FP_SMTP_TRANSFER_REQUEST!,,25,0,40,4,,?DEN?DnID?AENO?CbError);
B(B_CONTACT,,sys_bIsEthernetSMTPClientReady,15,1,17,3,);
L(1,2,4,2);
L(6,2,15,2);
L(17,2,25,2);
L(1,0,1,4);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST本体

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

最后更新日期: 2024-03-07此页面上的反馈松下热线