十、码垛工艺(Python)
本页对应 C++ 版。函数名与参数顺序与 C++ 完全一致(Python SDK 由 C++ 经 SWIG 生成),差异只在两处:
- 返回值形态:C++ 用引用参数回填数据;Python 的返回形态由 SWIG 绑定决定,逐接口实测,不按类型推断。
- 少数接口在 Python 中不可直接调用(绑定缺陷),页面内已逐个标注。
本页接口当前 Python SDK 未提供
本页 6 个接口在 nrc_interface(Linux / Windows 包均已核对)中均无同名定义,Python 侧调用会抛 AttributeError。本篇保留 C++ 语义说明用于对接参考,实现请使用 C++ SDK;如需 Python 支持请联系纳博特评估排期。
10.1 运行状态控制
pallet_set_running_state / pallet_set_running_state_robot
设置码垛运行状态,指定当前码垛的工艺号、层数和工件数。调用后控制器将按照设定的参数执行码垛作业。
参数说明(与 C++ 一致):
| 参数 | 类型 | 输入/输出 | 说明 |
|---|---|---|---|
| socketFd | SOCKETFD | 输入 | 连接句柄 |
| robotNum | int | 输入 | 机器人编号(仅 _robot 版本) |
| craftID | int | 输入 | 码垛工艺号 |
| layerNum | int | 输入 | 总层数 |
| workpiecesNum | int | 输入 | 每层工件数 |
C++ 侧返回值描述:Result 枚举,0 表示成功,-1 表示等待消息失败,-2 表示找不到指定的客户端。
pallet_get_running_state / pallet_get_running_state_robot
获取码垛当前的运行状态,包括总工件数、总层数、当前层进度等详细信息。
参数说明(与 C++ 一致):
| 参数 | 类型 | 输入/输出 | 说明 |
|---|---|---|---|
| socketFd | SOCKETFD | 输入 | 连接句柄 |
| robotNum | int | 输入 | 机器人编号(仅 _robot 版本) |
| craftID | int | 输入 | 要查询的码垛工艺号 |
| totalWpNum | int& | 输出 | 总工件数 |
| totalLayerNum | int& | 输出 | 总层数 |
| curLayerWpSum | int& | 输出 | 当前层总工件数 |
| curLayerNum | int& | 输出 | 当前层数(正在执行的第几层) |
| curPalletedWpSum | int& | 输出 | 当前已码总工件数 |
| curLayerPalletedWpNum | int& | 输出 | 当前层已码工件数 |
C++ 侧返回值描述:Result 枚举,0 表示成功,-1 表示等待消息失败,-2 表示找不到指定的客户端。
10.2 工艺号查询
pallet_get_current_run_craftid / pallet_get_current_run_craftid_robot
获取当前运行的作业文件中所包含的所有码垛工艺号列表。
参数说明(与 C++ 一致):
| 参数 | 类型 | 输入/输出 | 说明 |
|---|---|---|---|
| socketFd | SOCKETFD | 输入 | 连接句柄 |
| robotNum | int | 输入 | 机器人编号(仅 _robot 版本) |
| craftIds | std::vector<int>& | 输出 | 码垛工艺号列表 |
C++ 侧返回值描述:Result 枚举,0 表示成功,-1 表示等待消息失败,-2 表示找不到指定的客户端。