import pprint import time import snap7 from snap7.util.getters import get_dint, get_lreal LOOPS = 20 counter = 0 while counter < LOOPS: try: plc = snap7.client.Client() plc.connect("172.16.3.231", 0, 2) # fagor 6 plc.connect("172.16.3.230", 0, 2) # fagor 5 # pprint.pprint(plc.get_cpu_state()) data = plc.db_read(9, 0, 4) # Define range of bytes to read energy_value = get_dint(data, 0) # Read energy value pprint.pprint(energy_value) except Exception as e: pprint.pprint(e) finally: plc.disconnect() counter += 1 time.sleep(3)