FTP 전송 요청
이 FP 명령은 전송을 시작하기 위해 nTransferID에 지정된 FTP 클라이언트로 요청을 보냅니다.
입력
FTP 클라이언트 ID 설정
값: 0-15
출력
다음 조건에서 TRUE로 전환:
연결 타임아웃 시간을 초과한 경우
IP 어드레스가 유효하지 않을 경우
에러가 발생하면 시스템 변수 sys_iEthernetConnectionErrorCode에서 에러 코드 번호를 확인하십시오.
인터럽트 프로그램에서는 이 명령을 사용할 수 없습니다.
명령을 실행하기 전에 FP_FTP_SET_MODE 또는 FTP 클라이언트의 설정 다이얼로그를 사용하여 전송 설정을 지정해야 합니다.
명령을 실행하기 전에 시스템 변수 sys_bIsEthernetFTPClientReady가 TRUE인지 확인합니다. FALSE인 경우에는 명령을 실행할 때 에러가 발생합니다.
명령을 실행하기 전에 sys_bIsEthernetInitializing이 FALSE인지 확인하십시오. 명령이 실행되면 sys_bIsEthernetInitializing이 TRUE로 전환됩니다. sys_bIsEthernetInitializing이 TRUE일 때 명령을 실행하면 에러가 발생합니다.
sys_bIsEthernetCableNotConnected가 FALSE인 경우에만 명령을 실행할 수 있습니다.
지정된 전송 설정에 대한 전송 요청 플래그가 "FALSE: 전송 요청 없음"인 경우에만 이 명령이 실행됩니다. 전송 요청 플래그가 "TRUE: 전송 요청됨"이면, 연산 에러가 발생합니다.
이 명령이 성공적으로 실행되면 시스템 변수 sys_bIsCarry 및 sys_iEthernetConnectionErrorCode가 초기화됩니다.
에러가 발생하면 시스템 변수 sys_iEthernetConnectionErrorCode에서 에러 코드 번호를 확인하십시오.
인덱스 한정자를 사용하여 지정한 영역이 제한을 초과하는 경우.
파라미터에 지정된 값이 허용 범위를 벗어난 경우.
명령을 인터럽트 프로그램에서 실행한 경우.
명령이 실행될 때 시스템 변수 sys_bIsEthernetFTPClientReady가 FALSE인 경우.
명령이 실행될 때 지정된 전송 설정에 대한 전송 요청 플래그가 "TRUE: 전송 요청됨"인 경우
FP_FTP_SET_MODE 또는 FTP 클라이언트의 설정 다이얼로그로 정의되지 않은 전송 설정이 지정된 경우.
인덱스 한정자를 사용하여 지정한 영역이 제한을 초과하는 경우.
파라미터에 지정된 값이 허용 범위를 벗어난 경우.
명령을 인터럽트 프로그램에서 실행한 경우.
명령이 실행될 때 시스템 변수 sys_bIsEthernetFTPClientReady가 FALSE인 경우.
명령이 실행될 때 지정된 전송 설정에 대한 전송 요청 플래그가 "TRUE: 전송 요청됨"인 경우
FP_FTP_SET_MODE 또는 FTP 클라이언트의 설정 다이얼로그로 정의되지 않은 전송 설정이 지정된 경우.
이더넷 케이블이 분리된 상태에서 명령이 실행되는 경우. sys_iEthernetConnectionErrorCode "10: 이더넷 케이블 분리"로 설정됩니다.
이더넷 초기화 중에 명령이 실행되면 sys_iEthernetConnectionErrorCode가 "11: 이더넷이 초기화 중입니다"
이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.
VAR
iID10: INT:=10;
bTransferRequestError: BOOL:=FALSE;
bTransferRequest: BOOL:=FALSE;
END_VAR
VAR
iID10: INT:=10;
bTransferRequestError: BOOL:=FALSE;
bTransferRequest: BOOL:=FALSE;
END_VAR
bTransferRequest가 FALSE에서 TRUE로 변경되고 시스템 변수 sys_bIsEthernetFTPClientReady가 TRUE이면 명령이 실행됩니다. FTP 전송은 이더넷 유닛 10에 요청됩니다.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 4 ;
NETWORK_BODY
B(B_CONTACT,,bTransferRequest,5,1,7,3,R);
B(B_VAROUT,,bTransferRequestError,40,2,42,4,);
B(B_VARIN,,iID10,23,2,25,4,);
B(B_F,FP_FTP_TRANSFER_REQUEST!,,25,0,40,4,,?DEN?DnID?AENO?CbError);
B(B_CONTACT,,sys_bIsEthernetFTPClientReady,16,1,18,3,);
L(1,2,5,2);
L(7,2,16,2);
L(18,2,25,2);
L(1,0,1,4);
END_NETWORK_BODY
END_NET_WORK
END_BODY
If DF(bTransferRequest) AND sys_bIsEthernetFTPClientReady then
FP_FTP_TRANSFER_REQUEST(nTransferID := iID10,
bError => bTransferRequestError);
End_if;