Browse Source

update

tags/v0
zhaohe 10 months ago
parent
commit
15497c9caa
  1. 2
      src/main/java/a8k/extapi_controler/pagecontrol/ExtApiTabConfig.java
  2. 6
      src/main/java/a8k/service/app/appctrl/mainflowctrl/action/DO_START.java
  3. 8
      src/main/java/a8k/service/app/appctrl/mainflowctrl/action/SEQ1_ENTER_TUBEHOLDER_AND_SCAN.java
  4. 8
      src/main/java/a8k/service/app/appctrl/mainflowctrl/action/SEQ2_SWITCH_TO_THE_NEXT_TUBE.java
  5. 4
      src/main/java/a8k/service/app/appctrl/mainflowctrl/action/SEQ4_PRE_PROCESS.java
  6. 4
      src/main/java/a8k/service/app/appctrl/mainflowctrl/action/SEQ7_EJECT_TUBEHOLDER.java
  7. 4
      src/main/java/a8k/service/app/devicedriver/basectrl/TubeTransportControler.java
  8. 81
      src/main/java/a8k/service/app/devicedriver/calibration/TubePreProcesPosCalibration.java
  9. 13
      src/main/java/a8k/service/app/devicedriver/calibration/TubeScanPosCalibration.java
  10. 33
      src/main/java/a8k/service/app/devicedriver/ctrl/TubePreProcesControler.java
  11. 17
      src/main/java/a8k/service/app/devicedriver/ctrl/TubeTubeFeedingModule.java
  12. 9
      src/main/java/a8k/service/app/devicedriver/pos/TubeFeedingModulePosMgr.java
  13. 6
      src/main/java/a8k/service/app/devicedriver/pos/TubePreProcesPosMgr.java
  14. 4
      src/main/java/a8k/service/app/devicedriver/testscript/TestScript.java

2
src/main/java/a8k/extapi_controler/pagecontrol/ExtApiTabConfig.java

@ -33,7 +33,7 @@ public enum ExtApiTabConfig {
ReactionPlatesTransmitCtrl("ReactionPlatesTransmitCtrl", false),
HbotControlService("HbotControlService", false),
TubePreProcesControler("硬件控制.样本预处理模块", false),
TubeScanerControler("硬件控制.样本搬运与扫描", false),
TubeTubeFeedingModule("硬件控制.入料模块", false),
ConsumablesScanCtrlService("硬件控制.耗材扫描", false),

6
src/main/java/a8k/service/app/appctrl/mainflowctrl/action/DO_START.java

@ -6,7 +6,7 @@ import a8k.service.app.appstate.GStateService;
import a8k.service.app.appstate.resource.A8kPublicResourceType;
import a8k.service.app.appstate.type.MainFlowCtrlState;
import a8k.service.app.appstate.type.state.A8kWorkState;
import a8k.service.app.devicedriver.ctrl.TubeScanerControler;
import a8k.service.app.devicedriver.ctrl.TubeTubeFeedingModule;
import a8k.service.debug.AppDebugHelperService;
import a8k.type.exception.AppException;
import jakarta.annotation.PostConstruct;
@ -29,7 +29,7 @@ public class DO_START extends A8kStepAction {
GStateService gstate;
@Resource
TubeScanerControler tubeScanerControler;
TubeTubeFeedingModule tubeTubeFeedingModule;
@Resource
AppDebugHelperService appDebugHelper;
@ -47,7 +47,7 @@ public class DO_START extends A8kStepAction {
if (appDebugHelper.isDebug()) {
appDebugHelper.doVirtualThings("弹出试管架", 2);
} else {
tubeScanerControler.ejectTubeHolder();
tubeTubeFeedingModule.ejectTubeHolder();
}
}

8
src/main/java/a8k/service/app/appctrl/mainflowctrl/action/SEQ1_ENTER_TUBEHOLDER_AND_SCAN.java

@ -15,7 +15,7 @@ import a8k.service.app.appstate.resource.A8kPublicResourceType;
import a8k.service.app.appstate.type.TubeHolder;
import a8k.service.app.appstate.type.state.TubeHolderState;
import a8k.service.app.appstate.type.state.TubeState;
import a8k.service.app.devicedriver.ctrl.TubeScanerControler;
import a8k.service.app.devicedriver.ctrl.TubeTubeFeedingModule;
import a8k.service.debug.AppDebugHelperService;
import a8k.type.TubeHolderScanResult;
import a8k.type.exception.AppException;
@ -47,11 +47,11 @@ public class SEQ1_ENTER_TUBEHOLDER_AND_SCAN extends A8kStepAction {
@Resource
CondtionMgrService cmgr;
CondtionMgrService cmgr;
@Resource
TubeScanerControler stc;
TubeTubeFeedingModule stc;
@Resource
AppEventBusService ebus;
AppEventBusService ebus;
@Resource
AppTubeSettingMgrService appTubeSettingMgrService;
@Resource

8
src/main/java/a8k/service/app/appctrl/mainflowctrl/action/SEQ2_SWITCH_TO_THE_NEXT_TUBE.java

@ -9,7 +9,7 @@ import a8k.service.app.appstate.type.MainFlowCtrlState;
import a8k.service.app.appstate.type.TubeHolder;
import a8k.service.app.appstate.type.Tube;
import a8k.service.app.appstate.type.state.TubeState;
import a8k.service.app.devicedriver.ctrl.TubeScanerControler;
import a8k.service.app.devicedriver.ctrl.TubeTubeFeedingModule;
import a8k.service.debug.AppDebugHelperService;
import a8k.type.exception.AppException;
import jakarta.annotation.PostConstruct;
@ -39,11 +39,11 @@ public class SEQ2_SWITCH_TO_THE_NEXT_TUBE extends A8kStepAction {
}
@Resource
GStateService gstate;
GStateService gstate;
@Resource
TubeScanerControler sstc;
TubeTubeFeedingModule sstc;
@Resource
CondtionMgrService cms;
CondtionMgrService cms;
@Resource
ProjectProcessContextMgrService projectProcessContextMgrService;

4
src/main/java/a8k/service/app/appctrl/mainflowctrl/action/SEQ4_PRE_PROCESS.java

@ -13,7 +13,7 @@ import a8k.service.app.appstate.resource.A8kPublicResourceType;
import a8k.service.app.appstate.type.Tube;
import a8k.service.app.devicedriver.basectrl.HbotBaseMoveControler;
import a8k.service.app.devicedriver.ctrl.ReactionPlatesTransmitCtrl;
import a8k.service.app.devicedriver.ctrl.TubeScanerControler;
import a8k.service.app.devicedriver.ctrl.TubeTubeFeedingModule;
import a8k.service.app.devicedriver.ctrl.TubePreProcesControler;
import a8k.type.ecode.AppError;
import a8k.type.exception.AppException;
@ -46,7 +46,7 @@ public class SEQ4_PRE_PROCESS extends A8kStepAction {
GStateService gstate;
@Resource
TubeScanerControler sstc;
TubeTubeFeedingModule sstc;
@Resource
ConsumablesMgrService consumablesMgrService;
@Resource

4
src/main/java/a8k/service/app/appctrl/mainflowctrl/action/SEQ7_EJECT_TUBEHOLDER.java

@ -7,7 +7,7 @@ import a8k.service.app.appstate.GStateService;
import a8k.service.app.appstate.type.MainFlowCtrlState;
import a8k.service.app.appstate.resource.A8kPublicResourceType;
import a8k.service.app.appstate.type.state.TubeHolderState;
import a8k.service.app.devicedriver.ctrl.TubeScanerControler;
import a8k.service.app.devicedriver.ctrl.TubeTubeFeedingModule;
import a8k.service.debug.AppDebugHelperService;
import a8k.type.exception.AppException;
import jakarta.annotation.PostConstruct;
@ -34,7 +34,7 @@ public class SEQ7_EJECT_TUBEHOLDER extends A8kStepAction {
AppDebugHelperService appDebugHelper;
@Resource
TubeScanerControler SST_HControler;
TubeTubeFeedingModule SST_HControler;
MainFlowCtrlState state;

4
src/main/java/a8k/service/app/devicedriver/basectrl/TubeTransportControler.java

@ -6,7 +6,7 @@ import a8k.hardware.type.a8kcanprotocol.A8kEcode;
import a8k.hardware.type.a8kcanprotocol.MId;
import a8k.service.app.devicedriver.basectrl.type.MiniServoMId;
import a8k.service.app.devicedriver.basectrl.type.StepMotorMId;
import a8k.service.app.devicedriver.pos.TubeScanPosMgr;
import a8k.service.app.devicedriver.pos.TubeFeedingModulePosMgr;
import a8k.type.TargetPosMeasureDirection;
import a8k.type.exception.AppException;
import jakarta.annotation.Resource;
@ -25,7 +25,7 @@ public class TubeTransportControler {
MiniServoControler miniServoControler;
@Resource
TubeScanPosMgr tubeScanPosMgr;
TubeFeedingModulePosMgr tubeScanPosMgr;
@Resource
StepMotorControler stepMotorControler;

81
src/main/java/a8k/service/app/devicedriver/calibration/TubePreProcesPosCalibration.java

@ -9,31 +9,42 @@ import a8k.service.app.devicedriver.basectrl.MiniServoControler;
import a8k.service.app.devicedriver.basectrl.StepMotorControler;
import a8k.service.app.devicedriver.basectrl.type.MiniServoMId;
import a8k.service.app.devicedriver.basectrl.type.StepMotorMId;
import a8k.service.app.devicedriver.ctrl.TubePreProcesControler;
import a8k.service.app.devicedriver.pos.TubePreProcesPosMgr;
import a8k.type.exception.AppException;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Component;
@ExtApiTab(cfg = ExtApiTabConfig.TubeScanPosCalibration)
@ExtApiTab(cfg = ExtApiTabConfig.TubePreProcesPosCalibration)
@Component
public class TubePreProcesPosCalibration {
final static Integer overtime = 6000;
@Resource
TubePreProcesPosMgr tubePreProcesPosMgr;
@Resource
A8kCanBusService canBus;
A8kCanBusService canBus;
@Resource
MiniServoControler miniServoControler;
@Resource
MiniServoControler miniServoControler;
StepMotorControler stepMotorControler;
@Resource
StepMotorControler stepMotorControler;
TubePreProcesControler tubePreProcesControler;
//基础工具
@ExtApiFn(name = "归零", group = "测试工具", order = 11)
public void deviceReset() throws AppException {
enableModule();
stepMotorControler.stepMotorEasyMoveToZeroBlock(StepMotorMId.FeedingModXM, 15000);
miniServoControler.miniServoMoveToBlock(MiniServoMId.ShakeModTubeScanerClampingSV, 20, overtime);
miniServoControler.miniServoMoveToBlock(MiniServoMId.ShakeModGripperSV, 300, overtime);
miniServoControler.miniServoMoveToBlock(MiniServoMId.ShakeModGripperYSV, 300, overtime);
stepMotorControler.stepMotorEasyMoveToZeroBlock(StepMotorMId.ShakeModClampingM, overtime);
stepMotorControler.stepMotorEasyMoveToZeroBlock(StepMotorMId.ShakeModGripperZM, overtime);
stepMotorControler.stepMotorEasyMoveToZeroBlock(StepMotorMId.ShakeModShakeM, overtime);
stepMotorControler.stepMotorEasyMoveToBlock(StepMotorMId.ShakeModShakeM, 90, overtime);
}
@ExtApiFn(name = "使能相关模块", group = "测试工具", order = 12)
@ -43,18 +54,70 @@ public class TubePreProcesPosCalibration {
stepMotorControler.stepMotorEnable(StepMotorMId.ShakeModClampingM, 1);
stepMotorControler.stepMotorEnable(StepMotorMId.ShakeModGripperZM, 1);
stepMotorControler.stepMotorEnable(StepMotorMId.ShakeModShakeM, 1);
stepMotorControler.stepMotorEnable(StepMotorMId.FeedingModXM, 1);
}
@ExtApiFn(name = "失能相关模块", group = "测试工具", order = 13)
public void disableModule() throws AppException {
stepMotorControler.stepMotorEnable(StepMotorMId.FeedingModInfeedM, 0);
stepMotorControler.stepMotorEnable(StepMotorMId.FeedingModOutfeedM, 0);
miniServoControler.miniServoEnable(MiniServoMId.ShakeModGripperSV, 0);
miniServoControler.miniServoEnable(MiniServoMId.ShakeModGripperYSV, 0);
stepMotorControler.stepMotorEnable(StepMotorMId.ShakeModClampingM, 0);
stepMotorControler.stepMotorEnable(StepMotorMId.ShakeModGripperZM, 0);
stepMotorControler.stepMotorEnable(StepMotorMId.ShakeModShakeM, 0);
stepMotorControler.stepMotorEnable(StepMotorMId.FeedingModXM, 0);
miniServoControler.miniServoEnable(MiniServoMId.ShakeModTubeScanerClampingSV, 0);
}
@ExtApiFn(name = "读取夹爪当前位置", group = "测试工具", order = 13)
public Integer readGripperPos() throws AppException {
return miniServoControler.miniServoReadPos(MiniServoMId.ShakeModGripperSV);
}
//标定和校准
//夹爪 : 设置参考点,标定,验证
//YSV : 设置参考点,标定,验证
//ZM : 标定,验证
//XProcessPos: 标定,验证
//ShakeClamp : 标定,校验
//标定和校准
@ExtApiFn(name = "设置当前位置为<参考点>", group = "夹爪", order = 21)
public Integer gripperSVSetCurrentPosAsRef() throws AppException {
miniServoControler.miniServoSetCurPos(MiniServoMId.ShakeModGripperSV, 100);
return 100;
}
@ExtApiFn(name = "<标定>当前点为<抓手张开位置>", group = "夹爪", order = 22)
public Integer gripperSVSetCurrentPosAsOpenPos() throws AppException {
Integer pos = miniServoControler.miniServoReadPos(MiniServoMId.ShakeModGripperSV);
tubePreProcesPosMgr.setGripperServoOpenPos(pos);
return pos;
}
@ExtApiFn(name = "<标定>当前点为<抓手闭合位置>", group = "夹爪", order = 23)
public Integer gripperSVSetCurrentPosAsClosePos() throws AppException {
Integer pos = miniServoControler.miniServoReadPos(MiniServoMId.ShakeModGripperSV);
tubePreProcesPosMgr.setGripperServoClosePos(pos);
return pos;
}
@ExtApiFn(name = "<标定>当前点为<抓手取试管位置>", group = "夹爪", order = 24)
public Integer gripperSVSetCurrentPosAsTakeCapPos() throws AppException {
Integer pos = miniServoControler.miniServoReadPos(MiniServoMId.ShakeModGripperSV);
tubePreProcesPosMgr.setGripperServoTakeCapPos(pos);
return pos;
}
@ExtApiFn(name = "<校验>张开", group = "夹爪", order = 26)
public void gripperSVOpen() throws AppException {
tubePreProcesControler.gripperSVOpen();
}
@ExtApiFn(name = "<校验>夹紧", group = "夹爪", order = 25)
public void gripperSVCClose() throws AppException {
tubePreProcesControler.gripperSVCClose();
}
@ExtApiFn(name = "<校验>夹住试管", group = "夹爪", order = 25)
public void gripperSVClampTube() throws AppException {
tubePreProcesControler.gripperSVClampTube();
}
}

13
src/main/java/a8k/service/app/devicedriver/calibration/TubeScanPosCalibration.java

@ -4,14 +4,13 @@ import a8k.extapi_controler.pagecontrol.ExtApiTabConfig;
import a8k.extapi_controler.utils.ExtApiFn;
import a8k.extapi_controler.utils.ExtApiTab;
import a8k.hardware.A8kCanBusService;
import a8k.hardware.type.a8kcanprotocol.MId;
import a8k.service.app.devicedriver.basectrl.MiniServoControler;
import a8k.service.app.devicedriver.basectrl.StepMotorControler;
import a8k.service.app.devicedriver.basectrl.TubeTransportControler;
import a8k.service.app.devicedriver.basectrl.type.MiniServoMId;
import a8k.service.app.devicedriver.basectrl.type.StepMotorMId;
import a8k.service.app.devicedriver.ctrl.TubeScanerControler;
import a8k.service.app.devicedriver.pos.TubeScanPosMgr;
import a8k.service.app.devicedriver.ctrl.TubeTubeFeedingModule;
import a8k.service.app.devicedriver.pos.TubeFeedingModulePosMgr;
import a8k.type.TubeHolderScanResult;
import a8k.type.exception.AppException;
import jakarta.annotation.Resource;
@ -23,12 +22,12 @@ import org.springframework.stereotype.Component;
public class TubeScanPosCalibration {
@Resource
TubeScanPosMgr tubeScanPosMgr;
TubeFeedingModulePosMgr tubeScanPosMgr;
@Resource
A8kCanBusService canBus;
@Resource
TubeScanerControler tubeScanerControler;
TubeTubeFeedingModule tubeTubeFeedingModule;
@Resource
TubeTransportControler tubeTransportControler;
@Resource
@ -43,7 +42,7 @@ public class TubeScanPosCalibration {
}
@ExtApiFn(name = "获取所有坐标", group = "基础", order = 1)
public TubeScanPosMgr getPoss() throws AppException {
public TubeFeedingModulePosMgr getPoss() throws AppException {
return tubeScanPosMgr;
}
@ -120,7 +119,7 @@ public class TubeScanPosCalibration {
@ExtApiFn(name = "扫描试管架", group = "校验", order = 33)
public TubeHolderScanResult scanAll() throws AppException {
return tubeScanerControler.scanTubeHodler();
return tubeTubeFeedingModule.scanTubeHodler();
}
@ExtApiFn(name = "设置<试管扫描伺服力矩(100-1000)>", group = "其他", order = 41)

33
src/main/java/a8k/service/app/devicedriver/ctrl/TubePreProcesControler.java

@ -7,6 +7,7 @@ import a8k.service.app.devicedriver.basectrl.MiniServoControler;
import a8k.service.app.devicedriver.basectrl.StepMotorControler;
import a8k.service.app.devicedriver.basectrl.type.MiniServoMId;
import a8k.service.app.devicedriver.basectrl.type.StepMotorMId;
import a8k.service.app.devicedriver.pos.TubePreProcesPosMgr;
import a8k.type.exception.AppException;
import a8k.hardware.A8kCanBusService;
import a8k.hardware.type.a8kcanprotocol.A8kEcode;
@ -24,7 +25,8 @@ import org.springframework.stereotype.Component;
@Component
@ExtApiTab(cfg = ExtApiTabConfig.TubePreProcesControler)
public class TubePreProcesControler {
static Logger logger = LoggerFactory.getLogger(TubePreProcesControler.class);
static Logger logger = LoggerFactory.getLogger(TubePreProcesControler.class);
static Integer actionOvertime = 10000;
static class ORDER {
@ -48,6 +50,9 @@ public class TubePreProcesControler {
DebugParam dp;
@Resource
TubePreProcesPosMgr tubePreProcesPosMgr;
@Resource
MiniServoControler miniServoControler;
@Resource
StepMotorControler stepMotorControler;
@ -272,12 +277,24 @@ public class TubePreProcesControler {
}
}
// /**
// * 移动试管到试管预处理的位置
// * @param tubeIndex 试管索引
// */
// public void moveTubeToPreProcessPos(Integer tubeIndex) throws AppException {
// moveTubeRackTo(stp.getTPreProcessXPos() + tubeIndex * tubeHolderParamMgr.getTubeSpacing(), TargetPosMeasureDirection.POSITIVE, false);
// }
// /**
// * 移动试管到试管预处理的位置
// * @param tubeIndex 试管索引
// */
// public void moveTubeToPreProcessPos(Integer tubeIndex) throws AppException {
// moveTubeRackTo(stp.getTPreProcessXPos() + tubeIndex * tubeHolderParamMgr.getTubeSpacing(), TargetPosMeasureDirection.POSITIVE, false);
// }
// 677
public void gripperSVOpen() throws AppException {
miniServoControler.miniServoMoveToBlock(MiniServoMId.ShakeModGripperSV, tubePreProcesPosMgr.getGripperServoOpenPos(), actionOvertime);
}
public void gripperSVCClose() throws AppException {
miniServoControler.miniServoMoveToBlock(MiniServoMId.ShakeModGripperSV, tubePreProcesPosMgr.getGripperServoClosePos(), actionOvertime);
}
public void gripperSVClampTube() throws AppException {
miniServoControler.miniServoMoveToBlock(MiniServoMId.ShakeModGripperSV, tubePreProcesPosMgr.getGripperServoClosePos(), actionOvertime);
}
}

17
src/main/java/a8k/service/app/devicedriver/ctrl/TubeScanerControler.java → src/main/java/a8k/service/app/devicedriver/ctrl/TubeTubeFeedingModule.java

@ -10,7 +10,7 @@ import a8k.service.app.devicedriver.basectrl.StepMotorControler;
import a8k.service.app.devicedriver.basectrl.TubeTransportControler;
import a8k.service.app.devicedriver.basectrl.type.MiniServoMId;
import a8k.service.app.devicedriver.basectrl.type.StepMotorMId;
import a8k.service.app.devicedriver.pos.TubeScanPosMgr;
import a8k.service.app.devicedriver.pos.TubeFeedingModulePosMgr;
import a8k.service.app.devicedriver.pos.TubeHolderParamMgr;
import a8k.service.bases.AppEventBusService;
import a8k.service.bases.appevent.AppWarningNotifyEvent;
@ -28,9 +28,9 @@ import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@Component
@ExtApiTab(cfg = ExtApiTabConfig.TubeScanerControler)
public class TubeScanerControler {
static Logger logger = LoggerFactory.getLogger(TubeScanerControler.class);
@ExtApiTab(cfg = ExtApiTabConfig.TubeTubeFeedingModule)
public class TubeTubeFeedingModule {
static Logger logger = LoggerFactory.getLogger(TubeTubeFeedingModule.class);
static Integer infeedOvertime = 10000;
static Integer outfeedOvertime = 10000;
static Integer scanOvertime = 3000;
@ -47,11 +47,11 @@ public class TubeScanerControler {
@Resource
AppEventBusService ebus;
@Resource
A8kCanBusService canBus;
A8kCanBusService canBus;
@Resource
TubeScanPosMgr stp;
TubeFeedingModulePosMgr stp;
@Resource
TubeHolderParamMgr tubeHolderParamMgr;
TubeHolderParamMgr tubeHolderParamMgr;
@Resource
CodeScaner codeScaner;
@Resource
@ -104,12 +104,9 @@ public class TubeScanerControler {
public Boolean getTHchInterPPS() throws AppException {
return canBus.getIOState(IOId.THChInterPPS);
}
/*=========================================================================================
* 片段
*========================================================================================*/
/**
* 移动试管架到入口位置
*/

9
src/main/java/a8k/service/app/devicedriver/pos/TubeScanPosMgr.java → src/main/java/a8k/service/app/devicedriver/pos/TubeFeedingModulePosMgr.java

@ -10,11 +10,12 @@ import org.springframework.stereotype.Component;
@Component
public class TubeScanPosMgr {
static final Logger logger = LoggerFactory.getLogger(TubeScanPosMgr.class);
//horizontal scroll
public class TubeFeedingModulePosMgr {
static final Logger logger = LoggerFactory.getLogger(TubeFeedingModulePosMgr.class);
public final Integer ScanerClampingSVReleasePos = 100;
public final Integer ScanerClampingSVClampingPos = 1000;
public final Integer ScanerClampingSVReleasePos = 100;
public final Integer ScanerClampingSVClampingPos = 1000;
public enum POS {
TubeHolderEnterXPos, // 入料位置

6
src/main/java/a8k/service/app/devicedriver/pos/TubePreProcesPosMgr.java

@ -10,7 +10,7 @@ import org.springframework.stereotype.Component;
@Component
public class TubePreProcesPosMgr {
static final Logger logger = LoggerFactory.getLogger(TubeScanPosMgr.class);
static final Logger logger = LoggerFactory.getLogger(TubeFeedingModulePosMgr.class);
public enum POS {
GripperServoOpenPos("抓手张开位置"),//
@ -50,6 +50,10 @@ public class TubePreProcesPosMgr {
if (!nowParaVersion.equals(paraVersion)) {
logger.info("init param");
posReader.setVersion(nowParaVersion);
// 677,450,310,355
// 1800,
posReader.updatePos(POS.GripperServoOpenPos, 450);
posReader.updatePos(POS.GripperServoClosePos, 310);
posReader.updatePos(POS.GripperServoTakeCapPos, 355);

4
src/main/java/a8k/service/app/devicedriver/testscript/TestScript.java

@ -8,7 +8,7 @@ import a8k.type.ConsumableGroup;
import a8k.type.exception.AppException;
import a8k.type.IncubatorPos;
import a8k.service.app.devicedriver.ctrl.TubePreProcesControler;
import a8k.service.app.devicedriver.ctrl.TubeScanerControler;
import a8k.service.app.devicedriver.ctrl.TubeTubeFeedingModule;
import a8k.hardware.A8kCanBusService;
import a8k.hardware.type.a8kcanprotocol.A8kEcode;
import a8k.service.app.devicedriver.basectrl.HbotBaseMoveControler;
@ -61,7 +61,7 @@ public class TestScript {
TubePreProcesControler tubePreProcesControler;
@Resource
TubeScanerControler tubeScanerControler;
TubeTubeFeedingModule tubeTubeFeedingModule;
EnginnerParamReader settingReader = new EnginnerParamReader(HbotBaseMoveControler.class);

Loading…
Cancel
Save