|
@ -4,6 +4,7 @@ import a8k.OS; |
|
|
import a8k.app.engineer.service.state.EngineerModeStateMgrService; |
|
|
import a8k.app.engineer.service.state.EngineerModeStateMgrService; |
|
|
import a8k.app.engineer.service.type.EngineerWorkState; |
|
|
import a8k.app.engineer.service.type.EngineerWorkState; |
|
|
import a8k.app.service.ctrlmodule.TipOperationCtrlModule; |
|
|
import a8k.app.service.ctrlmodule.TipOperationCtrlModule; |
|
|
|
|
|
import a8k.app.service.lowerctrl.HbotMoveExCtrlService; |
|
|
import a8k.app.service.lowerctrl.OptScanModuleLowerCtrlService; |
|
|
import a8k.app.service.lowerctrl.OptScanModuleLowerCtrlService; |
|
|
import a8k.app.service.lowerctrl.TubeFeedingCtrlService; |
|
|
import a8k.app.service.lowerctrl.TubeFeedingCtrlService; |
|
|
import a8k.app.service.module.*; |
|
|
import a8k.app.service.module.*; |
|
@ -56,6 +57,7 @@ public class MainFlowCtrlScheduler { |
|
|
private final OptScanModuleLowerCtrlService optScanModuleLowerCtrlService; |
|
|
private final OptScanModuleLowerCtrlService optScanModuleLowerCtrlService; |
|
|
private final TubeFeedingCtrlService tubeFeedingCtrlService; |
|
|
private final TubeFeedingCtrlService tubeFeedingCtrlService; |
|
|
private final AppWarningFlagStateMgr appWarningFlagStateMgr; |
|
|
private final AppWarningFlagStateMgr appWarningFlagStateMgr; |
|
|
|
|
|
private final HbotMoveExCtrlService hbotMoveExCtrlService; |
|
|
|
|
|
|
|
|
private ZWorkThread workThread; |
|
|
private ZWorkThread workThread; |
|
|
|
|
|
|
|
@ -81,6 +83,7 @@ public class MainFlowCtrlScheduler { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void checkBeforeStartOrContinueWork() throws AppException { |
|
|
public void checkBeforeStartOrContinueWork() throws AppException { |
|
|
//1. 检查所有试管架配置是否都已激活 |
|
|
//1. 检查所有试管架配置是否都已激活 |
|
|
UISender.txInfoMsg(log, "核对试管架配置是否都已激活"); |
|
|
UISender.txInfoMsg(log, "核对试管架配置是否都已激活"); |
|
@ -100,13 +103,17 @@ public class MainFlowCtrlScheduler { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
synchronized public void startWork() throws AppException { |
|
|
synchronized public void startWork() throws AppException { |
|
|
appWarningFlagStateMgr.clearAllFlagState(); |
|
|
|
|
|
startWork(null); |
|
|
startWork(null); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
synchronized public void startWork(Runnable onStop) throws AppException { |
|
|
synchronized public void startWork(Runnable onStop) throws AppException { |
|
|
|
|
|
appWarningFlagStateMgr.clearAllFlagState(); |
|
|
checkBeforeCall(); |
|
|
checkBeforeCall(); |
|
|
checkBeforeStartOrContinueWork(); |
|
|
checkBeforeStartOrContinueWork(); |
|
|
|
|
|
if (tipOperationCtrlModule.isHasTipInGun()) { |
|
|
|
|
|
tipOperationCtrlModule.dropTip(); |
|
|
|
|
|
} |
|
|
|
|
|
hbotMoveExCtrlService.moveQuickToZero(); |
|
|
deviceWorkStateMgrService.setStartActionPending(A8kWorkTaskType.MainFlowTask, true); |
|
|
deviceWorkStateMgrService.setStartActionPending(A8kWorkTaskType.MainFlowTask, true); |
|
|
this.onStop = onStop; |
|
|
this.onStop = onStop; |
|
|
workThread.start(this::workThreadFn); |
|
|
workThread.start(this::workThreadFn); |
|
@ -126,6 +133,10 @@ public class MainFlowCtrlScheduler { |
|
|
appWarningFlagStateMgr.clearAllFlagState(); |
|
|
appWarningFlagStateMgr.clearAllFlagState(); |
|
|
checkBeforeCall(); |
|
|
checkBeforeCall(); |
|
|
checkBeforeStartOrContinueWork(); |
|
|
checkBeforeStartOrContinueWork(); |
|
|
|
|
|
if (tipOperationCtrlModule.isHasTipInGun()) { |
|
|
|
|
|
tipOperationCtrlModule.dropTip(); |
|
|
|
|
|
} |
|
|
|
|
|
hbotMoveExCtrlService.moveQuickToZero(); |
|
|
deviceWorkStateMgrService.setResumeActionPending(true); |
|
|
deviceWorkStateMgrService.setResumeActionPending(true); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|