Browse Source

update

tags/v0
zhaohe 10 months ago
parent
commit
f250e35dea
  1. BIN
      app.db
  2. 4
      src/main/java/a8k/service/app/appctrl/AppConsumablesScanService.java
  3. 14
      src/main/java/a8k/service/app/appctrl/AppDeviceCtrlService.java
  4. 4
      src/main/java/a8k/service/app/appctrl/AppMainFlowCtrlService.java
  5. 4
      src/main/java/a8k/service/app/appctrl/AppTubeSettingMgrService.java
  6. 10
      src/main/java/a8k/service/app/appctrl/mainflowctrl/action/SEQ1_ENTER_TUBEHOLDER_AND_SCAN.java
  7. 4
      src/main/java/a8k/service/app/appctrl/mainflowctrl/action/SEQ4_PRE_PROCESS.java
  8. 10
      src/main/java/a8k/service/app/devicedriver/basectrl/HbotBaseMoveControler.java
  9. 17
      src/main/java/a8k/service/app/devicedriver/basectrl/HbotModule.java
  10. 2
      src/main/java/a8k/service/app/devicedriver/basectrl/PipetteCtrlModule.java
  11. 16
      src/main/java/a8k/service/app/devicedriver/calibration/Hbot2DCodeScanPosCalibration.java
  12. 2
      src/main/java/a8k/service/app/devicedriver/commonctrl/HardwareCommonCtrl.java
  13. 4
      src/main/java/a8k/service/app/devicedriver/ctrl/ConsumablesScanCtrl.java
  14. 62
      src/main/java/a8k/service/app/devicedriver/ctrl/DeviceInitCtrlService.java
  15. 6
      src/main/java/a8k/service/app/devicedriver/testscript/TestScript.java
  16. 44
      src/main/java/a8k/service/debug/AppDebugHelperService.java
  17. 2
      src/main/java/a8k/type/CheckPointType.java

BIN
app.db

4
src/main/java/a8k/service/app/appctrl/ConsumablesScanService.java → src/main/java/a8k/service/app/appctrl/AppConsumablesScanService.java

@ -30,8 +30,8 @@ import java.util.List;
import java.util.Map;
@Component
public class ConsumablesScanService {
static Logger logger = org.slf4j.LoggerFactory.getLogger(ConsumablesScanService.class);
public class AppConsumablesScanService {
static Logger logger = org.slf4j.LoggerFactory.getLogger(AppConsumablesScanService.class);
@Autowired
private AppDebugHelperService appDebugHelperService;

14
src/main/java/a8k/service/app/appctrl/AppDeviceCtrlService.java

@ -1,22 +1,18 @@
package a8k.service.app.appctrl;
import a8k.OS;
import a8k.extapi_controler.pagecontrol.ExtApiTabConfig;
import a8k.extapi_controler.utils.ExtApiFn;
import a8k.extapi_controler.utils.ExtApiTab;
import a8k.service.app.appctrl.mainflowctrl.base.A8kStepAction;
import a8k.service.app.appstate.ConsumablesMgrService;
import a8k.service.app.appstate.ProjectProcessContextMgrService;
import a8k.service.app.appstate.type.*;
import a8k.service.app.appstate.type.state.OptScanModuleState;
import a8k.service.app.devicedriver.ctrl.DeviceInitCtrlService;
import a8k.service.debug.AppDebugHelperService;
import a8k.type.Consumable;
import a8k.type.ConsumableGroup;
import a8k.type.checkpoint.CheckResult;
import a8k.service.app.appstate.GStateService;
import a8k.type.consumables.ConsumableState;
import a8k.type.exception.AppException;
import freemarker.debug.impl.DebuggerService;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Component;
@ -32,9 +28,9 @@ public class AppDeviceCtrlService {
@Resource
DeviceInitCtrlService deviceInitializationModule; //设备初始化模块
@Resource
MainFlowCtrlService mainFlowCtrlSampleScanService; //主流程控制模块
AppMainFlowCtrlService mainFlowCtrlSampleScanService; //主流程控制模块
@Resource
ConsumablesScanService consumablesScanService; //耗材扫描模块
AppConsumablesScanService appConsumablesScanService; //耗材扫描模块
@Resource
ConsumablesMgrService consumablesMgrService; //耗材管理模块
@Resource
@ -87,12 +83,12 @@ public class AppDeviceCtrlService {
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
@ExtApiFn(name = "扫描耗材", group = "耗材扫描")
public Map<String, Object> scanConsumables() throws AppException {
return consumablesScanService.scanConsumables();
return appConsumablesScanService.scanConsumables();
}
@ExtApiFn(name = "扫描某一组耗材", group = "耗材扫描")
public Map<String, Object> scanOneGroupConsumables(ConsumableGroup group) throws AppException {
return consumablesScanService.scanOneGroupConsumables(group);
return appConsumablesScanService.scanOneGroupConsumables(group);
}

4
src/main/java/a8k/service/app/appctrl/MainFlowCtrlService.java → src/main/java/a8k/service/app/appctrl/AppMainFlowCtrlService.java

@ -19,8 +19,8 @@ import org.springframework.stereotype.Component;
import java.util.List;
@Component
public class MainFlowCtrlService {
static Logger logger = LoggerFactory.getLogger(MainFlowCtrlService.class);
public class AppMainFlowCtrlService {
static Logger logger = LoggerFactory.getLogger(AppMainFlowCtrlService.class);
@Resource

4
src/main/java/a8k/service/app/appctrl/TubeSettingMgrService.java → src/main/java/a8k/service/app/appctrl/AppTubeSettingMgrService.java

@ -22,8 +22,8 @@ import java.util.List;
@Component
@ExtApiTab(cfg = ExtApiTabConfig.AppTubeSettingMgrService)
public class TubeSettingMgrService {
static Logger logger = LoggerFactory.getLogger(TubeSettingMgrService.class);
public class AppTubeSettingMgrService {
static Logger logger = LoggerFactory.getLogger(AppTubeSettingMgrService.class);
static class ORDER {
static final int getA8kDeviceCfg = 1;

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

@ -7,7 +7,7 @@ import a8k.service.bases.AppEventBusService;
import a8k.service.bases.appevent.AppWarningNotifyEvent;
import a8k.hardware.type.a8kcanprotocol.A8kEcode;
import a8k.service.app.appctrl.mainflowctrl.CondtionMgrService;
import a8k.service.app.appctrl.TubeSettingMgrService;
import a8k.service.app.appctrl.AppTubeSettingMgrService;
import a8k.service.app.appctrl.mainflowctrl.base.A8kActionStepType;
import a8k.service.app.appctrl.mainflowctrl.base.A8kStepAction;
@ -54,7 +54,7 @@ public class SEQ1_ENTER_TUBEHOLDER_AND_SCAN extends A8kStepAction {
@Resource
AppEventBusService ebus;
@Resource
TubeSettingMgrService tubeSettingMgrService;
AppTubeSettingMgrService appTubeSettingMgrService;
@Resource
AppProjInfoMgrService appProjInfoMgr;
@Resource
@ -164,7 +164,7 @@ public class SEQ1_ENTER_TUBEHOLDER_AND_SCAN extends A8kStepAction {
TubeHolder parseScanResult(TubeHolderScanResult scanResult) throws AppException {
TubeHolder tubeholder = new TubeHolder();
TubeHolderSetting setting = tubeSettingMgrService.interUseGetThelastActiveTubeHolderSettingAndLock();
TubeHolderSetting setting = appTubeSettingMgrService.interUseGetThelastActiveTubeHolderSettingAndLock();
try {
//获取试管架类型
A8kTubeHolderType tubeHolderType = A8kTubeHolderType.of(scanResult.tubeHolderType);
@ -188,13 +188,13 @@ public class SEQ1_ENTER_TUBEHOLDER_AND_SCAN extends A8kStepAction {
//设置试管架状态
tubeholder.setState(TubeHolderState.PROCESSING);
//删除之前的试管架配置
tubeSettingMgrService.interUseRemoveTubeHolderSetting(setting);
appTubeSettingMgrService.interUseRemoveTubeHolderSetting(setting);
return tubeholder;
} catch (AppException e) {
//回滚部分状态
if (setting != null)
tubeSettingMgrService.interUseUnlockTubeHolderSetting(setting.uuid);
appTubeSettingMgrService.interUseUnlockTubeHolderSetting(setting.uuid);
throw e;
}
}

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

@ -11,7 +11,7 @@ import a8k.service.app.appctrl.mainflowctrl.base.A8kStepAction;
import a8k.service.app.appstate.*;
import a8k.service.app.appstate.resource.A8kPublicResourceType;
import a8k.service.app.appstate.type.Tube;
import a8k.service.app.devicedriver.basectrl.HbotBaseMoveControlService;
import a8k.service.app.devicedriver.basectrl.HbotBaseMoveControler;
import a8k.service.app.devicedriver.ctrl.ReactionPlatesTransmitCtrl;
import a8k.service.app.devicedriver.ctrl.SampleScanTransportHardwareControler;
import a8k.service.app.devicedriver.ctrl.SamplesPreProcesCtrl;
@ -60,7 +60,7 @@ public class SEQ4_PRE_PROCESS extends A8kStepAction {
@Resource
SamplesPreProcesCtrl samplesPreProcesCtrl;
@Resource
HbotBaseMoveControlService hbotBaseMoveControlService;
HbotBaseMoveControler hbotBaseMoveControler;
@Resource
IncubationPlateStateMgrService incubationPlateStateMgrService;
@Resource

10
src/main/java/a8k/service/app/devicedriver/basectrl/HbotBaseMoveControlService.java → src/main/java/a8k/service/app/devicedriver/basectrl/HbotBaseMoveControler.java

@ -20,8 +20,8 @@ import org.springframework.stereotype.Component;
*/
@Component
@ExtApiTab(cfg = ExtApiTabConfig.HbotControlService)
public class HbotBaseMoveControlService {
static Logger logger = LoggerFactory.getLogger(HbotBaseMoveControlService.class);
public class HbotBaseMoveControler {
static Logger logger = LoggerFactory.getLogger(HbotBaseMoveControler.class);
@Resource
A8kCanBusService canBus;
@ -59,9 +59,9 @@ public class HbotBaseMoveControlService {
// HBot移动
hbotModule.enable(1);
hbotModule.moveToBlock(targetPos.x - 20, targetPos.y - 20, ao);
hbotModule.moveToBlock(targetPos.x, targetPos.y, ao);
hbotModule.moveToBlock(targetPos.x, targetPos.y, ao);
hbotModule.moveToBlock(targetPos.x - 20, targetPos.y - 20);
hbotModule.moveToBlock(targetPos.x, targetPos.y);
hbotModule.moveToBlock(targetPos.x, targetPos.y);
// Z轴移动
if (targetPos.z != 0) {

17
src/main/java/a8k/service/app/devicedriver/basectrl/HbotModule.java

@ -15,35 +15,38 @@ public class HbotModule {
@Resource
A8kCanBusService canBus;
Integer actionOvertime = 10000;
Integer moveToZeroActionOvertime = 20000;
public void enable(Integer enable) throws AppException {
canBus.callcmd(MId.HbotM.toInt(), CmdId.xymotor_enable.toInt(), enable);
}
public void moveBy(Integer x, Integer y) throws AppException {
private void moveBy(Integer x, Integer y) throws AppException {
canBus.callcmd(MId.HbotM.toInt(), CmdId.xymotor_move_by.toInt(), x, y);
}
public void moveByBlock(Integer x, Integer y, Integer actionOvertime) throws AppException {
public void moveByBlock(Integer x, Integer y) throws AppException {
moveBy(x, y);
canBus.waitForMod(MId.HbotM, actionOvertime);
}
public void moveTo(Integer x, Integer y) throws AppException {
private void moveTo(Integer x, Integer y) throws AppException {
canBus.callcmd(MId.HbotM.toInt(), CmdId.xymotor_move_to.toInt(), x, y);
}
public void moveToBlock(Integer x, Integer y, Integer actionOvertime) throws AppException {
public void moveToBlock(Integer x, Integer y) throws AppException {
moveTo(x, y);
canBus.waitForMod(MId.HbotM, actionOvertime);
}
public void moveToZero() throws AppException {
private void moveToZero() throws AppException {
canBus.callcmd(MId.HbotM.toInt(), CmdId.xymotor_move_to_zero.toInt());
}
public void moveToZeroBlock(Integer actionOvertime) throws AppException {
public void moveToZeroBlock() throws AppException {
moveToZero();
canBus.waitForMod(MId.HbotM, actionOvertime);
canBus.waitForMod(MId.HbotM, moveToZeroActionOvertime);
}
public Pos2d readPos() throws AppException {

2
src/main/java/a8k/service/app/devicedriver/basectrl/PipetteCtrlModule.java

@ -130,7 +130,7 @@ public class PipetteCtrlModule {
@ExtApiFn(name = "初始化设备", order = FnOrder.initDeviceBlock)
public void initDeviceBlock() throws AppException {
public void pipetteInitDeviceBlock() throws AppException {
canBusService.callcmd(MId.PipetteMod.toInt(), CmdId.pipette_init_device.toInt());
canBusService.waitForMod(MId.PipetteMod, overtime);
}

16
src/main/java/a8k/service/app/devicedriver/calibration/Hbot2DCodeScanPosCalibration.java

@ -5,6 +5,8 @@ import a8k.extapi_controler.pagecontrol.ExtApiTabConfig;
import a8k.extapi_controler.utils.ExtApiFn;
import a8k.extapi_controler.utils.ExtApiTab;
import a8k.hardware.A8kCanBusService;
import a8k.service.app.devicedriver.basectrl.HbotBaseMoveControler;
import a8k.service.app.devicedriver.basectrl.HbotModule;
import a8k.service.app.devicedriver.basectrl.PipetteCtrlModule;
import a8k.service.app.devicedriver.basectrl.CodeScaner;
import a8k.service.app.devicedriver.param.Hbot2DCodeScanPos;
@ -17,8 +19,6 @@ import jakarta.annotation.Resource;
@ExtApiTab(cfg = ExtApiTabConfig.Hbot2DCodeScanPosCalibration)
public class Hbot2DCodeScanPosCalibration {
@Resource
Hbot2DCodeScanPos hbot2DCodeScanPos;
@Resource
A8kCanBusService canBus;
@ -26,11 +26,21 @@ public class Hbot2DCodeScanPosCalibration {
CodeScaner codeScaner;
@Resource
PipetteCtrlModule pipetteCtrlModule;
@Resource
HbotModule hbotModule;
@Resource
HbotBaseMoveControler hbotBaseMoveControler;
@Resource
Hbot2DCodeScanPos hbot2DCodeScanPos;
@ExtApiFn(name = "扫码测试(全部位置)", group = "测试工具", order = 0)
@ExtApiFn(name = "归零", group = "测试工具", order = 0)
public void deviceReset() throws AppException {
pipetteCtrlModule.zMotorEnable(1);
hbotModule.enable(1);
pipetteCtrlModule.zMotorMoveZeroBlock();
hbotModule.moveToZeroBlock();
}
public void disableMotor() throws AppException {

2
src/main/java/a8k/service/app/devicedriver/commonctrl/HardwareCommonCtrl.java

@ -107,7 +107,7 @@ public class HardwareCommonCtrl {
canBus.stepMotorEasyMoveToZeroBlock(MId.OptModPullM, timep.getRuntoZeroActionOvertime());
canBus.stepMotorEasyMoveToZeroBlock(MId.OptModScannerM, timep.getRuntoZeroActionOvertime());
//HBot初始化
hbotModule.moveToZero();
hbotModule.moveToZeroBlock();
// TODO canBus.stepMotorEasyMoveToZeroBlock(MId.PipetteModZM, timep.getRuntoZeroActionOvertime());
//转盘归零

4
src/main/java/a8k/service/app/devicedriver/ctrl/ConsumablesScanCtrl.java

@ -1,7 +1,7 @@
package a8k.service.app.devicedriver.ctrl;
import a8k.service.app.devicedriver.basectrl.CodeScaner;
import a8k.service.app.devicedriver.basectrl.HbotBaseMoveControlService;
import a8k.service.app.devicedriver.basectrl.HbotBaseMoveControler;
import a8k.service.bases.ActionReactorService;
import a8k.extapi_controler.pagecontrol.ExtApiTabConfig;
import a8k.extapi_controler.utils.ExtApiFn;
@ -30,7 +30,7 @@ public class ConsumablesScanCtrl {
@Resource
CodeScaner codeScaner;
@Resource
HbotBaseMoveControlService hbot;
HbotBaseMoveControler hbot;
private void hbotMoveTo(Pos2d tpos) throws AppException {

62
src/main/java/a8k/service/app/appctrl/DeviceInitCtrlService.java → src/main/java/a8k/service/app/devicedriver/ctrl/DeviceInitCtrlService.java

@ -1,4 +1,4 @@
package a8k.service.app.appctrl;
package a8k.service.app.devicedriver.ctrl;
import a8k.hardware.A8kCanBusService;
import a8k.hardware.type.a8kcanprotocol.A8kEcode;
@ -6,6 +6,7 @@ import a8k.hardware.type.a8kcanprotocol.IOId;
import a8k.hardware.type.a8kcanprotocol.MId;
import a8k.service.bases.ActionReactorService;
import a8k.service.debug.AppDebugHelperService;
import a8k.type.CheckPointType;
import a8k.type.checkpoint.CheckResult;
import a8k.type.checkpoint.Checkpoint;
import a8k.service.app.appstate.GStateService;
@ -21,25 +22,19 @@ import java.util.List;
@Component
public class DeviceInitCtrlService {
@Resource
ActionReactorService ar;
List<Checkpoint> checkPoints = new ArrayList<>();
GStateService gstate;
@Resource
ActionReactorService actionReactor;
@Resource
A8kCanBusService canBus;
@Resource
HbotModule hbotModule;
@Resource
GStateService gstate;
@Resource
AppDebugHelperService appDebugHelper;
Integer actionOvertime = 10000;
List<Checkpoint> checkPoints = new ArrayList<>();
@PostConstruct
void init() {
@ -55,20 +50,20 @@ public class DeviceInitCtrlService {
CheckPointType.CHECK_PUSHERM_IN_IN_ZEROPOS, () -> canBus.getIOState(IOId.PusherMZeroPPS)));
checkPoints.add(new Checkpoint("检查垃圾箱是否满",//
CheckPointType.CHECK_RECYCLE_BIN_IS_OVERFLOW, () -> !canBus.getIOState(IOId.RecycleBinOverflowPPS)));
}
public List<CheckResult> checkBeforeInitDevice() throws AppException {
if (appDebugHelper.isDebug()) {
return appDebugHelper.checkBeforeInitDevice();
}
List<CheckResult> results = new java.util.ArrayList<>();
for (Checkpoint checkPoint : checkPoints) {
CheckResult result = new CheckResult();
result.type = checkPoint.type;
result.typechinfo = checkPoint.typechinfo;
if (!appDebugHelper.isDebug()) {
result.pass = checkPoint.checkfn.check();
} else {
result.pass = true;
}
results.add(result);
}
return results;
@ -97,35 +92,26 @@ public class DeviceInitCtrlService {
if (!suc) {
throw new AppException(A8kEcode.APPE_CHECK_POINT_CHECK_FAIL);
}
//进出料初始化
ar.dosome("入料平移电机回零", () -> canBus.stepMotorEasyMoveToZeroBlock(MId.FeedingModXM, actionOvertime));
ar.dosome("摇匀模组-扫码夹紧舵机回零", () -> canBus.miniServoMoveToBlock(MId.ShakeModTubeScanerClampingSV, 20, actionOvertime));
ar.dosome("摇匀模组-夹爪舵机回零", () -> canBus.miniServoMoveToBlock(MId.ShakeModGripperSV, 300, actionOvertime));
ar.dosome("摇匀模组-夹爪Y轴舵机回零", () -> canBus.miniServoMoveToBlock(MId.ShakeModGripperYSV, 300, actionOvertime));
ar.dosome("摇匀模组-夹紧电机回零", () -> canBus.stepMotorEasyMoveToZeroBlock(MId.ShakeModClampingM, actionOvertime));
ar.dosome("摇匀模组-夹爪Z轴电机回零", () -> canBus.stepMotorEasyMoveToZeroBlock(MId.ShakeModGripperZM, actionOvertime));
ar.dosome("摇匀模组-摇匀电机回零", () -> canBus.stepMotorEasyMoveToZeroBlock(MId.ShakeModShakeM, actionOvertime));
ar.dosome("摇匀模组-摇匀电机摆动90度", () -> canBus.stepMotorEasyMoveTo(MId.ShakeModShakeM, 90));
actionReactor.dosome("入料平移电机回零", () -> canBus.stepMotorEasyMoveToZeroBlock(MId.FeedingModXM, actionOvertime));
actionReactor.dosome("摇匀模组-扫码夹紧舵机回零", () -> canBus.miniServoMoveToBlock(MId.ShakeModTubeScanerClampingSV, 20, actionOvertime));
actionReactor.dosome("摇匀模组-夹爪舵机回零", () -> canBus.miniServoMoveToBlock(MId.ShakeModGripperSV, 300, actionOvertime));
actionReactor.dosome("摇匀模组-夹爪Y轴舵机回零", () -> canBus.miniServoMoveToBlock(MId.ShakeModGripperYSV, 300, actionOvertime));
actionReactor.dosome("摇匀模组-夹紧电机回零", () -> canBus.stepMotorEasyMoveToZeroBlock(MId.ShakeModClampingM, actionOvertime));
actionReactor.dosome("摇匀模组-夹爪Z轴电机回零", () -> canBus.stepMotorEasyMoveToZeroBlock(MId.ShakeModGripperZM, actionOvertime));
actionReactor.dosome("摇匀模组-摇匀电机回零", () -> canBus.stepMotorEasyMoveToZeroBlock(MId.ShakeModShakeM, actionOvertime));
actionReactor.dosome("摇匀模组-摇匀电机摆动90度", () -> canBus.stepMotorEasyMoveTo(MId.ShakeModShakeM, 90));
//板夹仓初始化
ar.dosome("板夹仓Y轴电机回零", () -> canBus.stepMotorEasyMoveToZeroBlock(MId.PlatesBoxYM, actionOvertime));
ar.dosome("板夹仓推板电机回零", () -> canBus.stepMotorEasyMoveToZeroBlock(MId.PlatesBoxPusherM, actionOvertime));
actionReactor.dosome("板夹仓Y轴电机回零", () -> canBus.stepMotorEasyMoveToZeroBlock(MId.PlatesBoxYM, actionOvertime));
actionReactor.dosome("板夹仓推板电机回零", () -> canBus.stepMotorEasyMoveToZeroBlock(MId.PlatesBoxPusherM, actionOvertime));
//光学模组初始化
ar.dosome("光学模组-拉杆电机回零", () -> canBus.stepMotorEasyMoveToZeroBlock(MId.OptModPullM, actionOvertime));
ar.dosome("光学模组-扫码电机回零", () -> canBus.stepMotorEasyMoveToZeroBlock(MId.OptModScannerM, actionOvertime));
actionReactor.dosome("光学模组-拉杆电机回零", () -> canBus.stepMotorEasyMoveToZeroBlock(MId.OptModPullM, actionOvertime));
actionReactor.dosome("光学模组-扫码电机回零", () -> canBus.stepMotorEasyMoveToZeroBlock(MId.OptModScannerM, actionOvertime));
//HBot初始化
ar.dosome("HBot回零", () -> hbotModule.moveToZero());
actionReactor.dosome("HBot回零", () -> hbotModule.moveToZeroBlock());
//转盘归零
ar.dosome("转盘回零", () -> canBus.stepMotorEasyMoveToZeroBlock(MId.IncubatorRotateCtrlM, actionOvertime));
actionReactor.dosome("转盘回零", () -> canBus.stepMotorEasyMoveToZeroBlock(MId.IncubatorRotateCtrlM, actionOvertime));
gstate.setDeviceInited(true);
}
// setDeviceInited
}

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

@ -11,7 +11,7 @@ import a8k.service.app.devicedriver.ctrl.SamplesPreProcesCtrl;
import a8k.service.app.devicedriver.ctrl.SampleScanTransportHardwareControler;
import a8k.hardware.A8kCanBusService;
import a8k.hardware.type.a8kcanprotocol.A8kEcode;
import a8k.service.app.devicedriver.basectrl.HbotBaseMoveControlService;
import a8k.service.app.devicedriver.basectrl.HbotBaseMoveControler;
import a8k.service.app.devicedriver.ctrl.ReactionPlatesTransmitCtrl;
import a8k.service.app.devicedriver.param.DebugParam;
import a8k.service.app.devicedriver.param.PosParam;
@ -45,7 +45,7 @@ public class TestScript {
ApplicationContext appCxt;
@Resource
HbotBaseMoveControlService hbotcs;
HbotBaseMoveControler hbotcs;
@Resource
TimeParam timep;
@ -63,7 +63,7 @@ public class TestScript {
@Resource
SampleScanTransportHardwareControler sampleScanTransportHardwareControler;
EnginnerParamReader settingReader = new EnginnerParamReader(HbotBaseMoveControlService.class);
EnginnerParamReader settingReader = new EnginnerParamReader(HbotBaseMoveControler.class);
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 测试

44
src/main/java/a8k/service/debug/AppDebugHelperService.java

@ -9,9 +9,9 @@ import a8k.hardware.type.a8kcanprotocol.A8kEcode;
import a8k.hardware.type.a8kcanprotocol.CmdId;
import a8k.hardware.type.a8kcanprotocol.MId;
import a8k.service.app.appctrl.AppDeviceCtrlService;
import a8k.service.app.appctrl.CheckPointType;
import a8k.service.app.appctrl.MainFlowCtrlService;
import a8k.service.app.appctrl.TubeSettingMgrService;
import a8k.type.CheckPointType;
import a8k.service.app.appctrl.AppMainFlowCtrlService;
import a8k.service.app.appctrl.AppTubeSettingMgrService;
import a8k.service.app.appctrl.mainflowctrl.CondtionMgrService;
import a8k.service.app.appctrl.mainflowctrl.base.A8kActionStepType;
import a8k.service.app.appctrl.mainflowctrl.base.A8kErrorContext;
@ -259,8 +259,8 @@ public class AppDebugHelperService {
@ExtApiFn(name = "获取运行步骤状态", group = "调试")
public List<A8kStepAction> getA8kStepActionList() {
MainFlowCtrlService mainFlowCtrlService = SpringBootBeanUtil.getBean(MainFlowCtrlService.class);
return mainFlowCtrlService.getA8kStepActionList();
AppMainFlowCtrlService appMainFlowCtrlService = SpringBootBeanUtil.getBean(AppMainFlowCtrlService.class);
return appMainFlowCtrlService.getA8kStepActionList();
}
@ExtApiFn(name = "获取设备状态()", group = "调试")
@ -300,15 +300,15 @@ public class AppDebugHelperService {
//添加试管配置
logger.info("添加试管配置");
TubeSettingMgrService tubeSettingMgrService = SpringBootBeanUtil.getBean(TubeSettingMgrService.class);
tubeSettingMgrService.newTubeHolderSetting();
TubeHolderSetting setting = tubeSettingMgrService.newTubeHolderSettingV2();
AppTubeSettingMgrService appTubeSettingMgrService = SpringBootBeanUtil.getBean(AppTubeSettingMgrService.class);
appTubeSettingMgrService.newTubeHolderSetting();
TubeHolderSetting setting = appTubeSettingMgrService.newTubeHolderSettingV2();
for (int i = 0; i < 10; i++) {
tubeSettingMgrService.setTubeSettingUserIdAndSampleBarcode(setting.uuid, i, String.format("USR%d", i), "");
tubeSettingMgrService.setTubeSetting(setting.uuid, i, BloodType.WHOLE_BLOOD,//
appTubeSettingMgrService.setTubeSettingUserIdAndSampleBarcode(setting.uuid, i, String.format("USR%d", i), "");
appTubeSettingMgrService.setTubeSetting(setting.uuid, i, BloodType.WHOLE_BLOOD,//
String.format("%d,%d,%d,%d,%d,%d", p01_hscrr.projIndex, p02_pct.projIndex, p03_tsh.projIndex, p05_t3.projIndex, p06_t4.projIndex, p22_pctAndHsCRP.projIndex));
}
tubeSettingMgrService.tubeHodlerSettingSetActiveState(setting.uuid, true);
appTubeSettingMgrService.tubeHodlerSettingSetActiveState(setting.uuid, true);
//初始化设备
logger.info("初始化设备");
@ -422,28 +422,6 @@ public class AppDebugHelperService {
}
public List<CheckResult> checkBeforeInitDevice() throws AppException {
List<Checkpoint> checkPoints = new ArrayList<>();
List<CheckResult> resultss = new java.util.ArrayList<>();
checkPoints.add(new Checkpoint("入料通道是否为空", CheckPointType.CHECK_PLATE_BOX_IS_COVER, () -> true));
checkPoints.add(new Checkpoint("板夹仓盖子是否盖着", CheckPointType.CHECK_PLATE_BOX_IS_COVER, () -> true));
checkPoints.add(new Checkpoint("板夹仓卡板检测", CheckPointType.CHECK_PLATE_STUCK_DETECTOR_SENSOR_IS_TRIGGER, () -> true));
checkPoints.add(new Checkpoint("检查拉杆电机是否在零点位置", CheckPointType.CHECK_PULLERM_IS_IN_ZEROPOS, () -> true));
checkPoints.add(new Checkpoint("检查推杆电机是否在零点位置", CheckPointType.CHECK_PUSHERM_IN_IN_ZEROPOS, () -> true));
checkPoints.add(new Checkpoint("检查垃圾箱是否满", CheckPointType.CHECK_RECYCLE_BIN_IS_OVERFLOW, () -> true));
for (Checkpoint checkPoint : checkPoints) {
CheckResult result = new CheckResult();
result.type = checkPoint.type;
result.typechinfo = checkPoint.typechinfo;
result.pass = checkPoint.checkfn.check();
resultss.add(result);
}
return resultss;
}
synchronized public Boolean getTubeholderEnterPosPPS() {
return tubeHolderScanResult != null;
}

2
src/main/java/a8k/service/app/appctrl/CheckPointType.java → src/main/java/a8k/type/CheckPointType.java

@ -1,4 +1,4 @@
package a8k.service.app.appctrl;
package a8k.type;
public enum CheckPointType {
CHECK_TUBE_XCHANNEL_IS_EMPTY,//入料通道是否为空
Loading…
Cancel
Save