ABB机器人关于TCP/IP的通讯操作

主要是把机器人当客户端对服务端的通讯,下面是机器人程序

MODULE CameraScoketCom
    VAR socketdev socket3;
    VAR string string1;
    VAR string string9;
    VAR string string10;
    VAR string one;
    VAR string two;
    VAR string there;
    VAR string four;
    VAR num char1;
    VAR num char2;
    VAR num end1;
    VAR num end2;
    VAR num star2;
    VAR num star3;
    VAR num end3;
    VAR num star4;
    VAR num end4;
    VAR bool ok;
    VAR pos pos1;
    PROC pkcamera3()
        SocketClose socket3;
        SocketCreate socket3;
        SocketConnect socket3, "192.168.100.91", 3000;
        SocketSend socket3\Str:=string1;
        SocketReceive socket3\Str:=string10;
        char1 := StrLen(string9);
        char2 := StrLen(string10);
        IF char1 >= char2 THEN
            GOTO guo1;
        ENDIF
        end1 := StrFind(string10,1,")");
        end2 := StrFind(string10,1,"}");
        star2 := StrFind(string10,1,"{");
        !star3 := StrFind(string9,1,"*");
        !end3 := StrFind(string9,1,"#");
        star3 := StrFind(string10,1,"C");
        end3 := StrFind(string10,1,"c");
        star4 := StrFind(string10,1,"A");
        end4 := StrFind(string10,1,"a");
        !star5 := StrFind(string9,1,"B");
        !end5 := StrFind(string9,1,"b");
        one := StrPart(string10,2,end1 - 2);
        two := StrPart(string10,star2 + 1,end2 - star2 - 1);
        there:=StrPart(string10,star3 + 1,end3 - star3 - 1);
        four:=StrPart(string10,star4 + 1,end4 - star4 - 1);
        !five:=StrPart(string9,star5 + 1,end5 - star5 - 1);
        !there := StrPart(string9,star3+1 ,2);
        !six := StrPart(string9,star3 + 3,end3 - 3 - star3);
        ok := StrToVal(one,pos1);
        ok := StrToVal(two,pos1);
        ok := StrToVal(there,pos1);
        ok := StrToVal(four,pos1);
        guo1:
    ENDPROC
ENDMODULE

其中socket通讯为两种,第一种是作客户端就是图上的编写方法,第二种是作服务器如下图所示,推荐第一种方法,第二种每次连接后再次连接前面必须关闭创建的套接字

SocketCreate server_socket;
SocketBind server_socket,"192.168.0.1", 1025;
SocketListen server_socket;
SocketAccept server_socket, client_socket;

得到外部设备发过来的字符串需要进行相应的处理,上面用到了strFind()、StrPart()、StrToVal()函数,下面进行相应解释

 

 

 

 

 

posted @ 2020-05-25 13:30  行云777  阅读(3519)  评论(0编辑  收藏  举报