Browse Source

update

tags/v0
zhaohe 10 months ago
parent
commit
e4db2fa1ac
  1. BIN
      app.db
  2. 24
      src/main/java/a8k/service/app/devicedriver/calibration/Hbot2DCodeScanPosCalibration.java
  3. 48
      src/main/java/a8k/service/app/devicedriver/calibration/ReactionPlatesTransmitControlerCalibration.java
  4. 4
      src/main/java/a8k/service/app/devicedriver/ctrl/ReactionPlatesTransmitCtrl.java
  5. 139
      src/main/java/a8k/service/app/devicedriver/pos/Hbot2DCodeScanPos.java
  6. 1
      src/main/java/a8k/service/app/devicedriver/pos/HbotConsumablePosMgr.java
  7. 1
      src/main/java/a8k/service/app/devicedriver/pos/HbotFixPosMgr.java
  8. 1
      src/main/java/a8k/service/app/devicedriver/pos/HbotSamplePosMgr.java
  9. 11
      src/main/java/a8k/service/app/devicedriver/pos/OptModulePosMgr.java
  10. 64
      src/main/java/a8k/service/app/devicedriver/pos/PlatesBoxPosMgr.java
  11. 38
      src/main/java/a8k/service/app/devicedriver/pos/TubeFeedingModulePosMgr.java
  12. 1
      src/main/java/a8k/service/app/devicedriver/pos/TubeHolderParamMgr.java
  13. 4
      src/main/java/a8k/service/app/devicedriver/pos/TubePreProcesPosMgr.java
  14. 30
      src/main/java/a8k/service/app/devicedriver/pos/TurntablePosMgr.java
  15. 1
      src/main/java/a8k/service/db/LowerDeviceParameterDBService.java
  16. 7
      src/main/java/a8k/service/db/utils/PosParameterReader.java

BIN
app.db

24
src/main/java/a8k/service/app/devicedriver/calibration/Hbot2DCodeScanPosCalibration.java

@ -41,29 +41,9 @@ public class Hbot2DCodeScanPosCalibration {
@ExtApiFn(name = "获取所有坐标",group = "基础", order = 1)
public ObjectNode getPoss() throws AppException {
ObjectMapper mapper = new ObjectMapper();
ObjectNode node = new ObjectMapper().createObjectNode();
ArrayNode PBScanPos = node.putArray("PBScanPos");
ArrayNode LittBSScanPos = node.putArray("LittBSScanPos");
ArrayNode LarBSScanPos = node.putArray("LarBSScanPos");
for (int i = 0; i < 6; i++) {
PBScanPos.add(mapper.valueToTree(hbot2DCodeScanPos.getPBScanPosX(i).toString()));
public Object getParams() throws AppException {
return hbot2DCodeScanPos.getParams();
}
for (int i = 0; i < 6; i++) {
LittBSScanPos.add(mapper.valueToTree(hbot2DCodeScanPos.getLittBSX(i).toString()));
}
for (int i = 0; i < 6; i++) {
LarBSScanPos.add(mapper.valueToTree(hbot2DCodeScanPos.getLarBSX(i).toString()));
}
return node;
}
// 测试工具
@ExtApiFn(name = "归零", group = "测试工具", order = 11)
public void deviceReset() throws AppException {

48
src/main/java/a8k/service/app/devicedriver/calibration/ReactionPlatesTransmitControlerCalibration.java

@ -62,8 +62,6 @@ public class ReactionPlatesTransmitControlerCalibration {
stepMotorControler.stepMotorEasyMoveToZeroBlock(StepMotorMId.OptModPullM, overtime);
stepMotorControler.stepMotorEasyMoveToZeroBlock(StepMotorMId.OptModScannerM, overtime);
stepMotorControler.stepMotorEasyMoveToZeroBlock(StepMotorMId.IncubatorRotateCtrlM, overtime);
}
@ExtApiFn(name = "使能相关模块", group = "测试工具", order = 2)
@ -90,15 +88,22 @@ public class ReactionPlatesTransmitControlerCalibration {
hbotModule.enable(0);
}
@ExtApiFn(name = "读取所有设定值", group = "测试工具", order = 5)
public Map<String, Object> getPoss() {
return Map.of(
"optModulePosMgr", optModulePosMgr,
"turntablePosMgr", turntablePosMgr,
"platesBoxPosMgr", platesBoxPosMgr
);
@ExtApiFn(name = "读取板夹仓坐标", group = "测试工具", order = 5)
public Object getPlatesBoxPos() {
return platesBoxPosMgr.getParams();
}
@ExtApiFn(name = "读取光学模组坐标", group = "测试工具", order = 6)
public Object getOptModulePos() {
return optModulePosMgr.getParams();
}
@ExtApiFn(name = "读取孵育盘坐标", group = "测试工具", order = 7)
public Object getTurntablePos() {
return turntablePosMgr.getParams();
}
//
// 孵育盘校准
//
@ -144,21 +149,30 @@ public class ReactionPlatesTransmitControlerCalibration {
//
// 板夹仓位置
//
@ExtApiFn(name = "设置板夹仓-Y轴间距", group = "板夹仓.校准", order = 200)
public void PlatesBoxPosMgr_setYSpacing(Integer spaceing) throws AppException {
platesBoxPosMgr.setYSpacing(spaceing);
}
// @ExtApiFn(name = "设置板夹仓-Y轴间距", group = "板夹仓.校准", order = 200)
// public void PlatesBoxPosMgr_setYSpacing(Integer spaceing) throws AppException {
// platesBoxPosMgr.setYSpacing(spaceing);
// }
@ExtApiFn(name = "设置板夹仓-仓0-Y轴坐标", group = "板夹仓.校准", order = 201)
public Integer PlatesBoxPosMgr_setCh0YPos() throws AppException {
stepMotorControler.stepMotorEnable(StepMotorMId.PlatesBoxYM, 1);
stepMotorControler.stepMotorEnable(StepMotorMId.PlatesBoxPusherM, 1);
Integer ch0YPos = stepMotorControler.stepMotorReadPosByMoveToZeroBlock(StepMotorMId.PlatesBoxYM, overtime);
platesBoxPosMgr.setCh0YPos(ch0YPos);
return ch0YPos;
Integer pos = stepMotorControler.stepMotorReadPosByMoveToZeroBlock(StepMotorMId.PlatesBoxYM, overtime);
platesBoxPosMgr.setCh0YPos(pos);
return pos;
}
@ExtApiFn(name = "设置板夹仓-仓5-Y轴坐标", group = "板夹仓.校准", order = 202)
public Integer PlatesBoxPosMgr_setCh5YPos() throws AppException {
stepMotorControler.stepMotorEnable(StepMotorMId.PlatesBoxYM, 1);
stepMotorControler.stepMotorEnable(StepMotorMId.PlatesBoxPusherM, 1);
Integer pos = stepMotorControler.stepMotorReadPosByMoveToZeroBlock(StepMotorMId.PlatesBoxYM, overtime);
platesBoxPosMgr.setCh5YPos(pos);
return pos;
}
@ExtApiFn(name = "设置板夹仓-仓0-X轴到位坐标", group = "板夹仓.校准", order = 202)
@ExtApiFn(name = "设置板夹仓-仓0-X轴到位坐标", group = "板夹仓.校准", order = 203)
public Integer PlatesBoxPosMgr_setPushEndXPos() throws AppException {
stepMotorControler.stepMotorEnable(StepMotorMId.PlatesBoxYM, 1);
stepMotorControler.stepMotorEnable(StepMotorMId.PlatesBoxPusherM, 1);

4
src/main/java/a8k/service/app/devicedriver/ctrl/ReactionPlatesTransmitCtrl.java

@ -111,7 +111,7 @@ public class ReactionPlatesTransmitCtrl {
public void pushPlateQuick(ConsumableGroup PBCh, IncubatorPos turntablePosIndex) throws AppException {
trunableMoveToPushPos(turntablePosIndex);
stepMotorControler.stepMotorEasyMoveToBlock(StepMotorMId.PlatesBoxYM, platesBoxPosMgr.getCh0YPos() + PBCh.off * platesBoxPosMgr.getYSpacing(), overtime);
stepMotorControler.stepMotorEasyMoveToBlock(StepMotorMId.PlatesBoxYM, platesBoxPosMgr.getChXPos(PBCh.off), overtime);
stepMotorControler.stepMotorEasyMoveToBlock(StepMotorMId.PlatesBoxPusherM, platesBoxPosMgr.getPushEndXPos(), overtime);
stepMotorControler.stepMotorEasyMoveToZeroPointQuickBlock(StepMotorMId.PlatesBoxPusherM, overtime);
stepMotorControler.stepMotorEasyMoveToZeroPointQuickBlock(StepMotorMId.PlatesBoxYM, overtime);
@ -135,6 +135,4 @@ public class ReactionPlatesTransmitCtrl {
}
}

139
src/main/java/a8k/service/app/devicedriver/pos/Hbot2DCodeScanPos.java

@ -3,6 +3,7 @@ package a8k.service.app.devicedriver.pos;
import a8k.extapi_controler.pagecontrol.ExtApiTabConfig;
import a8k.extapi_controler.utils.*;
import a8k.service.db.LowerDeviceParameterDBService;
import a8k.service.db.type.Parameter;
import a8k.service.db.utils.PosParameterReader;
import a8k.type.cfg.Pos2d;
import jakarta.annotation.PostConstruct;
@ -11,6 +12,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* HBOT二维码扫描坐标参数
*/
@ -20,6 +23,35 @@ import org.springframework.stereotype.Component;
public class Hbot2DCodeScanPos {
static final Logger logger = LoggerFactory.getLogger(Hbot2DCodeScanPos.class);
enum POS {
PBScanPos0("板夹仓扫码位置0"),
PBScanPos1("板夹仓扫码位置1"),
PBScanPos2("板夹仓扫码位置2"),
PBScanPos3("板夹仓扫码位置3"),
PBScanPos4("板夹仓扫码位置4"),
PBScanPos5("板夹仓扫码位置5"),
LittBS0("小缓冲液扫码位置0"),
LittBS1("小缓冲液扫码位置1"),
LittBS2("小缓冲液扫码位置2"),
LittBS3("小缓冲液扫码位置3"),
LittBS4("小缓冲液扫码位置4"),
LittBS5("小缓冲液扫码位置5"),
LarBS0("大缓冲液扫码位置0"),
LarBS1("大缓冲液扫码位置1"),
LarBS2("大缓冲液扫码位置2"),
LarBS3("大缓冲液扫码位置3"),
LarBS4("大缓冲液扫码位置4"),
LarBS5("大缓冲液扫码位置5"),
;
public final String chName;
POS(String chName) {
this.chName = chName;
}
}
@Resource
LowerDeviceParameterDBService lowerDeviceParameterDBService;
@ -30,9 +62,14 @@ public class Hbot2DCodeScanPos {
@PostConstruct
void initialize() {
posReader = lowerDeviceParameterDBService.getReader(this.getClass());
for (POS pos : POS.values()) {
posReader.setParamChName(pos, pos.chName);
}
}
public List<Parameter> getParams() {
return posReader.getParams();
}
public void setPBScanPosX(Integer X, Pos2d pos) {
logger.info("setPBScanPos{} {}", X, pos);
@ -49,9 +86,7 @@ public class Hbot2DCodeScanPos {
posReader.setParam("LarBS" + X, pos);
}
public Pos2d getPBScanPosX(Integer X) {
return posReader.getPos("PBScanPos" + X, Pos2d.class);
}
public Pos2d getPBScanPosX(Integer X) {return posReader.getPos("PBScanPos" + X, Pos2d.class);}
public Pos2d getLittBSX(Integer X) {
return posReader.getPos("LittBS" + X, Pos2d.class);
@ -62,56 +97,52 @@ public class Hbot2DCodeScanPos {
}
public void paramReset() {
logger.info("init param");
posReader.setVersion(nowParaVersion);
{
//板夹仓扫码位置
Pos2d pos0 = new Pos2d(-20, 1504);
int scanYSpacing = 265;
setPBScanPosX(0, pos0);
setPBScanPosX(1, pos0.add(0, scanYSpacing));
setPBScanPosX(2, pos0.add(0, scanYSpacing * 2));
setPBScanPosX(3, pos0.add(0, scanYSpacing * 3));
setPBScanPosX(4, pos0.add(0, scanYSpacing * 4));
setPBScanPosX(5, pos0.add(0, scanYSpacing * 5));
}
{
// 小缓冲液扫码位置
Pos2d pos0 = new Pos2d(741 + 579 + 333, 937 + 1097 + 29);
int xSpacing = 1230;
int ySpacing = 1250;
setLittBSX(0, pos0.add(0, 0));
setLittBSX(1, pos0.add(xSpacing, 0));
setLittBSX(2, pos0.add(xSpacing * 2, 0));
setLittBSX(3, pos0.add(0, ySpacing));
setLittBSX(4, pos0.add(xSpacing, ySpacing));
setLittBSX(5, pos0.add(xSpacing * 2, ySpacing));
}
{
// 大缓冲扫码位置
Pos2d LarBSPos0 = new Pos2d(4474 + 60 + 333, 1172 + 30 + 29);
int xSpacing = 280;
int ySpacing = 580;
setLarBSX(0, LarBSPos0.add(0, 0));
setLarBSX(1, LarBSPos0.add(xSpacing, 0));
setLarBSX(2, LarBSPos0.add(xSpacing * 2, 0));
setLarBSX(3, LarBSPos0.add(0, ySpacing));
setLarBSX(4, LarBSPos0.add(xSpacing, ySpacing));
setLarBSX(5, LarBSPos0.add(xSpacing * 2, ySpacing));
}
}
// public void paramReset() {
// logger.info("init param");
//
// {
// //板夹仓扫码位置
// Pos2d pos0 = new Pos2d(-20, 1504);
// int scanYSpacing = 265;
//
// setPBScanPosX(0, pos0);
// setPBScanPosX(1, pos0.add(0, scanYSpacing));
// setPBScanPosX(2, pos0.add(0, scanYSpacing * 2));
// setPBScanPosX(3, pos0.add(0, scanYSpacing * 3));
// setPBScanPosX(4, pos0.add(0, scanYSpacing * 4));
// setPBScanPosX(5, pos0.add(0, scanYSpacing * 5));
//
// }
//
// {
// // 小缓冲液扫码位置
// Pos2d pos0 = new Pos2d(741 + 579 + 333, 937 + 1097 + 29);
// int xSpacing = 1230;
// int ySpacing = 1250;
//
// setLittBSX(0, pos0.add(0, 0));
// setLittBSX(1, pos0.add(xSpacing, 0));
// setLittBSX(2, pos0.add(xSpacing * 2, 0));
// setLittBSX(3, pos0.add(0, ySpacing));
// setLittBSX(4, pos0.add(xSpacing, ySpacing));
// setLittBSX(5, pos0.add(xSpacing * 2, ySpacing));
// }
//
// {
// // 大缓冲扫码位置
// Pos2d LarBSPos0 = new Pos2d(4474 + 60 + 333, 1172 + 30 + 29);
// int xSpacing = 280;
// int ySpacing = 580;
//
// setLarBSX(0, LarBSPos0.add(0, 0));
// setLarBSX(1, LarBSPos0.add(xSpacing, 0));
// setLarBSX(2, LarBSPos0.add(xSpacing * 2, 0));
// setLarBSX(3, LarBSPos0.add(0, ySpacing));
// setLarBSX(4, LarBSPos0.add(xSpacing, ySpacing));
// setLarBSX(5, LarBSPos0.add(xSpacing * 2, ySpacing));
//
// }
// }
}

1
src/main/java/a8k/service/app/devicedriver/pos/HbotConsumablePosMgr.java

@ -42,7 +42,6 @@ public class HbotConsumablePosMgr {
public void paramReset() {
logger.info("init param");
posReader.setVersion(nowParaVersion);
posReader.setParam(HbotConsumablePosParam.TipGroup0_000Pos, new Pos3d());

1
src/main/java/a8k/service/app/devicedriver/pos/HbotFixPosMgr.java

@ -55,7 +55,6 @@ public class HbotFixPosMgr {
public void paramReset() {
logger.info("init param");
posReader.setVersion(nowParaVersion);
posReader.setParam(Pos.DropTipPos.name(), new Pos3d(0, 0, 0));
posReader.setParam(Pos.DropLiquidPos.name(), new Pos3d(0, 0, 0));
}

1
src/main/java/a8k/service/app/devicedriver/pos/HbotSamplePosMgr.java

@ -42,7 +42,6 @@ public class HbotSamplePosMgr {
public void paramReset() {
logger.info("init param");
posReader.setVersion(nowParaVersion);
}
public List<Parameter> getParams() {

11
src/main/java/a8k/service/app/devicedriver/pos/OptModulePosMgr.java

@ -2,6 +2,7 @@ package a8k.service.app.devicedriver.pos;
import a8k.service.db.LowerDeviceParameterDBService;
import a8k.service.db.type.Parameter;
import a8k.service.db.utils.PosParameterReader;
import jakarta.annotation.PostConstruct;
import jakarta.annotation.Resource;
@ -9,6 +10,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* HBOT二维码扫描坐标参数
*/
@ -41,12 +44,18 @@ public class OptModulePosMgr {
@PostConstruct
void initialize() {
posReader = lowerDeviceParameterDBService.getReader(this.getClass());
for (POS pos : POS.values()) {
posReader.setParamChName(pos, pos.chName);
}
}
public List<Parameter> getParams() {
return posReader.getParams();
}
public void paramReset() {
logger.info("init param");
posReader.setVersion(nowParaVersion);
posReader.setParam(POS.PullerTargetPos, 1147);
posReader.setParam(POS.OptScanerDropPos, -349);
posReader.setParam(POS.OptScanerScandbyPos, 305);

64
src/main/java/a8k/service/app/devicedriver/pos/PlatesBoxPosMgr.java

@ -2,6 +2,7 @@ package a8k.service.app.devicedriver.pos;
import a8k.service.db.LowerDeviceParameterDBService;
import a8k.service.db.type.Parameter;
import a8k.service.db.utils.PosParameterReader;
import jakarta.annotation.PostConstruct;
import jakarta.annotation.Resource;
@ -9,35 +10,25 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import java.util.List;
@Component
public class PlatesBoxPosMgr {
static final Logger logger = LoggerFactory.getLogger(PlatesBoxPosMgr.class);
enum POS {
Ch0YPos,
YSpacing,
PushEndXPos,
Ch0YPos("通道0Y轴位置"),
Ch5YPos("通道5Y轴位置"),
PushEndXPos("推杆到位坐标"),
;
public final String chName;
POS(String chName) {
this.chName = chName;
}
// @ExtApiParam(name = "板夹仓通道0位置", group = "板夹仓参数", order = ORDER.getPBCh0Pos)
// public Integer getPBCh0Pos() {
// return hpReader.getInteger("PBCh0Pos", -17);
// }
//
// @ExtApiParam(name = "板夹仓通道间距", group = "板夹仓参数", order = ORDER.getPBChSpacing)
// public Integer getPBChSpacing() {
// return hpReader.getInteger("PBChSpacing", 265);
// }
//
// @ExtApiParam(name = "推杆到位坐标", group = "板夹仓参数", order = ORDER.getPusherEndPos)
// public Integer getPusherEndPos() {
// return hpReader.getInteger("PusherEndPos", 1160);
// }
//
// @ExtApiParam(name = "推杆扫码开始坐标", group = "板夹仓参数", order = ORDER.getPusherScanStartPos)
// public Integer getPusherScanStartPos() {
// return hpReader.getInteger("PusherScanStartPos", 960);
// }
//
}
@Resource
LowerDeviceParameterDBService lowerDeviceParameterDBService;
@ -48,25 +39,36 @@ public class PlatesBoxPosMgr {
@PostConstruct
void initialize() {
posReader = lowerDeviceParameterDBService.getReader(this.getClass());
for (POS pos : POS.values()) {
posReader.setParamChName(pos, pos.chName);
}
}
public List<Parameter> getParams(){
return posReader.getParams();
}
public void paramReset() {
logger.info("init param");
posReader.setVersion(nowParaVersion);
posReader.setParam(POS.Ch0YPos, -17);
posReader.setParam(POS.YSpacing, 265);
posReader.setParam(POS.Ch5YPos, 1308);
posReader.setParam(POS.PushEndXPos, 1160);
}
public Integer getCh0YPos() {
return posReader.getPos(POS.Ch0YPos, Integer.class);
}
public Integer getYSpacing() {
return posReader.getPos(POS.YSpacing, Integer.class);
public Integer getCh5YPos() {
return posReader.getPos(POS.Ch0YPos, Integer.class);
}
public Double getYSpacing() {
return (getCh5YPos() - getCh0YPos()) / 5.0;
}
public Integer getChXPos(int ch) {
return (int) (getCh0YPos() + ch * getYSpacing());
}
public Integer getPushEndXPos() {
@ -77,8 +79,8 @@ public class PlatesBoxPosMgr {
posReader.setParam(POS.Ch0YPos, pos);
}
public void setYSpacing(Integer pos) {
posReader.setParam(POS.YSpacing, pos);
public void setCh5YPos(Integer pos) {
posReader.setParam(POS.Ch5YPos, pos);
}
public void setPushEndXPos(Integer pos) {

38
src/main/java/a8k/service/app/devicedriver/pos/TubeFeedingModulePosMgr.java

@ -10,44 +10,40 @@ import org.springframework.stereotype.Component;
@Component
//horizontal scroll
public class TubeFeedingModulePosMgr {
static final Logger logger = LoggerFactory.getLogger(TubeFeedingModulePosMgr.class);
// public final Integer ScanerClampingSVReleasePos = 100;
// public final Integer ScanerClampingSVClampingPos = 1000;
public enum POS {
TubeHolderEnterXPos, // 入料位置
TubeHolderExitXPos, // 出料位置
TubeHolderScanXPos, // 试管架扫描位置
Tube0ScanXPos, // 0号试管扫描位置
Tube0AltitJudgXPos, // 0试管高度判断位置
Tube0ExistJudgXPos, // 0试管存在判断位置
Tube0PreProcessXPos, // 0试管预处理位置
TubeScanServoTorque, // 试管扫描伺服力矩
TubeHolderEnterXPos("入料位置"), //
TubeHolderExitXPos("出料位置"), //
TubeHolderScanXPos("试管架扫描位置"), //
Tube0ScanXPos("0号试管扫描位置"), //
Tube0AltitJudgXPos("0试管高度判断位置"), //
Tube0ExistJudgXPos("0试管存在判断位置"), //
Tube0PreProcessXPos("0试管预处理位置"), //
TubeScanServoTorque("试管扫描伺服力矩"), //
;
final String chName;
POS(String chName) {
this.chName = chName;
}
}
@Resource
LowerDeviceParameterDBService lowerDeviceParameterDBService;
PosParameterReader posReader = null;
Integer nowParaVersion = 1;
//
// MotorTubeRackMoveCtrlService
//
@PostConstruct
void initialize() {
posReader = lowerDeviceParameterDBService.getReader(this.getClass());
Integer paraVersion = posReader.getVersion();
for (POS pos : POS.values()) {
posReader.setParamChName(pos, pos.chName);
}
// if (!nowParaVersion.equals(paraVersion)) {
// logger.info("init param");
// posReader.setVersion(nowParaVersion);
// posReader.setParam(POS.TubeHolderEnterXPos, -46);
// posReader.setParam(POS.TubeHolderExitXPos, 3975);
// posReader.setParam(POS.TubeHolderScanXPos, 2202);

1
src/main/java/a8k/service/app/devicedriver/pos/TubeHolderParamMgr.java

@ -30,7 +30,6 @@ public class TubeHolderParamMgr {
void paramReset() {
logger.info("init param");
posReader.setVersion(nowParaVersion);
posReader.setParam("TubeSpacing", 200);
}

4
src/main/java/a8k/service/app/devicedriver/pos/TubePreProcesPosMgr.java

@ -44,7 +44,9 @@ public class TubePreProcesPosMgr {
@PostConstruct
void initialize() {
posReader = lowerDeviceParameterDBService.getReader(this.getClass());
Integer paraVersion = posReader.getVersion();
for (POS pos : POS.values()) {
posReader.setParamChName(pos, pos.chName);
}
// if (!nowParaVersion.equals(paraVersion)) {
// logger.info("init param");
// posReader.setVersion(nowParaVersion);

30
src/main/java/a8k/service/app/devicedriver/pos/TurntablePosMgr.java

@ -1,6 +1,7 @@
package a8k.service.app.devicedriver.pos;
import a8k.service.db.LowerDeviceParameterDBService;
import a8k.service.db.type.Parameter;
import a8k.service.db.utils.PosParameterReader;
import jakarta.annotation.PostConstruct;
import jakarta.annotation.Resource;
@ -8,6 +9,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* HBOT二维码扫描坐标参数
*/
@ -19,33 +22,44 @@ public class TurntablePosMgr {
* 转盘相关位置
*/
enum POS {
PushPos0,
PullPos0,
DropLiquidPos0,
PosSpacing
PushPos0("入板位置"),
PullPos0("出板位置"),
DropLiquidPos0("滴液位置"),
PosSpacing("位置间隔"),
;
final String chName;
POS(String chName) {
this.chName = chName;
}
}
@Resource
LowerDeviceParameterDBService lowerDeviceParameterDBService;
PosParameterReader posReader = null;
static Integer nowParaVersion = 0;
@PostConstruct
void initialize() {
posReader = lowerDeviceParameterDBService.getReader(this.getClass());
for (POS pos : POS.values()) {
posReader.setParamChName(pos, pos.chName);
}
}
public void paramReset() {
logger.info("init param");
posReader.setVersion(nowParaVersion);
posReader.setParam(POS.PushPos0, 1650);
posReader.setParam(POS.PullPos0, 19700);
posReader.setParam(POS.DropLiquidPos0, 1650 + 8950);
posReader.setParam(POS.PosSpacing, 1800);
}
public List<Parameter> getParams() {
return posReader.getParams();
}
public Integer getPushPos0() {
return posReader.getPos(POS.PushPos0, Integer.class);
}

1
src/main/java/a8k/service/db/LowerDeviceParameterDBService.java

@ -51,6 +51,7 @@ public class LowerDeviceParameterDBService {
// ZSqliteJdbcHelper.delete(jdbcTemplate, tableName, old.id);
// Parameter newobj = old.deepCopy();
// newobj.id = 0;
// newobj.chName = chName;
// ZSqliteJdbcHelper.addObj(jdbcTemplate, tableName, tClass, newobj);
// }

7
src/main/java/a8k/service/db/utils/PosParameterReader.java

@ -47,13 +47,8 @@ public class PosParameterReader {
lowerDeviceParameterDBService.tryInitParam(service.getSimpleName(), key.name(), parm);
}
public Integer getVersion() {
return lowerDeviceParameterDBService.getParamVersion(service.getSimpleName());
}
public void setVersion(Integer version) {
lowerDeviceParameterDBService.setParamVersion(service.getSimpleName(), version);
}
public List<Parameter> getParams() {
return lowerDeviceParameterDBService.getParams(service.getSimpleName());

Loading…
Cancel
Save