升降机构
1.lift_up - 升降上升
方法: ctrl.lift_up(spd)
参数:
spd:速度值,float类型,正速度表示上升
返回值:
bool:操作结果True:指令发送成功False:指令发送失败
使用示例:
注意: 速度模式下,升降驱动在约 1s 内未再收到速度命令会自行停止;上位机须 周期性调用(建议间隔 小于 500ms),单次调用不足以维持连续升降。
2.lift_down - 升降下降
方法: ctrl.lift_down(spd)
参数:
spd:速度值,float类型,负速度表示下降
返回值:
bool:操作结果True:指令发送成功False:指令发送失败
使用示例:
注意: 与 lift_up 相同,速度模式下需周期性调用以维持连续下降。
3.lift_pos - 升降位置控制
方法: ctrl.lift_pos(spd, pos_mm)
参数:
spd:速度值,float类型pos_mm:目标位置,float类型,单位:毫米 (mm),为相对于原点的位置
返回值:
bool:操作结果True:指令发送成功False:指令发送失败
使用示例:
注意: 位置控制基于原点(可调用 lift_set_orig 设置)的相对位置,指定位置后电机在无中途打断的情况下移动到目标位置即停止。
4.lift_stop - 升降停止
方法: ctrl.lift_stop()
参数:
- 无
返回值:
bool:操作结果True:指令发送成功False:指令发送失败
使用示例:
5.lift_set_orig - 升降设置原点
方法: ctrl.lift_set_orig(save_flash=False)
说明: 将当前位置设置为原点(0 mm)。位置控制(lift_pos)基于该原点计算相对位置。
参数:
save_flash:是否保存到 Flash,bool类型,默认False。设为True时原点信息写入 Flash,断电重启后仍生效
返回值:
bool:操作结果True:指令发送成功False:指令发送失败
使用示例:
注意: 设置原点后,后续 lift_pos 位置控制将基于新原点计算相对位置,请确保在合适的位置设置原点。
6.lift_get_current_pos - 获取升降当前位置(同步读取)
方法: state.lift_get_current_pos()
参数:
- 无
返回值:
float:当前升降位置高度,单位:毫米 (mm)。初始值为0.0,收到订阅数据后更新为缓存值
使用示例:
7.lift_sub_current_pos - 订阅升降位置(异步回调)
方法: state.lift_sub_current_pos(callback)
参数:
callback:回调函数,签名callback(pos_mm),pos_mm为float类型,单位:毫米 (mm)。回调在线程池中执行。
返回值:
SubscriptionId:订阅ID,类型为int。可用于后续取消订阅;空回调返回0
使用示例:
建议:
- 订阅的回调在线程池中执行,注意线程安全
- 无需接收位置更新时及时取消订阅,避免不必要的回调
- 可与
lift_get_current_pos同步读取配合使用
