zc故障不停车bug修改;运行至前方站指令流程修改

This commit is contained in:
joylink_zhangsai 2020-12-22 13:20:46 +08:00
parent 794d8a0a0a
commit da35d772bd
2 changed files with 13 additions and 10 deletions

View File

@ -63,7 +63,7 @@ public class ZCLogicLoop {
}
}
//更新CBTC ma
if (!deviceStation.isFault()) { //如果列车头所在区段所属设备集中站zc未故障
if (!deviceStation.getZc().isFault()) { //如果列车头所在区段所属设备集中站zc未故障
this.calculateMAOfCBTC(simulation, train, trainList);
}
}

View File

@ -6,7 +6,10 @@ import club.joylink.rtss.simulation.cbtc.constant.DriveMode;
import club.joylink.rtss.simulation.cbtc.constant.RunLevel;
import club.joylink.rtss.simulation.cbtc.data.CalculateService;
import club.joylink.rtss.simulation.cbtc.data.SimulationDataRepository;
import club.joylink.rtss.simulation.cbtc.data.map.*;
import club.joylink.rtss.simulation.cbtc.data.map.Section;
import club.joylink.rtss.simulation.cbtc.data.map.Signal;
import club.joylink.rtss.simulation.cbtc.data.map.Stand;
import club.joylink.rtss.simulation.cbtc.data.map.Switch;
import club.joylink.rtss.simulation.cbtc.data.support.RoutePath;
import club.joylink.rtss.simulation.cbtc.data.support.SectionPosition;
import club.joylink.rtss.simulation.cbtc.data.vr.VirtualRealityTrain;
@ -176,18 +179,18 @@ public class CommandBO {
@Override
public Step executeOrReturnStep(Simulation simulation, CommandBO command) {
VirtualRealityTrain train = (VirtualRealityTrain) command.getTargetMember().getDevice();
Step step = getStepOfRm2BmAndOpenAto(command);
if (step != null) {
return step;
}
if (!DriveMode.RM.equals(train.getDriveMode())) {
return buildDriverDriveModeChangeOperationStep(train.getGroupNumber(), DriveMode.RM);
}
//如果列车没停到目标位置先想办法开过去---
List<Step> steps = command.getStepByType(Step.StepType.DRIVE);
Step driveStep = steps.get(0);
if (!train.isStopAtThePosition(driveStep.getTargetPosition())) { //如果列车没停到目标位置
if (!train.isStop())
return buildDriverForceChangeOperationStep(train.getGroupNumber(), -100);
if (!DriveMode.RM.equals(train.getDriveMode()))
return buildDriverDriveModeChangeOperationStep(train.getGroupNumber(), DriveMode.RM);
return driveStep;
} else { //如果列车已经停到目标位置
if (!DriveMode.AM.equals(train.getDriveMode()))
return getStepOfRm2BmAndOpenAto(command);
command.getTargetMember().setCommand(null);
return null;
}
@ -517,7 +520,6 @@ public class CommandBO {
};
public enum ParamName {
stationCode,
switchCode,
@ -538,6 +540,7 @@ public class CommandBO {
*/
speedLimit;
}
private final List<ParamName> paramNames;
CommandType(List<ParamName> paramNames) {