|
@ -3,15 +3,17 @@ package a8k.service.app.devicedriver.calibration; |
|
|
import a8k.extapi_controler.pagecontrol.ExtApiTabConfig; |
|
|
import a8k.extapi_controler.pagecontrol.ExtApiTabConfig; |
|
|
import a8k.extapi_controler.utils.ExtApiFn; |
|
|
import a8k.extapi_controler.utils.ExtApiFn; |
|
|
import a8k.extapi_controler.utils.ExtApiTab; |
|
|
import a8k.extapi_controler.utils.ExtApiTab; |
|
|
|
|
|
import a8k.service.app.devicedriver.basectrl.HbotModule; |
|
|
import a8k.service.app.devicedriver.basectrl.MiniServoControler; |
|
|
import a8k.service.app.devicedriver.basectrl.MiniServoControler; |
|
|
|
|
|
import a8k.service.app.devicedriver.basectrl.PipetteCtrlModule; |
|
|
import a8k.service.app.devicedriver.basectrl.StepMotorControler; |
|
|
import a8k.service.app.devicedriver.basectrl.StepMotorControler; |
|
|
import a8k.service.app.devicedriver.basectrl.type.StepMotorMId; |
|
|
import a8k.service.app.devicedriver.basectrl.type.StepMotorMId; |
|
|
|
|
|
import a8k.service.app.devicedriver.ctrl.HbotControler; |
|
|
import a8k.service.app.devicedriver.ctrl.ReactionPlatesTransmitCtrl; |
|
|
import a8k.service.app.devicedriver.ctrl.ReactionPlatesTransmitCtrl; |
|
|
import a8k.service.app.devicedriver.pos.OptModulePosMgr; |
|
|
|
|
|
import a8k.service.app.devicedriver.pos.PlatesBoxPosMgr; |
|
|
|
|
|
import a8k.service.app.devicedriver.pos.TurntablePosMgr; |
|
|
|
|
|
|
|
|
import a8k.service.app.devicedriver.pos.*; |
|
|
import a8k.type.ConsumableGroup; |
|
|
import a8k.type.ConsumableGroup; |
|
|
import a8k.type.IncubatorPos; |
|
|
import a8k.type.IncubatorPos; |
|
|
|
|
|
import a8k.type.cfg.Pos3d; |
|
|
import a8k.type.exception.AppException; |
|
|
import a8k.type.exception.AppException; |
|
|
import jakarta.annotation.Resource; |
|
|
import jakarta.annotation.Resource; |
|
|
import org.springframework.stereotype.Component; |
|
|
import org.springframework.stereotype.Component; |
|
@ -37,15 +39,31 @@ public class ReactionPlatesTransmitControlerCalibration { |
|
|
@Resource |
|
|
@Resource |
|
|
ReactionPlatesTransmitCtrl reactionPlatesTransmitCtrl; |
|
|
ReactionPlatesTransmitCtrl reactionPlatesTransmitCtrl; |
|
|
|
|
|
|
|
|
|
|
|
@Resource |
|
|
|
|
|
PipetteCtrlModule pipetteCtrlModule; |
|
|
|
|
|
@Resource |
|
|
|
|
|
HbotModule hbotModule; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Resource |
|
|
|
|
|
HbotControler hbotControler; |
|
|
|
|
|
@Resource |
|
|
|
|
|
HbotFixPosMgr hbotFixPosMgr; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//基础工具 |
|
|
//基础工具 |
|
|
@ExtApiFn(name = "归零", group = "测试工具", order = 1) |
|
|
@ExtApiFn(name = "归零", group = "测试工具", order = 1) |
|
|
public void deviceReset() throws AppException { |
|
|
public void deviceReset() throws AppException { |
|
|
enableModule(); |
|
|
enableModule(); |
|
|
|
|
|
pipetteCtrlModule.zMotorMoveZeroBlock(); |
|
|
|
|
|
hbotModule.moveToZeroBlock(); |
|
|
stepMotorControler.stepMotorEasyMoveToZeroBlock(StepMotorMId.PlatesBoxPusherM, overtime); |
|
|
stepMotorControler.stepMotorEasyMoveToZeroBlock(StepMotorMId.PlatesBoxPusherM, overtime); |
|
|
stepMotorControler.stepMotorEasyMoveToZeroBlock(StepMotorMId.PlatesBoxYM, overtime); |
|
|
stepMotorControler.stepMotorEasyMoveToZeroBlock(StepMotorMId.PlatesBoxYM, overtime); |
|
|
stepMotorControler.stepMotorEasyMoveToZeroBlock(StepMotorMId.OptModPullM, overtime); |
|
|
stepMotorControler.stepMotorEasyMoveToZeroBlock(StepMotorMId.OptModPullM, overtime); |
|
|
stepMotorControler.stepMotorEasyMoveToZeroBlock(StepMotorMId.OptModScannerM, overtime); |
|
|
stepMotorControler.stepMotorEasyMoveToZeroBlock(StepMotorMId.OptModScannerM, overtime); |
|
|
stepMotorControler.stepMotorEasyMoveToZeroBlock(StepMotorMId.IncubatorRotateCtrlM, overtime); |
|
|
stepMotorControler.stepMotorEasyMoveToZeroBlock(StepMotorMId.IncubatorRotateCtrlM, overtime); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ExtApiFn(name = "使能相关模块", group = "测试工具", order = 2) |
|
|
@ExtApiFn(name = "使能相关模块", group = "测试工具", order = 2) |
|
@ -55,6 +73,9 @@ public class ReactionPlatesTransmitControlerCalibration { |
|
|
stepMotorControler.stepMotorEnable(StepMotorMId.OptModPullM, 1); |
|
|
stepMotorControler.stepMotorEnable(StepMotorMId.OptModPullM, 1); |
|
|
stepMotorControler.stepMotorEnable(StepMotorMId.OptModScannerM, 1); |
|
|
stepMotorControler.stepMotorEnable(StepMotorMId.OptModScannerM, 1); |
|
|
stepMotorControler.stepMotorEnable(StepMotorMId.IncubatorRotateCtrlM, 1); |
|
|
stepMotorControler.stepMotorEnable(StepMotorMId.IncubatorRotateCtrlM, 1); |
|
|
|
|
|
|
|
|
|
|
|
pipetteCtrlModule.zMotorEnable(1); |
|
|
|
|
|
hbotModule.enable(1); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ExtApiFn(name = "失能相关模块", group = "测试工具", order = 3) |
|
|
@ExtApiFn(name = "失能相关模块", group = "测试工具", order = 3) |
|
@ -64,6 +85,9 @@ public class ReactionPlatesTransmitControlerCalibration { |
|
|
stepMotorControler.stepMotorEnable(StepMotorMId.OptModPullM, 0); |
|
|
stepMotorControler.stepMotorEnable(StepMotorMId.OptModPullM, 0); |
|
|
stepMotorControler.stepMotorEnable(StepMotorMId.OptModScannerM, 0); |
|
|
stepMotorControler.stepMotorEnable(StepMotorMId.OptModScannerM, 0); |
|
|
stepMotorControler.stepMotorEnable(StepMotorMId.IncubatorRotateCtrlM, 0); |
|
|
stepMotorControler.stepMotorEnable(StepMotorMId.IncubatorRotateCtrlM, 0); |
|
|
|
|
|
|
|
|
|
|
|
pipetteCtrlModule.zMotorEnable(0); |
|
|
|
|
|
hbotModule.enable(0); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ExtApiFn(name = "读取所有设定值", group = "测试工具", order = 5) |
|
|
@ExtApiFn(name = "读取所有设定值", group = "测试工具", order = 5) |
|
@ -106,6 +130,16 @@ public class ReactionPlatesTransmitControlerCalibration { |
|
|
return dropLiquidPos0; |
|
|
return dropLiquidPos0; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ExtApiFn(name = "标定", group = "HbotTip滴定位.校准", order = 104) |
|
|
|
|
|
public Pos3d Hbot_dropLiquidPosCalibration() throws AppException { |
|
|
|
|
|
enableModule(); |
|
|
|
|
|
pipetteCtrlModule.zMotorMeasureDistance(); |
|
|
|
|
|
var pos = new Pos3d(hbotModule.readPos().x, hbotModule.readPos().y, pipetteCtrlModule.zMotorReadMeasureDistanceResult()); |
|
|
|
|
|
hbotFixPosMgr.setDropLiquidPos(pos); |
|
|
|
|
|
disableModule(); |
|
|
|
|
|
return pos; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// |
|
|
// |
|
|
// 板夹仓位置 |
|
|
// 板夹仓位置 |
|
@ -170,9 +204,10 @@ public class ReactionPlatesTransmitControlerCalibration { |
|
|
// 校验 |
|
|
// 校验 |
|
|
// |
|
|
// |
|
|
|
|
|
|
|
|
@ExtApiFn(name = "孵育盘移动到点滴位", group = "校验", order = 1000) |
|
|
|
|
|
|
|
|
@ExtApiFn(name = "滴定", group = "校验", order = 1000) |
|
|
public void turntableMoveDropPos(IncubatorPos pos) throws AppException { |
|
|
public void turntableMoveDropPos(IncubatorPos pos) throws AppException { |
|
|
reactionPlatesTransmitCtrl.trunableMoveToDropLiquidPos(pos); |
|
|
reactionPlatesTransmitCtrl.trunableMoveToDropLiquidPos(pos); |
|
|
|
|
|
hbotControler.moveToDropLiquidPos(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ExtApiFn(name = "孵育盘移动到拉板位", group = "校验", order = 1001) |
|
|
@ExtApiFn(name = "孵育盘移动到拉板位", group = "校验", order = 1001) |
|
|