使用python脚本连接和控制设备

使用python脚本连接和控制设备,python,tcp,Python,Tcp,我试图通过使用python脚本通过TCP/IP向机器人手臂发送一个字符来控制机器人手臂的控制器。我已经尝试将它与自己的程序一起使用,而且它是有效的。现在,如果我通过以太网将我的计算机连接到该控制器,并运行python脚本,它不会给我任何错误,但考虑到我将控制器编程为通过TCP/IP连续发送一封信,我不会收到任何错误。 机器人是三菱公司生产的RV-2F-D,脚本如下: import socket import time BUFFER_SIZE = 4 s = socket.socket(sock

我试图通过使用python脚本通过TCP/IP向机器人手臂发送一个字符来控制机器人手臂的控制器。我已经尝试将它与自己的程序一起使用,而且它是有效的。现在,如果我通过以太网将我的计算机连接到该控制器,并运行python脚本,它不会给我任何错误,但考虑到我将控制器编程为通过TCP/IP连续发送一封信,我不会收到任何错误。 机器人是三菱公司生产的RV-2F-D,脚本如下:

import socket
import time

BUFFER_SIZE = 4
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM, 
proto=socket.IPPROTO_TCP)
print("Socket created")
c = socket.getaddrinfo("192.168.21.250",10007,proto=socket.IPPROTO_TCP)
s.connect(("192.168.21.250",10007))
print("Connected to device")
data = s.recv(BUFFER_SIZE)
print(data)
print(c)
s.close()
我能做什么?你能给我一些建议吗?

我用过一些房车(6号和12号)。 您可以使用ssh和ftp访问控制器。 要通过TCP/IP进行访问,必须配置控制器。 必须插入TCP端口和源IP地址。
然后您可以使用robot,但请注意,他只接受mxt记录。

您没有在任何地方保存s.recv的返回值。。。请尝试data=s.recv(缓冲区大小),然后打印。抱歉,我删除了该部分。。。在我的脚本中,我写了
data=s.recv(BUFFER\u SIZE)
,然后
print(data)
我建议在这里阅读整个教程:。简而言之,套接字不能保证返回您要求的字节数。您可能希望实现一个名为
recvall()
的函数,该函数将连续读取,直到收到指定的字节数为止。