|
@ -28,7 +28,7 @@ public class ReactionPlatesTransmitCtrlService implements HardwareCtrlModule { |
|
|
|
|
|
|
|
|
@HardwareServiceParam(name = "动作超时时间", group = "基础参数") |
|
|
@HardwareServiceParam(name = "动作超时时间", group = "基础参数") |
|
|
public Integer getActionOvertime() { |
|
|
public Integer getActionOvertime() { |
|
|
return hpReader.getInteger("actionOvertime", 10000); |
|
|
|
|
|
|
|
|
return hpReader.getInteger("actionOvertime", 7000); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@HardwareServiceParam(name = "板夹仓通道0位置", group = "板夹仓参数") |
|
|
@HardwareServiceParam(name = "板夹仓通道0位置", group = "板夹仓参数") |
|
@ -62,7 +62,7 @@ public class ReactionPlatesTransmitCtrlService implements HardwareCtrlModule { |
|
|
|
|
|
|
|
|
@HardwareServiceParam(name = "仓位0出板位置", group = "转盘参数") |
|
|
@HardwareServiceParam(name = "仓位0出板位置", group = "转盘参数") |
|
|
public Integer getTurntablePullPos0() { |
|
|
public Integer getTurntablePullPos0() { |
|
|
return hpReader.getInteger("TurntablePullPos0", 1650 + 18000); |
|
|
|
|
|
|
|
|
return hpReader.getInteger("TurntablePullPos0", 19700); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@HardwareServiceParam(name = "仓位0点滴位", group = "转盘参数") |
|
|
@HardwareServiceParam(name = "仓位0点滴位", group = "转盘参数") |
|
@ -89,7 +89,7 @@ public class ReactionPlatesTransmitCtrlService implements HardwareCtrlModule { |
|
|
|
|
|
|
|
|
@HardwareServiceParam(name = "扫描待机位", group = "光学模组参数") |
|
|
@HardwareServiceParam(name = "扫描待机位", group = "光学模组参数") |
|
|
public Integer getOptScanScandbyPos() { |
|
|
public Integer getOptScanScandbyPos() { |
|
|
return hpReader.getInteger("OptScanScandbyPos", 580); |
|
|
|
|
|
|
|
|
return hpReader.getInteger("OptScanScandbyPos", 305); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
@ -247,12 +247,24 @@ public class ReactionPlatesTransmitCtrlService implements HardwareCtrlModule { |
|
|
return AppRet.success(canBus.plateCodeScannerReadCode(MId.PlatesBoxScanner)); |
|
|
return AppRet.success(canBus.plateCodeScannerReadCode(MId.PlatesBoxScanner)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public void pushPlateQuick(PlateBoxCh PBCh, IncubatorPos turntablePosIndex) throws HardwareException, InterruptedException { |
|
|
|
|
|
trunableMoveToPushPos(turntablePosIndex); |
|
|
|
|
|
canBus.stepMotorEasyMoveToBlock(MId.PlatesBoxYM, getPBCh0Pos() + PBCh.off * getPBChSpacing(), getActionOvertime()); |
|
|
|
|
|
canBus.stepMotorEasyMoveToBlock(MId.PlatesBoxPusherM, getPusherEndPos(), getActionOvertime()); |
|
|
|
|
|
canBus.stepMotorEasyMoveToZeroPointQuickBlock(MId.PlatesBoxPusherM, getActionOvertime()); |
|
|
|
|
|
canBus.stepMotorEasyMoveToZeroPointQuickBlock(MId.PlatesBoxYM, getActionOvertime()); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@HardwareServiceAction(name = "拉板", group = "单步操作") |
|
|
@HardwareServiceAction(name = "拉板", group = "单步操作") |
|
|
public void pullPlate(IncubatorPos turntablePosIndex) throws HardwareException, InterruptedException { |
|
|
public void pullPlate(IncubatorPos turntablePosIndex) throws HardwareException, InterruptedException { |
|
|
trunableMoveToPullPos(turntablePosIndex); |
|
|
trunableMoveToPullPos(turntablePosIndex); |
|
|
canBus.stepMotorEasyMoveToBlock(MId.OptModScannerM, getOptScanScandbyPos(), getActionOvertime()); |
|
|
canBus.stepMotorEasyMoveToBlock(MId.OptModScannerM, getOptScanScandbyPos(), getActionOvertime()); |
|
|
canBus.stepMotorEasyMoveToBlock(MId.OptModPullM, getPullerTargetPos(), getActionOvertime()); |
|
|
canBus.stepMotorEasyMoveToBlock(MId.OptModPullM, getPullerTargetPos(), getActionOvertime()); |
|
|
|
|
|
if (!canBus.getIOState(IOId.PullerMEndPPS)) { |
|
|
|
|
|
logger.error("pull plate fail"); |
|
|
|
|
|
throw new HardwareException(A8kEcode.PullPlateFail); |
|
|
|
|
|
} |
|
|
canBus.stepMotorEasyMoveToZeroPointQuickBlock(MId.OptModPullM, getActionOvertime()); |
|
|
canBus.stepMotorEasyMoveToZeroPointQuickBlock(MId.OptModPullM, getActionOvertime()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -263,29 +275,33 @@ public class ReactionPlatesTransmitCtrlService implements HardwareCtrlModule { |
|
|
canBus.stepMotorEasyMoveToBlock(MId.OptModScannerM, getOptScanScandbyPos(), getActionOvertime()); |
|
|
canBus.stepMotorEasyMoveToBlock(MId.OptModScannerM, getOptScanScandbyPos(), getActionOvertime()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private Boolean breakDropAllPlateFlag = false; |
|
|
|
|
|
|
|
|
Boolean pushAllPlateAndDropBreakFlag = false; |
|
|
|
|
|
|
|
|
@HardwareServiceAction(name = "丢弃全部板", group = "测试") |
|
|
|
|
|
public void dropAllPlate() throws HardwareException, InterruptedException { |
|
|
|
|
|
breakDropAllPlateFlag = false; |
|
|
|
|
|
|
|
|
@HardwareServiceAction(name = "推全部板同时丢弃", group = "位置测试") |
|
|
|
|
|
public void pushAllPlateAndDrop(PlateBoxCh PBCh, IncubatorPos startPos) throws HardwareException, InterruptedException { |
|
|
|
|
|
pushAllPlateAndDropBreakFlag = false; |
|
|
checkBeforeMoveTrunable(); |
|
|
checkBeforeMoveTrunable(); |
|
|
checkBeforeMovePlateBox(); |
|
|
checkBeforeMovePlateBox(); |
|
|
modGroupMoveToZeroQuick(); |
|
|
modGroupMoveToZeroQuick(); |
|
|
|
|
|
dropPlate(); |
|
|
for (IncubatorPos index : IncubatorPos.values()) { |
|
|
for (IncubatorPos index : IncubatorPos.values()) { |
|
|
|
|
|
if (index.compareTo(startPos) < 0) { |
|
|
|
|
|
continue; |
|
|
|
|
|
} |
|
|
|
|
|
pushPlateQuick(PBCh, index); |
|
|
|
|
|
if (pushAllPlateAndDropBreakFlag) {break;} |
|
|
pullPlate(index); |
|
|
pullPlate(index); |
|
|
|
|
|
if (pushAllPlateAndDropBreakFlag) {break;} |
|
|
dropPlate(); |
|
|
dropPlate(); |
|
|
if (breakDropAllPlateFlag) { |
|
|
|
|
|
break; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
if (pushAllPlateAndDropBreakFlag) {break;} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@HardwareServiceAction(name = "打断-丢弃全部板", group = "测试") |
|
|
|
|
|
public void breakDropAllPlate() throws HardwareException, InterruptedException { |
|
|
|
|
|
breakDropAllPlateFlag = true; |
|
|
|
|
|
|
|
|
@HardwareServiceAction(name = "推全部板同时丢弃中断", group = "位置测试") |
|
|
|
|
|
public void pushAllPlateAndDropBreak() { |
|
|
|
|
|
pushAllPlateAndDropBreakFlag = true; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@HardwareServiceAction(name = "显示板夹扫码原始曲线", group = "辅助调试") |
|
|
@HardwareServiceAction(name = "显示板夹扫码原始曲线", group = "辅助调试") |
|
|
public AppRet<A8kScanCurve> readPlateScanCurve() throws HardwareException, InterruptedException { |
|
|
public AppRet<A8kScanCurve> readPlateScanCurve() throws HardwareException, InterruptedException { |
|
|
List<Integer> scanDataCurve = canBus.plateCodeScanerReadRawResult(MId.PlatesBoxScanner); |
|
|
List<Integer> scanDataCurve = canBus.plateCodeScanerReadRawResult(MId.PlatesBoxScanner); |
|
|