|
@ -69,6 +69,10 @@ public class LiquidAbsorptionAndDistributionTestService { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
synchronized public void setTakeTipEachTime(boolean takeTipEachTime) { |
|
|
|
|
|
config.takeTipEachTime = takeTipEachTime; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 吸取并分配液体 |
|
|
* 吸取并分配液体 |
|
|
* @param ul ul |
|
|
* @param ul ul |
|
@ -76,32 +80,31 @@ public class LiquidAbsorptionAndDistributionTestService { |
|
|
*/ |
|
|
*/ |
|
|
public void absorbAndDistribute(Integer ul) throws AppException { |
|
|
public void absorbAndDistribute(Integer ul) throws AppException { |
|
|
log.info("吸取并分配液体 {}", ul); |
|
|
log.info("吸取并分配液体 {}", ul); |
|
|
return; |
|
|
|
|
|
// /* |
|
|
|
|
|
// * 检查当前是否有其他项目正在进行测试 |
|
|
|
|
|
// */ |
|
|
|
|
|
// BeforeDoEngineerActionChecker.check(); |
|
|
|
|
|
// |
|
|
|
|
|
// actionExecutor.start(() -> { |
|
|
|
|
|
// |
|
|
|
|
|
// |
|
|
|
|
|
// try { |
|
|
|
|
|
// actionExecutor.docmd("移液", () -> { |
|
|
|
|
|
// if (config.takeTipEachTime) |
|
|
|
|
|
// hbotMoveExCtrlService.dropTip(); |
|
|
|
|
|
// takeTip(); |
|
|
|
|
|
// lld(); |
|
|
|
|
|
// if (liquidPos == 0) |
|
|
|
|
|
// throw AppException.ofAECodeError("未检测到液体"); |
|
|
|
|
|
// takeLiquid(ul * 1.0); |
|
|
|
|
|
// distributeLiquid(); |
|
|
|
|
|
// resetPos(); |
|
|
|
|
|
// }); |
|
|
|
|
|
// |
|
|
|
|
|
// } catch (AppException e) { |
|
|
|
|
|
// UISender.txErrorPrompt(e); |
|
|
|
|
|
// } |
|
|
|
|
|
// }); |
|
|
|
|
|
|
|
|
/* |
|
|
|
|
|
* 检查当前是否有其他项目正在进行测试 |
|
|
|
|
|
*/ |
|
|
|
|
|
BeforeDoEngineerActionChecker.check(); |
|
|
|
|
|
|
|
|
|
|
|
actionExecutor.start(() -> { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
|
|
|
actionExecutor.docmd("移液", () -> { |
|
|
|
|
|
if (config.takeTipEachTime) |
|
|
|
|
|
hbotMoveExCtrlService.dropTip(); |
|
|
|
|
|
takeTip(); |
|
|
|
|
|
lld(); |
|
|
|
|
|
if (liquidPos == 0) |
|
|
|
|
|
throw AppException.ofAECodeError("未检测到液体"); |
|
|
|
|
|
takeLiquid(ul * 1.0); |
|
|
|
|
|
distributeLiquid(); |
|
|
|
|
|
resetPos(); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
} catch (AppException e) { |
|
|
|
|
|
UISender.txErrorPrompt(e); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
@ -174,8 +177,8 @@ public class LiquidAbsorptionAndDistributionTestService { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private void takeLiquid(Double ul) throws AppException { |
|
|
private void takeLiquid(Double ul) throws AppException { |
|
|
hbotMoveExCtrlService.moveToLargeBSSamplePosXY(ConsumableGroup.CG1); |
|
|
|
|
|
pipetteCtrlDriver.zMotorMoveToBlock(0); |
|
|
|
|
|
|
|
|
// hbotMoveExCtrlService.moveToLargeBSSamplePosXY(ConsumableGroup.CG1); |
|
|
|
|
|
// pipetteCtrlDriver.zMotorMoveToBlock(0); |
|
|
|
|
|
|
|
|
//OLD CODE |
|
|
//OLD CODE |
|
|
// pumpMoveTo(8000, 0.0); |
|
|
// pumpMoveTo(8000, 0.0); |
|
@ -198,14 +201,13 @@ public class LiquidAbsorptionAndDistributionTestService { |
|
|
ul = pipetteGunExParamMgr.calibrateVolume(ul); |
|
|
ul = pipetteGunExParamMgr.calibrateVolume(ul); |
|
|
log.info("取液体 {}", ul); |
|
|
log.info("取液体 {}", ul); |
|
|
pipetteCtrlDriver.pipetteAspirate(ul); |
|
|
pipetteCtrlDriver.pipetteAspirate(ul); |
|
|
pipetteCtrlDriver.zMotorMoveToBlock(0); |
|
|
|
|
|
|
|
|
pipetteCtrlDriver.zMotorMoveToZeroPointQuickBlock(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private void distributeLiquid() throws AppException { |
|
|
private void distributeLiquid() throws AppException { |
|
|
hbotMoveExCtrlService.moveToLargeBSSamplePosXY(ConsumableGroup.CG6); |
|
|
|
|
|
pipetteCtrlDriver.zMotorMoveToBlock(50); |
|
|
|
|
|
|
|
|
hbotMoveExCtrlService.moveToLargeBSSamplePos(ConsumableGroup.CG6); |
|
|
pumpMoveTo(8000, 0.0); |
|
|
pumpMoveTo(8000, 0.0); |
|
|
pipetteCtrlDriver.zMotorMoveToBlock(0); |
|
|
|
|
|
|
|
|
pipetteCtrlDriver.zMotorMoveToZeroPointQuickBlock(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private void resetPos() throws AppException { |
|
|
private void resetPos() throws AppException { |
|
|