이더넷/IP 유닛의 전송 버퍼에 데이터 쓰기
이 FP 명령은 FP_ETHERNETIP_DATA_EXCHANGE_FB와 교환된 이더넷/IP 메시지에 대해 FP_ETHERNETIP_DATA_SEND_DUT에서 지정한 수신 데이터 버퍼로 데이터를 씁니다.
입력
전송 버퍼에 기록될 데이터.
전송 버퍼에 쓸 데이터의 양은 연결된 변수의 데이터 유형에 따라 다릅니다.
데이터 유형 STRING의 경우, 현재 문자열 길이와 문자가 전송 버퍼에 기록됩니다.
부울 변수는 허용되지 않습니다.
기존 버퍼에 데이터를 추가해야 한다는 플래그입니다.
FALSE로 설정된 경우 전송 버퍼는 전송 버퍼에 데이터를 쓰기 전에 지워집니다.
TRUE로 설정된 경우 전송 버퍼가 지워지지 않고 데이터가 버퍼에 이미 있는 데이터에 추가됩니다.
데이터가 FP_ETHERNETIP_DATA_SEND_DUT의 바이트 위치 iDataSize_Bytes에서 awData 멤버에 추가됩니다.
입력/출력
전송 데이터 버퍼의 데이터 단위 유형.
인덱스 한정자를 사용하여 지정한 영역이 제한을 초과하는 경우.
이더넷 유닛 구성에서 EtherNet/IP 기능을 사용하지 않는 경우.
파라미터에 지정된 값이 허용 범위를 벗어난 경우.
인덱스 한정자를 사용하여 지정한 영역이 제한을 초과하는 경우.
이더넷 유닛 구성에서 EtherNet/IP 기능을 사용하지 않는 경우.
파라미터에 지정된 값이 허용 범위를 벗어난 경우.
이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다.모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.
VAR
bAppend: BOOL:=FALSE;
bEnable: BOOL:=FALSE;
sData: STRING[32]:='';
dutSend: FP_ETHERNETIP_DATA_SEND_DUT;
END_VAR
변수 bEnable이 TRUE로 설정되면 함수가 실행됩니다.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 6 ;
NETWORK_BODY
B(B_CONTACT,,bEnable,4,1,6,3,);
B(B_F,FP_ETHERNETIP_DATA_SET!,,17,0,31,6,,?DEN?DData?DbAppendData?DdutSendData?AdutSendData?AENO);
B(B_VARIN,,sData,15,2,17,4,);
B(B_VARIN,,bAppend,15,3,17,5,);
B(B_VARIN,,dutSend,15,4,17,6,);
L(1,0,1,6);
L(1,2,4,2);
L(6,2,17,2);
END_NETWORK_BODY
END_NET_WORK
END_BODY
If (bEnable) Then
FP_ETHERNETIP_DATA_SET(Data := sData,
bAppendData := bAppend,
dutSendData := dutSend);
End_if;