SMTP 전송 모드 설정
이 FP 명령은 이벤트 트리거 이메일에 대한 전송 설정을 구성합니다. 이 명령을 명령 FP_SMTP_CONNECTION과 함께 사용하여 SMTP 서버를 설정하고 FP_SMTP_SET_GROUP을 사용하여 경로 그룹을 지정하십시오.
입력
전송 설정 ID를 설정합니다.
값: 0–15(값은 오름차순으로 입력해야 함)
다음 키워드 설정 중 하나 이상을 사용하여 트리거 유형을 설정합니다.
'TRIG=BITON,xxx'
: 지정된 비트의 상승 엣지에서 이메일을 보냅니다.
값:X, Y, R, L, SR, E, DT.n, LD.n, SD.n
예:'TRIG=BITON,R100'
은 R100의 상승 엣지에서 이메일을 보냅니다.
'TRIG=TIME,xxxx,yyyy'
: 지정된 날짜 및/또는 지정된 시간에 이메일을 보냅니다.
값:
\min,ss(매분, 초 단위로 시간 설정)
\hour,mm:ss(매시간, 분 및 초 단위로 시간 설정)
\day,hh:mm:ss(매일, 시, 분, 초 단위로 시간 설정)
\mon,DD:hh:mm:ss(매월, 날짜를 일, 시간, 분, 초로 설정)
\year,MM:DD:hh:mm:ss(매년, 날짜를 월, 일, 시간, 분, 초로 설정)
\week,hh:mm:ss-w(매주, 요일 및 시간을 시, 분, 초, 요일로 설정)
ss=초(0–59), mm=분(0–59), hh=시간(0–23), DD=일(1–31), mm=월(1–12), W=요일(0=일요일, 1=월요일, 2=화요일, 3=수요일, 4=목요일, 5=금요일, 6=토요일)
매일 13:30에: 'TIME,/day,13:30:00'
매년 4월 1일 9:00에: 'TIME,/year,4:1:9:0:0'
매주 금요일 23:50에: 'TIME,/week,23:50:00-5'
'TRIG=CYCLIC,xxxx'
: 정기적으로 이메일을 보냅니다.
값:
30SEC(30초)
1MIN, 2MIN, 3MIN, 4MIN, 5MIN, 6MIN, 10MIN, 15MIN, 30MIN(분)
1HOUR, 2HOUR, 3HOUR, 4HOUR, 6HOUR, 12HOUR, 24HOUR(시간)
가장 짧은 주기는 30초입니다. 주기 시간은 하나만 설정할 수 있습니다('1MIN30SEC'
과 같은 값은 설정할 수 없음).
예:'TRIG=CYCLIC,30SEC'
는 30초마다 이메일을 보냅니다.
'TRIG=PROGRAM'
: 명령 FP_SMTP_TRANSFER_REQUEST가 실행될 때마다 이메일을 보냅니다.
TRIG=STATUS,xxx1,xxx2,xxx3
: 지정된 PLC 상태 변경 중 하나가 발생하면 이메일을 보냅니다.
값:
PROG>RUN([PROG]에서 [RUN]으로 전환 시)
RUN>PROG([RUN]에서 [PROG]로 전환 시)
ERR>STOP(자기 진단 에러가 발생하고 연산이 중지된 경우)
ERR>RUN(자기 진단 에러가 발생하고 연산이 계속되는 경우)
ERRCLR(에러가 클리어됐을 때)
PLC 상태가 [PROG]에서 [RUN]으로 변경되는 경우: 'TRIG=STATUS,PROG>RUN'
다음 조건 중 하나가 충족되는 경우: 자기 진단 에러가 발생하거나 에러가 클리어되는 경우: 'TRIG=STATUS,ERR>STOP,ERR>RUN,ERRCLR'
경로 그룹 번호와 이메일의 제목을 설정합니다.
키워드 구문 'GRPNO=n1+n2+…+n8'
을 사용하여 최대 8개의 경로 그룹 번호를 설정합니다.
값: 0-7
다음 두 키워드 설정 중 하나 이상을 사용하여 제목을 설정합니다.
'SUBJECT=xxxxxx'
: 사용자 정의 제목 텍스트를 설정합니다.
'SUBJECTAUTO'
: 전송 트리거 유형에 대한 정보가 포함되며 자동으로 생성된 제목입니다.
자동 생성된 제목:
일본어 |
영어 |
---|---|
ビットON 検出(R100) |
Bit ON detect (R100) |
一定周期メール(1分毎) |
Interval mail (1 minute) |
一定周期メール(24 時間毎) |
Interval mail (24 hour) |
指定時刻メール(毎分・0 秒) |
Specified time (every minute 0s) |
指定時刻メール(毎時・0 分0 秒) |
Specified time (every hour 0m0s) |
指定時刻メール(毎日・17 時30 分0 秒) |
Specified time (every day 17h30m0s) |
指定時刻メール(毎週・金曜・17 時30 分0 秒) |
Specified time (every Friday 17h30m00s) |
PLC 状態変化(電源ON) |
PLC status change (power on) |
PLC 状態変化(PROG>RUN スイッチ切り替え) |
PLC status change (PROG > RUN) |
PLC 状態変化(RUN>PROG スイッチ切り替え) |
PLC status change (RUN > PROG) |
PLC 状態変化(演算停止自己診断エラー検知) |
PLC status change (operation stop error) |
PLC 状態変化(演算継続自己診断エラー検知) |
PLC status change (operation continuous error) |
PLC 状態変化(エラー解除) |
PLC status change (error release) |
SMTPcREQ 命令による |
SMRPcREQ command |
참고:
자동 생성 정보에 사용되는 언어는 FP_SMTP_SET_CONNECTION 명령으로 지정됩니다. sCommunication 파라미터를 사용하여 언어를 일본어(기본)에서 영어로 전환합니다.
여러 PLC 상태 변경이 트리거 유형으로 지정된 경우, 제목에는 이메일 전송을 트리거한 실제 상태 변경이 포함됩니다.
키워드 'GRPNO'
및 'SUBJECT'
는 쉼표로 구분하고 이 순서로 입력해야 합니다.
경로 그룹 번호 0, 사용자 정의 제목 "Time notification e-mail": 'GRPNO=0,SUBJECT=Time Notification E-Mail'
경로 그룹 번호 1, 3, 4, 7, 사용자 정의 제목 "Cyclic notification e-mail": 'GRPNO=1+3+4+7,SUBJECT=Cyclic notification e-mail'
경로 그룹 번호 0~7, 자동으로 생성된 제목: 'GRPNO=0+1+2+3+4+5+6+7,SUBJECTAUTO'
이메일의 텍스트나 문자열을 포함하는 변수를 지정합니다.
최대 문자열 길이: CPU 버전 4.1 이상 및 버전 3.4~3.x의 경우, 4096자의 1바이트 문자
다른 모든 버전의 경우, 256자의 1바이트 문자
추가 정보를 보낼지 아니면 첨부 파일을 보낼지 여부를 지정합니다.
다음 키워드 설정 중 하나와 함께 이메일 텍스트에 추가 정보를 포함합니다.
'INFO=NON'
: 정보를 자동으로 추가하지 않음.
'INFO=ADD'
: 이벤트 정보 추가(이메일을 트리거한 이벤트)
다음 정보가 이메일 텍스트에 추가됩니다.
일본어 |
영어 |
---|---|
基本項目
|
Basic information
|
トリガ種類 |
Detailed information |
ビットON 検出(R100) |
Bit ON detect (R100) |
一定周期メール(1分毎) |
Interval mail (1 minute) |
一定周期メール(24 時間毎) |
Interval mail (24 hour) |
指定時刻メール(毎分・0 秒) |
Specified time (every minute 0s) |
指定時刻メール(毎時・0 分0 秒) |
Specified time (every hour 0m0s) |
指定時刻メール(毎日・17 時30 分0 秒) |
Specified time (every day 17h30m0s) |
指定時刻メール(毎週・金曜・17 時30 分0 秒) |
Specified time (every Friday 17h30m00s) |
PLC 状態変化(電源ON) |
PLC status change (power on) |
PLC 状態変化(PROG>RUN スイッチ切り替え) |
PLC status change (PROG > RUN) |
PLC 状態変化(RUN>PROG スイッチ切り替え) |
PLC status change (RUN > PROG) |
PLC 状態変化(演算停止自己診断エラー検知) |
PLC status change (operation stop error) |
PLC 状態変化(演算継続自己診断エラー検知) |
PLC status change (operation continuous error) |
PLC 状態変化(エラー解除) |
PLC status change (error release) |
SMTPcREQ 命令による |
SMRPcREQ command |
참고:
어드레스 정보는 IPv4 또는 IPv6 어드레스가 FP_SMTP_SET_CONNECTION에 의해 지정되었는지 여부에 따라 다릅니다.
자동 생성 정보에 사용되는 언어는 FP_SMTP_SET_CONNECTION 명령으로 지정됩니다. sCommunication 파라미터를 사용하여 언어를 일본어(기본)에서 영어로 전환합니다.
다음 키워드 설정 중 하나로 데이터 및/또는 첨부 파일을 포함합니다.
'ATT=NONE'
: 이메일에 데이터를 추가하지 않음.
'ATT=DATA,xxxxxxx'
: 메모리 영역의 데이터를 이메일 텍스트에 추가합니다.
다음 정보가 이메일 텍스트에 추가됩니다.
이메일 텍스트에 추가된 정보(일본어) |
이메일 텍스트에 추가된 정보(영어) |
---|---|
デバイス取得項目
|
Device get information
|
시작 어드레스, 전송된 데이터 수, 변환 방법 및 줄 바꿈 위치를 지정합니다.
값:
메모리 영역 및 시작 어드레스: WX, WY, WR, WL, DT, LD, SD
전송된 데이터 수: 1-1000
변환 방법:
BIN1w(변환되지 않은 16비트 이진으로, 이메일 텍스트에 데이터를 추가하는 데 사용할 수 없습니다. 'FILE'
키워드를 대신 사용하십시오.)
US(부호 없는 16비트 십진수)
SS(부호 있는 16비트 십진수)
UL(부호 없는 32비트 십진수)
SL(부호 있는 32비트 십진수)
SF(32비트 단정밀도 부동 소수점)
DF(64비트 배정밀도 부동 소수점)
HEX1w(16비트 HEX)
HEX2w(32비트 HEX)
HEX4w(64비트 HEX)
ASCII(ASCII 문자, 출력은 ""로 둘러싸임)
줄 바꿈 위치: 0–255.
0: 파일 끝에서만 줄바꿈을 출력합니다.
n: 매 n 데이터 포인트 다음에 줄 바꿈을 출력합니다.
'ATT=DATA,xxxxxxxxxxx,FILE=yyyyyyyyyyy'
: 메모리 영역의 데이터를 이메일 텍스트에 추가하고 추가로 데이터를 파일로 첨부합니다. 'ATT=DATA,xxxxxxx'
와 동일한 값을 사용합니다.
'ATT=FILE,Filename'
: SD 카드의 지정된 폴더로부터의 파일을 첨부합니다.
키워드 'TOP'
및 'END'
를 사용하여 파일 이름에 날짜와 시간을 자동으로 추가합니다(yymmdd_hhmmss).
TOP
: 파일 이름의 시작 부분에 데이터 추가
END
: 파일 이름 끝 부분에 데이터 추가
참고:
자동 생성 정보에 사용되는 언어는 FP_SMTP_SET_CONNECTION 명령으로 지정됩니다. sCommunication 파라미터를 사용하여 언어를 일본어(기본)에서 영어로 전환합니다.
첨부 파일('\LOG0'
~'\LOG15'
)에 대한 LOG 폴더 이름을 지정할 수 없습니다.
sAttachment 문자열을 생성하려면 FP_SMTP_GET_DATA_FORMAT을 사용할 수도 있습니다.
정보 또는 데이터를 자동으로 추가하지 마십시오. 'INFO=NON,ATT=NONE'
자동으로 정보를 추가하되, 데이터를 추가하지 마십시오. 'INFO=ADD,ATT=NONE'
정보를 자동으로 추가하지 않되, DT100에서 DT109로 16비트 16진수 데이터를 이메일 텍스트에 추가합니다. 'INFO=NON,ATT=DATA,DT100,10,HEX1w'
정보를 자동으로 추가하지 않고 SD 카드에서 파일을 첨부합니다. 'INFO=NON,ATT=FIL,\Folder\FileName.bin'
출력
연결 타임아웃 시간을 초과한 경우
IP 어드레스가 유효하지 않을 경우
에러가 발생하면 시스템 변수 sys_iEthernetConnectionErrorCode에서 에러 코드 번호를 확인하십시오.
문자열 데이터의 문자 수는 CPU 유닛 Ver.3.4~Ver.3.x 및 Ver.4.1 이상에 대해 4096자를 초과해서는 안 되며, 다른 CPU 유닛의 경우 256자를 초과해서는 안 됩니다.
인터럽트 프로그램에서는 이 명령을 사용할 수 없습니다.
문자 정수를 지정할 수 있는 오퍼랜드에 대문자와 소문자를 사용할 수 있습니다. "Abcd", "ABCD", "abcd"는 모두 동의어이지만 파일 이름에서는 대/소문자를 구분합니다.
명령을 실행하기 전에 FP_SMTP_SET_CONNECTION 또는 SMTP 클라이언트의 설정 다이얼로그를 사용하여 이메일 전송 서버를 지정해야 합니다.
명령을 실행하기 전에 FP_SMTP_SET_GROUP 또는 SMTP 클라이언트의 설정 다이얼로그를 사용하여 그룹 및 이벤트 메일 설정을 지정해야 합니다.
명령을 실행하기 전에 sys_bIsEthernetInitializing이 FALSE인지 확인하십시오. 명령이 실행되면 sys_bIsEthernetInitializing이 TRUE로 전환됩니다. sys_bIsEthernetInitializing이 TRUE일 때 명령을 실행하면 에러가 발생합니다.
지정된 전송 설정 또는 지정된 nLogID 번호에 대한 전송 요청 플래그가 FALSE인 경우에만 명령을 실행할 수 있습니다. 전송 요청 플래그가 TRUE인 경우 연산 에러가 발생합니다.
이 명령이 성공적으로 실행되면 시스템 변수 sys_bIsCarry 및 sys_iEthernetConnectionErrorCode가 초기화됩니다.
에러가 발생하면 시스템 변수 sys_iEthernetConnectionErrorCode에서 에러 코드 번호를 확인하십시오.
파라미터에 지정된 값이 허용 범위를 벗어난 경우.
전송 ID가 오름차순으로 지정되지 않은 경우.
명령을 인터럽트 프로그램에서 실행한 경우.
FP_SMTP_SET_CONNECTION 명령 또는 SMTP 클라이언트의 설정 다이얼로그로 지정되지 않은 이메일 전송 서버가 지정된 경우.
동일한 경로 그룹 번호가 중복으로 지정된 경우.
FP_SMTP_SET_GROUP 명령 또는 SMTP 클라이언트의 설정 다이얼로그로 정의되지 않은 대상 그룹 번호가 지정된 경우.
지정된 전송 설정에 대한 이메일 전송 요청 플래그가 "TRUE: 전송 요청됨"인 경우.
지정된 nLogID 번호에 대한 전송 요청 플래그가 TRUE인 경우(예: sys_blsLog0DataRecordingActive가 TRUE인 경우)
문자열 데이터의 문자 수가 해당 상한값을 초과하는 경우. CPU 유닛 버전 3.4~버전 3.x 및 버전 4.1 이상에 대한 상한값은 4096자이고, 기타 CPU 유닛의 상한값은 256자입니다.
파라미터에 지정된 값이 허용 범위를 벗어난 경우.
전송 ID가 오름차순으로 지정되지 않은 경우.
명령을 인터럽트 프로그램에서 실행한 경우.
FP_SMTP_SET_CONNECTION 명령 또는 SMTP 클라이언트의 설정 다이얼로그로 지정되지 않은 이메일 전송 서버가 지정된 경우.
동일한 경로 그룹 번호가 중복으로 지정된 경우.
FP_SMTP_SET_GROUP 명령 또는 SMTP 클라이언트의 설정 다이얼로그로 정의되지 않은 대상 그룹 번호가 지정된 경우.
지정된 전송 설정에 대한 이메일 전송 요청 플래그가 "TRUE: 전송 요청됨"인 경우.
지정된 nLogID 번호에 대한 전송 요청 플래그가 TRUE인 경우(예: sys_blsLog0DataRecordingActive가 TRUE인 경우)
문자열 데이터의 문자 수가 해당 상한값을 초과하는 경우. CPU 유닛 버전 3.4~버전 3.x 및 버전 4.1 이상에 대한 상한값은 4096자이고, 기타 CPU 유닛의 상한값은 256자입니다.
이더넷 초기화 중에 명령이 실행되면 sys_iEthernetConnectionErrorCode가 "11: 이더넷이 초기화 중입니다"
이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.
VAR
bSetModePlcData: BOOL:=FALSE;
bSetModePlcDataError: BOOL:=FALSE;
arRealArray: ARRAY [0..15] OF REAL:=[16(0.0)];
iID10: INT:=10;
END_VAR
bSetModePLCData가 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 := 5 ;
NETWORK_BODY
B(B_COMMENT,, ^Set mode to attach File located on SD card of FP7 PLC,4,1,34,4,);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 10 ;
NETWORK_BODY
B(B_VARIN,,iID8,32,2,34,4,);
B(B_CONTACT,,bSetMode,4,1,6,3,R);
B(B_VAROUT,,bError,47,2,49,4,);
B(B_VARIN,,'GRPNO=0~SUBJECT=Time Notify Mail',32,4,34,6,);
B(B_VARIN,,'Hello~ this is time notify Mail from system. See attachment',32,5,34,7,);
B(B_VARIN,,'TRIG=TIME~/day~13:30:00',32,3,34,5,);
B(B_CONTACT,,sys_bIsEthernetInitializing,13,1,15,3,N);
B(B_VARIN,,'INFO=ADD~ATT=FILE;FILE=',26,7,28,9,);
B(B_VARIN,,sFilename,26,8,28,10,);
B(B_F,CONCAT-2!,,28,7,34,10,,?D?D?C);
B(B_F,FP_SMTP_SET_MODE!,,34,0,47,8,,?DEN?DnTransferID?DsTrigger?DsGroupNumber_Subject?DsBodyText?DsAttachment?AENO?CbError);
L(1,2,4,2);
L(34,7,34,8);
L(15,2,34,2);
L(6,2,13,2);
L(1,0,1,10);
END_NETWORK_BODY
END_NET_WORK
END_BODY
If DF(bSetMode) AND NOT sys_bIsEthernetInitializing then
FP_SMTP_SET_MODE(nTransferID := iID8,
sTrigger := 'TRIG=TIME,/day,13:30:00',
sGroupNumber_Subject := 'GRPNO=0,SUBJECT=Time Notify Mail',
sBodyText := 'Hello, this is time notify Mail from system. See attachment',
sAttachment := CONCAT('INFO=ADD,ATT=FILE;FILE=', sFilename),
bError => bError);
End_if;