import minimalmodbus
mb_address = 1
modbus_read = minimalmodbus.Instrument('/dev/ttyUSB0',mb_address)
modbus_read.serial.baudrate = 38400
modbus_read.serial.bytesize = 8
modbus_read.serial.parity = minimalmodbus.serial.PARITY_NONE
modbus_read.serial.stopbits = 1
modbus_read.serial.timeout = 0.5
modbus_read.mode = minimalmodbus.MODE_RTU
modbus_read.clear_buffers_before_each_transaction = True
modbus_read.close_port_after_each_call = True
print("")
print("Requesting Data ...")
# NOTE-- Register addresses are offset from 40001 so inputting register 0 in the code is actually 40001, 3 = 40004 etc...
# Arguments - (register start address, number of registers to read, function code)
data =modbus_read.read_registers(148, 1, 3)
print("")
print("The totalcurrent is",data)
modbus_read.serial.close()
THE ERROR IS: