Hi,
I know, the question is rather old, but maybe it will help someone else!
The Holding Registers are normally starting with 4xxxx and not like in Your example 50520.
And You don't have to write the 4 in the beginning.
So if You want to read the register 40520, the line should look like this:
logger.info(master.execute(5, cst.READ_HOLDING_REGISTERS,
520, 22))
Hope this helps.
Klaus