Skip to main content

Reply to "Full DCC Automation"

That is quite a challenge! More than likely pessimistic concurrency will be easier to achieve, but even with that the ability to 'take over' (while the software still maintains control over emergency situations) can be pretty intensive to run properly.  If the layout is complex, with a lot of potential paths (and potential "collisions" on a particular 'node'), it will be very complex especially  if you manually override a particular route, that will require the other trains under automatic control to re-do their spanning tree (it is doable, of course). Optimistic concurrency would work better in that case, in case someone changes their route and is on a block that they aren't supposed to be.


This could also be a challenge if you have switching going on and the switcher for example has to foul the main in the process.

The real challenge is train detection. It is relatively easy with an IR detector for example to see if a block is in use, but with what you want to do that won't be enough. You need to be able to track and see what train is where for this to work, especially if you want to try and do something like have an 'inferior' train halt or go into a siding for example. The problem is that while each engine has a unique id, that dcc uses to control it, I don't think there is any way to detect where a train is based just on that. My take would be something like RFID, where it is generating the train id (relatively easy to have a map of train id to dcc engine id(s) if it needs to let's say slow or stop a train in the path of a superior one). So you would have rfid detectors on each block that reads via an rf tag on a train, what it is (in theory you could use bar code tags on a train, not sure that would work all that well, though, lot more precise to read that then RFID).

Obviously if you can id a train and where it is, you can do things like program in going into the hole or on the main, including switch set and clear to allow a train to into the hole or main in my example. The other thing is using train id to control a train, you wouldn't need to worry about the DCC id, since when making the train in the system, you would map that "train 1011" is controlled by engines 33 and 44 in DCC (I don't know how many digits DCC uses, that is just my hypothetical example).   Going to take a lot of practical work to get this to work and debug it, but hey, if you enjoy it, it certainly is an amazing goal!

OGR Publishing, Inc., 1310 Eastside Centre Ct, Suite 6, Mountain Home, AR 72653
800-980-OGRR (6477)
www.ogaugerr.com

×
×
×
×
×