You have to choose a network type and and I/O type.
Your main choices for a network type with a 5/04 are going to be RIO, C-NET, or Devicenet. I have zero experience with devicenet, but lots with RIO. It is very reliable, fairly easy to configure, and fast enough for most applications. Controlnet is much more difficult to work with, but very fast. For controlnet, you will need RSNetworx for Controlnet software, tools to make good BNC connections, and a lot of little parts and pieces to put it all together. RIO is extremely easy to work with. One 3 wire cable daisy chained from the scanner to all the adapters with terminating resistors at the end links, a little configuration and you're done.
With DNET you can use point i/o, flex i/o, or compact i/o. With RIO you can use block i/o, flex i/o, or slc i/o. I have never used compact i/o. I don't particularly like flex I/O. I do like SLC i/o, and have used block I/O with no problems.
Block I/O has a built in comm adapter and is available with both inputs and outputs, but for 120vac outputs, the most you can get in a combo unit is 16 outputs. (You can get 32 outputs in a single unit, and 32 inputs in another single unit) If you used 24VDC for control, you could use a single unit for each station with 32 inputs and 32 outputs. Block I/O has removable terminal blocks for easy replacement, but with 120vac control power, you'd have two of them per panel. I thinks it's more rugged than flex i/o, but takes A little more space:
(1)1791-32B0 (or 16A0)
(1)1791-OA32
Putting a four slot SLC i/o panel in each station will cost more but take less space than two block i/o modules:
(1)1746-A4 (Chassis)
(1)1746-P2 (Power Supply)
(1)1747-ASB
(2)1746-OA16
(1)1746-IA16
I would weigh (heavily) into the decision what types of communications and i/o are already in use in the plant.