Computers and Trains
I recently rewired part of my layout, mostly the DCC decoders controlling the signals. Since most of my signal are semaphore signals from Fleischmann, I used regular DCC accessory decoders (DS64 from Digitrax) to control them. The plan was to use the local inputs of the decoders and reed contacts to control the signals, alas the local inputs did not react with 100% certainty to the reed contacts. I feel that this has something to do with the programming of the inputs since they can be set to respond either to buttons or occupancy detectors.
I ended up installing panel decoders by MGP, a Swedish company. They work perfect, however it took some time to deal with the electronic noise under the train coming from the DCC wiring and other decoders. The owner of MGP was extremely helpful dealing with this.
The logic of the signals was to be controlled by relays, however I decided to abandon this idea since it required the wires between contacts and decoder to be too long. Therefore, I finally took the dive, and used JMRI for controlling the signals. This is a Java based program, and runs on virtually all platforms. I used the built in logic function (Logix) to control the signals, and it works extremely well. Apparently, JMRI also has a signaling program, but it is designed more for American signaling system. In particular, the aspect of a signal is affected by the aspects of the next signal. It can be adapted to reflect German practices if one uses the new KS-signals. However, since my railroad is based on the H/V-system, I decided to create the logic myself. The H/V-system does not rely on the next signal, while the KS-signal does.