FP_ETHERNETIP_DATA_SET_BYTES

이더넷/IP 유닛의 전송 버퍼에 바이트 데이터 쓰기

이 FP 명령은 FP_ETHERNETIP_DATA_EXCHANGE_FB와 교환된 이더넷/IP 메시지에 대해 FP_ETHERNETIP_DATA_SEND_DUT에서 지정한 수신 데이터 버퍼로 바이트 데이터를 씁니다.

파라미터

입력

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

전송 데이터 버퍼에 작성할 바이트 데이터 시작 어드레스입니다.

nNumberOfBytes (WORD, INT, UINT)

전송 데이터 버퍼에 작성할 바이트 수입니다.

bAppendData (BOOL)

기존 버퍼에 데이터를 추가해야 한다는 플래그입니다.

  • FALSE 로 설정된 경우 전송 데이터 버퍼 크기가 0으로 설정되고 데이터가 첫 번째 위치에 기록됩니다.

  • TRUE로 설정된 경우 데이터는 현재 위치의 전송 데이터 버퍼에 기록되고 전송 데이터 버퍼 크기는 nNumberOfBytes만큼 증가합니다.

입력/출력

dutSendData(FP_ETHERNETIP_DATA_SEND_DUT)

전송 데이터 버퍼의 데이터 단위 유형.

에러 플래그

sys_bIsOperationErrorHold(TRUE로 전환되어 TRUE로 유지됨)
  • 인덱스 한정자를 사용하여 지정한 영역이 제한을 초과하는 경우.

  • 이더넷 유닛 구성에서 EtherNet/IP 기능을 사용하지 않는 경우.

  • 파라미터에 지정된 값이 허용 범위를 벗어난 경우.

sys_bIsOperationErrorNonHold(스캔 1회에 대해 TRUE로 전환)
  • 인덱스 한정자를 사용하여 지정한 영역이 제한을 초과하는 경우.

  • 이더넷 유닛 구성에서 EtherNet/IP 기능을 사용하지 않는 경우.

  • 파라미터에 지정된 값이 허용 범위를 벗어난 경우.

POU 헤더

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

	VAR
		awMessageData: ARRAY [0..1] OF WORD:=[16#0B0A,16#000C];
		bEncodeMessage: BOOL:=FALSE;
		bAppendData: BOOL:=FALSE;
		dutSendData: FP_ETHERNETIP_DATA_SEND_DUT;
		iNumberOfBytes: INT:=3;
	END_VAR

LD 본문

변수 bEncodeMessageTRUE로 설정되면 함수가 실행됩니다.

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 7 ;
        NETWORK_BODY
B(B_CONTACT,,bEncodeMessage,5,1,7,3,);
B(B_F,FP_ETHERNETIP_DATA_SET_BYTES!,,15,0,32,7,,?DEN?DDataStart?DnNumberOfBytes?DbAppendData?DdutSendData?AdutSendData?AENO);
B(B_VARIN,,awMessageData,13,2,15,4,);
B(B_VARIN,,iNumberOfBytes,13,3,15,5,);
B(B_VARIN,,bAppendData,13,4,15,6,);
B(B_VARIN,,dutSendData,13,5,15,7,);
L(1,0,1,7);
L(1,2,5,2);
L(7,2,15,2);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST 본문

if (bEncodeMessage) then
    FP_ETHERNETIP_DATA_SET_BYTES(DataStart := awMessageData,
                                  nNumberOfBytes := iNumberOfBytes,
                                  bAppendData := bAppendData,
                                  dutSendData := dutSendData);	
end_if;

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