From 408034c9ecd55d187b3c5e12cf8d3fd6e857d745 Mon Sep 17 00:00:00 2001 From: xuzhiheng <2543137953@qq.com> Date: Tue, 22 Jul 2025 17:08:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=85=85=E7=94=B5=E6=A8=A1?= =?UTF-8?q?=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LoopbackCommunicationAdapter.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) 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",