work_tmp/errcode_inc.h

3582 lines
119 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef __ERRCODE_INC_H
#define __ERRCODE_INC_H
/*! \file errcode_inc.h
\brief 错误代码文档.
*/
/**
* \defgroup other 其他代码
* @{
*/
/*! \def RET_EXT_NO_ERROR
\remark 指令正常返回.
\note 指令正常返回.
*/
#define RET_EXT_NO_ERROR 0x00000000
/**@}*/
// 0x00000001 - 0x000000ff: uC/OS-II
// 0x80010001 - 0x800100ff: 旧协议错误代码, 保留
/**
* \defgroup general 0x80011001 - 0x80011fff: 通用系统错误代码
* @{
*/
/*! \def RET_OS_INVALID_PARAM
\remark 指令参数无效.
\note 调用指令接口的参数不正确,请检查软件接口使用时参数是否正确。
\def RET_OS_NO_AVAILABLE_EVENT_CTRL_BLK
\remark TODO 建立任务时创建信号量失败.
\note TODO 1.检查报错指令是否为有效指令
\def RET_OS_NOT_IMPLEMENT
\remark TODO 指令未实现.
\note TODO 1.检查报错指令是否为有效指令
\def RET_OS_SYNC_OBJ_FAILED
\remark TODO 属性库同步对象失败.
\note TODO 1.软件错误,联系技术支持
\def RET_OS_TASK_CREATE_FAILED
\remark TODO 创建任务失败.
\note TODO 1.软件错误,联系技术支持
\def RET_OS_MODULE_BUSY
\remark TODO 该模块在执行指令时又接收到下一条指令.
\note TODO 1.检查是否在多线程中对改模块发指令
\def RET_OS_MODULE_NOT_FOUND
\remark TODO 模块节点未找到.
\note TODO 1.检测模块通信是否正常
\def RET_OS_DATATYPE_MISMATCH
\remark TODO 数据类型不匹配.
\note TODO 1.检查指令参数类型
\def RET_OS_HEAP_FULL
\remark TODO 堆满,内存分配失败.
\note TODO 1.软件错误,联系技术支持
\def RET_OS_NOT_ENOUGH_OUT_BUFFER
\remark TODO 指令接口返回缓冲区空间不足.
\note TODO 1.软件错误,联系技术支持
\def RET_OS_STACK_OVERFLOW
\remark TODO 栈溢出,任务栈空间不足.
\note TODO 1.软件错误,联系技术支持
\def RET_OS_OPERATION_UNSUPPORTED
\remark TODO 不支持的操作.
\note TODO 1.检查指令参数类型
\n 2.检查sd相关参数
\def RET_OS_HEAP_CORRUPTED
\remark TODO 堆冲突.
\note TODO 1.软件错误,联系技术支持
\def RET_OS_FLOAT_TEST_FAILED
\remark TODO 浮点测试失败未满足AAPCS函数调用规则
\note TODO 1.软件错误,联系技术支持
\def RET_OS_SYSMGR_NOT_FOUND
\remark 未找到系统管理模块
\note 1:初始化未完成
2:该板找到不到系统管理模块
\def RET_OS_PART_NOT_INIT
\remark 该部件刚上电尚未完成初始化
\note 1:间隔一定时间再次操作
*/
#define RET_OS_INVALID_PARAM 0x80011001
#define RET_OS_NO_AVAILABLE_EVENT_CTRL_BLK 0x80011002
#define RET_OS_NOT_IMPLEMENT 0x80011003
#define RET_OS_SYNC_OBJ_FAILED 0x80011004
#define RET_OS_TASK_CREATE_FAILED 0x80011005
#define RET_OS_MODULE_BUSY 0x80011006
#define RET_OS_MODULE_NOT_FOUND 0x80011007
#define RET_OS_DATATYPE_MISMATCH 0x80011008
#define RET_OS_HEAP_FULL 0x80011009
#define RET_OS_NOT_ENOUGH_OUT_BUFFER 0x8001100a
#define RET_OS_STACK_OVERFLOW 0x8001100b
#define RET_OS_OPERATION_UNSUPPORTED 0x8001100c
#define RET_OS_HEAP_CORRUPTED 0x8001100d
#define RET_OS_FLOAT_TEST_FAILED 0x8001100e
#define RET_OS_FLASH_ERASE_FAILED 0x8001100f
#define RET_OS_FLASH_PROGRAM_FAILED 0x80011010
#define RET_OS_SYSMGR_NOT_FOUND 0x80011011
#define RET_OS_PART_NOT_INIT 0x80011012
/**@}*/
/**
* \defgroup middleware 0x80011101 - 0x800111ff: JNI, .NET中间层错误代码
*/
/**@{
*/
/*! \def RET_JNI_OBJECT_NULL
\remark TODO [.NET中间层错误]JNI对象为空.
\note TODO 1.软件错误,联系技术支持
\def RET_JNI_OBJECT_ERROR
\remark TODO [.NET中间层错误]JNI对象错误.
\note TODO 1.软件错误,联系技术支持
\def RET_DOTNET_OBJECT_NULL
\remark TODO [.NET中间层错误].NET对象为空.
\note TODO 1.软件错误,联系技术支持
\def RET_JNI_RETCODE_EXCEPTION
\remark TODO [.NET中间层错误]错误类型无法被java识别.
\note TODO 1.软件错误,联系技术支持
\def RET_VALVEFLOAT_INIT_FAILED
\remark 泵阀驱动初始化失败
\note TODO 1.软件错误,联系技术支持
\def RET_VALVEFLOAT_GET_FAILED
\remark 泵阀外设读取状态不一致
\note TODO 1.软件错误,联系技术支持
*/
#define RET_JNI_OBJECT_NULL 0x80011101
#define RET_JNI_OBJECT_ERROR 0x80011102
#define RET_DOTNET_OBJECT_NULL 0x80011103
#define RET_JNI_RETCODE_EXCEPTION 0x80011104 // 错误类型无法被java识别
#define RET_VALVEFLOAT_INIT_FAILED 0x80011105
#define RET_VALVEFLOAT_GET_FAILED 0x80011106
/**@}*/
/**
* \defgroup Peripheral 0x80011201 - 0x8001123f: 通用外部设备错误代码
*/
/**@{
*/
/*! \def RET_SPI_ACCESS_FAILED
\remark TODO 报错原因.
\note TODO 建议操作
\def RET_EEPROM_READ_FAILED
\remark TODO eeprom读错误.
\note TODO 1.软件错误,联系技术支持
\def RET_EEPROM_WRITE_FAILED
\remark TODO eeprom读错误.
\note TODO 1.软件错误,联系技术支持
*/
#define RET_SPI_ACCESS_FAILED 0x80011201
#define RET_EEPROM_READ_FAILED 0x80011202
#define RET_EEPROM_WRITE_FAILED 0x80011203
/**@}*/
/**
* \defgroup Bootloader 0x80011240 - 0x8001127f: Bootloader错误代码
*/
/**@{
*/
/*!
\def RET_BOOTLOADER_IAP_FAILED
\remark TODO IAP命令失败.
\note TODO 1.软件错误,联系技术支持
\def RET_BOOTLOADER_FLASH_RANGE_ERROR
\remark TODO flash操作地址越界0~504KB.
\note TODO 1.软件错误,联系技术支持
\def RET_BOOTLOADER_BOUNDARY_ERROR
\remark TODO flash操作地址边界错误需要256B的整数倍.
\note TODO 1.软件错误,联系技术支持
\def RET_BOOTLOADER_UNKNOWN_PARTID
\remark TODO 无效的flash ID.
\note TODO 1.软件错误,联系技术支持
\def RET_BOOTLOADER_NOT_BEGIN_OF_SECTOR
\remark TODO flash操作地址不是扇区的起始地址.
\note TODO 1.软件错误,联系技术支持
\def RET_BOOTLOADER_VERIFY_FAILED
\remark TODO BL校验失败.
\note TODO 1.检查用户程序编译是否正确(程序入口地址、头部信息)
\def RET_BOOTLOADER_FILE_OPEN_ERR
\remark TODO 打开用户程序文件失败.
\note TODO 1.检查用户程序是否存在
\def RET_BOOTLOADER_FILE_READ_ERR
\remark TODO 读用户程序文件失败.
\note TODO 1.检查用户程序是否存在
\def RET_BOOTLOADER_FILE_FORMATE_ERR
\remark TODO 用户程序文件格式错误.
\note TODO 1.检查用户程序编译是否正确(程序入口地址、头部信息等)
\def RET_BOOTLOADER_HEAP_FULL
\remark TODO 堆满,内存分配空间不足.
\note TODO 1.软件错误,联系技术支持
\def RET_BOOTLOADER_RAM_RANGE_ERROR
\remark TODO 用户程序超出RAM空间大小.
\note TODO 1.检查用户程序大小是否满足RAM大小
\def RET_BOOTLOADER_DECOMPRESS_FAILED
\remark TODO 用户程序解压缩失败.
\note TODO 1.软件错误,联系技术支持
\def RET_BOOTLOADER_DECRYPT_FAILED
\remark TODO 用户程序解密失败.
\note TODO 1.检查用户程序是否被正确加密
*/
#define RET_BOOTLOADER_IAP_FAILED 0x80011240
#define RET_BOOTLOADER_FLASH_RANGE_ERROR 0x80011241
#define RET_BOOTLOADER_BOUNDARY_ERROR 0x80011242
#define RET_BOOTLOADER_UNKNOWN_PARTID 0x80011243
#define RET_BOOTLOADER_NOT_BEGIN_OF_SECTOR 0x80011244
#define RET_BOOTLOADER_VERIFY_FAILED 0x80011245
#define RET_BOOTLOADER_FILE_OPEN_ERR 0x80011246
#define RET_BOOTLOADER_FILE_READ_ERR 0x80011247
#define RET_BOOTLOADER_FILE_FORMATE_ERR 0x80011248
#define RET_BOOTLOADER_HEAP_FULL 0x80011249
#define RET_BOOTLOADER_RAM_RANGE_ERROR 0x8001124a
#define RET_BOOTLOADER_DECOMPRESS_FAILED 0x8001124b
#define RET_BOOTLOADER_DECRYPT_FAILED 0x8001124c
/**@}*/
/**
* \defgroup fsys 0x80011280 - 0x800112ff: 文件系统错误代码
*/
/**@{
*/
/*!
\def RET_FILE_STAT_ERR
\remark 读文件状态错误
\note 1.检查SD卡接触是否良好
\n 2.检查SD卡文件是否存在
\def RET_FILE_DIR_OPEN_ERR
\remark 打开目录错误
\note 1.检查SD卡接触是否良好
\n 2.检查目录路径是否正确
\def RET_FILE_DIR_READ_ERR
\remark 读目录失败
\note 1.检查SD卡接触是否良好
\def RET_FILE_DIR_NO_FILE_ERR
\remark 目录下所有文件已被读取。
\note 1.遍历目录时返回该错误代码表示目录已被遍历完。
*/
#define RET_FILE_STAT_ERR 0x80011280
#define RET_FILE_DIR_OPEN_ERR 0x80011281
#define RET_FILE_DIR_READ_ERR 0x80011282
#define RET_FILE_DIR_NO_FILE_ERR 0x80011283
/**@}*/
/**
* \defgroup sys 0x80011301 - 0x8001133f: 系统错误代码
*/
/**@{
*/
/*!
\def RET_SYS_STOP_PRESSED
\remark 停止按钮被按下.
\note 1.检查停止按钮是否被按下
\def RET_SYS_MOTOR_PROTECTED_TYPE1
\remark 防撞传感器, 触发后任何电机操作都无法执行
\note 1.检查防撞传感器是否触发
\def RET_SYS_MOTOR_PROTECTED_TYPE2
\remark 两臂防撞传感器, 触发后可执行电机复位指令
\note 1.检查两臂防撞传感器是否触发
*/
#define RET_SYS_STOP_PRESSED 0x80011301
#define RET_SYS_MOTOR_PROTECTED_TYPE1 0x80011302 // 防撞触发, 防撞解除后方可恢复
#define RET_SYS_MOTOR_PROTECTED_TYPE2 0x80011303 // 两臂防撞触发, 可执行复位指令恢复
/**@}*/
/**
* \defgroup i2c 0x80011340 - 0x8001137f: 通讯错误代码
*/
/**@{
*/
/*!
\def RET_I2C_COMM_FAILED
\remark TODO 报错原因.
\note TODO 建议操作
*/
#define RET_I2C_COMM_FAILED 0x80011340
/*! \def RET_BVCTRL_LEFT_PUSH_CARDS_FULL
\remark 左推导轨上板卡满
\note TODO 1.上位机时序错误,联系技术支持
\def RET_BVCTRL_RIGHT_PUSH_CARDS_NONE
\remark 右推导轨上无卡
\note TODO 1.上位机时序错误,联系技术支持
\def RET_BVCTRL_RIGHT_PUSH_CARDS_FULL
\remark 右推导轨上卡满
\note TODO 1.上位机时序错误,联系技术支持
\def RET_BVCTRL_LEFT_PUSH_COORDINATE_WRONG
\remark TODO 左推电机坐标错误
\note TODO 1.上位机时序错误,联系技术支持
2. 坐标点错误检查板卡推送电机1最大距离
\def RET_BVCTRL_RIGHT_PUSH_COORDINATE_WRONG
\remark 右推电机坐标错误
\note TODO 1.上位机时序错误,联系技术支持
2. 坐标点错误检查板卡推送电机3最大距离
\def RET_BVCTRL_CHANGE_TRACK_CARD_WRONG
\remark 换轨电机动作失败
\note TODO 1.检查是否卡板
\def RET_BVCTRL_LEFT_PUSH_CARD_F
\remark 左推电机动作失败
\note TODO 1.检查是否卡板
2.检查加样位传感器是否正常
\def RET_BVCTRL_NOT_INIT
\remark BV主控初始化失败
\note TODO 1.检查CAN通信是否异常
2.检查
\def RET_BVCTRL_MOTOR_NOT_RESET
\remark 异常关机中电机未复位
\note TODO 1.上次实验中异常关机,复位机器
\def RET_BVCTRL_CLEAR_CARDS
\remark 需清理板卡的异常
\note TODO 1.检查机械结构是否正常
\def RET_BVCTRL_LEFT_ADDING_FAILED
\remark 取卡失败
\note TODO 1.检查机械结构是否正常
\def RET_BVCTRL_CARD_STUCKED
\remark 卡板后失步
\note TODO 1.检查机械结构是否正常
2.检查实验过程中是否发生卡板
\def RET_BVCTRL_SENSOR_FAILED
\remark 样本架传感器异常
\note TODO 1.检查样本架传感器接线是否正常
\def RET_BVCTRL_TEMP_SENSOR_FAILED
\remark 温度传感器异常
\note TODO 1.检查温度传感器接线是否正常
\def RET_BVCTRL_MOTOR_INIT_FAILED
\remark 电机初始化失败
\note TODO 1.检查是否存在机械故障
\def RET_BVCTRL_PARAM_FAILED
\remark 参数读取失败
\note TODO 1.检查臂组模块是否初始化成功
2.检查底板CAN通信是否正常
\def RET_BVCTRL_RESET_FAILED
\remark 复位失败
\note TODO 1.检查是否存在机械故障
*/
#define RET_BVCTRL_LEFT_PUSH_CARDS_FULL 0x80011601 //左推导轨上板卡满
#define RET_BVCTRL_RIGHT_PUSH_CARDS_NONE 0x80011602 //右推导轨上无卡
#define RET_BVCTRL_RIGHT_PUSH_CARDS_FULL 0X80011603 //右推导轨上卡满
#define RET_BVCTRL_LEFT_PUSH_COORDINATE_WRONG 0x80011604 //左推电机坐标错误
#define RET_BVCTRL_RIGHT_PUSH_COORDINATE_WRONG 0x80011605 //右推电机坐标错误
#define RET_BVCTRL_CHANGE_TRACK_CARD_WRONG 0x80011606 //换轨电机动作失败
#define RET_BVCTRL_LEFT_PUSH_CARD_F 0x80011607 //左推电机动作失败
#define RET_BVCTRL_NOT_INIT 0x80011608 //BV主控初始化失败
#define RET_BVCTRL_MOTOR_NOT_RESET 0x80011609 //异常关机中电机未复位
#define RET_BVCTRL_CLEAR_CARDS 0x8001160A //需清理板卡的异常
#define RET_BVCTRL_LEFT_ADDING_FAILED 0x8001160B //取卡失败
#define RET_BVCTRL_CARD_STUCKED 0x8001160C //卡板后失步
#define RET_BVCTRL_SENSOR_FAILED 0x8001160D //样本架传感器异常
#define RET_BVCTRL_TEMP_SENSOR_FAILED 0x8001160E //温度传感器异常
#define RET_BVCTRL_MOTOR_INIT_FAILED 0x8001160F //电机初始化失败
#define RET_BVCTRL_PARAM_FAILED 0x80011610 //参数读取失败
#define RET_BVCTRL_RESET_FAILED 0x80011611 //复位失败
#define RET_BVCTRL_MOTOR1_LOST_STEP_FWD 0x80011612 //电机1向前失步
#define RET_BVCTRL_MOTOR1_LOST_STEP_RVS 0x80011613 //电机1向后失步
#define RET_BVCTRL_MOTOR2_LOST_STEP_FWD 0x80011614 //电机2向前失步
#define RET_BVCTRL_MOTOR2_LOST_STEP_RVS 0x80011615 //电机2向后失步
#define RET_BVCTRL_MOTOR3_LOST_STEP_FWD 0x80011616 //电机3向前失步
#define RET_BVCTRL_MOTOR3_LOST_STEP_RVS 0x80011617 //电机3向后失步
#define RET_BVCTRL_MOTOR4_LOST_STEP_FWD 0x80011618 //电机4向前失步
#define RET_BVCTRL_MOTOR4_LOST_STEP_RVS 0x80011619 //电机4向后失步
#define RET_BVCTRL_MAGNET_FEEDBACK_WRONG 0x8001161A //电磁铁反馈电平错误
#define RET_BVCTRL_MAGNET_SENSOR_WRONG 0x8001161B //电磁铁反馈传感器错误
#define RET_BVCTRL_NOT_RESET 0x8001161C //主控模块电机未复位
#define RET_BVCTRL_LEFT_ADDING_SURFACE 0X8001161D //取卡过冲
/**@}*/
/**
* \defgroup bus 0x80012001 - 0x80012fff: 总线模块错误代码
*/
/**@{
*/
/*!
\def RET_BUS_NOT_INIT
\remark 总线未初始化.
\note 1.软件错误,联系技术支持
\def RET_BUS_STACK_OVERFLOW
\remark 总线任务栈溢出
\note 1.软件错误,联系技术支持
\def RET_BUS_NO_AVAILABLE_ADAPTER
\remark 总线适配器数目超出最大值.
\note 1.软件错误,联系技术支持
\def RET_BUS_ADAPTER_INIT_FAILED
\remark 总线适配器初始化失败.
\note 1.软件错误,联系技术支持
\def RET_BUS_INVALID_ADAPTER
\remark 总线适配器无效,回调函数未空.
\note 1.软件错误,联系技术支持
\def RET_BUS_BUFFER_RX_FULL
\remark 总线接受缓冲区已满BUS_QUEUE_RX_MAX太小.
\note 1.软件错误,联系技术支持
\def RET_BUS_DUPLICATE_PACKET
\remark 接收到重复包.
\note 1.软件错误,联系技术支持
\def RET_BUS_OBJECT_NOT_FOUND
\remark 节点对象未找到.
\note 1.软件错误,联系技术支持
\def RET_BUS_SESSION_FULL
\remark 会话id已满
\note 1.软件错误,联系技术支持
\def RET_BUS_FUNC_UNSUPPORTED
\remark 总线功能不支持
\note 1.软件错误,联系技术支持
\def RET_BUS_REQ_TX_FAILED
\remark 总线请求发送失败.超出发送错误次数
\note 1.检查PC端CAN发送是否正常可以尝试给其他模块发送指令
\n 2.重试操作,给报错节点重发指令是否正常
\n 3.联系技术支持
\def RET_BUS_SUBNET_NOT_FOUND
\remark 子网号不识别
\note 1.检查节点地址子网号是否有效
\n 2.软件错误,联系技术支持
\def RET_BUS_CMD_MULTI_EXCEED_MAX
\remark 同时执行的指令数超出最大值
\note 1.软件错误,联系技术支持
\def RET_BUS_HEAP_FULL
\remark 堆空间已满,内存分配失败
\note 1.软件错误,联系技术支持
\def RET_BUS_SUBNET_CONFLICT
\remark 子网冲突
\note 1.软件错误,联系技术支持
\def RET_BUS_SUBNET_ID_NOT_INIT
\remark 节点地址为广播地址,不能发送指令,只能广播
\note 1.检查节点地址是否有效
\def RET_BUS_SUBNET_INVALID
\remark 适配器安装时子网无效
\note 1.软件错误,联系技术支持
\def RET_BUS_ADAPTER_OPEN_FAILED
\remark TODO 报错原因.
\note TODO 建议操作
\def RET_BUS_ADAPTER_NOT_OPEN
\remark TODO 报错原因.
\note TODO 建议操作
\def RET_BUS_ADAPTER_ERROR
\remark TODO 报错原因.
\note TODO 建议操作
\def RET_BUS_ADAPTER_OPENED
\remark TODO 报错原因.
\note TODO 建议操作
\def RET_BUS_ADAPTER_CLOSE_FAILED
\remark TODO 报错原因.
\note TODO 建议操作
\def RET_BUS_CLOSED
\remark TODO 报错原因.
\note TODO 建议操作
\def RET_BUS_SESSION_CONFLICT
\remark TODO 报错原因.
\note TODO 建议操作
\def RET_BUS_INVALID_PACKET
\remark 数据包无效,不满足指令包和结果包字节数
\note 1.软件错误,联系技术支持
\def RET_BUS_INVALID_RET_FORMAT
\remark 指令返回参数格式无效(字节数不满足要求).
\note 1.软件错误,联系技术支持
\def RET_BUS_BUFFER_TX_FULL
\remark 发送缓冲区已满BUS_QUEUE_TX_MAX太小.
\note 1.软件错误,联系技术支持
\def RET_BUS_BUFFER_CMDHOST_FULL
\remark 指令主机缓冲区已满BUS_SESSION_CMD_MAX太小.
\note 1.软件错误,联系技术支持
\def RET_BUS_BUFFER_CMDSLAVE_FULL
\remark 指令从机缓冲区已满BUS_SESSION_CMD_MAX太小..
\note 1.软件错误,联系技术支持
\def RET_BUS_BUFFER_EVENT_FULL
\remark 事件缓冲区已满, BUS_SESSION_EVENT_MAX太小.
\note 1.软件错误,联系技术支持
\def RET_BUS_BUFFER_NODEMGR_FULL
\remark 节点管理缓冲区已满BUS_NODE_MAX太小.
\note 1.软件错误,联系技术支持
\def RET_BUS_LOG_BUFFER_NOT_INIT
\remark TODO 报错原因.
\note TODO 建议操作
*/
#define RET_BUS_NOT_INIT 0x80012001
#define RET_BUS_STACK_OVERFLOW 0x80012002
#define RET_BUS_NO_AVAILABLE_ADAPTER 0x80012003
#define RET_BUS_ADAPTER_INIT_FAILED 0x80012004
#define RET_BUS_INVALID_ADAPTER 0x80012005
#define RET_BUS_BUFFER_RX_FULL 0x80012006 // BUS_QUEUE_RX_MAX太小
#define RET_BUS_DUPLICATE_PACKET 0x80012007
#define RET_BUS_OBJECT_NOT_FOUND 0x80012008
#define RET_BUS_SESSION_FULL 0x80012009
#define RET_BUS_FUNC_UNSUPPORTED 0x8001200a
#define RET_BUS_REQ_TX_FAILED 0x8001200b
#define RET_BUS_SUBNET_NOT_FOUND 0x8001200c
#define RET_BUS_CMD_MULTI_EXCEED_MAX 0x8001200d
#define RET_BUS_HEAP_FULL 0x8001200e
#define RET_BUS_SUBNET_CONFLICT 0x8001200f
#define RET_BUS_SUBNET_ID_NOT_INIT 0x80012010
#define RET_BUS_SUBNET_INVALID 0x80012011
#define RET_BUS_ADAPTER_OPEN_FAILED 0x80012012
#define RET_BUS_ADAPTER_NOT_OPEN 0x80012013
#define RET_BUS_ADAPTER_ERROR 0x80012014
#define RET_BUS_ADAPTER_OPENED 0x80012015
#define RET_BUS_ADAPTER_CLOSE_FAILED 0x80012016
#define RET_BUS_CLOSED 0x80012017
#define RET_BUS_SESSION_CONFLICT 0x80012018
#define RET_BUS_INVALID_PACKET 0x80012019
#define RET_BUS_INVALID_RET_FORMAT 0x8001201a
#define RET_BUS_BUFFER_TX_FULL 0x8001201b // BUS_QUEUE_TX_MAX太小
#define RET_BUS_BUFFER_CMDHOST_FULL 0x8001201c // BUS_SESSION_CMD_MAX太小
#define RET_BUS_BUFFER_CMDSLAVE_FULL 0x8001201d // BUS_SESSION_CMD_MAX太小
#define RET_BUS_BUFFER_EVENT_FULL 0x8001201e // BUS_SESSION_EVENT_MAX太小
#define RET_BUS_BUFFER_NODEMGR_FULL 0x8001201f // BUS_NODE_MAX太小
//总线日志错误代码定义 0x80012100~
#define RET_BUS_LOG_BUFFER_NOT_INIT 0x80012100
/**@}*/
/**
* \defgroup canbus 0x80012101 - 0x800121ff: CAN模块错误代码
*/
/**@{
*/
/*!
\def RET_CAN_BUFFER_FULL
\remark CAN缓冲区已满.
\note 1.软件错误,联系技术支持
\def RET_CAN_PACKET_TOO_LARGE
\remark CAN包帧数超出了所支持的最大数据包的帧数.
\note 1.软件错误,联系技术支持
\def RET_CAN_TX_NO_ACK
\remark 发送无应答.
\note 1.检查CAN通信线路是否收到干扰
\def RET_CAN_TX_ARB_LOST
\remark ALI 仲裁丢失.
\note 1.检查CAN通信线路是否收到干扰
\def RET_CAN_TX_ERR
\remark BEI总线错误.
\note 1.检查CAN通信线路是否收到干扰
\def RET_CAN_TX_TIMEOUT
\remark CAN发送超时1s.
\note 1.检查CAN通信线路是否收到干扰
\def RET_CAN_TX_RETRY_FAILED
\remark 重试发送失败.
\note 1.检查CAN通信线路是否收到干扰
\def RET_CAN_RX_DESTID_MISMATCH
\remark 接收到的包不是广播也不是给本节点发的.
\note 1.软件错误,联系技术支持
\def RET_CAN_RX_INVALID_FRAME
\remark 接收到的帧无效,数据长度不符合要求.
\note 1.软件错误,联系技术支持
\def RET_CAN_RX_DUPLICATED_FRAME
\remark 接收到了重复帧.
\note 1.软件错误,联系技术支持
\def RET_CAN_RX_INVALID_FRAMEID
\remark 接收到的帧索引无效.
\note 1.软件错误,联系技术支持
\def RET_CAN_RX_ERR
\remark TODO 报错原因.
\note TODO 建议操作
\def RET_CAN_CANSEND_HAL_FAILED
\remark HAL层发送失败.
\note 1.检查CAN通信线路是否收到干扰
\def RET_CAN_TX_HAL_SENDMAIL_FULL
\remark stm32硬件发送邮箱满,
\note 1.请排除软件bug
\def RET_CAN_ADDR_CONFLICT
\remark CAN 地址冲突,
\note 1.请更换本节点的CAN地址
*/
#define RET_CAN_BUFFER_FULL 0x80012101
#define RET_CAN_PACKET_TOO_LARGE 0x80012102
#define RET_CAN_TX_NO_ACK 0x80012103 // no acknowledge
#define RET_CAN_TX_ARB_LOST 0x80012104 // arbitration lost
#define RET_CAN_TX_ERR 0x80012105 // other error
#define RET_CAN_TX_TIMEOUT 0x80012106
#define RET_CAN_TX_RETRY_FAILED 0x80012107
#define RET_CAN_RX_DESTID_MISMATCH 0x80012108
#define RET_CAN_RX_INVALID_FRAME 0x80012109
#define RET_CAN_RX_DUPLICATED_FRAME 0x8001210a
#define RET_CAN_RX_INVALID_FRAMEID 0x8001210b
#define RET_CAN_RX_ERR 0x8001210c
#define RET_CAN_CANSEND_HAL_FAILED 0x8001210d
#define RET_CAN_TX_HAL_SENDMAIL_ERROR 0x8001210e
#define RET_CAN_ADDR_CONFLICT 0x8001210f
/**@}*/
/**
* \defgroup uartbus 0x80012201 - 0x800122ff: UART模块错误代码
*/
/**@{
*/
/*!
\def RET_UART_BUFFER_FULL
\remark 串口缓冲区已满.
\note 1.软件错误,联系技术支持
\def RET_UART_TX_TIMEOUT
\remark 串口发送超时.
\note 1.检查CAN通信线路是否收到干扰
\def RET_UART_TX_RETRY_FAILED
\remark 串口重试发送失败.
\note 1.检查CAN通信线路是否收到干扰
\def RET_UART_RX_ERR
\remark TODO 报错原因.
\note TODO 建议操作
*/
#define RET_UART_BUFFER_FULL 0x80012201
#define RET_UART_TX_TIMEOUT 0x80012206
#define RET_UART_TX_RETRY_FAILED 0x80012207
#define RET_UART_RX_ERR 0x8001220c
/**@}*/
/**
* \defgroup i2cbus 0x80012201 - 0x800122ff: I2C模块错误代码
*/
/**@{
*/
/*!
\def RET_I2C_BUFFER_FULL
\remark TODO 报错原因.
\note TODO 建议操作
\def RET_I2C_TX_TIMEOUT
\remark TODO 报错原因.
\note TODO 建议操作
\def RET_I2C_TX_RETRY_FAILED
\remark TODO 报错原因.
\note TODO 建议操作
\def RET_I2C_RX_ERR
\remark TODO 报错原因.
\note TODO 建议操作
\def RET_I2C_BUFFER_EMPTY
\remark TODO 报错原因.
\note TODO 建议操作
\def RET_I2C_TX_NO_ACK
\remark TODO 报错原因.
\note TODO 建议操作
\def RET_I2C_PACK_TOO_LONG
\remark TODO 报错原因.
\note TODO 建议操作
*/
#define RET_I2C_BUFFER_FULL 0x8001220d
#define RET_I2C_TX_TIMEOUT 0x8001220e
#define RET_I2C_TX_RETRY_FAILED 0x8001220f
#define RET_I2C_RX_ERR 0x800122a0
#define RET_I2C_BUFFER_EMPTY 0x800122a1
#define RET_I2C_TX_NO_ACK 0x800122a2
#define RET_I2C_PACK_TOO_LONG 0x800122a3
/**@}*/
/**
* \defgroup socketbus 0x80012300 - 0x800123f: socket 模块错误代码
*/
/**@{
*/
/*!
\def RET_SOCKET_ERR
\remark unknow socket error
\note
\def RET_SOCKET_ADDR_ALREADY_IN_USE
\remark application attempts to bind a socket to an IP address/port that has already been used for an existing socket, or a socket that was not closed properly, or one that is still in the process of closing(msdn winsock:10048; )
\note 1.
\def RET_SOCKET_WINSOCK_NOT_INT
\remark application has not called WSAStartup or WSAStartup failed(msdn winsock:10093; )
\note 1.
\def RET_SOCKET_NETWORK_UNREACH
\remark (msdn winsock:10051; )
\note 1.
\def RET_SOCEKT_PERMISSION_DENIED
\remark operate is forbidden(msdn winsock:10013;). send broadcast without broadcast permission.
\note 1.
\def RET_SOCKET_BAD_ADDRESS
\remark (msdn winsock:10014;).
\note 1.
\def RET_SOCKET_MESSAGE_TOO_LONG
\remark (msdn winsock:10040;).
\note 1.
*/
#define RET_SOCKET_ERR 0x80012300
#define RET_SOCKET_ADDR_ALREADY_IN_USE 0x80012301
#define RET_SOCKET_WINSOCK_NOT_INT 0x80012302
#define RET_SOCKET_NETWORK_UNREACH 0x80012303
#define RET_SOCEKT_PERMISSION_DENIED 0x80012304
#define RET_SOCKET_BAD_ADDRESS 0x80012305
#define RET_SOCKET_MESSAGE_TOO_LONG 0x80012306
/**
* \defgroup cmdsys 0x80013001 - 0x80013fff: 指令系统错误代码
*/
/**@{
*/
/*!
\def RET_COMMAND_ABORTED
\remark 指令被取消.
\note 1.检查CAN通信线路是否收到干扰
\def RET_COMMAND_NO_RESPONSE
\remark 指令无响应未收到从机的ACK包.
\note 1.检查指令发送方接收是否正常
\n 2.检查指令接收方发送是否正常
\n 3.重试指令是否正常
\def RET_COMMAND_TIMEOUT
\remark 指令超时,长时间未收到数据包.
\note 1.检查指令发送方接收是否正常
\n 2.检查指令接收方发送是否正常
\n 3.重试指令是否正常
\def RET_COMMAND_INVALID
\remark 无效指令.
\note 1.软件错误,联系技术支持
\def RET_COMMAND_INVALID_FORMAT
\remark 指令格式无效.
\note 1.软件错误,联系技术支持
*/
#define RET_COMMAND_ABORTED 0x80013001
#define RET_COMMAND_NO_RESPONSE 0x80013002
#define RET_COMMAND_TIMEOUT 0x80013003
#define RET_COMMAND_INVALID 0x80013004
#define RET_COMMAND_INVALID_FORMAT 0x80013005
/**@}*/
/**
* \defgroup motor 0x80013010 - 0x8001301f: 电机模块错误代码
*/
/**@{
*/
/*!
\def RET_MOTOR_BUSY
\remark 电机忙,电机运动指令执行过程中又接收到一条运动指令.
\note 1.是否连续对电机发送了运动指令
\n 2.软件错误,联系技术支持
\def RET_MOTOR_START_TIMEOUT
\remark 等待同步信号的超时(1s).
\note 1.检查同步线通信是否正常
\def RET_MOTOR_SENSOR_FAILED
\remark 传感器检测失败.
\note 1.检查传感器工作是否正常
\def RET_MOTOR_LOST_STEP_FWD
\remark 电机正向失步.
\note 1.检查电机失步数是否满足失步条件
\n 2.检查电机安装是否正确
\def RET_MOTOR_LOST_STEP_RVS
\remark 电机反向失步.
\note 1.检查电机失步数是否满足失步条件
\n 2.检查电机安装是否正确
\def RET_MOTOR_ABORTED
\remark 电机运动被终止.
\note 1.检查电机运动过程中指令是否被取消
\n 2.如果是同步过程中报了该错误,表示触发条件已满足
\def RET_MOTOR_TC_OVERFLOW
\remark 电机计数溢出.
\note 1.更新电机固件至r5901以上
\n 2.修改电机细分至8细分降低计数频率
\def RET_MOTOR_SEQUENCE_EXCEED_MAX
\remark 电机运动序列次数超出最大值4.
\note 1.软件错误,联系技术支持
\def RET_MOTOR_COORD_OUT_BOUND
\remark 电机坐标越界.
\note 1.检查电机运动坐标是否已超出最大行程参数
\def RET_MOTOR_COORD_MUST_ABS_WHEN_BUSY
\remark 电机坐标必须为绝对坐标.
\note 1.软件错误,联系技术支持
\def RET_MOTOR_AREA_CNT_EXCEED_MAX
\remark 区域坐标设置时区域数超出最大值4.
\note 1.软件错误,联系技术支持
\def RET_MOTOR_MULTI_EXCEED_MAX
\remark 同时运动的电机数超出最大值4.
\note 1.软件错误,联系技术支持
\def RET_MOTOR_ERR
\remark 多电机运动时有电机执行失败.
\note 1.检查执行失败的电机工作是否正常
*/
#define RET_MOTOR_BUSY 0x80013010
#define RET_MOTOR_START_TIMEOUT 0x80013011
#define RET_MOTOR_SENSOR_FAILED 0x80013012
#define RET_MOTOR_LOST_STEP_FWD 0x80013013
#define RET_MOTOR_LOST_STEP_RVS 0x80013014
#define RET_MOTOR_ABORTED 0x80013015
#define RET_MOTOR_TC_OVERFLOW 0x80013016
#define RET_MOTOR_SEQUENCE_EXCEED_MAX 0x80013017
#define RET_MOTOR_COORD_OUT_BOUND 0x80013018
#define RET_MOTOR_COORD_MUST_ABS_WHEN_BUSY 0x80013019
#define RET_MOTOR_AREA_CNT_EXCEED_MAX 0x8001301a
#define RET_MOTOR_MULTI_EXCEED_MAX 0x8001301b
#define RET_MOTOR_CONFLICT 0x8001301c
#define RET_MOTOR_NOT_CONFIG 0x8001301d
#define RET_MOTOR_NOT_INIT 0x8001301e
#define RET_MOTOR_ERR 0x8001301f
/**@}*/
/**
* \defgroup multi.motor 0x80013600 - 0x800136ff: 新电机错误代码
*/
/**@{
*/
/*!
\def RET_MULTI_MOTOR_RVS_SCHMITT_FAILED
\remark 施密特检查错误,电机从触发到不触发行程小于零位坐标
\note 1.电机在触发零位后反向失步
2.检查零位装置是否安装正确
\def RET_MULTI_MOTOR_FWD_SCHMITT_FAILED
\remark 施密特检查错误
\note 1.电机从0坐标到传感器跳变期间正向失步
2.检查零位装置是否安装正确
\def RET_MULTI_MOTOR_SPITASK_TIMEOUT
\remark 动作任务等待SPI通信任务执行超时
\note 1.检查SPI通信任务是否正常
\note 1.固件错误,联系研发
\def RET_MULTI_MOTOR_WPARAM_FORBIDDEN
\remark 写芯片参数条件不符,拒绝修改
\note 1.确保写参数指令在允许条件下发送
\def RET_MULTI_MOTOR_WPARAM_INVALID
\remark 写参数时值超出允许范围
\note 1.确保参数写入允许范围内的值
\def RET_MULTI_MOTOR_ZERO_LOST_STEP_FWD
\remark 复位时第二次检测到的正向跳变点大于零位坐标+7p
\note 1.确保0坐标到零位没有拉住挡片运动
\def RET_MULTI_MOTOR_ZERO_LOST_STEP_RVS
\remark 复位时第二次检测到的正向跳变点小于零位坐标+1p
\note 1.确保零位到0坐标没有挡住挡片运动
\def RET_MULTI_MOTOR_CHAIN_EXCEED_MAX
\remark 开机自检连接数超出6
\note 1.确保电路板连接数不超过6个
\def RET_MULTI_MOTOR_STATUS_ERROR
\remark 运行过程中状态错误电机一直处于busy的状态但是abspos一直不变
\note 1.检查速度是否过小
\def RET_MULTI_MOTOR_SENSOR_STABLE_ERROR
\remark 回零跳变后零位传感器信号不稳定稳定的条件采集最多50次且有连续5次状态一致
\note 1.检查速度是否过大,机械臂晃动产生
\def RET_MULTI_MOTOR_SPI_ABNORMAL
\remark SPI读到了异常值
\note 1.固件错误,联系研发
\def RET_MULTI_MOTOR_SPI_BUSY
\remark 当前通道电机正在执行spi通信不可并发.
\note 固件错误,联系研发
\def RET_MULTI_MOTOR_SPI_CMD_ERROR
\remark SPI通信时指令类型错误.
\note 固件错误,联系研发
\def RET_MULTI_MOTOR_CMD_BUSY
\remark 当前通道的电机指令正在处理,等待返回。
\note 调用错误,联系研发
\def RET_MULTI_MOTOR_RUN_BUSY
\remark 当前通道的电机在发送spi指令前读到busy信号为忙。
\note 固件错误,联系研发
\def RET_MULTI_MOTOR_CMD_BUFFER_FULL
\remark 可并行执行的指令缓冲已满(电机数)。
\note 调用错误,联系研发
*/
#define RET_MULTI_MOTOR_RVS_SCHMITT_FAILED 0x80013600
#define RET_MULTI_MOTOR_FWD_SCHMITT_FAILED 0x80013601 //已取消
#define RET_MULTI_MOTOR_SPITASK_TIMEOUT 0x80013602 //已取消
#define RET_MULTI_MOTOR_WPARAM_FORBIDDEN 0x80013603
#define RET_MULTI_MOTOR_WPARAM_INVALID 0x80013604
#define RET_MULTI_MOTOR_ZERO_LOST_STEP_FWD 0x80013605 //已取消
#define RET_MULTI_MOTOR_ZERO_LOST_STEP_RVS 0x80013606 //已取消
#define RET_MULTI_MOTOR_CHAIN_EXCEED_MAX 0x80013607
#define RET_MULTI_MOTOR_STATUS_ERROR 0x80013608
#define RET_MULTI_MOTOR_SENSOR_STABLE_ERROR 0x80013609
#define RET_MULTI_MOTOR_SPI_ABNORMAL 0x8001360a
#define RET_MULTI_MOTOR_DIR_ERROR 0x8001360b
#define RET_MULTI_MOTOR_SPI_BUSY 0x8001360c
#define RET_MULTI_MOTOR_SPI_CMD_ERROR 0x8001360d
#define RET_MULTI_MOTOR_CMD_BUSY 0x8001360e
#define RET_MULTI_MOTOR_RUN_BUSY 0x8001360f
#define RET_MULTI_MOTOR_CMD_BUFFER_FULL 0x80013610
#define RET_MULTI_MOTOR_MOVE_TIMEOUT 0x80013611
/**@}*/
/**
* \defgroup property 0x80013020 - 0x8001302f: 存储系统错误代码
*/
/**@{
*/
/*!
\def RET_PROPERTY_NOT_INIT
\remark 属性库未初始化.
\note 1.软件错误,联系技术支持
\def RET_PROPERTY_FILE_OPEN_ERR
\remark 配置文件打开失败.
\note 1.检查配置文件是否存在
\n 2.检查SD接触是否良好
\def RET_PROPERTY_FILE_CLOSE_ERR
\remark TODO 报错原因.
\note TODO 建议操作
\def RET_PROPERTY_FILE_READ_ERR
\remark 配置文件读失败.
\note 1.检查配置文件是否存在
\n 2.检查SD接触是否良好
\def RET_PROPERTY_FILE_WRITE_ERR
\remark 配置文件写失败.
\note 1.检查配置文件是否存在
\n 2.检查SD接触是否良好
\n 3.检查SD是否写保护了
\def RET_PROPERTY_NOT_FOUND
\remark 配置未找到,配置文件中未设置该参数.
\note 1.检查该参数是否未设置
\def RET_PROPERTY_OUT_OF_VAL_BUF
\remark 参数值缓冲区溢出,读取到的参数值超出了预期类型的数据大小.
\note 1.检查该参数值设置是否正确
\n 2.软件错误,联系技术支持
\def RET_PROPERTY_HEAP_FULL
\remark 属性库堆溢出.
\note 1.软件错误,联系技术支持
\def RET_PROPERTY_INVALID_STORE_ID
\remark 本地参数文件读写时ID为空.
\note 1.软件错误,联系技术支持
\def RET_PROPERTY_EFORMAT
\remark 参数值无效,非数字或字母开头,无法做转换.
\note 1.检查该参数值设置是否正确
\def RET_PROPERTY_ERANGE
\remark 参数值超出了其类型的最大值.
\note 1.检查该参数值设置是否正确
\def RET_PROPERTY_SETP_LIST_EXCEED_MAX
\remark 批量设置属性时属性数超出了最大值0xff.
\note TODO 建议操作
\def RET_PROPERTY_INVALID_SIGNATURE
\remark 签名出错.
\note 1.签名文件是否存在
\n 2.SD卡接触是否良好
\n 3.签名文件是否正确
\def RET_PROPERTY_INVALID_KEY
\remark 属性key不符合要求必须为字母、数字、下划线、-、[、]、.组成).
\note 1.软件错误,联系技术支持
*/
#define RET_PROPERTY_NOT_INIT 0x80013020
#define RET_PROPERTY_FILE_OPEN_ERR 0x80013021
#define RET_PROPERTY_FILE_CLOSE_ERR 0x80013022
#define RET_PROPERTY_FILE_READ_ERR 0x80013023
#define RET_PROPERTY_FILE_WRITE_ERR 0x80013024
#define RET_PROPERTY_NOT_FOUND 0x80013025
#define RET_PROPERTY_OUT_OF_VAL_BUF 0x80013026
#define RET_PROPERTY_HEAP_FULL 0x80013027
#define RET_PROPERTY_INVALID_STORE_ID 0x80013028
#define RET_PROPERTY_EFORMAT 0x80013029
#define RET_PROPERTY_ERANGE 0x8001302a
#define RET_PROPERTY_SETP_LIST_EXCEED_MAX 0x8001302b
#define RET_PROPERTY_INVALID_SIGNATURE 0x8001302c
#define RET_PROPERTY_INVALID_KEY 0x8001302d
/**@}*/
/**
* \defgroup sysmgr 0x80013030 - 0x8001303f: 系统管理模块错误代码
*/
/**@{
*/
/*!
\def RET_SYSMGR_NOT_INIT
\remark 系统管理未初始化.
\note 1. 软件错误, 联系技术支持
\def RET_SYSMGR_BEEP_BUSY
\remark 蜂鸣器忙(正在执行指令又收到一条指令)
\note 1.若调试软件出现此错误则等待上一个指令执行完成后再发送新指令
\n 2.若用户软件出现此错误则为软件错误, 联系技术支持
\def RET_SYSMGR_BEEP_EXCEED_LIMIT
\remark 蜂鸣器控制超出时间限制
\note 1.调整指令参数使on+off*repeat < 6s
\def RET_SYSMGR_PROP_BUFFER_FULL
\remark 配置缓冲已满
\note 1. 软件错误, 联系技术支持
\def RET_SYSMGR_HEAP_FULL
\remark 堆溢出
\note 1.固件错误, 联系技术支持
\def RET_SYSMGR_FILE_BUFFER_FULL
\remark 文件缓冲已满
\note 1. 软件错误, 联系技术支持
\def RET_SYSMGR_FSTATUS_BUFFER_FULL
\remark 写文件时锁队列已满
\note 1.固件错误, 联系技术支持
\def RET_SYSMGR_FWRITE_LOCKED
\remark 写文件时文件被锁
\note 1.对同一文件操作时,写文件指令结束后再发送下一条指令
\def RET_SYSMGR_FWRITE_FAILED
\remark 写文件失败
\note 1.检查SD卡接触是否良好
\n 2.是否写保护
\def RET_SYSMGR_FSEEK_FAILED
\remark 文件指针定位失败
\note 1.检查SD卡接触是否良好
\def RET_SYSMGR_FOPEN_FAILED
\remark 文件打开失败
\note 1.检查SD卡接触是否良好
\n 2.如果是可写方式打开文件则检查SD是否写保护
\n 3.如果是可写方式打开文件则检查SD是否写保护
\n 4.如果是打开已存在文件的方式则检查SD中该文件是否存在
\def RET_SYSMGR_DIR_NOT_EMPTY
\remark 删除目录时目录非空
\note 1.检查SD卡中该目录是否为空
\def RET_SYSMGR_FUNLINK_FAILED
\remark 文件删除失败
\note 1.检查SD卡接触是否良好
\n 2.检查SD是否写保护
\n 3.检查SD中待删文件是否存在
\def RET_SYSMGR_FWRITE_DISK_FULL
\remark 写文件时实际写入的字节数小于所要求的字节数则认为磁盘空间不足
\note 1.检查SD卡存储空间是否已满
\def RET_SYSMGR_FTRUNCATE_FAILED
\remark 裁剪文件内容失败
\note 1.检查SD卡接触是否良好
\n 2.检查SD卡是否写保护
\def RET_SYSMGR_STAT_FAILED
\remark 查询文件状态失败
\note 1.检查SD卡接触是否良好
\n 2.检查SD卡文件是否存在
*/
#define RET_SYSMGR_NOT_INIT 0x80013030
#define RET_SYSMGR_BEEP_BUSY 0x80013031
#define RET_SYSMGR_BEEP_EXCEED_LIMIT 0x80013032
#define RET_SYSMGR_PROP_BUFFER_FULL 0x80013033 //属性队列满
#define RET_SYSMGR_HEAP_FULL 0x80013034 //堆栈申请失败
#define RET_SYSMGR_FILE_BUFFER_FULL 0x80013035 //指令队列满
#define RET_SYSMGR_FSTATUS_BUFFER_FULL 0x80013036 //文件锁定状态队列满
#define RET_SYSMGR_FWRITE_LOCKED 0x80013037 //待写文件已被某节点锁定
#define RET_SYSMGR_FWRITE_FAILED 0x80013038 //写文件失败
#define RET_SYSMGR_FSEEK_FAILED 0x80013039 //文件指针重定向失败
#define RET_SYSMGR_FOPEN_FAILED 0x8001303a //文件打开失败
#define RET_SYSMGR_DIR_NOT_EMPTY 0x8001303b //待删除目录为非空
#define RET_SYSMGR_FUNLINK_FAILED 0x8001303c //文件或者目录删除失败
#define RET_SYSMGR_FWRITE_DISK_FULL 0x8001303d //写文件时磁盘已满
#define RET_SYSMGR_FTRUNCATE_FAILED 0x8001303e //裁剪文件失败
#define RET_SYSMGR_STAT_FAILED 0x8001303f //获取文件信息失败
/**@}*/
// 0x80013040 - 0x8001307f: 血培养模块错误代码
/*#define RET_BCC_SERVICE_NOT_OPEN 0x80013040
#define RET_BCC_SET_STATE_PID_BUSY 0x80013041
#define RET_BCC_GET_STATE_PID_BUSY 0x80013042
#define RET_BCC_SET_PARAM_PID_BUSY 0x80013043
#define RET_BCC_GET_PARAM_PID_BUSY 0x80013044
#define RET_BCC_SET_TIME_BUSY 0x80013045
#define RET_BCC_MODULE_POST_NOT_PASSED 0x80013046
#define RET_BCC_MODULE_NOT_INITIALIZED 0x80013047
#define RET_BCC_MODULE_CH0_POST_NOT_PASSED 0x80013048
#define RET_BCC_MODULE_CH1_POST_NOT_PASSED 0x80013049
#define RET_BCC_MODULE_CH2_POST_NOT_PASSED 0x80013050
#define RET_BCC_MODULE_NOT_RUNNING 0x80013051
#define RET_BCC_NTP_FAILED 0x80013052
#define RET_BCC_SAVE_PID_PARAM_FAILED 0x80013053
#define RET_BCR_SERVICE_NOT_OPEN 0x80013060
#define RET_BCR_GET_TEMP_BUSY 0x80013061
#define RET_BCR_GET_AIR_TEMP_BUSY 0x80013062
#define RET_BCR_ASYN_GET_RGB_BUSY 0x80013063
#define RET_BCR_SYN_GET_RGB_BUSY 0x80013064
#define RET_BCR_SET_RESULT_LED_BUSY 0x80013065
#define RET_BCR_GET_POS_STATE_BUSY 0x80013066
#define RET_BCR_DEVIATION_CORRECT_BUSY 0x80013067
#define RET_BCR_GET_MODE_BUSY 0x80013068
#define RET_BCR_SET_MODE_BUSY 0x80013069
#define RET_BCR_SET_DEVIATION_MODE_BUSY 0x80013070
#define RET_BCR_SET_TIME_BUSY 0x80013071
#define RET_BCR_DETECT_CH_PHY_ERR 0x80013072
#define RET_BCR_NO_CONTAINER_IN_POS 0x80013073
#define RET_BCR_SLOT_CORRECT_NOT_DONE 0x80013074
#define RET_BCR_NOT_SUPPORTED_COMMAND 0x80013075
#define RET_BCR_DEVIATION_STAT_NOT_ENTER 0x80013076
#define RET_BCR_NOT_IN_OPEN_DRAWER_MODE 0x80013077
#define RET_BCR_NOT_IN_DETECT_MODE 0x80013078
#define RET_BCR_DEVIATION_STAT_ENTER 0x80013079*/
/**
* \defgroup pressure 0x80013080 - 0x8001308f: 液面探测模块错误代码
*/
/**@{
*/
/*!
\def RET_PRESSURE_BUSY
\remark 压力控制忙,压力控制过程中又接收到控制指令.
\note 1.是否连续对压力模块发送了控制指令
\n 2.软件错误,联系技术支持
\def RET_PRESSURE_NOT_READY
\remark 未采集过参考压力.
\note 1.压力控制前先采集参考压力
\def RET_PRESSURE_INVALID_CH
\remark 压力通道无效.
\note 1.检查软件中指令参数的通道号是否正确
\def RET_PRESSURE_CAP_DISABLED
\remark TODO 报错原因.
\note TODO 建议操作
\def RET_PRESSURE_OVERFLOW
\remark 压力值溢出了0xffff.
\note 1.检查AD信号是否正常
\def RET_PRESSURE_TIMEOUT
\remark 采集平均电容指令motPresAve 在指定的timeout内没有完成要采集的条件次数、时间、条件与/或关系).
\note 1.检查AD信号输出是否正常
2.检查指令调用参数
\def RET_PRESSURE_CUTOFF_CNT_EXCEED_MAX
\remark 压力控制时压力阈值数超出最大值4.
\note 1.软件错误,联系技术支持
\def RET_PRESSURE_ERR_CNT_EXCEED_MAX
\remark 压力采集错误次数超出最大值8.
\note 1.检查AD信号是否正常
*/
#define RET_PRESSURE_BUSY 0x80013080
#define RET_PRESSURE_NOT_READY 0x80013081
#define RET_PRESSURE_INVALID_CH 0x80013082
#define RET_PRESSURE_CAP_DISABLED 0x80013083
#define RET_PRESSURE_OVERFLOW 0x80013084
#define RET_PRESSURE_TIMEOUT 0x80013085
#define RET_PRESSURE_CUTOFF_CNT_EXCEED_MAX 0x80013086
#define RET_PRESSURE_ERR_CNT_EXCEED_MAX 0x80013087 // 触发器模式连续读压力或者电容出错达到指定次数而自动关闭触发器
/**@}*/
/**
* \defgroup armgrp 0x80013090 - 0x800130bf: 加样臂模块错误代码
*/
/**@{
*/
/*!
\def RET_ARMGRP_INVALID_CONFIG
\remark 加样臂配置参数错误
\note 1.使用调试软件的参数检查功能进行检查
\def RET_ARMGRP_INVALID_BASIS
\remark Panel%d.Size.{x|y}参数错误
\note 1.使用调试软件的参数检查功能进行检查
\def RET_ARMGRP_INVALID_DIRECTION
\remark 电机运动指令参数错误
\note 1.调试软件错误, 联系技术支持
\def RET_ARMGRP_BUSY
\remark 加样臂忙(正在执行上一个指令时又收到新指令)
\note 1.若调试软件出现此错误则等待上一个指令执行完成后再发送新指令
\n 2.若用户软件出现此错误则为软件错误, 联系技术支持
\def DEPRECATED_RET_ARMGRP_PROPERTY_INVALID
\remark TODO 报错原因.
\note TODO 建议操作
\def DEPRECATED_RET_ARMGRP_PROPERTY_READONLY
\remark TODO 报错原因.
\note TODO 建议操作
\def DEPRECATED_RET_ARMGRP_PROPERTY_NOT_COORDINATE
\remark TODO 报错原因.
\note TODO 建议操作
\def DEPRECATED_RET_ARMGRP_PROPERTY_INCOMPATIBLE
\remark TODO 报错原因.
\note TODO 建议操作
\def DEPRECATED_RET_ARMGRP_INVALID_PROPERTYLIST
\remark TODO 报错原因.
\note TODO 建议操作
\def DEPRECATED_RET_ARMGRP_INVALID_KEY_FMTSTRING
\remark TODO 报错原因.
\note TODO 建议操作
\def RET_ARMGRP_HEAP_FULL
\remark 堆溢出
\note 1.固件错误, 联系技术支持
\def RET_ARMGRP_CALIBRATE_HAS_TIP_CUVETTE
\remark 定标时加样枪带有吸头或反应杯
\note 1.打掉吸头或反应杯后重新定标
\def RET_ARMGRP_OTHER_PIPETTE_HAS_TIP_CUVETTE
\remark 操作某个加样枪时其他加样枪上的吸头或反应杯未打掉
\note 1.打掉其他加样枪上的吸头或反应杯, 然后重新执行本操作
\def RET_ARMGRP_COORD_OUT_BOUND
\remark 电机运动超出允许范围
\note 1.使用调试软件的参数检查功能进行检查
\n 2.重新定标
\def RET_ARMGRP_MOTOR_NOT_INIT
\remark 电机尚未机械复位
\note 1.对单个电机或整个加样臂进行机械复位, 然后重新执行本操作
\def RET_ARMGRP_TARGET_WASTE_NOT_FOUND
\remark 打废液时找不到废液孔
\note 1.使用调试软件的参数检查功能进行检查
\def RET_ARMGRP_NO_TIP_CUVETTE_ON_PIPETTE
\remark 执行吸液或者其他需要吸头(或反应杯)的指令时加样枪没有吸头(或反应杯)
\note 1.先取吸头(或反应杯)然后重新执行本操作
\def RET_ARMGRP_DROP_TIP_CUVETTE_FAILED
\remark 打吸头(或反应杯)失败(打吸头(或反应杯)动作完成后仍然检测到吸头(或反应杯))
\note 1.重试打吸头(或反应杯)
\n 2.观察打吸头(或反应杯)过程中是否有碰撞, 卡槽是否到位, 若不正常则重新定标
\n 3.检查吸头(或反应杯)传感器是否正常
\def RET_ARMGRP_NO_TIP_CUVETTE_TYPE_MATCH
\remark 找不到与加样枪匹配的吸头或反应杯
\note 1.使用调试软件的参数检查功能进行检查
\def RET_ARMGRP_TIP_CUVETTE_TYPE_MISMATCH
\remark 指定的加样配置与吸头或反应杯类型不匹配
\note 1.使用调试软件的参数检查功能进行检查
\n 2.软件错误, 联系技术支持
\def RET_ARMGRP_TARGET_TIP_NOT_FOUND
\remark 找不到指定类型的吸头架
\note 1.使用调试软件的参数检查功能进行检查
\def RET_ARMGRP_HAS_TIP_ALREADY
\remark 取吸头时枪头上已经带有吸头
\note 1.先打掉吸头再取
\n 2.检查吸头传感器是否正常
\def RET_ARMGRP_SOME_TIP_FETCH_FAILED
\remark 排枪取吸头时只有部分吸头取成功(有部分吸头没取到)
\note 1.先打掉已取到的吸头然后重试取吸头
\n 2.重新定标
\n 3.检查吸头传感器
\def RET_ARMGRP_ALL_TIP_FETCH_FAILED
\remark 单枪(或排枪)取吸头时失败(或全部没有取到)
\note 1.重试取吸头
\n 2.重新定标
\n 3.检查吸头传感器
\def RET_ARMGRP_TIP_DROP
\remark 吸头脱落
\note 1.检查吸头与枪头结合是否太松, 必要时重新定标
\n 2.检查吸头传感器
\def RET_ARMGRP_DROP_WASTE_UNAVAILABLE
\remark 打回废液到原容器指令无法打回废液(枪头内无废液)
\note 1.若用户软件出现此错误则为软件错误, 联系技术支持
\def RET_ARMGRP_NO_LIQUID_IN_TIP
\remark 加液指令或打回废液到原容器指令执行时吸头内无液体
\note 1.流程错误, 未吸液的状态下加液或打回会报告此错误, 若用户软件出现此情况则联系技术支持
\n 2.吸头发生脱落(或吸头传感器发生异常跳变)后液体状态会自动清除, 此时调用加液或打回会报告此错误
\n 3.相关加样配置的”最后一枪打空所有液体”功能开启的情况下, 吸头内液体打完后调用打回会报告此错误
\def RET_ARMGRP_NO_ENOUGH_LIQUID_IN_CONTAINER
\remark 液面到容器下液面计算得出的液体体积不足本次吸取的量
\note 1.检查液体余量是否足够
\n 2.检查容器下液面参数是否正确
\n 3.检查定标点是否准确
\n 4.检查液面探测是否准确
\def RET_ARMGRP_PRESSURE_REF_INVALID
\remark 参考压力无效
\note 1.不带吸头时检查压力传感器读数是否正常, 若偏高或偏低则可能需要更换相关器件
\n 2.检查相关压力阈值参数是否正确(是否过大)
\def RET_ARMGRP_LIQUID_DETECT_FAILED
\remark 液面探测失败
\note 1.检查液体是否正常(是否有足够余量, 是否有气泡, 是否有血凝块)
\n 2.检查压力传感器是否正常
\n 3.检查加样枪气密性
\n 4.检查加样枪与吸头结合的气密性
\def RET_ARMGRP_INVALID_TIP
\remark 无效吸头
\note 1.检查吸头是否正常(是否是旧吸头, 吸头是否堵塞)
\n 2.检查压力传感器是否正常
\n 3.检查吸头检测阈值是否正常(若太小可适当调大)
\def RET_ARMGRP_BUBBLE_DETECTED
\remark 液面探测时探测到气泡
\note 1.检查液体是否有气泡
\n 2.检查压力传感器是否正常
\n 3.检查加样枪气密性
\n 4.检查加样枪与吸头结合的气密性
\n 5.检查气泡检测阈值是否正常(若过大可适当调小或调至0)
\def RET_ARMGRP_TARGET_NOT_FOUND
\remark 找不到目标区
\note 1.使用调试软件的参数检查功能进行检查
\n 2.软件错误, 联系技术支持
\def RET_ARMGRP_LIQUID_IN_TIP
\remark 执行吸液指令时吸头内已有液体(或原来残留的废液没打空)
\note 1.打废液后重新吸液
\n 2.换吸头后重新吸液
\def RET_ARMGRP_NO_ENOUGH_LIQUID_IN_TIP
\remark 执行加液指令时吸头内已无足够液体
\note 1.加液的份数已超过吸液的份数, 若用户软件出现此情况则联系技术支持
\n 2.之前的加样指令是否发生RET_ARMGRP_NO_PRESSURE_IN_TIP0或者RET_ARMGRP_NO_PRESSURE_IN_TIP1, 若发生此错误则液体份数会自动清零, 需要打废液或换吸头后重新吸液
\def RET_ARMGRP_CLOT_DETECTED
\remark 吸液时检测到凝块
\note 1.检查液体是否有凝块
\n 2.检查压力传感器是否正常
\n 3.检查血凝块检测阈值是否正常(若过小可适当调大或调至0)
\def RET_ARMGRP_DRAWUP_LIQUID_FAILED
\remark 吸液失败(吸液完成后吸头内检测不到足够负压)
\note 1.检查压力传感器是否正常
\n 2.检查加样枪气密性
\n 3.检查加样枪与吸头结合的气密性
\n 4.检查容器上下液面, 容器直径, 活塞直径参数是否正常
\n 5.检查液面高度是否超过容器上液面
\n 6.检查吸头内液体阈值是否正常(若过大可适当调小或调至0)
\def RET_ARMGRP_NO_PRESSURE_IN_TIP0
\remark 加液前吸头内检测不到足够负压(加液动作尚未执行)
\note 1.检查压力传感器是否正常
\n 2.检查加样枪气密性
\n 3.检查加样枪与吸头结合的气密性
\n 4.检查吸头内液体阈值是否正常(若过大可适当调小或调至0)
\n 5.检查Method%d.PresCO.TipHasLiquidStepMin参数(可适当调大)
\def RET_ARMGRP_NO_PRESSURE_IN_TIP1
\remark 加液后吸头内检测不到足够负压(加液动作已执行但加液量可能不足)
\note 同RET_ARMGRP_NO_PRESSURE_IN_TIP0
\def DEPRECATED_RET_ARMGRP_LENGTH_OF_KEY_EXCEED_MAX
\remark TODO 报错原因.
\note TODO 建议操作
\def DEPRECATED_RET_ARMGRP_LENGTH_OF_STORE_EXCEED_MAX
\remark TODO 报错原因.
\note TODO 建议操作
\def RET_ARMGRP_CAP_STATE_INVALID
\remark 电容传感器状态不正确(尚未进入液面就处于触发状态)
\note 1.检查电容传感器是否正常
\def RET_ARMGRP_DEVMAPPING_NOT_FOUND
\remark 传感器映射没有找到
\note 1.使用调试软件的参数检查功能进行检查
\def RET_ARMGRP_SCAN_FAILED
\remark 细胞扫描失败
\note 1.检查玻片及上面的细胞是否正常
\n 2.检查细胞扫描传感器是否正常
\def RET_ARMGRP_REF_POSITION_UNAVAILABLE
\remark 细胞扫描位置不正确(在对细胞扫描位置进行操作时)
\note 1.先调用细胞扫描指令然后再重试本操作
\def RET_ARMGRP_REF_POSITION_BUFFER_FULL
\remark 细胞扫描位置缓冲区满
\note 1.联系技术支持, 需要修改固件
\def RET_ARMGRP_CONTAINER_TYPE_UNSUPPORTED
\remark 容器类型不支持
\note 1.使用调试软件的参数检查功能检查TargetType%d.*参数
\def RET_ARMGRP_OUT_OF_TIP
\remark 自动取吸头指令找不到吸头(吸头已用完)
\note 1.加载新吸头架
\n 2.检查吸头架传感器是否正常
*/
#define RET_ARMGRP_INVALID_CONFIG 0x80013090
#define RET_ARMGRP_INVALID_BASIS 0x80013091
#define RET_ARMGRP_INVALID_DIRECTION 0x80013092
#define RET_ARMGRP_BUSY 0x80013093
#define DEPRECATED_RET_ARMGRP_PROPERTY_INVALID 0x80013094 // 已改为RET_PROPERTY_INVALID, 为与旧版本兼容, Java中保留此错误代码定义, Java定义时去掉前面的DEPRECATED_
#define DEPRECATED_RET_ARMGRP_PROPERTY_READONLY 0x80013095 // 已改为RET_PROPERTY_READONLY, 为与旧版本兼容, Java中保留此错误代码定义, Java定义时去掉前面的DEPRECATED_
#define DEPRECATED_RET_ARMGRP_PROPERTY_NOT_COORDINATE 0x80013096 // 已改为RET_PROPERTY_NOT_COORDINATE, 为与旧版本兼容, Java中保留此错误代码定义, Java定义时去掉前面的DEPRECATED_
#define DEPRECATED_RET_ARMGRP_PROPERTY_INCOMPATIBLE 0x80013097 // 已改为RET_PROPERTY_INCOMPATIBLE, 为与旧版本兼容, Java中保留此错误代码定义, Java定义时去掉前面的DEPRECATED_
#define DEPRECATED_RET_ARMGRP_INVALID_PROPERTYLIST 0x80013098 // 已改为RET_PROPERTY_INVALID_PROPERTYLIST, 为与旧版本兼容, Java中保留此错误代码定义, Java定义时去掉前面的DEPRECATED_
#define DEPRECATED_RET_ARMGRP_INVALID_KEY_FMTSTRING 0x80013099 // 已改为RET_PROPERTY_INVALID_KEY_FMTSTRING, 为与旧版本兼容, Java中保留此错误代码定义, Java定义时去掉前面的DEPRECATED_
#define RET_ARMGRP_HEAP_FULL 0x8001309a
#define RET_ARMGRP_CALIBRATE_HAS_TIP_CUVETTE 0x8001309b
#define RET_ARMGRP_OTHER_PIPETTE_HAS_TIP_CUVETTE 0x8001309c
#define RET_ARMGRP_COORD_OUT_BOUND 0x8001309d
#define RET_ARMGRP_MOTOR_NOT_INIT 0x8001309e
#define RET_ARMGRP_TARGET_WASTE_NOT_FOUND 0x8001309f
#define RET_ARMGRP_NO_TIP_CUVETTE_ON_PIPETTE 0x800130a0
#define RET_ARMGRP_DROP_TIP_CUVETTE_FAILED 0x800130a1
#define RET_ARMGRP_NO_TIP_CUVETTE_TYPE_MATCH 0x800130a2
#define RET_ARMGRP_TIP_CUVETTE_TYPE_MISMATCH 0x800130a3
#define RET_ARMGRP_TARGET_TIP_NOT_FOUND 0x800130a4
#define RET_ARMGRP_HAS_TIP_ALREADY 0x800130a5
#define RET_ARMGRP_SOME_TIP_FETCH_FAILED 0x800130a6
#define RET_ARMGRP_ALL_TIP_FETCH_FAILED 0x800130a7
#define RET_ARMGRP_TIP_DROP 0x800130a8
#define RET_ARMGRP_DROP_WASTE_UNAVAILABLE 0x800130a9
#define RET_ARMGRP_NO_LIQUID_IN_TIP 0x800130aa
#define RET_ARMGRP_NO_ENOUGH_LIQUID_IN_CONTAINER 0x800130ab // 容器上液面到下液面计算得出的液体总量不足本次指令请求吸取的量
#define RET_ARMGRP_PRESSURE_REF_INVALID 0x800130ac
#define RET_ARMGRP_LIQUID_DETECT_FAILED 0x800130ad
#define RET_ARMGRP_INVALID_TIP 0x800130ae
#define RET_ARMGRP_BUBBLE_DETECTED 0x800130af
#define RET_ARMGRP_TARGET_NOT_FOUND 0x800130b0
#define RET_ARMGRP_LIQUID_IN_TIP 0x800130b1
#define RET_ARMGRP_NO_ENOUGH_LIQUID_IN_TIP 0x800130b2
#define RET_ARMGRP_CLOT_DETECTED 0x800130b3
#define RET_ARMGRP_DRAWUP_LIQUID_FAILED 0x800130b4
#define RET_ARMGRP_NO_PRESSURE_IN_TIP0 0x800130b5 // before P down
#define RET_ARMGRP_NO_PRESSURE_IN_TIP1 0x800130b6 // after P move back
#define DEPRECATED_RET_ARMGRP_LENGTH_OF_KEY_EXCEED_MAX 0x800130b7 // 已改为RET_PROPERTY_LEN_OF_KEY_EXCEED, 为与旧版本兼容, Java中保留此错误代码定义, Java定义时去掉前面的DEPRECATED_
#define DEPRECATED_RET_ARMGRP_LENGTH_OF_STORE_EXCEED_MAX 0x800130b8 // 已改为RET_PROPERTY_LEN_OF_STORE_EXCEED, 为与旧版本兼容, Java中保留此错误代码定义, Java定义时去掉前面的DEPRECATED_
#define RET_ARMGRP_CAP_STATE_INVALID 0x800130b9
#define RET_ARMGRP_DEVMAPPING_NOT_FOUND 0x800130ba
#define RET_ARMGRP_SCAN_FAILED 0x800130bb
#define RET_ARMGRP_REF_POSITION_UNAVAILABLE 0x800130bc
#define RET_ARMGRP_REF_POSITION_BUFFER_FULL 0x800130bd
#define RET_ARMGRP_CONTAINER_TYPE_UNSUPPORTED 0x800130be
#define RET_ARMGRP_OUT_OF_TIP 0x800130bf
/**@}*/
/**
* \addtogroup property1 0x800130c0 - 0x800130df: 存储系统错误代码(续)
*/
/**@{
*/
/*!
\def RET_PROPERTY_INVALID
\remark 参数未定义.
\note 1.软件错误,联系技术支持
\def RET_PROPERTY_READONLY
\remark 参数值只读.
\note 1.软件错误,联系技术支持
\def RET_PROPERTY_NOT_COORDINATE
\remark 该参数不可用于电机.
\note 1.软件错误,联系技术支持
\def RET_PROPERTY_INCOMPATIBLE
\remark 写参数的类型不匹配.
\note 1.软件错误,联系技术支持
\def RET_PROPERTY_LEN_OF_KEY_EXCEED
\remark 参数的key长度超出最大值64.
\note 1.软件错误,联系技术支持
\def RET_PROPERTY_LEN_OF_STORE_EXCEED
\remark 参数的store长度超出最大值32.
\note 1.软件错误,联系技术支持
\def RET_PROPERTY_INVALID_PROPERTYLIST
\remark 无效的属性列表.
\note 1.软件错误,联系技术支持
\def RET_PROPERTY_INVALID_KEY_FMTSTRING
\remark 无效的key格式字符串有且只有一个%d, %D, %x, %X.
\note 1.软件错误,联系技术支持
*/
#define RET_PROPERTY_INVALID 0x800130c0
#define RET_PROPERTY_READONLY 0x800130c1
#define RET_PROPERTY_NOT_COORDINATE 0x800130c2
#define RET_PROPERTY_INCOMPATIBLE 0x800130c3
#define RET_PROPERTY_LEN_OF_KEY_EXCEED 0x800130c4
#define RET_PROPERTY_LEN_OF_STORE_EXCEED 0x800130c5
#define RET_PROPERTY_INVALID_PROPERTYLIST 0x800130c6
#define RET_PROPERTY_INVALID_KEY_FMTSTRING 0x800130c7
/**@}*/
/**
* \addtogroup armgrp1 0x800130e0 - 0x800130ff: 加样臂模块错误代码(续)
*/
/**@{
*/
/*!
\def RET_ARMGRP_TIP_STATE_NOT_INIT
\remark 吸头架状态未经初始化
\note 1.固件错误, 联系技术支持
\def RET_ARMGRP_INVALID_TIP_TYPE
\remark 吸头类型错误
\note 1.使用调试软件的参数检查功能进行检查
\n 2.软件错误, 联系技术支持
\def RET_ARMGRP_METHOD_TYPE_MISMATCH
\remark 指定的加样配置与当前的枪或者吸头不匹配
\note 1.使用调试软件的参数检查功能进行检查
\n 2.若用户软件发生此情况则软件错误, 联系技术支持
\def RET_ARMGRP_BLOCKED_TIP
\remark 取吸头时检测到吸头已堵塞
\note 1.检查吸头是否正常(是否是旧吸头, 吸头是否堵塞)
\n 2.检查压力传感器是否正常
\n 3.检查吸头检测阈值是否正常(若太小可适当调大)
\def RET_ARMGRP_INVALID_EXTVALVE_SETTING
\remark 外置液面检测气路控制阀配置错误
\n Pipette%d.Channel.ExtDetectValve必须与z或者Pressure之一相等
\note 1.使用调试软件的参数检查功能进行检查
\def RET_ARMGRP_INVALID_EXTPORT_SETTING
\remark Pipette%d.ExtDetectPump.*或Pipette%d.CuvetteRelease.*配置错误
\note 1.使用调试软件的参数检查功能进行检查
\def RET_ARMGRP_INVALID_PRESSURE_CAP_SETTING
\remark 液面探测模式配置错误(压力传感器和电容传感器至少要有一个才能进行液面探测)
\note 1.使用调试软件的参数检查功能进行检查
\def RET_ARMGRP_INVALID_WASTEPUMP_SETTING
\remark Pipette%d.DrawupWaste.*配置错误
\note 1.使用调试软件的参数检查功能进行检查
\def RET_ARMGRP_PATH_NOT_FOUND
\remark 带污染的枪头没有找到正确的运动路径
\note 1.使用调试软件的参数检查功能对div.conf进行检查
\def RET_ARMGRP_INVALID_DIV_SETTING
\remark 仪器面板分区配置参数(div.conf)错误
\note 1.使用调试软件的参数检查功能对div.conf进行检查
\def RET_ARMGRP_PIPETTE_TYPE_MISMATCH
\remark 指定的加样配置与当前的枪不匹配
\note 1.使用调试软件的参数检查功能进行检查
\n 2.若用户软件发生此情况则软件错误, 联系技术支持
\def RET_ARMGRP_INVALID_VOLUME_LIST
\remark TODO 报错原因.
\note TODO 建议操作
\def RET_ARMGRP_HAS_CUVETTE_ALREADY
\remark 取反应杯时枪头上已经带有反应杯
\note 1.先打掉反应杯再取
\n 2.检查反应杯传感器是否正常
\def RET_ARMGRP_SOME_CUVETTE_FETCH_FAILED
\remark 排枪取反应杯时只有部分反应杯取成功(有部分反应杯没取到)
\note 1.先打掉已取到的反应杯然后重试取反应杯
\n 2.重新定标
\n 3.检查反应杯传感器
\def RET_ARMGRP_ALL_CUVETTE_FETCH_FAILED
\remark 单枪(或排枪)取反应杯时失败(或全部没有取到)
\note 1.重试取反应杯
\n 2.重新定标
\n 3.检查反应杯传感器
\def RET_ARMGRP_CUVETTE_DROP
\remark 反应杯脱落
\note 1.检查反应杯与枪头结合是否太松, 必要时重新定标
\n 2.检查反应杯传感器
\def RET_ARMGRP_PUNCTURE_CUVETTE_UP
\remark 穿刺后杯子被带上来
\note 1.检查杯子传感器是否正常
\n 2.检查杯子是否被带上来
\def RET_ARMGRP_DRAW_MORE_THAN_PUMP
\remark 吸液体积和超过泵的总体积
\note 1.
\n 2.
\def RET_ARMGRP_VOLUME_NOT_MATCH
\remark 吸一打一时,传入体积与枪内实际体积不一致
\note 1.
\n 2.
\def RET_ARMGRP_BLOCKED_PIPETTE
\remark 复位时检测到加样枪已堵塞
\note 1.检查加样枪是否堵塞
\n 2.检查压力传感器是否正常
\n 3.检查加样枪堵塞检测阈值是否正常(若太小可适当调大)
\def RET_ARMGRP_LIQUID_DETECT_TRIG_BEFORE
\remark 电容模块在与Z同步开始前触发
\note 1. 检查阈值是否太小
\n 2. 检查电子信号.
\def RET_ARMGRP_ARMS_WILL_CRASH
\remark 同轴的两臂之间将会发生碰撞
\note 1. 等另外的臂运动出碰撞区间.
\n
\def RET_ARMGRP_LIQUID_DETECT_TRIG_HIGHT_ERROR
\remark RET_ARMGRP_LIQUID_DETECT_TRIG_HIGHT_ERROR
\note 1. 液面高度异常.探到的液面高度低于bottleExt
\n
\def RET_ARMGRP_LIQUID_DETECT_CHECK_FAILED
\remark RET_ARMGRP_LIQUID_DETECT_CHECK_FAILED
\note 1. 探液面的第二次check失败
\n
*/
#define RET_ARMGRP_TIP_STATE_NOT_INIT 0x800130e0
#define RET_ARMGRP_INVALID_TIP_TYPE 0x800130e1
#define RET_ARMGRP_METHOD_TYPE_MISMATCH 0x800130e2
#define RET_ARMGRP_BLOCKED_TIP 0x800130e3
#define RET_ARMGRP_INVALID_EXTVALVE_SETTING 0x800130e4
#define RET_ARMGRP_INVALID_EXTPORT_SETTING 0x800130e5
#define RET_ARMGRP_INVALID_PRESSURE_CAP_SETTING 0x800130e6
#define RET_ARMGRP_INVALID_WASTEPUMP_SETTING 0x800130e7
#define RET_ARMGRP_PATH_NOT_FOUND 0x800130e8
#define RET_ARMGRP_INVALID_DIV_SETTING 0x800130e9
#define RET_ARMGRP_PIPETTE_TYPE_MISMATCH 0x800130ea
#define RET_ARMGRP_INVALID_VOLUME_LIST 0x800130eb
#define RET_ARMGRP_HAS_CUVETTE_ALREADY 0x800130ec
#define RET_ARMGRP_SOME_CUVETTE_FETCH_FAILED 0x800130ed
#define RET_ARMGRP_ALL_CUVETTE_FETCH_FAILED 0x800130ee
#define RET_ARMGRP_CUVETTE_DROP 0x800130ef
#define RET_ARMGRP_PUNCTURE_CUVETTE_UP 0x800130f0
#define RET_ARMGRP_DRAW_MORE_THAN_PUMP 0x800130f1
#define RET_ARMGRP_VOLUME_NOT_MATCH 0x800130f2
#define RET_ARMGRP_BLOCKED_PIPETTE 0x800130f3
#define RET_ARMGRP_LIQUID_DETECT_TRIG_BEFORE 0x800130f4
#define RET_ARMGRP_ARMS_WILL_CRASH 0x800130f5
#define RET_ARMGRP_LIQUID_DETECT_TRIG_HIGHT_ERROR 0x800130f6
#define RET_ARMGRP_LIQUID_DETECT_CHECK_FAILED 0x800130f7
/**@}*/
/**
* \defgroup ihc 0x80013101 - 0x8001313f: IHC模块错误代码
*/
/**@{
*/
/*!
\def RET_IHC_NO_SLIDE
\remark 未扫描到拨片
\note 1:确认是否放置拨片
2:已放置拨片报错,请联系电子检查传感器.
\def RET_IHC_NO_CODE_PAPER
\remark TODO 报错原因.
\note TODO 建议操作
\def RET_IHC_CODESIZE_TO_LARGE
\remark 条码机读到的长度超过MCU设置上限
\note 1:请确认条码是否打印正确
2:请联系技术支持
3:软件错误
\def RET_IHC_NO_SERIAL_DATA
\remark 条码机未通过串口发出数据
\note 1:请联系技术支持
2:请电子检查串口连线
\def RET_IHC_NO_LIQUID0_BOTTLE
\remark 冲洗液0瓶未接入
\note 1:请接入
\def RET_IHC_LIQUID0_EMPTY
\remark 冲洗液0瓶空
\note 1:请加液
\def RET_IHC_NO_LIQUID1_BOTTLE
\remark 冲洗液1空未接入
\note 1:请接入
\def RET_IHC_LIQUID1_EMPTY
\remark 冲洗液1瓶空
\note 1:请加液
\def RET_IHC_NO_TOXIC_BOTTLE
\remark 有毒废液瓶未接入
\note 1:请接入
\def RET_IHC_TOXIC_FULL
\remark 有毒废液瓶满
\note 1:请清理
\def RET_IHC_NO_NONTOXIC_BOTTLE
\remark 无毒废液瓶未接入
\note 1: 请接入
\def RET_IHC_NONTOXIC_FULL
\remark 无毒废液瓶满
\note 1:请清理
\def RET_IHC_WASTE_POOL_SENSOE_ERROR
\remark 废液上下传感器触发顺序不符合规律
\note 1:请联系技术支持
2:请电子检查硬件传感器
\def RET_IHC_WASTE_POOL_FULL
\remark 此代码已删除
\note
\def RET_IHC_SWITCHFUNCTION_ERROR
\remark 泵阀busy时,重复打开
\note 1:误操作
\def RET_IHC_OS_EVENT_ERROR
\remark 重复发送同一指令命令
\note 1:请确认是否连续点击调试软件同一按钮,排除误操作
2:请联系技术支持
3:请软件检查调用过程
*/
#define RET_IHC_NO_SLIDE 0x80013101
#define RET_IHC_NO_CODE_PAPER 0x80013102
#define RET_IHC_CODESIZE_TO_LARGE 0x80013103
#define RET_IHC_NO_SERIAL_DATA 0x80013104
#define RET_IHC_NO_LIQUID0_BOTTLE 0x80013110 // 冲洗液0瓶未插入
#define RET_IHC_LIQUID0_EMPTY 0x80013111 // 冲洗液0瓶空
#define RET_IHC_NO_LIQUID1_BOTTLE 0x80013112 // 冲洗液1瓶未插入
#define RET_IHC_LIQUID1_EMPTY 0x80013113 // 冲洗液1瓶空
#define RET_IHC_NO_TOXIC_BOTTLE 0x80013114 // 有毒废液瓶未插入
#define RET_IHC_TOXIC_FULL 0x80013115 // 有毒废液瓶满
#define RET_IHC_NO_NONTOXIC_BOTTLE 0x80013116 // 无毒废液瓶未插入
#define RET_IHC_NONTOXIC_FULL 0x80013117 // 无毒废液瓶满
#define RET_IHC_WASTE_POOL_SENSOE_ERROR 0x80013118 // 废液池传感器坏
#define RET_IHC_WASTE_POOL_FULL 0x80013119 // 废液池满
#define RET_IHC_SWITCHFUNCTION_ERROR 0x8001311a
#define RET_IHC_OS_EVENT_ERROR 0x8001311b //
/**@}*/
/**
* \defgroup pwrmgr 0x80013140 - 0x8001315f: 电源管理模块错误代码
*/
/**@{
*/
/*!
\def RET_PWRMGR_NOT_INIT
\remark 电源管理未初始化.
\note 1.软件错误,联系技术支持
\def RET_PWRMGR_STATE_ERROR
\remark 电源管理状态错误.
\note 1.软件错误,联系技术支持
\def RET_PWRMGR_OP_ABORTED
\remark 电源管理操作被取消.
\note 1.软件错误,联系技术支持
\def RET_PWRMGR_BUFFER_FULL
\remark 缓冲区已满.
\note 1.软件错误,联系技术支持
\def RET_PWRMGR_CONFIG_INVALID
\remark 配置无效通道号超出最大值4.
\note 1.软件错误,联系技术支持
\def RET_PWRMGR_STOP_PRESSED
\remark 上位机发送开机指令的,急停若被拍下,发回此错误.
\note 1.检查急停是否被按下
*/
#define RET_PWRMGR_NOT_INIT 0x80013140
#define RET_PWRMGR_STATE_ERROR 0x80013141
#define RET_PWRMGR_OP_ABORTED 0x80013142
#define RET_PWRMGR_BUFFER_FULL 0x80013143
#define RET_PWRMGR_CONFIG_INVALID 0x80013144
#define RET_PWRMGR_STOP_PRESSED 0x80013145 //上位机发送开机指令的,急停若被拍下,发回此错误
/**@}*/
/**
* \defgroup vusart 0x80013160 - 0x8001317f: 虚拟串口错误代码
*/
/**@{
*/
/*!
\def RET_VUSART_NOT_INIT
\remark 虚拟串口未初始化.
\note 1.软件错误,联系技术支持
\def RET_VUSART_TX_BUSY
\remark 虚拟发送忙.
\note 1.软件错误,联系技术支持
*/
#define RET_VUSART_NOT_INIT 0x80013160
#define RET_VUSART_TX_BUSY 0x80013161
/**@}*/
/**
* \defgroup gpuoext 0x80013201 - 0x8001320f: GPIO扩展模块错误代码
*/
/**@{
*/
/*!
\def RET_GPIOEXT_HEAP_FULL
\remark 不再使用
\note 不再使用
\def RET_GPIOEXT_IO_EXCEED_MAX
\remark 不再使用
\note 不再使用
\def RET_GPIOEXT_PCA935_READ_FAILED
\remark 读I2C失败
\note 检查I2C线路
\def RET_GPIOEXT_PCA935_WRITE_FAILED
\remark 写I2C失败
\note 检查I2C线路
\def RET_GPIOEXT_VIBERATE_BUSY
\remark 振动指令忙
\note 1.软件问题,先等待振动返回再发
\def RET_GPIOEXT_BLINK_BUSY
\remark 闪烁指令忙
\note 1.软件问题,先等待闪烁返回再发
\def RET_GPIOEXT_VIB_TIMEOUT
\remark 振动超时
\note 1.检查和电机的通信线路是否正常
*/
#define RET_GPIOEXT_HEAP_FULL 0x80013201
#define RET_GPIOEXT_IO_EXCEED_MAX 0x80013202
#define RET_GPIOEXT_PCA935_READ_FAILED 0x80013203
#define RET_GPIOEXT_PCA935_WRITE_FAILED 0x80013204
#define RET_GPIOEXT_VIBERATE_BUSY 0x80013205
#define RET_GPIOEXT_BLINK_BUSY 0x80013206
#define RET_GPIOEXT_VIB_TIMEOUT 0x80013207
/**@}*/
/**
* \defgroup plate 0x80013211 - 0x8001321c: PLATE模块错误代码
*/
/**@{
*/
/*!
\def RET_PLATE_VIB_SPEED_SET
\remark TODO 报错原因.
\note TODO 建议操作
\def RET_PLATE_VIB_SPEED_EXCEED
\remark TODO 报错原因.
\note TODO 建议操作
\def RET_PLATE_ICB_TEMPERATURE
\remark TODO 报错原因.
\note TODO 建议操作
\def RET_PLATE_COVER_BOTH_TRIGGER
\remark TODO 报错原因.
\note TODO 建议操作
\def RET_TEMPCTRL_GET_PROPERTY_FAILED
\remark TODO 报错原因.
\note TODO 建议操作
*/
// vib error0x80013211 - 0x80013214
#define RET_PLATE_VIB_SPEED_SET 0x80013211
#define RET_PLATE_VIB_SPEED_EXCEED 0x80013212
// icb error0x80013215 - 0x80013218
#define RET_PLATE_ICB_TEMPERATURE 0x80013215
// cover error0x80013219 - 0x8001321c
#define RET_PLATE_COVER_BOTH_TRIGGER 0x80013219
#define RET_TEMPCTRL_GET_PROPERTY_FAILED 0x8001321a
/**@}*/
/**
* \defgroup lica 0x80013301 - 0x8001337f: LICA全自动反应区模块错误代码
*/
/**@{
*/
/*!
\def RET_LICA_REACTION_LATH_COVER_HOLE
\remark 反应区板条卡住
\note 请联系技术支持
\def RET_LICA_REACTION_FLUID_BUF_BOTL_EMPTY
\remark 反应区液体缓冲瓶空
\note 请联系技术支持
\def RET_LICA_REACTION_FLUID_NO_DILUTE
\remark 液体没有稀释
\note 请联系技术支持
\def RET_LICA_REACTION_FLUID_BOTL_EMPTY
\remark 反应区液体瓶空
\note 添加相应液体
\def RET_LICA_REACTION_PUMP_BUSY
\remark 反应区泵忙
\note 请联系技术支持
\def RET_LICA_REACTION_SD_FAILED
\remark 反应区读取SD卡参数失败
\note 请联系技术支持
\def RET_LICA_REACTION_MOTOR_NO_RESET
\remark 电机未复位
\note 1.复位电机
\n 2.如果故障未排队,请联系技术支持
\def RET_LICA_REACTION_EXIST_PLATE_IN_SENSOR1
\remark 传感器1号位有托盘
\note 1.检查传感器1
\n 2.如果故障未排队,请联系技术支持
\def RET_LICA_REACTION_EXIST_PLATE_IN_SENSOR2
\remark 传感器2号位有托盘
\note 1.检查传感器2
\n 2.如果故障未排队,请联系技术支持
\def RET_LICA_REACTION_EXIST_PLATE_IN_SENSOR3
\remark 传感器3号位有托盘
\note 1.检查传感器3
\n 2.如果故障未排队,请联系技术支持
\def RET_LICA_REACTION_STACK_NO_MICROPLATE
\remark 堆栈区没有微孔板
\note 请联系技术支持
\def RET_LICA_REACTION_GET_MICROPLATE_FAILED
\remark 获得微孔板失败
\note 请联系技术支持
\def RET_LICA_REACTION_PUSH_MICROPLATE_ERROR
\remark 推微孔板失败
\note 请联系技术支持
\def RET_LICA_REACTION_DARK_DOOR_OPEN_TIMEOUT
\remark 反应区暗门打开超时
\note 请联系技术支持
\def RET_LICA_REACTION_FROMF01TOF02_FAILED
\remark 推空板条失败
\note 1.检查加样区扫描是否成功传感器
\n 2.如果故障未排队,请联系技术支持
\def RET_LICA_REACTION_P01P02_RESET_FAILED
\remark 电机P01P02复位失败
\note 1.检查电机传感器
\n 2.如果故障未排队,请联系技术支持
\def RET_LICA_REACTION_F01F02_RESET_FAILED
\remark 电机F01F02复位失败
\note 1.检查电机传感器
\n 2.如果故障未排队,请联系技术支持
\def RET_LICA_REACTION_F03F04_RESET_FAILED
\remark 电机F03F04复位失败
\note 1.检查电机传感器
\n 2.如果故障未排队,请联系技术支持
\def RET_LICA_REACTION_L01L02_RESET_FAILED
\remark 电机L01L02复位失败
\note 1.检查电机传感器
\n 2.如果故障未排队,请联系技术支持
\def RET_LICA_REACTION_U01_RESET_FAILED
\remark 堆栈U01复位失败
\note 1.检查电机传感器
\n 2.如果故障未排队,请联系技术支持
\def RET_LICA_REACTION_L01L02_NOT_AT_ZERO
\remark 推杆电机L01L02不在零位不能复位
\note 使电机在零位
\def RET_LICA_REACTION_STACK_DOOR_NO_CLOSE
\remark 反应区堆栈门未关
\note 1.检查堆栈门传感器
\n 2.如果故障未排队,请联系技术支持
\def RET_LICA_REACTION_NOT_SYSCTRL
\remark 不在维修模式
\note 进入维修模式
\def RET_LICA_REACTION_COVER_OPEN_TIMEOUT
\remark 反应区开盖打开超时
\note 请联系技术支持
\def RET_LICA_REACTION_IN_SYSCTRL
\remark 反应区模块在维修模式
\note 退出维修模式
\def RET_LICA_REACTION_PLATE_STUCK
\remark 堆栈区有板条卡住
\note 请联系技术支持
\def RET_LICA_REACTION_SOFTRESET
\remark 反应区软复位
\note 请联系技术支持
\def RET_LICA_REACTION_MOTOR_NO_SCAN
\remark 电机未扫描
\note 扫描电机
\def RET_LICA_REACTION_SAMP_LATH_STATE_ERROR
\remark 样本区板条状态异常
\note 请联系技术支持
\def RET_LICA_REACTION_WARM1_LATH_STATE_ERROR
\remark 温育区1板条状态异常
\note 请联系技术支持
\def RET_LICA_REACTION_WARM2_LATH_STATE_ERROR
\remark 温育区2板条状态异常
\note 请联系技术支持
\def RET_LICA_REACTION_INVALID_DIRECTION
\remark 电机运动方向错误
\note 请联系技术支持
*/
// TODO
/*Zmj*/
#define RET_LICA_REACTION_LATH_COVER_HOLE 0x80013301 //废液孔上方覆盖板条错误
#define RET_LICA_REACTION_FLUID_BUF_BOTL_EMPTY 0x80013302
#define RET_LICA_REACTION_FLUID_NO_DILUTE 0x80013303
#define RET_LICA_REACTION_FLUID_BOTL_EMPTY 0x80013304
#define RET_LICA_REACTION_PUMP_BUSY 0x80013305
#define RET_LICA_REACTION_SD_FAILED 0x80013306
/*0x80013320~0x8001334f耿益平定义OP3 OP4 Reset Check */
#define RET_LICA_REACTION_MOTOR_NO_RESET 0x80013320 /*机械未复位,不能执行任何指令*/
#define RET_LICA_REACTION_EXIST_PLATE_IN_SENSOR1 0x80013321 /*堆栈区到加样区有板条*/
#define RET_LICA_REACTION_EXIST_PLATE_IN_SENSOR2 0x80013322 /*加样区到温育区1有板条*/
#define RET_LICA_REACTION_EXIST_PLATE_IN_SENSOR3 0x80013323 /*温育区1到温育区2有板条*/
#define RET_LICA_REACTION_STACK_NO_MICROPLATE 0x80013324 /*堆栈区没有微控板*/
#define RET_LICA_REACTION_GET_MICROPLATE_FAILED 0x80013325 /*取微控板失败*/
#define RET_LICA_REACTION_PUSH_MICROPLATE_ERROR 0x80013326 /*推掉空微控板执行失败*/
#define RET_LICA_REACTION_DARK_DOOR_OPEN_TIMEOUT 0x80013327 /*避光开关门开门超时*/
#define RET_LICA_REACTION_FROMF01TOF02_FAILED 0x80013328 /*推板条从F01到F02失败*/
#define RET_LICA_REACTION_P01P02_RESET_FAILED 0x80013329 /*P01P02电机复位失败*/
#define RET_LICA_REACTION_F01F02_RESET_FAILED 0x8001332a /*F01F02电机复位失败*/
#define RET_LICA_REACTION_F03F04_RESET_FAILED 0x8001332b /*F03F04电机复位失败*/
#define RET_LICA_REACTION_L01L02_RESET_FAILED 0x8001332c /*L01L02电机复位失败*/
#define RET_LICA_REACTION_U01_RESET_FAILED 0x8001332d /*U01电机复位失败*/
#define RET_LICA_REACTION_L01L02_NOT_AT_ZERO 0x8001332e /*L01L02不在零位*/
#define RET_LICA_REACTION_STACK_DOOR_NO_CLOSE 0x8001332f /*板条堆栈未关门*/
#define RET_LICA_REACTION_NOT_SYSCTRL 0x80013330 /*未进入维修模式*/
#define RET_LICA_REACTION_COVER_OPEN_TIMEOUT 0x80013331 /*试剂盖开关门开门超时*/
#define RET_LICA_REACTION_IN_SYSCTRL 0x80013332 /*电机进入维修模式不允许操作*/
#define RET_LICA_REACTION_PLATE_STUCK 0x80013333 /*堆栈区有板架卡住*/
#define RET_LICA_REACTION_SOFTRESET 0x80013334 /*软件复位*/
#define RET_LICA_REACTION_MOTOR_NO_SCAN 0x80013335 /*电机复位后未扫描*/
/*Zhq*/
#define RET_LICA_REACTION_SAMP_LATH_STATE_ERROR 0x80013351 /*加样区板条状态错误:源索引不存在或目标索引存在*/
#define RET_LICA_REACTION_WARM1_LATH_STATE_ERROR 0x80013352 /*温育区1板条状态错误:源索引不存在或目标索引存在*/
#define RET_LICA_REACTION_WARM2_LATH_STATE_ERROR 0x80013353 /*温育区2板条状态错误:源索引不存在或目标索引存在*/
#define RET_LICA_REACTION_INVALID_DIRECTION 0x80013354
/**@}*/
/**
* \defgroup detect 0x80013380 - 0x800133ff: 检测模块错误代码
*/
/**@{
*/
/*!
\def RET_LICA_LRD_INITIALIZE_FAILED
\remark 检测模块初始化失败
\note 1.检查传感器状态,若有误,可能是卡板条或者直流电机有问题
\n 2.重新上电复位,仍报错,很可能需要拆开模块查看,联系技术支持.
\def RET_LICA_LRD_MODULE_BUSY
\remark 检测模块正在忙.
\note 1.等一会儿再发指令
\def RET_LICA_LRD_NO_BATTEN
\remark 没有板条
\note 1.锁定板条时才会报这个错
\def RET_LICA_LRD_UNSUITABLE_BATTEN
\remark 板条不到位
\note 1.由于推入不到位,板条状态为不可锁定
\def RET_LICA_LRD_STATE_BATTEN
\remark 板条状态错误
\note 1.板条传感器或者叉子传感器出现错误状态,用调试软件查看其状态
\def RET_LICA_LRD_DISCARD_BATTEN
\remark 扔板条失败
\note 1.重新扔板条, 若仍失败,联系技术支持
\def RET_LICA_LRD_SENSOR_CLOSED
\remark 光耦关闭,传感器禁止读取
\note 1.等会儿再读取
\def RET_LICA_LRD_SNESOR_TRIGGER
\remark 叉子传感器误触发
\note 1.(已取消此错误)
\def RET_LICA_LRD_MOTG_SENSOR
\remark 叉子传感器错误
\note 1.零位限位传感器同时触发。用调试软件查看叉子状态
\def RET_LICA_LRD_SPACER_MOVE
\remark 叉子移动错误
\note 1.叉子移动超时(超时时间配置在卡里),可能是直流电机卡住或者相应传感器不能正常触发。
\def RET_LICA_LRD_MOTOR_NOT_RESET
\remark 电机没有复位
\note 1.先复位电机
\def RET_LICA_LRD_INVALID_DIRECTION
\remark 电机移动方向错误
\note 1.此模块电机只有左右方向运动,没有上下方向运动
\def RET_LICA_LRD_PMT_READ_TIMEOUT
\remark PMT读数超时
\note 1.软件错误,请重试。若频繁出现,联系技术支持
\def RET_LICA_LRD_PMTOVL_TIMEOUT
\remark PMT溢出等待超时
\note 1.PMT有溢出过断电等待30分钟以上让其恢复.
\n 2.等待后仍溢出,检查单片机相连的引脚是否正常
\def RET_LICA_LRD_LASER_INSPIRE
\remark 激光激发失败
\note 1.读数指令中,电机移动到激发位时出错,不再激发,直接报错
\def RET_LICA_LRD_LASER_INSPIRE_TIMEOUT
\remark 激光激发超时
\note 1.等同RET_LICA_LRD_PMT_READ_TIMEOUT
\def RET_LICA_LRD_EXCEED_DURATION
\remark 激光/读数时间(参数)不在有效范围内
\note 1.检查传入参数
\def RET_LICA_LRD_PROPERTY_INVALID
\remark PROPERTY操作出现错误
\note 1.配置操作出错。检查传入参数、配置项属性、TF卡等.
\def RET_LICA_LRD_LENGTH_OF_KEY_EXCEED_MAX
\remark KEY长度太长
\note 1.检查KEY名
\def RET_LICA_LRD_LENGTH_OF_STORE_EXCEED_MAX
\remark STORE长度太长
\note 1.检查STORE名
\def RET_LICA_LRD_PROPERTY_INCOMPATIBLE
\remark PROPERTY中没找到匹配的键
\note 1.检查KEY名与TF卡
\def RET_LICA_LRD_PROPERTY_READONLY
\remark 该PROPERTY项只读
\note 1.检查配置项属性
\def RET_LICA_LRD_PROPERTY_NOT_COORDINATE
\remark 该PROPERTY项不能用于电机
\note 1.检查配置项属性
\def RET_LICA_LRD_INVALID_KEY_FMTSTRING
\remark PROPERTY项格式错误
\note 1.检查KEY
\def RET_LICA_LRD_CALIBRATE_FAILED
\remark 定标失败
\note 1.重新定标. 频繁失败,联系技术支持
\def RET_LICA_LRD_SPACER_STATE
\remark 电机回零时叉子状态不允许
\note 1.先将叉子状态移动为零位或者限位
\def RET_LICA_LRD_CPLD_CLEAR
\remark CPLD清除缓冲失败
\note 1.软件错误. 联系技术支持
\def RET_LICA_LRD_EXIST_BATTEN
\remark 模块内已有板条(不允许再推入)
\note 1.先仍掉已有板条.
\n 2.若确定模块内原没有板条,那先模块复位,检查板条状态
\def RET_READER_INITIALIZE_FAILED
\remark 检测模块初始化失败
\note 1.检查传感器状态、TF卡、电机等
\n 2.重新上电复位,仍报错,很可能需要拆开模块查看,联系技术支持.
\def RET_READER_MODULE_BUSY
\remark 检测模块正在忙.
\note 1.等一会儿再发指令
\def RET_READER_CHECKSELF_FAILED
\remark 检测模块自检失败
\note 1.调试软件查看调试信息
\def RET_READER_FUNCTION_NOT_SUPPORTED
\remark 此功能不支持
\note 1.检查功能说明
\def RET_READER_EVENT_ERROR
\remark 信号量操作失败
\note 1.软件问题。联系技术支持
\def RET_READER_PROPERTY_INVALID
\remark PROPERTY操作出现错误
\note 1.配置操作出错。检查传入参数、配置项属性、TF卡等.
\def RET_READER_LENGTH_OF_KEY_EXCEED_MAX
\remark KEY长度太长
\note 1.检查KEY名
\def RET_READER_LENGTH_OF_STORE_EXCEED_MAX
\remark STORE长度太长
\note 1.检查STORE名
\def RET_READER_PROPERTY_INCOMPATIBLE
\remark PROPERTY中没找到匹配的键
\note 1.检查KEY名与TF卡
\def RET_READER_PROPERTY_READONLY
\remark 该PROPERTY项只读
\note 1.检查配置项属性
\def RET_READER_PROPERTY_NOT_COORDINATE
\remark 该PROPERTY项不能用于电机
\note 1.检查配置项属性
\def RET_READER_DBG_GET_INFO
\remark 获取调试信息出错
\note 1.重试
\def RET_READER_CALIBRATE_UNCOMPLETED
\remark 读数位置定标未完成
\note 1.重新定标
\def RET_POCT_PRD_NO_BATTEN
\remark 没有板条(锁定板条时)
\note 1.锁定板条时才会报这个错
\def RET_POCT_PRD_EXIST_BATTEN
\remark 模块内已有板条(不允许再推入)
\note 1.先仍掉已有板条.
\n 2.若确定模块内原没有板条,那先模块复位,检查板条状态
\def RET_POCT_PRD_STATE_BATTEN
\remark 板条状态错误
\note 1.调试软件检查板条状态
\n 2.模块复位
\def RET_POCT_PRD_DISCARD_BATTEN
\remark 扔板条失败
\note 1.重试.
\def RET_POCT_PRD_LIGHT_FLUO
\remark 荧光激光有问题
\note 1.已取消此错误
\def RET_POCT_PRD_LIGHT_CGL
\remark 金标灯光有问题
\note 1.已取消此错误
\def RET_POCT_PRD_CARD_CODE_FAILED
\remark 读卡条条码失败
\note 1.重试
\n 2.保留好失败时的卡条,联系技术支持
\def RET_POCT_PRD_AD_FAULT
\remark AD读取出错
\note 1.重试
\n 2.重复出现,联系技术支持
*/
// 1. 0x80013380 - 0x8001339f: LICA全自动读数模块(Lica Reader Module)错误代码
#define RET_LICA_LRD_INITIALIZE_FAILED 0x80013380 // 检测模块初始化失败
#define RET_LICA_LRD_MODULE_BUSY 0x80013381 // 检测模块正在忙
#define RET_LICA_LRD_NO_BATTEN 0x80013382 // 没有板条(锁定板条时)
#define RET_LICA_LRD_UNSUITABLE_BATTEN 0x80013383 // 板条不到位
#define RET_LICA_LRD_STATE_BATTEN 0x80013384 // 板条状态错误
#define RET_LICA_LRD_DISCARD_BATTEN 0x80013385 // 扔板条失败
#define RET_LICA_LRD_SENSOR_CLOSED 0x80013386 // 光耦关闭,传感器禁止读取
#define RET_LICA_LRD_SNESOR_TRIGGER 0x80013387 // 叉子传感器误触发
#define RET_LICA_LRD_MOTG_SENSOR 0x80013388 // 叉子传感器错误
#define RET_LICA_LRD_SPACER_MOVE 0x80013389 // 叉子移动错误
#define RET_LICA_LRD_MOTOR_NOT_RESET 0x8001338a // 电机没有复位
#define RET_LICA_LRD_INVALID_DIRECTION 0x8001338b // 电机移动方向错误
#define RET_LICA_LRD_PMT_READ_TIMEOUT 0x8001338c // PMT读数超时
#define RET_LICA_LRD_PMTOVL_TIMEOUT 0x8001338d // PMT溢出等待超时
#define RET_LICA_LRD_LASER_INSPIRE 0x8001338e // 激光激发失败
#define RET_LICA_LRD_LASER_INSPIRE_TIMEOUT 0x8001338f // 激光激发超时
#define RET_LICA_LRD_EXCEED_DURATION 0x80013390 // 激光/读数时间(参数)不在有效范围内
#define RET_LICA_LRD_PROPERTY_INVALID 0x80013391 // PROPERTY操作出现错误
#define RET_LICA_LRD_LENGTH_OF_KEY_EXCEED_MAX 0x80013392 // KEY长度太长
#define RET_LICA_LRD_LENGTH_OF_STORE_EXCEED_MAX 0x80013393 // STORE长度太长
#define RET_LICA_LRD_PROPERTY_INCOMPATIBLE 0x80013394 // PROPERTY中没找到匹配的键
#define RET_LICA_LRD_PROPERTY_READONLY 0x80013395 // 该PROPERTY项只读
#define RET_LICA_LRD_PROPERTY_NOT_COORDINATE 0x80013396 // 该PROPERTY项不能用于电机
#define RET_LICA_LRD_INVALID_KEY_FMTSTRING 0x80013397 // PROPERTY项格式错误
#define RET_LICA_LRD_CALIBRATE_FAILED 0x80013398 // 定标失败
#define RET_LICA_LRD_SPACER_STATE 0x80013399 // 叉子状态错误
#define RET_LICA_LRD_CPLD_CLEAR 0x8001339a // CPLD清除缓冲失败
#define RET_LICA_LRD_EXIST_BATTEN 0x8001339b // 模块内已有板条(不允许再推入)
// 2. 0x800133a0 - 0x800133af: 检测模块通用错误代码
#define RET_READER_INITIALIZE_FAILED 0x800133a0 // 检测模块初始化失败
#define RET_READER_MODULE_BUSY 0x800133a1 // 检测模块正在忙
#define RET_READER_CHECKSELF_FAILED 0x800133a2 // 检测模块自检失败
#define RET_READER_FUNCTION_NOT_SUPPORTED 0x800133a3 // 此功能不支持
#define RET_READER_EVENT_ERROR 0x800133a4 // 信号量操作失败
#define RET_READER_PROPERTY_INVALID 0x800133a5 // PROPERTY操作出现错误
#define RET_READER_LENGTH_OF_KEY_EXCEED_MAX 0x800133a6 // KEY长度太长
#define RET_READER_LENGTH_OF_STORE_EXCEED_MAX 0x800133a7 // STORE长度太长
#define RET_READER_PROPERTY_INCOMPATIBLE 0x800133a8 // PROPERTY中没找到匹配的键
#define RET_READER_PROPERTY_READONLY 0x800133a9 // 该PROPERTY项只读
#define RET_READER_PROPERTY_NOT_COORDINATE 0x800133aa // 该PROPERTY项不能用于电机
#define RET_READER_DBG_GET_INFO 0x800133ab // 获取调试信息出错
#define RET_READER_CALIBRATE_UNCOMPLETED 0x800133ac // 未定标
// 3. 0x800133b0 - 0x800133bf: POCT错误代码
#define RET_POCT_PRD_NO_BATTEN 0x800133b1 // 没有板条(锁定板条时)
#define RET_POCT_PRD_EXIST_BATTEN 0x800133b2 // 模块内已有板条(不允许再推入)
#define RET_POCT_PRD_STATE_BATTEN 0x800133b3 // 板条状态错误
#define RET_POCT_PRD_DISCARD_BATTEN 0x800133b4 // 扔板条失败
#define RET_POCT_PRD_LIGHT_FLUO 0x800133b5 // 荧光激光有问题
#define RET_POCT_PRD_LIGHT_CGL 0x800133b6 // 金标灯光有问题
#define RET_POCT_PRD_CARD_CODE_FAILED 0x800133b7 // 读卡条条码失败
#define RET_POCT_PRD_AD_FAULT 0x800133b8 // AD读取出错
/**@}*/
/**
* \defgroup nap 0x80013400 - 0x8001343f: NAP模块错误代码
*/
/**@{
*/
/*!
\def RET_RD_NAP_DIR_SENSOR_ERROR
\remark 直流电机部分零位传感器读数错误,同时有一个以上传感器触发
\note 1:请联系技术支持
2:机械检查是否有松动部件阻隔光电传感器
3:电子检查硬件信号
\def RET_RD_NAP_DIR_MOVE_TIMEOUT
\remark 直流电机运动超时
\note 1:请联系技术支持
2:机械检查齿轮是否松动
3:电子检查电机驱动线
\def RET_RD_NAP_MOTOR_NOT_INIT
\remark 电机未初始化
\note 1:请联系技术支持
2:软件检查是否配置此电机
3:检查电机是否被硬件重启
\def RET_RD_NAP_OS_EVENT_ERROR
\remark TODO 报错原因.
\note 1:软件原因,请联系技术支持
\def RET_RD_NAP_VID_ING
\remark shake正在转动时,调用会发生碰撞的指令
\note 1:误操作,如是客户程序报错,请联系技术支持
\def RET_RD_NAP_TEMEP_SENSOR_ERROR
\remark 读18B20时连续三次读到TEMP_INVALID
\note 1:请联系技术支持
2:请电子检查硬件线路
\def RET_RD_NAP_PART_BUSY
\remark 此部件正执行上一条指令
\note 1:误操作,如是客户程序报错,请联系技术支持
\def RET_RD_NAP_POWER_LOCKED
\remark 电源管理模块已准备关机
\note 1:误操作,如是客户程序报错,请联系技术支持
*/
#define RET_RD_NAP_DIR_SENSOR_ERROR 0x80013400
#define RET_RD_NAP_DIR_MOVE_TIMEOUT 0x80013401
#define RET_RD_NAP_MOTOR_NOT_INIT 0x80013402
#define RET_RD_NAP_OS_EVENT_ERROR 0x80013403
#define RET_RD_NAP_VID_ING 0x80013404
#define RET_RD_NAP_TEMEP_SENSOR_ERROR 0x80013405
#define RET_RD_NAP_PART_BUSY 0x80013406 /*此部件busy*/
#define RET_RD_NAP_POWER_LOCKED 0x80013407 /*电源管理模块已准备关机*/
/**@}*/
/**
* \defgroup pipe 0x80013440 - 0x8001347f: 仁度液路模块错误代码
*/
/**@{
*/
/*!
\def RET_RD_PIPE_NO_WASTE_BOTTLE
\remark 没有废液瓶
\note 1.检查废液瓶和传感器
\def RET_RD_PIPE_WASTE_BOTTLE_FULL
\remark 废液瓶满
\note 1.检查废液瓶是否满或者传感器是否正确
\def RET_RD_PIPE_PRESURE_TIMEOUT
\remark 指定时间内没有达到压力值
\note 1.检查液路是否漏气
\n 2.检查压力传感器
\def RET_RD_PUMP_MORE_THAN_MAX_VOL
\remark 不再使用
\note 不再使用
*/
#define RET_RD_PIPE_NO_WASTE_BOTTLE 0x80013440
#define RET_RD_PIPE_WASTE_BOTTLE_FULL 0x80013441
#define RET_RD_PIPE_PRESURE_TIMEOUT 0x80013442
#define RET_RD_PUMP_MORE_THAN_MAX_VOL 0x80013443
/**@}*/
/**
* \defgroup pipettemt 0x80013480 - 0x800134bf: 多针加样模块(0x0220)错误代码
*/
/**@{
*/
/*!
\def RET_PIPMT_CODEBAR_NO_READ
\remark 试剂读取条码失败
\note 1.检查试剂条码
\n 2.如果故障仍未排除,请联系技术支持
\def RET_PIPMT_VACUM_PUMP_NOT_OPEN
\remark 真空泵未打开
\note 1.打开真空泵重新进行操作
\n 2.如果故障仍未排除,请联系技术支持
\def RET_PIPMT_NOT_WASH
\remark 未清洗试剂针
\note 1.清洗试剂针
\n 2.如果故障仍未排除,请联系技术支持
\def RET_PIPMT_CONTAINER_TYPE_ERROR
\remark 容器类型错误
\note 请联系技术支持
\def RET_PIPMT_DU_ZHEN
\remark 液面检测失败
\note 1.检查试剂,是否足够,有无气泡等
\n 2.如果故障仍未排除,请联系技术支持
\def RET_PIPMT_PRESS_NOT_ENOUGH
\remark 试剂针撞针
\note 1.查看试剂针运动轨迹内是否有障碍物
\n 2.查看定标位置是否正确
\n 3.如果故障仍未排除,请联系技术支持
\def RET_PIPMT_LQD_NOT_ENOUGH
\remark 液体不足
\note 1.请添加试剂
\n 2.如果故障仍未排除,请联系技术支持
\def RET_PIPMT_ERR_ZONE
\remark 试剂针不可操作区域
\note 请联系技术支持
\def RET_PIPMT_TARGET_IDX_TOO_BIG
\remark 目标区索引太大
\note 请联系技术支持
\def RET_PIPMT_ARM_NOT_ALLOW
\remark TODO 报错原因.
\note TODO 建议操作
\def RET_PIPMT_ROATAE_CH_ERR
\remark 试剂盘索引错误
\note 请联系技术支持
\def RET_PIPMT_NO_WASTE_ZONE
\remark 试剂针未清洗
\note 执行针清洗
\def RET_PIPMT_SD_VALUE_ERR
\remark 试剂模块SD卡值错误
\note 请联系技术支持
\def RET_PIPMT_NO_MODULE_ID
\remark 试剂模块没有模块ID
\note 请联系技术支持
\def RET_PIPMT_NO_INIT_SUCCESS
\remark 试剂模块没有初始化成功
\note 1.检查通信线路
\n 2.如果故障仍未排除,请联系技术支持
*/
#define RET_PIPMT_CODEBAR_NO_READ 0x80013480
#define RET_PIPMT_VACUM_PUMP_NOT_OPEN 0x80013481
#define RET_PIPMT_NOT_WASH 0x80013482
#define RET_PIPMT_CONTAINER_TYPE_ERROR 0x80013483
#define RET_PIPMT_DU_ZHEN 0x80013484
#define RET_PIPMT_PRESS_NOT_ENOUGH 0x80013485
#define RET_PIPMT_LQD_NOT_ENOUGH 0x80013486
#define RET_PIPMT_ERR_ZONE 0x80013487
#define RET_PIPMT_TARGET_IDX_TOO_BIG 0x80013488
#define RET_PIPMT_ARM_NOT_ALLOW 0x80013489
#define RET_PIPMT_ROATAE_CH_ERR 0x80013490
#define RET_PIPMT_NO_WASTE_ZONE 0x80013491
#define RET_PIPMT_SD_VALUE_ERR 0x80013492
#define RET_PIPMT_NO_MODULE_ID 0x80013493
#define RET_PIPMT_NO_INIT_SUCCESS 0x80013494
#define RET_PIPMT_NOT_IN_SERVICE 0x80013495
#define RET_PIPMT_IN_SERVICE 0x80013496
#define RET_PIPMT_DETECT_LIQUID_HIGH 0x80013497
#define RET_PIPMT_DETECT_LIQUID_LOW 0x80013498
/**@}*/
/**
* \defgroup cliactl 0x800134c0 - 0x800134ff: CLIA主控模块(0x10b0)错误代码
*/
/**@{
*/
/*!
\def RET_CLIA_CONTROLLER_NO_RESET
\remark 机械未复位,不能执行任何指令
\note 1.主控单元机械复位
\n 2.如果故障仍未排除,请联系技术支持
\def RET_CLIA_CONTROLLER_IN_SERVICE
\remark 处于维修模式不能执行其它指令
\note 1.主控单元退出维修模式
\n 2.如果故障仍未排除,请联系技术支持
\def RET_CLIA_CONTROLLER_NOT_IN_SERVICE
\remark 不在维修模式不能执行维修模式下指令
\note 1.主控单元进入维修模式
\n 2.如果故障仍未排除,请联系技术支持
\def RET_CLIA_CONTROLLER_INVALID_DIRECTION
\remark 电机运动方向错误
\note 请联系技术支持
\def RET_CLIA_CONTROLLER_PUMP_BUSY
\remark 废液泵处于工作状态
\note 请联系技术支持
\def RET_CLIA_CONTROLLER_SESSION_FULL
\remark 指令缓冲区满
\note 请联系技术支持
\def RET_CLIA_CONTROLLER_NO_INIT_SUCCESS
\remark 模块上电初始化失败
\note 1.检查通讯是否正常
\n 2.如果故障仍未排除,请联系技术支持
\def RET_CLIA_MSlIQUID_EMPTY
\remark 清洗液空
\note 1.添加清洗液
\n 2.如果故障仍未排除,请联系技术支持
\def RET_CLIA_CONTROLLER_DCMOTOR_STOP_ERROR
\remark 主控直流电机停止失败
\note 请联系技术支持
\def RET_CLIA_CONTROLLER_DCMOTOR_NOT_AT_ZERO
\remark 主控直流电机不在零位
\note 请联系技术支持
\def RET_CLIA_SHEATH_LIQUID_EMPTY
\remark 鞘流液空
\note 1.添加鞘流夜
\n 2.如果故障仍未排除,请联系技术支持
\def RET_CLIA_MSPROBE_TOUCH_CUPBOTTOM
\remark 清洗机构碰撞
\note 1.查看清洗机构下方是否有障碍
\n 2.如果故障仍未排除,请联系技术支持
\def RET_CLIA_MATERIAL_EMPTY
\remark 耗材空
\note 1.添加耗材
\n 2.如果故障仍未排除,请联系技术支持
\def RET_CLIA_RECYCLE_REGION_FULL
\remark 耗材回收区满
\note 1.清空耗材回收区
\n 2.如果故障仍未排除,请联系技术支持
\def RET_CLIA_TC_CATCH_CUP_FALL
\remark 轨道转换器抓杯失败
\note 请联系技术支持
\def RET_CLIA_MSSTACK_MOTORF1_CLOSE_FAIL
\remark 耗材架横推电机关闭失败
\note 请联系技术支持
\def RET_CLIA_MSSTACK_DRAWER_OPEN
\remark 耗材架抽屉打开
\note 1.关闭耗材架抽屉
\n 2.如果故障仍未排除,请联系技术支持
\def RET_CLIA_MSSTACK_DOOR_OPEN
\remark 耗材架门打开
\note 1.关闭耗材架门
\n 2.如果故障仍未排除,请联系技术支持
\def RET_CLIA_MATERIAL_ERROR
\remark 耗材架架数大于实际需求
\note 请联系技术支持
\def RET_CLIA_MSSTACK_INJECT_ERROR
\remark 耗材架进样错误
\note 请联系技术支持
\def RET_CLIA_MSSTACK_RECYCLE_ERROR
\remark 耗材架回收错误
\note 请联系技术支持
*/
#define RET_CLIA_CONTROLLER_NO_RESET 0x800134c0 //未机械复位,临时宏定义
#define RET_CLIA_CONTROLLER_IN_SERVICE 0x800134c1 //在维修模式,临时宏定义
#define RET_CLIA_CONTROLLER_NOT_IN_SERVICE 0x800134c2 //不在维修模式
#define RET_CLIA_CONTROLLER_INVALID_DIRECTION 0x800134c3 //无效方向
#define RET_CLIA_CONTROLLER_PUMP_BUSY 0x800134c4 //泵忙
#define RET_CLIA_CONTROLLER_SESSION_FULL 0x800134c5
#define RET_CLIA_CONTROLLER_NO_INIT_SUCCESS 0x800134c6 //未初始化成功
#define RET_CLIA_MSlIQUID_EMPTY 0x800134c7 //磁分离液空
#define RET_CLIA_CONTROLLER_DCMOTOR_STOP_ERROR 0x800134c8 //直流电机停止失败
#define RET_CLIA_CONTROLLER_DCMOTOR_NOT_AT_ZERO 0x800134c9 //直流电机不在零位
#define RET_CLIA_SHEATH_LIQUID_EMPTY 0x800134ca //鞘流液空
#define RET_CLIA_MSPROBE_TOUCH_CUPBOTTOM 0x800134cb //磁分离机构碰撞
#define RET_CLIA_MATERIAL_EMPTY 0x800134cc //耗材空
#define RET_CLIA_RECYCLE_REGION_FULL 0x800134cd //废料架满
#define RET_CLIA_TC_CATCH_CUP_FALL 0x800134ce //轨道转换器抓杯失败
#define RET_CLIA_MSSTACK_MOTORF1_CLOSE_FAIL 0x800134cf //耗材架横推电机关闭失败
#define RET_CLIA_MSSTACK_DRAWER_OPEN 0x800134d0 //耗材架抽屉打开
#define RET_CLIA_MSSTACK_DOOR_OPEN 0x800134d1 //耗材架门打开
#define RET_CLIA_MATERIAL_ERROR 0x800134d2 //耗材架架数大于实际需求
#define RET_CLIA_MSSTACK_INJECT_ERROR 0x800134d3 //耗材架进样失败
#define RET_CLIA_MSSTACK_RECYCLE_ERROR 0x800134d4 //耗材架回收失败
/**@}*/
/**
* \defgroup poctctrl 0x80013501 - 0x8001353f: POCT主控模块(0x10e0)错误代码
*/
/**@{
*/
/*!
\def RET_POCT_NO_CODE_PAPER
\remark 条码机没有输出任何数据
\note 1:检查条码纸是否清晰
2:检查条码机的硬件链接
\def RET_POCT_LENGTH_OVERFLOW
\remark 条码机输出的条码长度超过设定值
\note 1:联系技术支持
\def RET_POCT_CONTROLLER_INVALID_BAR_FORMAT
\remark 条码机未按指定格式输出条码
\note 1:联系技术支持
2:检查硬件连接
\def RET_POCT_DIR_SENSOR_ERROR
\remark 取板条直流电机传感器读数错误:同时多个传感器触发
\note 1:联系技术支持
2:检查硬剂连接
\def RET_POCT_CONTROLLER_DIR_MOVE_TIMEOUT
\remark 取板条直流电机运动超时,未在规定时间内触犯目标位置零位
\note 1:联系技术支持
2:检查硬件连接
3:检查齿轮是否松动
\def RET_POCT_NO_TUBE
\remark 板条转移机构上没有板条: 1:取板条时未成功取到
2:推板条时,转移机构上没有板条
\note 1:确认板条盒内是否还有剩余板条
2:检查取板条机构是否松动
\def RET_POCT_MOTOR_BE_RESET
\remark 电机模块芯片被复位
\note 1:请联系技术支持
\def RET_POCT_CONTROLLER_REASHA
\remark 1:试剂盘震动部件 起震失败
2:试剂盘震动过程中,操作试剂盘
\note 1:确认时候操作失误
2:请联系技术支持
\def RET_POCT_CONTROLLER_HAVE_TUBE
\remark 板条转移机构上已存在板条
\note 1:确认是否是误操作
2:请联系技术支持
\def RET_POCT_CONTROLLER_UNSUPPORT
\remark TODO 报错原因.
\note 1:请联系技术支持,软件错误
\def RET_POCT_CONTROLLER_NEED_RESET
\remark TODO 报错原因.
\note TODO 建议操作
\def RET_POCT_CONTROLLER_MODULE_BUSY
\remark TODO 当前进程忙.
\note 1: 操作失误
2: 上层软件流程错误
*/
#define RET_POCT_NO_CODE_PAPER 0x80013501 /*条码机未读取到任何数据*/
#define RET_POCT_LENGTH_OVERFLOW 0x80013502 /*条码长度超过设定值*/
#define RET_POCT_CONTROLLER_INVALID_BAR_FORMAT 0x80013503 /*非法条码格式,1:没有结束标志;2:结束标志后仍有数据被接收到*/
#define RET_POCT_DIR_SENSOR_ERROR 0x80013504 /*取板条直流电机传感器读数错误:同时多个传感器触发*/
#define RET_POCT_CONTROLLER_DIR_MOVE_TIMEOUT 0x80013505 /*取板条直流电机运动超时:未在规定时间内触犯目标位置零位*/
#define RET_POCT_NO_TUBE 0x80013506 /*板条转移机构上没有板条: 1:取板条时未成功取到\2:推板条时,转移机构上没有板条*/
#define RET_POCT_MOTOR_BE_RESET 0x80013507 /*电机被硬件上复位*/
#define RET_POCT_CONTROLLER_REASHA 0x80013508 /*试剂盘震动部件未正确落下*/
#define RET_POCT_CONTROLLER_HAVE_TUBE 0x80013509 /*板条转移机构上已存在板条*/
#define RET_POCT_CONTROLLER_UNSUPPORT 0x8001350a /**/
#define RET_POCT_CONTROLLER_NEED_RESET 0x8001350b /*电机需要被机械复位才能工作*/
#define RET_POCT_CONTROLLER_MODULE_BUSY 0x8001350c
#define RET_POCT_CONTROLLER_NOT_INIT 0x8001350d
/**@}*/
/**
* \defgroup sstack 0x80013540 - 0x8001357f: POCT/CLIA样本架模块(0x10d0)错误代码
*/
/**@{
*/
/*!
\def RET_POCT_STACK_OUTPUT_FULL
\remark 回收区已满(回收区检查传感器已触发)
\note 1.及时将回收区样本架取走
\n 2.如果没有样本架触发,则检查传感器
\def RET_POCT_STACK_HAS_NO_TUBE_UNDER_TONGS
\remark 摇匀位没有试管存在(抓取前,放下后)
\note 1.检查抓手上是否有试管
\n 2.检查试管有无检测传感器
\def RET_POCT_STACK_STILL_HAS_TUBE_UNDER_TONGS
\remark 摇匀位试管没有抓取成功
\note 1.检查抓手上是否有试管
\n 2.检查试管有无检测传感器
\def RET_POCT_STACK_IS_NOT_ONLINE
\remark 不是对接类型
\note 1.排除传感器问题
\n 2.非对接类型直接人工取走
\def RET_POCT_STACK_OUTPUT_EMPTY
\remark 不再使用
\note 不再使用
\def RET_POCT_STACK_OUTPUT_SENSOR_FAILED
\remark 不再使用
\note 不再使用
\def RET_POCT_STACK_DECODE_HAVE_NOT_READ
\remark 条码位没有试管或者计数已经出错,当前条码未读出
\note 1.检查有无试管
\n 2.检查计数传感器
\n 3.检查读取前有没有扫过当前条码
\def RET_POCT_STACK_DIRECT_MOTOR_OVERTIME
\remark 抓手憋死了
\note 1.检查抓手传感器有无问题
\n 2.检查抓手运动方向是否正确
\n 3.检查定标,是否抓在帽子上
\def RET_POCT_STACK_READ_PCA9535_FAILED
\remark 不再使用
\note 不再使用
\def RET_POCT_STACK_DIRECT_MOTOR_FAILED
\remark 不再使用
\note 不再使用
\def RET_POCT_STACK_COUNT_WRONG
\remark 计数错误
\note 1.检查左右计数传感器是否正常跳变
\def RET_POCT_STACK_HAVE_NOT_IMPLEMENTED
\remark 不再使用
\note 不再使用
\def RET_POCT_STACK_SHAKE_FLAG_ERROR
\remark 不再使用
\note 不再使用
\def RET_POCT_STACK_MORTOR_NOT_RESET
\remark 电机尚未复位
\note 复位电机
\def RET_POCT_STACK_INVALID_CODE_FORMAT
\remark 无效条码
\note 1.更换条码
\n 2.软件错误, 联系技术支持
\def RET_POCT_STACK_NO_RACK_TO_GO
\remark 没有试管架在位,不再推
\note 1.放一个新试管架
\def RET_POCT_STACK_INPUT_SENSOR_FAILED
\remark 进样到位传感器未触发
\note 1.检查传感器实际是否触发
\n 2.检查定标是否准确
\def RET_POCT_STACK_COUNT_WRONG_LEFT
\remark 左边的计数传感器未接收到跳变
\note 1.查看传感器
\n 2.查看是否确实往前走了一格
\def RET_POCT_STACK_COUNT_WRONG_RIGHT
\remark 右边的计数传感器未接收到跳变
\note 1.查看传感器
\n 2.查看是否确实往前走了一格
\def RET_CLIA_SAMPLE_NO_RESET
\remark 样本架未复位
\note 1.样本架单元机械复位
\n 2.如果故障仍未排除,请联系技术支持
\def RET_CLIA_SAMPLE_IN_SERVICE
\remark 处于维修模式不能执行其它指令
\note 1.样本架单元退出维修模式
\n 2.如果故障仍未排除,请联系技术支持
\def RET_CLIA_SAMPLE_NOT_IN_SERVICE
\remark 不在维修模式不能执行其它指令
\note 1.样本架单元进入维修模式
\n 2.如果故障仍未排除,请联系技术支持
\def RET_CLIA_SAMPLE_INVALID_DIRECTION
\remark 电机运动方向错误
\note 请联系技术支持
\def RET_CLIA_SAMPLE_SESSION_FULL
\remark 废液泵处于工作状态
\note 请联系技术支持
\def RET_CLIA_SAMPLE_READBARCODE_TIMEOUT
\remark 读条码超时
\note 1.请检查条码
\n 2.如果故障仍未排除,请联系技术支持
\def RET_CLIA_SAMPLE_READBARCODE_NO_READ
\remark 读条码失败
\note 1.请检查条码
\n 2.如果故障仍未排除,请联系技术支持
\def RET_CLIA_SAMPLE_RECYCLE_AREA_FULL
\remark 样本架回收区满
\note 1.清空回收区
\n 2.如果故障仍未排除,请联系技术支持
\def RET_CLIA_SAMPLE_NO_INIT_SUCCESS
\remark 模块上电初始化失败
\note 请联系技术支持
\def RET_CLIA_SAMPLE_RESET_ERROR
\remark 机械复位失败
\note 1.重新复位样本架模块
\n 2.如果故障仍未排除,请联系技术支持
\def RET_CLIA_SAMPLE_RACK_EMPTY
\remark 进样区样本架空
\note 添加样本架
\def RET_CLIA_SAMPLE_BARCODE_NOT_READ_YET
\remark 条码区尚未准备好
\note 请联系技术支持
\def RET_CLIA_SAMPLE_POP_CUP_FALL
\remark 样本架抓取失败
\note 请联系技术支持
\def RET_CLIA_SAMPLE_PUSH_CUP_FALL
\remark 样本架放置失败
\note 请联系技术支持
\def RET_CLIA_SAMPLE_EMPTY
\remark 样本架空
\note 放置样本架
\def RET_CLIA_SAMPLE_GET_LIQUID_FULL
\remark 样本架吸样位满
\note 1.检查吸样位传感器状态和样本架状态
\n 2.如果故障仍未排除,请联系技术支持
\def RET_CLIA_SAMPLE_RECYCLE_REGION_ERROR
\remark 回收区有样本架
\note 1.检查回收区传感器状态
\n 2.如果故障仍未排除,请联系技术支持
\def RET_CLIA_SAMPLE_MOTORCATCH_SENSOR_ON
\remark 抓取样本架是否成功传感器触发
\note 1.检查抓取样本架是否成功传感器状态
\n 2.如果故障仍未排除,请联系技术支持
\def RET_CLIA_SAMPLE_MOTORC_CATCH_FAIL
\remark 联机模块电机抓取样本架失败
\note 1.检查联机模块电机抓取是否成功传感器状态
\n 2.如果故障仍未排除,请联系技术支持
\def RET_CLIA_SAMPLE_XFER_ERROR
\remark 指令与实际状态不符无法转移
\note 1.检查限位传感器在抓手闭合和张开状态下的状态
\n 2.如果故障仍未排除,请联系技术支持
\def RET_CLIA_SAMPLE_CONNECT_SEND_ERROR
\remark 联机SEND信号异常
\note 1.检查SEND接线
\n 2.如果故障仍未排除,请联系技术支持
*/
#define RET_POCT_STACK_OUTPUT_FULL 0x80013541 //回收部分满
#define RET_POCT_STACK_HAS_NO_TUBE_UNDER_TONGS 0x80013542 //抓手正对下方试管架上没有试管
#define RET_POCT_STACK_STILL_HAS_TUBE_UNDER_TONGS 0x80013543 //抓手正对下方试管架上仍然有试管
#define RET_POCT_STACK_IS_NOT_ONLINE 0x80013544 //不是对接类型
#define RET_POCT_STACK_OUTPUT_EMPTY 0x80013545 //回收部分没有试管架
#define RET_POCT_STACK_OUTPUT_SENSOR_FAILED 0x80013546 //回收部分传感器触发失败
#define RET_POCT_STACK_DECODE_HAVE_NOT_READ 0x80013547 //条码尚未读出
#define RET_POCT_STACK_DIRECT_MOTOR_OVERTIME 0x80013548 //直流电机开启/关闭超时
#define RET_POCT_STACK_READ_PCA9535_FAILED 0x80013549 //读PCA9535失败
#define RET_POCT_STACK_DIRECT_MOTOR_FAILED 0x8001354a //直流电机运动失败
#define RET_POCT_STACK_COUNT_WRONG_BOTH 0x8001354b //计数错误(会引起条码错位)
#define RET_POCT_STACK_HAVE_NOT_IMPLEMENTED 0x8001354c //功能未实现
#define RET_POCT_STACK_SHAKE_FLAG_ERROR 0x8001354d //摇匀flag错误
#define RET_POCT_STACK_MORTOR_NOT_RESET 0x8001354f //电机未复位
#define RET_POCT_STACK_INVALID_CODE_FORMAT 0x80013550
#define RET_POCT_STACK_TUBE_RACK_SENSOR_FAILED 0x80013551 //进样样本架类型传感器出错
#define RET_POCT_STACK_NO_RACK_TO_GO 0x80013552 //无试管架
#define RET_POCT_STACK_INPUT_SENSOR_FAILED 0x80013553 //进样传感器未触发
#define RET_POCT_STACK_COUNT_WRONG_LEFT 0x80013554 //左计数错误
#define RET_POCT_STACK_COUNT_WRONG_RIGHT 0x80013555 //右计数错误
#define RET_CLIA_SAMPLE_NO_RESET 0x80013561 //未机械复位,临时宏定义
#define RET_CLIA_SAMPLE_IN_SERVICE 0x80013562 //在维修模式,临时宏定义
#define RET_CLIA_SAMPLE_NOT_IN_SERVICE 0x80013563 //不在维修模式,临时宏定义
#define RET_CLIA_SAMPLE_INVALID_DIRECTION 0x80013564 //无效方向
#define RET_CLIA_SAMPLE_SESSION_FULL 0x80013565 //会话缓冲区满
#define RET_CLIA_SAMPLE_READBARCODE_TIMEOUT 0x80013566
#define RET_CLIA_SAMPLE_READBARCODE_NO_READ 0x80013567
#define RET_CLIA_SAMPLE_RECYCLE_AREA_FULL 0x80013568 //回收区满
#define RET_CLIA_SAMPLE_NO_INIT_SUCCESS 0x80013569 //系统未初始化成功
#define RET_CLIA_SAMPLE_RESET_ERROR 0x8001356a //机械复位失败 CAN_NOT_RESET
#define RET_CLIA_SAMPLE_RACK_EMPTY 0x8001356b /*进样区板架空*/
#define RET_CLIA_SAMPLE_BARCODE_NOT_READ_YET 0x8001356c /*条码尚未读出*/
/*样本架2.0版本错误代码*/
#define RET_CLIA_SAMPLE_POP_CUP_FALL 0x8001356d //样本架抓取失败
#define RET_CLIA_SAMPLE_PUSH_CUP_FALL 0x8001356e //样本架放置失败
#define RET_CLIA_SAMPLE_EMPTY 0x8001356f //样本架空
#define RET_CLIA_SAMPLE_GET_LIQUID_FULL 0x80013570 //样本吸样位满
#define RET_CLIA_SAMPLE_RECYCLE_REGION_ERROR 0x80013571 //回收区有样本架
#define RET_CLIA_SAMPLE_MOTORCATCH_SENSOR_ON 0x80013572 //抓取是否成功传感器触发
#define RET_CLIA_SAMPLE_MOTORC_CATCH_FAIL 0x80013573 //联机模块电机抓取电机失败
#define RET_CLIA_SAMPLE_XFER_ERROR 0x80013574 //指令与实际状态不符无法转移
#define RET_CLIA_SAMPLE_CONNECT_SEND_ERROR 0x80013575 //联机SEND信号异常
#define RET_CLIA_SAMPLE_I2C_STATE_ERROR 0x80013576 //两次I2C读取状态不一致
#define RET_CLIA_SAMPLE_CATCH_Z_FAIL 0x80013577 //抓取试管架Z下去上来报错可能是由于Y没转到位置处理办法电机复位重新抓取
/**@}*/
/**
* \defgroup ifa 0x80013580 - 0x800135bf: ifa模块(0x1110)错误代码
*/
/**@{
*/
/*!
\def RET_IFA_DISPENSE_ERROR
\remark TODO 报错原因.
\note TODO 建议操作
\def RET_IFA_DIR_TIMEOUT
\remark 废液针直流电机运动超时,未在规定时间内触犯目标位置零位
\note 1:联系技术支持
2:检查硬件连接
3:检查齿轮是否松动
\def RET_IFA_DIR_SENSOR_ERROR
\remark 废液针直流电机传感器读数错误:同时多个传感器触发
\note 1:联系技术支持
2:检查硬剂连接
\def RET_IFA_OP_UNSUPPORT
\remark TODO 报错原因.
\note TODO 建议操作
\def RET_IFA_LIQUID_DETECT_TRIG_BEFORE
\remark TODO 报错原因.
\note TODO 建议操作
*/
#define RET_IFA_DISPENSE_ERROR 0x80013581
#define RET_IFA_DIR_TIMEOUT 0x80013582
#define RET_IFA_DIR_SENSOR_ERROR 0x80013583
#define RET_IFA_OP_UNSUPPORT 0x80013584
#define RET_IFA_LIQUID_DETECT_TRIG_BEFORE 0x80013585
/**@}*/
/**
* \defgroup sstack 0x80013800-0x8001383f: 流式荧光模块(FCM: DSP+FPGA)(0x1800)错误代码
*/
//13800-1381f 划给socket
#define RET_SOCKET_STATUS_ERROR 0x80013800 //SOCKET_ESTABLISHED or SOCKET_CLOSE_WAIT
#define RET_SOCKET_TX_BUFF_NOT_ENOUGH 0x80013801 //socket接口, 本次发送的数据长度,大于剩余的发送缓存
#define RET_SOCKET_SEND_BUSY 0x80013802 //socket正在发送
#define RET_SOCKET_STATE_BUSY 0x80013803 //socket正处于非空闲状态的时候, 设置状态寄存器
#define RET_SOCKET_INIT_FAILED 0x80013804 //socket设置成tcp\udp失败报错
#define RET_FCM_REG_WRITE_FAILED 0x80013020 //DSP写FPGA寄存器失败
#define RET_FCM_REG_XINTF_ERROR 0x80013021 //xintf总线异常,保存与读取值不一致.
#define RET_FCM_W5300_OPERATE_FAILED 0x80013022 //DSP操作w5300失败
#define RET_FCM_ERR_IF_G_01 0x80013023 //FPGA异常
#define RET_FCM_ERR_IF_G_02 0x80013024
#define RET_FCM_ERR_IF_G_03 0x80013025
#define RET_FCM_ERR_IF_G_04 0x80013026
#define RET_FCM_ERR_IF_G_05 0x80013027
#define RET_FCM_ERR_IF_G_06 0x80013028
#define RET_FCM_ERR_IF_G_07 0x80013029
#define RET_FCM_ERR_IF_G_08 0x8001302a
#define RET_FCM_ERR_IF_C 0x8001302b //FPGA 发生 ERR_IF_C
#define RET_FCM_DSP_W5300_INIT_ERR 0x8001302c
#define RET_FCM_DSP_W5300_DATA_WIdTH_ERR 0x8001302d
/**
* \defgroup ACE 0x80018000-0x8001805F: ACE项目的错误代码
*/
/**@{
*/
/*!
\def RET_VALVEFLOAT_TEMP_ERROR
\remark 控温错误
\note TODO 建议操作
\def RET_VALVEFLOAT_LASER_ERROR
\remark 激光器寿命报警
\note TODO 更换激光器
*/
#define RET_ACE_TONGPUREWATER_NOT_CONNECT 0x80018001 //纯水桶未插入
#define RET_ACE_TONGPUREWATER_EMPTY 0x80018002 //纯水桶空
#define RET_ACE_TONGCLEAN_NOT_CONNECT 0x80018003 //清洗液桶未插入
#define RET_ACE_PRESSURE_POSITIVE_ERROR 0x80018004 //正向压力异常
#define RET_ACE_PRESSURE_NEGATIVE_ERROR 0x80018005 //负向压力异常
#define RET_ACE_VACUUMCONTAINER_FL04 0x80018006 //真空罐有积水
#define RET_VALVEFLOAT_TEMP_ERROR 0x80018007
#define RET_VALVEFLOAT_LASER_ERROR 0x80018008
/**@}*/
/**
* \defgroup LAS reaction 0x80018300-0x8001832F: LAS项目反应区的错误代码
* @{
*/
/*!
\def RET_LAS_REACTION_NOT_RESET
\remark 反应区电机未复位
\note 执行动作前需要先复位
\def RET_LAS_REACTION_MOTOR_BUSY
\remark 电机忙
\note 当前指令有电机资源已被占用
\def RET_LAS_REACTION_DEST_HAS_BATTEN
\remark 目标位置有板条
\note 一切交由上位机控制,底层不再判断
\def RET_LAS_REACTION_L1_NOT_IN_POSITION
\remark L1电机不在0位
\note 该动作需要保证L1电机在0位
\def RET_LAS_REACTION_R_NOT_IN_POSITION
\remark R电机不在工作位
\note 该动作需要保证转盘在工作位
\def RET_LAS_REACTION_GET_LATH_FAILED
\remark 取板架失败
\note 1.堆栈板架取出传感器检查下是否正常
\n 2.取之前堆栈传感器未触发,没有板架在传感器位置
\n 3.取之后堆栈传感器触发,取失败
\def RET_LAS_REACTION_PUSH_LATH_FAILED
\remark 板条推入转盘失败
\note 推入转盘后检查该位置传感器为未触发状态
\def RET_LAS_REACTION_DOOR_OPENED
\remark 堆栈门开着不可以操作堆栈电机
\note 关闭堆栈门
\def RET_LAS_REACTION_LX_NOT_IN_POSITION
\remark LX电机不在0位
\note 该动作需要LX电机在0位
\def RET_LAS_REACTION_CAN_NOT_RESET
\remark 当前无法复位
\note 当前电机状态未知,需要下电手动复位几个推杆电机
\def RET_LAS_REACTION_L3_NOT_IN_POSITION
\remark L3电机不在0位
\note 该动作需要L3电机在0位
\def RET_LAS_REACTION_STACK_EMPTY
\remark 堆栈没有板架了
\note 请添加板架
\def RET_LAS_REACTION_STACK_EMPTY
\remark 堆栈没有板架了
\note 请添加板架
\def RET_LAS_REACTION_STACK_NOT_INITTED
\remark 堆栈未初始化
\note 复位并扫描堆栈
\def RET_LAS_REACTION_L2_NOT_IN_POSITION
\remark L2电机不在0位
\note 该动作需要L2电机在0位
\def RET_LAS_REACTION_STACK_BUSY
\remark 堆栈电机忙
\note 等待堆栈动作完成后再执行堆栈指令
\def RET_LAS_REACTION_VOLUME_OUT_BOUND
\remark 吸液打液量超出最大范围
\note 吸液打液量越界
\def RET_LAS_REACTION_DROP_NO_ENOUGH_LIQUID
\remark 打液液体量比已吸液体量少
\note 打液量大于吸液量
\def RET_LAS_REACTION_STOP_SHAKE_TIMEOUT
\remark 停温育震荡动作超时
\note 记录日志,联系工程师
\def RET_LAS_REACTION_CHANGE_SHAKE_BUSY
\remark 重复发停止温育指令
\note 上一条停止指令未完成
\def RET_LAS_REACTION_LIQUID_NOT_ENOUGH
\remark 瓶中液体量不足
\note 及时添加
\def RET_LAS_REACTION_L4_NOT_IN_POSITION
\remark L4电机不在0位
\note 该动作需要L4电机在0位
\def RET_LAS_REACTION_LY_NOT_IN_POSITION
\remark LY电机不在0位
\note 该动作需要LY电机在0位
\def RET_LAS_REACTION_MOTOR_SEM_TIMEOUT
\remark 电机信号量超时
\note 联系工程师
*/
#define RET_LAS_REACTION_NOT_RESET 0x80018301 //反应区电机未复位
#define RET_LAS_REACTION_MOTOR_BUSY 0x80018302 //电机忙
#define RET_LAS_REACTION_DEST_HAS_BATTEN 0x80018303 //目标区有板条(不再使用)
#define RET_LAS_REACTION_L1_NOT_IN_POSITION 0x80018304 //L1电机不在0位
#define RET_LAS_REACTION_R_NOT_IN_POSITION 0x80018305 //转盘不在工作位
#define RET_LAS_REACTION_GET_LATH_FAILED 0x80018306 //取板条失败
#define RET_LAS_REACTION_PUSH_LATH_FAILED 0x80018307 //推板条入转盘失败
#define RET_LAS_REACTION_DOOR_OPENED 0x80018308 //堆栈门开着
#define RET_LAS_REACTION_LX_NOT_IN_POSITION 0x80018309 //LX电机不在0位
#define RET_LAS_REACTION_DEST_NOT_INITTED 0x8001830a //目标区未扫描(不再使用)
#define RET_LAS_REACTION_CAN_NOT_RESET 0x8001830b //当前位置无法复位
#define RET_LAS_REACTION_L3_NOT_IN_POSITION 0x8001830c //L3电机不在0位
#define RET_LAS_REACTION_STACK_EMPTY 0x8001830d //堆栈空
#define RET_LAS_REACTION_STACK_NOT_INITTED 0x8001830f //堆栈未扫描
#define RET_LAS_REACTION_L2_NOT_IN_POSITION 0x80018310 //L2不在0位
#define RET_LAS_REACTION_STACK_BUSY 0x80018311 //堆栈忙
#define RET_LAS_REACTION_GET_LATH_EMPTY 0x80018312 //连续两次取上的板条架都没有板条
#define RET_LAS_REACTION_SRC_NOT_INITTED 0x80018313 //源区域未扫描(不再使用)
#define RET_LAS_REACTION_VOLUME_OUT_BOUND 0x80018314 //吸液打液液体量越界
#define RET_LAS_REACTION_DROP_NO_ENOUGH_LIQUID 0x80018315 //打液液体量不足
#define RET_LAS_REACTION_STOP_SHAKE_TIMEOUT 0x80018316 //停止振动超时
#define RET_LAS_REACTION_CHANGE_SHAKE_BUSY 0x80018317 //重复发停止振动指令
#define RET_LAS_REACTION_LIQUID_NOT_ENOUGH 0x80018318 //瓶中液体量不足
#define RET_LAS_REACTION_LY_NOT_IN_POSITION 0x80018319 //LY电机不在0位
#define RET_LAS_REACTION_L4_NOT_IN_POSITION 0x8001831a //L4电机不在0位
#define RET_LAS_REACTION_MOTOR_SEM_TIMEOUT 0x8001831b //电机信号量获取超时
/**
* \defgroup general 0x80018500 - 0x8001851f: FISH主控错误代码
* @{
*/
/*! \def RET_FISH_RCT_NOT_INIT
\remark 反应区未复位
\note 请复位反应区
\def RET_FISH_ARM_NOT_INIT
\remark 臂组未复位
\note 请复位臂组
\def RET_FISH_RCT_BUSY
\remark 反应区忙
\note 等待上一条指令返回
\def RET_FISH_INVALID_CONFIG
\remark 无效配置参数
\note 检查配置有效性
\def RET_FISH_CHAMBER_MOVE
\remark 24孔板倾斜放平出错
\note 检查直流电机及其传感器
\def RET_FISH_CHAMBER_STATE
\remark 24孔板直流电机的零限位传感器都触发
\note 检查传感器
\def RET_FISH_RCT_ARM_CONFLICT
\remark 做进行的操作与清洗臂状态冲突
\note 1.加样臂去反应区时清洗臂的Y不在待机位
\n 2.倾斜反应舱时清洗臂的Z不在零位
\n 3.开关门时清洗臂的Z不在零位
\def RET_FISH_RCT_DOOR_CONFLICT
\remark 做进行的操作与开关门状态冲突
\note 1.加样臂去反应区时开关门状态为非开门状态
\n 2.清洗臂洗针(预处理)时门是关着的
\n 3.清洗臂吸、加液时门是关着的
\n 4.反应舱倾斜时门是关着的
\def RET_FISH_RCT_CHAMBER_CONFLICT
\remark 做进行的操作与反应舱(加液板)状态冲突
\note 1.加样臂去反应区时反应区加液板是倾斜的
\n 2.开关门时反应舱是倾斜的
\n 3.清洗臂吸、加液时反应舱没有倾斜
\def RET_FISH_INJECT_ARM_CONFLICT
\remark 做进行的操作与加样臂冲突
\note 1.加样臂在反应区且其Z不在零位,清洗臂要移动时报错
\def RET_FISH_REMAIN_VOLUME_NOT_GET
\remark 计算液体剩余量时出错(查表法)
\note 1.检查配置文件中剩余量的设置
*/
#define RET_FISH_RCT_NOT_INIT 0x80018501
#define RET_FISH_ARM_NOT_INIT 0x80018502
#define RET_FISH_RCT_BUSY 0x80018503
#define RET_FISH_INVALID_CONFIG 0x80018504
#define RET_FISH_CHAMBER_MOVE 0x80018505
#define RET_FISH_CHAMBER_STATE 0x80018506
#define RET_FISH_RCT_ARM_CONFLICT 0x80018507
#define RET_FISH_RCT_DOOR_CONFLICT 0x80018508
#define RET_FISH_RCT_CHAMBER_CONFLICT 0x80018509
#define RET_FISH_INJECT_ARM_CONFLICT 0x8001850A
#define RET_FISH_REMAIN_VOLUME_NOT_GET 0x8001850B
/**@}*/
/**
* \defgroup general 0x80018590 - 0x8001859f: PAM轨道模块错误代码
* @{
*/
/*!
\def RET_PAM_TRAY_SAM_NOT_READY
\remark 放样区轨道还未准备好
\note
\def RET_PAM_TRAY_RCYC_HAS_TUBE
\remark 回收区已经有试管架
\note
\def RET_PAM_TRAY_RCYC_FULL
\remark 回收区已满
\note
*/
#define RET_PAM_TRAY_SAM_NOT_READY 0x80018590 //放样区轨道还未准备好
#define RET_PAM_TRAY_RCYC_HAS_TUBE 0x80018591 //回收区已经有试管架
#define RET_PAM_TRAY_RCYC_FULL 0x80018592 //回收区已满
/**@}*/
/**
* \defgroup general 0x80018530 - 0x8001853f: 0x1870 泵阀控制模块错误代码
* @{
*/
/*!
\def RET_PUMPEXT_PRESSURE_UPPERLIMIT
\remark 压力传感器超过上限阈值
\note
\def RET_PUMPEXT_PRESSURE_LIMIT_LOW
\remark 压力传感器低于下限阈值(压力已建立)
\note
\def RET_PUMPEXT_PRESSURE_NOT_BUILD_UP
\remark 压力传感器在指定时间内未达到指定压力
\note
*/
#define RET_PUMPEXT_PRESSURE_LIMIT_UPPER 0x80018530
#define RET_PUMPEXT_PRESSURE_LIMIT_LOW 0x80018531
#define RET_PUMPEXT_PRESSURE_NOT_BUILD_UP 0x80018532
/**@}*/
//****************************************************************************
// 软件组错误ID分配
// 杭州软件组特有ID范围0x80022000~0x80022FFF
// 通用ID0x80022000~0x800220FF //共256个
// TVC ID0x80022100~0x8002211F //共32个
// FMC ID0x80022120~0x8002212F //共16个
// DRC ID: 0x80022130~0x8002214F //共32个
//****************************************************************************/
/**
* \defgroup HZKK reaction 0x80022000-0x80022FFF
*/
/**@{
*/
//杭州软件组通用ID
#define RET_FILE_PROPERTY_ISERROR 0x80022000 //配置文件参数错误
#define RET_CMD_IS_BUSY 0x80022001 //指令忙(上一条指令尚未解析完)
#define RET_Counter_Full 0x80022002 //计数器已满、已达阈值
#define RET_MODULE_IS_BUSY RET_OS_MODULE_BUSY //模块忙(上一条指令尚未执行完成)
#define RET_TASK_IS_BUSY 0x80022004 //任务忙
#define RET_DEVICE_IS_LOCKED 0x80022005 //硬件资源被其他任务或模块暂用
#define RET_MODULE_IS_Not_Init 0x80022006 //对应功能没有初始化
#define RET_Init_Not_ready 0x80022007 //对应需求功能尚未初始化完成
#define RET_Motor_IS_Not_Init 0x80022008 //对应电机没有初始化
//TVC 项目特有ID 0x80022100~0x8002211F
#define RET_TVC_Sensor_Counter 0x80022100 //计数器传感器触发
#define RET_TVC_Sensor_Empty 0x80022101 //空仓传感器触发
#define RET_TVC_Sensor_Full 0x80022102 //满仓传感器触发
#define RET_TVC_Sensor_3step 0x80022103 //三阶传感器触发
#define RET_TVC_Sensor_2step 0x80022104 //二阶传感器触发
#define RET_TVC_Sensor_1step 0x80022105 //一阶传感器触发
#define RET_TVC_Sensor_Drop 0x80022106 //cup掉杯1传感器触发
#define RET_SENSOR_catch_Error 0x80022107 //夹紧电机传感器触发
#define RET_SENSOR_door_Error 0x80022108 //门传感器触发
#define RET_SENSOR_up_Error 0x80022109 //
#define RET_SENSOR_down_Error 0x8002210A
#define RET_SENSOR_getbox_Error 0x8002210B
#define RET_SENSOR_outbox_Error 0x8002210C
//#define RET_TVC_
//FMC 项目特有ID 0x80022120~0x8002212F
//DRC 项目特有ID 0x80022130~0x8002214F
#define RET_DRC_INJECT_FAILE 0x80022130
#define RET_DRC_SUCKWASTE_POINT_ERROR 0x80022131
#define RET_DRC_SUCK_EXCEPTION 0x80022132
#define RET_DRC_DUAL_NORESPONSE 0x80022133
#define RET_DRC_TONGCLEANWATER_FULL 0x80022134 //洗涤液满
#define RET_DRC_TONGPUREWATER_EMPTY RET_ACE_TONGPUREWATER_EMPTY //纯水桶空
#define RET_DRC_TONGWASTEWATER_EMPTY RET_RD_PIPE_NO_WASTE_BOTTLE //废液桶未插入
#define RET_DRC_TONGWASTEWATER_FULL RET_RD_PIPE_WASTE_BOTTLE_FULL //废液桶满
#define RET_DRC_MOTOR_NOT_INIT RET_Motor_IS_Not_Init //电机未复位
#define RET_DRC_TONGCLEANWATER_EMPTY RET_CLIA_MSlIQUID_EMPTY //洗涤液空
/**@}*/
/*#define RET_UNSUPPORTED 0x01
#define RET_UNKNOWN_CMD 0x02
#define RET_INVALID_PARAM 0x03
#define RET_DEPRECATED 0x04
#define RET_SERIAL_EXISTS 0x05
#define RET_INVALID_SLAVE_ADDR 0x06
#define RET_BUFFER_FULL 0x10
#define RET_DEVICE_BUSY 0x11
#define RET_LOAD_FAILED 0x12
#define RET_STORE_FAILED 0x13
#define RET_USER_ABORT 0x14
#define RET_DEVICE_RESET 0x15
#define RET_DEVICE_POWER_OFF 0x16
#define RET_BUFFER_EMPTY 0x17
#define RET_BUFFER_WAIT 0x18
#define RET_UART_TIMEOUT 0x19
#define RET_UART_BUSY 0x1a
#define RET_CONFIG_NOT_LOADED 0x1b
#define RET_DATA_TYPE_MISMATCH 0x1c
#define RET_DEVICE_NOT_EXISTS 0x1d
#define RET_I2C_FAIL 0x20 // crc error or i2c buffer full
#define RET_I2C_FRAME_ERR 0x21
#define RET_I2C_TIMEOUT 0x22
#define RET_CRITICAL_TIMEOUT 0x23
#define RET_CRITICAL_ACCESS_DENY 0x24
#define RET_CRITICAL_FAILED 0x25
#define RET_PLATE_COVER_CLOSED 0x26
#define RET_WASTE_NOT_DETECTED 0x27
#define RET_PLATE_NOT_DETECTED 0x28
#define RET_CUVETTE_NOT_DETECTED 0x29
#define RET_SPI_TIMEOUT 0x2a
#define RET_I2C_CONFIG_TIMEOUT 0x2b
#define RET_I2C_CRC_ERR 0x2c
#define RET_TIP_NOT_FOUND 0x51 // 搜索吸头失败
#define RET_METHOD_MISMATCH 0x4a // 量程适配器不匹配
#define RET_WASHUNIT_TIMEOUT 0x60
#define RET_WASHUNIT_FAILED 0x61
#define RET_STOP_PRESSED 0x80
#define RET_DEVICE_NOT_INIT 0x81
#define RET_SENSOR_FAILED 0x82
#define RET_PROTECT_SENSOR_TOGGLE 0x83
#define RET_TIP_DROP 0x84
#define RET_ARM_NOT_INIT 0x85
#define RET_X9313_FAILED 0x86
#define RET_PRESSURE_TIMEOUT 0x87
#define RET_BARCODE_LASER_FAILED 0x88
#define RET_COORD_OUT_BOUND 0x90
#define RET_COORD_LOSTSTEP_FWD 0x91
#define RET_COORD_LOSTSTEP_RVS 0x92
#define RET_MOTOR_TIMEOUT 0x93
#define RET_SLAVE_CMD_TIMEOUT 0x94
#define RET_SLAVE_CMD_FAILED 0x95*/
/**
* \addtogroup other 其他代码
* @{
*/
/*!
\def RET_ERR_UNKNOWN
\remark TODO 报错原因.
\note TODO 建议操作
*/
#define RET_ERR_UNKNOWN 0xffffffff
/**@}*/
#define RET_IO_EXT_NOT_INIT 0x800A0001
#endif