• 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 socket3Str:=string1;
            SocketReceive socket3Str:=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()函数,下面进行相应解释

     

     

    心之所向 素履以往
  • 相关阅读:
    sscanf()
    分享:Python字符编码详解
    STL priority_queue使用
    google maps 控件controller
    Google Maps Overlays叠加层
    java JDBC配置和使用
    转:总结java的interface和abstract class
    java 多线程 之 生产者和消费者
    一个简单的marker和infowindow
    java Nested Classes
  • 原文地址:https://www.cnblogs.com/RobotCode/p/12956395.html
Copyright © 2020-2023  润新知