sige 1 year ago
parent
commit
9bbaad1765
  1. 53
      src/src/main/java/com/my/graphiteDigesterBg/task/TaskStartReset.java

53
src/src/main/java/com/my/graphiteDigesterBg/task/TaskStartReset.java

@ -13,6 +13,7 @@ import com.my.graphiteDigesterBg.move.MoveDoorOpen;
import com.my.graphiteDigesterBg.move.MoveMoveTubeRackFromHeatPlateToLiquidPlate;
import com.my.graphiteDigesterBg.move.MoveMoveTubeRackFromLiquidPlateToHeatPlate;
import com.my.graphiteDigesterBg.resource.ResHeatingTubeRackSlotManager;
import java.util.List;
@Task(name="StartReset")
public class TaskStartReset extends DiTaskBase {
// 是否需要放置异常处理试管架
@ -110,7 +111,45 @@ public class TaskStartReset extends DiTaskBase {
}
}
// @TODO : 这里要放置将酸液充满试管 ~~~
DiActMotor liquidPlateMotor = this.getActuator(MyDevice.ACT_LIQUID_PLATE_MOTOR, DiActMotor.class);
DiActMotor liquidMotor = this.getActuator(MyDevice.ACT_LIQUID_MOTOR, DiActMotor.class);
this.setProgressMessage("设备初始化 : 初始化加液管路");
MoveDoorOpen.execute(this.getDevice());
DiMdbNotification.taskAction(this, "TaskStartResetPumpPipeSetupTubeRankPutIn");
this.waitAction("TaskStartResetPumpPipeSetupTubeRankPutIn");
MoveDoorClose.execute(this.getDevice());
// 加液管充满
for ( int i=0; i<8; i++ ) {
this.setProgressMessage("设备初始化 : 初始化加液管路 " + (i+1) + "/8");
if ( 0 == i%2 ) {
liquidMotor.moveTo("LiquidArmPumpGroupOut");
liquidPlateMotor.moveTo("LiquidPlateSlotPumpOutGroup",i/2);
} else {
liquidMotor.moveTo("LiquidArmPumpGroupIn");
liquidPlateMotor.moveTo("LiquidPlateSlotPumpInGroup", i/2);
}
var pump0 = this.getActuator("LiquidPeristalticPump_"+i+"_0", DiActPeristalticPump.class);
var pump1 = this.getActuator("LiquidPeristalticPump_"+i+"_1", DiActPeristalticPump.class);
var pipeVolumeCircle0 = pump1.getLocationValue("LiquidPeristalticPumpPipeVolumeCircle",i, 0);
var pipeVolumeCircle1 = pump1.getLocationValue("LiquidPeristalticPumpPipeVolumeCircle",i, 1);
this.batchExecute(List.of(
() -> pump0.moveBy(pipeVolumeCircle0),
() -> pump1.moveBy(pipeVolumeCircle1)
));
pump0.retract();
pump1.retract();
}
liquidMotor.moveTo("LiquidArmStandby");
// 加液管充满, 需要取出试管架
MoveDoorOpen.execute(this.getDevice());
DiMdbNotification.taskAction(this, "TaskStartResetPumpPipeSetupTubeRankTakeOut");
this.waitAction("TaskStartResetPumpPipeSetupTubeRankTakeOut");
MoveDoorClose.execute(this.getDevice());
}
/**
@ -196,6 +235,18 @@ public class TaskStartReset extends DiTaskBase {
action.finish();
}
// 蠕动泵管路初始化
public void actionPumpPipeSetupTubeRankPutIn() {
var action = this.getAction("TaskStartResetPumpPipeSetupTubeRankPutIn");
action.finish();
}
// 蠕动泵管路初始化
public void actionPumpPipeSetupTubeRankTakeOut() {
var action = this.getAction("TaskStartResetPumpPipeSetupTubeRankTakeOut");
action.finish();
}
// set progress message
private void setProgressMessage(String message) {
var runtimeVars = this.getDevice().getRuntimeVariables();

Loading…
Cancel
Save