SMTP 전송을 사용하여 단일 이더넷 유닛의 상태 얻기
이 FP 명령은 nTransferID에서 지정한 이더넷 유닛에서 정보를 가져와 DUT FP_CLIENT_STATUS_DUT에 값을 씁니다.
입력
이더넷 유닛 ID(값: 0–15)
출력
지정된 이더넷 유닛의 이더넷 상태 값 저장
인터럽트 프로그램에서는 이 명령을 사용할 수 없습니다.
명령을 실행하기 전에 FP_SMTP_SET_MODE 또는 SMTP 클라이언트의 설정 다이얼로그를 사용하여 이메일 전송 설정을 지정해야 합니다.
명령을 실행하기 전에 FP_SMTP_SET_MODE_TRANSFER_LOG 또는 SMTP 클라이언트의 설정 다이얼로그를 사용하여 데이터 로깅 파일의 이메일 전송 설정을 지정해야 합니다.
에러가 발생하면 시스템 변수 sys_iEthernetConnectionErrorCode에서 에러 코드 번호를 확인하십시오.
지정된 이더넷 유닛 ID가 허용 범위(0-15)를 벗어난 경우.
FP_SMTP_SET_MODE 명령 또는 STMP 클라이언트의 설정 다이얼로그로 정의되지 않은 이메일 전송 설정이 지정된 경우.
FP_SMTP_SET_MODE_TRANSFER_LOG 명령 또는 SMTP 클라이언트의 설정 다이얼로그로 정의되지 않은 데이터 로그 파일의 이메일 전송 설정이 지정된 경우.
명령을 인터럽트 프로그램에서 실행한 경우.
지정된 이더넷 유닛 ID가 허용 범위(0-15)를 벗어난 경우.
FP_SMTP_SET_MODE 명령 또는 STMP 클라이언트의 설정 다이얼로그로 정의되지 않은 이메일 전송 설정이 지정된 경우.
FP_SMTP_SET_MODE_TRANSFER_LOG 명령 또는 SMTP 클라이언트의 설정 다이얼로그로 정의되지 않은 데이터 로그 파일의 이메일 전송 설정이 지정된 경우.
명령을 인터럽트 프로그램에서 실행한 경우.
이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.
VAR
dutFPClientStatusId5: FP_CLIENT_STATUS_DUT;
iID8: INT:=8;
bReadStatusID8: BOOL:=FALSE;
END_VAR
bReadStatusID8이 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_COMMENT,, ^Get status of single FTP Transfer numbers: ID8,3,1,26,4,);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 6 ;
NETWORK_BODY
B(B_CONTACT,,bReadStatusID8,5,1,7,3,);
B(B_VARIN,,iID8,10,2,12,4,);
B(B_VAROUT,,dutFPClientStatusID8,25,2,27,4,);
B(B_F,FP_SMTP_GET_STATUS!,,12,0,25,4,,?DEN?DnTransferID?AENO?CdutClientStatus);
L(1,2,5,2);
L(7,2,12,2);
L(1,0,1,6);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF (bReadStatusID8) then
FP_SMTP_GET_STATUS(nTransferID := iID8, dutClientStatus => dutFPClientStatusId8);
END_IF;