diff --git a/src/main/java/com/iflytop/gd/app/cmd/DoorCloseCommand.java b/src/main/java/com/iflytop/gd/app/cmd/DoorCloseCommand.java index 8ffd699..4e9af7e 100644 --- a/src/main/java/com/iflytop/gd/app/cmd/DoorCloseCommand.java +++ b/src/main/java/com/iflytop/gd/app/cmd/DoorCloseCommand.java @@ -22,15 +22,13 @@ import java.util.concurrent.CompletableFuture; @CommandMapping("door_close")//业务指令注解 public class DoorCloseCommand extends BaseCommandHandler { private final DeviceCommandUtilService deviceCommandUtilService; - private final DevicePositionService devicePositionService; private final DeviceStateService deviceStateService; @Override public CompletableFuture handle(CmdDTO cmdDTO) { return runAsync(() -> { - Double doorOpenDistance = devicePositionService.getPosition(DevicePositionCode.doorClose).getDistance(); - deviceCommandUtilService.doorMove(cmdDTO.getCommandId(), cmdDTO.getCommand(), doorOpenDistance); + deviceCommandUtilService.doorOrigin(cmdDTO.getCommandId(), cmdDTO.getCommand()); deviceStateService.setDoorStatus(false); //TODO 关门口判断加液模块是否有托盘 }); diff --git a/src/main/java/com/iflytop/gd/app/cmd/MoveToHeatAreaCommand.java b/src/main/java/com/iflytop/gd/app/cmd/MoveToHeatAreaCommand.java index ffa7641..4a98492 100644 --- a/src/main/java/com/iflytop/gd/app/cmd/MoveToHeatAreaCommand.java +++ b/src/main/java/com/iflytop/gd/app/cmd/MoveToHeatAreaCommand.java @@ -70,6 +70,7 @@ public class MoveToHeatAreaCommand extends BaseCommandHandler { deviceCommandUtilService.gantryZMoveBy(cmdDTO.getCommandId(), cmdDTO.getCommand(), traySafetyHeight); //降下机械臂使拍子盖住托盘试管 trayState.setHeatModuleId(heatModuleId); trayState.setInHeatModule(true); + deviceStateService.setHeatModuleStateCapExist(heatModuleId, true); deviceCommandUtilService.clawMove(cmdDTO.getCommandId(), cmdDTO.getCommand(), clawCapPick);//将夹爪张开 deviceCommandUtilService.gantryZMoveBy(cmdDTO.getCommandId(), cmdDTO.getCommand(), -clawDescend);//抬升机械臂至托盘上方 gantryArmService.setLiquidIdleTrue();//释放加液区等待 diff --git a/src/main/java/com/iflytop/gd/app/cmd/debug/HoldingJawOpenCommandHandler.java b/src/main/java/com/iflytop/gd/app/cmd/debug/HoldingJawOpenCommandHandler.java index 767278b..c4a98f3 100644 --- a/src/main/java/com/iflytop/gd/app/cmd/debug/HoldingJawOpenCommandHandler.java +++ b/src/main/java/com/iflytop/gd/app/cmd/debug/HoldingJawOpenCommandHandler.java @@ -27,11 +27,17 @@ public class HoldingJawOpenCommandHandler extends BaseCommandHandler { @Override public CompletableFuture handle(CmdDTO cmdDTO) { this.stop = false; + Double velocity = cmdDTO.getDoubleParam("velocity"); + Double openDistance = cmdDTO.getDoubleParam("openDistance"); + Double closeDistance = cmdDTO.getDoubleParam("closeDistance"); + Integer times = cmdDTO.getIntegerParam("times"); + if(openDistance < 34 || openDistance > 54) { + throw new RuntimeException("openDistance must be between 34 and 54"); + } + if(closeDistance < 34 || closeDistance > 54) { + throw new RuntimeException("closeDistance must be between 34 and 54"); + } return runAsync(() -> { - Double velocity = cmdDTO.getDoubleParam("velocity"); - Double openDistance = cmdDTO.getDoubleParam("openDistance"); - Double closeDistance = cmdDTO.getDoubleParam("closeDistance"); - Integer times = cmdDTO.getIntegerParam("times"); if (velocity != null) { DeviceCommandBundle deviceCommand = DeviceCommandGenerator.clawSet(velocity); CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(cmdDTO.getCommandId(), cmdDTO.getCommand(), deviceCommand); diff --git a/src/main/java/com/iflytop/gd/app/core/device/TrayState.java b/src/main/java/com/iflytop/gd/app/core/device/TrayState.java index 8f0a61b..17d36ba 100644 --- a/src/main/java/com/iflytop/gd/app/core/device/TrayState.java +++ b/src/main/java/com/iflytop/gd/app/core/device/TrayState.java @@ -29,7 +29,9 @@ public class TrayState { public TrayState() { for (int i = 0; i < tubes.length; i++) { - tubes[i] = new TubeState(); + TubeState tubeState = new TubeState(); + tubeState.setTubeNum(i); + tubes[i] = tubeState; } } } diff --git a/src/main/java/com/iflytop/gd/app/service/CraftsStepService.java b/src/main/java/com/iflytop/gd/app/service/CraftsStepService.java index 32dbc6f..0704cb8 100644 --- a/src/main/java/com/iflytop/gd/app/service/CraftsStepService.java +++ b/src/main/java/com/iflytop/gd/app/service/CraftsStepService.java @@ -3,6 +3,7 @@ package com.iflytop.gd.app.service; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import com.iflytop.gd.app.core.CraftsDebugGenerator; +import com.iflytop.gd.app.core.device.TrayState; import com.iflytop.gd.app.model.bo.CraftsStep; import com.iflytop.gd.app.model.bo.Point3D; import com.iflytop.gd.common.enums.AcidPumpDeviceCode; @@ -24,6 +25,7 @@ public class CraftsStepService { private final ContainerService containerService; private final WebSocketService webSocketService; private final GantryArmService gantryArmService; + private final DeviceStateService deviceStateService; /** @@ -50,6 +52,7 @@ public class CraftsStepService { */ private boolean addLiquid(String heatId, JSONObject params) throws Exception { HeatModuleCode heatModuleId = HeatModuleCode.valueOf(heatId); + TrayState trayState = deviceStateService.getTrayInSolutionModule(); webSocketService.pushCraftsDebug(CraftsDebugGenerator.generateJson(heatId, "等待加液区空闲", null)); gantryArmService.waitLiquidIdle();//等待加液区空闲 @@ -59,6 +62,7 @@ public class CraftsStepService { double trayLift = devicePositionService.getPosition(DevicePositionCode.trayLift).getDistance(); //获取加热位抬升托盘位置 webSocketService.pushCraftsDebug(CraftsDebugGenerator.generateJson(heatId, "抬升加热位托盘", trayLift)); deviceCommandUtilService.heaterMotorMove(heatModuleId, trayLift);//抬升加热位托盘 + deviceStateService.setHeatModuleStateTrayStatus(heatModuleId, 2); //TODO 判断托盘是否有拍子 Point3D heatAreaCapClawPoint3D = deviceCommandUtilService.getHeatAreaCapClawPointPoint3D(heatModuleId);//获取托盘上方拍子点位 webSocketService.pushCraftsDebug(CraftsDebugGenerator.generateJson(heatId, "将机械臂移动至拍子上方", heatAreaCapClawPoint3D)); @@ -75,6 +79,7 @@ public class CraftsStepService { double capSafetyHeight = devicePositionService.getPosition(DevicePositionCode.capSafetyHeight).getDistance();//获取移动拍子的安全高度 webSocketService.pushCraftsDebug(CraftsDebugGenerator.generateJson(heatId, "机械臂提升至移动拍子的安全高度", -capSafetyHeight)); deviceCommandUtilService.gantryZMoveBy(-capSafetyHeight);//机械臂提升至移动拍子的安全高度 + deviceStateService.setHeatModuleStateCapExist(heatModuleId, false); webSocketService.pushCraftsDebug(CraftsDebugGenerator.generateJson(heatId, "下降拍子存放区1个位置", null)); deviceCommandUtilService.capMotorMove(-1); //下降拍子存放区1个位置 Point3D capStorageCapClawPoint3D = devicePositionService.getPosition(DevicePositionCode.capStorageCapClawPoint).getPoint3D();//获取拍子存放区上方点位; @@ -101,6 +106,8 @@ public class CraftsStepService { double traySafetyHeight = devicePositionService.getPosition(DevicePositionCode.traySafetyHeight).getDistance();//获取移动托盘的安全高度 webSocketService.pushCraftsDebug(CraftsDebugGenerator.generateJson(heatId, "机械臂提升至移动托盘的安全高度", -traySafetyHeight)); deviceCommandUtilService.gantryZMoveBy(-traySafetyHeight);//机械臂提升至移动托盘的安全高度 + deviceStateService.setHeatModuleStateTrayStatus(heatModuleId, 0); + trayState.setInHeatModule(false); Point3D liquidAreaTrayPoint3D = devicePositionService.getPosition(DevicePositionCode.liquidAreaTrayPoint).getPoint3D();//获取加液区托盘夹爪点 Point3D liquidAreaTraySafetyHeightPoint3D = new Point3D(liquidAreaTrayPoint3D.getX(), liquidAreaTrayPoint3D.getY(), liquidAreaTrayPoint3D.getZ() - traySafetyHeight);//加液区托盘点位上方加上移动托盘的安全高度 webSocketService.pushCraftsDebug(CraftsDebugGenerator.generateJson(heatId, "移动机械臂至加液区托盘点位上方减去移动托盘的安全高度", liquidAreaTraySafetyHeightPoint3D)); @@ -109,6 +116,8 @@ public class CraftsStepService { deviceCommandUtilService.gantryZMoveBy(traySafetyHeight);//下降机械臂将托盘与试管落入加液区 webSocketService.pushCraftsDebug(CraftsDebugGenerator.generateJson(heatId, "松开夹爪,放下托盘", clawTrayPick)); deviceCommandUtilService.clawMove(clawTrayPick);//松开夹爪,放下托盘 + deviceStateService.setSolutionModuleStateTrayStatus(1); + trayState.setInSolutionModule(true); webSocketService.pushCraftsDebug(CraftsDebugGenerator.generateJson(heatId, "抬升机械臂至托盘上方", -clawDescend)); deviceCommandUtilService.gantryZMoveBy(-clawDescend);//抬升机械臂至托盘上方 @@ -154,6 +163,7 @@ public class CraftsStepService { */ private boolean heating(String heatId, JSONObject params) throws Exception { HeatModuleCode heatModuleId = HeatModuleCode.valueOf(heatId); + TrayState trayState = deviceStateService.getTrayInSolutionModule(); //if 判断加液区是否有托盘 Point3D liquidAreaTrayPoint3D = devicePositionService.getPosition(DevicePositionCode.liquidAreaTrayPoint).getPoint3D();//获取加液区托盘夹爪点 @@ -171,6 +181,7 @@ public class CraftsStepService { double traySafetyHeight = devicePositionService.getPosition(DevicePositionCode.traySafetyHeight).getDistance();//获取移动托盘的安全高度 webSocketService.pushCraftsDebug(CraftsDebugGenerator.generateJson(heatId, "机械臂提升至移动托盘的安全高度", -traySafetyHeight)); deviceCommandUtilService.gantryZMoveBy(-traySafetyHeight);//机械臂提升至移动托盘的安全高度 + deviceStateService.setSolutionModuleStateTrayStatus(0); Point3D heatAreaTrayClawPoint3D = deviceCommandUtilService.getHeatAreaTrayClawPoint3D(heatModuleId);//获取指定托盘上方点位 Point3D heatAreaTrayClawSafetyHeightPoint3D = new Point3D(heatAreaTrayClawPoint3D.getX(), heatAreaTrayClawPoint3D.getY(), heatAreaTrayClawPoint3D.getZ() - traySafetyHeight);//加热区托盘点位上方减去移动托盘的安全高度 webSocketService.pushCraftsDebug(CraftsDebugGenerator.generateJson(heatId, "将携带托盘的机械臂移动至托盘上方", heatAreaTrayClawSafetyHeightPoint3D)); @@ -202,16 +213,21 @@ public class CraftsStepService { deviceCommandUtilService.gantryMove(heatAreaCapClawSafetyHeightPoint3D);//将机械臂移动至拍子上方加上移动拍子的安全高度 webSocketService.pushCraftsDebug(CraftsDebugGenerator.generateJson(heatId, "降下机械臂使拍子盖住托盘试管", traySafetyHeight)); deviceCommandUtilService.gantryZMoveBy(traySafetyHeight); //降下机械臂使拍子盖住托盘试管 + trayState.setHeatModuleId(heatModuleId); + trayState.setInHeatModule(true); + deviceStateService.setHeatModuleStateCapExist(heatModuleId, true); webSocketService.pushCraftsDebug(CraftsDebugGenerator.generateJson(heatId, "将夹爪张开", clawCapPick)); deviceCommandUtilService.clawMove(clawCapPick);//将夹爪张开 webSocketService.pushCraftsDebug(CraftsDebugGenerator.generateJson(heatId, "抬升机械臂至托盘上方", -clawDescend)); deviceCommandUtilService.gantryZMoveBy(-clawDescend);//抬升机械臂至托盘上方 webSocketService.pushCraftsDebug(CraftsDebugGenerator.generateJson(heatId, "释放加液区等待", null)); gantryArmService.setLiquidIdleTrue();//释放加液区等待 + deviceStateService.setHeatModuleStateTrayStatus(heatModuleId, 2); double trayLower = devicePositionService.getPosition(DevicePositionCode.trayLower).getDistance(); //获取加热位下降托盘位置 webSocketService.pushCraftsDebug(CraftsDebugGenerator.generateJson(heatId, "下降加热位托盘", trayLower)); deviceCommandUtilService.heaterMotorMove(heatModuleId, trayLower);//下降加热位托盘 + deviceStateService.setHeatModuleStateTrayStatus(heatModuleId, 1); //根据配置开始加热 Double temperature = params.getDouble("temperature"); Integer second = params.getInt("second"); @@ -231,6 +247,7 @@ public class CraftsStepService { */ private boolean takePhoto(String heatId) throws Exception { HeatModuleCode heatModuleId = HeatModuleCode.valueOf(heatId); + TrayState trayState = deviceStateService.getTrayInSolutionModule(); webSocketService.pushCraftsDebug(CraftsDebugGenerator.generateJson(heatId, "等待加液区空闲", null)); gantryArmService.waitLiquidIdle();//等待加液区空闲 @@ -240,6 +257,8 @@ public class CraftsStepService { double trayLift = devicePositionService.getPosition(DevicePositionCode.trayLift).getDistance(); //获取加热位抬升托盘位置 webSocketService.pushCraftsDebug(CraftsDebugGenerator.generateJson(heatId, "抬升加热位托盘", trayLift)); deviceCommandUtilService.heaterMotorMove(heatModuleId, trayLift);//抬升加热位托盘 + deviceStateService.setHeatModuleStateTrayStatus(heatModuleId, 2); + //TODO 判断托盘是否有拍子 Point3D heatAreaCapClawPoint3D = deviceCommandUtilService.getHeatAreaCapClawPointPoint3D(heatModuleId);//获取托盘上方拍子点位 webSocketService.pushCraftsDebug(CraftsDebugGenerator.generateJson(heatId, "将机械臂移动至拍子上方", heatAreaCapClawPoint3D)); @@ -257,6 +276,7 @@ public class CraftsStepService { webSocketService.pushCraftsDebug(CraftsDebugGenerator.generateJson(heatId, "机械臂提升至移动拍子的安全高度", -capSafetyHeight)); deviceCommandUtilService.gantryZMoveBy(-capSafetyHeight);//机械臂提升至移动拍子的安全高度 webSocketService.pushCraftsDebug(CraftsDebugGenerator.generateJson(heatId, "下降拍子存放区1个位置", null)); + deviceStateService.setHeatModuleStateCapExist(heatModuleId, false); deviceCommandUtilService.capMotorMove(-1); //下降拍子存放区1个位置 Point3D capStorageCapClawPoint3D = devicePositionService.getPosition(DevicePositionCode.capStorageCapClawPoint).getPoint3D();//获取拍子存放区上方点位; Point3D capStorageCapClawSafetyHeightPoint3D = new Point3D(capStorageCapClawPoint3D.getX(), capStorageCapClawPoint3D.getY(), capStorageCapClawPoint3D.getZ() - capSafetyHeight);//拍子存放区上方加上移动拍子的安全高度 @@ -282,6 +302,8 @@ public class CraftsStepService { double traySafetyHeight = devicePositionService.getPosition(DevicePositionCode.traySafetyHeight).getDistance();//获取移动托盘的安全高度 webSocketService.pushCraftsDebug(CraftsDebugGenerator.generateJson(heatId, "机械臂提升至移动托盘的安全高度", -traySafetyHeight)); deviceCommandUtilService.gantryZMoveBy(-traySafetyHeight);//机械臂提升至移动托盘的安全高度 + deviceStateService.setHeatModuleStateTrayStatus(heatModuleId, 0); + trayState.setInHeatModule(false); Point3D liquidAreaTrayPoint3D = devicePositionService.getPosition(DevicePositionCode.liquidAreaTrayPoint).getPoint3D();//获取加液区托盘夹爪点 Point3D liquidAreaTraySafetyHeightPoint3D = new Point3D(liquidAreaTrayPoint3D.getX(), liquidAreaTrayPoint3D.getY(), liquidAreaTrayPoint3D.getZ() - traySafetyHeight);//加液区托盘点位上方加上移动托盘的安全高度 webSocketService.pushCraftsDebug(CraftsDebugGenerator.generateJson(heatId, "移动机械臂至加液区托盘点位上方减去移动托盘的安全高度", liquidAreaTraySafetyHeightPoint3D)); @@ -290,6 +312,8 @@ public class CraftsStepService { deviceCommandUtilService.gantryZMoveBy(traySafetyHeight);//下降机械臂将托盘与试管落入加液区 webSocketService.pushCraftsDebug(CraftsDebugGenerator.generateJson(heatId, "松开夹爪,放下托盘", clawTrayPick)); deviceCommandUtilService.clawMove(clawTrayPick);//松开夹爪,放下托盘 + deviceStateService.setSolutionModuleStateTrayStatus(1); + trayState.setInSolutionModule(true); webSocketService.pushCraftsDebug(CraftsDebugGenerator.generateJson(heatId, "抬升机械臂至托盘上方", -clawDescend)); deviceCommandUtilService.gantryZMoveBy(-clawDescend);//抬升机械臂至托盘上方 webSocketService.pushCraftsDebug(CraftsDebugGenerator.generateJson(heatId, "开启补光灯", 100.0)); diff --git a/src/main/java/com/iflytop/gd/app/service/DeviceCommandService.java b/src/main/java/com/iflytop/gd/app/service/DeviceCommandService.java index b28050e..f97c6f0 100644 --- a/src/main/java/com/iflytop/gd/app/service/DeviceCommandService.java +++ b/src/main/java/com/iflytop/gd/app/service/DeviceCommandService.java @@ -123,6 +123,9 @@ public class DeviceCommandService { } }).start(); } + if (commandFuture.getCmdId() != null) { + webSocketService.pushDebug(DebugGenerator.generateJson(commandFuture.getCmdId(), commandFuture.getCmdCode(), CommandStatus.DEVICE_SEND, commandFuture.getDeviceCommandBundle().getCmdName() + "指令,已发给设备", commandFuture.getDeviceCommandBundle())); + } } @@ -135,7 +138,6 @@ public class DeviceCommandService { public CommandFuture sendCommand(String cmdId, String cmdCode, DeviceCommandBundle deviceCommandBundle) { CommandFuture commandFuture = createDeviceCommandFuture(cmdId, cmdCode, deviceCommandBundle); executeCommand(commandFuture); - webSocketService.pushDebug(DebugGenerator.generateJson(cmdId, cmdCode, CommandStatus.DEVICE_SEND, deviceCommandBundle.getCmdName() + "指令,已发给设备", deviceCommandBundle)); return commandFuture; } diff --git a/src/main/java/com/iflytop/gd/app/service/DeviceCommandUtilService.java b/src/main/java/com/iflytop/gd/app/service/DeviceCommandUtilService.java index 9a7574f..a9b2ab9 100644 --- a/src/main/java/com/iflytop/gd/app/service/DeviceCommandUtilService.java +++ b/src/main/java/com/iflytop/gd/app/service/DeviceCommandUtilService.java @@ -30,6 +30,22 @@ public class DeviceCommandUtilService { private final GDDeviceStatusService gdDeviceStatusService; /** + * 门电机回原点 + */ + public void doorOrigin() throws Exception { + doorOrigin(null, null); + } + + /** + * 门电机回原点 + */ + public void doorOrigin(String cmdId, String cmdCode) throws Exception { + DeviceCommandBundle deviceCommand = DeviceCommandGenerator.doorOrigin(); + CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(cmdId, cmdCode, deviceCommand); + commandWait(deviceCommandFuture); + } + + /** * 门电机移动 */ public void doorMove(double position) throws Exception { diff --git a/src/main/java/com/iflytop/gd/common/enums/data/DevicePositionCode.java b/src/main/java/com/iflytop/gd/common/enums/data/DevicePositionCode.java index 080223e..e838c43 100644 --- a/src/main/java/com/iflytop/gd/common/enums/data/DevicePositionCode.java +++ b/src/main/java/com/iflytop/gd/common/enums/data/DevicePositionCode.java @@ -47,11 +47,6 @@ public enum DevicePositionCode { doorOpen(DevicePositionType.DISTANCE, "开门距离"), /** - * 关门距离 - */ - doorClose(DevicePositionType.DISTANCE, "关门距离"), - - /** * 托盘抬升距离 */ trayLift(DevicePositionType.DISTANCE, "托盘抬升距离"), @@ -158,12 +153,7 @@ public enum DevicePositionCode { /** * 加热区6拍子夹爪点 */ - heatArea6CapClawPoint(DevicePositionType.POINT_3D, "加热区6拍子夹爪点"), - - /** - * 拍子存放区夹爪点 - */ - capStorageClawPoint(DevicePositionType.POINT_3D, "拍子存放区夹爪点"); + heatArea6CapClawPoint(DevicePositionType.POINT_3D, "加热区6拍子夹爪点"); private final DevicePositionType type; diff --git a/src/main/java/com/iflytop/gd/hardware/constants/MiniServoConstant.java b/src/main/java/com/iflytop/gd/hardware/constants/MiniServoConstant.java index 02203a6..ad88b1a 100644 --- a/src/main/java/com/iflytop/gd/hardware/constants/MiniServoConstant.java +++ b/src/main/java/com/iflytop/gd/hardware/constants/MiniServoConstant.java @@ -6,7 +6,7 @@ import org.springframework.util.Assert; import java.util.Map; public class MiniServoConstant { - static public final Integer actionOvertime = 10000; + static public final Integer actionOvertime = 20000; static class MiniServoFixPosConfig { public Integer zeroPos; public Integer refPos; diff --git a/src/main/java/com/iflytop/gd/hardware/drivers/MiniServoDriver/ClawDriver.java b/src/main/java/com/iflytop/gd/hardware/drivers/MiniServoDriver/ClawDriver.java index 51fb6ae..ebf4988 100644 --- a/src/main/java/com/iflytop/gd/hardware/drivers/MiniServoDriver/ClawDriver.java +++ b/src/main/java/com/iflytop/gd/hardware/drivers/MiniServoDriver/ClawDriver.java @@ -16,8 +16,8 @@ public class ClawDriver { private static final double MIN_DISTANCE = 34.0; private static final double MAX_DISTANCE = 54.0; - private static double MIN_SERVO_POSITION = 1920; - private static double MAX_SERVO_POSITION = 3000; + private static double MIN_SERVO_POSITION = 2600; + private static double MAX_SERVO_POSITION = 3680; private final MiniServoDriver miniServoDriver; diff --git a/src/main/resources/init/zapp_sub_module_reg_initial_value.csv b/src/main/resources/init/zapp_sub_module_reg_initial_value.csv index cf11676..1f8b165 100644 --- a/src/main/resources/init/zapp_sub_module_reg_initial_value.csv +++ b/src/main/resources/init/zapp_sub_module_reg_initial_value.csv @@ -47,7 +47,6 @@ id,mid,regIndex,regInitVal 46,DualRobotAxis2SV,kreg_mini_servo_servo_protect_time,200 47,DualRobotAxis2SV,kreg_mini_servo_servo_overload_torque,80 48,DualRobotAxis2SV,kreg_mini_servo_servo_acc,0 -49,LiquidDistributionArm,kreg_liquid_distribution_arm_enable,0 50,LiquidDistributionArm,kreg_liquid_distribution_arm_pos0_d0,466 51,LiquidDistributionArm,kreg_liquid_distribution_arm_pos0_d1,992 52,LiquidDistributionArm,kreg_liquid_distribution_arm_pos1_d0,616 @@ -85,27 +84,27 @@ id,mid,regIndex,regInitVal 84,DoorM,kreg_step_motor_shaft,0 85,DoorM,kreg_step_motor_one_circle_pulse,500 86,DoorM,kreg_step_motor_one_circle_pulse_denominator,1 -87,DoorM,kreg_step_motor_default_velocity,30 +87,DoorM,kreg_step_motor_default_velocity,80 88,DoorM,kreg_step_motor_low_velocity,30 89,DoorM,kreg_step_motor_mid_velocity,30 90,DoorM,kreg_step_motor_high_velocity,30 -91,DoorM,kreg_step_motor_ihold,5 -92,DoorM,kreg_step_motor_irun,15 +91,DoorM,kreg_step_motor_ihold,15 +92,DoorM,kreg_step_motor_irun,31 93,DoorM,kreg_step_motor_iholddelay,10 -94,DoorM,kreg_step_motor_iglobalscaler,0 +94,DoorM,kreg_step_motor_iglobalscaler,80 95,DoorM,kreg_step_motor_mres,0 96,DoorM,kreg_step_motor_run_to_zero_speed,30 97,DoorM,kreg_step_motor_look_zero_edge_speed,30 98,DoorM,kreg_step_motor_max_d,0 99,DoorM,kreg_step_motor_min_d,0 100,DoorM,kreg_step_motor_in_debug_mode,0 -101,DoorM,kreg_step_motor_vstart,100 +101,DoorM,kreg_step_motor_vstart,50 102,DoorM,kreg_step_motor_a1,50 -103,DoorM,kreg_step_motor_amax,100 -104,DoorM,kreg_step_motor_v1,300 -105,DoorM,kreg_step_motor_dmax,100 +103,DoorM,kreg_step_motor_amax,50 +104,DoorM,kreg_step_motor_v1,50 +105,DoorM,kreg_step_motor_dmax,50 106,DoorM,kreg_step_motor_d1,50 -107,DoorM,kreg_step_motor_vstop,100 +107,DoorM,kreg_step_motor_vstop,50 108,DoorM,kreg_step_motor_tzerowait,0 109,DoorM,kreg_step_motor_enc_resolution,0 110,DoorM,kreg_step_motor_enable_enc,0 @@ -115,27 +114,27 @@ id,mid,regIndex,regInitVal 114,ShakeM,kreg_step_motor_shaft,1 115,ShakeM,kreg_step_motor_one_circle_pulse,100 116,ShakeM,kreg_step_motor_one_circle_pulse_denominator,1 -117,ShakeM,kreg_step_motor_default_velocity,500 +117,ShakeM,kreg_step_motor_default_velocity,240 118,ShakeM,kreg_step_motor_low_velocity,0 119,ShakeM,kreg_step_motor_mid_velocity,0 120,ShakeM,kreg_step_motor_high_velocity,0 121,ShakeM,kreg_step_motor_ihold,5 -122,ShakeM,kreg_step_motor_irun,10 +122,ShakeM,kreg_step_motor_irun,31 123,ShakeM,kreg_step_motor_iholddelay,10 -124,ShakeM,kreg_step_motor_iglobalscaler,0 +124,ShakeM,kreg_step_motor_iglobalscaler,64 125,ShakeM,kreg_step_motor_mres,0 126,ShakeM,kreg_step_motor_run_to_zero_speed,100 127,ShakeM,kreg_step_motor_look_zero_edge_speed,100 128,ShakeM,kreg_step_motor_max_d,0 129,ShakeM,kreg_step_motor_min_d,0 130,ShakeM,kreg_step_motor_in_debug_mode,0 -131,ShakeM,kreg_step_motor_vstart,100 -132,ShakeM,kreg_step_motor_a1,50 -133,ShakeM,kreg_step_motor_amax,100 -134,ShakeM,kreg_step_motor_v1,300 -135,ShakeM,kreg_step_motor_dmax,100 -136,ShakeM,kreg_step_motor_d1,50 -137,ShakeM,kreg_step_motor_vstop,100 +131,ShakeM,kreg_step_motor_vstart,50 +132,ShakeM,kreg_step_motor_a1,10 +133,ShakeM,kreg_step_motor_amax,15 +134,ShakeM,kreg_step_motor_v1,150 +135,ShakeM,kreg_step_motor_dmax,15 +136,ShakeM,kreg_step_motor_d1,10 +137,ShakeM,kreg_step_motor_vstop,50 138,ShakeM,kreg_step_motor_tzerowait,0 139,ShakeM,kreg_step_motor_enc_resolution,0 140,ShakeM,kreg_step_motor_enable_enc,0 @@ -145,27 +144,27 @@ id,mid,regIndex,regInitVal 144,CapStorageM,kreg_step_motor_shaft,1 145,CapStorageM,kreg_step_motor_one_circle_pulse,500 146,CapStorageM,kreg_step_motor_one_circle_pulse_denominator,1 -147,CapStorageM,kreg_step_motor_default_velocity,500 +147,CapStorageM,kreg_step_motor_default_velocity,200 148,CapStorageM,kreg_step_motor_low_velocity,0 149,CapStorageM,kreg_step_motor_mid_velocity,0 150,CapStorageM,kreg_step_motor_high_velocity,0 151,CapStorageM,kreg_step_motor_ihold,5 -152,CapStorageM,kreg_step_motor_irun,20 +152,CapStorageM,kreg_step_motor_irun,31 153,CapStorageM,kreg_step_motor_iholddelay,10 -154,CapStorageM,kreg_step_motor_iglobalscaler,0 +154,CapStorageM,kreg_step_motor_iglobalscaler,128 155,CapStorageM,kreg_step_motor_mres,0 156,CapStorageM,kreg_step_motor_run_to_zero_speed,100 157,CapStorageM,kreg_step_motor_look_zero_edge_speed,100 158,CapStorageM,kreg_step_motor_max_d,0 159,CapStorageM,kreg_step_motor_min_d,0 160,CapStorageM,kreg_step_motor_in_debug_mode,0 -161,CapStorageM,kreg_step_motor_vstart,100 +161,CapStorageM,kreg_step_motor_vstart,10 162,CapStorageM,kreg_step_motor_a1,50 -163,CapStorageM,kreg_step_motor_amax,100 -164,CapStorageM,kreg_step_motor_v1,300 -165,CapStorageM,kreg_step_motor_dmax,100 +163,CapStorageM,kreg_step_motor_amax,50 +164,CapStorageM,kreg_step_motor_v1,100 +165,CapStorageM,kreg_step_motor_dmax,50 166,CapStorageM,kreg_step_motor_d1,50 -167,CapStorageM,kreg_step_motor_vstop,100 +167,CapStorageM,kreg_step_motor_vstop,10 168,CapStorageM,kreg_step_motor_tzerowait,0 169,CapStorageM,kreg_step_motor_enc_resolution,0 170,CapStorageM,kreg_step_motor_enable_enc,0 @@ -244,7 +243,7 @@ id,mid,regIndex,regInitVal 243,HBotZM,kreg_step_motor_iholddelay,10 244,HBotZM,kreg_step_motor_iglobalscaler,0 245,HBotZM,kreg_step_motor_mres,0 -246,HBotZM,kreg_step_motor_run_to_zero_speed,100 +246,HBotZM,kreg_step_motor_run_to_zero_speed,200 247,HBotZM,kreg_step_motor_look_zero_edge_speed,100 248,HBotZM,kreg_step_motor_max_d,0 249,HBotZM,kreg_step_motor_min_d,0 @@ -265,7 +264,7 @@ id,mid,regIndex,regInitVal 264,Heater1M,kreg_step_motor_shaft,1 265,Heater1M,kreg_step_motor_one_circle_pulse,400 266,Heater1M,kreg_step_motor_one_circle_pulse_denominator,1 -267,Heater1M,kreg_step_motor_default_velocity,500 +267,Heater1M,kreg_step_motor_default_velocity,800 268,Heater1M,kreg_step_motor_low_velocity,0 269,Heater1M,kreg_step_motor_mid_velocity,0 270,Heater1M,kreg_step_motor_high_velocity,0 @@ -682,3 +681,11 @@ id,mid,regIndex,regInitVal 681,AcidPump8M,kreg_step_motor_dzero_pos,0 682,AcidPump8M,kret_step_motor_pos_devi_tolerance,0 683,AcidPump8M,kret_step_motor_io_trigger_append_distance,0 +684,MainXSV,kreg_leisai_servo_default_velocity,1500 +685,MainXSV,kreg_leisai_servo_low_velocity,1500 +686,MainXSV,kreg_leisai_servo_mid_velocity,1500 +687,MainXSV,kreg_leisai_servo_high_velocity,1500 +688,MainYSV,kreg_leisai_servo_default_velocity,1500 +689,MainYSV,kreg_leisai_servo_low_velocity,1500 +690,MainYSV,kreg_leisai_servo_mid_velocity,1500 +691,MainYSV,kreg_leisai_servo_high_velocity,1500 \ No newline at end of file