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
-
4src/main/java/a8k/service/app/appctrl/mainflowctrl/MainFlowCtrlScheduler.java
-
10src/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
-
10src/main/java/a8k/service/app/appctrl/mainflowctrl/action/SEQ1_ENTER_TUBEHOLDER_AND_SCAN.java
-
9src/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