I have to design an industrial system that is comprised of several modules. The system consists of one "master" and several "slaves". As the roles imply, the master will coordinate communications and poll the slaves.
Let me show you the way these master and slaves have to be connected before going any further since that is key to understanding my questions.
Both master and slave modules will be DIN-rail mounted and will be created using these electronic enclosures:
These enclosures work on a TBUS system and mount on the DIN rail over connectors like these:

So it will look something like this:
So, what I'm having problems with my design is how to reliably and robustly create the communications between these modules. At first, I thought about RS485 or CAN but I think both would be overkill. I'm not sure if they would work in such a bus since the connection between modules is very short, there are no twisted pair cables communicating each module over long distances so I'm not sure RS485 or CAN make sense electrically or if they would work because I don't have something like this:
Or this:
I think the best way to do this is just regular SPI or I2C but now my doubt is about noise immunity. SPI and I2C are for inter-chip communications on the same board and doing something like this would stretch that concept. Since this system will be in a very electrically noisy environment I fear that a simple SPI or I1C bus like the one you would have on a board would not work.
My question then is: What can I implement to reliably communicate my modules in an electrically noisy environment on a bus system like this?
In software, I can implement all sorts of error correction and packet verifications to compensate for the noise or possible data loss, but I still would like the electrical part to be as stable as it can be because the system needs fast and constant communication between the master and the slaves. By fast I'm not saying like GBPS or anything like that, but I would like to go faster than a couple KBPS.



