Blocks are the most effective method increase the productivity and save time in building a large automation project or a series of projects that are repeated.
The classic example of the use of Blocks in large automation projects is to create a block for use with the each controller type in your project. First, parameters would be built that reflect Setpoint, Measurement, Output, Auto/Manual, Remote Local, Tuning parameters, etc. Next, these parameters would be assembled into a block type. This block type would be used as a template to create hundreds of Controller Blocks in your project.
For Blocks to work well, the addressing in each controller must be similar with some predictable offset or pattern.