Browse Source

update

tags/v0
zhaohe 9 months ago
parent
commit
0506a82a19
  1. 2
      src/main/java/a8k/service/app/appctrl/mainflowctrl/action/SEQ4_PRE_PROCESS.java
  2. 6
      src/main/java/a8k/service/app/devicectrl/ctrlservice/TubePreProcesCtrlService.java
  3. 67
      src/main/java/a8k/service/app/devicectrl/param/calibration/HbotSamplePosCalibration.java
  4. 17
      src/main/java/a8k/service/app/devicectrl/param/calibration/ReactionPlatesTransmitControlerCalibration.java
  5. 4
      src/main/java/a8k/service/app/devicectrl/param/calibration/TubePreProcesPosCalibration.java
  6. 2
      src/main/java/a8k/service/app/devicectrl/param/param_mgr/HbotFixedPosParamMgr.java
  7. 6
      src/main/java/a8k/service/app/devicectrl/param/param_mgr/base/ParamMgr.java
  8. BIN
      src/main/resources/app.db

2
src/main/java/a8k/service/app/appctrl/mainflowctrl/action/SEQ4_PRE_PROCESS.java

@ -118,7 +118,7 @@ public class SEQ4_PRE_PROCESS extends A8kStepAction {
logger.info("是否高位试管:{}", isHighTube);
tubePreProcesCtrlService.takeTubeFromTubeholderToShakePos(isHighTube);
tubePreProcesCtrlService.shakeTube(45, shakeTimes);
tubePreProcesCtrlService.takeTubeCap(isHighTube);
tubePreProcesCtrlService.takeTubeCap();
} else {
logger.info("不是全血试管,不需要摇匀");
}

6
src/main/java/a8k/service/app/devicectrl/ctrlservice/TubePreProcesCtrlService.java

@ -107,7 +107,7 @@ public class TubePreProcesCtrlService {
progress = PROGRESS.SHAKE_TUBE;
}
public void takeTubeCap(Boolean isHTube) throws AppException {
public void takeTubeCap() throws AppException {
log.info("取试管帽");
//Y移动到取试管帽位置
tubePreProcesModuleExDriver.YSVMoveToShakePos();
@ -126,7 +126,7 @@ public class TubePreProcesCtrlService {
}
public void putbakTubeCapAndPutbakTubeToTubeHolder(Boolean isHTube) throws AppException {
public void putbakTubeCapAndPutbakTubeToTubeHolder() throws AppException {
//移动Y轴到方式管的位置
tubePreProcesModuleExDriver.YSVMoveToShakePos();
// 盖盖子
@ -172,7 +172,7 @@ public class TubePreProcesCtrlService {
tubePreProcesModuleExDriver.moveToZeroQuick();
progress = PROGRESS.IDLE;
} else if (progress.equals(PROGRESS.TAKE_CAP)) {
putbakTubeCapAndPutbakTubeToTubeHolder(isHTube);
putbakTubeCapAndPutbakTubeToTubeHolder();
progress = PROGRESS.IDLE;
return;
} else if (progress.equals(PROGRESS.PUT_BAK_TUBE)) {

67
src/main/java/a8k/service/app/devicectrl/param/calibration/HbotSamplePosCalibration.java

@ -4,7 +4,9 @@ package a8k.service.app.devicectrl.param.calibration;
import a8k.extapi_controler.pagecontrol.ExtApiTabConfig;
import a8k.extapi_controler.utils.ExtApiFn;
import a8k.extapi_controler.utils.ExtApiTab;
import a8k.service.app.devicectrl.ctrlservice.TubePreProcesCtrlService;
import a8k.service.app.devicectrl.exdriver.HbotBaseMoveExDriver;
import a8k.service.app.devicectrl.exdriver.MotorMoveZeroExDriver;
import a8k.service.app.devicectrl.param.type.HbotSamplePos;
import a8k.service.app.devicectrl.driver.HbotDriver;
import a8k.service.app.devicectrl.driver.PipetteCtrlDriver;
@ -38,6 +40,10 @@ public class HbotSamplePosCalibration {
TubePreProcesModuleExDriver tubePreProcesModuleExDriver;
@Resource
HbotBaseMoveExDriver hbotBaseMoveExDriver;
@Resource
TubePreProcesCtrlService tubePreProcesCtrlService;
@Resource
MotorMoveZeroExDriver motorMoveZeroExDriver;
@Resource
@ -45,6 +51,7 @@ public class HbotSamplePosCalibration {
@Resource
HbotSamplePosParamMgr hbotSamplePosParamMgr;
@Resource
StepMotorCtrlDriver stepMotorCtrlDriver;
@ -77,8 +84,13 @@ public class HbotSamplePosCalibration {
@ExtApiFn(name = "归零", group = "测试工具", order = 11)
public void moveToZero() throws AppException {
enableModule();
motorEnableExDriver.preProcessRelatedModuleEnable(true);
motorMoveZeroExDriver.preProcessModuleMoveToZero();
pipetteCtrlDriver.zMotorMoveZeroBlock();
hbotBaseMoveExDriver.moveToZero();
}
@ExtApiFn(name = "使能相关模块", group = "测试工具", order = 12)
@ -89,33 +101,44 @@ public class HbotSamplePosCalibration {
@ExtApiFn(name = "失能相关模块", group = "测试工具", order = 13)
public void disableModule() throws AppException {
motorEnableExDriver.forceDisableAllMotor();
pipetteCtrlDriver.zMotorEnable(0);
hbotBaseMoveExDriver.enable(0);
}
@ExtApiFn(name = "试管夹具复位", group = "辅助工具", order = 21)
public void tubeClampMoveZero() throws AppException {
stepMotorCtrlDriver.stepMotorEnable(StepMotorMId.ShakeModClampingM, 1);
stepMotorCtrlDriver.stepMotorEnable(StepMotorMId.ShakeModShakeM, 1);
stepMotorCtrlDriver.stepMotorEasyMoveToZeroBlock(StepMotorMId.ShakeModShakeM, 5000);
stepMotorCtrlDriver.stepMotorEasyMoveToBlock(StepMotorMId.ShakeModShakeM, 90, 5000);
stepMotorCtrlDriver.stepMotorEasyMoveToZeroBlock(StepMotorMId.ShakeModClampingM, 5000);
tubePreProcesModuleExDriver.clampingMReleaseTube();
stepMotorCtrlDriver.stepMotorEnable(StepMotorMId.ShakeModShakeM, 0);
}
@ExtApiFn(name = "释放试管", group = "辅助工具", order = 22)
public void releaseTubeClamp() throws AppException {
stepMotorCtrlDriver.stepMotorEnable(StepMotorMId.ShakeModClampingM, 1);
stepMotorCtrlDriver.stepMotorEasyMoveByBlock(StepMotorMId.ShakeModClampingM, 20, 5000);
// tubePreProcesModuleExDriver.clampingMReleaseTube();
// @ExtApiFn(name = "试管夹具复位", group = "辅助工具", order = 21)
// public void tubeClampMoveZero() throws AppException {
// stepMotorCtrlDriver.stepMotorEnable(StepMotorMId.ShakeModClampingM, 1);
// stepMotorCtrlDriver.stepMotorEnable(StepMotorMId.ShakeModShakeM, 1);
// stepMotorCtrlDriver.stepMotorEasyMoveToZeroBlock(StepMotorMId.ShakeModShakeM, 5000);
// stepMotorCtrlDriver.stepMotorEasyMoveToBlock(StepMotorMId.ShakeModShakeM, 90, 5000);
// stepMotorCtrlDriver.stepMotorEasyMoveToZeroBlock(StepMotorMId.ShakeModClampingM, 5000);
// tubePreProcesModuleExDriver.clampingMReleaseTube();
// stepMotorCtrlDriver.stepMotorEnable(StepMotorMId.ShakeModShakeM, 0);
// }
//
// @ExtApiFn(name = "释放试管", group = "辅助工具", order = 22)
// public void releaseTubeClamp() throws AppException {
// stepMotorCtrlDriver.stepMotorEnable(StepMotorMId.ShakeModClampingM, 1);
// stepMotorCtrlDriver.stepMotorEasyMoveByBlock(StepMotorMId.ShakeModClampingM, 20, 5000);
// // tubePreProcesModuleExDriver.clampingMReleaseTube();
// }
//
// @ExtApiFn(name = "夹紧试管", group = "辅助工具", order = 23)
// public void clampTubeClamp() throws AppException {
// stepMotorCtrlDriver.stepMotorEnable(StepMotorMId.ShakeModClampingM, 1);
// tubePreProcesModuleExDriver.clampingMclampTube();
// }
@ExtApiFn(name = "取试管到试管摇匀位", group = "辅助工具", order = 21)
public void takeTubeToShakePos(Boolean isHtube) throws AppException {
tubePreProcesCtrlService.takeTubeFromTubeholderToShakePos(isHtube);
tubePreProcesCtrlService.takeTubeCap();
}
@ExtApiFn(name = "夹紧试管", group = "辅助工具", order = 23)
public void clampTubeClamp() throws AppException {
stepMotorCtrlDriver.stepMotorEnable(StepMotorMId.ShakeModClampingM, 1);
tubePreProcesModuleExDriver.clampingMclampTube();
@ExtApiFn(name = "放回试管到试管架中", group = "辅助工具", order = 22)
public void putTubeBak() throws AppException {
tubePreProcesCtrlService.putbakTubeCapAndPutbakTubeToTubeHolder();
}

17
src/main/java/a8k/service/app/devicectrl/param/calibration/ReactionPlatesTransmitControlerCalibration.java

@ -105,6 +105,11 @@ public class ReactionPlatesTransmitControlerCalibration {
return turntablePosParamMgr.getParams();
}
@ExtApiFn(name = "获取Hbot滴定坐标", group = "测试工具", order = 7)
public Object getHbotDropLiquidPos() {
return hbotFixedPosParamMgr.getParam(HbotFixedPosParamMgr.Pos.DropLiquidPos);
}
//
// 孵育盘校准
@ -137,7 +142,12 @@ public class ReactionPlatesTransmitControlerCalibration {
return dropLiquidPos0;
}
@ExtApiFn(name = "标定", group = "HbotTip滴定位.校准", order = 104)
@ExtApiFn(name = "移动孵育盘仓位1滴定位到放液位", group = "HbotTip滴定位.校准", order = 110)
public void moveTurnablePos0ToDropPos() throws AppException {
turnableMoveCtrlService.trunableMoveToDropLiquidPos(IncubatorPos.SPACE01);
}
@ExtApiFn(name = "标定", group = "HbotTip滴定位.校准", order = 111)
public Pos3d Hbot_dropLiquidPosCalibration() throws AppException {
enableModule();
pipetteCtrlDriver.zMotorMeasureDistance();
@ -224,22 +234,26 @@ public class ReactionPlatesTransmitControlerCalibration {
@ExtApiFn(name = "滴定", group = "校验", order = 1000)
public void turntableMoveDropPos(IncubatorPos pos) throws AppException {
deviceReset();
turnableMoveCtrlService.trunableMoveToDropLiquidPos(pos);
hbotCtrlService.moveToDropLiquidPos();
}
@ExtApiFn(name = "孵育盘移动到拉板位", group = "校验", order = 1001)
public void turntableMovePullPos(IncubatorPos pos) throws AppException {
deviceReset();
turnableMoveCtrlService.trunableMoveToPullPos(pos);
}
@ExtApiFn(name = "孵育盘移动到推板位", group = "校验", order = 1002)
public void turntableMovePushPos(IncubatorPos pos) throws AppException {
deviceReset();
turnableMoveCtrlService.trunableMoveToPushPos(pos);
}
@ExtApiFn(name = "反应板.推一丢一", group = "校验", order = 1003)
public void pushOneAndRemove(ConsumableGroup PBCh, IncubatorPos incubatorPos) throws AppException {
deviceReset();
plateBoxCtrlService.pushPlateQuick(PBCh, incubatorPos);
optScanModuleCtrlService.pullPlate(incubatorPos);
optScanModuleCtrlService.dropPlate();
@ -247,6 +261,7 @@ public class ReactionPlatesTransmitControlerCalibration {
@ExtApiFn(name = "反应板.推所有丢所有", group = "校验", order = 1004)
public void pushAllAndRemoveAll() throws AppException {
deviceReset();
pushOneAndRemove(ConsumableGroup.GROUP0, IncubatorPos.SPACE01);
pushOneAndRemove(ConsumableGroup.GROUP1, IncubatorPos.SPACE02);
pushOneAndRemove(ConsumableGroup.GROUP2, IncubatorPos.SPACE03);

4
src/main/java/a8k/service/app/devicectrl/param/calibration/TubePreProcesPosCalibration.java

@ -270,8 +270,8 @@ public class TubePreProcesPosCalibration {
deviceReset();
controler.takeTubeFromTubeholderToShakePos(isHTube);
controler.shakeTube(45, 5);
controler.takeTubeCap(isHTube);
controler.putbakTubeCapAndPutbakTubeToTubeHolder(isHTube);
controler.takeTubeCap();
controler.putbakTubeCapAndPutbakTubeToTubeHolder();
tubePreProcesModuleExDriver.clampingMReleaseTubeInFuzzyPos();
disableModule();

2
src/main/java/a8k/service/app/devicectrl/param/param_mgr/HbotFixedPosParamMgr.java

@ -14,7 +14,7 @@ import org.springframework.stereotype.Component;
public class HbotFixedPosParamMgr extends ParamMgr {
static final Logger logger = LoggerFactory.getLogger(HbotFixedPosParamMgr.class);
enum Pos {
public enum Pos {
DropLiquidPos("滴液位置"),
;
public final String chName;

6
src/main/java/a8k/service/app/devicectrl/param/param_mgr/base/ParamMgr.java

@ -9,13 +9,17 @@ import java.util.List;
public class ParamMgr {
@Resource
LowerDeviceParameterDBService db;
String serviceName = this.getClass().getSimpleName();
String serviceName = this.getClass().getSimpleName();
public List<Parameter> getParams() {
return db.getParams(serviceName);
}
public Parameter getParam(Enum<?> key) {
return db.getParam(this.serviceName, key.name());
}
public void resetParams() {
db.recoveryParamByService(serviceName);
}

BIN
src/main/resources/app.db

Loading…
Cancel
Save