|
@ -1,4 +1,4 @@ |
|
|
package a8k.service.app.appctrl; |
|
|
|
|
|
|
|
|
package a8k.service.app.devicedriver.ctrl; |
|
|
|
|
|
|
|
|
import a8k.hardware.A8kCanBusService; |
|
|
import a8k.hardware.A8kCanBusService; |
|
|
import a8k.hardware.type.a8kcanprotocol.A8kEcode; |
|
|
import a8k.hardware.type.a8kcanprotocol.A8kEcode; |
|
@ -6,6 +6,7 @@ import a8k.hardware.type.a8kcanprotocol.IOId; |
|
|
import a8k.hardware.type.a8kcanprotocol.MId; |
|
|
import a8k.hardware.type.a8kcanprotocol.MId; |
|
|
import a8k.service.bases.ActionReactorService; |
|
|
import a8k.service.bases.ActionReactorService; |
|
|
import a8k.service.debug.AppDebugHelperService; |
|
|
import a8k.service.debug.AppDebugHelperService; |
|
|
|
|
|
import a8k.type.CheckPointType; |
|
|
import a8k.type.checkpoint.CheckResult; |
|
|
import a8k.type.checkpoint.CheckResult; |
|
|
import a8k.type.checkpoint.Checkpoint; |
|
|
import a8k.type.checkpoint.Checkpoint; |
|
|
import a8k.service.app.appstate.GStateService; |
|
|
import a8k.service.app.appstate.GStateService; |
|
@ -21,25 +22,19 @@ import java.util.List; |
|
|
@Component |
|
|
@Component |
|
|
public class DeviceInitCtrlService { |
|
|
public class DeviceInitCtrlService { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Resource |
|
|
@Resource |
|
|
ActionReactorService ar; |
|
|
|
|
|
|
|
|
|
|
|
List<Checkpoint> checkPoints = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GStateService gstate; |
|
|
@Resource |
|
|
@Resource |
|
|
A8kCanBusService canBus; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ActionReactorService actionReactor; |
|
|
@Resource |
|
|
@Resource |
|
|
HbotModule hbotModule; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A8kCanBusService canBus; |
|
|
@Resource |
|
|
@Resource |
|
|
GStateService gstate; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
HbotModule hbotModule; |
|
|
@Resource |
|
|
@Resource |
|
|
AppDebugHelperService appDebugHelper; |
|
|
AppDebugHelperService appDebugHelper; |
|
|
|
|
|
|
|
|
Integer actionOvertime = 10000; |
|
|
|
|
|
|
|
|
Integer actionOvertime = 10000; |
|
|
|
|
|
List<Checkpoint> checkPoints = new ArrayList<>(); |
|
|
|
|
|
|
|
|
@PostConstruct |
|
|
@PostConstruct |
|
|
void init() { |
|
|
void init() { |
|
@ -55,20 +50,20 @@ public class DeviceInitCtrlService { |
|
|
CheckPointType.CHECK_PUSHERM_IN_IN_ZEROPOS, () -> canBus.getIOState(IOId.PusherMZeroPPS))); |
|
|
CheckPointType.CHECK_PUSHERM_IN_IN_ZEROPOS, () -> canBus.getIOState(IOId.PusherMZeroPPS))); |
|
|
checkPoints.add(new Checkpoint("检查垃圾箱是否满",// |
|
|
checkPoints.add(new Checkpoint("检查垃圾箱是否满",// |
|
|
CheckPointType.CHECK_RECYCLE_BIN_IS_OVERFLOW, () -> !canBus.getIOState(IOId.RecycleBinOverflowPPS))); |
|
|
CheckPointType.CHECK_RECYCLE_BIN_IS_OVERFLOW, () -> !canBus.getIOState(IOId.RecycleBinOverflowPPS))); |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public List<CheckResult> checkBeforeInitDevice() throws AppException { |
|
|
public List<CheckResult> checkBeforeInitDevice() throws AppException { |
|
|
if (appDebugHelper.isDebug()) { |
|
|
|
|
|
return appDebugHelper.checkBeforeInitDevice(); |
|
|
|
|
|
} |
|
|
|
|
|
List<CheckResult> results = new java.util.ArrayList<>(); |
|
|
List<CheckResult> results = new java.util.ArrayList<>(); |
|
|
for (Checkpoint checkPoint : checkPoints) { |
|
|
for (Checkpoint checkPoint : checkPoints) { |
|
|
CheckResult result = new CheckResult(); |
|
|
CheckResult result = new CheckResult(); |
|
|
result.type = checkPoint.type; |
|
|
result.type = checkPoint.type; |
|
|
result.typechinfo = checkPoint.typechinfo; |
|
|
result.typechinfo = checkPoint.typechinfo; |
|
|
result.pass = checkPoint.checkfn.check(); |
|
|
|
|
|
|
|
|
if (!appDebugHelper.isDebug()) { |
|
|
|
|
|
result.pass = checkPoint.checkfn.check(); |
|
|
|
|
|
} else { |
|
|
|
|
|
result.pass = true; |
|
|
|
|
|
} |
|
|
results.add(result); |
|
|
results.add(result); |
|
|
} |
|
|
} |
|
|
return results; |
|
|
return results; |
|
@ -97,35 +92,26 @@ public class DeviceInitCtrlService { |
|
|
if (!suc) { |
|
|
if (!suc) { |
|
|
throw new AppException(A8kEcode.APPE_CHECK_POINT_CHECK_FAIL); |
|
|
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初始化 |
|
|
//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); |
|
|
gstate.setDeviceInited(true); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// setDeviceInited |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
} |