1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| MODULE Module1 VAR string rax_mode:=""; VAR string rax_sum_num:=""; VAR string rax_numBer{6}:=[" "," "," "," "," "," "]; VAR num r{6}:=[0,0,0,0,0,0]; VAR bool judge; VAR jointtarget p10:=[[0,0,0,0,0,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]]; VAR socketdev socket1; VAR string rax_sum:=""; PROC main() WHILE TRUE DO rIni; rRun; ENDWHILE ENDPROC PROC rIni() VAR num n; !TPErase; SocketClose socket1; WaitTime 0.3; SocketCreate socket1; SocketConnect socket1,"127.0.0.1",8080; SocketSend socket1\Str:="hello PC"; SocketReceive socket1\Str:=rax_sum\Time:=WAIT_MAX; rax_mode:=StrPart(rax_sum,1,8); rax_sum_num:=StrPart(rax_sum,9,StrLen(rax_sum)-8); TPWrite rax_mode; TPWrite rax_sum_num; FOR i FROM 1 TO 6 DO rax_numBer{i}:=StrPart(rax_sum_num,2+n,4); r{i}:=StrToNum(rax_numBer{i}); add n,5; TPWrite rax_numBer{i}; ENDFOR ENDPROC PROC rRun() IF rax_mode="MoveAbsJ" THEN p10.robax.rax_1:=r{1}; p10.robax.rax_2:=r{2}; p10.robax.rax_3:=r{3}; p10.robax.rax_4:=r{4}; p10.robax.rax_5:=r{5}; p10.robax.rax_6:=r{6}; MoveAbsJ p10\NoEOffs, v100,fine,tool0; ENDIF ENDPROC FUNC num StrToNum(string str) VAR num rax_numBer:=0; judge:=strToVal(str,rax_number); IF judge=true THEN RETURN rax_numBer; ELSEIF judge=FALSE THEN TPWrite "string erro"; ENDIF ENDFUNC ENDMODULE
|