diff --git a/src/src/main/java/com/my/graphiteDigesterBg/move/MoveMoveTubeRackFromLiquidPlateToHeatPlate.java b/src/src/main/java/com/my/graphiteDigesterBg/move/MoveMoveTubeRackFromLiquidPlateToHeatPlate.java index 700a1e1..dc09a20 100644 --- a/src/src/main/java/com/my/graphiteDigesterBg/move/MoveMoveTubeRackFromLiquidPlateToHeatPlate.java +++ b/src/src/main/java/com/my/graphiteDigesterBg/move/MoveMoveTubeRackFromLiquidPlateToHeatPlate.java @@ -5,7 +5,9 @@ import com.my.graphiteDigesterBg.diframe.actuator.DiActMotor; import com.my.graphiteDigesterBg.diframe.actuator.DiActServo; import com.my.graphiteDigesterBg.resource.ResHeatingTubeRackSlotManager; -public class MoveMoveTubeRackFromLiquidPlateToHeatPlate extends DiTaskMoveBase { +import java.util.List; + + public class MoveMoveTubeRackFromLiquidPlateToHeatPlate extends DiTaskMoveBase { // slot index public Integer slotIndex; @@ -20,22 +22,21 @@ public class MoveMoveTubeRackFromLiquidPlateToHeatPlate extends DiTaskMoveBase { String key = "HeatingPlateMotorSlotCover_" + this.slotIndex; DiActServo slotCoverServo = this.getActuator(key, DiActServo.class); - // 加液转盘移动到取架位置 - liquidPlateMotor.moveTo("LiquidPlatePlaceTubeRack"); - // 搬运移动到加液取放架位置 - transLrMotor.moveTo("TransLrMotorLiquid"); + this.execute(List.of( + () -> liquidPlateMotor.moveTo("LiquidPlatePlaceTubeRack"), // 加液转盘移动到取架位置 + () -> transLrMotor.moveTo("TransLrMotorLiquid") // 搬运移动到加液取放架位置 + )); + // 搬运下降到取架位置 transUdMotor.moveTo("TransUdMotorLiquidDepth"); // 张开试管架夹爪 transferClipServo.moveTo("TransClipServoRackClip"); - // 搬运上升到顶部 - transUdMotor.moveTo("TransUdMotorTop"); - - // 加热转盘移动到取放架位置 - heatPlateMotor.moveTo("HeatPlateSlot", this.slotIndex); - // 打开试管架盖 - slotCoverServo.moveTo("HeatPlateSlotCoverOpen"); + this.execute(List.of( + () -> transUdMotor.moveTo("TransUdMotorTop"), // 搬运上升到顶部 + () -> heatPlateMotor.moveTo("HeatPlateSlot", this.slotIndex), // 加热转盘移动到取放架位置 + () -> slotCoverServo.moveTo("HeatPlateSlotCoverOpen") // 打开试管架盖 + )); // 搬运移动到加热盘取放位置 transLrMotor.moveTo("TransLrMotorHeatPlateSlot"); @@ -51,8 +52,10 @@ public class MoveMoveTubeRackFromLiquidPlateToHeatPlate extends DiTaskMoveBase { // 试管架盖关闭 slotCoverServo.moveTo("HeatPlateSlotCoverClose"); - heatPlateMotor.moveTo("HeatPlateStandby"); - liquidPlateMotor.moveTo("LiquidPlateStandby"); + this.execute(List.of( + () -> heatPlateMotor.moveTo("HeatPlateStandby"), // 加热盘转盘移动到就绪位置 + () -> liquidPlateMotor.moveTo("LiquidPlateStandby") // 加液转盘移动到就绪位置 + )); // 更新试管架位置 var slotMan = this.getResourceManager(ResHeatingTubeRackSlotManager.class); diff --git a/src/src/main/java/com/my/graphiteDigesterBg/task/TaskSampleAdd.java b/src/src/main/java/com/my/graphiteDigesterBg/task/TaskSampleAdd.java index 329ab76..3022e53 100644 --- a/src/src/main/java/com/my/graphiteDigesterBg/task/TaskSampleAdd.java +++ b/src/src/main/java/com/my/graphiteDigesterBg/task/TaskSampleAdd.java @@ -25,7 +25,10 @@ public class TaskSampleAdd extends DiTaskBase { DiActMotor transLrMotor = this.getActuator(MyDevice.ACT_TRANSFER_LR_MOTOR, DiActMotor.class); DiActMotor transUdMotor = this.getActuator(MyDevice.ACT_TRANSFER_UD_MOTOR, DiActMotor.class); DiActMotor liquidPlateMotor = this.getActuator(MyDevice.ACT_LIQUID_PLATE_MOTOR, DiActMotor.class); + DiActMotor doorMotor = this.getActuator(MyDevice.ACT_DOOR_MOTOR, DiActMotor.class); + // 打开设备门 + doorMotor.reset(); // 搬运上升到顶部 transUdMotor.moveTo("TransUdMotorTop"); // 搬运机械臂移动到就绪位置 @@ -44,6 +47,8 @@ public class TaskSampleAdd extends DiTaskBase { moveMoveTubeRackFromLiquidPlateToHeatPlate.setDevice(this.getDevice()); moveMoveTubeRackFromLiquidPlateToHeatPlate.run(); + // 关闭设备门 + doorMotor.moveToIO(1, 1); this.setStatus(TaskStatus.FINISHED); }