ModBus-RTU 协议使用的是主从请求应答通讯方式,协议帧包括了功能码、数据域、和 CRC16 校验。 ModBus-RTU 主控单元通过读写 ROH 灵巧手内部寄存器来实现对灵巧手的状态获取和控制。 读寄存器是指上位系统读取 ROH 灵巧手内部寄存器数值(可成组读取,成组的是指若干名称相同地址相邻寄存器),上位系统向 ROH 灵巧手发送读请求帧(包含寄存器组首地址、寄存器组的长度等内容),ROH 灵巧手收到请求帧并校验成功后,灵巧手将包含寄存器数据内容的应答帧返回给上位系统。 写寄存器是指上位系统向 ROH 灵巧手内部寄存器写入相应的数据(可成组写入),上位系统向 ROH 灵巧手发送写请求帧(包含寄存器组首地址、欲写入的数据内容)发送给灵巧手,ROH 灵巧手收到请求帧并校验成功后,返回应答帧给上位系统。
ROH ModBus 协议支持 读取保持寄存器(功能码 0x03)、预置单寄存器(功能码 0x06)、预置多寄存器(功能码 0x10)操作。
RS232、RS485 通讯参数都是 115200bps、8 数据位、1 停止位、无奇偶校验。
主站请求帧格式:
从站地址 | 功能码 | 起始寄存器(高位) | 起始寄存器(低位) | 寄存器数量(高位) | 寄存器数量(低位) | CRC16 |
---|---|---|---|---|---|---|
0x11 | 0x03 | 0x6B | 0x00 | 0x00 | 0x02 | XXXX |
含义:读 17 号(0x11)号从站保持寄存器,起始地址=0x006B;寄存器个数=0x0002,结束地址=0x006B+2-1=0x006C,即读 17 号从站保持寄存器 0x006B-0x006C,共两个寄存器。
从站应答帧格式:
从站地址 | 功能码 | 字节计数 | 寄存器(高位) | 寄存器(低位) | 寄存器(高位) | 寄存器(低位) | CRC16 |
---|---|---|---|---|---|---|---|
0x11 | 0x03 | 0x04 | 0x00 | 0x01 | 0x00 | 0x02 | XXXX |
含义:返回 17(0x11)号从站保持寄存器 0x006B-0x006C,共两个寄存器,0x006B 寄存器数值是 0x0001,0x0062 寄存器数值是 0x0002。
从站执行请求帧发生错误时,应答帧格式:
从站地址 | 功能码 | 错误码 | CRC16 |
---|---|---|---|
0x11 | 0x83 | XX | XXXX |
其中,功能码为请求帧功能码和 0x80 位或后的值。
主站请求帧格式:
从站地址 | 功能码 | 起始寄存器(高位) | 起始寄存器(低位) | 数据内容(高位) | 数据内容量(低位) | CRC16 |
---|---|---|---|---|---|---|
0x11 | 0x06 | 0x00 | 0x6B | 0x10 | 0x00 | XXXX |
含义:设置 17 号(0x11)号从站保持寄存器,寄存器地址 0x006B,数据内容是 0x1000。
从站应答帧格式:
从站地址 | 功能码 | 起始寄存器(高位) | 起始寄存器(低位) | 数据内容(高位) | 数据内容量(低位) | CRC16 |
---|---|---|---|---|---|---|
0x11 | 0x06 | 0x00 | 0x6B | 0x10 | 0x00 | XXXX |
含义:为请求帧的原样复制。
从站执行请求帧发生错误时,应答帧格式:
从站地址 | 功能码 | 错误码 | CRC16 |
---|---|---|---|
0x11 | 0x86 | XX | XXXX |
其中,功能码为请求帧功能码和 0x80 位或后的值。
主站请求帧格式:
从站地址 | 功能码 | 起始寄存器(高位) | 起始寄存器(低位) | 寄存器数量(高位) | 寄存器数量(低位) | 字节计数 | 数据(高位) | 数据(低位) | 数据(高位) | 数据(低位) | CRC16 |
---|---|---|---|---|---|---|---|---|---|---|---|
0x11 | 0x10 | 0x00 | 0x01 | 0x00 | 0x02 | 0x04 | 0x00 | 0x0A | 0x01 | 0x02 | XXXX |
含义:设置 17 号(0x11)号从站保持寄存器,寄存器起始地址 0x0001,寄存器个数为 0x0002,数据内容字节计数是 0x04,数据内容分别是 0x000A、0x0102。
从站应答帧格式:
从站地址 | 功能码 | 起始寄存器(高位) | 起始寄存器(低位) | 寄存器数量(高位) | 寄存器数量(低位) | CRC16 |
---|---|---|---|---|---|---|
0x11 | 0x10 | 0x00 | 0x01 | 0x00 | 0x02 | XXXX |
含义:从站地址、功能码 、起始寄存器、寄存器数量和请求帧保持一致。
从站执行请求帧发生错误时,应答帧格式:
从站地址 | 功能码 | 错误码 | CRC16 |
---|---|---|---|
0x11 | 0x90 | XX | XXXX |
其中,功能码为请求帧功能码和 0x80 位或后的值。
错误名 | 代码 | 说明 |
---|---|---|
EC01_ILLEGAL_FUNCTION | 1 | 无效的功能码 |
EC02_ILLEGAL_DATA_ADDRESS | 2 | 无效的数据地址 |
EC03_ILLEGAL_DATA_VALUE | 3 | 无效的数据(协议层,非应用层) |
EC04_SERVER_DEVICE_FAILURE | 4 | 设备故障 |
在错误码为 EC04_SERVER_DEVICE_FAILURE 的情况下,寄存器 ROH_SUB_EXCEPTION 保存了具体的错误代码:
子错误名 | 代码 | 说明 |
---|---|---|
ERR_STATUS_INIT | 1 | 等待初始化或者正在初始化,不接受此读写操作 |
ERR_STATUS_CALI | 2 | 等待校正,不接受此读写操作 |
ERR_INVALID_DATA | 3 | 无效的寄存器值 |
ERR_STATUS_STUCK | 4 | 电机堵转 |
ERR_OP_FAILED | 5 | 操作失败 |
ERR_SAVE_FAILED | 6 | 保存失败 |
寄存器名称 | 寄存器地址 | 读/写权限 | 设置项的出厂默认值 | 说明 |
---|---|---|---|---|
ROH_PROTOCOL_VERSION | 1000 | R | 协议版本号(uint16),高字节为主版本号,低字节为次版本号 | |
ROH_FW_VERSION | 1001 | R | 固件版本号(uint16),高字节为主版本号,低字节为次版本号 | |
ROH_FW_REVISION | 1002 | R | 固件修订版本号(uint16) | |
ROH_HW_VERSION | 1003 | R | 硬件版本号(uint16),高字节为硬件类型,低字节为硬件版本 | |
ROH_BOOT_VERSION | 1004 | R | boot loader 版本号(uint6),高字节为主版本号,低字节为次版本号 | |
ROH_NODE_ID | 1005 | R/W | 2 | ROH 灵巧手 ID,仅低 8 位有效,写入成功后 ROH 会保存并重启 |
ROH_SUB_EXCEPTION | 1006 | R | 错误子代码 | |
ROH_BATTERY_VOLTAGE | 1007 | R | ROH 电压值,单位 mV,暂时不可用 | |
ROH_SELF_TEST_LEVEL | 1008 | R/W | 1 | 开机自检开关,设成 0 时等待 ROH_START_INIT 写 1 自检,设成 1 时允许开机归零,设成 2 时允许开机完整自检,设置时保存到非易失存储器 |
ROH_BEEP_SWITCH | 1009 | R/W | 1 | 蜂鸣器开关,设成 1 时允许发声,设成 0 时蜂鸣器静音,设置时保存到非易失存储器 |
ROH_BEEP_PERIOD | 1010 | W | 蜂鸣器发声,单位毫秒 | |
ROH_BUTTON_PRESS_CNT | 1011 | R/W | 按键按下次数,对 ROH 而言是作为校正时确认用 | |
ROH_RECALIBRATE | 1012 | W | 重新校正,写入特定值(非公开)会让 ROH 灵巧手进入校正状态 | |
ROH_START_INIT | 1013 | W | 开始自检,仅等待自检状态下有效 | |
ROH_RESET | 1014 | W | 复位,写入非 0 值时进入 DFU 模式,写入 0 时重启到工作模式 | |
ROH_POWER_OFF | 1015 | W | 关机,暂时不可用 | |
ROH_RESERVED0 | 1016 | R/W | 保留 | |
ROH_RESERVED1 | 1017 | R/W | 保留 | |
ROH_RESERVED2 | 1018 | R/W | 保留 | |
ROH_RESERVED3 | 1019 | R/W | 保留 | |
ROH_CALI_END0 | 1020 | R/W | 出厂校正值 | 大拇指运行区间(绝对位置)上限(uint16),设置时保存到非易失存储器,用户无需设置 |
ROH_CALI_END1 | 1021 | R/W | 出厂校正值 | 食指运行区间(绝对位置)上限(uint16),设置时保存到非易失存储器,用户无需设置 |
ROH_CALI_END2 | 1022 | R/W | 出厂校正值 | 中指运行区间(绝对位置)上限(uint16),设置时保存到非易失存储器,用户无需设置 |
ROH_CALI_END3 | 1023 | R/W | 出厂校正值 | 无名指运行区间(绝对位置)上限(uint16),设置时保存到非易失存储器,用户无需设置 |
ROH_CALI_END4 | 1024 | R/W | 出厂校正值 | 小指运行区间(绝对位置)上限(uint16),设置时保存到非易失存储器,用户无需设置 |
ROH_CALI_END5 | 1025 | R/W | 出厂校正值 | 大拇指旋转运行区间(绝对位置)上限(uint16),设置时保存到非易失存储器,用户无需设置 |
ROH_CALI_END6 | 1026 | R/W | 保留 | |
ROH_CALI_END7 | 1027 | R/W | 保留 | |
ROH_CALI_END8 | 1028 | R/W | 保留 | |
ROH_CALI_END9 | 1029 | R/W | 保留 | |
ROH_CALI_START0 | 1030 | R/W | 出厂校正值 | 大拇指运行区间(绝对位置)下限(uint16),设置时保存到非易失存储器,用户无需设置 |
ROH_CALI_START1 | 1031 | R/W | 出厂校正值 | 食指运行区间(绝对位置)下限(uint16),设置时保存到非易失存储器,用户无需设置 |
ROH_CALI_START2 | 1032 | R/W | 出厂校正值 | 中指运行区间(绝对位置)下限(uint16),设置时保存到非易失存储器,用户无需设置 |
ROH_CALI_START3 | 1033 | R/W | 出厂校正值 | 无名指运行区间(绝对位置)下限(uint16),设置时保存到非易失存储器,用户无需设置 |
ROH_CALI_START4 | 1034 | R/W | 出厂校正值 | 小指运行区间(绝对位置)下限(uint16),设置时保存到非易失存储器,用户无需设置 |
ROH_CALI_START5 | 1035 | R/W | 出厂校正值 | 大拇指旋转运行区间(绝对位置)下限(uint16),设置时保存到非易失存储器,用户无需设置 |
ROH_CALI_START6 | 1036 | R/W | 保留 | |
ROH_CALI_START7 | 1037 | R/W | 保留 | |
ROH_CALI_START8 | 1038 | R/W | 保留 | |
ROH_CALI_START9 | 1039 | R/W | 保留 | |
ROH_CALI_THUMB_POS0 | 1040 | R/W | 出厂校正值 | 大拇指侧掌位预设位置(绝对位置,uint16),设置时保存到非易失存储器,用户无需设置 |
ROH_CALI_THUMB_POS1 | 1041 | R/W | 出厂校正值 | 大拇指对掌位 1 预设位置(绝对位置,uint16),设置时保存到非易失存储器,用户无需设置 |
ROH_CALI_THUMB_POS2 | 1042 | R/W | 出厂校正值 | 大拇指对掌位 2 预设位置(绝对位置,uint16),设置时保存到非易失存储器,用户无需设置 |
ROH_CALI_THUMB_POS3 | 1043 | R/W | 保留 | |
ROH_CALI_THUMB_POS4 | 1044 | R/W | 保留 | |
ROH_FINGER_P0 | 1045 | R/W | 500 * 100 | 大拇指弯曲 P 值*100(uint16),设置时保存到非易失存储器 |
ROH_FINGER_P1 | 1046 | R/W | 500 * 100 | 食指弯曲 P 值*100(uint16),设置时保存到非易失存储器 |
ROH_FINGER_P2 | 1047 | R/W | 500 * 100 | 中指弯曲 P 值*100(uint16),设置时保存到非易失存储器 |
ROH_FINGER_P3 | 1048 | R/W | 500 * 100 | 无名指弯曲 P 值*100(uint16),设置时保存到非易失存储器 |
ROH_FINGER_P4 | 1049 | R/W | 500 * 100 | 小指弯曲 P 值*100(uint16),设置时保存到非易失存储器 |
ROH_FINGER_P5 | 1050 | R/W | 500 * 100 | 大拇指旋转 P 值*100(uint16),设置时保存到非易失存储器 |
ROH_FINGER_P6 | 1051 | R/W | 保留 | |
ROH_FINGER_P7 | 1052 | R/W | 保留 | |
ROH_FINGER_P8 | 1053 | R/W | 保留 | |
ROH_FINGER_P9 | 1054 | R/W | 保留 | |
ROH_FINGER_I0 | 1055 | R/W | 1 * 100 | 大拇指弯曲 I 值*100(uint16),设置时保存到非易失存储器 |
ROH_FINGER_I1 | 1056 | R/W | 1 * 100 | 食指弯曲 I 值*100(uint16),设置时保存到非易失存储器 |
ROH_FINGER_I2 | 1057 | R/W | 1 * 100 | 中指弯曲 I 值*100(uint16),设置时保存到非易失存储器 |
ROH_FINGER_I3 | 1058 | R/W | 1 * 100 | 无名指弯曲 I 值*100(uint16),设置时保存到非易失存储器 |
ROH_FINGER_I4 | 1059 | R/W | 1 * 100 | 小指弯曲 I 值*100(uint16),设置时保存到非易失存储器 |
ROH_FINGER_I5 | 1060 | R/W | 1 * 100 | 大拇指旋转 I 值*100(uint16),设置时保存到非易失存储器 |
ROH_FINGER_I6 | 1061 | R/W | 保留 | |
ROH_FINGER_I7 | 1062 | R/W | 保留 | |
ROH_FINGER_I8 | 1063 | R/W | 保留 | |
ROH_FINGER_I9 | 1064 | R/W | 保留 | |
ROH_FINGER_D0 | 1065 | R/W | 250 * 100 | 大拇指弯曲 D 值*100(uint16),设置时保存到非易失存储器 |
ROH_FINGER_D1 | 1066 | R/W | 250 * 100 | 食指弯曲 D 值*100(uint16),设置时保存到非易失存储器 |
ROH_FINGER_D2 | 1067 | R/W | 250 * 100 | 中指弯曲 D 值*100(uint16),设置时保存到非易失存储器 |
ROH_FINGER_D3 | 1068 | R/W | 250 * 100 | 无名指弯曲 D 值*100(uint16),设置时保存到非易失存储器 |
ROH_FINGER_D4 | 1069 | R/W | 250 * 100 | 小指弯曲 D 值*100(uint16),设置时保存到非易失存储器 |
ROH_FINGER_D5 | 1070 | R/W | 250 * 100 | 大拇指旋转 D 值*100(uint16),设置时保存到非易失存储器 |
ROH_FINGER_D6 | 1071 | R/W | 保留 | |
ROH_FINGER_D7 | 1072 | R/W | 保留 | |
ROH_FINGER_D8 | 1073 | R/W | 保留 | |
ROH_FINGER_D9 | 1074 | R/W | 保留 | |
ROH_FINGER_G0 | 1075 | R/W | 1.00 * 100 | 大拇指弯曲 G 值*100(uint16),设置时保存到非易失存储器 |
ROH_FINGER_G1 | 1076 | R/W | 0.10 * 100 | 食指弯曲 G 值*100(uint16),设置时保存到非易失存储器 |
ROH_FINGER_G2 | 1077 | R/W | 0.10 * 100 | 中指弯曲 G 值*100(uint16),设置时保存到非易失存储器 |
ROH_FINGER_G3 | 1078 | R/W | 0.10 * 100 | 无名指弯曲 G 值*100(uint16),设置时保存到非易失存储器 |
ROH_FINGER_G4 | 1079 | R/W | 0.10 * 100 | 小指弯曲 G 值*100(uint16),设置时保存到非易失存储器 |
ROH_FINGER_G5 | 1080 | R/W | 1.00 * 100 | 大拇指旋转 G 值*100(uint16),设置时保存到非易失存储器 |
ROH_FINGER_G6 | 1081 | R/W | 保留 | |
ROH_FINGER_G7 | 1082 | R/W | 保留 | |
ROH_FINGER_G8 | 1083 | R/W | 保留 | |
ROH_FINGER_G9 | 1084 | R/W | 保留 | |
ROH_FINGER_STATUS0 | 1085 | R | 大拇指状态(uint16) | |
ROH_FINGER_STATUS1 | 1086 | R | 食指状态(uint16) | |
ROH_FINGER_STATUS2 | 1087 | R | 中指状态(uint16) | |
ROH_FINGER_STATUS3 | 1088 | R | 无名指状态(uint16) | |
ROH_FINGER_STATUS4 | 1089 | R | 小指状态(uint16) | |
ROH_FINGER_STATUS5 | 1090 | R | 大拇指旋转状态(uint16) | |
ROH_FINGER_STATUS6 | 1091 | R | 保留 | |
ROH_FINGER_STATUS7 | 1092 | R | 保留 | |
ROH_FINGER_STATUS8 | 1093 | R | 保留 | |
ROH_FINGER_STATUS9 | 1094 | R | 保留 | |
ROH_FINGER_CURRENT_LIMIT0 | 1095 | R/W | 1200 | 大拇指弯曲电机电流限制值(uint16),单位 mA,开机时恢复为默认值 |
ROH_FINGER_CURRENT_LIMIT1 | 1096 | R/W | 1200 | 食指弯曲电机电流限制值(uint16),单位 mA,开机时恢复为默认值 |
ROH_FINGER_CURRENT_LIMIT2 | 1097 | R/W | 1200 | 中指弯曲电机电流限制值(uint16),单位 mA,开机时恢复为默认值 |
ROH_FINGER_CURRENT_LIMIT3 | 1098 | R/W | 1200 | 无名指弯曲电机电流限制值(uint16),单位 mA,开机时恢复为默认值 |
ROH_FINGER_CURRENT_LIMIT4 | 1099 | R/W | 1200 | 小指弯曲电机电流限制值(uint16),单位 mA,开机时恢复为默认值 |
ROH_FINGER_CURRENT_LIMIT5 | 1100 | R/W | 1200 | 大拇指旋转电机电流限制值(uint16),单位 mA,开机时恢复为默认值 |
ROH_FINGER_CURRENT_LIMIT6 | 1101 | R/W | 保留 | |
ROH_FINGER_CURRENT_LIMIT7 | 1102 | R/W | 保留 | |
ROH_FINGER_CURRENT_LIMIT8 | 1103 | R/W | 保留 | |
ROH_FINGER_CURRENT_LIMIT9 | 1104 | R/W | 保留 | |
ROH_FINGER_CURRENT0 | 1105 | R | 大拇指弯曲电机电流值(uint16),单位 mA | |
ROH_FINGER_CURRENT1 | 1106 | R | 食指弯曲电机电流值(uint16),单位 mA | |
ROH_FINGER_CURRENT2 | 1107 | R | 中指弯曲电机电流值(uint16),单位 mA | |
ROH_FINGER_CURRENT3 | 1108 | R | 无名指弯曲电机电流值(uint16),单位 mA | |
ROH_FINGER_CURRENT4 | 1109 | R | 小指弯曲电机电流值(uint16),单位 mA | |
ROH_FINGER_CURRENT5 | 1110 | R | 大拇指旋转电机电流值(uint16),单位 mA | |
ROH_FINGER_CURRENT6 | 1111 | R | 保留 | |
ROH_FINGER_CURRENT7 | 1112 | R | 保留 | |
ROH_FINGER_CURRENT8 | 1113 | R | 保留 | |
ROH_FINGER_CURRENT9 | 1114 | R | 保留 | |
ROH_FINGER_FORCE_LIMIT0 | 1115 | R/W | 15000 | 大拇指力量限制值(uint16),单位 mN,开机时恢复为默认值 |
ROH_FINGER_FORCE_LIMIT1 | 1116 | R/W | 15000 | 食指力量限制值(uint16),单位 mN,开机时恢复为默认值 |
ROH_FINGER_FORCE_LIMIT2 | 1117 | R/W | 15000 | 中指力量限制值(uint16),单位 mN,开机时恢复为默认值 |
ROH_FINGER_FORCE_LIMIT3 | 1118 | R/W | 15000 | 无名指力量限制值(uint16),单位 mN,开机时恢复为默认值 |
ROH_FINGER_FORCE_LIMIT4 | 1119 | R/W | 15000 | 小指力量限制值(uint16),单位 mN,开机时恢复为默认值 |
ROH_FINGER_FORCE0 | 1120 | R | 大拇指力量值(uint16),单位 mN | |
ROH_FINGER_FORCE1 | 1121 | R | 食指力量值(uint16),单位 mN | |
ROH_FINGER_FORCE2 | 1122 | R | 中指力量值(uint16),单位 mN | |
ROH_FINGER_FORCE3 | 1123 | R | 无名指力量值(uint16),单位 mN | |
ROH_FINGER_FORCE4 | 1124 | R | 小指力量值(uint16),单位 mN | |
ROH_FINGER_SPEED0 | 1125 | R/W | 65535 | 大拇指弯曲逻辑速度(uint16),单位 逻辑位置/秒,开机时恢复为默认值 |
ROH_FINGER_SPEED1 | 1126 | R/W | 65535 | 食指弯曲逻辑速度(uint16),单位 逻辑位置/秒,开机时恢复为默认值 |
ROH_FINGER_SPEED2 | 1127 | R/W | 65535 | 中指弯曲逻辑速度(uint16),单位 逻辑位置/秒,开机时恢复为默认值 |
ROH_FINGER_SPEED3 | 1128 | R/W | 65535 | 无名指弯曲逻辑速度(uint16),单位 逻辑位置/秒,开机时恢复为默认值 |
ROH_FINGER_SPEED4 | 1129 | R/W | 65535 | 小指弯曲逻辑速度(uint16),单位 逻辑位置/秒,开机时恢复为默认值 |
ROH_FINGER_SPEED5 | 1130 | R/W | 65535 | 大拇旋转指逻辑速度(uint16),单位 逻辑位置/秒,开机时恢复为默认值 |
ROH_FINGER_SPEED6 | 1131 | R/W | 保留 | |
ROH_FINGER_SPEED7 | 1132 | R/W | 保留 | |
ROH_FINGER_SPEED8 | 1133 | R/W | 保留 | |
ROH_FINGER_SPEED9 | 1134 | R/W | 保留 | |
ROH_FINGER_POS_TARGET0 | 1135 | R/W | 大拇指弯曲逻辑目标位置(uint16) | |
ROH_FINGER_POS_TARGET1 | 1136 | R/W | 食指弯曲逻辑目标位置(uint16) | |
ROH_FINGER_POS_TARGET2 | 1137 | R/W | 中指弯曲逻辑目标位置(uint16) | |
ROH_FINGER_POS_TARGET3 | 1138 | R/W | 无名指弯曲逻辑目标位置(uint16) | |
ROH_FINGER_POS_TARGET4 | 1139 | R/W | 小指弯曲逻辑目标位置(uint16) | |
ROH_FINGER_POS_TARGET5 | 1140 | R/W | 大拇旋转指逻辑目标位置(uint16) | |
ROH_FINGER_POS_TARGET6 | 1141 | R/W | 保留 | |
ROH_FINGER_POS_TARGET7 | 1142 | R/W | 保留 | |
ROH_FINGER_POS_TARGET8 | 1143 | R/W | 保留 | |
ROH_FINGER_POS_TARGET9 | 1144 | R/W | 保留 | |
ROH_FINGER_POS0 | 1145 | R | 大拇指弯曲逻辑位置(uint16) | |
ROH_FINGER_POS1 | 1146 | R | 食指弯曲逻辑位置(uint16) | |
ROH_FINGER_POS2 | 1147 | R | 中指弯曲逻辑位置(uint16) | |
ROH_FINGER_POS3 | 1148 | R | 无名指弯曲逻辑位置(uint16) | |
ROH_FINGER_POS4 | 1149 | R | 小指弯曲逻辑位置(uint16) | |
ROH_FINGER_POS5 | 1150 | R | 大拇旋转指逻辑位置(uint16) | |
ROH_FINGER_POS6 | 1151 | R | 保留 | |
ROH_FINGER_POS7 | 1152 | R | 保留 | |
ROH_FINGER_POS8 | 1153 | R | 保留 | |
ROH_FINGER_POS9 | 1154 | R | 保留 | |
ROH_FINGER_ANGLE_TARGET0 | 1155 | R/W | 大拇指电机轴与旋转轴夹角的目标值(int16),等于实际角度*100,单位度 | |
ROH_FINGER_ANGLE_TARGET1 | 1156 | R/W | 食指第一节与掌平面夹角的目标值(int16),等于实际角度*100,单位度 | |
ROH_FINGER_ANGLE_TARGET2 | 1157 | R/W | 中指第一节与掌平面夹角的目标值(int16),等于实际角度*100,单位度 | |
ROH_FINGER_ANGLE_TARGET3 | 1158 | R/W | 无名指第一节与掌平面夹角的目标值(int16),等于实际角度*100,单位度 | |
ROH_FINGER_ANGLE_TARGET4 | 1159 | R/W | 小指第一节与掌平面夹角的目标值(int16),等于实际角度*100,单位度 | |
ROH_FINGER_ANGLE_TARGET5 | 1160 | R/W | 大拇旋转目标角度(int16),等于实际角度*100,单位度 | |
ROH_FINGER_ANGLE_TARGET6 | 1161 | R/W | 保留 | |
ROH_FINGER_ANGLE_TARGET7 | 1162 | R/W | 保留 | |
ROH_FINGER_ANGLE_TARGET8 | 1163 | R/W | 保留 | |
ROH_FINGER_ANGLE_TARGET9 | 1164 | R/W | 保留 | |
ROH_FINGER_ANGLE0 | 1165 | R | 大拇指电机轴与旋转轴夹角(int16),等于实际角度*100,单位度 | |
ROH_FINGER_ANGLE1 | 1166 | R | 食指第一节与掌平面夹角(int16),等于实际角度*100,单位度 | |
ROH_FINGER_ANGLE2 | 1167 | R | 中指第一节与掌平面夹角(int16),等于实际角度*100,单位度 | |
ROH_FINGER_ANGLE3 | 1168 | R | 无名指第一节与掌平面夹角(int16),等于实际角度*100,单位度 | |
ROH_FINGER_ANGLE4 | 1169 | R | 小指第一节与掌平面夹角(int16),等于实际角度*100,单位度 | |
ROH_FINGER_ANGLE5 | 1170 | R | 大拇旋转角度(int16),等于实际角度*100,单位度 | |
ROH_FINGER_ANGLE6 | 1171 | R | 保留 | |
ROH_FINGER_ANGLE7 | 1172 | R | 保留 | |
ROH_FINGER_ANGLE8 | 1173 | R | 保留 | |
ROH_FINGER_ANGLE9 | 1174 | R | 保留 |
附寄存器C/C++宏定义:
/* ModBus-RTU registers */
#define ROH_PROTOCOL_VERSION (1000) /* R */
#define ROH_FW_VERSION (1001) /* R */
#define ROH_FW_REVISION (1002) /* R */
#define ROH_HW_VERSION (1003) /* R */
#define ROH_BOOT_VERSION (1004) /* R */
#define ROH_NODE_ID (1005) /* R/W */
#define ROH_SUB_EXCEPTION (1006) /* R */
#define ROH_BATTERY_VOLTAGE (1007) /* R */
#define ROH_SELF_TEST_LEVEL (1008) /* R/W */
#define ROH_BEEP_SWITCH (1009) /* R/W */
#define ROH_BEEP_PERIOD (1010) /* W */
#define ROH_BUTTON_PRESS_CNT (1011) /* R/W */
#define ROH_RECALIBRATE (1012) /* W */
#define ROH_START_INIT (1013) /* W */
#define ROH_RESET (1014) /* W */
#define ROH_POWER_OFF (1015) /* W */
#define ROH_RESERVED0 (1016) /* R/W */
#define ROH_RESERVED1 (1017) /* R/W */
#define ROH_RESERVED2 (1018) /* R/W */
#define ROH_RESERVED3 (1019) /* R/W */
#define ROH_CALI_END0 (1020) /* R/W */
#define ROH_CALI_END1 (1021) /* R/W */
#define ROH_CALI_END2 (1022) /* R/W */
#define ROH_CALI_END3 (1023) /* R/W */
#define ROH_CALI_END4 (1024) /* R/W */
#define ROH_CALI_END5 (1025) /* R/W */
#define ROH_CALI_END6 (1026) /* R/W */
#define ROH_CALI_END7 (1027) /* R/W */
#define ROH_CALI_END8 (1028) /* R/W */
#define ROH_CALI_END9 (1029) /* R/W */
#define ROH_CALI_START0 (1030) /* R/W */
#define ROH_CALI_START1 (1031) /* R/W */
#define ROH_CALI_START2 (1032) /* R/W */
#define ROH_CALI_START3 (1033) /* R/W */
#define ROH_CALI_START4 (1034) /* R/W */
#define ROH_CALI_START5 (1035) /* R/W */
#define ROH_CALI_START6 (1036) /* R/W */
#define ROH_CALI_START7 (1037) /* R/W */
#define ROH_CALI_START8 (1038) /* R/W */
#define ROH_CALI_START9 (1039) /* R/W */
#define ROH_CALI_THUMB_POS0 (1040) /* R/W */
#define ROH_CALI_THUMB_POS1 (1041) /* R/W */
#define ROH_CALI_THUMB_POS2 (1042) /* R/W */
#define ROH_CALI_THUMB_POS3 (1043) /* R/W */
#define ROH_CALI_THUMB_POS4 (1044) /* R/W */
#define ROH_FINGER_P0 (1045) /* R/W */
#define ROH_FINGER_P1 (1046) /* R/W */
#define ROH_FINGER_P2 (1047) /* R/W */
#define ROH_FINGER_P3 (1048) /* R/W */
#define ROH_FINGER_P4 (1049) /* R/W */
#define ROH_FINGER_P5 (1050) /* R/W */
#define ROH_FINGER_P6 (1051) /* R/W */
#define ROH_FINGER_P7 (1052) /* R/W */
#define ROH_FINGER_P8 (1053) /* R/W */
#define ROH_FINGER_P9 (1054) /* R/W */
#define ROH_FINGER_I0 (1055) /* R/W */
#define ROH_FINGER_I1 (1056) /* R/W */
#define ROH_FINGER_I2 (1057) /* R/W */
#define ROH_FINGER_I3 (1058) /* R/W */
#define ROH_FINGER_I4 (1059) /* R/W */
#define ROH_FINGER_I5 (1060) /* R/W */
#define ROH_FINGER_I6 (1061) /* R/W */
#define ROH_FINGER_I7 (1062) /* R/W */
#define ROH_FINGER_I8 (1063) /* R/W */
#define ROH_FINGER_I9 (1064) /* R/W */
#define ROH_FINGER_D0 (1065) /* R/W */
#define ROH_FINGER_D1 (1066) /* R/W */
#define ROH_FINGER_D2 (1067) /* R/W */
#define ROH_FINGER_D3 (1068) /* R/W */
#define ROH_FINGER_D4 (1069) /* R/W */
#define ROH_FINGER_D5 (1070) /* R/W */
#define ROH_FINGER_D6 (1071) /* R/W */
#define ROH_FINGER_D7 (1072) /* R/W */
#define ROH_FINGER_D8 (1073) /* R/W */
#define ROH_FINGER_D9 (1074) /* R/W */
#define ROH_FINGER_G0 (1075) /* R/W */
#define ROH_FINGER_G1 (1076) /* R/W */
#define ROH_FINGER_G2 (1077) /* R/W */
#define ROH_FINGER_G3 (1078) /* R/W */
#define ROH_FINGER_G4 (1079) /* R/W */
#define ROH_FINGER_G5 (1080) /* R/W */
#define ROH_FINGER_G6 (1081) /* R/W */
#define ROH_FINGER_G7 (1082) /* R/W */
#define ROH_FINGER_G8 (1083) /* R/W */
#define ROH_FINGER_G9 (1084) /* R/W */
#define ROH_FINGER_STATUS0 (1085) /* R */
#define ROH_FINGER_STATUS1 (1086) /* R */
#define ROH_FINGER_STATUS2 (1087) /* R */
#define ROH_FINGER_STATUS3 (1088) /* R */
#define ROH_FINGER_STATUS4 (1089) /* R */
#define ROH_FINGER_STATUS5 (1090) /* R */
#define ROH_FINGER_STATUS6 (1091) /* R */
#define ROH_FINGER_STATUS7 (1092) /* R */
#define ROH_FINGER_STATUS8 (1093) /* R */
#define ROH_FINGER_STATUS9 (1094) /* R */
#define ROH_FINGER_CURRENT_LIMIT0 (1095) /* R/W */
#define ROH_FINGER_CURRENT_LIMIT1 (1096) /* R/W */
#define ROH_FINGER_CURRENT_LIMIT2 (1097) /* R/W */
#define ROH_FINGER_CURRENT_LIMIT3 (1098) /* R/W */
#define ROH_FINGER_CURRENT_LIMIT4 (1099) /* R/W */
#define ROH_FINGER_CURRENT_LIMIT5 (1100) /* R/W */
#define ROH_FINGER_CURRENT_LIMIT6 (1101) /* R/W */
#define ROH_FINGER_CURRENT_LIMIT7 (1102) /* R/W */
#define ROH_FINGER_CURRENT_LIMIT8 (1103) /* R/W */
#define ROH_FINGER_CURRENT_LIMIT9 (1104) /* R/W */
#define ROH_FINGER_CURRENT0 (1105) /* R */
#define ROH_FINGER_CURRENT1 (1106) /* R */
#define ROH_FINGER_CURRENT2 (1107) /* R */
#define ROH_FINGER_CURRENT3 (1108) /* R */
#define ROH_FINGER_CURRENT4 (1109) /* R */
#define ROH_FINGER_CURRENT5 (1110) /* R */
#define ROH_FINGER_CURRENT6 (1111) /* R */
#define ROH_FINGER_CURRENT7 (1112) /* R */
#define ROH_FINGER_CURRENT8 (1113) /* R */
#define ROH_FINGER_CURRENT9 (1114) /* R */
#define ROH_FINGER_FORCE_LIMIT0 (1115) /* R/W */
#define ROH_FINGER_FORCE_LIMIT1 (1116) /* R/W */
#define ROH_FINGER_FORCE_LIMIT2 (1117) /* R/W */
#define ROH_FINGER_FORCE_LIMIT3 (1118) /* R/W */
#define ROH_FINGER_FORCE_LIMIT4 (1119) /* R/W */
#define ROH_FINGER_FORCE0 (1120) /* R */
#define ROH_FINGER_FORCE1 (1121) /* R */
#define ROH_FINGER_FORCE2 (1122) /* R */
#define ROH_FINGER_FORCE3 (1123) /* R */
#define ROH_FINGER_FORCE4 (1124) /* R */
#define ROH_FINGER_SPEED0 (1125) /* R/W */
#define ROH_FINGER_SPEED1 (1126) /* R/W */
#define ROH_FINGER_SPEED2 (1127) /* R/W */
#define ROH_FINGER_SPEED3 (1128) /* R/W */
#define ROH_FINGER_SPEED4 (1129) /* R/W */
#define ROH_FINGER_SPEED5 (1130) /* R/W */
#define ROH_FINGER_SPEED6 (1131) /* R/W */
#define ROH_FINGER_SPEED7 (1132) /* R/W */
#define ROH_FINGER_SPEED8 (1133) /* R/W */
#define ROH_FINGER_SPEED9 (1134) /* R/W */
#define ROH_FINGER_POS_TARGET0 (1135) /* R/W */
#define ROH_FINGER_POS_TARGET1 (1136) /* R/W */
#define ROH_FINGER_POS_TARGET2 (1137) /* R/W */
#define ROH_FINGER_POS_TARGET3 (1138) /* R/W */
#define ROH_FINGER_POS_TARGET4 (1139) /* R/W */
#define ROH_FINGER_POS_TARGET5 (1140) /* R/W */
#define ROH_FINGER_POS_TARGET6 (1141) /* R/W */
#define ROH_FINGER_POS_TARGET7 (1142) /* R/W */
#define ROH_FINGER_POS_TARGET8 (1143) /* R/W */
#define ROH_FINGER_POS_TARGET9 (1144) /* R/W */
#define ROH_FINGER_POS0 (1145) /* R */
#define ROH_FINGER_POS1 (1146) /* R */
#define ROH_FINGER_POS2 (1147) /* R */
#define ROH_FINGER_POS3 (1148) /* R */
#define ROH_FINGER_POS4 (1149) /* R */
#define ROH_FINGER_POS5 (1150) /* R */
#define ROH_FINGER_POS6 (1151) /* R */
#define ROH_FINGER_POS7 (1152) /* R */
#define ROH_FINGER_POS8 (1153) /* R */
#define ROH_FINGER_POS9 (1154) /* R */
#define ROH_FINGER_ANGLE_TARGET0 (1155) /* R/W */
#define ROH_FINGER_ANGLE_TARGET1 (1156) /* R/W */
#define ROH_FINGER_ANGLE_TARGET2 (1157) /* R/W */
#define ROH_FINGER_ANGLE_TARGET3 (1158) /* R/W */
#define ROH_FINGER_ANGLE_TARGET4 (1159) /* R/W */
#define ROH_FINGER_ANGLE_TARGET5 (1160) /* R/W */
#define ROH_FINGER_ANGLE_TARGET6 (1161) /* R/W */
#define ROH_FINGER_ANGLE_TARGET7 (1162) /* R/W */
#define ROH_FINGER_ANGLE_TARGET8 (1163) /* R/W */
#define ROH_FINGER_ANGLE_TARGET9 (1164) /* R/W */
#define ROH_FINGER_ANGLE0 (1165) /* R */
#define ROH_FINGER_ANGLE1 (1166) /* R */
#define ROH_FINGER_ANGLE2 (1167) /* R */
#define ROH_FINGER_ANGLE3 (1168) /* R */
#define ROH_FINGER_ANGLE4 (1169) /* R */
#define ROH_FINGER_ANGLE5 (1170) /* R */
#define ROH_FINGER_ANGLE6 (1171) /* R */
#define ROH_FINGER_ANGLE7 (1172) /* R */
#define ROH_FINGER_ANGLE8 (1173) /* R */
#define ROH_FINGER_ANGLE9 (1174) /* R */
# ModBus-RTU registers for ROH
ROH_PROTOCOL_VERSION = (1000) # R
ROH_FW_VERSION = (1001) # R
ROH_FW_REVISION = (1002) # R
ROH_HW_VERSION = (1003) # R
ROH_BOOT_VERSION = (1004) # R
ROH_NODE_ID = (1005) # R/W
ROH_SUB_EXCEPTION = (1006) # R
ROH_BATTERY_VOLTAGE = (1007) # R
ROH_SELF_TEST_LEVEL = (1008) # R/W
ROH_BEEP_SWITCH = (1009) # R/W
ROH_BEEP_PERIOD = (1010) # W
ROH_BUTTON_PRESS_CNT = (1011) # R/W
ROH_RECALIBRATE = (1012) # W
ROH_START_INIT = (1013) # W
ROH_RESET = (1014) # W
ROH_POWER_OFF = (1015) # W
ROH_RESERVED0 = (1016) # R/W
ROH_RESERVED1 = (1017) # R/W
ROH_RESERVED2 = (1018) # R/W
ROH_RESERVED3 = (1019) # R/W
ROH_CALI_END0 = (1020) # R/W
ROH_CALI_END1 = (1021) # R/W
ROH_CALI_END2 = (1022) # R/W
ROH_CALI_END3 = (1023) # R/W
ROH_CALI_END4 = (1024) # R/W
ROH_CALI_END5 = (1025) # R/W
ROH_CALI_END6 = (1026) # R/W
ROH_CALI_END7 = (1027) # R/W
ROH_CALI_END8 = (1028) # R/W
ROH_CALI_END9 = (1029) # R/W
ROH_CALI_START0 = (1030) # R/W
ROH_CALI_START1 = (1031) # R/W
ROH_CALI_START2 = (1032) # R/W
ROH_CALI_START3 = (1033) # R/W
ROH_CALI_START4 = (1034) # R/W
ROH_CALI_START5 = (1035) # R/W
ROH_CALI_START6 = (1036) # R/W
ROH_CALI_START7 = (1037) # R/W
ROH_CALI_START8 = (1038) # R/W
ROH_CALI_START9 = (1039) # R/W
ROH_CALI_THUMB_POS0 = (1040) # R/W
ROH_CALI_THUMB_POS1 = (1041) # R/W
ROH_CALI_THUMB_POS2 = (1042) # R/W
ROH_CALI_THUMB_POS3 = (1043) # R/W
ROH_CALI_THUMB_POS4 = (1044) # R/W
ROH_FINGER_P0 = (1045) # R/W
ROH_FINGER_P1 = (1046) # R/W
ROH_FINGER_P2 = (1047) # R/W
ROH_FINGER_P3 = (1048) # R/W
ROH_FINGER_P4 = (1049) # R/W
ROH_FINGER_P5 = (1050) # R/W
ROH_FINGER_P6 = (1051) # R/W
ROH_FINGER_P7 = (1052) # R/W
ROH_FINGER_P8 = (1053) # R/W
ROH_FINGER_P9 = (1054) # R/W
ROH_FINGER_I0 = (1055) # R/W
ROH_FINGER_I1 = (1056) # R/W
ROH_FINGER_I2 = (1057) # R/W
ROH_FINGER_I3 = (1058) # R/W
ROH_FINGER_I4 = (1059) # R/W
ROH_FINGER_I5 = (1060) # R/W
ROH_FINGER_I6 = (1061) # R/W
ROH_FINGER_I7 = (1062) # R/W
ROH_FINGER_I8 = (1063) # R/W
ROH_FINGER_I9 = (1064) # R/W
ROH_FINGER_D0 = (1065) # R/W
ROH_FINGER_D1 = (1066) # R/W
ROH_FINGER_D2 = (1067) # R/W
ROH_FINGER_D3 = (1068) # R/W
ROH_FINGER_D4 = (1069) # R/W
ROH_FINGER_D5 = (1070) # R/W
ROH_FINGER_D6 = (1071) # R/W
ROH_FINGER_D7 = (1072) # R/W
ROH_FINGER_D8 = (1073) # R/W
ROH_FINGER_D9 = (1074) # R/W
ROH_FINGER_G0 = (1075) # R/W
ROH_FINGER_G1 = (1076) # R/W
ROH_FINGER_G2 = (1077) # R/W
ROH_FINGER_G3 = (1078) # R/W
ROH_FINGER_G4 = (1079) # R/W
ROH_FINGER_G5 = (1080) # R/W
ROH_FINGER_G6 = (1081) # R/W
ROH_FINGER_G7 = (1082) # R/W
ROH_FINGER_G8 = (1083) # R/W
ROH_FINGER_G9 = (1084) # R/W
ROH_FINGER_STATUS0 = (1085) # R
ROH_FINGER_STATUS1 = (1086) # R
ROH_FINGER_STATUS2 = (1087) # R
ROH_FINGER_STATUS3 = (1088) # R
ROH_FINGER_STATUS4 = (1089) # R
ROH_FINGER_STATUS5 = (1090) # R
ROH_FINGER_STATUS6 = (1091) # R
ROH_FINGER_STATUS7 = (1092) # R
ROH_FINGER_STATUS8 = (1093) # R
ROH_FINGER_STATUS9 = (1094) # R
ROH_FINGER_CURRENT_LIMIT0 = (1095) # R/W
ROH_FINGER_CURRENT_LIMIT1 = (1096) # R/W
ROH_FINGER_CURRENT_LIMIT2 = (1097) # R/W
ROH_FINGER_CURRENT_LIMIT3 = (1098) # R/W
ROH_FINGER_CURRENT_LIMIT4 = (1099) # R/W
ROH_FINGER_CURRENT_LIMIT5 = (1100) # R/W
ROH_FINGER_CURRENT_LIMIT6 = (1101) # R/W
ROH_FINGER_CURRENT_LIMIT7 = (1102) # R/W
ROH_FINGER_CURRENT_LIMIT8 = (1103) # R/W
ROH_FINGER_CURRENT_LIMIT9 = (1104) # R/W
ROH_FINGER_CURRENT0 = (1105) # R
ROH_FINGER_CURRENT1 = (1106) # R
ROH_FINGER_CURRENT2 = (1107) # R
ROH_FINGER_CURRENT3 = (1108) # R
ROH_FINGER_CURRENT4 = (1109) # R
ROH_FINGER_CURRENT5 = (1110) # R
ROH_FINGER_CURRENT6 = (1111) # R
ROH_FINGER_CURRENT7 = (1112) # R
ROH_FINGER_CURRENT8 = (1113) # R
ROH_FINGER_CURRENT9 = (1114) # R
ROH_FINGER_FORCE_LIMIT0 = (1115) # R/W
ROH_FINGER_FORCE_LIMIT1 = (1116) # R/W
ROH_FINGER_FORCE_LIMIT2 = (1117) # R/W
ROH_FINGER_FORCE_LIMIT3 = (1118) # R/W
ROH_FINGER_FORCE_LIMIT4 = (1119) # R/W
ROH_FINGER_FORCE0 = (1120) # R
ROH_FINGER_FORCE1 = (1121) # R
ROH_FINGER_FORCE2 = (1122) # R
ROH_FINGER_FORCE3 = (1123) # R
ROH_FINGER_FORCE4 = (1124) # R
ROH_FINGER_SPEED0 = (1125) # R/W
ROH_FINGER_SPEED1 = (1126) # R/W
ROH_FINGER_SPEED2 = (1127) # R/W
ROH_FINGER_SPEED3 = (1128) # R/W
ROH_FINGER_SPEED4 = (1129) # R/W
ROH_FINGER_SPEED5 = (1130) # R/W
ROH_FINGER_SPEED6 = (1131) # R/W
ROH_FINGER_SPEED7 = (1132) # R/W
ROH_FINGER_SPEED8 = (1133) # R/W
ROH_FINGER_SPEED9 = (1134) # R/W
ROH_FINGER_POS_TARGET0 = (1135) # R/W
ROH_FINGER_POS_TARGET1 = (1136) # R/W
ROH_FINGER_POS_TARGET2 = (1137) # R/W
ROH_FINGER_POS_TARGET3 = (1138) # R/W
ROH_FINGER_POS_TARGET4 = (1139) # R/W
ROH_FINGER_POS_TARGET5 = (1140) # R/W
ROH_FINGER_POS_TARGET6 = (1141) # R/W
ROH_FINGER_POS_TARGET7 = (1142) # R/W
ROH_FINGER_POS_TARGET8 = (1143) # R/W
ROH_FINGER_POS_TARGET9 = (1144) # R/W
ROH_FINGER_POS0 = (1145) # R
ROH_FINGER_POS1 = (1146) # R
ROH_FINGER_POS2 = (1147) # R
ROH_FINGER_POS3 = (1148) # R
ROH_FINGER_POS4 = (1149) # R
ROH_FINGER_POS5 = (1150) # R
ROH_FINGER_POS6 = (1151) # R
ROH_FINGER_POS7 = (1152) # R
ROH_FINGER_POS8 = (1153) # R
ROH_FINGER_POS9 = (1154) # R
ROH_FINGER_ANGLE_TARGET0 = (1155) # R/W
ROH_FINGER_ANGLE_TARGET1 = (1156) # R/W
ROH_FINGER_ANGLE_TARGET2 = (1157) # R/W
ROH_FINGER_ANGLE_TARGET3 = (1158) # R/W
ROH_FINGER_ANGLE_TARGET4 = (1159) # R/W
ROH_FINGER_ANGLE_TARGET5 = (1160) # R/W
ROH_FINGER_ANGLE_TARGET6 = (1161) # R/W
ROH_FINGER_ANGLE_TARGET7 = (1162) # R/W
ROH_FINGER_ANGLE_TARGET8 = (1163) # R/W
ROH_FINGER_ANGLE_TARGET9 = (1164) # R/W
ROH_FINGER_ANGLE0 = (1165) # R
ROH_FINGER_ANGLE1 = (1166) # R
ROH_FINGER_ANGLE2 = (1167) # R
ROH_FINGER_ANGLE3 = (1168) # R
ROH_FINGER_ANGLE4 = (1169) # R
ROH_FINGER_ANGLE5 = (1170) # R
ROH_FINGER_ANGLE6 = (1171) # R
ROH_FINGER_ANGLE7 = (1172) # R
ROH_FINGER_ANGLE8 = (1173) # R
ROH_FINGER_ANGLE9 = (1174) # R
角度定义及运动范围说明:
角度 | 图例说明 | 角度范围 |
---|---|---|
食指 中指 无名指 小拇指 |
100.22°~178.37° 97.81° ~ 176.06° 101.38° ~ 176.54° 98.84° ~ 174.86° |
|
大拇指弯曲 | 2.26° ~ 36.76° | |
大拇指旋转 | 0° ~ 90° |
状态名称 | 状态码 | 说明 |
---|---|---|
STATUS_OPENING | 0 | 正在展开 |
STATUS_CLOSING | 1 | 正在抓取 |
STATUS_POS_REACHED | 2 | 位置到位停止 |
STATUS_OVER_CURRENT | 3 | 电流保护停止 |
STATUS_FORCE_REACHED | 4 | 力控到位停止 |
STATUS_STUCK | 5 | 电机堵转停止 |