Skip to main content
Version: 6.1.0 (Latest)

灵动上下位机通讯协议

阅读指南
  1. 本协议中的所有数值统一采用十进制或十六进制表示,其中以0x标识的数据为十六进制数,未有标识的数据一律为十进制数;

  2. 本协议适用于所有购买玄雅·灵动系列产品的用户。

上一次修改时间:2026年3月6日

1. 协议构成

灵系列产品的通讯协议由帧头、指令、功能码、数据长度、数据、校验、帧尾构成,通信波特率为 1000000

字段说明示例/固定值
帧头数据帧的起始位置0xAA(固定)
指令控制指令ID,对应特定控制逻辑或数据格式,便于接收时动态匹配处理流程指令ID
功能码每个指令下的细分功能,各功能对应不同参数function
数据长度后续“数据”字段的长度length
数据关节的位置、速度、加速度或力矩数据data1 ~ dataN
校验CRC32校验(取低八位),计算规则:Check = 指令ID + function + length + data1 ~ datanCheck
帧尾数据帧的结束位置0xFF(固定)

1.1 指令ID与对应功能说明

指令ID指令功能
0x01查询机器类型、固件版本、硬件版本及唯一标识码
0x03机器零点位置设置
0x04夹爪行程设置
0x05机器扭矩开关控制
0x06关节及夹爪控制及获取
0XFE机器自检指令

2. 指令功能

2.1 查询机器信息指令

指令ID为 0x01,用于查询机器的序列号硬件版本号固件版本号

字段取值
指令0x01
功能码0x00
数据长度0x01
数据0xFE
校验0x23

发送帧示例

帧头指令功能码数据长度数据校验帧尾
0xAA0x010x000x010xFE0x230xFF

返回帧示例

帧头指令功能码数据长度数据校验帧尾
0xAA0x010x000x180x41 0x44 0x4C 0x53 0x32 0x35 0x31 0x32 0x30 0x35 0x31 0x32 0x33 0x34 0x35 0x36 0x6E 0x00 0x00 0x00 0x62 0x02 0x00 0x000x920xFF

返回帧数据解析

返回帧的数据字段共 24字节(0x18),按顺序分为三部分:

颜色字段长度对应字节
蓝色序列号16字节0x41 0x44 ... 0x35 0x36
橙色硬件版本4字节0x6E 0x00 0x00 0x00
绿色固件版本4字节0x62 0x02 0x00 0x00

序列号(16字节)

每个字节为字符的 ASCII 码。以上示例转换为字符串即:ADLS251205123456

其含义为:产品标识 + 出厂日期 + 序列号尾码,每台机器唯一。

硬件版本(4字节,小端序)

4字节组成一个小端序整数。以上示例:0x6E 0x00 0x00 0x00 → 十进制 110,表示硬件版本 v1.10

换算方式:0x6E = 110(十进制),高3字节均为0,故整数值为 110。版本号 = 110 ÷ 100 = 1.10

固件版本(4字节,小端序)

同理,以上示例:0x62 0x02 0x00 0x00 → 十进制 610,表示固件版本 v6.10

换算方式:0x02 × 256 + 0x62 = 512 + 98 = 610(小端序:低字节在前)。版本号 = 610 ÷ 100 = 6.10

提示

返回帧的校验值因每台机器的序列号不同而不同,属于正常现象。

2.2 机器零点位置设置指令

机器零点位置设置指令ID为0x03,该指令用于设置机器零点位置。该指令会关闭扭矩。

字段取值
指令0x03
功能码0x00
数据长度0x01
数据0xFE
校验0xA8(功能码0x00时)

功能码说明

功能码功能含义
0x00灵动系列:设置零点位置

示例:设置灵动零点位置

帧头指令功能码数据长度数据校验帧尾
0xAA0x030x000x010xFE0xA80xFF

2.3 夹爪行程设置指令

夹爪行程设置指令ID为0x04,该指令用于设置机器夹爪的行程,同时支持查询夹爪行程配置。

字段取值
指令0x04
功能码0x00、0x01、0x02、0x0E
数据长度0x01
数据0xFE(指令发送时);行程类型值(查询返回时)
校验0x7F

功能码说明

功能码功能含义
0x00设置夹爪为50mm行程
0x01设置夹爪为75mm行程
0x02设置夹爪为100mm行程
0x0E查询夹爪行程配置

示例1:设置夹爪行程为100mm

帧头指令功能码数据长度数据校验帧尾
0xAA0x040x020x010xFE0x7F0xFF

示例2:查询夹爪行程配置

帧头指令功能码数据长度数据校验帧尾
0xAA0x040x0E0x010xFE0x7F0xFF

返回数据说明

查询夹爪行程配置后,返回的数据字段为夹爪的行程类型,对应关系如下:

  • 0x00:50mm行程夹爪
  • 0x01:75mm行程夹爪
  • 0x02:100mm行程夹爪

返回帧示例(以75mm行程为例)

帧头指令功能码数据长度数据校验帧尾
0xAA0x040x0E0x010x010x7F0xFF

2.4 机器扭矩开关指令

机器扭矩开关指令ID为0x05,该指令用于设置机器的扭矩开关。

字段取值
指令0x05
功能码0x00
数据长度0x01
数据0x00、0x01
校验0x6F

数据字段说明

数据值含义
0x00关闭力矩
0x01开启力矩

指令帧示例

帧头指令功能码数据长度数据校验帧尾
0xAA0x050x000x010x000x6F0xFF

2.5 关节及夹爪控制指令

关节及夹爪控制帧的指令ID为 0x06,该指令包含多个功能,下面分别说明。

获取位置和运动状态

  • 功能码:0x00
  • 数据:0xFE
  • 数据长度:0x01

发送帧示例:

帧头指令功能码数据长度数据校验帧尾
0xAA0x060x000x010xFE0x9A0xFF

返回帧示例:

帧头指令功能码数据长度数据校验帧尾
0xAA0x060x000x0F0x02 0x08 0xFB 0x07 0xFB 0x07 0x02 0x08 0xFA 0x07 0x01 0x08 0x03 0x08 0x000xA90xFF

数据格式:关节角度(每个关节2字节) + 夹爪位置(2字节) + 运行状态(1字节),数据低位在前高位在后。

灵动系列:6关节角度 + 夹爪位置 + 运行状态。

运行状态(最后一字节):

状态值含义
0x00空闲
0x01锁定
0x10同步
0x11同步锁定
0xE1过热状态
0xE2过热保护

获取温度数据

  • 功能码:0x01
  • 数据:0xFE

发送帧示例(灵动示教臂6个舵机,操作臂10个):

帧头指令功能码数据长度数据校验帧尾
0xAA0x060x010x010xFE0xAD0xFF

返回帧示例(灵动示教返回6个,操作返回10个):

帧头指令功能码数据长度数据校验帧尾
0xAA0x060x010x0A0x23 0x24 0x23 0x26 0x23 0x26 0x23 0x25 0x24 0x240x4B0xFF

在温度功能码下,如果数据不为 0xFE,则为设置温度保护最大阈值。示例:设置最大阈值为 100(0x64),默认值为 85:

帧头指令功能码数据长度数据校验帧尾
0xAA0x060x010x010x640xF70xFF

获取速度数据

  • 功能码:0x02
  • 数据:0xFE

发送帧示例(灵动示教臂6个舵机,操作臂10个):

帧头指令功能码数据长度数据校验帧尾
0xAA0x060x020x010xFE0xF40xFF

返回帧示例(灵动示教返回6个,操作返回10个):

帧头指令功能码数据长度数据校验帧尾
0xAA0x060x020x140x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x000xE90xFF

关节、夹爪及状态控制

  • 功能码:0x03
  • 数据长度:0x1C
  • 数据格式:关节角度 + 速度(每个关节4字节),数据低位在前高位在后
    • 灵动系列:6关节角度 + 夹爪位置

示例:控制各关节角度为0度、速度1000,夹爪闭合到一半(0x3E8)。运动速度最高可设为5000,数据先位置角度再速度。夹爪映射范围为 0~1000,1000 为张开到最大量程。

帧头指令功能码数据长度数据校验帧尾
0xAA0x060x030x1C0x00 0x08 0xE8 0x03 0x00 0x08 0xE8 0x03 0x00 0x08 0xE8 0x03 0x00 0x08 0xE8 0x03 0x00 0x08 0xE8 0x03 0x00 0x08 0xE8 0x03 0xF4 0x01 0xE8 0x030x6A0xFF

2.6 机器自检指令

指令ID为 0xFE,用于检测舵机是否正常。返回2个字节数据,从低到高每个 bit 位代表舵机ID从低到高的状态,1 为正常,0 为异常。灵动操作臂10个 bit,示教臂6个 bit。

字段取值
指令0xFE
功能码0x00
数据长度0x03

发送帧示例

帧头指令功能码数据长度数据校验帧尾
0xAA0xFE0x000x000xFE0x930xFF

返回帧示例(操作臂所有舵机正常)

帧头指令功能码数据长度数据校验帧尾
0xAA0xFE0x000x020xFF 0x030x870xFF