Added error counting to measure_multiple_devices.py
This commit is contained in:
parent
852de86755
commit
11e7c8c124
@ -4,14 +4,18 @@ from sys import exit
|
|||||||
import minimalmodbus
|
import minimalmodbus
|
||||||
import serial
|
import serial
|
||||||
|
|
||||||
slave_address_list = [ 252, 253 ]
|
#slave_address_list = [ 252, 253 ]
|
||||||
|
slave_address_list = [ 254 ]
|
||||||
|
|
||||||
# read
|
# read
|
||||||
|
readout_count = 0
|
||||||
|
readout_error_count = 0
|
||||||
while True:
|
while True:
|
||||||
for slave_address in slave_address_list:
|
for slave_address in slave_address_list:
|
||||||
|
readout_count += 1
|
||||||
# initialize modbus
|
# initialize modbus
|
||||||
instrument = minimalmodbus.Instrument('/dev/rs485', slave_address, close_port_after_each_call=True) # port name, slave address (in decimal)
|
instrument = minimalmodbus.Instrument('/dev/rs485', slave_address, close_port_after_each_call=True) # port name, slave address (in decimal)
|
||||||
instrument.serial.baudrate = 115200
|
instrument.serial.baudrate = 19200
|
||||||
instrument.serial.bytesize = 8
|
instrument.serial.bytesize = 8
|
||||||
instrument.serial.parity = serial.PARITY_EVEN
|
instrument.serial.parity = serial.PARITY_EVEN
|
||||||
instrument.serial.stopbits = 1
|
instrument.serial.stopbits = 1
|
||||||
@ -37,7 +41,8 @@ while 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 as e:
|
||||||
|
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)})\n')
|
logfile.write(f'Read error for device {slave_address} at {time()} ({str(e)}) ({readout_error_count}/{readout_count} readouts failed)\n')
|
||||||
continue
|
continue
|
||||||
sleep(10)
|
sleep(10)
|
||||||
|
Loading…
Reference in New Issue
Block a user