diff --git a/opentcs-commadapter-loopback/src/main/java/org/opentcs/virtualvehicle/LoopbackCommunicationAdapter.java b/opentcs-commadapter-loopback/src/main/java/org/opentcs/virtualvehicle/LoopbackCommunicationAdapter.java index 56f0d8d..2e5b298 100644 --- a/opentcs-commadapter-loopback/src/main/java/org/opentcs/virtualvehicle/LoopbackCommunicationAdapter.java +++ b/opentcs-commadapter-loopback/src/main/java/org/opentcs/virtualvehicle/LoopbackCommunicationAdapter.java @@ -167,7 +167,7 @@ public class LoopbackCommunicationAdapter private final DispatcherService dispatcherService; //标记是否开启自动回休息点:true=开启,false=关闭 - private final Boolean IS_AUTOMATIC_CHARGER = true; + private final Boolean IS_AUTOMATIC_CHARGER = false; //标记是否开启自动充电:true=开启,false=关闭 private final Boolean IS_AUTOMATIC_BREAKS = false; //连接状态 @@ -314,6 +314,10 @@ public class LoopbackCommunicationAdapter ); } } + if (Objects.equals(evt.getPropertyName(), VehicleProcessModel.Attribute.ENERGY_LEVEL.name())) { + //当电量修改时,判断是否需要执行充电策略 + checkChargingNeed(); + } } @Override @@ -946,10 +950,11 @@ public class LoopbackCommunicationAdapter vehicleState = Vehicle.State.EXECUTING; } - //更新电量 - if (getProcessModel().getEnergyLevel() != Math.round(params.getPower() * 100)) { - getProcessModel().setEnergyLevel(Math.round(params.getPower() * 100)); - } + //更新电量 ---- 通过修改电量进行触发充电任务,所以每次上报都要修改电量,不需要等电量改变 + getProcessModel().setEnergyLevel(Math.round(params.getPower() * 100)); +// if (getProcessModel().getEnergyLevel() != Math.round(params.getPower() * 100)) { +// getProcessModel().setEnergyLevel(Math.round(params.getPower() * 100)); +// } //更新车辆等级 if (!Objects.equals(getProcessModel().getIntegrationLevel(), integrationLevel)) { @@ -1247,7 +1252,7 @@ public class LoopbackCommunicationAdapter // ֻ只有当车辆不在执行任务且不在充电状态时才检查充电需求 if (processModel.getState() == Vehicle.State.IDLE && processModel.getState() != Vehicle.State.CHARGING && - getUnsentCommands().isEmpty()) { + getSentCommands().isEmpty()) { if (chargingStrategyManager.needToCharge(processModel)) { LOG.info("Charging strategy {} triggered, starting charging process",