데이터 로깅 파일에 대한 SMTP 전송 모드 설정
이 FP 명령은 데이터 로깅 파일이 완료되었을 때 이메일에 대한 SMTP 클라이언트 전송 설정을 정의합니다.
입력
LOG 번호( 0–15). 컴파일러는 내부적으로 로그 파일 번호의 문자열(예: 'LOG=0')을 생성합니다.
경로 그룹 번호와 이메일의 제목을 설정합니다.
키워드 구문 'GRPNO=n1+n2+…+n8'
을 사용하여 최대 8개의 경로 그룹 번호를 설정합니다.
값: 0-7
다음 두 키워드 설정 중 하나 이상을 사용하여 제목을 설정합니다(최대 64자, 1바이트).
'SUBJECT=xxxxxx'
: 사용자 정의 제목 텍스트를 설정합니다.
'SUBJECTAUTO'
: 전송 트리거 유형에 대한 정보가 포함되며 자동으로 생성된 제목입니다.
자동 생성된 제목:
일본어 |
영어 |
---|---|
ロギング/トレース (LOG0) |
Logging/Trace (LOG0) |
ロギング/トレース (LOG1) |
Logging/Trace (LOG1) |
... |
... |
ロギング/トレース (LOG14) |
Logging/Trace (LOG14) |
ロギング/トレース (LOG15) |
Logging/Trace (LOG15) |
참고:
자동 생성 정보에 사용되는 언어는 FP_SMTP_SET_CONNECTION 명령으로 지정됩니다. sCommunication 파라미터를 사용하여 언어를 일본어(기본)에서 영어로 전환합니다.
키워드 'GRPNO'
및 'SUBJECT'
는 쉼표로 구분하고 이 순서로 입력해야 합니다.
예:
경로 그룹 번호 0, 사용자 정의 제목 "LogFileTransmission": 'GRPNO=0,SUBJECT=LogFileTransmission'
경로 그룹 번호 1, 3, 4, 7, 사용자 정의 제목 "LogFilesGroups": 'GRPNO=1+3+4+7,SUBJECT=LogFilesGroups'
경로 그룹 번호 0~7, 자동으로 생성된 제목: 'GRPNO=0+1+2+3+4+5+6+7,SUBJECTAUTO'
메시지(최대 256자, 1바이트)
이메일 텍스트 또는 문자 정수를 저장하는 변수를 지정합니다.
추가 정보를 보낼지 아니면 첨부 파일을 보낼지 여부를 지정합니다.
다음 키워드 설정 중 하나와 함께 이메일 텍스트에 추가 정보를 포함합니다.
'INFO=NONE'
: 정보를 자동으로 추가하지 않음.
'INFO=AUTO'
: 자동 생성 텍스트를 추가합니다.
다음 정보가 이메일 텍스트에 추가됩니다.
일본어 |
영어 |
---|---|
基本項目
|
Basic information
|
참고:
자동 생성 정보에 사용되는 언어는 FP_SMTP_SET_CONNECTION 명령으로 지정됩니다. sCommunication 파라미터를 사용하여 언어를 일본어(기본)에서 영어로 전환합니다.
sAttachment 문자열을 생성하려면 FP_SMTP_GET_DATA_FORMAT을 사용할 수도 있습니다.
다음 키워드 설정을 사용하여 데이터 로깅 파일(LOG 파일)을 첨부합니다.
'ATT=NONE'
: 이메일에 LOG 파일을 첨부하지 마십시오
'ATT=FILE'
: nLogID에서 지정한 수의 로그 파일을 첨부합니다.
예:
정보를 추가하지 말고 LOG 파일을 첨부하지 마십시오. 'INFO=NONE,ATT=NONE'
자동으로 생성된 정보를 추가하고 로그 파일을 첨부합니다. 'INFO=ADD,ATT=FILE'
출력
다음 조건에서 TRUE로 전환:
연결 타임아웃 시간을 초과한 경우
IP 어드레스가 유효하지 않을 경우
에러가 발생하면 시스템 변수 sys_iEthernetConnectionErrorCode에서 에러 코드 번호를 확인하십시오.
자동 텍스트 생성 및 파일 첨부를 위한 파라미터를 생략할 수 없습니다.
모든 키워드 엔트리는 콤마로 구분됩니다(예: 'NAME=abcd,FROM=sender@server.com').
키워드의 순서를 변경하지 않음. 키워드와 설정 파라미터를 여기에 나열된 순서대로 지정하십시오.
문자 데이터의 문자수는 256을 초과하지 않아야 합니다.
인터럽트 프로그램에서는 이 명령을 사용할 수 없습니다.
명령을 실행하기 전에 FP_SMTP_SET_CONNECTION 또는 SMTP 클라이언트의 설정 다이얼로그를 사용하여 이메일 전송 서버를 지정해야 합니다.
명령을 실행하기 전에 FP_SMTP_SET_GROUP 또는 SMTP 클라이언트의 설정 다이얼로그를 사용하여 그룹 및 이벤트 메일 설정을 지정해야 합니다.
대소문자를 사용하여 키워드를 지정할 수 있습니다. 그러나 제목, 이메일 텍스트 및 첨부 파일 이름은 대소문자를 구분합니다.
명령을 실행하기 전에 sys_bIsEthernetInitializing이 FALSE인지 확인하십시오. 명령이 실행되면 sys_bIsEthernetInitializing이 TRUE로 전환됩니다. sys_bIsEthernetInitializing이 TRUE일 때 명령을 실행하면 에러가 발생합니다.
이 명령이 성공적으로 실행되면 시스템 변수 sys_bIsCarry 및 sys_iEthernetConnectionErrorCode가 초기화됩니다.
지정된 nLogID 번호에 대한 전송 요청 플래그가 FALSE인 경우에만 명령을 실행할 수 있습니다. 전송 요청 플래그가 TRUE인 경우 연산 에러가 발생합니다.
이 명령은 nLogID에서 지정한 LOG 파일 번호의.sGroupNumber_Subject, sBodyText 및 sAttachment에 대한 데이터 로깅 이메일 설정 저장합니다.
에러가 발생하면 시스템 변수 sys_iEthernetConnectionErrorCode에서 에러 코드 번호를 확인하십시오.
지정된 nLogID 번호에 대한 전송 요청 플래그가 TRUE인 경우(예: sys_blsLog0DataRecordingActive가 TRUE인 경우)
지정된 nLogID 숫자의 데이터 로깅 조건이 등록되지 않은 경우.
파라미터에 지정된 값이 허용 범위를 벗어난 경우.
명령을 인터럽트 프로그램에서 실행한 경우.
문자열 데이터의 문자 수가 256자 이상인 경우.
FP_SMTP_SET_GROUP 명령 또는 SMTP 클라이언트의 설정 다이얼로그로 정의되지 않은 대상 그룹 번호가 지정된 경우.
이메일 전송 서버가 지정되지 않은 경우.
FP_SMTP_SET_CONNECTION 명령 또는 SMTP 클라이언트의 설정 다이얼로그로 지정되지 않은 이메일 전송 서버가 지정된 경우.
지정된 nLogID 번호에 대한 전송 요청 플래그가 TRUE인 경우(예: sys_blsLog0DataRecordingActive가 TRUE인 경우)
지정된 nLogID 숫자의 데이터 로깅 조건이 등록되지 않은 경우.
파라미터에 지정된 값이 허용 범위를 벗어난 경우.
명령을 인터럽트 프로그램에서 실행한 경우.
문자열 데이터의 문자 수가 256자 이상인 경우.
FP_SMTP_SET_GROUP 명령 또는 SMTP 클라이언트의 설정 다이얼로그로 정의되지 않은 대상 그룹 번호가 지정된 경우.
이메일 전송 서버가 지정되지 않은 경우.
FP_SMTP_SET_CONNECTION 명령 또는 SMTP 클라이언트의 설정 다이얼로그로 지정되지 않은 이메일 전송 서버가 지정된 경우.
이더넷 초기화 중에 명령이 실행되면 sys_iEthernetConnectionErrorCode가 "11: 이더넷이 초기화 중입니다"
이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.
VAR
bIsError: BOOL:=FALSE;
bSetLogTransferSMTP: BOOL:=FALSE;
bDisableLogTransferSMTP: BOOL:=FALSE;
END_VAR
bSetLogTransferSMTP 및 bDisableLogTransferSMTP이 TRUE로 설정되면 명령이 실행됩니다.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 7 ;
NETWORK_BODY
B(B_VARIN,,0,19,2,21,4,);
B(B_VARIN,,'GRPNO=0~SUBJECTAUTO',19,3,21,5,);
B(B_VARIN,,'Sent Log Files',19,4,21,6,);
B(B_VARIN,,'INFO=NON~ATT=NONE',19,5,21,7,);
B(B_VAROUT,,bIsError,39,2,41,4,);
B(B_CONTACT,,bSetLogTransferSMTP,5,1,7,3,);
B(B_F,FP_SMTP_SET_MODE_TRANSFER_LOG!,,21,0,39,7,,?DEN?DnLogID?DsGroupNumber_Subject?DsBodyText?DsAttachment?AENO?AbError);
L(1,2,5,2);
L(7,2,21,2);
L(1,0,1,7);
END_NETWORK_BODY
END_NET_WORK
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_CONTACT,,bDisableLogTransferSMTP,5,1,7,3,);
B(B_F,FP_SMTP_TRANSFER_CONTROL_LOG!,,21,0,39,5,,?DEN?DnLogID?DsControl?AENO?AbError);
B(B_VARIN,,0,19,2,21,4,);
B(B_VARIN,,'DISABLE',19,3,21,5,);
B(B_VAROUT,,bIsError,39,2,41,4,);
L(1,2,5,2);
L(7,2,21,2);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
If (bSetLogTransferSMTP) Then
FP_SMTP_SET_MODE_TRANSFER_LOG(nLogID := 0,
sGroupNumber_Subject := 'GRPNO=0,SUBJECTAUTO',
sBodyText := 'Sent Log Files',
sAttachment := 'INFO=NON,ATT=NONE', bError => bIsError);
End_if;
If (bDisableLogTransferSMTP) Then
FP_SMTP_TRANSFER_CONTROL_LOG(nLogID := 0,
sControl := 'DISABLE', bError => bIsError);
End_if;