回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>这是我的python-modbus-tcp通信代码,它在这条线上等待,然后停止连接,我的错误是:</p>
<pre><code>sock.connect((TCP_IP, TCP_PORT))
</code></pre>
<p>(如果我使用从程序也不工作)
在我的客户端,我使用以下代码:</p>
^{pr2}$
<p>这是主界面:</p>
<pre><code># Create a TCP/IP socket
TCP_IP = '10.0.2.2'
TCP_PORT = 502
BUFFER_SIZE = 39
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((TCP_IP, TCP_PORT))
try:
unitId = 16 # Plug Socket11
functionCode = 3 # Write coil
print("\nSwitching Plug ON...")
coilId = 1
req = struct.pack('12B', 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, int(unitId), 0x03, 0xff, 0xc0, 0x00,
0x00)
sock.send(req)
print("TX: (%s)" % req)
rec = sock.recv(BUFFER_SIZE)
print("RX: (%s)" % rec)
time.sleep(2)
print("\nSwitching Plug OFF...")
coilId = 2
req = struct.pack('12B', 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, int(unitId), 0x03, 0xff, 0xc0, 0x00,
0x00)
sock.send(req)
print("TX: (%s)" % req)
rec = sock.recv(BUFFER_SIZE)
print("RX: (%s)" % rec)
time.sleep(2)
finally:
print('\nCLOSING SOCKET')
sock.close()
</code></pre>