단일 이더넷 유닛으로의 HTTP 전송 제어
이 FP 명령은 nTransferID(0-15)에서 지정한 단일 이더넷 유닛에 대한 HTTP 전송을 제어합니다. 유효한 제어 워드는 'ENABLE'
, 'DISABLE'
및 'CANCEL'
입니다.
입력
이더넷 유닛 ID(값: 0–15)
제어 문자열:
'ENABLE'
: 이더넷 유닛으로 HTTP 전송을 활성화합니다.
'DISABLE'
: 이더넷 유닛에 대한 HTTP 전송을 비활성화합니다.
'CANCEL'
: 이더넷 유닛에 대한 HTTP 전송을 취소합니다.
출력
다음 조건에서 TRUE로 전환:
연결 타임아웃 시간을 초과한 경우
IP 어드레스가 유효하지 않을 경우
에러가 발생하면 시스템 변수 sys_iEthernetConnectionErrorCode에서 에러 코드 번호를 확인하십시오.
문자 데이터의 문자수는 256을 초과하지 않아야 합니다.
인터럽트 프로그램에서는 이 명령을 사용할 수 없습니다.
문자 정수를 지정할 수 있는 오퍼랜드에 대문자와 소문자를 사용할 수 있습니다. "Abcd", "ABCD", "abcd"는 모두 동의어이지만 파일 이름에서는 대/소문자를 구분합니다.
명령을 실행하기 전에 FP_HTTP_SET_MODE 또는 HTTP 클라이언트의 설정 다이얼로그를 사용하여 전송 설정을 지정해야 합니다.
명령을 실행하기 전에 sys_bIsEthernetInitializing이 FALSE인지 확인하십시오. 명령이 실행되면 sys_bIsEthernetInitializing이 TRUE로 전환됩니다. sys_bIsEthernetInitializing이 TRUE일 때 명령을 실행하면 에러가 발생합니다.
이 명령이 성공적으로 실행되면 시스템 변수 sys_bIsCarry 및 sys_iEthernetConnectionErrorCode가 초기화됩니다.
전송 취소 요청을 처리하는 데 시간이 소요됩니다. FP_HTTP_GET_STATUS로 전송 상태를 확인하고 명령을 실행한 후에 전송이 중단되는지 확인합니다.
에러가 발생하면 시스템 변수 sys_iEthernetConnectionErrorCode에서 에러 코드 번호를 확인하십시오.
'ENABLE'
'DISABLE'
또는 'CANCEL'
이외의 제어 문자열이 sControl에 지정된 경우.
명령을 인터럽트 프로그램에서 실행한 경우.
문자열 데이터의 문자 수가 256자 이상인 경우.
FP_HTTP_SET_MODE 또는 HTTP 클라이언트의 설정 다이얼로그로 정의되지 않은 전송 설정이 지정된 경우.
'ENABLE'
'DISABLE'
또는 'CANCEL'
이외의 제어 문자열이 sControl에 지정된 경우.
명령을 인터럽트 프로그램에서 실행한 경우.
문자열 데이터의 문자 수가 256자 이상인 경우.
FP_HTTP_SET_MODE 또는 HTTP 클라이언트의 설정 다이얼로그로 정의되지 않은 전송 설정이 지정된 경우.
이더넷 초기화 중에 명령이 실행되면 sys_iEthernetConnectionErrorCode가 "11: 이더넷이 초기화 중입니다"
이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.
VAR
bEnable: BOOL:=FALSE;
bError: BOOL:=FALSE;
iID5: INT:=5;
END_VAR
bEnable가 FALSE에서 TRUE로 변경되면 명령이 실행됩니다. 제어 워드 'ENABLE'은 이더넷 유닛 5의 HTTP 전송을 활성화합니다.
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_VARIN,,iID5,15,2,17,4,);
B(B_VARIN,,'ENABLE',15,3,17,5,);
B(B_CONTACT,,bEnable,4,1,6,3,R);
B(B_VAROUT,,bError,32,2,34,4,);
B(B_F,FP_HTTP_TRANSFER_CONTROL!,,17,0,32,5,,?DEN?DnTransferID?DsControl?AENO?CbError);
L(1,2,4,2);
L(6,2,17,2);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
If DF(bDisable) then
FP_HTTP_TRANSFER_CONTROL(nTransferID := iID5,
sControl := 'DISABLE',
bError => bError);
End_If;