大铁进路临时限制自动重开信号;引导信号仅在进路始端区段占用时才计时

This commit is contained in:
joylink_zhangsai 2022-05-20 15:30:49 +08:00
parent 210c85dd41
commit 67f61cb9de
2 changed files with 7 additions and 1 deletions

View File

@ -472,7 +472,10 @@ public class CiApiServiceImpl2 implements CiApiService {
}
}
if (repository.getConfig().isHasCTC() && signal.isHigherThanGuideLevel()) {
signal.guideDelayStart();
Route lockedRoute = signal.getLockedRoute();
if (lockedRoute != null && lockedRoute.getFirstLogicSection().isOccupied()) {
signal.guideDelayStart();
}
}
}

View File

@ -108,6 +108,7 @@ public class CiLogic {
* @param route
*/
public void interlockMonitor(Simulation simulation, Route route) {
MapConfig config = simulation.getRepository().getConfig();
if (route.isCiControl()) { // 进路联锁自动触发
if (!route.isLock() && !route.isSetting() && ciService.isCiRouteTrigger(simulation, route)) {
routeService.setRoute(simulation, route);
@ -153,6 +154,8 @@ public class CiLogic {
CiLogic.log.info("进路[{}]联锁条件不满足,关闭信号", route.debugStr());
signalControlService.tryControlSignalAspectAccordingLevel(simulation,
start, start.getDefaultAspect());
if (config.isHasCTC()) //大铁线路暂时限制自动重开信号
start.setForbidden(true);
} else if (start.isDefaultAspect() && !start.isForbidden() && !start.isBlockade() && start.isSupportMainAspect()) {
CiLogic.log.info("进路[{}]联锁条件满足,开放信号", route.debugStr());
signalControlService.tryControlSignalAspectAccordingLevel(simulation,