Browse Source

update

tags/v0
zhaohe 10 months ago
parent
commit
6b93a610e5
  1. BIN
      app.db
  2. 2
      src/main/java/a8k/extapi_controler/pagecontrol/ExtApiTabConfig.java
  3. 9
      src/main/java/a8k/service/app/devicedriver/calibration/TubeFeedingModulePosCalibration.java
  4. 8
      src/main/java/a8k/service/app/devicedriver/calibration/TubePreProcesPosCalibration.java
  5. 7
      src/main/java/a8k/service/app/devicedriver/ctrl/TubeTubeFeedingModule.java
  6. 17
      src/main/java/a8k/service/app/devicedriver/pos/TubeFeedingModulePosMgr.java
  7. 11
      src/main/java/a8k/service/app/devicedriver/pos/TubePreProcesPosMgr.java
  8. 8
      src/main/java/a8k/service/db/LowerDeviceParameterDBService.java
  9. 3
      src/main/java/a8k/service/db/utils/PosParameterReader.java
  10. 7
      src/main/java/a8k/utils/ZSqliteJdbcHelper.java

BIN
app.db

2
src/main/java/a8k/extapi_controler/pagecontrol/ExtApiTabConfig.java

@ -15,7 +15,7 @@ public enum ExtApiTabConfig {
Hbot2DCodeScanPosCalibration("校准.耗材扫描校准", true),
TubeScanPosCalibration("校准.试管扫描校准", true),
TubeFeedingModulePosCalibration("校准.试管入料校准", true),
TubePreProcesPosCalibration("校准.试管预处理校准", true),

9
src/main/java/a8k/service/app/devicedriver/calibration/TubeScanPosCalibration.java → src/main/java/a8k/service/app/devicedriver/calibration/TubeFeedingModulePosCalibration.java

@ -17,9 +17,9 @@ import jakarta.annotation.Resource;
import org.springframework.stereotype.Component;
@ExtApiTab(cfg = ExtApiTabConfig.TubeScanPosCalibration)
@ExtApiTab(cfg = ExtApiTabConfig.TubeFeedingModulePosCalibration)
@Component
public class TubeScanPosCalibration {
public class TubeFeedingModulePosCalibration {
@Resource
TubeFeedingModulePosMgr tubeScanPosMgr;
@ -122,6 +122,11 @@ public class TubeScanPosCalibration {
return tubeTubeFeedingModule.scanTubeHodler();
}
@ExtApiFn(name = "移动试管X到处理位", group = "校验", order = 33)
public void moveTubeXToPreProcessPos(Integer xtube) throws AppException {
tubeTubeFeedingModule.moveTubeToPreProcessPos(xtube);
}
@ExtApiFn(name = "设置<试管扫描伺服力矩(100-1000)>", group = "其他", order = 41)
public void setTubeScanServoTorque(Integer torque) throws AppException {
tubeScanPosMgr.setTubeScanServoTorque(torque);

8
src/main/java/a8k/service/app/devicedriver/calibration/TubePreProcesPosCalibration.java

@ -78,10 +78,14 @@ public class TubePreProcesPosCalibration {
//XProcessPos: 标定,验证
//ShakeClamp : 标定,校验
//
// 夹爪标定,校准,校验
//
@ExtApiFn(name = "设置当前位置为<参考点>", group = "夹爪", order = 21)
public Integer gripperSVSetCurrentPosAsRef() throws AppException {
miniServoControler.miniServoSetCurPos(MiniServoMId.ShakeModGripperSV, 100);
return 100;
miniServoControler.miniServoSetCurPos(MiniServoMId.ShakeModGripperSV, 1800);
return 1800;
}
@ExtApiFn(name = "<标定>当前点为<抓手张开位置>", group = "夹爪", order = 22)

7
src/main/java/a8k/service/app/devicedriver/ctrl/TubeTubeFeedingModule.java

@ -107,6 +107,7 @@ public class TubeTubeFeedingModule {
/*=========================================================================================
* 片段
*========================================================================================*/
/**
* 移动试管架到入口位置
*/
@ -122,6 +123,11 @@ public class TubeTubeFeedingModule {
tubeTransportControler.moveTubeRackTo(stp.getTubeHolderExitXPos() - 10, TargetPosMeasureDirection.NOTCARE, false);
}
public void moveTubeToPreProcessPos(Integer tubeIndex) throws AppException {
tubeTransportControler.moveTubeRackTo(stp.getTube0PreProcessXPos() + tubeIndex * tubeHolderParamMgr.getTubeSpacing(), TargetPosMeasureDirection.POSITIVE, false);
}
/**
* 移动<试管架>到出口位置
*/
@ -297,4 +303,5 @@ public class TubeTubeFeedingModule {
return result;
}
}

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

@ -24,14 +24,16 @@ public class TubeFeedingModulePosMgr {
Tube0ScanXPos, // 0号试管扫描位置
Tube0AltitJudgXPos, // 0试管高度判断位置
Tube0ExistJudgXPos, // 0试管存在判断位置
Tube0PreProcessXPos, // 0试管预处理位置
TubeScanServoTorque,// 试管扫描伺服力矩
}
@Resource
LowerDeviceParameterDBService lowerDeviceParameterDBService;
PosParameterReader posReader = null;
Integer nowParaVersion = 0;
Integer nowParaVersion = 1;
//
// MotorTubeRackMoveCtrlService
@ -42,11 +44,6 @@ public class TubeFeedingModulePosMgr {
posReader = lowerDeviceParameterDBService.getReader(this.getClass());
Integer paraVersion = posReader.getVersion();
if (!nowParaVersion.equals(paraVersion)) {
paramReset();
}
}
void paramReset() {
logger.info("init param");
posReader.setVersion(nowParaVersion);
posReader.updatePos(POS.TubeHolderEnterXPos, -46);
@ -55,13 +52,18 @@ public class TubeFeedingModulePosMgr {
posReader.updatePos(POS.Tube0ScanXPos, 505);
posReader.updatePos(POS.Tube0AltitJudgXPos, 505);
posReader.updatePos(POS.Tube0ExistJudgXPos, 300);
posReader.updatePos(POS.Tube0PreProcessXPos, 1225);
posReader.updatePos(POS.TubeScanServoTorque, 500);
}
}
public Integer getParam(POS pos) {
return posReader.getPos(pos, Integer.class);
}
public Integer getTube0PreProcessXPos() {return getParam(POS.Tube0PreProcessXPos);}
public Integer getTubeHolderEnterXPos() {
return getParam(POS.TubeHolderEnterXPos);
}
@ -90,6 +92,8 @@ public class TubeFeedingModulePosMgr {
return getParam(POS.TubeScanServoTorque);
}
public void setTube0PreProcessXPos(Integer value) {posReader.updatePos(POS.Tube0PreProcessXPos, value);}
public void setTubeHolderEnterXPos(Integer value) {
posReader.updatePos(POS.TubeHolderEnterXPos, value);
}
@ -118,4 +122,5 @@ public class TubeFeedingModulePosMgr {
public void setTubeScanServoTorque(Integer value) {
posReader.updatePos(POS.TubeScanServoTorque, value);
}
}

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

@ -41,7 +41,7 @@ public class TubePreProcesPosMgr {
LowerDeviceParameterDBService lowerDeviceParameterDBService;
PosParameterReader posReader = null;
Integer nowParaVersion = 0;
Integer nowParaVersion = 1;
@PostConstruct
void initialize() {
@ -52,11 +52,10 @@ public class TubePreProcesPosMgr {
posReader.setVersion(nowParaVersion);
// 677,450,310,355
// 1800,
posReader.updatePos(POS.GripperServoOpenPos, 450);
posReader.updatePos(POS.GripperServoClosePos, 310);
posReader.updatePos(POS.GripperServoTakeCapPos, 355);
// 1800,1573,1433,1388
posReader.updatePos(POS.GripperServoOpenPos, 1573);
posReader.updatePos(POS.GripperServoClosePos, 1433);
posReader.updatePos(POS.GripperServoTakeCapPos, 1388);
posReader.updatePos(POS.YServoTakeTubePos, 3080);
posReader.updatePos(POS.YServoShakePos, 2130);
posReader.updatePos(POS.YServoZeroYPos, 300);

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

@ -78,12 +78,18 @@ public class LowerDeviceParameterDBService {
}
}
public void tryInitParam(String service, String key, Object pos) {
if (getParam(service, key, Object.class) == null) {
updateParam(service, key, pos);
}
}
public Integer getParamVersion(String service) {
return getParam(service, "VERSION", Integer.class);
}
public void setParamVersion(String service, Integer version) {
updateParam(service, "VERSION", 0);
updateParam(service, "VERSION", version);
}
public PosParameterReader getReader(Class<?> type) {

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

@ -25,7 +25,10 @@ public class PosParameterReader {
public void updatePos(Enum<?> key, Object pos) {
lowerDeviceParameterDBService.updateParam(service.getSimpleName(), key.name(), pos);
}
public void tryInitParam(Enum<?> key, Object parm) {
lowerDeviceParameterDBService.tryInitParam(service.getSimpleName(), key.name(), parm);
}
public Integer getVersion() {

7
src/main/java/a8k/utils/ZSqliteJdbcHelper.java

@ -62,7 +62,7 @@ public class ZSqliteJdbcHelper {
sql.append("text,");
}
}
if(!hasId) {
if (!hasId) {
throw new RuntimeException("id field not found in class " + tClass.getName());
}
@ -186,11 +186,12 @@ public class ZSqliteJdbcHelper {
sql.append(field.getName()).append(" = ?,");
}
sql.deleteCharAt(sql.length() - 1).append(" where id = ?");
System.out.println(sql.toString());
List<Object> args = buildArgs(tClass, obj);
args.add(id);
// System.out.println(sql);
// System.out.println(args);
jdbcTemplate.update(sql.toString(), args.toArray());
}
}
Loading…
Cancel
Save