From 3609adbc44ca596776ede9924cf75e2ac5dc479e Mon Sep 17 00:00:00 2001 From: zhaohe Date: Sat, 26 Oct 2024 13:41:16 +0800 Subject: [PATCH] update --- .../extapi_controler/pagecontrol/ExtApiTabConfig.java | 5 ++--- .../a8k/hardware/type/a8kcanprotocol/A8kPacket.java | 2 +- .../param/calibration/HbotLittleBSPosCalibration.java | 17 +++++++++++------ .../calibration/HbotProbeSubstancePosCalibration.java | 11 ++++++----- .../param/calibration/HbotTipPosCalibration.java | 4 +--- 5 files changed, 21 insertions(+), 18 deletions(-) diff --git a/src/main/java/a8k/extapi_controler/pagecontrol/ExtApiTabConfig.java b/src/main/java/a8k/extapi_controler/pagecontrol/ExtApiTabConfig.java index 7d2a3ea..c0b7e66 100644 --- a/src/main/java/a8k/extapi_controler/pagecontrol/ExtApiTabConfig.java +++ b/src/main/java/a8k/extapi_controler/pagecontrol/ExtApiTabConfig.java @@ -23,11 +23,10 @@ public enum ExtApiTabConfig { TubePreProcesPosCalibration("校准.试管预处理校准", true), Hbot2DCodeScanPosCalibration("校准.耗材扫描校准", true), HbotTipPosCalibration("校准.Tip耗材位置校准", true), - HbotLittleBottleConsumableCalibration("校准.小瓶耗材位置校准", true), - HbotLargeBottleBSPosCalibration("校准.大瓶BS耗材位置校准", true), - HbotSamplePosCalibration("校准.样本位置校准", true), HbotLittleBSPosCalibration("校准.小瓶BS耗材位置校准", true), HbotProbeSubstancePosCalibration("校准.探测物质位置校准", true), + HbotLargeBottleBSPosCalibration("校准.大瓶BS耗材位置校准", true), + HbotSamplePosCalibration("校准.样本位置校准", true), PipetteGunLLDParamCalibration("校准.移液枪LLD参数校准", true), PipetteGunLLFParamCalibration("校准.移液枪LLF参数校准", true), OptModuleParamCalibration("校准.光学模块参数校准", true), diff --git a/src/main/java/a8k/hardware/type/a8kcanprotocol/A8kPacket.java b/src/main/java/a8k/hardware/type/a8kcanprotocol/A8kPacket.java index 73d11a1..7cf4313 100644 --- a/src/main/java/a8k/hardware/type/a8kcanprotocol/A8kPacket.java +++ b/src/main/java/a8k/hardware/type/a8kcanprotocol/A8kPacket.java @@ -33,7 +33,7 @@ public class A8kPacket { public static final int PACKET_TYPE_ERROR_ACK = 2; public static final int PACKET_TYPE_EVENT = 3; - public static final int CMD_OVERTIME = 2000; + public static final int CMD_OVERTIME = 500; public A8kPacket(byte[] cmd) { raw = new byte[cmd.length]; diff --git a/src/main/java/a8k/service/app/devicectrl/param/calibration/HbotLittleBSPosCalibration.java b/src/main/java/a8k/service/app/devicectrl/param/calibration/HbotLittleBSPosCalibration.java index 1a3121a..df66cfb 100644 --- a/src/main/java/a8k/service/app/devicectrl/param/calibration/HbotLittleBSPosCalibration.java +++ b/src/main/java/a8k/service/app/devicectrl/param/calibration/HbotLittleBSPosCalibration.java @@ -87,7 +87,7 @@ public class HbotLittleBSPosCalibration { @ExtApiFn(name = "开始标定", group = "标定小瓶XY坐标", order = 30) - public void startCalibrateLittleBottleGroup(LittleBottleConsumableType type) throws AppException { + public void startCalibrateLittleBottleGroup() throws AppException { refPoint = new java.util.ArrayList<>(); moveToZero(); disableModule(); @@ -133,21 +133,23 @@ public class HbotLittleBSPosCalibration { // 标定Z轴 // - public void setZPos(HbotLittleBSPos posName) throws AppException { + public void setZPos(HbotLittleBSPos posName, Integer offset) throws AppException { enableModule(); pipetteCtrlDriver.zMotorMeasureDistance(); - hbotLittleBSPosMgr.setParam(posName, pipetteCtrlDriver.zMotorReadMeasureDistanceResult()); + hbotLittleBSPosMgr.setParam(posName, pipetteCtrlDriver.zMotorReadMeasureDistanceResult() + offset); disableModule(); } @ExtApiFn(name = "校准.小瓶穿孔Z轴位置", group = "标定Z轴", order = 101) - public void setPierceZPos() throws AppException {setZPos(HbotLittleBSPos.LittleBSPierceZPos);} + public void setPierceZPos() throws AppException {setZPos(HbotLittleBSPos.LittleBSPierceZPos, 0);} @ExtApiFn(name = "校准.小瓶取样Z轴位置", group = "标定Z轴", order = 102) - public void setSampleZPos() throws AppException {setZPos(HbotLittleBSPos.LittleBSSampleZPos);} + public void setSampleZPos() throws AppException {setZPos(HbotLittleBSPos.LittleBSSampleZPos, 0);} @ExtApiFn(name = "校准.小瓶缓冲液取样结束Z轴位置", group = "标定Z轴", order = 104) - public void setSampleEndZPos() throws AppException {setZPos(HbotLittleBSPos.LittleBSSampleEndZPos);} + public void setSampleEndZPos() throws AppException { + //结束位置比设定位置高1mm的余量 + setZPos(HbotLittleBSPos.LittleBSSampleEndZPos, -20);} // // 校验 @@ -156,6 +158,8 @@ public class HbotLittleBSPosCalibration { public void testMoveToLittleBufferPos(ConsumableGroup group) throws AppException { resetStopFlag(); enableModule(); + pipetteCtrlDriver.zMotorMoveZeroBlock(); + for (int i = 0; i < AppConstant.CONSUMABLE_NUM; i++) { hbotCtrlService.moveToLittleBufferPiercePos(group, i); pipetteCtrlDriver.zMotorMoveToZeroPointQuickBlock(); @@ -163,6 +167,7 @@ public class HbotLittleBSPosCalibration { return; } } + @ExtApiFn(name = "停止校验", group = "校验", order = 304) public void stopTest() throws AppException { setStopFlag(); diff --git a/src/main/java/a8k/service/app/devicectrl/param/calibration/HbotProbeSubstancePosCalibration.java b/src/main/java/a8k/service/app/devicectrl/param/calibration/HbotProbeSubstancePosCalibration.java index ddec7fb..7ab580d 100644 --- a/src/main/java/a8k/service/app/devicectrl/param/calibration/HbotProbeSubstancePosCalibration.java +++ b/src/main/java/a8k/service/app/devicectrl/param/calibration/HbotProbeSubstancePosCalibration.java @@ -90,7 +90,7 @@ public class HbotProbeSubstancePosCalibration { @ExtApiFn(name = "开始标定", group = "标定小瓶XY坐标", order = 30) - public void startCalibrateLittleBottleGroup(LittleBottleConsumableType type) throws AppException { + public void startCalibrateLittleBottleGroup() throws AppException { refPoint = new java.util.ArrayList<>(); moveToZero(); disableModule(); @@ -136,18 +136,18 @@ public class HbotProbeSubstancePosCalibration { // 标定Z轴 // - public void setZPos(HbotProbeSubstancePos posName) throws AppException { + public void setZPos(HbotProbeSubstancePos posName, Integer offset) throws AppException { enableModule(); pipetteCtrlDriver.zMotorMeasureDistance(); - posMgr.setParam(posName, pipetteCtrlDriver.zMotorReadMeasureDistanceResult()); + posMgr.setParam(posName, pipetteCtrlDriver.zMotorReadMeasureDistanceResult() + offset); disableModule(); } @ExtApiFn(name = "校准.小瓶取样Z轴位置", group = "标定Z轴", order = 102) - public void setSampleZPos() throws AppException {setZPos(HbotProbeSubstancePos.ProbeSubstanceSampleZPos);} + public void setSampleZPos() throws AppException {setZPos(HbotProbeSubstancePos.ProbeSubstanceSampleZPos, 0);} @ExtApiFn(name = "校准.小瓶缓冲液取样结束Z轴位置", group = "标定Z轴", order = 104) - public void setSampleEndZPos() throws AppException {setZPos(HbotProbeSubstancePos.ProbeSubstanceSampleEndZPos);} + public void setSampleEndZPos() throws AppException {setZPos(HbotProbeSubstancePos.ProbeSubstanceSampleEndZPos, 20/*2mm*/);} // // 校验 @@ -156,6 +156,7 @@ public class HbotProbeSubstancePosCalibration { public void testMoveToLittleBufferPos(ConsumableGroup group) throws AppException { resetStopFlag(); enableModule(); + pipetteCtrlDriver.zMotorMoveZeroBlock(); for (int i = 0; i < AppConstant.CONSUMABLE_NUM; i++) { hbotCtrlService.moveToProbeSubstanceSamplePos(group, i); pipetteCtrlDriver.zMotorMoveToZeroPointQuickBlock(); diff --git a/src/main/java/a8k/service/app/devicectrl/param/calibration/HbotTipPosCalibration.java b/src/main/java/a8k/service/app/devicectrl/param/calibration/HbotTipPosCalibration.java index ddead4f..05e5681 100644 --- a/src/main/java/a8k/service/app/devicectrl/param/calibration/HbotTipPosCalibration.java +++ b/src/main/java/a8k/service/app/devicectrl/param/calibration/HbotTipPosCalibration.java @@ -107,12 +107,10 @@ public class HbotTipPosCalibration { Double tipdx; Double tipdy; - @ExtApiFn(name = "开始标定Tip坐标", group = "辅助标定", order = 20) + @ExtApiFn(name = "清空参考点", group = "辅助标定", order = 20) public void startCalibrateTipPos() throws AppException { Assert.isTrue(tipGroup != null, "请先设置上下文"); tipRefPosList = new java.util.ArrayList<>(); - moveToZero(); - disableModule(); tipdx = 0.0; tipdy = 0.0; tip000 = new Pos3d(0, 0, 0);