If you are so familiar with these things, then what is the problem ?
But OK, each scanner that you insert in a SLC500 rack will provide 32 input words and 32 output words.
If the scanner is in the first slot after the CPU, then the i/o addresses will all have a ".1" in them to tell that they are from slot 1. Like I:1.0/0 for the first digital input address, and O:1.0/0 for the first output address.
You have to setup the scanner in the IO configuration in RSLogix. Under "adv. config" you will find the "edit G data" button.
By adding "racks" to the list of devices you match the real i/o on the RIO network.
What is confusing here is that "logical rack" is not directly related to a physical rack. A "logical rack" is 8 input words and 8 output words. If you need less than that for a device, you can assign a 1/2 rack or a 1/4 rack or 3/4 rack to save some of the precious RIO address space. Likewise, it is possible to assign more than one logical rack to a physical rack if you need more than 8+8 i/o words.
You must match the settings that you make in the G file, with the settings in the i/o racks. This is typically done with dipswitches in the RIO adapters in the remote racks.
All that these i/o addresses can reach are the digital i/o.
Specialty modules such as analog i/o must be accessed via block transfers. There are BTR and BTW instructions available for this purpose (*). AB have examples for the various analog modules on their knowledgebase. I recommend that you find the instructions that match your analog modules, and use these as a template.
The M0 and M1 files are used with the block transfers.
The M files access the scanner module directly, so lots of block transfers will increase your program cycle time.
*: If the firmware version of the CPU is recent enough.