FP_SMTP_GET_DATA_FORMAT

SMTP 프로토콜에 대한 데이터 형식 문자열 생성

이 FP 명령은 입력 Var FP_SMTP_SET_MODE 명령의 sAttachment 입력에 대해 적합한 sDataFormat 출력 변수에 문자열을 작성합니다.

FP_SMTP_SET_MODE를 사용하여 데이터 레지스터가 전송되면 데이터 값이 지정된 .csv 파일이 생성됩니다. 전송 중에 데이터가 데이터 유형에 따라 ASCII로 변환됩니다. 따라서 sAttachment 입력 시에는 ASCII 유형으로 변환해야 하는 데이터를 표시하는 추가 정보가 필요합니다.

파라미터

입력

Var (BOOL, INT, UINT, WORD, DINT, UDINT, DWORD, REAL, DATE, TOD, DT, STRING)

간단 데이터 유형 또는 간단 데이터 유형 배열(예: BOOL, INT, UINT, STRING 등)

제한: ARRAY..OF..STRING은 허용되지 않음

nSize (WORD, INT, UINT)

워드 또는 문자열의 데이터 크기(바이트 단위).

출력

sDataFormat (STRING)

FP_SMTP_SET_MODE의 입력 sAttachment에 대한 데이터 형식을 지정하는 문자열입니다

주석

  • 명령을 실행하기 전에 FP_SMTP_SET_MODE 또는 SMTP 클라이언트의 설정 다이얼로그를 사용하여 이메일 전송 설정을 지정해야 합니다.

  • 명령을 실행하기 전에 FP_SMTP_SET_GROUP 또는 SMTP 클라이언트의 설정 다이얼로그를 사용하여 그룹 및 이벤트 메일 설정을 지정해야 합니다.

  • 명령을 실행하기 전에 sys_bIsEthernetInitializingFALSE인지 확인하십시오. 명령이 실행되면 sys_bIsEthernetInitializingTRUE로 전환됩니다. sys_bIsEthernetInitializingTRUE일 때 명령을 실행하면 에러가 발생합니다.
  • 지정된 전송 설정에 대한 전송 요청 플래그가 "FALSE: 전송 요청 없음"인 경우에만 이 명령이 실행됩니다. 전송 요청 플래그가 "TRUE: 전송 요청됨"이면, 연산 에러가 발생합니다.

  • 이 명령이 성공적으로 실행되면 시스템 변수 sys_bIsCarrysys_iEthernetConnectionErrorCode가 초기화됩니다.

  • 에러가 발생하면 시스템 변수 sys_iEthernetConnectionErrorCode에서 에러 코드 번호를 확인하십시오.

에러 플래그

sys_bIsOperationErrorHold(TRUE로 전환되어 TRUE로 유지됨)
  • 연결 타임아웃 시간을 초과한 경우

  • IP 어드레스가 유효하지 않을 경우

sys_bIsOperationErrorNonHold(스캔 1회에 대해 TRUE로 전환)
  • 연결 타임아웃 시간을 초과한 경우

  • IP 어드레스가 유효하지 않을 경우

sys_bIsCarry(스캔 1회에 대해 TRUE로 전환)
  • 이더넷 초기화 중에 명령이 실행되면 sys_iEthernetConnectionErrorCode가 "11: 이더넷이 초기화 중입니다"

POU 헤더

이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.

	VAR
		arrayValues_UDINT: ARRAY [0..19] OF UDINT;
		bError: BOOL:=FALSE;
		bSetMode: BOOL:=FALSE;
		iID8: INT:=8;
	END_VAR

POU 본문

bSetModeFALSE에서 TRUE로 변경되고 sys_bIsEthernetInitializingFALSE면 이 명령이 실행됩니다.

LD 본문

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 14 ;
        NETWORK_BODY
B(B_VARIN,,iID8,42,2,44,4,);
B(B_CONTACT,,bSetMode,4,1,6,3,R);
B(B_VAROUT,,bError,57,2,59,4,);
B(B_VARIN,,'GRPNO=0~SUBJECT=Time Notify Mail',42,4,44,6,);
B(B_VARIN,,'Hello~ this is time notify Mail from system. See attachment',42,5,44,7,);
B(B_VARIN,,'INFO=ADD~ATT=DATA;',11,7,13,9,);
B(B_VARIN,,'TRIG=TIME~/day~13:30:00',42,3,44,5,);
B(B_CONTACT,,sys_bIsEthernetInitializing,13,1,15,3,N);
B(B_VARIN,,arrayValues_UDINT,11,9,13,11,);
B(B_F,CONCAT-2!,,37,7,43,10,,?D?D?C);
B(B_F,Size_Of_Var!,,15,10,22,12,,?D?C);
B(B_F,FP_SMTP_GET_DATA_FORMAT!,,22,8,37,12,,?D@'Var'?DnSize?CsDataFormat);
B(B_F,FP_SMTP_SET_MODE!,,44,0,57,8,,?DEN?DnTransferID?DsTrigger?DsGroupNumber_Subject?DsBodyText?DsAttachment?AENO?CbError);
L(1,2,4,2);
L(6,2,13,2);
L(15,2,44,2);
L(37,9,37,10);
L(13,8,37,8);
L(15,10,15,11);
L(13,10,22,10);
L(43,7,43,8);
L(43,7,44,7);
L(1,0,1,14);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST 본문

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=DATA;',
                                           FP_SMTP_GET_DATA_FORMAT(arrayValues_UDINT,
                                           Size_Of_Var(arrayValues_UDINT))),
                     bError => bError);
End_If;

최종 수정일: 2022-04-04이 페이지에 대한 피드백Panasonic 직통 전화