- 选型指南
- 概述
- 入门指南
- 机械臂参数
- 示教器使用
-
二次开发
-
API(C++)
- 快速开始
- 接口说明
- 7000端口接口说明
- 使用示例
- 返回值说明
-
API(Python)
- 快速开始
- 接口说明
- 7000端口接口说明
- 使用示例
- 返回值说明
- ROS2开发
-
API(C++)
- 相关下载
模式与 IO 控制接口
1. set_current_mode - 设置机器人模式(切换示教模式和运动模式)
方法: set_robot_operating_mode(socket_fd: int, mode: int)
功能描述: 切换并配置机器人控制器当前的系统运行模式。
参数:
socket_fd:已连接的机械臂控制器句柄,整型格式(int)。mode:准备切换的目标操作模式代号,整型格式(int),默认 0。0:示教模式(Teach / Manual)。允许进行手动点动(Jogging)、点位示教、单步微调。1:远程模式(Remote)。允许接收外部上位机、PLC等网络链路发送过来的远程控制及自动运行指令。2:运行模式 / 自动模式(Play / Auto)。用于执行控制器内部已加载的作业脚本或再现已保存的轨迹。
返回值:
bool:执行结果布尔值True:模式切换成功。底层接口返回 0,控制器成功完成系统操作模式的变更。False:模式切换失败。句柄无效、模式代号参数越界、由于物理安全条件不满足(如硬件急停未松开或外部连锁信号缺失)导致控制器拒绝切换模式、接口返回非 0 错误码或触发通信异常。
使用示例:
2. set_digital_output - 设置数字 IO 输出
方法: set_digital_io_output(socket_fd: int, port: int, value: int)
功能描述: 控制机器人控制器板载或扩展的数字量输出(DO)端口的状态。
参数:
socket_fd:已连接的机械臂控制器句柄,整型格式(int)。port:准备配置的数字输出端口号,整型格式(int)。value:输出的目标电平状态值,整型格式(int)。1:输出高电平(信号导通 / ON)0:输出低电平(信号断开 / OFF)
返回值:
bool:执行结果布尔值True:高低电平设置成功。底层接口返回 0,控制器成功切换该物理硬件端口的状态。False:设置失败。句柄无效、指定的 IO 端口号超出硬件配置范围、端口被系统锁定、接口返回非 0 错误码或触发通信异常。
使用示例:
3. get_digital_output - 获取所有数字 IO
方法: get_all_digital_io_outputs(socket_fd: int, out_vector: VectorInt)
功能描述: 一次性批量读取机器人控制器当前所有数字量输出(DO)端口的电平状态。
参数:
socket_fd:已连接的机械臂控制器句柄,整型格式(int)。out_vector(底层输出参数):专门用于接收底层整型数组的 C++ 动态向量容器(对应代码中的 nrc.VectorInt())。由方法内部自动创建,并在调用前通过 push_back(0) 预先开辟与目标路数等长(默认 64 位)的内存缓冲区。接口执行成功后,所有端口的电平状态会顺序覆写至该容器内。
返回值:
list:状态列表[0, 1, 0, ...]:获取成功。返回包含各端口电平数值(1 代表高电平/ON,0 代表低电平/OFF)的标准 Python 列表。[](空列表):获取失败。句柄无效、底层驱动读取超时、接口返回非 0 错误码或触发通信异常。
使用示例:
4. get_digital_input - 获取所有 IO 输入状态
方法: get_all_digital_io_inputs(socket_fd: int, in_vector: VectorInt)
功能描述: 一次性批量读取机器人控制器当前所有数字量输入(DI)端口的电平状态。
参数:
socket_fd:已连接的机械臂控制器句柄,整型格式(int)。in_vector(底层输出参数):专门用于接收底层整型数组的 C++ 动态向量容器(对应代码中的 nrc.VectorInt())。由方法内部自动创建,并在调用前通过 push_back(0) 预先开辟与目标路数等长(默认 64 位)的内存缓冲区。接口执行成功后,所有端口的电平状态会顺序覆写至该容器内。
返回值:
list:状态列表[1, 0, 1, ...]:获取成功。返回包含各输入端口电平数值(1 代表高电平/有信号,0 代表低电平/无信号)的标准 Python 列表。[](空列表):获取失败。句柄无效、底层驱动读取超时、接口返回非 0 错误码或触发通信异常。
使用示例:
