import pymodbus
from pymodbus.client.sync import ModbusTcpClient
from time import sleep
connection = False
data = {}
while True:
if not connection:
client = ModbusTcpClient(host="176.219.185.16", port="502")
connection = client.connect()
if connection:
print("connected")
if connection == True:
if not client.is_socket_open():
print("connection is broken")
connection = False
data = client.read_holding_registers(address=150,count=10,unit=1).registers
sleep(2)
print(data)
Этот код работает в Windows. Но я запускаю его в клиенте raspberry pi. Is_socket_open возвращает false после чтения регистров хранения. Как я могу это решить? Или в чем проблема? Я не заставляю клиента закрываться.