Browse Source

样本添加

master
sige 1 year ago
parent
commit
c0fd9ae87f
  1. 31
      src/src/main/java/com/my/graphiteDigesterBg/move/MoveMoveTubeRackFromLiquidPlateToHeatPlate.java
  2. 5
      src/src/main/java/com/my/graphiteDigesterBg/task/TaskSampleAdd.java

31
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);

5
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);
}

Loading…
Cancel
Save