Skip to main content

10.5.9.5. 사용예제2 – 바이너리 통신

10.5.9.5. 사용예제2 – 바이너리 통신

 

원격 PC로부터 시프트 데이터 10개를 바이너리 형식으로 수신하고, 결과 데이터를 바이너리 형식으로 송신하는 작업 프로그램입니다.

 

DIM liR,liB AS Integer

     _TEINPUT=-(4*6*10) '수신 바이트수: 4바이트정수*6개요소*10

     '

     '이더넷 설정 -----------

     ENET1.IP="192.168.1.172"

     ENET1.LPORT=500

     ENET1.RPORT=7000

     ENET1.OPEN 1

     CLR_RBUF ENET1

     '

     '시프트데이터 전송요청

     PRINT ENET1,"REQ_SHIFT" '시프트데이터 요청

     '

     '결과응답대기

     INPUT ENET1,BUFV[0],8,*NO_RESP

     '

     '결과해석 (signed integer, little endian, 4byte, x1000 정규화)

     'R101~R110  <=  BUFV[0~239]

     R1=(0,0,0,0,0,0)

     FOR liR=101 TO 110

       R1.X=BUFV[liB+0].s4/1000.

       R1.Y=BUFV[liB+4].s4/1000.

       R1.Z=BUFV[liB+8].s4/1000.

       R1.RX=BUFV[liB+12].s4/1000.

       R1.RY=BUFV[liB+16].s4/1000.

       R1.RZ=BUFV[liB+20].s4/1000.

       R[liR]=R1

       liB=liB+4*6

     NEXT

     '

     '결과 송신

     BUFV[500].s4=1 'ACK

     ENET1.SEND BUFV[500],4

     ENET1.OPEN 0

     END

     '

     '예외 처리 -----------

     *NO_RESP

     PRINT #0,"시프트데이터 요청에 대한 응답이 없습니다."

     END