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) '接收字节数:4byte整数*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