Browse Source

update

tags/v0
zhaohe 8 months ago
parent
commit
7dc69cb9f5
  1. BIN
      appresource/db/app.db
  2. 9
      src/main/java/a8k/app/dao/db/DeviceActionParameterDao.java
  3. 32
      src/main/java/a8k/app/dao/db/type/Parameter.java
  4. 2
      src/main/java/a8k/app/service/exparam/HbotConsumableParamMgr.java
  5. 8
      src/main/java/a8k/app/service/exparam/PipetteGunParamExMgr.java
  6. 2
      src/main/java/a8k/app/service/exparam/base/LLDParamPack.java
  7. 2
      src/main/java/a8k/app/service/exparam/base/LLFParamPack.java
  8. 2
      src/main/java/a8k/app/service/exparam/base/PipetteGunBindActionType.java
  9. 2
      src/main/java/a8k/app/service/lowerctrl/HbotMoveExCtrlService.java
  10. 4
      src/main/java/a8k/app/service/mainctrl/mainflowctrl/action/SEQ5_PROCESS.java
  11. 4
      src/main/java/a8k/app/service/param/base/ParamMgr.java
  12. 2
      src/main/java/a8k/app/utils/ProjProcessContextUtils.java
  13. 2
      src/main/java/a8k/app/utils/ZCSVUtils.java
  14. 13
      src/main/java/a8k/app/utils/ZJsonHelper.java
  15. 11
      src/main/java/a8k/extui/service/ExtApiTabCfgService.java
  16. 4
      src/main/java/a8k/extui/service/LowerDeviceParamMgr.java
  17. 2
      src/main/java/a8k/extui/service/calibration/HbotTipPosCalibration.java
  18. 28
      src/main/java/a8k/extui/service/db/DeviceActionParameterMgr.java
  19. 125
      src/main/resources/db/zapp_a8k_pos_parameter.csv

BIN
appresource/db/app.db

9
src/main/java/a8k/app/dao/db/LowerDeviceParameterDao.java → src/main/java/a8k/app/dao/db/DeviceActionParameterDao.java

@ -12,18 +12,19 @@ import org.springframework.stereotype.Component;
import org.springframework.util.Assert; import org.springframework.util.Assert;
import java.util.List; import java.util.List;
import java.util.Objects;
@Component @Component
@Slf4j @Slf4j
public class LowerDeviceParameterDao extends ZSqlite<Parameter> {
public class DeviceActionParameterDao extends ZSqlite<Parameter> {
@Resource @Resource
JdbcTemplate jdbcTemplate; JdbcTemplate jdbcTemplate;
//zapp_a8k_pos_parameter.csv
@PostConstruct @PostConstruct
void init() { void init() {
init(jdbcTemplate, "zapp_a8k_pos_parameter", Parameter.class, false);
init(jdbcTemplate, "zapp_a8k_pos_parameter", Parameter.class, true);
} }
// //
@ -77,7 +78,7 @@ public class LowerDeviceParameterDao extends ZSqlite<Parameter> {
Assert.isTrue(list.size() == 1, "参数不存在,或者存在多个参数"); Assert.isTrue(list.size() == 1, "参数不存在,或者存在多个参数");
Assert.isTrue(list.get(0).valType.equals(param.getClass().getSimpleName()), "参数类型不匹配"); Assert.isTrue(list.get(0).valType.equals(param.getClass().getSimpleName()), "参数类型不匹配");
Parameter parameter = list.get(0); Parameter parameter = list.get(0);
parameter.val = ZJsonHelper.createObjectNode(param);
parameter.val = Objects.requireNonNull(ZJsonHelper.createObjectNode(param)).toString();
parameter.service = service; parameter.service = service;
parameter.key = key; parameter.key = key;
parameter.valType = param.getClass().getSimpleName(); parameter.valType = param.getClass().getSimpleName();

32
src/main/java/a8k/app/dao/db/type/Parameter.java

@ -3,24 +3,24 @@ package a8k.app.dao.db.type;
import com.fasterxml.jackson.databind.node.ObjectNode; import com.fasterxml.jackson.databind.node.ObjectNode;
public class Parameter { public class Parameter {
public int id;
public String service;
public String key;
public String valType;
public ObjectNode val;
public String chName;
public int id;
public String service;
public String key;
public String valType;
public String val;
public String chName;
public Parameter() { public Parameter() {
} }
public Parameter deepCopy() {
Parameter ret = new Parameter();
ret.id = id;
ret.service = service;
ret.key = key;
ret.valType = valType;
ret.val = val != null ? val.deepCopy() : null;
ret.chName = chName;
return ret;
}
// public Parameter deepCopy() {
// Parameter ret = new Parameter();
// ret.id = id;
// ret.service = service;
// ret.key = key;
// ret.valType = valType;
// ret.val = val != null ? val.deepCopy() : null;
// ret.chName = chName;
// return ret;
// }
} }

2
src/main/java/a8k/app/dao/exparam/HbotConsumableParamMgr.java → src/main/java/a8k/app/service/exparam/HbotConsumableParamMgr.java

@ -1,4 +1,4 @@
package a8k.app.dao.exparam;
package a8k.app.service.exparam;
import a8k.app.a8ktype.device.ConsumableGroup; import a8k.app.a8ktype.device.ConsumableGroup;
import a8k.app.service.param.HbotLargeBottleBSPosMgr; import a8k.app.service.param.HbotLargeBottleBSPosMgr;

8
src/main/java/a8k/app/dao/exparam/PipetteGunParamExMgr.java → src/main/java/a8k/app/service/exparam/PipetteGunParamExMgr.java

@ -1,9 +1,9 @@
package a8k.app.dao.exparam;
package a8k.app.service.exparam;
import a8k.app.a8ktype.state.ProjectTaskContext; import a8k.app.a8ktype.state.ProjectTaskContext;
import a8k.app.dao.exparam.base.PipetteGunBindActionType;
import a8k.app.dao.exparam.base.LLDParamPack;
import a8k.app.dao.exparam.base.LLFParamPack;
import a8k.app.service.exparam.base.PipetteGunBindActionType;
import a8k.app.service.exparam.base.LLDParamPack;
import a8k.app.service.exparam.base.LLFParamPack;
import a8k.app.service.param.HbotLargeBottleBSPosMgr; import a8k.app.service.param.HbotLargeBottleBSPosMgr;
import a8k.app.service.param.HbotSamplePosParamMgr; import a8k.app.service.param.HbotSamplePosParamMgr;
import a8k.app.service.param.PipetteGunLLDParamMgr; import a8k.app.service.param.PipetteGunLLDParamMgr;

2
src/main/java/a8k/app/dao/exparam/base/LLDParamPack.java → src/main/java/a8k/app/service/exparam/base/LLDParamPack.java

@ -1,4 +1,4 @@
package a8k.app.dao.exparam.base;
package a8k.app.service.exparam.base;
import a8k.app.hardware.type.LldType; import a8k.app.hardware.type.LldType;

2
src/main/java/a8k/app/dao/exparam/base/LLFParamPack.java → src/main/java/a8k/app/service/exparam/base/LLFParamPack.java

@ -1,4 +1,4 @@
package a8k.app.dao.exparam.base;
package a8k.app.service.exparam.base;
public class LLFParamPack { public class LLFParamPack {
public Integer llfVel = 0; public Integer llfVel = 0;

2
src/main/java/a8k/app/dao/exparam/base/PipetteGunBindActionType.java → src/main/java/a8k/app/service/exparam/base/PipetteGunBindActionType.java

@ -1,4 +1,4 @@
package a8k.app.dao.exparam.base;
package a8k.app.service.exparam.base;
public enum PipetteGunBindActionType { public enum PipetteGunBindActionType {
SAMPLE("从试管中取样"), SAMPLE("从试管中取样"),

2
src/main/java/a8k/app/service/lowerctrl/HbotMoveExCtrlService.java

@ -5,7 +5,7 @@ import a8k.app.hardware.type.a8kcanprotocol.A8kEcode;
import a8k.app.hardware.driver.HbotDriver; import a8k.app.hardware.driver.HbotDriver;
import a8k.app.service.param.HbotTipPosMgr; import a8k.app.service.param.HbotTipPosMgr;
import a8k.app.hardware.driver.PipetteCtrlDriver; import a8k.app.hardware.driver.PipetteCtrlDriver;
import a8k.app.dao.exparam.HbotConsumableParamMgr;
import a8k.app.service.exparam.HbotConsumableParamMgr;
import a8k.app.service.param.HbotFixedPosParamMgr; import a8k.app.service.param.HbotFixedPosParamMgr;
import a8k.app.service.param.HbotSamplePosParamMgr; import a8k.app.service.param.HbotSamplePosParamMgr;
import a8k.app.a8ktype.param.A8kSamplePos; import a8k.app.a8ktype.param.A8kSamplePos;

4
src/main/java/a8k/app/service/mainctrl/mainflowctrl/action/SEQ5_PROCESS.java

@ -16,8 +16,8 @@ import a8k.app.service.lowerctrl.TubePreProcesModuleExCtrlService;
import a8k.app.service.lowerctrl.TurnableMoveCtrlService; import a8k.app.service.lowerctrl.TurnableMoveCtrlService;
import a8k.app.hardware.driver.PipetteCtrlDriver; import a8k.app.hardware.driver.PipetteCtrlDriver;
import a8k.app.service.lowerctrl.HbotMoveCtrlService; import a8k.app.service.lowerctrl.HbotMoveCtrlService;
import a8k.app.dao.exparam.HbotConsumableParamMgr;
import a8k.app.dao.exparam.PipetteGunParamExMgr;
import a8k.app.service.exparam.HbotConsumableParamMgr;
import a8k.app.service.exparam.PipetteGunParamExMgr;
import a8k.app.service.param.HbotFixedPosParamMgr; import a8k.app.service.param.HbotFixedPosParamMgr;
import a8k.app.service.param.HbotSamplePosParamMgr; import a8k.app.service.param.HbotSamplePosParamMgr;
import a8k.app.a8ktype.param.A8kSamplePos; import a8k.app.a8ktype.param.A8kSamplePos;

4
src/main/java/a8k/app/service/param/base/ParamMgr.java

@ -1,6 +1,6 @@
package a8k.app.service.param.base; package a8k.app.service.param.base;
import a8k.app.dao.db.LowerDeviceParameterDao;
import a8k.app.dao.db.DeviceActionParameterDao;
import a8k.app.dao.db.type.Parameter; import a8k.app.dao.db.type.Parameter;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
@ -8,7 +8,7 @@ import java.util.List;
public class ParamMgr { public class ParamMgr {
@Resource @Resource
LowerDeviceParameterDao db;
DeviceActionParameterDao db;
String serviceName = this.getClass().getSimpleName(); String serviceName = this.getClass().getSimpleName();

2
src/main/java/a8k/app/utils/ProjProcessContextUtils.java

@ -4,7 +4,7 @@ import a8k.SpringBootBeanUtil;
import a8k.app.service.statemgr.ProjectContextMgrService; import a8k.app.service.statemgr.ProjectContextMgrService;
import a8k.app.a8ktype.state.ProjectTaskContext; import a8k.app.a8ktype.state.ProjectTaskContext;
import a8k.app.a8ktype.state.Tube; import a8k.app.a8ktype.state.Tube;
import a8k.app.dao.exparam.HbotConsumableParamMgr;
import a8k.app.service.exparam.HbotConsumableParamMgr;
import a8k.app.a8ktype.param.A8kSamplePos; import a8k.app.a8ktype.param.A8kSamplePos;
import a8k.app.dao.db.type.a8kidcard.zenum.A8kReactionFlowType; import a8k.app.dao.db.type.a8kidcard.zenum.A8kReactionFlowType;
import a8k.app.a8ktype.device.Pos3d; import a8k.app.a8ktype.device.Pos3d;

2
src/main/java/a8k/app/utils/ZCSVUtils.java

@ -4,11 +4,13 @@ package a8k.app.utils;
import a8k.app.dao.db.type.ProjOptInfo; import a8k.app.dao.db.type.ProjOptInfo;
import cn.hutool.core.io.resource.ResourceUtil; import cn.hutool.core.io.resource.ResourceUtil;
import cn.hutool.core.text.csv.CsvReader; import cn.hutool.core.text.csv.CsvReader;
import cn.hutool.core.text.csv.CsvRowHandler;
import cn.hutool.core.text.csv.CsvUtil; import cn.hutool.core.text.csv.CsvUtil;
import cn.hutool.core.text.csv.CsvWriter; import cn.hutool.core.text.csv.CsvWriter;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import java.io.File; import java.io.File;
import java.io.StringReader;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

13
src/main/java/a8k/app/utils/ZJsonHelper.java

@ -28,6 +28,19 @@ public class ZJsonHelper {
return new ObjectMapper().createObjectNode(); return new ObjectMapper().createObjectNode();
} }
public static ObjectNode readTree(String node) {
ObjectMapper mapper = new ObjectMapper();
try {
return (ObjectNode) mapper.readTree(node);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
public static <T> T objectFromJson(String node, Class<T> tClass) {
return objectFromJson(readTree(node), tClass);
}
public static <T> T objectFromJson(ObjectNode node, Class<T> tClass) { public static <T> T objectFromJson(ObjectNode node, Class<T> tClass) {
ObjectMapper mapper = new ObjectMapper(); ObjectMapper mapper = new ObjectMapper();
if (node == null) { if (node == null) {

11
src/main/java/a8k/extui/service/ExtApiTabCfgService.java

@ -1,6 +1,7 @@
package a8k.extui.service; package a8k.extui.service;
import a8k.extui.service.db.DeviceActionParameterMgr;
import a8k.extui.utils.ExtApiFn; import a8k.extui.utils.ExtApiFn;
import a8k.app.service.background.BackgroudProcessCtrlService; import a8k.app.service.background.BackgroudProcessCtrlService;
import a8k.app.service.lowerctrl.TubeFeedingCtrlService; import a8k.app.service.lowerctrl.TubeFeedingCtrlService;
@ -30,6 +31,7 @@ public class ExtApiTabCfgService {
LowLevelApi,//底层API LowLevelApi,//底层API
OptCalibrationAndVerify,//光学校准和验证 OptCalibrationAndVerify,//光学校准和验证
Data,
} }
; ;
@ -98,6 +100,10 @@ public class ExtApiTabCfgService {
cfgList.add(new Config(TubeFeedingCtrlService.class, "硬件控制.入料模块", TabType.LowLevelApi)); cfgList.add(new Config(TubeFeedingCtrlService.class, "硬件控制.入料模块", TabType.LowLevelApi));
// DBExportService
cfgList.add(new Config(DeviceActionParameterMgr.class, "数据库", TabType.Data));
/* /*
* OptCalibrationAndVerify * OptCalibrationAndVerify
*/ */
@ -152,4 +158,9 @@ public class ExtApiTabCfgService {
displayRefreshPage(TabType.CodeTest); displayRefreshPage(TabType.CodeTest);
} }
@ExtApiFn(name = "数据页面", order = 6)
public void changePageToDataRefreshPage() {
displayRefreshPage(TabType.Data);
}
} }

4
src/main/java/a8k/extui/service/LowerDeviceParamMgr.java

@ -1,6 +1,6 @@
package a8k.extui.service; package a8k.extui.service;
import a8k.app.dao.db.LowerDeviceParameterDao;
import a8k.app.dao.db.DeviceActionParameterDao;
import a8k.app.dao.db.type.Parameter; import a8k.app.dao.db.type.Parameter;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -10,7 +10,7 @@ import org.springframework.util.Assert;
public class LowerDeviceParamMgr { public class LowerDeviceParamMgr {
@Resource @Resource
LowerDeviceParameterDao ldpdb;
DeviceActionParameterDao ldpdb;
public void check(String service, String key) { public void check(String service, String key) {
Parameter var = ldpdb.getParam(service, key); Parameter var = ldpdb.getParam(service, key);

2
src/main/java/a8k/extui/service/calibration/HbotTipPosCalibration.java

@ -4,7 +4,7 @@ package a8k.extui.service.calibration;
import a8k.app.constant.AppConstant; import a8k.app.constant.AppConstant;
import a8k.extui.utils.ExtApiFn; import a8k.extui.utils.ExtApiFn;
import a8k.app.service.lowerctrl.HbotMoveCtrlService; import a8k.app.service.lowerctrl.HbotMoveCtrlService;
import a8k.app.dao.exparam.HbotConsumableParamMgr;
import a8k.app.service.exparam.HbotConsumableParamMgr;
import a8k.app.service.param.HbotTipPosMgr; import a8k.app.service.param.HbotTipPosMgr;
import a8k.app.hardware.driver.HbotDriver; import a8k.app.hardware.driver.HbotDriver;
import a8k.app.hardware.driver.PipetteCtrlDriver; import a8k.app.hardware.driver.PipetteCtrlDriver;

28
src/main/java/a8k/extui/service/db/DeviceActionParameterMgr.java

@ -0,0 +1,28 @@
package a8k.extui.service.db;
import a8k.app.controler.filemgr.StorageControler;
import a8k.app.dao.db.DeviceActionParameterDao;
import a8k.extui.type.FileToBeDownload;
import a8k.extui.utils.ExtApiFn;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Component;
@Component
public class DeviceActionParameterMgr {
@Resource
DeviceActionParameterDao deviceActionParameterDao;
@ExtApiFn(name = "导出设备动作参数", group = "", order = 1)
public FileToBeDownload exportDeviceActionParam() {
deviceActionParameterDao.export();
return new FileToBeDownload(StorageControler.getDoloadPath(deviceActionParameterDao.getExportPATH()));
}
// @ExtApiFn(name = "导入设备动作参数", group = "", order = 2)
// public void importDeviceActionParam(String path) {
// deviceActionParameterDao.importFile(path);
// }
}

125
src/main/resources/db/zapp_a8k_pos_parameter.csv

@ -0,0 +1,125 @@
id,service,key,valType,val,chName
1,Hbot2DCodeScanParamMgr,PBScanPos0,Pos2d,"{""x"":-20,""y"":1504}",板夹仓扫码位置0
2,Hbot2DCodeScanParamMgr,PBScanPos1,Pos2d,"{""x"":-20,""y"":1769}",板夹仓扫码位置1
3,Hbot2DCodeScanParamMgr,PBScanPos2,Pos2d,"{""x"":-20,""y"":2034}",板夹仓扫码位置2
4,Hbot2DCodeScanParamMgr,PBScanPos3,Pos2d,"{""x"":-20,""y"":2299}",板夹仓扫码位置3
5,Hbot2DCodeScanParamMgr,PBScanPos4,Pos2d,"{""x"":-20,""y"":2564}",板夹仓扫码位置4
6,Hbot2DCodeScanParamMgr,PBScanPos5,Pos2d,"{""x"":-20,""y"":2829}",板夹仓扫码位置5
7,Hbot2DCodeScanParamMgr,LittBS0,Pos2d,"{""x"":1653,""y"":2063}",小缓冲液扫码位置0
8,Hbot2DCodeScanParamMgr,LittBS1,Pos2d,"{""x"":2883,""y"":2063}",小缓冲液扫码位置1
9,Hbot2DCodeScanParamMgr,LittBS2,Pos2d,"{""x"":4113,""y"":2063}",小缓冲液扫码位置2
10,Hbot2DCodeScanParamMgr,LittBS3,Pos2d,"{""x"":1653,""y"":3313}",小缓冲液扫码位置3
11,Hbot2DCodeScanParamMgr,LittBS4,Pos2d,"{""x"":2883,""y"":3313}",小缓冲液扫码位置4
12,Hbot2DCodeScanParamMgr,LittBS5,Pos2d,"{""x"":4113,""y"":3313}",小缓冲液扫码位置5
13,Hbot2DCodeScanParamMgr,LarBS0,Pos2d,"{""x"":4867,""y"":1231}",大缓冲液扫码位置0
14,Hbot2DCodeScanParamMgr,LarBS1,Pos2d,"{""x"":5147,""y"":1231}",大缓冲液扫码位置1
15,Hbot2DCodeScanParamMgr,LarBS2,Pos2d,"{""x"":5427,""y"":1231}",大缓冲液扫码位置2
16,Hbot2DCodeScanParamMgr,LarBS3,Pos2d,"{""x"":4867,""y"":1811}",大缓冲液扫码位置3
17,Hbot2DCodeScanParamMgr,LarBS4,Pos2d,"{""x"":5147,""y"":1811}",大缓冲液扫码位置4
18,Hbot2DCodeScanParamMgr,LarBS5,Pos2d,"{""x"":5427,""y"":1811}",大缓冲液扫码位置5
19,TubeFeedingModuleParamMgr,TubeHolderEnterXPos,Integer,"{""value"":-46}",入料位置
20,TubeFeedingModuleParamMgr,TubeHolderExitXPos,Integer,"{""value"":3975}",出料位置
21,TubeFeedingModuleParamMgr,TubeHolderScanXPos,Integer,"{""value"":2202}",试管架扫描位置
22,TubeFeedingModuleParamMgr,Tube0ScanPos,Integer,"{""value"":505}",01号试管扫描位置
23,TubeFeedingModuleParamMgr,Tube0AltitJudgPos,Integer,"{""value"":505}",01试管高度判断位置
24,TubeFeedingModuleParamMgr,Tube0ExistJudgPos,Integer,"{""value"":300}",01试管存在判断位置
25,TubeFeedingModuleParamMgr,Tube0PreProcessPos,Integer,"{""value"":1225}",01试管预处理位置
26,TubeFeedingModuleParamMgr,TubeScanServoTorque,Integer,"{""value"":500}",试管扫描伺服力矩
27,TubeFeedingModuleParamMgr,TubeSpacing,Double,"{""value"":200.22222222222223}",试管间距
28,HbotFixedPosParamMgr,DropLiquidPos,Pos3d,"{""x"":2143,""y"":289,""z"":1134}",滴液位置
29,HbotSamplePosParamMgr,EmergencyTubeSamplePos,Pos3d,"{""x"":4857,""y"":3191,""z"":294}",<急诊位>取样位置
30,HbotSamplePosParamMgr,EmergencyTubeSampleEndPos,Pos3d,"{""x"":4857,""y"":3191,""z"":440}",<急诊位>取样结束位置
31,HbotSamplePosParamMgr,BloodHTubeSamplePos,Pos3d,"{""x"":2331,""y"":4017,""z"":294}",<全血高试管>取样位置
32,HbotSamplePosParamMgr,BloodHTubeSampleEndPos,Pos3d,"{""x"":2325,""y"":4009,""z"":651}",<全血高试管>取样结束位置
33,HbotSamplePosParamMgr,BloodSTubeSamplePos,Pos3d,"{""x"":2331,""y"":4017,""z"":279}",<全血低试管>取样位置
34,HbotSamplePosParamMgr,BloodSTubeSampleEndPos,Pos3d,"{""x"":2317,""y"":4017,""z"":643}",<全血低试管>取样结束位置
35,HbotSamplePosParamMgr,MiniTubeSamplePos,Pos3d,"{""x"":2331,""y"":3773,""z"":433}",<迷你试管>取样位置
36,HbotSamplePosParamMgr,MinitubeSampleEndPos,Pos3d,"{""x"":2331,""y"":3773,""z"":649}",<迷你试管>取样结束位置
37,HbotSamplePosParamMgr,MiniBloodSamplePos,Pos3d,"{""x"":2331,""y"":3773,""z"":433}",<阳普管>取样位置
38,HbotSamplePosParamMgr,MiniBloodSampleEndPos,Pos3d,"{""x"":2331,""y"":3773,""z"":649}",<阳普管>取样结束位置
39,HbotSamplePosParamMgr,Bulltube1P5SamplePos,Pos3d,"{""x"":2331,""y"":3773,""z"":433}",<子弹头试管1.5mL>取样位置
40,HbotSamplePosParamMgr,Bulltube1P5SampleEndPos,Pos3d,"{""x"":2331,""y"":3773,""z"":649}",<子弹头试管1.5mL>取样结束位置
41,HbotSamplePosParamMgr,Bulltube0P5SamplePos,Pos3d,"{""x"":2331,""y"":3773,""z"":433}",<子弹头试管0.5mL>取样位置
42,HbotSamplePosParamMgr,Bulltube0P5SampleEndPos,Pos3d,"{""x"":2331,""y"":3773,""z"":649}",<子弹头试管0.5mL>取样结束位置
43,HbotSamplePosParamMgr,StoolTestTubeSamplePos,Pos3d,"{""x"":2331,""y"":3773,""z"":433}",<粪便试管>取样位置
44,HbotSamplePosParamMgr,StoolTestTubeSampleEndPos,Pos3d,"{""x"":2331,""y"":3773,""z"":649}",<粪便试管>取样结束位置
45,HbotLittleBSPosMgr,LittleBufferGroup0_000Pos,Pos2d,"{""x"":899,""y"":1101}",第1组小瓶缓冲液的第1个位置
46,HbotLittleBSPosMgr,LittleBufferGroup1_000Pos,Pos2d,"{""x"":2129,""y"":1095}",第1组小瓶缓冲液的第2个位置
47,HbotLittleBSPosMgr,LittleBufferGroup2_000Pos,Pos2d,"{""x"":3348,""y"":1100}",第1组小瓶缓冲液的第3个位置
48,HbotLittleBSPosMgr,LittleBufferGroup3_000Pos,Pos2d,"{""x"":899,""y"":2353}",第1组小瓶缓冲液的第4个位置
49,HbotLittleBSPosMgr,LittleBufferGroup4_000Pos,Pos2d,"{""x"":2137,""y"":2339}",第1组小瓶缓冲液的第5个位置
50,HbotLittleBSPosMgr,LittleBufferGroup5_000Pos,Pos2d,"{""x"":3360,""y"":2354}",第1组小瓶缓冲液的第6个位置
51,HbotLittleBSPosMgr,LittleBufferGroupDX,Double,"{""value"":209.0}",小瓶缓冲液的X间距
52,HbotLittleBSPosMgr,LittleBufferGroupDY,Double,"{""value"":209.0}",小瓶缓冲液的Y间距
53,HbotLittleBSPosMgr,LittleBSPierceXYAppendDistance,Double,"{""value"":7.0}",小瓶缓冲液刺破XY附加距离
54,HbotLittleBSPosMgr,LittleBSPierceZPos,Integer,"{""value"":528}",小瓶缓冲液刺破Z坐标
55,HbotLittleBSPosMgr,LittleBSSampleZPos,Integer,"{""value"":593}",小瓶缓冲液取样Z坐标
56,HbotLargeBottleBSPosMgr,LargeBuffer_0Pos,Pos2d,"{""x"":4576,""y"":1364}",大瓶缓冲液的第1个位置
57,HbotLargeBottleBSPosMgr,LargeBuffer_DX,Double,"{""value"":281.0}",大瓶缓冲液的X间距
58,HbotLargeBottleBSPosMgr,LargeBuffer_DY,Double,"{""value"":274.0}",大瓶缓冲液的Y间距
61,HbotTipPosMgr,TipGroup0_000Pos,Pos3d,"{""x"":885,""y"":-17,""z"":582}",第1组TIP的第1个位置
62,HbotTipPosMgr,TipGroup0_SpaceingX,Double,"{""value"":92.5}",第1组TIP的X间距
63,HbotTipPosMgr,TipGroup0_SpaceingY,Double,"{""value"":92.8}",第1组TIP的Y间距
64,HbotTipPosMgr,TipGroup1_000Pos,Pos3d,"{""x"":2413,""y"":-15,""z"":576}",第2组TIP的第1个位置
65,HbotTipPosMgr,TipGroup1_SpaceingX,Double,"{""value"":92.54722222222222}",第2组TIP的X间距
66,HbotTipPosMgr,TipGroup1_SpaceingY,Double,"{""value"":92.54722222222222}",第2组TIP的Y间距
67,HbotTipPosMgr,TipGroup2_000Pos,Pos3d,"{""x"":3944,""y"":-20,""z"":578}",第3组TIP的第1个位置
68,HbotTipPosMgr,TipGroup2_SpaceingX,Double,"{""value"":92.5}",第3组TIP的X间距
69,HbotTipPosMgr,TipGroup2_SpaceingY,Double,"{""value"":92.5}",第3组TIP的Y间距
70,HbotTipPosMgr,DropTipPos,Pos3d,"{""x"":4843,""y"":2567,""z"":545}",丢TIP位置
71,HbotProbeSubstancePosMgr,ProbeSubstanceGroup0_000Pos,Pos3d,"{""x"":943,""y"":1141}",第1组探测物质的第1个位置
72,HbotProbeSubstancePosMgr,ProbeSubstanceGroup1_000Pos,Pos3d,"{""x"":2172,""y"":1138}",第1组探测物质的第2个位置
73,HbotProbeSubstancePosMgr,ProbeSubstanceGroup2_000Pos,Pos3d,"{""x"":3403,""y"":1139}",第1组探测物质的第3个位置
74,HbotProbeSubstancePosMgr,ProbeSubstanceGroup3_000Pos,Pos3d,"{""x"":949,""y"":2389}",第1组探测物质的第4个位置
75,HbotProbeSubstancePosMgr,ProbeSubstanceGroup4_000Pos,Pos3d,"{""x"":2179,""y"":2395}",第1组探测物质的第5个位置
76,HbotProbeSubstancePosMgr,ProbeSubstanceGroup5_000Pos,Pos3d,"{""x"":3411,""y"":2377}",第1组探测物质的第6个位置
77,HbotProbeSubstancePosMgr,ProbeSubstanceDX,Double,"{""value"":188.6}",探测物质的X间距
78,HbotProbeSubstancePosMgr,ProbeSubstanceDY,Double,"{""value"":188.6}",探测物质的Y间距
79,HbotProbeSubstancePosMgr,ProbeSubstancePierceXYAppendDistance,Double,"{""value"":5.0}",探测物质液刺破XY附加距离
80,HbotProbeSubstancePosMgr,ProbeSubstancePierceZPos,Integer,"{""value"":475}",探测物质液刺破Z坐标
81,HbotProbeSubstancePosMgr,ProbeSubstanceSampleZPos,Integer,"{""value"":475}",探测物质取样结束Z坐标
82,TurntablePosParamMgr,PushPos0,Integer,"{""value"":1650}",入板位置
83,TurntablePosParamMgr,PullPos0,Integer,"{""value"":19700}",出板位置
84,TurntablePosParamMgr,DropLiquidPos0,Integer,"{""value"":10600}",滴液位置
85,TurntablePosParamMgr,PosSpacing,Integer,"{""value"":1800}",位置间隔
86,PipetteGunLLDParamMgr,DEFAULT_C_THRESHOLD,Integer,"{""value"":15}",默认电容C阈值
87,PipetteGunLLDParamMgr,DEFAULT_P_THRESHOLD,Integer,"{""value"":50}",默认压力阈值
88,PipetteGunLLDParamMgr,DEFAULT_LLD_TYPE,LldType,"{""value"":""kplld""}",默认LLD类型
89,PipetteGunLLFParamMgr,EMERGENCY_TUBE_LLF_VEL,Integer,"{""value"":25}",<急诊试管>液面跟随速度
90,PipetteGunLLFParamMgr,BLOOD_TUBE_LLF_VEL,Integer,"{""value"":25}",<全血试管>液面跟随速度
91,PipetteGunLLFParamMgr,MINI_TUBE_LLF_VEL,Integer,"{""value"":25}",<迷你试管>液面跟随速度
92,PipetteGunLLFParamMgr,MINI_BLOOD_LLF_VEL,Integer,"{""value"":25}",<阳普管>液面跟随速度
93,PipetteGunLLFParamMgr,BULLET_TUBE_1P5_LLF_VEL,Integer,"{""value"":25}",<子弹头试管1.5ML>液面跟随速度
94,PipetteGunLLFParamMgr,BULLET_TUBE_0P5_LLF_VEL,Integer,"{""value"":25}",<子弹头试管0.5ML>液面跟随速度
95,PipetteGunLLFParamMgr,STOOL_TEST_TUBE_LLF_VEL,Integer,"{""value"":25}",<粪便试管>液面跟随速度
96,PipetteGunLLFParamMgr,LARGE_BS_BOTTLE_LLF_VEL,Integer,"{""value"":10}",<大瓶缓冲液>液面跟随速度
97,OptModuleExtParamsMgr,OptScanRefPos,Integer,"{""value"":4418}",光学扫描参考坐标
98,OptModuleExtParamsMgr,FOptScanShift,Integer,"{""value"":2220}",F光学扫描偏移
99,OptModuleExtParamsMgr,FOptEmissionIntensity,Integer,"{""value"":180}",F发射强度
100,OptModuleExtParamsMgr,FOptScanGainVal,Double,"{""value"":5.0}",F光学扫描放大倍数
101,OptModuleExtParamsMgr,TOptScanShift,Integer,"{""value"":1080}",T光学扫描偏移
102,OptModuleExtParamsMgr,TOptEmissionIntensity,Integer,"{""value"":20}",T发射强度
103,OptModuleExtParamsMgr,TOptScanGainVal,Double,"{""value"":0.5}",T光学扫描放大倍数
104,OptModuleParamsMgr,PullerTargetPos,Integer,"{""value"":1147}",拉板目标位置
105,OptModuleParamsMgr,OptScanerDropPos,Integer,"{""value"":-349}",丢板坐标
106,OptModuleParamsMgr,OptScanerScandbyPos,Integer,"{""value"":305}",扫描待机位
107,TemperatureCtrlParamMgr,IncubatorTCMTempOffset,Double,"{""value"":0}",<孵育仓>温度偏移
108,TemperatureCtrlParamMgr,PlatesBoxTCMTempOffset,Double,"{""value"":0}",<板夹仓>温度偏移
109,TubePreProcesPosParamMgr,GripperServoOpenPos,Integer,"{""value"":1637}",<抓手>张开位置
110,TubePreProcesPosParamMgr,GripperServoTakeCapPos,Integer,"{""value"":1519}",<抓手>取试管位置
111,TubePreProcesPosParamMgr,GripperRedundancyHeight,Integer,"{""value"":59}",<抓手>冗余高度
112,TubePreProcesPosParamMgr,ShakeClampMotorClampPos,Integer,"{""value"":5}",<摇匀试管夹>夹紧位
113,TubePreProcesPosParamMgr,ShakeClampMotorReleasePos,Integer,"{""value"":90}",<摇匀试管夹>释放位
114,TubePreProcesPosParamMgr,YServoTakeTubePos,Integer,"{""value"":2907}",<Y轴舵机>取试管位置
115,TubePreProcesPosParamMgr,YServoShakePos,Integer,"{""value"":1956}",<Y轴舵机>摇匀位置
116,TubePreProcesPosParamMgr,ZMotorTakeHTubePos,Integer,"{""value"":749}",<Z轴>取高试管位置
117,TubePreProcesPosParamMgr,ZMotorTakeSTubePos,Integer,"{""value"":985}",<Z轴>取低试管位置
118,TubePreProcesPosParamMgr,ZMotorShakeTubePos,Integer,"{""value"":773}",<Z轴>摇匀放置位置
119,PlatesBoxPosParamMgr,Ch0YPos,Integer,"{""value"":-17}",通道0Y轴位置
120,PlatesBoxPosParamMgr,Ch5YPos,Integer,"{""value"":1308}",通道5Y轴位置
121,PlatesBoxPosParamMgr,PushEndXPos,Integer,"{""value"":1160}",推杆到位坐标
122,PipetteGunExParamMgr,VOLUME_CALIBRATION_COEFFICIENT,Double,null,体积校准系数
123,PipetteGunExParamMgr,VOLUME_CALIBRATION_COEFFICIENT_A,Double,"{""value"":1.033378}",体积校准系数-A
124,PipetteGunExParamMgr,VOLUME_CALIBRATION_COEFFICIENT_B,Double,"{""value"":2.76625}",体积校准系数-B
125,HbotLargeBottleBSPosMgr,LargeBottleBufferLLDStartZAxisPos,Double,"{""value"":90}",大瓶缓冲液LLD起始Z轴坐标
126,HbotLargeBottleBSPosMgr,LargeBottleBufferBottomZAxisPos,Double,"{""value"":415}",大瓶缓冲液瓶底Z轴坐标
Loading…
Cancel
Save