Added exception handling for MODBUS checksum error

This commit is contained in:
mj 2021-11-15 16:32:08 +01:00
parent c8f12ffb4a
commit 555861e27c

View File

@ -40,7 +40,7 @@ while True:
T_SCD4x_signed = instrument.read_register(T_SCD4x_signed_addr, 1, functioncode=4, signed=True) T_SCD4x_signed = instrument.read_register(T_SCD4x_signed_addr, 1, functioncode=4, signed=True)
with open(f'measurement_device_{slave_address}.csv', 'a+') as f: with open(f'measurement_device_{slave_address}.csv', 'a+') as f:
f.write(f'{time():.1f} {CO2} {T_SHT4x} {RH_SHT4x} {T_SCD4x} {RH_SCD4x} {T_SHT4x_signed} {T_SCD4x_signed}\n') f.write(f'{time():.1f} {CO2} {T_SHT4x} {RH_SHT4x} {T_SCD4x} {RH_SCD4x} {T_SHT4x_signed} {T_SCD4x_signed}\n')
except minimalmodbus.NoResponseError as e: except (minimalmodbus.NoResponseError, minimalmodbus.InvalidResponseError) as e:
readout_error_count += 1 readout_error_count += 1
with open('measure.log', 'a+') as logfile: with open('measure.log', 'a+') as logfile:
logfile.write(f'Read error for device {slave_address} at {time()} ({str(e)}) ({readout_error_count}/{readout_count} readouts failed)\n') logfile.write(f'Read error for device {slave_address} at {time()} ({str(e)}) ({readout_error_count}/{readout_count} readouts failed)\n')