18 changed files with 203 additions and 396 deletions
-
4src/main/java/a8k/service/app/appctrl/mainflowctrl/A8kPublicAreaResourceMgr.java
-
118src/main/java/a8k/service/app/appctrl/mainflowctrl/CondtionMgrService.java
-
12src/main/java/a8k/service/app/appctrl/mainflowctrl/DeviceStateSyncReader.java
-
7src/main/java/a8k/service/app/appctrl/mainflowctrl/DeviceStateSyncWriter.java
-
6src/main/java/a8k/service/app/appctrl/mainflowctrl/MainFlowCtrlScheduler.java
-
12src/main/java/a8k/service/app/appctrl/mainflowctrl/action/DO_FINISH_TUBE_PROCESS.java
-
10src/main/java/a8k/service/app/appctrl/mainflowctrl/action/DO_PROCESS_ERROR_PLATE.java
-
9src/main/java/a8k/service/app/appctrl/mainflowctrl/action/PLATE_OPT_SCAN.java
-
11src/main/java/a8k/service/app/appctrl/mainflowctrl/action/PROCESS_INCUBATE_COMPLETED_PLATE.java
-
12src/main/java/a8k/service/app/appctrl/mainflowctrl/action/SEQ1_ENTER_TUBEHOLDER_AND_SCAN.java
-
11src/main/java/a8k/service/app/appctrl/mainflowctrl/action/SEQ2_SWITCH_TO_THE_NEXT_TUBE.java
-
3src/main/java/a8k/service/app/appctrl/mainflowctrl/action/SEQ3_APPLAY_RESOURCE.java
-
32src/main/java/a8k/service/app/appctrl/mainflowctrl/action/SEQ5_PROCESS.java
-
9src/main/java/a8k/service/app/appctrl/mainflowctrl/action/SEQ7_EJECT_TUBEHOLDER.java
-
7src/main/java/a8k/service/app/appstate/GStateService.java
-
11src/main/java/a8k/service/app/appstate/resource/A8kPublicResourceType.java
-
7src/main/java/a8k/service/test/MainflowCtrlTestService.java
@ -1,118 +0,0 @@ |
|||||
package a8k.service.app.appctrl.mainflowctrl; |
|
||||
|
|
||||
import a8k.hardware.A8kCanBusService; |
|
||||
import a8k.hardware.type.a8kcanprotocol.IOId; |
|
||||
import a8k.service.app.appstate.GStateService; |
|
||||
import a8k.service.app.appstate.statemgr.IncubationPlateStateMgrService; |
|
||||
import a8k.service.app.appstate.statemgr.OptScanModuleStateMgrService; |
|
||||
import a8k.service.app.appstate.statemgr.TubeStateMgrService; |
|
||||
import a8k.service.app.appstate.type.Tube; |
|
||||
import a8k.service.app.appstate.type.state.TubeState; |
|
||||
|
|
||||
import a8k.service.test.state.TestModeState; |
|
||||
import a8k.service.test.state.VirtualDevice; |
|
||||
import jakarta.annotation.Resource; |
|
||||
import org.slf4j.Logger; |
|
||||
import org.slf4j.LoggerFactory; |
|
||||
import org.springframework.stereotype.Component; |
|
||||
|
|
||||
|
|
||||
@Component |
|
||||
public class CondtionMgrService { |
|
||||
static Logger logger = LoggerFactory.getLogger(CondtionMgrService.class); |
|
||||
|
|
||||
@Resource |
|
||||
GStateService gstate; |
|
||||
@Resource |
|
||||
TestModeState testModeState; |
|
||||
@Resource |
|
||||
VirtualDevice virtualDevice; |
|
||||
|
|
||||
@Resource |
|
||||
A8kCanBusService canBus; |
|
||||
|
|
||||
@Resource |
|
||||
IncubationPlateStateMgrService incubationPlateStateMgrService; |
|
||||
@Resource |
|
||||
TubeStateMgrService tubeStateMgrService; |
|
||||
|
|
||||
@Resource |
|
||||
OptScanModuleStateMgrService optScanModuleStateMgrService; |
|
||||
|
|
||||
|
|
||||
// public Boolean getTubeholderEnterPosPPS() { //入料通道是否为空 |
|
||||
// if (virtualDevice.isEnable()) { |
|
||||
// return virtualDevice.isTubeHolderReady(); |
|
||||
// } |
|
||||
// try { |
|
||||
// |
|
||||
// return canBus.getIOState(IOId.InfeedPPS); |
|
||||
// } catch (Exception e) { |
|
||||
// logger.error("getTubeholderEnterPosPPS error", e); |
|
||||
// return false; |
|
||||
// } |
|
||||
// } |
|
||||
|
|
||||
|
|
||||
// public Boolean isOptModuleEmpty() { |
|
||||
// return optScanModuleStateMgrService.isEmpty(); |
|
||||
// } |
|
||||
|
|
||||
// public Boolean isTimeToEnterNewTubeHolder() { |
|
||||
// return tubeStateMgrService.isTubeHolderProcessCompleted() && getTubeholderEnterPosPPS(); |
|
||||
// } |
|
||||
|
|
||||
// public Boolean isTimeToSwitchNextTube() { |
|
||||
// return tubeStateMgrService.isNoTubeInProcessing() && tubeStateMgrService.isHasSomeToBeProcessedTube(); |
|
||||
// } |
|
||||
|
|
||||
// public Boolean isTimeToProcessPendingTube() { |
|
||||
// Tube tube = tubeStateMgrService.getCurProcessingTube(); |
|
||||
// if (tube == null) |
|
||||
// return false; |
|
||||
// |
|
||||
// //当前试管是否处于待命状态 |
|
||||
// Boolean cond2 = tube.getState().equals(TubeState.PENDING); |
|
||||
// //反应板夹是否充足 |
|
||||
// Boolean cond3 = incubationPlateStateMgrService.isHasEnoughIncubationIDLEPos(tube.getProjInfo().size()); |
|
||||
// return cond2 && cond3; |
|
||||
// } |
|
||||
|
|
||||
// public Boolean isTimeToProcessTube() { |
|
||||
// return tubeStateMgrService.isCurTubeResourceReady(); |
|
||||
// } |
|
||||
|
|
||||
// public Boolean isHasSomeErrorPlatesToBeProcessed() { |
|
||||
// return incubationPlateStateMgrService.isHasSomeErrorPlate(); |
|
||||
// } |
|
||||
|
|
||||
// public Boolean isHasErrorTube() { |
|
||||
// Tube tube = gstate.getCurProcessingTube(); |
|
||||
// if (tube == null) |
|
||||
// return false; |
|
||||
// return gstate.getCurProcessingTube().getState().equals(TubeState.ERROR); |
|
||||
// } |
|
||||
// |
|
||||
// public Boolean isHasProcessedTube() { |
|
||||
// Tube tube = gstate.getCurProcessingTube(); |
|
||||
// if (tube == null) |
|
||||
// return false; |
|
||||
// return gstate.getCurProcessingTube().getState().equals(TubeState.PROCESSED); |
|
||||
// } |
|
||||
|
|
||||
// public Boolean isTimeToFinishTubeProcess() { |
|
||||
// return isHasErrorTube() || isHasProcessedTube(); |
|
||||
// } |
|
||||
|
|
||||
// public Boolean isTimeToProcessErrorPlate() { |
|
||||
// return isHasSomeErrorPlatesToBeProcessed() && isOptModuleEmpty(); |
|
||||
// } |
|
||||
// |
|
||||
// public Boolean isTimeToPlateOptScan() { |
|
||||
// return !optScanModuleStateMgrService.isEmpty(); |
|
||||
// } |
|
||||
// |
|
||||
// public Boolean isTimeToProcessIncubateCompletedPlate() { |
|
||||
// return incubationPlateStateMgrService.getOneExpiredPlate() != null && optScanModuleStateMgrService.isEmpty(); |
|
||||
// } |
|
||||
} |
|
@ -1,12 +0,0 @@ |
|||||
package a8k.service.app.appctrl.mainflowctrl; |
|
||||
|
|
||||
|
|
||||
import org.springframework.stereotype.Component; |
|
||||
|
|
||||
@Component |
|
||||
public class DeviceStateSyncReader { |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
} |
|
@ -1,7 +0,0 @@ |
|||||
package a8k.service.app.appctrl.mainflowctrl; |
|
||||
|
|
||||
import org.springframework.stereotype.Component; |
|
||||
|
|
||||
@Component |
|
||||
public class DeviceStateSyncWriter { |
|
||||
} |
|
@ -1,11 +0,0 @@ |
|||||
package a8k.service.app.appstate.resource; |
|
||||
|
|
||||
public enum A8kPublicResourceType { |
|
||||
ShakeModule,//摇匀模组 |
|
||||
TubeFeedModule,//入料模组 |
|
||||
IncubationPlateModule,//孵育盘电机 |
|
||||
OPTModule, //光学电机 |
|
||||
PlatesBoxModule,//板夹仓电机 |
|
||||
HBOT,//HBOT |
|
||||
CurTubeProcessToken,//当前管子处理令牌 |
|
||||
} |
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue