使用Python的场合越来越多,用Python做开发测试的童鞋们也越来越多。Python和ABB机器人最简单的通讯方式就是socket啦。
今天来介绍下ABB机器人与Python的socket通讯。
首先机器人要有616-1 PC Interface 选项。
此处以机器人作为client为例,代码如下:
PROCmain() SocketClose socket1; SocketCreate socket1; SocketConnect socket1,"127.0.0.1",1234; !连接Server的IP和端口 WHILETRUEDO SocketSend socket1Str:="Hello From RAPID" +" "+CTime(); !举例发送字符串和当前时间 SocketReceive socket1Str:=received_string; TPWrite received_string; !接受字符串并打印 waittime 2; ENDWHILE
Python端,可以创建实例代码如下:
import socketimport time# 建立一个服务端server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)server.bind(('localhost',1234)) #绑定要监听的端口server.listen(5) #开始监听 表示可以使用五个链接排队while True:# conn就是客户端链接过来而在服务端为期生成的一个链接实例 conn,addr = server.accept() #等待链接,多个链接的时候就会出现问题,其实返回了两个值print(conn,addr)while True: data = conn.recv(1024) #接收数据print('recive:',data.decode()) #打印接收到的数据 d='Hello from Python '+time.strftime("%H:%M:%S", time.localtime()) conn.send(d.encode(('utf-8'))) #然后再发送数据 conn.close()
先运行作为server的Python代码再运行机器人代码,两者即可通讯,测试结果如下:
Python接受并输出
机器人接受并输出
|