Trying to figure out the best way of controlling industrial PLC's with Raspberry Pi/linux server - specifically using python and pymodbus (modbusTCP) over ethernet...
Once the PLC internal registry is mapped properly to modbus, can software written in python take the place of ladder logic programming in the PLC and control it completely? 
Or will ladder logic/ native PLC code still need to be written?
Well let's assume that you have really efficient code. And you created some dictionaries, did some lambda. You can cycle through a logic set of 2000 IO points in 5ms. 
I do this in Lua everyday. PLC hardware is FPGA based. But never scan faster than 10ms. Using data slows them down. And usually end up at a 25ms scan. 
Python and Lua programmed correctly can scan at 1-2ms over 2600 lines of code. 
You need a C wrapper to run the scan. Use TCP modbus devices. And never more than 32 IO per IP address. It's actually very easy.
Those who do not know PLC's or only know PLC's will steer you in the wrong direction. Do your homework. Learn Lua. And then prove them wrong.
Hope that helps.
can python software take place of logic ladder program in PLC through modbus?