Browse Source

update

tags/v0
zhaohe 1 year ago
parent
commit
e41ec545b8
  1. 30
      src/main/java/a8k/service/db/dao/A8kTubeInfoDao.java
  2. 98
      src/main/java/a8k/service/db/dao/MotorTubeRackMoveCtrlServiceParameterDao.java
  3. 34
      src/main/java/a8k/service/db/entity/A8kTubeInfo.java
  4. 22
      src/main/java/a8k/service/db/entity/ModuleRegConfigIterm.java
  5. 25
      src/main/java/a8k/service/hardware/ModuleRegConfigMgrService.java
  6. 29
      src/main/java/a8k/service/hardware/MotorTubeRackMoveCtrlService.java
  7. 2
      src/main/java/a8k/utils/HardwareParamReader.java
  8. BIN
      zhaohe_app.db

30
src/main/java/a8k/service/db/dao/A8kTubeInfoDao.java

@ -1,30 +0,0 @@
package a8k.service.db.dao;
import a8k.service.db.entity.A8kTubeInfo;
import com.iflytop.uf.UfActiveRecord;
import org.springframework.stereotype.Component;
import java.util.Map;
@Component
public class A8kTubeInfoDao {
public static final String BloodTubeCode = "0000"; //全血试管
public static final String MiniTubeCode = "1111"; //迷你试管
public static final String MiniBloodCode = "2222"; //阳普管
public static final String BulletTube1P5Code = "5555"; //子弹头试管1.5mL
public static final String BulletTube0P5Code = "4444"; //子弹头试管0.5mL
public static final String TubeType_HighBlood = "HighBloodTube"; //全血试管
public static final String TubeType_ShortBlood = "ShortBloodTube"; //全血试管
public static final String TubeType_Mini = "MiniTube"; //迷你试管
public static final String TubeType_MiniBlood = "MiniBloodTube"; //阳普管
public static final String TubeType_BulletTube1P5 = "BulletTube1P5"; //子弹头试管1.5mL
public static final String TubeType_BulletTube0P5 = "BulletTube0P5"; //子弹头试管0.5mL
public A8kTubeInfo getTubeInfo(String TypeName) {
var info = UfActiveRecord.findOne(A8kTubeInfo.class, Map.of("typeName", TypeName));
assert info != null;
return info;
}
}

98
src/main/java/a8k/service/db/dao/MotorTubeRackMoveCtrlServiceParameterDao.java

@ -1,98 +0,0 @@
package a8k.service.db.dao;
import a8k.service.db.entity.HardwareServiceSetting;
import com.iflytop.uf.UfActiveRecord;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
@Component
public class MotorTubeRackMoveCtrlServiceParameterDao {
/**
* 参数存放在HardwareServiceSetting中
* 每个参数依赖于Key+serviceName进行索引
*/
public final String serviceName = "MotorTubeRackMoveCtrlServiceParameterDao";
public List<HardwareServiceSetting> listOptions() {
return UfActiveRecord.find(HardwareServiceSetting.class, Map.of("serviceName", this.serviceName));
}
public HardwareServiceSetting getOption(String optionName) {
return HardwareServiceSetting.getOption(this.serviceName, optionName);
}
// 回零超时时间
public int getMoveToZeroOvertime() {
return HardwareServiceSetting.getInteger(this.serviceName, "MoveToZeroOvertime", 0);
}
// 执行动作的超时时间该超时时间适用于当前模块在当前产品中所有动作的最大时间
public int getActionOvertime() {
return HardwareServiceSetting.getInteger(this.serviceName, "ActionOvertime", 0);
}
//试管扫码位置
public int getTubeScanPos() {
return HardwareServiceSetting.getInteger(this.serviceName, "TubeScanPos", 0);
}
//高低试管判断位置
public Integer getTubeHeighJudgmentPos() {
return HardwareServiceSetting.getInteger(this.serviceName, "TubeHeighJudgmentPos", 0);
}
//试管预处理位置
public Integer getTubePreProcessPos() {
return HardwareServiceSetting.getInteger(this.serviceName, "TubePreProcessPos", 0);
}
//入料位置
public Integer getTubeExistJudgmentPos() {
return HardwareServiceSetting.getInteger(this.serviceName, "TubeExistJudgmentPos", 0);
}
//出料位置
public Integer getTubeRackEnterPos() {
return HardwareServiceSetting.getInteger(this.serviceName, "TubeRackEnterPos", 0);
}
//出料位置
public Integer getTubeRackExitPos() {
return HardwareServiceSetting.getInteger(this.serviceName, "TubeRackExitPos", 0);
}
//试管架扫码位置
public Integer getTubeRackScanCodePos() {
return HardwareServiceSetting.getInteger(this.serviceName, "TubeRackScanCodePos", 0);
}
//水平电机丢步判断
public Integer getHorizontalMotorLostStepThresholdVal() {
return HardwareServiceSetting.getInteger(this.serviceName, "HorizontalMotorLostStepThresholdVal", 0);
}
//试管扫码夹紧位置
public Integer getScanCodeClampPos() {
return HardwareServiceSetting.getInteger(this.serviceName, "ScanCodeClampPos", 0);
}
//试管扫码释放位置
public Integer getScanCodeReleasePos() {
return HardwareServiceSetting.getInteger(this.serviceName, "ScanCodeReleasePos", 0);
}
//
public Integer getTubeSpacing() {
return HardwareServiceSetting.getInteger(this.serviceName, "TubeSpacing", 0);
}
public Integer getTubeScanServoTorque() {
return HardwareServiceSetting.getInteger(this.serviceName, "TubeScanServoTorque", 0);
}
public Integer getTubeScanOvertime() {
return HardwareServiceSetting.getInteger(this.serviceName, "TubeScanOvertime", 100);
}
}

34
src/main/java/a8k/service/db/entity/A8kTubeInfo.java

@ -1,34 +0,0 @@
package a8k.service.db.entity;
import com.iflytop.uf.UfActiveRecord;
import com.iflytop.uf.UfActiveRecordField;
public class A8kTubeInfo extends UfActiveRecord {
/**
* 所有高度均是距离试管架底部的高度
*/
@UfActiveRecordField
public String typeName; //试管类型编码
@UfActiveRecordField
public String scanCode;//试管对应的编码
@UfActiveRecordField
public Integer tubeSpacing; //试管之间的间隔 单位0.1mm
/**
* 摇匀模组使用
*/
/*
@UfActiveRecordField
public Integer takeTubeCapPos;// 0.1mm 取试管帽高度
@UfActiveRecordField
public Integer sampleBeginPos;// 0.1mm 取样高度
@UfActiveRecordField
public Integer sampleEndPos;//0.1mm 取样低位
*/
public static String getTableName() {
return "A8kTubeInfo" + "Table";
}
}

22
src/main/java/a8k/service/db/entity/ModuleRegConfigIterm.java

@ -1,22 +0,0 @@
package a8k.service.db.entity;
import com.iflytop.uf.UfActiveRecordField;
public class ModuleRegConfigIterm {
@UfActiveRecordField
Integer mid; //模块id
@UfActiveRecordField
Integer regIndex; //寄存器地址
@UfActiveRecordField
Integer regval; //寄存器地址
@UfActiveRecordField
String comment; //注释
public static String getTableName() {
return "ModuleRegConfigIterm" + "Table";
}
}

25
src/main/java/a8k/service/hardware/ModuleRegConfigMgrService.java

@ -1,25 +0,0 @@
package a8k.service.hardware;
import a8k.service.db.entity.ModuleRegConfigIterm;
import a8k.utils.HardwareService;
import org.springframework.stereotype.Component;
@Component
@HardwareService(name="模块配置")
public class ModuleRegConfigMgrService {
void updateReg() {
//更新所有寄存器配置到设备中
}
/*
* 支持增删改查
*/
}

29
src/main/java/a8k/service/hardware/MotorTubeRackMoveCtrlService.java

@ -39,65 +39,62 @@ public class MotorTubeRackMoveCtrlService implements HardwareCtrlModule {
@HardwareServiceParam(name = "超时时间", group = "基础参数")
public Integer getActionOvertime() {
return 10000;
return hpReader.getInteger("ActionOvertime", 8000);
}
@HardwareServiceParam(name = "入料X位置", group = "试管架位置信息")
public Integer getTREnterXPos() {
return -51;
return hpReader.getInteger("TREnterXPos", -51);
}
// public void setTREnterXPos(Integer val){
// return;
// }
@HardwareServiceParam(name = "出料X位置", group = "试管架位置信息")
public Integer getTRExitXPos() {
return 3980;
return hpReader.getInteger("TRExitXPos", 3980);
}
@HardwareServiceParam(name = "试管架扫码X位置", group = "试管架位置信息")
public Integer getTRScanXPos() {
return 2202;
return hpReader.getInteger("TRScanXPos", 2202);
}
@HardwareServiceParam(name = "试管扫码位置", group = "试管位置信息")
public Integer getTScanXPos() {
//运动方向: ->
return 505;
return hpReader.getInteger("TScanXPos", 505);
}
@HardwareServiceParam(name = "试管高度判断位置", group = "试管位置信息")
public Integer getTAltitJudgXPos() {
//运动方向: ->
return 505;
return hpReader.getInteger("TAltitJudgXPos", 505);
}
@HardwareServiceParam(name = "试管是否存在判断位置", group = "试管位置信息")
public Integer getTExistJudgXPos() {
//运动方向: <-
return 300;
return hpReader.getInteger("TExistJudgXPos", 300);
}
@HardwareServiceParam(name = "试管预处理位置", group = "试管位置信息")
public Integer getTPreProcessXPos() {
//运动方向: <-
return 1244;
return hpReader.getInteger("TPreProcessXPos", 1244);
}
@HardwareServiceParam(name = "试管架孔间距", group = "其他")
public Integer getTubeSpacing() {
return 200;
return hpReader.getInteger("TubeSpacing", 200);
}
@HardwareServiceParam(name = "扫码舵机转速(0..900)", group = "其他")
public Integer getTubeScanServoTorque() {
return 500;
return hpReader.getInteger("TubeScanServoTorque", 500);
}
@HardwareServiceParam(name = "试管扫码超时时间", group = "其他")
public Integer getTubeScanOvertime() {
return 1000;
return hpReader.getInteger("TubeScanOvertime", 1000);
}
/*=========================================================================================
@ -261,7 +258,7 @@ public class MotorTubeRackMoveCtrlService implements HardwareCtrlModule {
public void moveTubeRackToExitPos() throws HardwareException, InterruptedException {
moveTubeRackTo(getTRExitXPos(), TargetPosMeasureDirection.NOTCARE, false);
moveTubeRackTo(getTRExitXPos() - 10, TargetPosMeasureDirection.NOTCARE, false);
// moveTubeRackTo(getTRExitXPos(), TargetPosMeasureDirection.NOTCARE, false);
// moveTubeRackTo(getTRExitXPos(), TargetPosMeasureDirection.NOTCARE, false);
}
/**

2
src/main/java/a8k/utils/HardwareParamReader.java

@ -10,7 +10,7 @@ public class HardwareParamReader {
String serviceName;
public HardwareParamReader(Class<?> cla) {
this.serviceName = cla.getName();
this.serviceName = cla.getSimpleName();
}
public Integer getInteger(String key, Integer defaultValue) {

BIN
zhaohe_app.db

Loading…
Cancel
Save