|
@ -1,49 +1,77 @@ |
|
|
package a8k.service.hardware; |
|
|
package a8k.service.hardware; |
|
|
|
|
|
|
|
|
|
|
|
import a8k.appbean.AppErrorCode; |
|
|
import a8k.appbean.SampleTubeState; |
|
|
import a8k.appbean.SampleTubeState; |
|
|
|
|
|
import org.springframework.stereotype.Component; |
|
|
|
|
|
|
|
|
|
|
|
@Component |
|
|
public class SamplesPreProcessModuleCtrlService { |
|
|
public class SamplesPreProcessModuleCtrlService { |
|
|
|
|
|
|
|
|
|
|
|
/* |
|
|
|
|
|
样品预处理模块 |
|
|
|
|
|
主要负责样品预处理的相关操作 |
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
|
|
/* ======================================================================================= |
|
|
|
|
|
基础方法 |
|
|
|
|
|
=======================================================================================*/ |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 样品预处理模块 |
|
|
|
|
|
* 主要负责样品预处理的相关操作 |
|
|
|
|
|
* |
|
|
|
|
|
* 涉及到常量 |
|
|
|
|
|
* 1.试管的相关信息---试管高度 |
|
|
|
|
|
* 2.试管的相关信息---试管含帽高度 |
|
|
|
|
|
* 3.平移电机待机位置 |
|
|
|
|
|
* 4.平移电机取试管位置 |
|
|
|
|
|
* 5.平移电机试管处理位置 |
|
|
|
|
|
* |
|
|
|
|
|
* |
|
|
|
|
|
|
|
|
* 按照一定顺序归零设备 |
|
|
*/ |
|
|
*/ |
|
|
|
|
|
public void moveToZero() { |
|
|
|
|
|
/* |
|
|
|
|
|
1. 假设没有试管在当前设备上的前提下归零设备 |
|
|
|
|
|
2. 舵机虽然没有零位,但需要将其移动到待机位置 |
|
|
|
|
|
*/ |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 使能模组 |
|
|
|
|
|
* @param enable 是否使能模组 |
|
|
|
|
|
*/ |
|
|
|
|
|
public void enableModule(boolean enable) { |
|
|
|
|
|
|
|
|
public void takeTube(String tubeType) { |
|
|
|
|
|
// |
|
|
|
|
|
// 取试管并将试管放在夹紧位置,同时升降电机和平移电机移动到待机位 |
|
|
|
|
|
// 试管放置的水平高度和其在试管架中的高度保持一直 |
|
|
|
|
|
// |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* ======================================================================================= |
|
|
|
|
|
主要服务 |
|
|
|
|
|
=======================================================================================*/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 摇匀试管 |
|
|
|
|
|
* @param tubeType |
|
|
|
|
|
* @param times |
|
|
|
|
|
* @param shakeDegree |
|
|
|
|
|
|
|
|
* 取试管帽,如果试管帽存在, |
|
|
|
|
|
* @param tubeType TubeType_HighBlood,TubeType_ShortBlood,TubeType_Mini,TubeType_MiniBlood,TubeType_BulletTube1P5,TubeType_BulletTube0P5 |
|
|
|
|
|
* @param judgeCapExist 是否判断试管帽子存在与否 |
|
|
*/ |
|
|
*/ |
|
|
public void ShakeTube(String tubeType, int times, int shakeDegree) { |
|
|
|
|
|
// |
|
|
|
|
|
// |
|
|
|
|
|
// |
|
|
|
|
|
|
|
|
public AppErrorCode takeTube(String tubeType,boolean judgeCapExist) { |
|
|
|
|
|
/* |
|
|
|
|
|
注意事项: |
|
|
|
|
|
1. 取试管并将试管放在试管夹紧位置,同时升降电机和平移电机移动到待机位 |
|
|
|
|
|
2. 试管放置的水平高度和其在试管架中的高度保持一直 |
|
|
|
|
|
3. 取试管前,先通过试管夹紧功能判断一下试管帽是否存在(在试管没帽的边沿位置,抓手扭矩抓紧,如果等待一定时间后,抓手位置接近极限位置,则认为没有帽子,返回TubeNotHasHat错误) |
|
|
|
|
|
4. 无论是否抓取成功,只要不向外抛出异常,方法结束时,该模块涉及到组件均需要返回待机位置。 |
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
|
|
return AppErrorCode.Success; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 取试管帽 |
|
|
* 取试管帽 |
|
|
*/ |
|
|
*/ |
|
|
public void takeTubeCap() { |
|
|
|
|
|
|
|
|
public AppErrorCode takeTubeCap() { |
|
|
// |
|
|
// |
|
|
// |
|
|
// |
|
|
// |
|
|
// |
|
|
|
|
|
// |
|
|
|
|
|
|
|
|
|
|
|
return AppErrorCode.Success; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
@ -55,6 +83,21 @@ public class SamplesPreProcessModuleCtrlService { |
|
|
// |
|
|
// |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* ======================================================================================= |
|
|
|
|
|
辅助操作 |
|
|
|
|
|
=======================================================================================*/ |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 摇匀试管 |
|
|
|
|
|
* @param tubeType TubeType_HighBlood,TubeType_ShortBlood,TubeType_Mini,TubeType_MiniBlood,TubeType_BulletTube1P5,TubeType_BulletTube0P5 |
|
|
|
|
|
* @param times 摇匀次数 |
|
|
|
|
|
* @param shakeDegree 摇匀角度 |
|
|
|
|
|
*/ |
|
|
|
|
|
public void ShakeTube(String tubeType, int times, int shakeDegree) { |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 打开气溶胶风扇 |
|
|
* 打开气溶胶风扇 |
|
|
*/ |
|
|
*/ |
|
@ -82,4 +125,6 @@ public class SamplesPreProcessModuleCtrlService { |
|
|
public void moduleRuntimeReset() { |
|
|
public void moduleRuntimeReset() { |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
} |