경로 그룹 설정
이 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;