PYTHON通过TCP/IP通讯方式远程控制Epson机械臂
一,控制器程序(server)
程序示例
通讯函数:
#定义TCP连接
Function connect
SetNet #201, "192.168.1.90", 5000, CRLF, NONE, 0
OpenNet #201 As Server
Print "等待201端口连接"
WaitNet #201
Print "201端口连接成功"
Do
Input #201, data$
Print data$
Print #201, data$
Loop
Fend
注:
1,将机械臂控制器设定为服务器server端,设置RC软件通讯端口#201。TCP地址“192.168.1.90”
TCP端口5000
SetNet #201, "192.168.1.90", 5000, CRLF, NONE, 0
OpenNet #201 As Server
2,从#201口读取client发送来的数据,再将数据发送回client
Input #201, data$
Print #201, data$
初始化机械臂函数:
Function enable
Motor On
Power High
Speed 50
Accel 80, 80
Fend
main函数:
Global String data$
Function main
Call enable
Call connect
Fend
注:
1,声明变量用于接收和发送通讯数据
Global String data$
2,依次调用之前的两个函数
Call connect
二、客户端程序(client)
程序示例
#使用socket库
import socket
#AF_INET指网络层使用IP协议
#SOCK_STREAM指socket传输层使用TCP协议
clientSocket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
clientSocket.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)
clientSocket.connect(("192.168.1.90",5000))
#定义发送数据
sendData = "123"
#循环接收消息
while True
#发送消息需要编码为bytes类型
clientSocket.send((str(sendData).encode()) + b"\r\n")
#等待服务器传回数据,阻塞
recvData = clientSocket.recv(1024)
#若收到数据为空则跳出循环
if not recvData:
break