Browse Source

调整液体操作中Z轴丝杠导程

master
zhaohe 3 months ago
parent
commit
d3efa282c7
  1. 2
      src/main/java/a8k/app/service/lowerctrl/LiquidOperationCtrlService.java
  2. 18
      src/main/java/a8k/extui/page/driver/HbotCtrlPage.java
  3. 46
      src/main/resources/db/zapp_a8k_pos_parameter.csv
  4. 50
      src/main/resources/db/zapp_sub_module_reg_initial_value.csv

2
src/main/java/a8k/app/service/lowerctrl/LiquidOperationCtrlService.java

@ -30,7 +30,7 @@ import org.springframework.stereotype.Component;
@Component
@Slf4j
public class LiquidOperationCtrlService {
static public final Integer helicalPitch = 20;
static public final Integer helicalPitch = 80;
static public final Integer lldZmotorVmax = 50 * 80 / helicalPitch;
static public final Integer lldGunPumpVmax = 40;

18
src/main/java/a8k/extui/page/driver/HbotCtrlPage.java

@ -147,12 +147,19 @@ public class HbotCtrlPage {
hbotDriver.setReg(reg, val);
}
public Object readAllRegs() throws AppException {
public Object readAllRegs() {
ZJsonNode node = new ZJsonNode();
for (HbotRegIndex regIndex : HbotRegIndex.values()) {
Integer regVal = hbotDriver.getReg(regIndex);
log.info("reg {}: {}", regIndex, regVal);
node.get(regIndex.name()).set(regVal);
Integer regVal = null;
try {
regVal = hbotDriver.getReg(regIndex);
log.info("reg {}: {}", regIndex, regVal);
node.get(regIndex.name()).set(regVal);
} catch (AppException e) {
log.warn("read reg {} error {}", regIndex, e.getError().code);
node.get(regIndex.name()).set("ERROR");
}
}
return node.get();
}
@ -203,7 +210,8 @@ public class HbotCtrlPage {
page.addFunction("移动到", this::measurementMoveTo).setParamVal("x", () -> readPosNoEx().x).setParamVal("y", () -> readPosNoEx().y).setParamVal("z", () -> readPosNoEx().z);
page.newGroup("读写寄存器");
page.addFunction("设置偏移", this::setShift).setParamVal("xshift", () -> readRegNoEx(HbotRegIndex.kreg_xyrobot_shift_x)).setParamVal("yshift", () -> readRegNoEx(HbotRegIndex.kreg_xyrobot_shift_y));
page.addFunction("设置偏移", this::setShift).setParamVal("xshift", () -> readRegNoEx(HbotRegIndex.kreg_xyrobot_shift_x)).setParamVal("yshift",
() -> readRegNoEx(HbotRegIndex.kreg_xyrobot_shift_y));
page.addFunction("读所有寄存器", this::readAllRegs);
page.addFunction("设置寄存器", this::setReg);

46
src/main/resources/db/zapp_a8k_pos_parameter.csv

@ -1,5 +1,5 @@
id,service,key,valType,val,chName
1,Hbot2DCodeScanParamMgr,PBScanPos0,Pos2d,"{""x"":1864,""y"":16958}",板夹仓扫码位置0
1,Hbot2DCodeScanParamMgr,PBScanPos0,Pos2d,"{""x"":2220,""y"":16958}",板夹仓扫码位置0
7,Hbot2DCodeScanParamMgr,LittBS0,Pos2d,"{""x"":18715,""y"":22069}",小缓冲液扫码位置0
13,Hbot2DCodeScanParamMgr,LarBS0,Pos2d,"{""x"":51780,""y"":13622}",大缓冲液扫码位置0
19,TubeFeedingModuleParamMgr,TubeHolderEnterXPos,Integer,"{""value"":-125}",入料位置
@ -14,9 +14,9 @@ id,service,key,valType,val,chName
28,HbotFixedPosParamMgr,DropLiquidPos,Pos3d,"{""x"":24746,""y"":4306,""z"":1340}",滴液位置
29,HbotSamplePosParamMgr,EmergencyTubeSamplePos,Pos3d,"{""x"":51892,""y"":33716,""z"":470}",<急诊位>取样位置
30,HbotSamplePosParamMgr,EmergencyTubeSampleEndPos,Integer,"{""value"":620}",<急诊位>取样结束位置
31,HbotSamplePosParamMgr,BloodHTubeSamplePos,Pos3d,"{""x"":25208,""y"":41764,""z"":420}",<全血高试管>取样位置
31,HbotSamplePosParamMgr,BloodHTubeSamplePos,Pos3d,"{""x"":25458,""y"":41764,""z"":420}",<全血高试管>取样位置
32,HbotSamplePosParamMgr,BloodHTubeSampleEndPos,Integer,"{""value"":920}",<全血高试管>取样结束位置
33,HbotSamplePosParamMgr,BloodSTubeSamplePos,Pos3d,"{""x"":25208,""y"":41764,""z"":420}",<全血低试管>取样位置
33,HbotSamplePosParamMgr,BloodSTubeSamplePos,Pos3d,"{""x"":25458,""y"":41764,""z"":420}",<全血低试管>取样位置
34,HbotSamplePosParamMgr,BloodSTubeSampleEndPos,Integer,"{""value"":920}",<全血低试管>取样结束位置
35,HbotSamplePosParamMgr,MiniTubeSamplePos,Pos3d,"{""x"":2331,""y"":3773,""z"":433}",<迷你试管>取样位置
36,HbotSamplePosParamMgr,MinitubeSampleEndPos,Pos3d,"{""x"":2331,""y"":3773,""z"":649}",<迷你试管>取样结束位置
@ -35,18 +35,18 @@ id,service,key,valType,val,chName
56,HbotLargeBottleBSPosMgr,LargeBuffer_0Pos,Pos2d,"{""x"":49048,""y"":15560}",大瓶缓冲液的第1个位置
57,HbotLargeBottleBSPosMgr,LargeBuffer_DX,Double,"{""value"":2840.0}",大瓶缓冲液的X间距
58,HbotLargeBottleBSPosMgr,LargeBuffer_DY,Double,"{""value"":2840.0}",大瓶缓冲液的Y间距
61,HbotTipPosMgr,TipGroup0_000Pos,Pos3d,"{""x"":11680,""y"":1138,""z"":808}",第1组TIP的第1个位置
62,HbotTipPosMgr,TipGroup0_SpaceingX,Double,"{""value"":932.0}",第1组TIP的X间距
63,HbotTipPosMgr,TipGroup0_SpaceingY,Double,"{""value"":932.0}",第1组TIP的Y间距
64,HbotTipPosMgr,TipGroup1_000Pos,Pos3d,"{""x"":27200,""y"":1138,""z"":808}",第2组TIP的第1个位置
65,HbotTipPosMgr,TipGroup1_SpaceingX,Double,"{""value"":932.0}",第2组TIP的X间距
66,HbotTipPosMgr,TipGroup1_SpaceingY,Double,"{""value"":932.0}",第2组TIP的Y间距
67,HbotTipPosMgr,TipGroup2_000Pos,Pos3d,"{""x"":42690,""y"":1138,""z"":807}",第3组TIP的第1个位置
68,HbotTipPosMgr,TipGroup2_SpaceingX,Double,"{""value"":932.0}",第3组TIP的X间距
69,HbotTipPosMgr,TipGroup2_SpaceingY,Double,"{""value"":932.0}",第3组TIP的Y间距
61,HbotTipPosMgr,TipGroup0_000Pos,Pos3d,"{""x"":11680,""y"":1138,""z"":805}",第1组TIP的第1个位置
62,HbotTipPosMgr,TipGroup0_SpaceingX,Double,"{""value"":938.0}",第1组TIP的X间距
63,HbotTipPosMgr,TipGroup0_SpaceingY,Double,"{""value"":937.0}",第1组TIP的Y间距
64,HbotTipPosMgr,TipGroup1_000Pos,Pos3d,"{""x"":27200,""y"":1138,""z"":805}",第2组TIP的第1个位置
65,HbotTipPosMgr,TipGroup1_SpaceingX,Double,"{""value"":938.0}",第2组TIP的X间距
66,HbotTipPosMgr,TipGroup1_SpaceingY,Double,"{""value"":937.0}",第2组TIP的Y间距
67,HbotTipPosMgr,TipGroup2_000Pos,Pos3d,"{""x"":42690,""y"":1138,""z"":805}",第3组TIP的第1个位置
68,HbotTipPosMgr,TipGroup2_SpaceingX,Double,"{""value"":938.0}",第3组TIP的X间距
69,HbotTipPosMgr,TipGroup2_SpaceingY,Double,"{""value"":937.0}",第3组TIP的Y间距
70,HbotTipPosMgr,DropTipPos,Pos3d,"{""x"":51855,""y"":27259,""z"":900}",丢TIP位置
82,TurntablePosParamMgr,PushPos0,Integer,"{""value"":-96}",入板位置
83,TurntablePosParamMgr,PullPos0,Integer,"{""value"":17968}",出板位置
83,TurntablePosParamMgr,PullPos0,Integer,"{""value"":17904}",出板位置
84,TurntablePosParamMgr,DropLiquidPos0,Integer,"{""value"":8968}",滴液位置
85,TurntablePosParamMgr,PosSpacing,Integer,"{""value"":1800}",位置间隔
98,OptModuleExtParamsMgr,FOptScanShift,Integer,"{""value"":2330}",F光学扫描偏移
@ -57,7 +57,7 @@ id,service,key,valType,val,chName
103,OptModuleExtParamsMgr,TOptScanGainVal,Double,"{""value"":0.5}",T光学扫描放大倍数
104,OptModuleParamsMgr,PullerTargetPos,Integer,"{""value"":1251}",拉板目标位置
105,OptModuleParamsMgr,OptScanerDropPos,Integer,"{""value"":-104}",丢板坐标
106,OptModuleParamsMgr,OptScanerScandbyPos,Integer,"{""value"":697}",扫描待机位
106,OptModuleParamsMgr,OptScanerScandbyPos,Integer,"{""value"":597}",扫描待机位
107,TemperatureCtrlParamMgr,IncubatorTCMTempOffset,Double,"{""value"":0.0}",<孵育仓>温度偏移
108,TemperatureCtrlParamMgr,PlatesBoxTCMTempOffset,Double,"{""value"":0.0}",<板夹仓>温度偏移
109,TubePreProcesPosParamMgr,GripperServoOpenPos,Integer,"{""value"":1600}",<抓手>张开位置
@ -70,9 +70,9 @@ id,service,key,valType,val,chName
116,TubePreProcesPosParamMgr,ZMotorTakeHTubePos,Integer,"{""value"":753}",<Z轴>取高试管位置
117,TubePreProcesPosParamMgr,ZMotorTakeSTubePos,Integer,"{""value"":973}",<Z轴>取低试管位置
118,TubePreProcesPosParamMgr,ZMotorShakeTubePos,Integer,"{""value"":800}",<Z轴>摇匀放置位置
119,PlatesBoxPosParamMgr,Ch0YPos,Integer,"{""value"":36}",通道0Y轴位置
120,PlatesBoxPosParamMgr,Ch5YPos,Integer,"{""value"":1362}",通道5Y轴位置
121,PlatesBoxPosParamMgr,PushEndXPos,Integer,"{""value"":1243}",推杆到位坐标
119,PlatesBoxPosParamMgr,Ch0YPos,Integer,"{""value"":30}",通道0Y轴位置
120,PlatesBoxPosParamMgr,Ch5YPos,Integer,"{""value"":1354}",通道5Y轴位置
121,PlatesBoxPosParamMgr,PushEndXPos,Integer,"{""value"":1230}",推杆到位坐标
122,PipetteGunExParamMgr,VOLUME_CALIBRATION_COEFFICIENT,Double,null,体积校准系数
123,PipetteGunExParamMgr,VOLUME_CALIBRATION_COEFFICIENT_A,Double,"{""value"":1.033378}",体积校准系数-A
124,PipetteGunExParamMgr,VOLUME_CALIBRATION_COEFFICIENT_B,Double,"{""value"":2.76625}",体积校准系数-B
@ -96,8 +96,16 @@ id,service,key,valType,val,chName
146,TubeFeedingModuleParamMgr,OutfeedOvertime,Integer,"{""value"":10}",出料超时时间
147,Hbot2DCodeScanParamMgr,PBDY,Double,"{""value"":2650.0}",板夹仓扫码位置Y
148,TubePreProcesPosParamMgr,ShakeModLiftingSVWorkPos,Integer,"{""value"":2343}",<顶升舵机>工作位置
149,Hbot2DCodeScanParamMgr,PBQRCodeDY,Double,"{""value"":2650.0}",板夹仓扫码GROUP间距
149,Hbot2DCodeScanParamMgr,PBQRCodeDY,Double,"{""value"":2692.0}",板夹仓扫码GROUP间距
150,Hbot2DCodeScanParamMgr,LargeBSQRCodeDX,Double,"{""value"":2880.0}",大瓶缓冲液的扫码GROUP间距
151,Hbot2DCodeScanParamMgr,LargeBSQRCodeDY,Double,"{""value"":7500.0}",大瓶缓冲液的扫码GROUP间距
152,Hbot2DCodeScanParamMgr,LittleBQRCodeDX,Double,"{""value"":12300.0}",小瓶缓冲液的GROUP间距
153,Hbot2DCodeScanParamMgr,LittleBQRCodeDY,Double,"{""value"":12540.0}",小瓶缓冲液的GROUP间距
153,Hbot2DCodeScanParamMgr,LittleBQRCodeDY,Double,"{""value"":12540.0}",小瓶缓冲液的GROUP间距
154,PipetteGunLLFParamMgr,EMERGENCY_TUBE_LLF_VEL,Integer,null,<急诊试管>液面跟随速度
155,PipetteGunLLFParamMgr,BLOOD_TUBE_LLF_VEL,Integer,null,<全血试管>液面跟随速度
156,PipetteGunLLFParamMgr,MINI_TUBE_LLF_VEL,Integer,null,<迷你试管>液面跟随速度
157,PipetteGunLLFParamMgr,MINI_BLOOD_LLF_VEL,Integer,null,<阳普管>液面跟随速度
158,PipetteGunLLFParamMgr,BULLET_TUBE_1P5_LLF_VEL,Integer,null,<子弹头试管1.5ML>液面跟随速度
159,PipetteGunLLFParamMgr,BULLET_TUBE_0P5_LLF_VEL,Integer,null,<子弹头试管0.5ML>液面跟随速度
160,PipetteGunLLFParamMgr,STOOL_TEST_TUBE_LLF_VEL,Integer,null,<粪便试管>液面跟随速度
161,PipetteGunLLFParamMgr,LARGE_BS_BOTTLE_LLF_VEL,Integer,null,<大瓶缓冲液>液面跟随速度

50
src/main/resources/db/zapp_sub_module_reg_initial_value.csv

@ -24,8 +24,8 @@ id,mid,regIndex,regInitVal
23,HbotM,kreg_xyrobot_max_y,42580
24,HbotM,kreg_xyrobot_run_to_zero_speed,60
25,HbotM,kreg_xyrobot_look_zero_edge_speed,10
26,HbotM,kreg_xyrobot_shift_x,0
27,HbotM,kreg_xyrobot_shift_y,0
26,HbotM,kreg_xyrobot_shift_x,-90
27,HbotM,kreg_xyrobot_shift_y,62
28,HbotM,kreg_xyrobot_pos_devi_tolerance,50
29,HbotM,kreg_xyrobot_io_trigger_append_distance,10
30,HbotM,kreg_xyrobot_default_velocity,800
@ -57,15 +57,15 @@ id,mid,regIndex,regInitVal
56,PlatesBoxYM,kret_step_motor_pos_devi_tolerance,5
57,PlatesBoxYM,kret_step_motor_io_trigger_append_distance,10
58,PlatesBoxPusherM,kreg_step_motor_shaft,1
59,PlatesBoxPusherM,kreg_step_motor_one_circle_pulse,20
59,PlatesBoxPusherM,kreg_step_motor_one_circle_pulse,80
60,PlatesBoxPusherM,kreg_step_motor_one_circle_pulse_denominator,1
61,PlatesBoxPusherM,kreg_step_motor_default_velocity,2800
61,PlatesBoxPusherM,kreg_step_motor_default_velocity,1200
62,PlatesBoxPusherM,kreg_step_motor_ihold,4
63,PlatesBoxPusherM,kreg_step_motor_irun,15
63,PlatesBoxPusherM,kreg_step_motor_irun,9
64,PlatesBoxPusherM,kreg_step_motor_iholddelay,100
65,PlatesBoxPusherM,kreg_step_motor_iglobalscaler,0
66,PlatesBoxPusherM,kreg_step_motor_mres,0
67,PlatesBoxPusherM,kreg_step_motor_run_to_zero_speed,1200
67,PlatesBoxPusherM,kreg_step_motor_run_to_zero_speed,500
68,PlatesBoxPusherM,kreg_step_motor_look_zero_edge_speed,50
69,PlatesBoxPusherM,kreg_step_motor_max_d,0
70,PlatesBoxPusherM,kreg_step_motor_min_d,0
@ -166,7 +166,7 @@ id,mid,regIndex,regInitVal
165,ShakeModShakeM,kret_step_motor_io_trigger_append_distance,10
166,ShakeModGripperYSV,kreg_mini_servo_pos,115
167,ShakeModGripperYSV,kreg_mini_servo_limit_velocity,10000
168,ShakeModGripperYSV,kreg_mini_servo_limit_torque,800
168,ShakeModGripperYSV,kreg_mini_servo_limit_torque,500
169,ShakeModGripperYSV,kreg_mini_servo_protective_torque,900
170,ShakeModGripperYSV,kreg_mini_servo_target_pos_tolerance,15
171,ShakeModGripperSV,kreg_mini_servo_pos,1503
@ -320,28 +320,28 @@ id,mid,regIndex,regInitVal
319,IncubatorRotateCtrlM,kret_step_motor_pos_devi_tolerance,30
320,IncubatorRotateCtrlM,kret_step_motor_io_trigger_append_distance,10
327,PipetteMod,kreg_pipette_zm_shaft,0
328,PipetteMod,kreg_pipette_zm_one_circle_pulse,20
328,PipetteMod,kreg_pipette_zm_one_circle_pulse,80
329,PipetteMod,kreg_pipette_zm_one_circle_pulse_denominator,1
330,PipetteMod,kreg_pipette_zm_default_velocity,2000
331,PipetteMod,kreg_pipette_zm_ihold,8
332,PipetteMod,kreg_pipette_zm_irun,20
330,PipetteMod,kreg_pipette_zm_default_velocity,1200
331,PipetteMod,kreg_pipette_zm_ihold,7
332,PipetteMod,kreg_pipette_zm_irun,7
333,PipetteMod,kreg_pipette_zm_iholddelay,10
334,PipetteMod,kreg_pipette_zm_iglobalscaler,0
335,PipetteMod,kreg_pipette_zm_run_to_zero_speed,800
335,PipetteMod,kreg_pipette_zm_run_to_zero_speed,600
336,PipetteMod,kreg_pipette_zm_look_zero_edge_speed,100
337,PipetteMod,kreg_pipette_zm_max_d,0
338,PipetteMod,kreg_pipette_zm_min_d,0
339,PipetteMod,kreg_pipette_zm_vstart,100
340,PipetteMod,kreg_pipette_zm_a1,100
341,PipetteMod,kreg_pipette_zm_amax,1200
342,PipetteMod,kreg_pipette_zm_v1,300
343,PipetteMod,kreg_pipette_zm_dmax,300
344,PipetteMod,kreg_pipette_zm_d1,100
345,PipetteMod,kreg_pipette_zm_vstop,100
339,PipetteMod,kreg_pipette_zm_vstart,30
340,PipetteMod,kreg_pipette_zm_a1,200
341,PipetteMod,kreg_pipette_zm_amax,600
342,PipetteMod,kreg_pipette_zm_v1,500
343,PipetteMod,kreg_pipette_zm_dmax,600
344,PipetteMod,kreg_pipette_zm_d1,200
345,PipetteMod,kreg_pipette_zm_vstop,30
346,PipetteMod,kreg_pipette_zm_tzerowait,0
347,PipetteMod,kreg_pipette_zm_enc_resolution,0
348,PipetteMod,kreg_pipette_zm_enable_enc,0
349,PipetteMod,kreg_pipette_zm_dzero,0
349,PipetteMod,kreg_pipette_zm_dzero,92
350,OptModScannerM,kreg_step_motor_shaft,1
351,OptModScannerM,kreg_step_motor_one_circle_pulse,1590000
352,OptModScannerM,kreg_step_motor_one_circle_pulse_denominator,10000
@ -411,9 +411,9 @@ id,mid,regIndex,regInitVal
416,OptMod,kreg_a8k_opt_scan_d1,700
417,OptMod,kreg_a8k_opt_scan_vstop,700
418,OptMod,kreg_a8k_opt_scan_tzerowait,0
419,PipetteMod,kreg_pipette_zm_pos_devi_tolerance,0
420,PipetteMod,kreg_pipette_zm_io_trigger_append_distance,0
421,PipetteMod,kreg_pipette_zm_mres,2
419,PipetteMod,kreg_pipette_zm_pos_devi_tolerance,10
420,PipetteMod,kreg_pipette_zm_io_trigger_append_distance,20
421,PipetteMod,kreg_pipette_zm_mres,0
422,PlatesBoxYM,kreg_step_motor_low_velocity,0
423,PlatesBoxYM,kreg_step_motor_mid_velocity,0
424,PlatesBoxYM,kreg_step_motor_high_velocity,0
@ -483,8 +483,8 @@ id,mid,regIndex,regInitVal
488,ShakeModTubeScanerClampingSV,kreg_mini_servo_servo_protect_time,200
489,ShakeModTubeScanerClampingSV,kreg_mini_servo_servo_overload_torque,80
490,ShakeModTubeScanerClampingSV,kreg_mini_servo_servo_acc,0
491,ShakeModTubeScanerRotateSV,kreg_mini_servo_servo_min_angle,20
492,ShakeModTubeScanerRotateSV,kreg_mini_servo_servo_max_angle,1003
491,ShakeModTubeScanerRotateSV,kreg_mini_servo_servo_min_angle,0
492,ShakeModTubeScanerRotateSV,kreg_mini_servo_servo_max_angle,0
493,ShakeModTubeScanerRotateSV,kreg_mini_servo_servo_max_temp,70
494,ShakeModTubeScanerRotateSV,kreg_mini_servo_servo_max_voltage,90
495,ShakeModTubeScanerRotateSV,kreg_mini_servo_servo_min_voltage,45

Loading…
Cancel
Save