이메일 텍스트 받기
이 FP 명령은 nTransferID에 지정된 숫자의 미리 정의된 이메일 텍스트를 읽고 출력 변수sBodyText에 씁니다.
입력
전송 설정 ID를 설정합니다.
값: 0-15
출력
미리 정의된 이메일 텍스트를 저장합니다.
작업이 비정상적으로 종료되면 TRUE로 설정합니다.
에러가 발생하면 시스템 변수 sys_iEthernetConnectionErrorCode에서 에러 코드 번호를 확인하십시오.
인터럽트 프로그램에서는 이 명령을 사용할 수 없습니다.
명령을 실행하기 전에 FP_SMTP_SET_MODE 또는 SMTP 클라이언트의 설정 다이얼로그를 사용하여 이메일 전송 설정을 지정해야 합니다.
이 명령은 SMTP 클라이언트의 설정 다이얼로그에 지정된 이메일 텍스트를 읽습니다. 이메일 텍스트를 지정하지 않으면 해당 텍스트를 읽을 수 없으며 sBodyText에 0이 저장됩니다.
명령을 실행하기 전에 FP_SMTP_SET_GROUP 또는 SMTP 클라이언트의 설정 다이얼로그를 사용하여 그룹 및 이벤트 메일 설정을 지정해야 합니다.
명령을 실행하기 전에 FP_CLIENT_STATUS_DUT에 이메일을 보낼 활성 요청이 있는지 확인합니다. 명령이 실행될 때 bIsTransferRequested가 TRUE이면 연산 에러가 발생합니다.
이 명령이 성공적으로 실행되면 시스템 변수 sys_bIsCarry 및 sys_iEthernetConnectionErrorCode가 초기화됩니다.
에러가 발생하면 시스템 변수 sys_iEthernetConnectionErrorCode에서 에러 코드 번호를 확인하십시오.
인덱스 한정자를 사용하여 지정한 영역이 제한을 초과하는 경우.
파라미터에 지정된 값이 허용 범위를 벗어난 경우.
명령을 인터럽트 프로그램에서 실행한 경우..
지정된 전송 설정에 대한 이메일 전송 요청 플래그가 "TRUE: 전송 요청됨"인 경우.
FP_SMTP_SET_MODE 명령 또는 STMP 클라이언트의 설정 다이얼로그로 정의되지 않은 이메일 전송 설정이 지정된 경우.
FP_SMTP_SET_GROUP 명령 또는 SMTP 클라이언트의 설정 다이얼로그로 정의되지 않은 대상 그룹 번호가 지정된 경우.
인덱스 한정자를 사용하여 지정한 영역이 제한을 초과하는 경우.
파라미터에 지정된 값이 허용 범위를 벗어난 경우.
명령을 인터럽트 프로그램에서 실행한 경우..
지정된 전송 설정에 대한 이메일 전송 요청 플래그가 "TRUE: 전송 요청됨"인 경우.
FP_SMTP_SET_MODE 명령 또는 STMP 클라이언트의 설정 다이얼로그로 정의되지 않은 이메일 전송 설정이 지정된 경우.
FP_SMTP_SET_GROUP 명령 또는 SMTP 클라이언트의 설정 다이얼로그로 정의되지 않은 대상 그룹 번호가 지정된 경우.
이더넷 초기화 중에 명령이 실행되면 sys_iEthernetConnectionErrorCode가 "11: 이더넷이 초기화 중입니다"
이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.
VAR
bRequest: BOOL:=FALSE;
bError: BOOL:=FALSE;
iID8: INT:=8;
sEmailText: STRING[32]:='Hello World!';
END_VAR
bRequest가 FALSE에서 TRUE로 변경되고 sys_bIsEthernetSMTPClientReady가 TRUE로 설정되면 명령이 실행됩니다.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_CONTACT,,bRequest,4,1,6,3,R);
B(B_VARIN,,iID8,23,2,25,4,);
B(B_VAROUT,,bError,39,3,41,5,);
B(B_CONTACT,,sys_bIsEthernetSMTPClientReady,15,1,17,3,);
B(B_F,FP_SMTP_GET_EMAIL_TEXT!,,25,0,39,5,,?DEN?DnTransferID?AENO?CsBodyText?CbError);
B(B_VAROUT,,sEmailText,39,2,41,4,);
L(1,2,4,2);
L(6,2,15,2);
L(17,2,25,2);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
If DF(bRequest) AND sys_bIsEthernetSMTPClientReady then
FP_SMTP_GET_EMAIL_TEXT(nTransferID := iID8,
sBodyText => sEmailText,
bError => bError);
END_If;