|
|
@ -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(); |
|
|
|