We have a level crossing on a busy main line. The previous way of making the crossing operate was to trigger it when any Traincontroller route through the crossing was activated. That worked for any train running clockwise. But for a train setting out from Petersfield, the train could be on the crossing before the barrier was down.

The previous approach was to have a flagman activated by any of the routes becoming reserved; the flagman activated lights, waited 4 seconds then activated barriers. But the route was immediately available to be used by a train.

We tried adding activation delays to the accessory device (the feature was designed to allow slow pointwork to have gaps between each point being activated). It gapped the point commands, but still TC wouldn't wait before running a train through.

The solution is to get rid of the flagman and have the operations in the "operations" section of each route instead. There are 9 routed through there in each direction, so a bit of editing! When each route is activated, set the lights, wait 4s, set the barriers, and wait another 4 seconds. TC only makes the route available to a train after that full process has completed.

crossing barrier activate route operation

When the route is deactivated, deselect both accessories:

crossing barrier deactivate route operation

The final step (not on the diagram above) has been to set a special accessory address 922 to THROWN 4s after the barriers are told to come down. That is used to allow the SIGM20 signals to go green once the crossing barriers are in place.

We did also try using macros, so that the macro could be written once. But the route doesn't wait for the macro to complete.