From 1a1b390b587363663006924769de4df757b47e43 Mon Sep 17 00:00:00 2001 From: zhaohe Date: Mon, 14 Oct 2024 16:39:57 +0800 Subject: [PATCH] update --- app.db | Bin 225280 -> 225280 bytes .../service/app/appctrl/AppDeviceCtrlService.java | 6 +- .../basectrl/HbotBaseMoveControler.java | 8 +- .../calibration/Hbot2DCodeScanPosCalibration.java | 98 +++++++++++++++------ .../app/devicedriver/ctrl/ConsumablesScanCtrl.java | 19 ++-- .../devicedriver/ctrl/DeviceInitCtrlService.java | 24 ++--- .../a8k/service/db/utils/PosParameterReader.java | 14 +-- .../a8k/service/debug/AppDebugHelperService.java | 5 +- src/main/resources/application-dev.yml | 1 - src/main/resources/application-zhaohe_pc.yml | 4 + 10 files changed, 107 insertions(+), 72 deletions(-) diff --git a/app.db b/app.db index 44f513f546109639c7d8ed90540db42ee4748fe0..257dc3ab15db227d33f4fdf7a78309fb39550c7a 100644 GIT binary patch delta 111 zcmZp8z}xVEcY>6Vawh`=gE6V(hCL#26G@b17dat2A1TBIz~)NFB%hC6BxH9FtG(P`fX1SWQt>C z^xb|eh-p1DqtEoRFs6fy-qSyXGBt1C9S)N7+AbBzB+kO&!!B-a&e+aB-9DU2tldAB LX}f6m~kGG diff --git a/src/main/java/a8k/service/app/appctrl/AppDeviceCtrlService.java b/src/main/java/a8k/service/app/appctrl/AppDeviceCtrlService.java index 137a120..903ef44 100644 --- a/src/main/java/a8k/service/app/appctrl/AppDeviceCtrlService.java +++ b/src/main/java/a8k/service/app/appctrl/AppDeviceCtrlService.java @@ -44,14 +44,12 @@ public class AppDeviceCtrlService { +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ @ExtApiFn(name = "设备初始化前检查", group = "设备初始化") public List checkBeforeInitDevice() throws AppException { - return deviceInitializationModule.checkBeforeInitDevice(); } @ExtApiFn(name = "设备初始化(阻塞接口)", group = "设备初始化") - public void initDevice() throws AppException { - - deviceInitializationModule.deviceMoveToZero(); + public List initDevice() throws AppException { + return deviceInitializationModule.deviceMoveToZero(); } diff --git a/src/main/java/a8k/service/app/devicedriver/basectrl/HbotBaseMoveControler.java b/src/main/java/a8k/service/app/devicedriver/basectrl/HbotBaseMoveControler.java index ce482ab..9eb8d8b 100644 --- a/src/main/java/a8k/service/app/devicedriver/basectrl/HbotBaseMoveControler.java +++ b/src/main/java/a8k/service/app/devicedriver/basectrl/HbotBaseMoveControler.java @@ -31,14 +31,16 @@ public class HbotBaseMoveControler { HbotModule hbotModule; Integer ao = 20000; - public void hbotMoveTo(Pos3d targetPos) throws AppException { - logger.info("hbotCheckAndMoveTo:{}", targetPos); - + public void checkBeforeMove() throws AppException { // 检查盖板是否关闭 if (!canBus.getIOState(IOId.PlateBoxCoverClosurePPS)) { throw new AppException(A8kEcode.APPE_PLATE_BOX_NOT_COVER); } + } + public void hbotMoveTo(Pos3d targetPos) throws AppException { + logger.info("hbotCheckAndMoveTo:{}", targetPos); + checkBeforeMove(); boolean zEnable = true; boolean hbotEnable = canBus.moduleGetReg(MId.HbotM, RegIndex.kreg_xyrobot_is_enable) == 1; diff --git a/src/main/java/a8k/service/app/devicedriver/calibration/Hbot2DCodeScanPosCalibration.java b/src/main/java/a8k/service/app/devicedriver/calibration/Hbot2DCodeScanPosCalibration.java index 29a8e2d..27a1cc1 100644 --- a/src/main/java/a8k/service/app/devicedriver/calibration/Hbot2DCodeScanPosCalibration.java +++ b/src/main/java/a8k/service/app/devicedriver/calibration/Hbot2DCodeScanPosCalibration.java @@ -9,16 +9,22 @@ import a8k.service.app.devicedriver.basectrl.HbotBaseMoveControler; import a8k.service.app.devicedriver.basectrl.HbotModule; import a8k.service.app.devicedriver.basectrl.PipetteCtrlModule; import a8k.service.app.devicedriver.basectrl.CodeScaner; +import a8k.service.app.devicedriver.ctrl.ConsumablesScanCtrl; import a8k.service.app.devicedriver.param.Hbot2DCodeScanPos; +import a8k.type.ConsumableGroup; +import a8k.type.ConsumableScanRawResult; import a8k.type.exception.AppException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ArrayNode; import com.fasterxml.jackson.databind.node.ObjectNode; import jakarta.annotation.Resource; +import org.slf4j.Logger; +import org.springframework.stereotype.Component; @ExtApiTab(cfg = ExtApiTabConfig.Hbot2DCodeScanPosCalibration) +@Component public class Hbot2DCodeScanPosCalibration { - + static Logger logger = org.slf4j.LoggerFactory.getLogger(Hbot2DCodeScanPosCalibration.class); @Resource A8kCanBusService canBus; @@ -30,35 +36,14 @@ public class Hbot2DCodeScanPosCalibration { HbotModule hbotModule; @Resource HbotBaseMoveControler hbotBaseMoveControler; + @Resource + ConsumablesScanCtrl consumablesScanCtrl; @Resource Hbot2DCodeScanPos hbot2DCodeScanPos; - @ExtApiFn(name = "归零", group = "测试工具", order = 0) - public void deviceReset() throws AppException { - pipetteCtrlModule.zMotorEnable(1); - hbotModule.enable(1); - pipetteCtrlModule.zMotorMoveZeroBlock(); - hbotModule.moveToZeroBlock(); - } - - public void disableMotor() throws AppException { - - } - - @ExtApiFn(name = "扫码测试(当前位置)", group = "测试工具", order = 0) - public String openCodeTryScaner() throws AppException { - return codeScaner.pipetteModCodeScannerScanCode(); - } - - @ExtApiFn(name = "扫码测试(全部位置)", group = "测试工具", order = 0) - public String scanAll() throws AppException { - return codeScaner.pipetteModCodeScannerScanCode(); - } - - - @ExtApiFn(name = "获取所有坐标", order = 1) + @ExtApiFn(name = "获取所有坐标",group = "基础", order = 1) public ObjectNode getPoss() throws AppException { ObjectMapper mapper = new ObjectMapper(); @@ -81,8 +66,67 @@ public class Hbot2DCodeScanPosCalibration { return node; } - @ExtApiFn(name = "扫码", order = 2) - public void scan(String pos) throws AppException { + + // 测试工具 + @ExtApiFn(name = "归零", group = "测试工具", order = 11) + public void deviceReset() throws AppException { + enableModule(); + hbotBaseMoveControler.checkBeforeMove(); + 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); + } + + @ExtApiFn(name = "扫码", group = "测试工具", order = 14) + public String scanCode() throws AppException { + return codeScaner.pipetteModCodeScannerScanCode(); + } + + // + @ExtApiFn(name = "设置当前位置为<板夹>扫码位", group = "标定", order = 21) + public void setPBScanPos(ConsumableGroup group) throws AppException { + hbot2DCodeScanPos.setPBScanPosX(group.off, hbotModule.readPos()); + } + + @ExtApiFn(name = "设置当前位置为<小缓冲>扫码位", group = "标定", order = 22) + public void setLittBSScanPos(ConsumableGroup group) throws AppException { + hbot2DCodeScanPos.setLittBSX(group.off, hbotModule.readPos()); + } + + @ExtApiFn(name = "设置当前位置为<大缓冲>扫码位", group = "标定", order = 23) + public void setLarBSScanPos(ConsumableGroup group) throws AppException { + hbot2DCodeScanPos.setLarBSX(group.off, hbotModule.readPos()); + } + + @ExtApiFn(name = "扫码测试(全部位置)", group = "校验", order = 31) + public ConsumableScanRawResult scanAll() throws AppException { + return consumablesScanCtrl.doScanConsumablesAction(); + } + + @ExtApiFn(name = "扫描板夹仓X", group = "校验", order = 31) + public String scanPBScanPos(ConsumableGroup group) throws AppException { + return consumablesScanCtrl.scanPB(group.off); + } + + @ExtApiFn(name = "扫描小缓冲液X", group = "校验", order = 32) + public String scanLittBSScanPos(ConsumableGroup group) throws AppException { + return consumablesScanCtrl.scanLittBS(group.off); + } + + @ExtApiFn(name = "扫描大瓶缓冲液X)", group = "校验", order = 33) + public String scanLarBSScanPos(ConsumableGroup group) throws AppException { + return consumablesScanCtrl.scanLarBS(group.off); } diff --git a/src/main/java/a8k/service/app/devicedriver/ctrl/ConsumablesScanCtrl.java b/src/main/java/a8k/service/app/devicedriver/ctrl/ConsumablesScanCtrl.java index 6291fe4..7346ef5 100644 --- a/src/main/java/a8k/service/app/devicedriver/ctrl/ConsumablesScanCtrl.java +++ b/src/main/java/a8k/service/app/devicedriver/ctrl/ConsumablesScanCtrl.java @@ -17,16 +17,13 @@ import jakarta.annotation.Resource; import org.springframework.stereotype.Component; @Component -@ExtApiTab(cfg = ExtApiTabConfig.HbotControlService) public class ConsumablesScanCtrl { @Resource - ActionReactorService ar; + ActionReactorService ar; @Resource - GStateService stateMgrService; - @Resource - Hbot2DCodeScanPos hbotScanPos; + Hbot2DCodeScanPos hbotScanPos; @Resource CodeScaner codeScaner; @Resource @@ -42,31 +39,27 @@ public class ConsumablesScanCtrl { } - private String scanPB(int ch) throws AppException { + public String scanPB(int ch) throws AppException { Pos2d pos = hbotScanPos.getPBScanPosX(ch); hbotMoveTo(pos); return scan2dCode(); } - private String scanLittBS(int ch) throws AppException { + public String scanLittBS(int ch) throws AppException { Pos2d pos = hbotScanPos.getLittBSX(ch); hbotMoveTo(pos); return scan2dCode(); } - private String scanLarBS(int ch) throws AppException { + public String scanLarBS(int ch) throws AppException { Pos2d pos = hbotScanPos.getLarBSX(ch); hbotMoveTo(pos); return scan2dCode(); } - @ExtApiFn(name = "扫描耗材") public ConsumableScanRawResult doScanConsumablesAction() throws AppException { - if (!stateMgrService.isDeviceInited()) { - throw new AppException(A8kEcode.APPE_DEVICE_NOT_INITED); - } ConsumableScanRawResult result = new ConsumableScanRawResult(); for (int i = 0; i < 6; i++) { int finalI = i; @@ -81,7 +74,6 @@ public class ConsumablesScanCtrl { ar.dosome("扫描耗材-大瓶缓冲液", () -> result.ch[finalI].larBSScanResult = scanLarBS(finalI)); } hbotMoveTo(new Pos2d(0, 0)); - /* * 清空 result 中的所有\r */ @@ -99,7 +91,6 @@ public class ConsumablesScanCtrl { return result; } - @ExtApiFn(name = "扫描单个耗材") public ConsumableOneChResult doScanOneCh(Integer ch) throws AppException { ConsumableOneChResult result = new ConsumableOneChResult(ch); ar.dosome("扫描耗材-板夹0", () -> result.PBScanResult = scanPB(ch)); diff --git a/src/main/java/a8k/service/app/devicedriver/ctrl/DeviceInitCtrlService.java b/src/main/java/a8k/service/app/devicedriver/ctrl/DeviceInitCtrlService.java index 238fecc..70edc55 100644 --- a/src/main/java/a8k/service/app/devicedriver/ctrl/DeviceInitCtrlService.java +++ b/src/main/java/a8k/service/app/devicedriver/ctrl/DeviceInitCtrlService.java @@ -69,29 +69,22 @@ public class DeviceInitCtrlService { return results; } - public Boolean checkBeforeInitDevicePass() throws AppException { - List results = checkBeforeInitDevice(); - for (CheckResult result : results) { - if (!result.pass) { - return false; - } - } - return true; - } - // - public void deviceMoveToZero() throws AppException { + public List deviceMoveToZero() throws AppException { + List results = checkBeforeInitDevice(); if (appDebugHelper.isDebug()) { appDebugHelper.doVirtualThings("初始化设备", 3); gstate.setDeviceInited(true); - return; + return results; } - Boolean suc = checkBeforeInitDevicePass(); - if (!suc) { - throw new AppException(A8kEcode.APPE_CHECK_POINT_CHECK_FAIL); + for (CheckResult result : results) { + if (!result.pass) { + return results; + } } + //进出料初始化 actionReactor.dosome("入料平移电机回零", () -> canBus.stepMotorEasyMoveToZeroBlock(MId.FeedingModXM, actionOvertime)); actionReactor.dosome("摇匀模组-扫码夹紧舵机回零", () -> canBus.miniServoMoveToBlock(MId.ShakeModTubeScanerClampingSV, 20, actionOvertime)); @@ -112,6 +105,7 @@ public class DeviceInitCtrlService { //转盘归零 actionReactor.dosome("转盘回零", () -> canBus.stepMotorEasyMoveToZeroBlock(MId.IncubatorRotateCtrlM, actionOvertime)); gstate.setDeviceInited(true); + return results; } } diff --git a/src/main/java/a8k/service/db/utils/PosParameterReader.java b/src/main/java/a8k/service/db/utils/PosParameterReader.java index c9544fa..f52aa5e 100644 --- a/src/main/java/a8k/service/db/utils/PosParameterReader.java +++ b/src/main/java/a8k/service/db/utils/PosParameterReader.java @@ -4,27 +4,27 @@ import a8k.service.db.PosParameterDBService; import jakarta.annotation.Resource; public class PosParameterReader { - Class tClass; + Class service; PosParameterDBService posParameterDBService; - public PosParameterReader(PosParameterDBService dbservice, Class tClass) { + public PosParameterReader(PosParameterDBService dbservice, Class service) { posParameterDBService = dbservice; - this.tClass = tClass; + this.service = service; } public T getPos(String key, Class tClass) { - return posParameterDBService.getParam(tClass.getSimpleName(), key, tClass); + return posParameterDBService.getParam(this.service.getSimpleName(), key, tClass); } public void updatePos(String key, Object pos) { - posParameterDBService.updateParam(tClass.getSimpleName(), key, pos); + posParameterDBService.updateParam(service.getSimpleName(), key, pos); } public Integer getVersion() { - return posParameterDBService.getParamVersion(tClass.getSimpleName()); + return posParameterDBService.getParamVersion(service.getSimpleName()); } public void setVersion(Integer version) { - posParameterDBService.setParamVersion(tClass.getSimpleName(), version); + posParameterDBService.setParamVersion(service.getSimpleName(), version); } } diff --git a/src/main/java/a8k/service/debug/AppDebugHelperService.java b/src/main/java/a8k/service/debug/AppDebugHelperService.java index b074d71..708ee4d 100644 --- a/src/main/java/a8k/service/debug/AppDebugHelperService.java +++ b/src/main/java/a8k/service/debug/AppDebugHelperService.java @@ -50,6 +50,7 @@ import jakarta.annotation.PostConstruct; import jakarta.annotation.Resource; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import java.util.ArrayList; @@ -61,7 +62,9 @@ import java.util.List; public class AppDebugHelperService { private static final Logger logger = LoggerFactory.getLogger(AppDebugHelperService.class); - Boolean debugFlag = true; + + @Value("${AppDebugHelperService.debug:true}") + boolean debugFlag ; @Resource P01_hsCRR p01_hscrr; diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 9806d9e..79c30ea 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -5,7 +5,6 @@ spring: datasource: url: jdbc:sqlite:D:/java_workspace/a8000/app.db driver-class-name: org.sqlite.JDBC - device: connections: - name : zcancmder diff --git a/src/main/resources/application-zhaohe_pc.yml b/src/main/resources/application-zhaohe_pc.yml index 9806d9e..7d8ecdb 100644 --- a/src/main/resources/application-zhaohe_pc.yml +++ b/src/main/resources/application-zhaohe_pc.yml @@ -13,3 +13,7 @@ device: enable : true type : ZcancmderWebsocket uri: ws://192.168.8.10:19005 + +AppDebugHelperService: + debug: false +