Ошибка Python Tkinter во время связи с snap7
Я столкнулся с ошибкой во время связи приложения Tkinter с моим контроллером ПЛК: "Не удалось найти обработчики для регистратора"snap7.common"". Проблема в том, что когда это происходит, моя связь при рукопожатии не работает, и мои значения в реестре перезаписываются дважды, а не один раз. Я не могу установить связь с помощью рукопожатия. Эта часть кода выглядит так:
def CHECK():
if __name__ == "__main__":
try:
plc = c.Client()
plc.connect('192.168.0.1', 0, 1)
ReadMemoryCheck(plc, 0, 0, S7WLBit)
if ReadMemoryCheck(plc, 0, 2, S7WLBit) == True and len(df)>0:
#with toExcel_upis_csv_gotovo fun i write to csv file that part is done and call for second one
toExcel_upis_csv_gotovo()
#with Start function I write new value to controller with
Start()
#with WriteMemoryCheck fun I set bit to 0 signalling to controller that I have written new value
WriteMemoryCheck(plc, 0, 0, S7WLBit, False)
except:
pass
#call CHECK fun every 2 sec
root.after(2000, CHECK)
Во время этого шага я получаю сообщение об ошибке "Не удалось найти обработчики для регистратора"snap7.common"", и я не знаю, что происходит. Из-за этой ошибки я не могу писать в ПЛК, а Tkinter полностью пропускает "Проверочную функцию", поэтому технически я вызываю его дважды, потому что мой бит флага (отправка новых значений в ПЛК) не устанавливается в 0? Как я могу убедиться, что, если появится эта ошибка, она запишет все, как должно? каждые 20 пишет, это не всегда и не точно.