The Point

There are two tiebars, which will each need to be driven by a different DAC20 output. The positions of the tiebars for the different routes are as follows:

Point 16 Point 17 Track exit
Closed Closed Right (as drawn)
Thrown Closed Straight on
Thrown Thrown Left
Closed Thrown Tiebars short out!

The DAC20 supports conditions, which among other things can prevent the output from changing state, We'll use these to avoid that condition

DAC20 Programming

We need to avoid the "output 16 closed, output 17 thrown" state. There are two things we need therefore to do:

  1. If point 16 is thrown, don't let it go to closed if point 17 is thrown.
  2. If point 17 is closed, don't let it go to thrown if point 16 is closed.

Open the DAC20 editor in Locoanalyse, and edit the definition for point 16. Click on "define" for the "don't change when" conditions.  Add two conditions as follows:

Similarly for point 17 - give it a condition "don't change when point 16 is closed AND point 17 is closed"

Save the file, program the board.. and you will find it now refuses to enter the illegal state that causes the track short.

If you are using a DTM30, you may find it helpful to program point 16 & 17 output cells to generate output state messages when the outputs change. Select "Turnout Feedback message (from stored state)" in the "Message on output change" box. Then program your DTM30 to monitor "output state" LocoNet messages for those two points.