Python TCP / IP - 发送命令

时间:2014-02-20 15:11:18

标签: python tcp

我有望远镜,它由PLC西门子管理。这台望远镜很遥远。我有一组命令可以通过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()

我发送了两个命令。首先是登录,第二个是打开圆顶。但我有两个半圆顶。当我发送这个命令打开圆顶时,它只打开圆顶的一半。

但在半圆顶打开前需要一些时间,我必须等待发送下一个命令打开整个圆顶。我的问题是?

是否可以按照说明进行操作?

当一个命令自动发送另一个命令时?

等到执行一个命令后再发送下一个命令?

1 个答案:

答案 0 :(得分:1)

如果PLC发送某种类型的响应,确认圆顶打开完成,请阅读,然后发送下一个命令。

另外请确保将所有字符串作为二进制文件发送,除非您的PLC可以处理unicode。