Browse Source

Merge remote-tracking branch 'origin/master'

tags/v0
sige 1 year ago
parent
commit
b40ba4568f
  1. 2
      src/main/java/a8k/appbase/appret/AppRet.java
  2. 4
      src/main/java/a8k/service/devicectrl/commonctrl/HardwareCommonCtrl.java
  3. 40
      src/main/java/a8k/service/devicectrl/status/DeviceStatus.java
  4. 65
      src/main/java/a8k/service/hardware/canbus/protocol/A8kEcode.java

2
src/main/java/a8k/appbase/appret/AppRet.java

@ -134,7 +134,7 @@ public class AppRet<T> {
if (e instanceof HardwareException hexcep) {
r.ecode = new AppRetEcodeInfo(hexcep.getErrorCode(), hexcep.getModuleId(), hexcep.getCmdId());
r.traceInfo = r.ecode.toDisPlayString() + hexcep.getExtMessage();
r.traceInfo = trace;
r.message = r.ecode.toDisPlayString() + hexcep.getExtMessage();
} else {
r.ecode = new AppRetEcodeInfo(A8kEcode.CodeException, null, null);

4
src/main/java/a8k/service/devicectrl/commonctrl/HardwareCommonCtrl.java

@ -25,8 +25,8 @@ public class HardwareCommonCtrl {
static class ORDER {
static final int initializeDevice = 1;
static final int deviceEnable = 2;
static final int deviceClear = 3;
static final int deviceClear = 2;
static final int deviceEnable = 3;
}
@Resource

40
src/main/java/a8k/service/devicectrl/status/DeviceStatus.java

@ -17,54 +17,68 @@ public class DeviceStatus {
@Resource
A8kCanBusService canBus;
static class ORDER {
static final int isTubeExist = 1;
static final int isTubeRackInEnterPos = 2;
static final int isTubeRackInExitPos = 3;
static final int isHighTube = 4;
static final int getTHchOuterPPS = 5;
static final int getTHchInterPPS = 6;
static final int getXPPS = 7;
static final int getYPPS = 8;
static final int getZPPS = 9;
static final int getTipPPS = 10;
}
//
// 状态
//
@EnginnerPageStatu(name = "试管架存在")
@EnginnerPageStatu(name = "试管架存在", group = "进出料光电", order = ORDER.isTubeExist)
public Boolean isTubeExist() throws HardwareException {
return canBus.getIOState(IOId.TubeExistPPS);
}
@EnginnerPageStatu(name = "入口光电")
@EnginnerPageStatu(name = "入口光电", group = "进出料光电", order = ORDER.isTubeRackInEnterPos)
public Boolean isTubeRackInEnterPos() throws HardwareException {
return canBus.getIOState(IOId.InfeedPPS);
}
@EnginnerPageStatu(name = "出口光电")
@EnginnerPageStatu(name = "出口光电", group = "进出料光电", order = ORDER.isTubeRackInExitPos)
public Boolean isTubeRackInExitPos() throws HardwareException {
return canBus.getIOState(IOId.OutfeedPPS);
}
@EnginnerPageStatu(name = "高低判读光电")
@EnginnerPageStatu(name = "试管高低判读光电", group = "进出料光电", order = ORDER.isHighTube)
public Boolean isHighTube() throws HardwareException {
return canBus.getIOState(IOId.TubeHeightPPS);
}
@EnginnerPageStatu(name = "通道外光电")
@EnginnerPageStatu(name = "通道外光电", group = "进出料光电", order = ORDER.getTHchOuterPPS)
public Boolean getTHchOuterPPS() throws HardwareException {
return canBus.getIOState(IOId.THChOuterPPS);
}
@EnginnerPageStatu(name = "通道内光电")
@EnginnerPageStatu(name = "通道内光电", group = "进出料光电", order = ORDER.getTHchInterPPS)
public Boolean getTHchInterPPS() throws HardwareException {
return canBus.getIOState(IOId.THChInterPPS);
}
@EnginnerPageStatu(name = "Z轴光电⬆")
public Boolean getZPPS() throws HardwareException {
return canBus.stepMotorReadIoState(MId.PipetteModZM, 0);
}
@EnginnerPageStatu(name = "X轴光电➡")
@EnginnerPageStatu(name = "X轴光电➡", group = "HBOT", order = ORDER.getXPPS)
public Boolean getXPPS() throws HardwareException {
return canBus.hbotReadInio(MId.HbotM, 0);
}
@EnginnerPageStatu(name = "Y轴光电⬇")
@EnginnerPageStatu(name = "Y轴光电⬇", group = "HBOT", order = ORDER.getYPPS)
public Boolean getYPPS() throws HardwareException {
return canBus.hbotReadInio(MId.HbotM, 1);
}
@EnginnerPageStatu(name = "Z轴光电⬆", group = "HBOT", order = ORDER.getZPPS)
public Boolean getZPPS() throws HardwareException {
return canBus.stepMotorReadIoState(MId.PipetteModZM, 0);
}
// @HardwareServiceStatus(name = "TipState")
public Boolean getTipPPS() throws HardwareException {
return canBus.moduleGetReg(MId.PipetteMod, RegIndex.kreg_pipette_tip_state) == 1;

65
src/main/java/a8k/service/hardware/canbus/protocol/A8kEcode.java

@ -45,11 +45,14 @@ public enum A8kEcode {
A8kIDCardContentError(301, "ID卡内容错误"), //
A8kIDCardVersionIsLow(302, "ID卡版本过低"), //
AppOptionIsInvalid(400, "AppOptionIsInvalid"), //
AppOptionIsInvalid(400, "参数操作"), //
//
// FOR HARDWARE
//
// kxymotor_not_move_to_zero = 1310,
// kstep_motor_not_move_to_zero = 1612,
HardwareError(1001, "硬件错误"),//
ParamOutOfRange(1102, "参数范围错误"),//
@ -62,15 +65,17 @@ public enum A8kEcode {
DeviceOffline(1109, "设备离线"),//
SubdeviceOvertime(1111, "子设备超时"),//
BufferNotEnough(1112, "缓存溢出"),//
CmdParamNumError(1114, "CmdParamNumError"),//
CheckcodeIsError(1115, "CheckcodeIsError"),//
IllegalOperation(1116, "IllegalOperation"),//
ModuleOpeationBreakByUser(1202, "ModuleOpeationBreakByUser"),//
ModuleNotFindReg(1207, "ModuleNotFindReg"),//
XYMotorXFindZeroEdgeFail(1306, "XYMotorXFindZeroEdgeFail"),//
XYMotorYFindZeroEdgeFail(1307, "XYMotorYFindZeroEdgeFail"),//
XYMotorNotEnable(1308, "XYMotorNotEnable"),//
XYMotorTargetPosOutofRange(1309, "XYMotorTargetPosOutofRange"),//
CmdParamNumError(1114, "指令参数数量不对"),//
CheckcodeIsError(1115, "校验码错误"),//
IllegalOperation(1116, "非法操作"),//
ModuleOpeationBreakByUser(1202, "模块操作被用户中断"),//
ModuleNotFindReg(1207, "找不到对应的寄存器"),//
XYMotorXFindZeroEdgeFail(1306, "X轴找零失败"),//
XYMotorYFindZeroEdgeFail(1307, "Y轴找零失败"),//
XYMotorNotEnable(1308, "XY轴未使能"),//
XYMotorTargetPosOutofRange(1309, "XY轴目标位置超出范围"),//
XYmotorNotMoveToZero(1310, "XY轴未回零"),//
PipetteErrorNoerror(1400, "PipetteErrorNoerror"),//
PipetteErrorInitfail(1401, "PipetteErrorInitfail"),//
PipetteErrorInvalidcmd(1402, "PipetteErrorInvalidcmd"),//
@ -97,25 +102,27 @@ public enum A8kEcode {
PipetteErrorNotLldPrepare(1502, "PipetteErrorNotLldPrepare"),//
PipetteErrorTipisloadWhenLldPrepare(1500, "PipetteErrorTipisloadWhenLldPrepare"),//
PipetteErrorPumpLoadValIsNotEmpty(1503, "PipetteErrorPumpLoadValIsNotEmpty"),//
StepMotorNotFoundZeroPoint(1600, "StepMotorNotFoundZeroPoint"),//
StepMotorNotGoZero(1601, "StepMotorNotGoZero"),//
StepMotorOverTemperature(1602, "StepMotorOverTemperature"),//
StepMotorOverVoltage(1603, "StepMotorOverVoltage"),//
StepMotorRunOvertime(1604, "StepMotorRunOvertime"),//
StepMotorNotEnable(1605, "StepMotorNotEnable"),//
StepMotorIoindexOutOfRange(1606, "StepMotorIoindexOutOfRange"),//
StepMotorSubicReset(1607, "StepMotorSubicReset"),//
StepMotorDrvErr(1608, "StepMotorDrvErr"),//
StepMotorUvCp(1609, "StepMotorUvCp"),//
StepMotorNotFoundPointEdge(1610, "StepMotorNotFoundPointEdge"),//
StepMotorLostStep(1611, "StepMotorLostStep"),//
MiniServoNotEnable(1700, "MiniServoNotEnable"),//
MiniServoModeNotSupport(1701, "MiniServoModeNotSupport"),//
FanHardwareFault(1800, "FanHardwareFault"),//
WaterCoolingFanError(1900, "WaterCoolingFanError"),//
WaterCoolingTemperatureSensorError(1902, "WaterCoolingTemperatureSensorError"),//
WaterCoolingPumpIsError(1903, "WaterCoolingPumpIsError"),//
WaterCoolingPelterIsError(1904, "WaterCoolingPelterIsError"),
StepMotorNotFoundZeroPoint(1600, "步进电机未找到零点"),//
StepMotorNotGoZero(1601, "步进电机未回零"),//
StepMotorOverTemperature(1602, "步进电机过温"),//
StepMotorOverVoltage(1603, "步进电机过压"),//
StepMotorRunOvertime(1604, "步进电机运行超时"),//
StepMotorNotEnable(1605, "步进电机未使能"),//
StepMotorIoindexOutOfRange(1606, "步进电机IO索引超出范围"),//
StepMotorSubicReset(1607, "步进电机子设备复位"),//
StepMotorDrvErr(1608, "步进电机驱动错误"),//
StepMotorUvCp(1609, "步进电机UV CP"),//
StepMotorNotFoundPointEdge(1610, "步进电机未找到零点边沿"),//
StepMotorLostStep(1611, "步进电机丢步"),//
StepMotorNotMoveToZero(1611, "步进电机未回零"),//
MiniServoNotEnable(1700, "舵机未使能"),//
MiniServoModeNotSupport(1701, "舵机模式不支持"),//
FanHardwareFault(1800, "风扇硬件故障"),//
WaterCoolingFanError(1900, "水冷风扇故障"),//
WaterCoolingTemperatureSensorError(1902, "水冷温度传感器故障"),//
WaterCoolingPumpIsError(1903, "水冷水泵故障"),//
WaterCoolingPelterIsError(1904, "水冷电热片故障"),//
;
public int index;

Loading…
Cancel
Save