Ok, I will make things simple for you.
You have 48 outputs - 16 green, 16 red, and 16 amber.
For each output you need one opto-isolator, i.e. it takes a 12VDC signal and converts it into a microcontroller (MCU) compatible digital logic signal.
You take 16 signals, for example all green outputs and feed them into 16 digital input lines of an MCU. You send this information via RS-485 to a receiver.
Therefore you will need three transmitters and one receiver. The receiver is a MASTER controller and the transmitters are SLAVE controllers.
Each SLAVE has a unique 8-bit address. The MASTER sends a request to each SLAVE, one at a time, and receives the status of 16 LEDs. The data transmitted consists of:
[start] [slave address] [4-char hex code] [2-char checksum] [end]
a total of nine readable characters.
I choose readable text characters because it makes it easier to debug.
If you wish, you can separate the LEDs into 16 channels, i.e. sixteen SLAVE controllers.
Or you can have four channels per controller, i.e. twelve logic signals. This would require four SLAVE controllers.
Of course this would also require some MCU programming skills.
You have 48 outputs - 16 green, 16 red, and 16 amber.
For each output you need one opto-isolator, i.e. it takes a 12VDC signal and converts it into a microcontroller (MCU) compatible digital logic signal.
You take 16 signals, for example all green outputs and feed them into 16 digital input lines of an MCU. You send this information via RS-485 to a receiver.
Therefore you will need three transmitters and one receiver. The receiver is a MASTER controller and the transmitters are SLAVE controllers.
Each SLAVE has a unique 8-bit address. The MASTER sends a request to each SLAVE, one at a time, and receives the status of 16 LEDs. The data transmitted consists of:
[start] [slave address] [4-char hex code] [2-char checksum] [end]
a total of nine readable characters.
I choose readable text characters because it makes it easier to debug.
If you wish, you can separate the LEDs into 16 channels, i.e. sixteen SLAVE controllers.
Or you can have four channels per controller, i.e. twelve logic signals. This would require four SLAVE controllers.
Of course this would also require some MCU programming skills.