ABB机器人通过Socket传输数据时的数据解包

PROC UnPack()
        !通过逗号分开字符
        Num_Cmd_Start :=1;
        Num_Cmd_End :=StrFind(Str_Rcv,Num_Cmd_Start,",");
        Num_Cmd_Len:=Num_Cmd_End-Num_Cmd_Start;
        
        Num_State_Start :=Num_Cmd_End+1;
        Num_State_End :=StrFind(Str_Rcv,Num_State_Start,",");
        Num_State_Len:=Num_State_End-Num_State_Start;
        
        Num_X_Start :=Num_State_End+1;
        Num_X_End :=StrFind(Str_Rcv,Num_X_Start,",");
        Num_X_Len:=Num_X_End-Num_X_Start;
        
        Num_Y_Start :=Num_X_End+1;
        Num_Y_End :=StrFind(Str_Rcv,Num_Y_Start,",");
        Num_Y_Len:=Num_Y_End-Num_Y_Start;
        
        Num_R_Start :=Num_Y_End+1;
        Num_R_End :=StrFind(Str_Rcv,Num_R_Start,",");
        Num_R_Len:=Num_R_End-Num_R_Start;
        
        !提取字符串
        
        Str_Cmd:=strpart(Str_Rcv,Num_Cmd_Start,Num_Cmd_Len); 
        Str_State:=strpart(Str_Rcv,Num_State_Start,Num_State_Len); 
        Str_X:=strpart(Str_Rcv,Num_X_Start,Num_X_Len); 
        Str_Y:=strpart(Str_Rcv,Num_Y_Start,Num_Y_Len); 
        Str_R:=strpart(Str_Rcv,Num_R_Start,Num_R_Len); 
        
        TPWrite Str_Cmd; 
        TPWrite Str_State; 

         !字符串转换为数值,并返回状态
        Bool_X:= StrToVal(Str_X,Num_X);  
        TPWrite "Num_X"\Num:=Num_X; 
        Bool_Y:= StrToVal(Str_Y,Num_Y);  
        TPWrite "Num_Y"\Num:=Num_Y; 
        Bool_R:= StrToVal(Str_R,Num_R);  
        TPWrite "Num_R"\Num:=Num_R;       
        
    ENDPROC

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值