From 68f97dda292d5d79d651b980c84e1bae70be0e59 Mon Sep 17 00:00:00 2001 From: zhaohe Date: Thu, 17 Oct 2024 21:05:26 +0800 Subject: [PATCH] update --- app.db | Bin 225280 -> 225280 bytes .../pagecontrol/ExtApiTabConfig.java | 1 + .../calibration/HbotSamplePosCalibration.java | 118 +++++++++++++++++++++ .../app/devicedriver/ctrl/HbotControler.java | 4 + .../app/devicedriver/pos/Hbot2DCodeScanPos.java | 6 +- .../app/devicedriver/pos/HbotConsumablePosMgr.java | 94 ++++++++-------- .../app/devicedriver/pos/HbotFixPosMgr.java | 8 +- .../app/devicedriver/pos/HbotSamplePosMgr.java | 20 ++-- .../app/devicedriver/pos/OptModulePosMgr.java | 20 ++-- .../app/devicedriver/pos/PlatesBoxPosMgr.java | 12 +-- .../devicedriver/pos/TubeFeedingModulePosMgr.java | 32 +++--- .../app/devicedriver/pos/TubeHolderParamMgr.java | 4 +- .../app/devicedriver/pos/TubePreProcesPosMgr.java | 40 +++---- .../app/devicedriver/pos/TurntablePosMgr.java | 16 +-- .../a8k/service/db/utils/PosParameterReader.java | 4 +- src/main/java/a8k/type/HbotSamplePos.java | 38 +++++-- 16 files changed, 285 insertions(+), 132 deletions(-) create mode 100644 src/main/java/a8k/service/app/devicedriver/calibration/HbotSamplePosCalibration.java diff --git a/app.db b/app.db index 5e43c73fce4b3bcde213b7b709e02906f10a3114..a1f158b265e1e8157af2cbd56a716053370aa2ee 100644 GIT binary patch delta 1918 zcmcgsYiv_x82;X~wx{<~md+^-HrC8+Zrz2Zouy^nkXdxhbZ%IJt~b|g!nSq=%|Hz` zh7gUDNtJKRAX}V?V(i2k=Vjdj0e%=DXow-i#4&oCj7>4}17hNLdKzf!hW;=%IVU;a z_dIW(_jxb=8JT}ZHn=iZr$h+Vl1E1#6+)8pZ&$3Pbjst7F}svvZjw_}$=qgch7^t% zb3gei+(KSLjf}iCyb{EmV-7ObfZWj|$%8YL6TGknoer!}m_*x5G*VaPYZ?MIPQA*Q zn4XA)M-t=j#)G4E(F2EKBjkG^9u79w5nN5arX&#STbCEz_fcZh&%xT(lN)uurZ!OK zdn7OB|1dHB2H~WW17YubJcQs>$nCpqgO@|~-`fCQ3LX8SfPy`t$&0rEc89+D@d`ly zYr~f&hA%-Uy&X-WV&p=?W5O-jcp5r6mIrrFd9eBswYT5YFe6Qx_>eRR$;E1o0&G+gi`%WC%F>))g7& zhC;E!!R*8l${AJbN#gjGMX1Y*e|{`7HO*yCuEy2ce2o^LS_I>&=%<6x$*-ehUvRh8 zmD--o1QJd{0v|h!$}B_;i@?WcpbH;}gB72hg*IwS2Of!n8owBYQhYuJcG}^hk#_xq z_}4hxhwHDwW8lOWVo-o9BOt)lvtYpcu0gKI{wPU@C~Zh8RT@JvEOioj;^H+(XU4E+DoR8HSowy{D1*FnHTS7A4?xsQ7Ym#i~08N0%Y)c`E32 m8CX|~?$q9xZ7GNTa)zS4{9-c6S}e8X><7WbJC>a8!oL88=~Zw5 delta 717 zcmZWnYe2%3w*pHm4lwhH#O}gyTbTe6Mre*zU5FykL zFJJJ4LJg9LkWltxLTMKWDk>@}&0Cu@YhGp)L1aXq`LiGAdEmfv&U4`S!y12B)4g>Q zA0UM66p=3?jS$t%o~#{|4-7j89BSa!M3$s*Yn(BtbuMtikVm#fWaL(jIIU!qa4)!C z&c+!9t+O!!)MS*ps0n7EA8Lg}EsysXpr0wSvLxFgm|c22ABJs0hU;fgXdSdeL(ux# z4&V)5e`BQJ3Eq3V22dXyc^?6&yU;fg>YD&BTSHHfbmEf}A9t5)<95q_Bz#WjPB6=^ zX~v~rG?gHLK|QXvOPf^lQZ1V;xvIRav`9>f5k(LOLEQkj>sz4STT zMTUEdl7xV>6dy*Qfp#3gt|iDqeigPeaE zHhyke0j0dE#pSL)-sHuh6|kW_4i3qFZ!3<*;SN4qg?vS6u~>)#eICKH?`Wz}b~2eM z-Xl`H(Bjfz;U{1*Hv(xlz^@&kuhv(uNg9%dsiZ}gDmt1`T_NcNK6Ir*;!F7p5(V%~ diff --git a/src/main/java/a8k/extapi_controler/pagecontrol/ExtApiTabConfig.java b/src/main/java/a8k/extapi_controler/pagecontrol/ExtApiTabConfig.java index 59b4904..fbb05cd 100644 --- a/src/main/java/a8k/extapi_controler/pagecontrol/ExtApiTabConfig.java +++ b/src/main/java/a8k/extapi_controler/pagecontrol/ExtApiTabConfig.java @@ -21,6 +21,7 @@ public enum ExtApiTabConfig { HbotTipPosCalibration("校准.Tip耗材位置校准", true), HbotLittleBottleConsumableCalibration("校准.小瓶耗材位置校准", true), HbotLargeBottleBSPosCalibration("校准.大瓶BS耗材位置校准", true), + HbotSamplePosCalibration("校准.样本位置校准", true), ActionReactorService("底层调试.单步调试", false),//OK Hbot2DCodeScanPos("参数.Hbot二维码扫描坐标参数", false), diff --git a/src/main/java/a8k/service/app/devicedriver/calibration/HbotSamplePosCalibration.java b/src/main/java/a8k/service/app/devicedriver/calibration/HbotSamplePosCalibration.java new file mode 100644 index 0000000..e8bca18 --- /dev/null +++ b/src/main/java/a8k/service/app/devicedriver/calibration/HbotSamplePosCalibration.java @@ -0,0 +1,118 @@ +package a8k.service.app.devicedriver.calibration; + + +import a8k.extapi_controler.pagecontrol.ExtApiTabConfig; +import a8k.extapi_controler.utils.ExtApiFn; +import a8k.extapi_controler.utils.ExtApiTab; +import a8k.service.app.devicedriver.basectrl.HbotModule; +import a8k.service.app.devicedriver.basectrl.PipetteCtrlModule; +import a8k.service.app.devicedriver.ctrl.HbotControler; +import a8k.service.app.devicedriver.pos.HbotConsumablePosMgr; +import a8k.service.app.devicedriver.pos.HbotSamplePosMgr; +import a8k.type.*; +import a8k.type.cfg.Pos2d; +import a8k.type.cfg.Pos3d; +import a8k.type.exception.AppException; +import a8k.utils.ZJsonHelper; +import a8k.utils.ZSimplAlgo; +import com.fasterxml.jackson.databind.node.ObjectNode; +import jakarta.annotation.Resource; +import org.aspectj.lang.annotation.Aspect; +import org.slf4j.Logger; +import org.springframework.stereotype.Component; + +import java.util.List; + +@ExtApiTab(cfg = ExtApiTabConfig.HbotSamplePosCalibration) +@Component +@Aspect +public class HbotSamplePosCalibration { + static Logger logger = org.slf4j.LoggerFactory.getLogger(HbotSamplePosCalibration.class); + + @Resource + PipetteCtrlModule pipetteCtrlModule; + @Resource + HbotModule hbotModule; + + + @Resource + HbotControler hbotControler; + @Resource + HbotSamplePosMgr hbotSamplePosMgr; + + Boolean stopFlag = false; + + Boolean checkStopFlag() { + if (stopFlag) { + stopFlag = false; + return true; + } + return false; + } + + void resetStopFlag() { + stopFlag = false; + } + + void setStopFlag() { + stopFlag = true; + } + + + @ExtApiFn(name = "获取坐标", group = "基础", order = 1) + public Object getPoss() throws AppException { + return hbotSamplePosMgr.getParams(); + } + + + // 测试工具 + @ExtApiFn(name = "归零", group = "测试工具", order = 11) + public void moveToZero() throws AppException { + enableModule(); + pipetteCtrlModule.zMotorMoveZeroBlock(); + hbotModule.moveToZeroBlock(); + } + + @ExtApiFn(name = "使能相关模块", group = "测试工具", order = 12) + public void enableModule() throws AppException { + pipetteCtrlModule.zMotorEnable(1); + hbotModule.enable(1); + } + + @ExtApiFn(name = "失能相关模块", group = "测试工具", order = 13) + public void disableModule() throws AppException { + pipetteCtrlModule.zMotorEnable(0); + hbotModule.enable(0); + } + + + // + // 标定Z轴 + // + public Pos3d readPos() throws AppException { + enableModule(); + Pos2d xypos = hbotModule.readPos(); + pipetteCtrlModule.zMotorMeasureDistance(); + Integer z = pipetteCtrlModule.zMotorReadMeasureDistanceResult(); + Pos3d var = new Pos3d(xypos.x, xypos.y, z); + disableModule(); + return var; + } + + @ExtApiFn(name = "校准.采样位置", group = "标定", order = 104) + public void calibrationSamplePos(HbotSamplePos posType) throws AppException { + Pos3d pos3d = readPos(); + hbotSamplePosMgr.setSamplePos(posType, pos3d); + } + + + // + // 校验 + // + + @ExtApiFn(name = "校验坐标", group = "校验", order = 303) + public void testSamplePos(HbotSamplePos posType) throws AppException { + hbotControler.moveToSamplePos(posType); + } + +} diff --git a/src/main/java/a8k/service/app/devicedriver/ctrl/HbotControler.java b/src/main/java/a8k/service/app/devicedriver/ctrl/HbotControler.java index d682e93..da4d6b5 100644 --- a/src/main/java/a8k/service/app/devicedriver/ctrl/HbotControler.java +++ b/src/main/java/a8k/service/app/devicedriver/ctrl/HbotControler.java @@ -102,6 +102,10 @@ public class HbotControler { hbotBaseMoveControler.hbotMoveTo(hbotConsumablePosMgr.getLargeBufferSamplePos(group)); } + public void moveToSamplePos(HbotSamplePos pos) throws AppException { + hbotBaseMoveControler.hbotMoveTo(hbotSamplePosMgr.getSamplePos(pos)); + } + } diff --git a/src/main/java/a8k/service/app/devicedriver/pos/Hbot2DCodeScanPos.java b/src/main/java/a8k/service/app/devicedriver/pos/Hbot2DCodeScanPos.java index 94550dd..5a28e86 100644 --- a/src/main/java/a8k/service/app/devicedriver/pos/Hbot2DCodeScanPos.java +++ b/src/main/java/a8k/service/app/devicedriver/pos/Hbot2DCodeScanPos.java @@ -39,17 +39,17 @@ public class Hbot2DCodeScanPos { public void setPBScanPosX(Integer X, Pos2d pos) { logger.info("setPBScanPos{} {}", X, pos); - posReader.updatePos("PBScanPos" + X, pos); + posReader.setParam("PBScanPos" + X, pos); } public void setLittBSX(Integer X, Pos2d pos) { logger.info("setLittBS{} {}", X, pos); - posReader.updatePos("LittBS" + X, pos); + posReader.setParam("LittBS" + X, pos); } public void setLarBSX(Integer X, Pos2d pos) { logger.info("setLarBS{} {}", X, pos); - posReader.updatePos("LarBS" + X, pos); + posReader.setParam("LarBS" + X, pos); } public Pos2d getPBScanPosX(Integer X) { diff --git a/src/main/java/a8k/service/app/devicedriver/pos/HbotConsumablePosMgr.java b/src/main/java/a8k/service/app/devicedriver/pos/HbotConsumablePosMgr.java index c0ce4b5..31a6c55 100644 --- a/src/main/java/a8k/service/app/devicedriver/pos/HbotConsumablePosMgr.java +++ b/src/main/java/a8k/service/app/devicedriver/pos/HbotConsumablePosMgr.java @@ -48,47 +48,47 @@ public class HbotConsumablePosMgr { posReader.setVersion(nowParaVersion); - posReader.updatePos(HbotConsumablePosParam.TipGroup0_000Pos, new Pos3d()); - posReader.updatePos(HbotConsumablePosParam.TipGroup0_SpaceingX, 0.0); - posReader.updatePos(HbotConsumablePosParam.TipGroup0_SpaceingY, 0.0); + posReader.setParam(HbotConsumablePosParam.TipGroup0_000Pos, new Pos3d()); + posReader.setParam(HbotConsumablePosParam.TipGroup0_SpaceingX, 0.0); + posReader.setParam(HbotConsumablePosParam.TipGroup0_SpaceingY, 0.0); - posReader.updatePos(HbotConsumablePosParam.TipGroup1_000Pos, new Pos3d()); - posReader.updatePos(HbotConsumablePosParam.TipGroup1_SpaceingX, 0.0); - posReader.updatePos(HbotConsumablePosParam.TipGroup1_SpaceingY, 0.0); + posReader.setParam(HbotConsumablePosParam.TipGroup1_000Pos, new Pos3d()); + posReader.setParam(HbotConsumablePosParam.TipGroup1_SpaceingX, 0.0); + posReader.setParam(HbotConsumablePosParam.TipGroup1_SpaceingY, 0.0); - posReader.updatePos(HbotConsumablePosParam.TipGroup2_000Pos, new Pos3d()); - posReader.updatePos(HbotConsumablePosParam.TipGroup2_SpaceingX, 0.0); - posReader.updatePos(HbotConsumablePosParam.TipGroup2_SpaceingY, 0.0); + posReader.setParam(HbotConsumablePosParam.TipGroup2_000Pos, new Pos3d()); + posReader.setParam(HbotConsumablePosParam.TipGroup2_SpaceingX, 0.0); + posReader.setParam(HbotConsumablePosParam.TipGroup2_SpaceingY, 0.0); - posReader.updatePos(HbotConsumablePosParam.LittleBufferGroup0_000Pos, new Pos3d()); - posReader.updatePos(HbotConsumablePosParam.LittleBufferGroup1_000Pos, new Pos3d()); - posReader.updatePos(HbotConsumablePosParam.LittleBufferGroup2_000Pos, new Pos3d()); - posReader.updatePos(HbotConsumablePosParam.LittleBufferGroup3_000Pos, new Pos3d()); - posReader.updatePos(HbotConsumablePosParam.LittleBufferGroup4_000Pos, new Pos3d()); - posReader.updatePos(HbotConsumablePosParam.LittleBufferGroup5_000Pos, new Pos3d()); + posReader.setParam(HbotConsumablePosParam.LittleBufferGroup0_000Pos, new Pos3d()); + posReader.setParam(HbotConsumablePosParam.LittleBufferGroup1_000Pos, new Pos3d()); + posReader.setParam(HbotConsumablePosParam.LittleBufferGroup2_000Pos, new Pos3d()); + posReader.setParam(HbotConsumablePosParam.LittleBufferGroup3_000Pos, new Pos3d()); + posReader.setParam(HbotConsumablePosParam.LittleBufferGroup4_000Pos, new Pos3d()); + posReader.setParam(HbotConsumablePosParam.LittleBufferGroup5_000Pos, new Pos3d()); - posReader.updatePos(HbotConsumablePosParam.LittleBufferGroupDX, 0.0); - posReader.updatePos(HbotConsumablePosParam.LittleBufferGroupDY, 0.0); + posReader.setParam(HbotConsumablePosParam.LittleBufferGroupDX, 0.0); + posReader.setParam(HbotConsumablePosParam.LittleBufferGroupDY, 0.0); - posReader.updatePos(HbotConsumablePosParam.ProbeSubstanceGroup0_000Pos, new Pos3d()); - posReader.updatePos(HbotConsumablePosParam.ProbeSubstanceGroup1_000Pos, new Pos3d()); - posReader.updatePos(HbotConsumablePosParam.ProbeSubstanceGroup2_000Pos, new Pos3d()); - posReader.updatePos(HbotConsumablePosParam.ProbeSubstanceGroup3_000Pos, new Pos3d()); - posReader.updatePos(HbotConsumablePosParam.ProbeSubstanceGroup4_000Pos, new Pos3d()); - posReader.updatePos(HbotConsumablePosParam.ProbeSubstanceGroup5_000Pos, new Pos3d()); + posReader.setParam(HbotConsumablePosParam.ProbeSubstanceGroup0_000Pos, new Pos3d()); + posReader.setParam(HbotConsumablePosParam.ProbeSubstanceGroup1_000Pos, new Pos3d()); + posReader.setParam(HbotConsumablePosParam.ProbeSubstanceGroup2_000Pos, new Pos3d()); + posReader.setParam(HbotConsumablePosParam.ProbeSubstanceGroup3_000Pos, new Pos3d()); + posReader.setParam(HbotConsumablePosParam.ProbeSubstanceGroup4_000Pos, new Pos3d()); + posReader.setParam(HbotConsumablePosParam.ProbeSubstanceGroup5_000Pos, new Pos3d()); - posReader.updatePos(HbotConsumablePosParam.ProbeSubstanceDX, 0.0); - posReader.updatePos(HbotConsumablePosParam.ProbeSubstanceDY, 0.0); + posReader.setParam(HbotConsumablePosParam.ProbeSubstanceDX, 0.0); + posReader.setParam(HbotConsumablePosParam.ProbeSubstanceDY, 0.0); - posReader.updatePos(HbotConsumablePosParam.LargeBuffer_0Pos, new Pos3d()); - posReader.updatePos(HbotConsumablePosParam.LargeBuffer_DX, 0.0); - posReader.updatePos(HbotConsumablePosParam.LargeBuffer_DY, 0.0); + posReader.setParam(HbotConsumablePosParam.LargeBuffer_0Pos, new Pos3d()); + posReader.setParam(HbotConsumablePosParam.LargeBuffer_DX, 0.0); + posReader.setParam(HbotConsumablePosParam.LargeBuffer_DY, 0.0); - posReader.updatePos(HbotConsumablePosParam.LittleBSPierceZPos, 0.0); - posReader.updatePos(HbotConsumablePosParam.LittleBSSampleZPos, 0.0); - posReader.updatePos(HbotConsumablePosParam.ProbeSubstanceSampleZPos, 0.0); - posReader.updatePos(HbotConsumablePosParam.LargeBSSSampleZPos, 0.0); + posReader.setParam(HbotConsumablePosParam.LittleBSPierceZPos, 0.0); + posReader.setParam(HbotConsumablePosParam.LittleBSSampleZPos, 0.0); + posReader.setParam(HbotConsumablePosParam.ProbeSubstanceSampleZPos, 0.0); + posReader.setParam(HbotConsumablePosParam.LargeBSSSampleZPos, 0.0); } @@ -98,7 +98,7 @@ public class HbotConsumablePosMgr { public void setParam(HbotConsumablePosParam param, Object val) { - posReader.updatePos(param.name(), val); + posReader.setParam(param.name(), val); } public void setTipGroupParam(TipGroup tipGroup, Pos3d tip000, Double dx, Double dy) { @@ -122,9 +122,9 @@ public class HbotConsumablePosMgr { Assert.isTrue(tip000Pos != null, "tip000Pos != null"); - posReader.updatePos(tip000Pos, tip000); - posReader.updatePos(tipDxPos, dx); - posReader.updatePos(tipDyPos, dy); + posReader.setParam(tip000Pos, tip000); + posReader.setParam(tipDxPos, dx); + posReader.setParam(tipDyPos, dy); } @@ -165,9 +165,9 @@ public class HbotConsumablePosMgr { public void setLargeBufferGroupPosInfo(LargeBottoleConsumablePosInfo info) { - posReader.updatePos(HbotConsumablePosParam.LargeBuffer_0Pos, info.pos00); - posReader.updatePos(HbotConsumablePosParam.LargeBuffer_DX, info.dx); - posReader.updatePos(HbotConsumablePosParam.LargeBuffer_DY, info.dy); + posReader.setParam(HbotConsumablePosParam.LargeBuffer_0Pos, info.pos00); + posReader.setParam(HbotConsumablePosParam.LargeBuffer_DX, info.dx); + posReader.setParam(HbotConsumablePosParam.LargeBuffer_DY, info.dy); } public LittleBottleConsumablePosInfo getLittleBottleConsumablePosInfo(LittleBottleConsumableType type) { @@ -208,14 +208,14 @@ public class HbotConsumablePosMgr { groupDY = HbotConsumablePosParam.ProbeSubstanceDY; } - posReader.updatePos(group0_000Pos, info.g0_000); - posReader.updatePos(group1_000Pos, info.g1_000); - posReader.updatePos(group2_000Pos, info.g2_000); - posReader.updatePos(group3_000Pos, info.g3_000); - posReader.updatePos(group4_000Pos, info.g4_000); - posReader.updatePos(group5_000Pos, info.g5_000); - posReader.updatePos(groupDX, info.dx); - posReader.updatePos(groupDY, info.dy); + posReader.setParam(group0_000Pos, info.g0_000); + posReader.setParam(group1_000Pos, info.g1_000); + posReader.setParam(group2_000Pos, info.g2_000); + posReader.setParam(group3_000Pos, info.g3_000); + posReader.setParam(group4_000Pos, info.g4_000); + posReader.setParam(group5_000Pos, info.g5_000); + posReader.setParam(groupDX, info.dx); + posReader.setParam(groupDY, info.dy); } public Pos3d getTipPos(TipGroup tipGroup, Integer tipoff) { diff --git a/src/main/java/a8k/service/app/devicedriver/pos/HbotFixPosMgr.java b/src/main/java/a8k/service/app/devicedriver/pos/HbotFixPosMgr.java index 04a283f..061a99e 100644 --- a/src/main/java/a8k/service/app/devicedriver/pos/HbotFixPosMgr.java +++ b/src/main/java/a8k/service/app/devicedriver/pos/HbotFixPosMgr.java @@ -59,8 +59,8 @@ public class HbotFixPosMgr { public void paramReset() { logger.info("init param"); posReader.setVersion(nowParaVersion); - posReader.updatePos(Pos.DropTipPos.name(), new Pos3d(0, 0, 0)); - posReader.updatePos(Pos.DropLiquidPos.name(), new Pos3d(0, 0, 0)); + posReader.setParam(Pos.DropTipPos.name(), new Pos3d(0, 0, 0)); + posReader.setParam(Pos.DropLiquidPos.name(), new Pos3d(0, 0, 0)); } public List getParams() { @@ -76,11 +76,11 @@ public class HbotFixPosMgr { } public void setDropTipPos(Pos3d pos) { - posReader.updatePos(Pos.DropTipPos.name(), pos); + posReader.setParam(Pos.DropTipPos.name(), pos); } public void setDropLiquidPos(Pos3d pos) { - posReader.updatePos(Pos.DropLiquidPos.name(), pos); + posReader.setParam(Pos.DropLiquidPos.name(), pos); } } diff --git a/src/main/java/a8k/service/app/devicedriver/pos/HbotSamplePosMgr.java b/src/main/java/a8k/service/app/devicedriver/pos/HbotSamplePosMgr.java index 105e32c..28ae0bd 100644 --- a/src/main/java/a8k/service/app/devicedriver/pos/HbotSamplePosMgr.java +++ b/src/main/java/a8k/service/app/devicedriver/pos/HbotSamplePosMgr.java @@ -4,6 +4,7 @@ import a8k.extapi_controler.pagecontrol.ExtApiTabConfig; import a8k.extapi_controler.utils.ExtApiParamsTab; import a8k.extapi_controler.utils.ExtApiTab; import a8k.service.db.LowerDeviceParameterDBService; +import a8k.service.db.type.Parameter; import a8k.service.db.utils.PosParameterReader; import a8k.type.HbotSamplePos; import a8k.type.cfg.Pos3d; @@ -13,6 +14,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; +import java.util.List; + /** * HBOT二维码扫描坐标参数 */ @@ -31,6 +34,9 @@ public class HbotSamplePosMgr { @PostConstruct void initialize() { posReader = lowerDeviceParameterDBService.getReader(this.getClass()); + for (HbotSamplePos pos : HbotSamplePos.values()) { + posReader.setParamChName(pos, pos.chName); + } Integer paraVersion = posReader.getVersion(); if (!nowParaVersion.equals(paraVersion)) { paramReset(); @@ -40,18 +46,18 @@ public class HbotSamplePosMgr { public void paramReset() { logger.info("init param"); posReader.setVersion(nowParaVersion); - posReader.updatePos(HbotSamplePos.EmergencyTubePos.name(), new Pos3d(0, 0, 0)); - posReader.updatePos(HbotSamplePos.BloodTubeSamplePos.name(), new Pos3d(0, 0, 0)); - posReader.updatePos(HbotSamplePos.MiniTubeSamplePos.name(), new Pos3d(0, 0, 0)); - posReader.updatePos(HbotSamplePos.MiniBloodSamplePos.name(), new Pos3d(0, 0, 0)); - posReader.updatePos(HbotSamplePos.Bulltube1P5SamplePos.name(), new Pos3d(0, 0, 0)); - posReader.updatePos(HbotSamplePos.Bulltube0P5SamplePos.name(), new Pos3d(0, 0, 0)); - posReader.updatePos(HbotSamplePos.StoolTestTubeSamplePos.name(), new Pos3d(0, 0, 0)); } + public List getParams() { + return posReader.getParams(); + } public Pos3d getSamplePos(HbotSamplePos pos) { return posReader.getPos(pos, Pos3d.class); } + + public void setSamplePos(HbotSamplePos pos, Pos3d pos3d) { + posReader.setParam(pos, pos3d); + } } diff --git a/src/main/java/a8k/service/app/devicedriver/pos/OptModulePosMgr.java b/src/main/java/a8k/service/app/devicedriver/pos/OptModulePosMgr.java index 227c217..583fc3c 100644 --- a/src/main/java/a8k/service/app/devicedriver/pos/OptModulePosMgr.java +++ b/src/main/java/a8k/service/app/devicedriver/pos/OptModulePosMgr.java @@ -50,11 +50,11 @@ public class OptModulePosMgr { public void paramReset() { logger.info("init param"); posReader.setVersion(nowParaVersion); - posReader.updatePos(POS.PullerTargetPos, 1147); - posReader.updatePos(POS.OptScanerDropPos, -349); - posReader.updatePos(POS.OptScanerScandbyPos, 305); - posReader.updatePos(POS.TOptScanStartPos, 3723); - posReader.updatePos(POS.FOptScanStartPos, 2559); + posReader.setParam(POS.PullerTargetPos, 1147); + posReader.setParam(POS.OptScanerDropPos, -349); + posReader.setParam(POS.OptScanerScandbyPos, 305); + posReader.setParam(POS.TOptScanStartPos, 3723); + posReader.setParam(POS.FOptScanStartPos, 2559); } public Integer getPullerTargetPos() { @@ -78,23 +78,23 @@ public class OptModulePosMgr { } public void setPullerTargetPos(Integer pos) { - posReader.updatePos(POS.PullerTargetPos, pos); + posReader.setParam(POS.PullerTargetPos, pos); } public void setOptScanerDropPos(Integer pos) { - posReader.updatePos(POS.OptScanerDropPos, pos); + posReader.setParam(POS.OptScanerDropPos, pos); } public void setOptScanerScandbyPos(Integer pos) { - posReader.updatePos(POS.OptScanerScandbyPos, pos); + posReader.setParam(POS.OptScanerScandbyPos, pos); } public void setTOptScanStartPos(Integer pos) { - posReader.updatePos(POS.TOptScanStartPos, pos); + posReader.setParam(POS.TOptScanStartPos, pos); } public void setFOptScanStartPos(Integer pos) { - posReader.updatePos(POS.FOptScanStartPos, pos); + posReader.setParam(POS.FOptScanStartPos, pos); } } diff --git a/src/main/java/a8k/service/app/devicedriver/pos/PlatesBoxPosMgr.java b/src/main/java/a8k/service/app/devicedriver/pos/PlatesBoxPosMgr.java index 8a693d5..268282a 100644 --- a/src/main/java/a8k/service/app/devicedriver/pos/PlatesBoxPosMgr.java +++ b/src/main/java/a8k/service/app/devicedriver/pos/PlatesBoxPosMgr.java @@ -58,9 +58,9 @@ public class PlatesBoxPosMgr { logger.info("init param"); posReader.setVersion(nowParaVersion); - posReader.updatePos(POS.Ch0YPos, -17); - posReader.updatePos(POS.YSpacing, 265); - posReader.updatePos(POS.PushEndXPos, 1160); + posReader.setParam(POS.Ch0YPos, -17); + posReader.setParam(POS.YSpacing, 265); + posReader.setParam(POS.PushEndXPos, 1160); } @@ -77,15 +77,15 @@ public class PlatesBoxPosMgr { } public void setCh0YPos(Integer pos) { - posReader.updatePos(POS.Ch0YPos, pos); + posReader.setParam(POS.Ch0YPos, pos); } public void setYSpacing(Integer pos) { - posReader.updatePos(POS.YSpacing, pos); + posReader.setParam(POS.YSpacing, pos); } public void setPushEndXPos(Integer pos) { - posReader.updatePos(POS.PushEndXPos, pos); + posReader.setParam(POS.PushEndXPos, pos); } } diff --git a/src/main/java/a8k/service/app/devicedriver/pos/TubeFeedingModulePosMgr.java b/src/main/java/a8k/service/app/devicedriver/pos/TubeFeedingModulePosMgr.java index 72b1308..5a9538e 100644 --- a/src/main/java/a8k/service/app/devicedriver/pos/TubeFeedingModulePosMgr.java +++ b/src/main/java/a8k/service/app/devicedriver/pos/TubeFeedingModulePosMgr.java @@ -48,14 +48,14 @@ public class TubeFeedingModulePosMgr { if (!nowParaVersion.equals(paraVersion)) { logger.info("init param"); posReader.setVersion(nowParaVersion); - posReader.updatePos(POS.TubeHolderEnterXPos, -46); - posReader.updatePos(POS.TubeHolderExitXPos, 3975); - posReader.updatePos(POS.TubeHolderScanXPos, 2202); - posReader.updatePos(POS.Tube0ScanXPos, 505); - posReader.updatePos(POS.Tube0AltitJudgXPos, 505); - posReader.updatePos(POS.Tube0ExistJudgXPos, 300); - posReader.updatePos(POS.Tube0PreProcessXPos, 1225); - posReader.updatePos(POS.TubeScanServoTorque, 500); + posReader.setParam(POS.TubeHolderEnterXPos, -46); + posReader.setParam(POS.TubeHolderExitXPos, 3975); + posReader.setParam(POS.TubeHolderScanXPos, 2202); + posReader.setParam(POS.Tube0ScanXPos, 505); + posReader.setParam(POS.Tube0AltitJudgXPos, 505); + posReader.setParam(POS.Tube0ExistJudgXPos, 300); + posReader.setParam(POS.Tube0PreProcessXPos, 1225); + posReader.setParam(POS.TubeScanServoTorque, 500); } } @@ -94,35 +94,35 @@ public class TubeFeedingModulePosMgr { return getParam(POS.TubeScanServoTorque); } - public void setTube0PreProcessXPos(Integer value) {posReader.updatePos(POS.Tube0PreProcessXPos, value);} + public void setTube0PreProcessXPos(Integer value) {posReader.setParam(POS.Tube0PreProcessXPos, value);} public void setTubeHolderEnterXPos(Integer value) { - posReader.updatePos(POS.TubeHolderEnterXPos, value); + posReader.setParam(POS.TubeHolderEnterXPos, value); } public void setTubeHolderExitXPos(Integer value) { - posReader.updatePos(POS.TubeHolderExitXPos, value); + posReader.setParam(POS.TubeHolderExitXPos, value); } public void setTubeHolderScanXPos(Integer value) { - posReader.updatePos(POS.TubeHolderScanXPos, value); + posReader.setParam(POS.TubeHolderScanXPos, value); } public void setTube0ScanXPos(Integer value) { - posReader.updatePos(POS.Tube0ScanXPos, value); + posReader.setParam(POS.Tube0ScanXPos, value); } public void setTube0AltitJudgXPos(Integer value) { - posReader.updatePos(POS.Tube0AltitJudgXPos, value); + posReader.setParam(POS.Tube0AltitJudgXPos, value); } public void setTube0ExistJudgXPos(Integer value) { - posReader.updatePos(POS.Tube0ExistJudgXPos, value); + posReader.setParam(POS.Tube0ExistJudgXPos, value); } public void setTubeScanServoTorque(Integer value) { - posReader.updatePos(POS.TubeScanServoTorque, value); + posReader.setParam(POS.TubeScanServoTorque, value); } } diff --git a/src/main/java/a8k/service/app/devicedriver/pos/TubeHolderParamMgr.java b/src/main/java/a8k/service/app/devicedriver/pos/TubeHolderParamMgr.java index e57ce39..1c9bdb9 100644 --- a/src/main/java/a8k/service/app/devicedriver/pos/TubeHolderParamMgr.java +++ b/src/main/java/a8k/service/app/devicedriver/pos/TubeHolderParamMgr.java @@ -34,11 +34,11 @@ public class TubeHolderParamMgr { void paramReset() { logger.info("init param"); posReader.setVersion(nowParaVersion); - posReader.updatePos("TubeSpacing", 200); + posReader.setParam("TubeSpacing", 200); } public void setTubeSpacing(Integer tubeSpacing) { - posReader.updatePos("TubeSpacing", tubeSpacing); + posReader.setParam("TubeSpacing", tubeSpacing); } public Integer getTubeSpacing() { diff --git a/src/main/java/a8k/service/app/devicedriver/pos/TubePreProcesPosMgr.java b/src/main/java/a8k/service/app/devicedriver/pos/TubePreProcesPosMgr.java index a0618b7..59abfe6 100644 --- a/src/main/java/a8k/service/app/devicedriver/pos/TubePreProcesPosMgr.java +++ b/src/main/java/a8k/service/app/devicedriver/pos/TubePreProcesPosMgr.java @@ -49,20 +49,20 @@ public class TubePreProcesPosMgr { logger.info("init param"); posReader.setVersion(nowParaVersion); - posReader.updatePos(POS.GripperServoOpenPos, 1600); - posReader.updatePos(POS.GripperServoClosePos, 1460); - posReader.updatePos(POS.GripperServoTakeCapPos, 1515); + posReader.setParam(POS.GripperServoOpenPos, 1600); + posReader.setParam(POS.GripperServoClosePos, 1460); + posReader.setParam(POS.GripperServoTakeCapPos, 1515); - posReader.updatePos(POS.YServoTakeTubePos, 3000); - posReader.updatePos(POS.YServoShakePos, 2130); + posReader.setParam(POS.YServoTakeTubePos, 3000); + posReader.setParam(POS.YServoShakePos, 2130); - posReader.updatePos(POS.ZMotorTakeHTubePos, 739); - posReader.updatePos(POS.ZMotorShakeTubePos, 835); + posReader.setParam(POS.ZMotorTakeHTubePos, 739); + posReader.setParam(POS.ZMotorShakeTubePos, 835); - posReader.updatePos(POS.ShakeClampMotorClampPos, 10); - posReader.updatePos(POS.ShakeClampMotorReleasePos, 90); + posReader.setParam(POS.ShakeClampMotorClampPos, 10); + posReader.setParam(POS.ShakeClampMotorReleasePos, 90); - posReader.updatePos(POS.GripperRedundancySpacingForTubeCap, 20); + posReader.setParam(POS.GripperRedundancySpacingForTubeCap, 20); } } @@ -92,23 +92,23 @@ public class TubePreProcesPosMgr { public Integer getGripperRedundancySpacingForTubeCap() {return getParam(POS.GripperRedundancySpacingForTubeCap);} - public void setGripperServoOpenPos(Integer value) {posReader.updatePos(POS.GripperServoOpenPos, value);} + public void setGripperServoOpenPos(Integer value) {posReader.setParam(POS.GripperServoOpenPos, value);} - public void setGripperServoClosePos(Integer value) {posReader.updatePos(POS.GripperServoClosePos, value);} + public void setGripperServoClosePos(Integer value) {posReader.setParam(POS.GripperServoClosePos, value);} - public void setGripperServoTakeCapPos(Integer value) {posReader.updatePos(POS.GripperServoTakeCapPos, value);} + public void setGripperServoTakeCapPos(Integer value) {posReader.setParam(POS.GripperServoTakeCapPos, value);} - public void setYServoTakeTubePos(Integer value) {posReader.updatePos(POS.YServoTakeTubePos, value);} + public void setYServoTakeTubePos(Integer value) {posReader.setParam(POS.YServoTakeTubePos, value);} - public void setYServoShakePos(Integer value) {posReader.updatePos(POS.YServoShakePos, value);} + public void setYServoShakePos(Integer value) {posReader.setParam(POS.YServoShakePos, value);} - public void setZMotorTakeHTubePos(Integer value) {posReader.updatePos(POS.ZMotorTakeHTubePos, value);} + public void setZMotorTakeHTubePos(Integer value) {posReader.setParam(POS.ZMotorTakeHTubePos, value);} - public void setZMotorShakeTubePos(Integer value) {posReader.updatePos(POS.ZMotorShakeTubePos, value);} + public void setZMotorShakeTubePos(Integer value) {posReader.setParam(POS.ZMotorShakeTubePos, value);} - public void setShakeClampMotorClampPos(Integer value) {posReader.updatePos(POS.ShakeClampMotorClampPos, value);} + public void setShakeClampMotorClampPos(Integer value) {posReader.setParam(POS.ShakeClampMotorClampPos, value);} - public void setShakeClampMotorReleasePos(Integer value) {posReader.updatePos(POS.ShakeClampMotorReleasePos, value);} + public void setShakeClampMotorReleasePos(Integer value) {posReader.setParam(POS.ShakeClampMotorReleasePos, value);} - public void setGripperRedundancySpacingForTubeCap(Integer value) {posReader.updatePos(POS.GripperRedundancySpacingForTubeCap, value);} + public void setGripperRedundancySpacingForTubeCap(Integer value) {posReader.setParam(POS.GripperRedundancySpacingForTubeCap, value);} } diff --git a/src/main/java/a8k/service/app/devicedriver/pos/TurntablePosMgr.java b/src/main/java/a8k/service/app/devicedriver/pos/TurntablePosMgr.java index b1ed947..3edb909 100644 --- a/src/main/java/a8k/service/app/devicedriver/pos/TurntablePosMgr.java +++ b/src/main/java/a8k/service/app/devicedriver/pos/TurntablePosMgr.java @@ -43,10 +43,10 @@ public class TurntablePosMgr { public void paramReset() { logger.info("init param"); posReader.setVersion(nowParaVersion); - posReader.updatePos(POS.PushPos0, 1650); - posReader.updatePos(POS.PullPos0, 19700); - posReader.updatePos(POS.DropLiquidPos0, 1650 + 8950); - posReader.updatePos(POS.PosSpacing, 1800); + posReader.setParam(POS.PushPos0, 1650); + posReader.setParam(POS.PullPos0, 19700); + posReader.setParam(POS.DropLiquidPos0, 1650 + 8950); + posReader.setParam(POS.PosSpacing, 1800); } public Integer getPushPos0() { @@ -66,19 +66,19 @@ public class TurntablePosMgr { } public void setPushPos0(Integer pos) { - posReader.updatePos(POS.PushPos0, pos); + posReader.setParam(POS.PushPos0, pos); } public void setPullPos0(Integer pos) { - posReader.updatePos(POS.PullPos0, pos); + posReader.setParam(POS.PullPos0, pos); } public void setDropLiquidPos0(Integer pos) { - posReader.updatePos(POS.DropLiquidPos0, pos); + posReader.setParam(POS.DropLiquidPos0, pos); } public void setPosSpacing(Integer pos) { - posReader.updatePos(POS.PosSpacing, pos); + posReader.setParam(POS.PosSpacing, pos); } } diff --git a/src/main/java/a8k/service/db/utils/PosParameterReader.java b/src/main/java/a8k/service/db/utils/PosParameterReader.java index 2b039ff..723d6a7 100644 --- a/src/main/java/a8k/service/db/utils/PosParameterReader.java +++ b/src/main/java/a8k/service/db/utils/PosParameterReader.java @@ -35,11 +35,11 @@ public class PosParameterReader { } - public void updatePos(String key, Object pos) { + public void setParam(String key, Object pos) { lowerDeviceParameterDBService.updateParam(service.getSimpleName(), key, pos); } - public void updatePos(Enum key, Object pos) { + public void setParam(Enum key, Object pos) { lowerDeviceParameterDBService.updateParam(service.getSimpleName(), key.name(), pos); } diff --git a/src/main/java/a8k/type/HbotSamplePos.java b/src/main/java/a8k/type/HbotSamplePos.java index 96c697d..6ee45a9 100644 --- a/src/main/java/a8k/type/HbotSamplePos.java +++ b/src/main/java/a8k/type/HbotSamplePos.java @@ -1,11 +1,35 @@ package a8k.type; public enum HbotSamplePos { - EmergencyTubePos, //急诊位取样位置 - BloodTubeSamplePos, //全血试管 - MiniTubeSamplePos, //迷你试管 - MiniBloodSamplePos, //阳普管 - Bulltube1P5SamplePos, //子弹头试管1.5mL - Bulltube0P5SamplePos, //子弹头试管0.5mL - StoolTestTubeSamplePos, //粪便试管 + EmergencyTubeSamplePos("<急诊位>取样位置"), + EmergencyTubeSampleEndPos("<急诊位>取样结束位置"), + + BloodHTubeSamplePos("<全血高试管>取样位置"), + BloodHTubeSampleEndPos("<全血高试管>取样结束位置"), + + BloodSTubeSamplePos("<全血低试管>取样位置"), + BloodSTubeSampleEndPos("<全血低试管>取样结束位置"), + + MiniTubeSamplePos("<迷你试管>取样位置"), + MinitubeSampleEndPos("<迷你试管>取样结束位置"), + + MiniBloodSamplePos("<阳普管>取样位置"), + MiniBloodSampleEndPos("<阳普管>取样结束位置"), + + Bulltube1P5SamplePos("<子弹头试管1.5mL>取样位置"), + Bulltube1P5SampleEndPos("<子弹头试管1.5mL>取样结束位置"), + + Bulltube0P5SamplePos("<子弹头试管0.5mL>取样位置"), + Bulltube0P5SampleEndPos("<子弹头试管0.5mL>取样结束位置"), + + StoolTestTubeSamplePos("<粪便试管>取样位置"), + StoolTestTubeSampleEndPos("<粪便试管>取样结束位置"), + ; + public final String chName; + + HbotSamplePos(String chName) { + this.chName = chName; + } + + }