All physical I/O is tagged in the form as rdrast states :-
Location:Slot:Type
as in:-
Local:4:I.Data.7 (Discrete Input in local chassis)
Local:7:O.Ch3Data (Analog Output in local chassis)
Remote:3:O.Data.15 (Discrete Output in remote chassis, connection named "Remote")
Usually, programmers then create Alias Tags to indirectly refer to the physical I/O tags, like "Valve17_Open" alias for "Remote:4:I.Data.0".
In the local chassis, all such I/O addresses are pure, BUT be wary of Remote I/O tags.
It is possible (and common) for the remote connection to be created as a "Rack optimised" connection (Comm Mode). What this means is that the remote I/O chassis communication module ("adaptor" if you like), is set-up to <a> collect discrete Input data from the chassis I/O modules, and <b> dole out discrete output data to the chassis Output modules. It exchanges this I/O data with the controller in special Tags called "Rack-Optimised" tags. Network traffic is drastically reduced by doing this.
To make this work, the Rack Optimised I/O tags are created when you insert the comms module, eg. Remote:I, and Remote:O. These tags contain arrays of the I/O data, one 32-bit word for each slot in the remote chassis (that is why you are asked for the chassis size of the remote chassis when configuring it in the I/O tree).
When the remote chassis I/O modules are then inserted into the project, the physical I/O tags are automatically created as aliases to the "Rack-Optimised" tags.
eg. Remote:3:O.Data.15 alias for Remote:O.Slot[3].Data.15
Like I said this all happens automatically, leaving the programmer to concentrate on creating alias tags to the Location:Slot:Type form of the i/o address, which is now itself an alias to the rack-optimised tag.
eg. Valve17_Open alias for Remote:4:I.Data.0 alias for Remote:I.Slot[4].Data.0
This double aliasing confuses the hell out of many people until they get a grasp of it.
If you were to create a (programmers) alias tag like:-
Valve17_Open alias for Remote:I.Slot[4].Data.0 you are effectively by-passing the rack optimisation, and duplicating the network traffic that is already in place to convey that I/O data.
HTH