设置目标组
此FP指令设置目标组。
输入
设置目标组编号。
值:0–7
示例: 'GRPNO=3'
将组3指定为目标组。
设置目标组的名称(最长64个字符)。
示例: 'GRPNAME=Group3'
将“Group3”设置为目标组的名称。
设置属于目标组的成员的电子邮件地址(最多256个字符)可以仅使用主机名或使用主机名+域名指定电子邮件地址。如果您在此处省略域名,则必须使用sEMailDomain指定域名。
示例:
'TO=user@support.com'
将“user@support.com”设置为目标电子邮件地址。如果此处包含域名,则无需使用sEMailDomain设置域名。
'TO=user’
和'DOMAIN=support.com'
将“user@support.com”设置为目标电子邮件地址。
'TO=user@support.com,admin@helpcenter.com'
在两个不同的域中设置两个电子邮件地址:“user@support.com”和“admin@helpcenter.com”。
设置域名(最多32个字符)。仅可指定一个域名。
设置域名允许您在sEMailAddresses中省略域名,如果您希望设置多个电子邮件地址,这将非常有用。
示例:
'TO=user,admin,groupowner’
和'DOMAIN=support.com'
设置多个电子邮件地址:“user@support.com”、“admin@support.com”和“groupowner@support.com”。
'TO=user@support.com,admin,groupowner'
和'DOMAIN=helpcenter.com'
指定不同域中的多个电子邮件地址:“user@support.com”、“admin@helpcenter.com”和“groupowner@helpcenter.com”。
输出
在以下情况下将变为TRUE:
如果超过连接超时
如果 IP 地址无效
当发生错误时,针对错误代码编号检查系统变量sys_iEthernetConnectionErrorCode。
通过逗号分隔所有关键字输入。例如:'NAME=abcd,FROM=sender@server.com'
字符串数据的字符数不得超过256。
此指令不可用于中断程序。
大小写字符均可用于指定关键字。但是,主题、电子邮件文本和附件的文件名区分大小写。
执行此指令前,需使用FP_SMTP_SET_CONNECTION或SMTP客户端的设置对话框指定电子邮件传输服务器。
执行此指令前,确保sys_bIsEthernetInitializing为FALSE。sys_bIsEthernetInitializing在执行指令后将变为TRUE。sys_bIsEthernetInitializing为TRUE时,执行指令将发生错误。
仅当指定传输设置的传输请求标志或指定的nLogID编号为FALSE时,才能执行该指令。当传输请求标志为TRUE时,将发生运算错误。
成功执行此指令后,会重置系统变量sys_bIsCarry和sys_iEthernetConnectionErrorCode。
当发生错误时,针对错误代码编号检查系统变量sys_iEthernetConnectionErrorCode。
如果为参数指定的值超出允许的范围。
如果指令是在中断程序中执行的。。
如果指定传输设置的电子邮件传输请求标志为“TRUE:请求传输”。
如果指定nLogID编号的传输请求标志为TRUE,例如,如果sys_blsLog0DataRecordingActive为TRUE。
如果指定了未通过指令FP_SMTP_SET_CONNECTION或SMTP客户端的设置对话框指定的电子邮件传输服务器。
如果未使用sEMailDomain设置域名,且使用sEMailAddresses设置的电子邮件地址未指定域名。
如果字符串数据的字符数超过256。
如果为参数指定的值超出允许的范围。
如果指令是在中断程序中执行的。。
如果指定传输设置的电子邮件传输请求标志为“TRUE:请求传输”。
如果指定nLogID编号的传输请求标志为TRUE,例如,如果sys_blsLog0DataRecordingActive为TRUE。
如果指定了未通过指令FP_SMTP_SET_CONNECTION或SMTP客户端的设置对话框指定的电子邮件传输服务器。
如果未使用sEMailDomain设置域名,且使用sEMailAddresses设置的电子邮件地址未指定域名。
如果字符串数据的字符数超过256。
如果指令是在以太网初始化期间执行的,则sys_iEthernetConnectionErrorCode设置为“11:以太网正在初始化”。
所有用于编程此函数的输入和输出变量已在POU头中声明。所有编程语言使用相同的POU头。
VAR
bSetGroup: BOOL:=FALSE;
bError: BOOL:=FALSE;
END_VAR
如果bSetGroup从FALSE更改为TRUE且sys_bIsEthernetInitializing为FALSE,则执行指令。
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
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;