FP_SMTP_SET_GROUP

设置目标组

此FP指令设置目标组。

参数

输入

sGroupNumber (WORD, INT, UINT)

设置目标组编号。

:0–7

示例: 'GRPNO=3'将组3指定为目标组。

sGroupName (STRING)

设置目标组的名称(最长64个字符)。

示例: 'GRPNAME=Group3'将“Group3”设置为目标组的名称。

sEMailAddresses (STRING)

设置属于目标组的成员的电子邮件地址(最多256个字符)可以仅使用主机名或使用主机名+域名指定电子邮件地址。如果您在此处省略域名,则必须使用sEMailDomain指定域名。

示例:

  1. 'TO=user@support.com'将“user@support.com”设置为目标电子邮件地址。如果此处包含域名,则无需使用sEMailDomain设置域名。

  2. 'TO=user’'DOMAIN=support.com'将“user@support.com”设置为目标电子邮件地址。

  3. 'TO=user@support.com,admin@helpcenter.com'在两个不同的域中设置两个电子邮件地址:“user@support.com”和“admin@helpcenter.com”。

sEMailDomain (STRING)

设置域名(最多32个字符)。仅可指定一个域名。

设置域名允许您在sEMailAddresses中省略域名,如果您希望设置多个电子邮件地址,这将非常有用。

示例:

  1. 'TO=user,admin,groupowner’'DOMAIN=support.com'设置多个电子邮件地址:“user@support.com”、“admin@support.com”和“groupowner@support.com”。

  2. 'TO=user@support.com,admin,groupowner''DOMAIN=helpcenter.com'指定不同域中的多个电子邮件地址:“user@support.com”、“admin@helpcenter.com”和“groupowner@helpcenter.com”。

输出

bError (BOOL)

在以下情况下将变为TRUE

  • 如果超过连接超时

  • 如果 IP 地址无效

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

标注

  • 通过逗号分隔所有关键字输入。例如:'NAME=abcd,FROM=sender@server.com'

  • 字符串数据的字符数不得超过256。

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

  • 大小写字符均可用于指定关键字。但是,主题、电子邮件文本和附件的文件名区分大小写。

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

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

  • 仅当指定传输设置的传输请求标志或指定的nLogID编号为FALSE时,才能执行该指令。当传输请求标志为TRUE时,将发生运算错误。

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

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

错误标志

sys_bIsOperationErrorHold(变为TRUE并保持为TRUE)
  • 如果为参数指定的值超出允许的范围。

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

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

  • 如果指定nLogID编号的传输请求标志为TRUE,例如,如果sys_blsLog0DataRecordingActiveTRUE

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

  • 如果未使用sEMailDomain设置域名,且使用sEMailAddresses设置的电子邮件地址未指定域名。

  • 如果字符串数据的字符数超过256。

sys_bIsOperationErrorNonHold(对于一次扫描变为TRUE)
  • 如果为参数指定的值超出允许的范围。

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

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

  • 如果指定nLogID编号的传输请求标志为TRUE,例如,如果sys_blsLog0DataRecordingActiveTRUE

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

  • 如果未使用sEMailDomain设置域名,且使用sEMailAddresses设置的电子邮件地址未指定域名。

  • 如果字符串数据的字符数超过256。

sys_bIsCarry(对于一次扫描变为TRUE)
  • 如果指令是在以太网初始化期间执行的,则sys_iEthernetConnectionErrorCode设置为“11:以太网正在初始化”。

示例

POU头

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

	VAR
		bSetGroup: BOOL:=FALSE;
		bError: BOOL:=FALSE;
	END_VAR

POU本体

如果bSetGroupFALSE更改为TRUEsys_bIsEthernetInitializingFALSE,则执行指令。

LD本体

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 10 ;
        NETWORK_BODY
B(B_CONTACT,,bSetGroup,4,1,6,3,R);
B(B_CONTACT,,sys_bIsEthernetInitializing,12,1,14,3,N);
B(B_VARIN,,'GRPNO=0',16,5,18,7,);
B(B_VARIN,,'GRPNAME=Grp0',16,6,18,8,);
B(B_VARIN,,'TO=user@support.com',16,7,18,9,);
B(B_VARIN,,'DOMAIN=',16,8,18,10,);
B(B_VAROUT,,bError,30,5,32,7,);
B(B_F,FP_SMTP_SET_GROUP!,,18,3,30,10,,?DEN?DsGroupNumber?DsGroupName?DsEMailAddresses?DsEMailDomain?AENO?CbError);
L(1,2,4,2);
L(6,2,12,2);
L(14,2,14,5);
L(14,5,18,5);
L(1,0,1,10);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST本体

If DF(bSetGroup) AND NOT sys_bIsEthernetInitializing then
    FP_SMTP_SET_GROUP(sGroupNumber := 'GRPNO=0',
                      sGroupName := 'GRPNAME=Grp0',
                      sEMailAddresses := 'TO=user@support.com', 
                      sEMailDomain := 'DOMAIN=',
                      bError => bError);
End_if;

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