| 12
 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
 
 |