From 6a4ab0ddaf1b55c8c852dc2d2749d8d9fada1ba2 Mon Sep 17 00:00:00 2001 From: sige Date: Tue, 23 Jul 2024 09:58:22 +0800 Subject: [PATCH] 1 --- .../SamplesPreProcessModuleCtrlParamsService.java | 8 ++++++ .../SamplesPreProcessModuleCtrlService.java | 31 +++++++++++++++------- 2 files changed, 30 insertions(+), 9 deletions(-) diff --git a/src/main/java/a8k/service/db/dao/SamplesPreProcessModuleCtrlParamsService.java b/src/main/java/a8k/service/db/dao/SamplesPreProcessModuleCtrlParamsService.java index 141edc7..5be44bb 100644 --- a/src/main/java/a8k/service/db/dao/SamplesPreProcessModuleCtrlParamsService.java +++ b/src/main/java/a8k/service/db/dao/SamplesPreProcessModuleCtrlParamsService.java @@ -35,6 +35,14 @@ public class SamplesPreProcessModuleCtrlParamsService { * 升降电机相关位置 */ + public int getZMotor_HighBloodTakeTubeHeight() { + return HardwareServiceSetting.getInteger(this.serviceName, "ZMotor_HighBloodTakeTubeHeight", 0); + } + + public int getZMotor_ShortBloodTakeTubeHeight() { + return HardwareServiceSetting.getInteger(this.serviceName, "ZMotor_ShortBloodTakeTubeHeight", 0); + } + // 高全血试管取帽位置 public int getZMotor_HighBloodTakeCapHeight() { return HardwareServiceSetting.getInteger(this.serviceName, "ZMotor_HighBloodTakeCapHeight", 0); diff --git a/src/main/java/a8k/service/hardware/SamplesPreProcessModuleCtrlService.java b/src/main/java/a8k/service/hardware/SamplesPreProcessModuleCtrlService.java index e869c26..d50f5c7 100644 --- a/src/main/java/a8k/service/hardware/SamplesPreProcessModuleCtrlService.java +++ b/src/main/java/a8k/service/hardware/SamplesPreProcessModuleCtrlService.java @@ -103,7 +103,7 @@ public class SamplesPreProcessModuleCtrlService { CmdId.mini_servo_enable.toInt(), enable ? 1 : 0 ); - + this.a8kCanBusService.stepMotorEnable(MId.ShakeModGripperZM, enable ? 1 : 0); } @@ -129,10 +129,17 @@ public class SamplesPreProcessModuleCtrlService { params.getActionOvertime() ); - var motorUdTubeTaskPos = params.getZMotor_ShortBloodTakeCapHeight(); + this.a8kCanBusService.callblockcmd( + MId.ShakeModClampingM.toInt(), + CmdId.step_motor_easy_move_to.toInt(), + params.getTubeClampMotor_standbyPos(), + params.getActionOvertime() + ); + + var motorUdTubeTaskPos = params.getZMotor_ShortBloodTakeTubeHeight(); var tubeTypeValue = A8kTubeType.valueOf(tubeType); if ( tubeTypeValue.equals(A8kTubeType.HighBlood) ) { - motorUdTubeTaskPos = params.getZMotor_HighBloodTakeCapHeight(); + motorUdTubeTaskPos = params.getZMotor_HighBloodTakeTubeHeight(); } this.a8kCanBusService.callblockcmd( MId.ShakeModGripperZM.toInt(), @@ -236,14 +243,14 @@ public class SamplesPreProcessModuleCtrlService { var params = this.samplesPreProcessModuleCtrlParamsService; this.a8kCanBusService.callblockcmd( MId.ShakeModGripperYSV.toInt(), - CmdId.step_motor_easy_move_to.toInt(), + CmdId.mini_servo_move_to.toInt(), params.getHorizontalMotor_takePushCapPos(), params.getActionOvertime() ); this.a8kCanBusService.callblockcmd( MId.ShakeModGripperSV.toInt(), - CmdId.step_motor_easy_move_to.toInt(), + CmdId.mini_servo_move_to.toInt(), params.getGripperServo_standbyPos(), params.getActionOvertime() ); @@ -262,8 +269,8 @@ public class SamplesPreProcessModuleCtrlService { this.a8kCanBusService.callblockcmd( MId.ShakeModGripperSV.toInt(), - CmdId.step_motor_easy_move_to.toInt(), - params.getGripperServo_standbyPos(), + CmdId.mini_servo_move_to.toInt(), + params.getGripperServo_takeTubePos(), params.getActionOvertime() ); @@ -276,7 +283,7 @@ public class SamplesPreProcessModuleCtrlService { this.a8kCanBusService.callblockcmd( MId.ShakeModGripperYSV.toInt(), - CmdId.step_motor_easy_move_to.toInt(), + CmdId.mini_servo_move_to.toInt(), params.getHorizontalMotor_standbyPos(), params.getActionOvertime() ); @@ -347,7 +354,7 @@ public class SamplesPreProcessModuleCtrlService { * @param times 摇匀次数 * @param shakeDegree 摇匀角度 */ - public void ShakeTube(String tubeType, int times, int shakeDegree) throws HardwareException, InterruptedException { + public void ShakeTube(String tubeType, Integer times, Integer shakeDegree) throws HardwareException, InterruptedException { var params = this.samplesPreProcessModuleCtrlParamsService; var standByPos = params.getShakeMotor_standbyPos(); var startPos = standByPos - shakeDegree/2; @@ -470,4 +477,10 @@ public class SamplesPreProcessModuleCtrlService { this.a8kCanBusService.stepMotorEasyMoveTo(MId.ShakeModShakeM, params.getShakeMotor_standbyPos()); this.a8kCanBusService.waitForMod(MId.ShakeModShakeM, params.getActionOvertime()); } + + public void openTubeClip() throws HardwareException, InterruptedException { + var params = this.samplesPreProcessModuleCtrlParamsService; + this.a8kCanBusService.stepMotorEasyMoveBy(MId.ShakeModClampingM, 10); + this.a8kCanBusService.waitForMod(MId.ShakeModClampingM, params.getActionOvertime()); + } }