那智机器人套接字通讯程序:
'TCP/IP_Socket(Server)
*INITIAL
reset o40
V1$=""
V2$=""
V3$=""
V4$=""
V5$=""
V6$=""
V7$=""
' 创建套接字1
V1$="Creat socket"
SOCKCREATE 1,0
IF E1%<0 THEN *ERROR
' 套接字1分配端口号
SOCKBIND 1,3000
IF E1%<0 THEN *ERROR
' 等待连接客服端
V1$="Socket Wait Connect"
SET O40
SOCKWAIT 1,2,0
IF E1%<0 THEN *ERROR
reset o40
*DOWNLINK '套接字2接收数据字符长度37个
V1$="jssj"
V20$="jszq1"
SOCKRECV 2,1,37,0,V101%
IF E1%<0 THEN *ERROR
V1$="jszq"
V20$="jszq2"
*DLINK_PROC '从缓冲区1提取分割数据
GETSTR 1,V2$,0,2
GETSTR 1,V3$,2,7
GETSTR 1,V4$,9,7
GETSTR 1,V5$,16,7
GETSTR 1,V6$,23,7
GETSTR 1,V7$,30,7
V1! = VAL(V3$)
V2! = VAL(V4$)
V3! = VAL(V5$)
V4! = VAL(V6$)
V5! = VAL(V7$)
IF ABS(V1!)>1 THEN *DataError
IF ABS(V2!)>1 THEN *DataError
IF ABS(V3!)>2 THEN *DataError
IF ABS(V4!)>2 THEN *DataError
IF ABS(V5!)>2 THEN *DataError
IF V2$="01" '取料修正
V10! = V3!
V11! = V4!
V12! = V5!
R1=(V1!,V2!,0,0,0,0)
ELSEIF V2$="02" '贴料修正
V13! = V3!
V14! = V4!
V15! = V5!
R2=(V1!,V2!,0,0,0,0)
ELSE
V20$="jszq2"
GOTO *DataError
ENDIF
*ReturnData '返回接收OK
V20$="jszq3"
SOCKSENDSTR 2,"01",LEN("01"),2,V100%
IF E1%<0 THEN *ERROR
'GOTO *DOWNLINK '套接字2接收数据字符长度37个
*DLINK_END
V1$="End"
SOCKCLOSE 1
SOCKCLOSE 2
GOTO *INITIAL
*DataError '数据错误处理 返回接收NG
V1$="Data Error"
SOCKSENDSTR 2,"-1",LEN("-1"),2,V100%
IF E1%<0 THEN *ERROR
V1$="End"
goto *DLINK_END
*ERROR '通讯错误处理
V1$="txcw"
V301%=E1%
V302%=E2%
SET O12
PAUSE 30
RESET O12
SOCKCLOSE 1
SOCKCLOSE 2
GOTO *INITIAL


