【发布时间】:2018-10-22 03:56:01
【问题描述】:
我有望远镜,它是用 PLC siemens 管理的。这个望远镜是远程的。我有一组可以通过 TCP/IP 发送来执行的命令。此命令为 ASCII 格式。这是脚本的简单示例:
import socket
TCP_IP = ''
TCP_PORT =
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((TCP_IP, TCP_PORT))
s.send('GLLG 0\r\n')
s.send('DOSO 0\r\n')
data = s.recv(1024)
print data
s.close()
我发送了两个命令。第一个用于登录,第二个用于打开圆顶。但我有两个半圆顶。当我发送这个打开穹顶的命令时,它只打开了穹顶的一半。
但是半圆顶打开之前需要一些时间,我必须等待发送下一个命令才能打开整个圆顶。我的问题是?
是否可以按照说明进行操作?
什么时候让一个命令自动发送另一个?
等到执行一个命令,然后再发送下一个命令?
【问题讨论】:
-
如果在前半部分打开之前发送后半部分的打开请求会怎样?
-
你发送的命令,完成后有回复吗?如果您可以控制协议,您可能会考虑在缺少协议时添加它。这种请求-响应在许多网络协议中非常很常见。
-
没什么...当我发送三个命令时 - 登录 - doso - doso 首先执行第二个命令。第三没有。但是当半圆顶打开并再次发送 doso 命令时,第二个半圆顶打开
-
是的,我得到重播 - 例如逻辑 1 我发送命令 login-doso-doso 并得到 1 1 1...但只执行前两个。
-
如果每个命令都得到回复,那么您应该等待它再发送下一个命令。