【发布时间】:2017-07-27 08:50:42
【问题描述】:
我们想通过 wifi 与 PLC 自动连接。当覆盆子启动并自动运行他的程序时。它应该是一个独立的树莓派,所以我们没有键盘或任何东西。我们通过 snap7 发送数据。 这可行,但如果 wifi 断开连接,我会收到此错误:“ISO:recv TCP 期间发生错误:连接超时” 有时在程序开始时我们会收到这个错误:“Snap7Exception: TCP : Unreachable peer”
我的程序停止了,但我们应该有一些东西,所以我们的 wifi 会在不停止程序的情况下再次重新连接。我想我们需要一些东西来捕捉我们的错误并在程序中使用它来尝试或其他东西。
我此时的程序:
import snap7
import struct
import time
from snap7.snap7exceptions import Snap7Exception
import re
from ctypes import c_int, c_char_p, byref, sizeof, c_uint16, c_int32, c_byte
from ctypes import c_void_p
client = snap7.client.Client()
db_number = 109
print('Press Ctrl-C to quit.')
while True:
if client.get_connected() == False:
client.connect('192.168.5.2', 0, 1) #('IP-address', rack, slot)
print('not connected')
time.sleep(0.2)
else:
print('connected')
【问题讨论】:
标签: python tcp raspberry-pi