#python #pymodbus
Вопрос:
Я пытаюсь опросить 2 подчиненных устройства в цикле for, а затем вставить результат в базу данных. Для этого я попробовал что-то вроде этого:
def Poll(): Maq = [47,35] Unity = 0 for i in range(2): Unity = i 1 try: client = ModbusTcpClient(host='10.1.4.100' , port = 1000 , framer= ModbusRtuFramer, timeout = 2) client.connect() Result = client.read_holding_registers(30, count = 6, unit = Unity) a = Result.registers[5] except: print(Result)
когда я делаю это так, я получаю ожидаемый результат, например : [5506 0]. но если я попытаюсь добавить второй метод, независимо от того, что это такое, но, например, что-то вроде этого:
def insert(): print(" inserto:" " " a)
конечно , я изменяю poll() для выполнения insert, но он сразу переходит к исключению, только «ошибки нет», ответ, который я получаю, является обычным результатом, например : ReadHoldingRegistersResponse (6) это означает, что даже если это исключение, я все равно получил ожидаемый результат, который не имеет смысла.
Кто-нибудь знает, что происходит?.