получается их как-то надо по цифре синхронизировать в зависимости от положения стрелок
У вас немного неправильно построение цепочки взаимодействия, надо включать напряжение не в зависимости от положения стрелки, а от маршрута движения, от которого зависит положение стрелки и направление движения.
По идее, есть некое условное управляющее нечто, называемое "диспетчер", которое само должно принять решение о том, как провести локомотив.
В автоматическом режиме:
Для работы системы нужна начальная точка "А" и конечная "Б".
Для нормальной работы системы потребуется также информация о занятости путей и положении стрелок. Человек-оператор эту информацию может получить визуально осмотрев станционные пути и определив как установлены стрелочные переводы (по стрелкам или светодиодам). Для работы электронной системы информацию о положении стрелок, по идее может хранить сама система, считывая данные из переменных.
Занятость пути можно определять автоматически с помощью различных датчиков, или в ручную, просто задавая нажатием кнопки "участок занят".
В ручном режиме, управление берет на себя человек, формируя маршрут стрелочными переводами.
Задача электронной системы - коммутировать питание блок-участков согласно участку "А" и вести локомотив с заданной скоростью.