print("modbus test") # Настройки клиента Modbus MODBUS_SERVER_HOST = "192.168.70.55" # IP-адрес Modbus-сервера MODBUS_SERVER_PORT = 502 MODBUS_SLAVE_ID=11 from pymodbus.client import ModbusTcpClient from pymodbus.constants import Endian from pymodbus.payload import BinaryPayloadDecoder def bulb(addr): try: coils = client.read_coils(addr, 1, MODBUS_SLAVE_ID) print("читаем начальное состояние", coils.bits) new_bits = coils.bits new_bits[0] = not new_bits[0] print("пытаемся записать", new_bits, coils.slave_id) result = client.write_coil(addr, new_bits[0], coils.slave_id) print(result) print("читаем после попытки", client.read_coils(0, len(coils.bits), coils.slave_id).bits) except Exception as e: raise e client = ModbusTcpClient( MODBUS_SERVER_HOST, port=MODBUS_SERVER_PORT, ) client.connect() try: bulb(1) except Exception as e: print("error", e) client.close()