From 5fd251b18fc1ede2fdcea10fe8768f3b64b8f3c8 Mon Sep 17 00:00:00 2001 From: zhaohe Date: Sun, 21 Jul 2024 12:12:06 +0800 Subject: [PATCH] update --- src/main/java/a8k/a8k_can_protocol/IOId.java | 8 +- src/main/java/a8k/a8k_can_protocol/ModId.java | 94 +++++++++++++++++++ src/main/java/a8k/a8k_can_protocol/ModuleId.java | 94 ------------------- src/main/java/a8k/appbean/HardwareException.java | 4 +- .../java/a8k/controller/TmpTestController.java | 6 +- .../DeviceInitializationCtrlService.java | 45 +++++---- .../hardware/MotorTubeRackMoveCtrlService.java | 48 +++++----- .../SamplesPreProcessModuleCtrlService.java | 102 ++++++++++----------- 8 files changed, 200 insertions(+), 201 deletions(-) create mode 100644 src/main/java/a8k/a8k_can_protocol/ModId.java delete mode 100644 src/main/java/a8k/a8k_can_protocol/ModuleId.java diff --git a/src/main/java/a8k/a8k_can_protocol/IOId.java b/src/main/java/a8k/a8k_can_protocol/IOId.java index 7de3363..f49ab35 100644 --- a/src/main/java/a8k/a8k_can_protocol/IOId.java +++ b/src/main/java/a8k/a8k_can_protocol/IOId.java @@ -16,11 +16,11 @@ public enum IOId { //转盘逻辑相关光电 //钩板电机,零点光电,终点光电 - PullerMZeroPPS(ModuleType.ktmc_step_motor,ModuleId.OptModPullM,0), - PullerMEndPPS(ModuleType.ktmc_step_motor,ModuleId.OptModPullM,1), + PullerMZeroPPS(ModuleType.ktmc_step_motor, ModId.OptModPullM,0), + PullerMEndPPS(ModuleType.ktmc_step_motor, ModId.OptModPullM,1), //推板电机,零点光电,终点光电 - PusherMZeroPPS(ModuleType.ktmc_step_motor,ModuleId.PlatesBoxPusherM,0), - PusherMEndPPS(ModuleType.ktmc_step_motor,ModuleId.PlatesBoxPusherM,1), + PusherMZeroPPS(ModuleType.ktmc_step_motor, ModId.PlatesBoxPusherM,0), + PusherMEndPPS(ModuleType.ktmc_step_motor, ModId.PlatesBoxPusherM,1), ; diff --git a/src/main/java/a8k/a8k_can_protocol/ModId.java b/src/main/java/a8k/a8k_can_protocol/ModId.java new file mode 100644 index 0000000..5910fb0 --- /dev/null +++ b/src/main/java/a8k/a8k_can_protocol/ModId.java @@ -0,0 +1,94 @@ +package a8k.a8k_can_protocol; + +public class ModId { + + + public static final int HbotBoard = 10;//机械臂板模块 + public static final int HbotM = 11;//机械臂XY + + public static final int PlatesBoxBoard = 20;//板夹仓模块 + public static final int PlatesBoxYM = 21;//板夹仓移动电机 + public static final int PlatesBoxPusherM = 22;//板夹仓推杆电机 + public static final int PlatesBoxScanner = 23;//板夹仓扫码模组 + + public static final int ShakeModBoard = 30;//摇匀模组板 + public static final int ShakeModClampingM = 31;//试管固定夹爪电机 + public static final int ShakeModGripperZM = 32;//摇匀升降电机 + public static final int ShakeModShakeM = 33;//试管摇匀电机 + public static final int ShakeModGripperYM = 34;//摇匀前后电机 + public static final int ShakeModGripperSV = 35;//摇匀试管帽夹爪 + public static final int ShakeModTubeScanerClampingSV = 36;//试管架旋转固定舵机 + public static final int ShakeModTubeScanerRotateSV = 37;//试管架旋转舵机 + + public static final int PlatesBoxTCMBoard = 40;//反应板夹温度控制板 + public static final int PlatesBoxTCM = 41;//反应板夹温度控制模块 + public static final int WbTubeFanMod = 42;//气溶胶风扇 + + public static final int IncubatorTCMBoard = 50;//温度控制 + public static final int IncubatorTCM = 51;//温度控制 + + public static final int FeedingModBoard = 60;//出入料模块 + public static final int FeedingModInfeedM = 61;//入料电机 + public static final int FeedingModXM = 62;//试管架平移电机 + public static final int FeedingModOutfeedM = 63;//出料电机 + public static final int FeedingModScannerMod = 64;//试管架扫码器 + + public static final int IncubatorRotateBoard = 70;//孵育盘旋转板 + public static final int IncubatorRotateCtrlM = 71;//孵育盘旋转 + + public static final int PipetteModBoard = 80;//机械臂Z轴板 + public static final int PipetteModZM = 81;//机械臂Z + public static final int PipetteMod = 82;//移液枪 + public static final int PipetteModCodeScanner = 83;//物料扫码器 + + public static final int OptModBoard = 90;//光学模组板 + public static final int OptModScannerM = 91;//板卡扫描电机 + public static final int OptModPullM = 92;//板卡推杆电机 + public static final int OptMod = 93;//扫描仪 + + public static final int A8kIdCardReaderBoard = 100; //A8K读卡器板 + public static final int A8kIdCardReader = 101; //A8K读卡器 + + + public static String ModuleId2Name(int moduleId) { + return switch (moduleId) { + case HbotBoard -> "HbotBoard"; + case HbotM -> "HbotM"; + case PlatesBoxBoard -> "PlatesBoxBoard"; + case PlatesBoxYM -> "PlatesBoxYM"; + case PlatesBoxPusherM -> "PlatesBoxPusherM"; + case PlatesBoxScanner -> "PlatesBoxScanner"; + case ShakeModBoard -> "ShakeModBoard"; + case ShakeModClampingM -> "ShakeModClampingM"; + case ShakeModGripperZM -> "ShakeModGripperZM"; + case ShakeModShakeM -> "ShakeModShakeM"; + case ShakeModGripperYM -> "ShakeModGripperYM"; + case ShakeModGripperSV -> "ShakeModGripperSV"; + case ShakeModTubeScanerClampingSV -> "ShakeModTubeScanerClampingSV"; + case ShakeModTubeScanerRotateSV -> "ShakeModTubeScanerRotateSV"; + case PlatesBoxTCMBoard -> "PlatesBoxTCMBoard"; + case PlatesBoxTCM -> "PlatesBoxTCM"; + case WbTubeFanMod -> "WbTubeFanMod"; + case IncubatorTCMBoard -> "IncubatorTCMBoard"; + case IncubatorTCM -> "IncubatorTCM"; + case FeedingModBoard -> "FeedingModBoard"; + case FeedingModInfeedM -> "FeedingModInfeedM"; + case FeedingModXM -> "FeedingModXM"; + case FeedingModOutfeedM -> "FeedingModOutfeedM"; + case FeedingModScannerMod -> "FeedingModScannerMod"; + case IncubatorRotateBoard -> "IncubatorRotateBoard"; + case IncubatorRotateCtrlM -> "IncubatorRotateCtrlM"; + case PipetteModBoard -> "PipetteModBoard"; + case PipetteModZM -> "PipetteModZM"; + case PipetteMod -> "PipetteMod"; + case PipetteModCodeScanner -> "PipetteModCodeScanner"; + case OptModBoard -> "OptModBoard"; + case OptModScannerM -> "OptModScannerM"; + case OptModPullM -> "OptModPullM"; + case OptMod -> "OptMod"; + case A8kIdCardReaderBoard -> "A8kIdCardReaderBoard"; + case A8kIdCardReader -> "A8kIdCardReader"; + default -> "UnknownModuleId(" + moduleId + ")"; + }; + } +} diff --git a/src/main/java/a8k/a8k_can_protocol/ModuleId.java b/src/main/java/a8k/a8k_can_protocol/ModuleId.java deleted file mode 100644 index 2c595cc..0000000 --- a/src/main/java/a8k/a8k_can_protocol/ModuleId.java +++ /dev/null @@ -1,94 +0,0 @@ -package a8k.a8k_can_protocol; - -public class ModuleId { - - - public static final int HbotBoard = 10;//机械臂板模块 - public static final int HbotM = 11;//机械臂XY - - public static final int PlatesBoxBoard = 20;//板夹仓模块 - public static final int PlatesBoxYM = 21;//板夹仓移动电机 - public static final int PlatesBoxPusherM = 22;//板夹仓推杆电机 - public static final int PlatesBoxScanner = 23;//板夹仓扫码模组 - - public static final int ShakeModBoard = 30;//摇匀模组板 - public static final int ShakeModClampingM = 31;//试管固定夹爪电机 - public static final int ShakeModGripperZM = 32;//摇匀升降电机 - public static final int ShakeModShakeM = 33;//试管摇匀电机 - public static final int ShakeModGripperYM = 34;//摇匀前后电机 - public static final int ShakeModGripperSV = 35;//摇匀试管帽夹爪 - public static final int ShakeModTubeScanerClampingSV = 36;//试管架旋转固定舵机 - public static final int ShakeModTubeScanerRotateSV = 37;//试管架旋转舵机 - - public static final int PlatesBoxTCMBoard = 40;//反应板夹温度控制板 - public static final int PlatesBoxTCM = 41;//反应板夹温度控制模块 - public static final int WbTubeFanMod = 42;//气溶胶风扇 - - public static final int IncubatorTCMBoard = 50;//温度控制 - public static final int IncubatorTCM = 51;//温度控制 - - public static final int FeedingModBoard = 60;//出入料模块 - public static final int FeedingModInfeedM = 61;//入料电机 - public static final int FeedingModXM = 62;//试管架平移电机 - public static final int FeedingModOutfeedM = 63;//出料电机 - public static final int FeedingModScannerMod = 64;//试管架扫码器 - - public static final int IncubatorRotateBoard = 70;//孵育盘旋转板 - public static final int IncubatorRotateCtrlM = 71;//孵育盘旋转 - - public static final int PipetteModBoard = 80;//机械臂Z轴板 - public static final int PipetteModZM = 81;//机械臂Z - public static final int PipetteMod = 82;//移液枪 - public static final int PipetteModCodeScanner = 83;//物料扫码器 - - public static final int OptModBoard = 90;//光学模组板 - public static final int OptModScannerM = 91;//板卡扫描电机 - public static final int OptModPullM = 92;//板卡推杆电机 - public static final int OptMod = 93;//扫描仪 - - public static final int A8kIdCardReaderBoard = 100; //A8K读卡器板 - public static final int A8kIdCardReader = 101; //A8K读卡器 - - - public static String ModuleId2Name(int moduleId) { - return switch (moduleId) { - case HbotBoard -> "HbotBoard"; - case HbotM -> "HbotM"; - case PlatesBoxBoard -> "PlatesBoxBoard"; - case PlatesBoxYM -> "PlatesBoxYM"; - case PlatesBoxPusherM -> "PlatesBoxPusherM"; - case PlatesBoxScanner -> "PlatesBoxScanner"; - case ShakeModBoard -> "ShakeModBoard"; - case ShakeModClampingM -> "ShakeModClampingM"; - case ShakeModGripperZM -> "ShakeModGripperZM"; - case ShakeModShakeM -> "ShakeModShakeM"; - case ShakeModGripperYM -> "ShakeModGripperYM"; - case ShakeModGripperSV -> "ShakeModGripperSV"; - case ShakeModTubeScanerClampingSV -> "ShakeModTubeScanerClampingSV"; - case ShakeModTubeScanerRotateSV -> "ShakeModTubeScanerRotateSV"; - case PlatesBoxTCMBoard -> "PlatesBoxTCMBoard"; - case PlatesBoxTCM -> "PlatesBoxTCM"; - case WbTubeFanMod -> "WbTubeFanMod"; - case IncubatorTCMBoard -> "IncubatorTCMBoard"; - case IncubatorTCM -> "IncubatorTCM"; - case FeedingModBoard -> "FeedingModBoard"; - case FeedingModInfeedM -> "FeedingModInfeedM"; - case FeedingModXM -> "FeedingModXM"; - case FeedingModOutfeedM -> "FeedingModOutfeedM"; - case FeedingModScannerMod -> "FeedingModScannerMod"; - case IncubatorRotateBoard -> "IncubatorRotateBoard"; - case IncubatorRotateCtrlM -> "IncubatorRotateCtrlM"; - case PipetteModBoard -> "PipetteModBoard"; - case PipetteModZM -> "PipetteModZM"; - case PipetteMod -> "PipetteMod"; - case PipetteModCodeScanner -> "PipetteModCodeScanner"; - case OptModBoard -> "OptModBoard"; - case OptModScannerM -> "OptModScannerM"; - case OptModPullM -> "OptModPullM"; - case OptMod -> "OptMod"; - case A8kIdCardReaderBoard -> "A8kIdCardReaderBoard"; - case A8kIdCardReader -> "A8kIdCardReader"; - default -> "UnknownModuleId(" + moduleId + ")"; - }; - } -} diff --git a/src/main/java/a8k/appbean/HardwareException.java b/src/main/java/a8k/appbean/HardwareException.java index 970c518..d2aae14 100644 --- a/src/main/java/a8k/appbean/HardwareException.java +++ b/src/main/java/a8k/appbean/HardwareException.java @@ -1,7 +1,7 @@ package a8k.appbean; import a8k.a8k_can_protocol.Errorcode; -import a8k.a8k_can_protocol.ModuleId; +import a8k.a8k_can_protocol.ModId; public class HardwareException extends Exception { // 构造函数 @@ -14,7 +14,7 @@ public class HardwareException extends Exception { } public HardwareException(int moduleId, int HardwareErrorCode) { - super(String.format("Module ID %s has error code %s", ModuleId.ModuleId2Name(moduleId), Errorcode.toString(HardwareErrorCode))); + super(String.format("Module ID %s has error code %s", ModId.ModuleId2Name(moduleId), Errorcode.toString(HardwareErrorCode))); } int getModuleId() { diff --git a/src/main/java/a8k/controller/TmpTestController.java b/src/main/java/a8k/controller/TmpTestController.java index 14f4860..202a4d2 100644 --- a/src/main/java/a8k/controller/TmpTestController.java +++ b/src/main/java/a8k/controller/TmpTestController.java @@ -1,7 +1,7 @@ package a8k.controller; import a8k.a8k_can_protocol.CmdId; -import a8k.a8k_can_protocol.ModuleId; +import a8k.a8k_can_protocol.ModId; import a8k.appbean.AppErrorCode; import a8k.appbean.HardwareException; import a8k.base_hardware.A8kCanBusService; @@ -56,8 +56,8 @@ public class TmpTestController { @GetMapping("/tmp-test/a8k-can-bus-service-call") @ResponseBody public String a8kCanBusServiceCall() throws HardwareException, InterruptedException { - this.a8kCanBusService.callcmd(ModuleId.ShakeModTubeScanerRotateSV, CmdId.kmini_servo_enable, new Integer[]{1}); - this.a8kCanBusService.callblockcmd(ModuleId.FeedingModInfeedM, CmdId.kstep_motor_easy_move_by, new Integer[]{5000}, 20000); + this.a8kCanBusService.callcmd(ModId.ShakeModTubeScanerRotateSV, CmdId.kmini_servo_enable, new Integer[]{1}); + this.a8kCanBusService.callblockcmd(ModId.FeedingModInfeedM, CmdId.kstep_motor_easy_move_by, new Integer[]{5000}, 20000); return "OK"; } diff --git a/src/main/java/a8k/service/ctrl_service/DeviceInitializationCtrlService.java b/src/main/java/a8k/service/ctrl_service/DeviceInitializationCtrlService.java index 5055212..09e5c31 100644 --- a/src/main/java/a8k/service/ctrl_service/DeviceInitializationCtrlService.java +++ b/src/main/java/a8k/service/ctrl_service/DeviceInitializationCtrlService.java @@ -1,6 +1,6 @@ package a8k.service.ctrl_service; -import a8k.a8k_can_protocol.ModuleId; +import a8k.a8k_can_protocol.ModId; import a8k.appbean.AppErrorCode; import a8k.appbean.HardwareException; import a8k.base_hardware.A8kCanBusService; @@ -10,6 +10,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; + @Component public class DeviceInitializationCtrlService { public static final Logger logger = LoggerFactory.getLogger(DeviceInitializationCtrlService.class); @@ -60,7 +61,7 @@ public class DeviceInitializationCtrlService { SamplesPreProcessModuleCtrlParamsService samplesPreProcessModuleCtrlParams; - private void hardwareStaticInit() { + private void hardwareStaticInit() throws HardwareException { /* * 复位思路 * 硬件初始化: @@ -69,26 +70,24 @@ public class DeviceInitializationCtrlService { * 3.使能所有电机 */ -// public static final int HbotM = 11;//机械臂XY -// public static final int PlatesBoxYM = 21;//板夹仓移动电机 -// public static final int PlatesBoxPusherM = 22;//板夹仓推杆电机 -// public static final int ShakeModClampingM = 31;//试管固定夹爪电机 -// public static final int ShakeModGripperZM = 32;//摇匀升降电机 -// public static final int ShakeModShakeM = 33;//试管摇匀电机 -// public static final int ShakeModGripperYM = 34;//摇匀前后电机 -// public static final int FeedingModInfeedM = 61;//入料电机 -// public static final int FeedingModXM = 62;//试管架平移电机 -// public static final int FeedingModOutfeedM = 63;//出料电机 -// public static final int FeedingModScannerM = 64;//试管架扫码器 -// public static final int IncubatorRotateCtrlM = 71;//孵育盘旋转 -// public static final int PipetteModZMotor = 81;//机械臂Z -// public static final int OptModScannerMotor = 91;//板卡扫描电机 -// public static final int OptModPullM = 92;//板卡推杆电机 -// -// public static final int ShakeModGripperSV = 35;//摇匀试管帽夹爪 -// public static final int ShakeModTubeScanerClampingSV = 36;//试管架旋转固定舵机 -// public static final int ShakeModTubeScanerRotateSV = 37;//试管架旋转舵机 + // HbotM + //PlatesBoxYM + //ShakeModClampingM + //ShakeModGripperZM + //ShakeModShakeM + //ShakeModGripperYM + //FeedingModInfeedM + //FeedingModXM + //FeedingModOutfeedM + //PipetteModZM + //OptModPullM + + + canBus.stepMotorEnable(ModId.HbotM,1); + // public static final int ShakeModGripperSV = 35;//摇匀试管帽夹爪 + // public static final int ShakeModTubeScanerClampingSV = 36;//试管架旋转固定舵机 + // public static final int ShakeModTubeScanerRotateSV = 37;//试管架旋转舵机 @@ -122,8 +121,8 @@ public class DeviceInitializationCtrlService { * */ - canBus.stepMotorEasyMoveToZero(ModuleId.ShakeModGripperZM); - canBus.waitForMod(ModuleId.ShakeModGripperZM, actionOvertime); + canBus.stepMotorEasyMoveToZero(ModId.ShakeModGripperZM); + canBus.waitForMod(ModId.ShakeModGripperZM, actionOvertime); } catch (HardwareException e) { logger.error("HardwareException"); throw new RuntimeException(e); diff --git a/src/main/java/a8k/service/hardware/MotorTubeRackMoveCtrlService.java b/src/main/java/a8k/service/hardware/MotorTubeRackMoveCtrlService.java index 5c55ede..242e07c 100644 --- a/src/main/java/a8k/service/hardware/MotorTubeRackMoveCtrlService.java +++ b/src/main/java/a8k/service/hardware/MotorTubeRackMoveCtrlService.java @@ -52,24 +52,24 @@ public class MotorTubeRackMoveCtrlService { public void moveToZeroWhenDeviceSetup() throws HardwareException, InterruptedException { var params = this.serviceParameterDao.getParameter(); - this.a8kCanBusService.callblockcmd(ModuleId.FeedingModXM, CmdId.kstep_motor_easy_move_to_zero, new Integer[]{}, params.moveToZeroOvertime); + this.a8kCanBusService.callblockcmd(ModId.FeedingModXM, CmdId.kstep_motor_easy_move_to_zero, new Integer[]{}, params.moveToZeroOvertime); } public void moveToZero() throws HardwareException, InterruptedException { var params = this.serviceParameterDao.getParameter(); - var beforePosResponse = this.a8kCanBusService.callcmd(ModuleId.FeedingModXM, CmdId.kstep_motor_read_pos, new Integer[]{0}); + var beforePosResponse = this.a8kCanBusService.callcmd(ModId.FeedingModXM, CmdId.kstep_motor_read_pos, new Integer[]{0}); var beforePos = beforePosResponse.getContentI32(0); - this.a8kCanBusService.callblockcmd(ModuleId.FeedingModXM, CmdId.kstep_motor_easy_move_to_zero, new Integer[]{}, params.moveToZeroOvertime); - var afterPosResponse = this.a8kCanBusService.callcmd(ModuleId.FeedingModXM, CmdId.kstep_motor_read_pos, new Integer[]{0}); + this.a8kCanBusService.callblockcmd(ModId.FeedingModXM, CmdId.kstep_motor_easy_move_to_zero, new Integer[]{}, params.moveToZeroOvertime); + var afterPosResponse = this.a8kCanBusService.callcmd(ModId.FeedingModXM, CmdId.kstep_motor_read_pos, new Integer[]{0}); var afterPos = afterPosResponse.getContentI32(0); var distance = beforePos - afterPos; - var dval = a8kCanBusService.module_read_reg(ModuleId.FeedingModXM, RegIndex.kreg_step_motor_dpos); + var dval = a8kCanBusService.module_read_reg(ModId.FeedingModXM, RegIndex.kreg_step_motor_dpos); if (Math.abs(dval - distance) > params.horizontalMotorLostStepThresholdVal) { - throw new HardwareException(ModuleId.FeedingModXM, Errorcode.kstep_motor_lost_step); + throw new HardwareException(ModId.FeedingModXM, Errorcode.kstep_motor_lost_step); } //先通过move_to 指令移动到零点 @@ -92,7 +92,7 @@ public class MotorTubeRackMoveCtrlService { */ public void moveTubeRackToEnterPos() throws HardwareException, InterruptedException { var params = this.serviceParameterDao.getParameter(); - this.a8kCanBusService.callblockcmd(ModuleId.FeedingModXM, CmdId.kstep_motor_easy_move_to, new Integer[]{params.tubeRackEnterPos}, params.actionOvertime); + this.a8kCanBusService.callblockcmd(ModId.FeedingModXM, CmdId.kstep_motor_easy_move_to, new Integer[]{params.tubeRackEnterPos}, params.actionOvertime); } /** @@ -100,7 +100,7 @@ public class MotorTubeRackMoveCtrlService { */ public void moveTubeRackToExitPos() throws HardwareException, InterruptedException { var params = this.serviceParameterDao.getParameter(); - this.a8kCanBusService.callblockcmd(ModuleId.FeedingModXM, CmdId.kstep_motor_easy_move_to, new Integer[]{params.tubeExistJudgmentPos}, params.actionOvertime); + this.a8kCanBusService.callblockcmd(ModId.FeedingModXM, CmdId.kstep_motor_easy_move_to, new Integer[]{params.tubeExistJudgmentPos}, params.actionOvertime); } /** @@ -108,7 +108,7 @@ public class MotorTubeRackMoveCtrlService { */ public void moveTubeRackToScanPos() throws HardwareException, InterruptedException { var params = this.serviceParameterDao.getParameter(); - this.a8kCanBusService.callblockcmd(ModuleId.FeedingModXM, CmdId.kstep_motor_easy_move_to, new Integer[]{params.tubeRackScanCodePos}, params.actionOvertime); + this.a8kCanBusService.callblockcmd(ModId.FeedingModXM, CmdId.kstep_motor_easy_move_to, new Integer[]{params.tubeRackScanCodePos}, params.actionOvertime); } /** @@ -116,10 +116,10 @@ public class MotorTubeRackMoveCtrlService { */ public String moveTubeRackToScanPosAndScan() throws HardwareException, InterruptedException { this.moveTubeRackToScanPos(); - this.a8kCanBusService.callcmd(ModuleId.FeedingModScannerMod, CmdId.kcode_scaner_start_scan, new Integer[]{}); + this.a8kCanBusService.callcmd(ModId.FeedingModScannerMod, CmdId.kcode_scaner_start_scan, new Integer[]{}); Thread.sleep(500); - var response = this.a8kCanBusService.callcmd(ModuleId.FeedingModScannerMod, CmdId.kcode_scaner_read_scaner_result, new Integer[]{}); - this.a8kCanBusService.callcmd(ModuleId.FeedingModScannerMod, CmdId.kcode_scaner_stop_scan, new Integer[]{}); + var response = this.a8kCanBusService.callcmd(ModId.FeedingModScannerMod, CmdId.kcode_scaner_read_scaner_result, new Integer[]{}); + this.a8kCanBusService.callcmd(ModId.FeedingModScannerMod, CmdId.kcode_scaner_stop_scan, new Integer[]{}); var contentBytes = response.getCmdContent(); return new String(contentBytes); } @@ -138,7 +138,7 @@ public class MotorTubeRackMoveCtrlService { var params = this.serviceParameterDao.getParameter(); var tubeInfo = this.tubeInfoDao.getTubeInfo(tubeType); var scanPos = params.tubeScanPos + tubeIndex * tubeInfo.tubeSpacing; - this.a8kCanBusService.callblockcmd(ModuleId.FeedingModXM, CmdId.kstep_motor_easy_move_to, new Integer[]{scanPos}, params.actionOvertime); + this.a8kCanBusService.callblockcmd(ModId.FeedingModXM, CmdId.kstep_motor_easy_move_to, new Integer[]{scanPos}, params.actionOvertime); } /** @@ -149,10 +149,10 @@ public class MotorTubeRackMoveCtrlService { public String moveTubeToScanPosAndScan(String tubeType, Integer tubeIndex) throws HardwareException, InterruptedException { this.moveTubeToScanPos(tubeType, tubeIndex); - this.a8kCanBusService.callcmd(ModuleId.FeedingModScannerMod, CmdId.kcode_scaner_start_scan, new Integer[]{}); + this.a8kCanBusService.callcmd(ModId.FeedingModScannerMod, CmdId.kcode_scaner_start_scan, new Integer[]{}); Thread.sleep(500); - var response = this.a8kCanBusService.callcmd(ModuleId.FeedingModScannerMod, CmdId.kcode_scaner_read_scaner_result, new Integer[]{}); - this.a8kCanBusService.callcmd(ModuleId.FeedingModScannerMod, CmdId.kcode_scaner_stop_scan, new Integer[]{}); + var response = this.a8kCanBusService.callcmd(ModId.FeedingModScannerMod, CmdId.kcode_scaner_read_scaner_result, new Integer[]{}); + this.a8kCanBusService.callcmd(ModId.FeedingModScannerMod, CmdId.kcode_scaner_stop_scan, new Integer[]{}); var contentBytes = response.getCmdContent(); return new String(contentBytes); } @@ -166,7 +166,7 @@ public class MotorTubeRackMoveCtrlService { var params = this.serviceParameterDao.getParameter(); var tubeInfo = this.tubeInfoDao.getTubeInfo(tubeType); var detectPos = params.tubeHeighJudgmentPos + tubeIndex * tubeInfo.tubeSpacing; - this.a8kCanBusService.callblockcmd(ModuleId.FeedingModXM, CmdId.kstep_motor_easy_move_to, new Integer[]{detectPos}, params.actionOvertime); + this.a8kCanBusService.callblockcmd(ModId.FeedingModXM, CmdId.kstep_motor_easy_move_to, new Integer[]{detectPos}, params.actionOvertime); } /** @@ -178,7 +178,7 @@ public class MotorTubeRackMoveCtrlService { var params = this.serviceParameterDao.getParameter(); var tubeInfo = this.tubeInfoDao.getTubeInfo(tubeType); var pos = params.tubePreProcessPos + tubeIndex * tubeInfo.tubeSpacing; - this.a8kCanBusService.callblockcmd(ModuleId.FeedingModXM, CmdId.kstep_motor_easy_move_to, new Integer[]{pos}, params.actionOvertime); + this.a8kCanBusService.callblockcmd(ModId.FeedingModXM, CmdId.kstep_motor_easy_move_to, new Integer[]{pos}, params.actionOvertime); } // @@ -194,16 +194,16 @@ public class MotorTubeRackMoveCtrlService { var params = this.serviceParameterDao.getParameter(); var tubeInfo = this.tubeInfoDao.getTubeInfo(tubeType); var pos = params.tubeRackExitPos + tubeIndex * tubeInfo.tubeSpacing; - this.a8kCanBusService.callblockcmd(ModuleId.FeedingModXM, CmdId.kstep_motor_easy_move_to, new Integer[]{pos}, params.actionOvertime); + this.a8kCanBusService.callblockcmd(ModId.FeedingModXM, CmdId.kstep_motor_easy_move_to, new Integer[]{pos}, params.actionOvertime); } public boolean isTubeRackInEnterPos() throws HardwareException { - var response = this.a8kCanBusService.callcmd(ModuleId.FeedingModBoard, CmdId.kxymotor_read_inio, new Integer[]{3}); + var response = this.a8kCanBusService.callcmd(ModId.FeedingModBoard, CmdId.kxymotor_read_inio, new Integer[]{3}); return response.getContentI32(0) == 1; } public boolean isTubeRackInExitPos() throws HardwareException { - var response = this.a8kCanBusService.callcmd(ModuleId.FeedingModBoard, CmdId.kxymotor_read_inio, new Integer[]{5}); + var response = this.a8kCanBusService.callcmd(ModId.FeedingModBoard, CmdId.kxymotor_read_inio, new Integer[]{5}); return response.getContentI32(0) == 1; } @@ -214,7 +214,7 @@ public class MotorTubeRackMoveCtrlService { */ public boolean getMoveChannelPhotoelectricState(int photoelectricIndex) throws HardwareException { var index = 0 == photoelectricIndex ? 2 : 1; - var response = this.a8kCanBusService.callcmd(ModuleId.FeedingModBoard, CmdId.kxymotor_read_inio, new Integer[]{index}); + var response = this.a8kCanBusService.callcmd(ModId.FeedingModBoard, CmdId.kxymotor_read_inio, new Integer[]{index}); return response.getContentI32(0) == 1; } @@ -228,7 +228,7 @@ public class MotorTubeRackMoveCtrlService { */ public void scanClampModuleCompress() throws HardwareException, InterruptedException { var params = this.serviceParameterDao.getParameter(); - this.a8kCanBusService.callblockcmd(ModuleId.ShakeModTubeScanerClampingSV, CmdId.kmini_servo_move_to, new Integer[]{params.scanCodeClampPos}, params.actionOvertime); + this.a8kCanBusService.callblockcmd(ModId.ShakeModTubeScanerClampingSV, CmdId.kmini_servo_move_to, new Integer[]{params.scanCodeClampPos}, params.actionOvertime); } /** @@ -236,7 +236,7 @@ public class MotorTubeRackMoveCtrlService { */ public void scanClampModuleReset() throws HardwareException, InterruptedException { var params = this.serviceParameterDao.getParameter(); - this.a8kCanBusService.callblockcmd(ModuleId.ShakeModTubeScanerClampingSV, CmdId.kmini_servo_move_to, new Integer[]{params.scanCodeReleasePos}, params.actionOvertime); + this.a8kCanBusService.callblockcmd(ModId.ShakeModTubeScanerClampingSV, CmdId.kmini_servo_move_to, new Integer[]{params.scanCodeReleasePos}, params.actionOvertime); } diff --git a/src/main/java/a8k/service/hardware/SamplesPreProcessModuleCtrlService.java b/src/main/java/a8k/service/hardware/SamplesPreProcessModuleCtrlService.java index 8f1ffad..84e619b 100644 --- a/src/main/java/a8k/service/hardware/SamplesPreProcessModuleCtrlService.java +++ b/src/main/java/a8k/service/hardware/SamplesPreProcessModuleCtrlService.java @@ -1,7 +1,7 @@ package a8k.service.hardware; import a8k.a8k_can_protocol.CmdId; -import a8k.a8k_can_protocol.ModuleId; +import a8k.a8k_can_protocol.ModId; import a8k.appbean.A8kTubeType; import a8k.appbean.AppErrorCode; import a8k.appbean.HardwareException; @@ -35,33 +35,33 @@ public class SamplesPreProcessModuleCtrlService { public void moveToZero() throws HardwareException, InterruptedException { var params = this.samplesPreProcessModuleCtrlParamsService; this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModGripperSV, + ModId.ShakeModGripperSV, CmdId.kmini_servo_move_to, params.getGripperServo_standbyPos(), params.getActionOvertime() ); this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModGripperZM, + ModId.ShakeModGripperZM, CmdId.kstep_motor_easy_move_to_zero, params.getMoveToZeroOvertime() ); this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModGripperYM, + ModId.ShakeModGripperYM, CmdId.kmini_servo_move_to, params.getHorizontalMotor_standbyPos(), params.getActionOvertime() ); this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModShakeM, + ModId.ShakeModShakeM, CmdId.kstep_motor_easy_move_to_zero, params.getMoveToZeroOvertime() ); this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModClampingM, + ModId.ShakeModClampingM, CmdId.kstep_motor_easy_move_to_zero, params.getMoveToZeroOvertime() ); @@ -78,27 +78,27 @@ public class SamplesPreProcessModuleCtrlService { */ public void enableModule(Boolean enable) throws HardwareException { this.a8kCanBusService.callcmd( - ModuleId.ShakeModShakeM, + ModId.ShakeModShakeM, CmdId.kstep_motor_enable, enable ? 1 : 0 ); this.a8kCanBusService.callcmd( - ModuleId.ShakeModClampingM, + ModId.ShakeModClampingM, CmdId.kstep_motor_enable, enable ? 1 : 0 ); this.a8kCanBusService.callcmd( - ModuleId.ShakeModClampingM, + ModId.ShakeModClampingM, CmdId.kstep_motor_enable, enable ? 1 : 0 ); this.a8kCanBusService.callcmd( - ModuleId.ShakeModGripperYM, + ModId.ShakeModGripperYM, CmdId.kmini_servo_enable, enable ? 1 : 0 ); this.a8kCanBusService.callcmd( - ModuleId.ShakeModGripperSV, + ModId.ShakeModGripperSV, CmdId.kmini_servo_enable, enable ? 1 : 0 ); @@ -121,7 +121,7 @@ public class SamplesPreProcessModuleCtrlService { public AppErrorCode takeTube(String tubeType,boolean judgeCapExist) throws HardwareException, InterruptedException { var params = this.samplesPreProcessModuleCtrlParamsService; this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModGripperYM, + ModId.ShakeModGripperYM, CmdId.kstep_motor_easy_move_to, params.getHorizontalMotor_takeCapPos(), params.getActionOvertime() @@ -133,7 +133,7 @@ public class SamplesPreProcessModuleCtrlService { motorUdTubeTaskPos = params.getZMotor_HighBloodTakeCapHeight(); } this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModGripperZM, + ModId.ShakeModGripperZM, CmdId.kstep_motor_easy_move_to, motorUdTubeTaskPos, params.getActionOvertime() @@ -141,17 +141,17 @@ public class SamplesPreProcessModuleCtrlService { if ( judgeCapExist ) { this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModClampingM, + ModId.ShakeModClampingM, CmdId.kmini_servo_rotate_with_torque, params.getGripperServo_takeCapTorque(), params.getActionOvertime() ); this.a8kCanBusService.callcmd( - ModuleId.ShakeModGripperSV, + ModId.ShakeModGripperSV, CmdId.kmini_servo_stop ); var pos = this.a8kCanBusService.callcmd( - ModuleId.ShakeModGripperSV, + ModId.ShakeModGripperSV, CmdId.kmini_servo_read_pos ); if ( pos.getContentI32(0) > params.getGripperServo_hatDeterminesPosThres() ) { @@ -160,49 +160,49 @@ public class SamplesPreProcessModuleCtrlService { } this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModGripperSV, + ModId.ShakeModGripperSV, CmdId.kmini_servo_rotate_with_torque, params.getGripperServo_takeCapTorque(), params.getActionOvertime() ); this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModGripperZM, + ModId.ShakeModGripperZM, CmdId.kstep_motor_easy_move_to, 0, params.getActionOvertime() ); this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModGripperYM, + ModId.ShakeModGripperYM, CmdId.kmini_servo_move_to, params.getHorizontalMotor_takePushCapPos(), params.getActionOvertime() ); this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModGripperZM, + ModId.ShakeModGripperZM, CmdId.kstep_motor_easy_move_to, params.getZMotor_placeShakeHeight(), params.getActionOvertime() ); this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModGripperSV, + ModId.ShakeModGripperSV, CmdId.kstep_motor_easy_move_to, params.getGripperServo_standbyPos(), params.getActionOvertime() ); this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModGripperZM, + ModId.ShakeModGripperZM, CmdId.kstep_motor_easy_move_to, 0, params.getActionOvertime() ); this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModGripperYM, + ModId.ShakeModGripperYM, CmdId.kstep_motor_easy_move_to, params.getHorizontalMotor_standbyPos(), params.getActionOvertime() @@ -226,14 +226,14 @@ public class SamplesPreProcessModuleCtrlService { public AppErrorCode takeTubeCap( String tubeType ) throws HardwareException, InterruptedException { var params = this.samplesPreProcessModuleCtrlParamsService; this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModGripperYM, + ModId.ShakeModGripperYM, CmdId.kstep_motor_easy_move_to, params.getHorizontalMotor_takePushCapPos(), params.getActionOvertime() ); this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModGripperSV, + ModId.ShakeModGripperSV, CmdId.kstep_motor_easy_move_to, params.getGripperServo_standbyPos(), params.getActionOvertime() @@ -245,28 +245,28 @@ public class SamplesPreProcessModuleCtrlService { motorUdTakeCapPos = params.getZMotor_HighBloodTakeCapHeight(); } this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModGripperZM, + ModId.ShakeModGripperZM, CmdId.kstep_motor_easy_move_to, motorUdTakeCapPos, params.getActionOvertime() ); this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModGripperSV, + ModId.ShakeModGripperSV, CmdId.kstep_motor_easy_move_to, params.getGripperServo_standbyPos(), params.getActionOvertime() ); this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModGripperZM, + ModId.ShakeModGripperZM, CmdId.kstep_motor_easy_move_to, 0, params.getActionOvertime() ); this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModGripperYM, + ModId.ShakeModGripperYM, CmdId.kstep_motor_easy_move_to, params.getHorizontalMotor_standbyPos(), params.getActionOvertime() @@ -280,14 +280,14 @@ public class SamplesPreProcessModuleCtrlService { public void pushBackTubeCapAndTakeBakTube(String tubeType) throws HardwareException, InterruptedException { var params = this.samplesPreProcessModuleCtrlParamsService; this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModGripperYM, + ModId.ShakeModGripperYM, CmdId.kstep_motor_easy_move_to, params.getHorizontalMotor_takePushCapPos(), params.getActionOvertime() ); this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModGripperSV, + ModId.ShakeModGripperSV, CmdId.kstep_motor_easy_move_to, params.getGripperServo_standbyPos(), params.getActionOvertime() @@ -299,28 +299,28 @@ public class SamplesPreProcessModuleCtrlService { motorUdTakeCapPos = params.getZMotor_HighBloodTakeCapHeight(); } this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModGripperZM, + ModId.ShakeModGripperZM, CmdId.kstep_motor_easy_move_to, motorUdTakeCapPos, params.getActionOvertime() ); this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModGripperSV, + ModId.ShakeModGripperSV, CmdId.kstep_motor_easy_move_to, params.getGripperServo_standbyPos(), params.getActionOvertime() ); this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModGripperZM, + ModId.ShakeModGripperZM, CmdId.kstep_motor_easy_move_to, 0, params.getActionOvertime() ); this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModGripperYM, + ModId.ShakeModGripperYM, CmdId.kstep_motor_easy_move_to, params.getHorizontalMotor_standbyPos(), params.getActionOvertime() @@ -344,7 +344,7 @@ public class SamplesPreProcessModuleCtrlService { var startPos = standByPos - shakeDegree/2; var endPos = standByPos + shakeDegree/2; this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModShakeM, + ModId.ShakeModShakeM, CmdId.kstep_motor_easy_reciprocating_motion, startPos, endPos, @@ -358,14 +358,14 @@ public class SamplesPreProcessModuleCtrlService { */ public void openAerosolFan() throws HardwareException { var params = this.samplesPreProcessModuleCtrlParamsService; - this.a8kCanBusService.callcmd(ModuleId.WbTubeFanMod, CmdId.kfan_controler_set_speed, params.getAerosolFanLevel()); + this.a8kCanBusService.callcmd(ModId.WbTubeFanMod, CmdId.kfan_controler_set_speed, params.getAerosolFanLevel()); } /** * 关闭气溶胶风扇 */ public void closeAerosolFan() throws HardwareException { - this.a8kCanBusService.callcmd(ModuleId.WbTubeFanMod, CmdId.kfan_controler_set_speed, 0); + this.a8kCanBusService.callcmd(ModId.WbTubeFanMod, CmdId.kfan_controler_set_speed, 0); } /** @@ -374,28 +374,28 @@ public class SamplesPreProcessModuleCtrlService { public void moduleResetWhenPowerOn() throws HardwareException, InterruptedException { var params = this.samplesPreProcessModuleCtrlParamsService; this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModGripperSV, + ModId.ShakeModGripperSV, CmdId.kmini_servo_move_to, params.getTubeClampMotor_standbyPos() ); this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModGripperZM, + ModId.ShakeModGripperZM, CmdId.kstep_motor_easy_move_to_zero, params.getMoveToZeroOvertime() ); this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModGripperYM, + ModId.ShakeModGripperYM, CmdId.kmini_servo_move_to, params.getHorizontalMotor_standbyPos(), params.getActionOvertime() ); this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModClampingM, + ModId.ShakeModClampingM, CmdId.kstep_motor_easy_move_to_zero, params.getMoveToZeroOvertime() ); this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModShakeM, + ModId.ShakeModShakeM, CmdId.kstep_motor_easy_move_to_zero, params.getMoveToZeroOvertime() ); @@ -407,46 +407,46 @@ public class SamplesPreProcessModuleCtrlService { public void moduleRuntimeReset() throws HardwareException, InterruptedException { var params = this.samplesPreProcessModuleCtrlParamsService; this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModGripperSV, + ModId.ShakeModGripperSV, CmdId.kmini_servo_move_to, params.getTubeClampMotor_standbyPos() ); this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModGripperZM, + ModId.ShakeModGripperZM, CmdId.kstep_motor_easy_move_to, 0, params.getMoveToZeroOvertime() ); this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModGripperZM, + ModId.ShakeModGripperZM, CmdId.kstep_motor_easy_move_to_zero, params.getMoveToZeroOvertime() ); this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModGripperYM, + ModId.ShakeModGripperYM, CmdId.kmini_servo_move_to, params.getHorizontalMotor_standbyPos(), params.getActionOvertime() ); this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModClampingM, + ModId.ShakeModClampingM, CmdId.kstep_motor_easy_move_to, 0, params.getMoveToZeroOvertime() ); this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModClampingM, + ModId.ShakeModClampingM, CmdId.kstep_motor_easy_move_to_zero, params.getMoveToZeroOvertime() ); this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModShakeM, + ModId.ShakeModShakeM, CmdId.kstep_motor_easy_move_to, 0, params.getMoveToZeroOvertime() ); this.a8kCanBusService.callblockcmd( - ModuleId.ShakeModShakeM, + ModId.ShakeModShakeM, CmdId.kstep_motor_easy_move_to_zero, params.getMoveToZeroOvertime() );