- 选型指南
- 概述
- 入门指南
- 机械臂参数
- 示教器使用
-
二次开发
-
API(C++)
- 快速开始
- 接口说明
- 7000端口接口说明
- 使用示例
- 返回值说明
-
API(Python)
- 快速开始
- 接口说明
- 7000端口接口说明
- 使用示例
- 返回值说明
- ROS2开发
-
API(C++)
- 相关下载
连接管理接口
头文件:include/tl_interface.h
相关示例代码:examples/py/ex_connect.py
1. connect_robot - 创建机械臂连接控制句柄
方法:connect_robot(const std::string& ip, const std::string& port);
功能描述:建立与机械臂控制器的网络通信通道。需要分别连接指令端口(6001)和实时端口(7000)以获得两个独立的句柄。
参数:
- ip:机械臂控制器 IP 地址,例如 "192.168.1.13"。
- port:端口号字符串,指令通道 "6001",实时跟踪通道 "7000"。
返回值:
- int:已连接的句柄
- 1:连接成功,返回有效的 socket 句柄
- ≤ 0:连接失败
使用示例:
Python
import tl_interface as tl
# 创建机械臂连接
socket_fd = tl.connect_robot("192.168.1.13", "6001")
if socket_fd > 0:
print(f"机械臂连接成功!控制器句柄:{socket_fd}")
else:
print(f"连接失败,控制器返回句柄:{socket_fd}")
2. disconnect_robot - 关闭所有机械臂连接
方法:disconnect_robot(socket_fd);
功能描述:断开控制器。
参数:
- socket_fd:已连接的句柄,由connect_robot返回
返回值:
- None
使用示例:
Python
import tl_interface as tl
# 先建立连接
socket_fd = tl.connect_robot("192.168.1.13", "6001")
# 断开连接
tl.disconnect_robot(socket_fd)
print("已成功断开与控制器的连接")
最佳实践:
- 建议使用try-finally结构确保断开连接
- 断开连接前建议先下使能
3. get_connection_status - 获取控制器连接状态
方法:get_connection_status(socketFd);
功能描述:获得控制器连接状态。
参数:
- socketFd:已连接的句柄。
返回值:
- 0:成功
- 非 0:失败
使用示例:
Python
import tl_interface as tl
socket_fd = tl.connect_robot("192.168.1.13", "6001")
ret = tl.get_connection_status(socket_fd)
if ret == 0:
print("控制器已连接")
else:
print(f"控制器连接状态查询失败,错误码:{ret}")
4. get_controller_network_config - 获取控制器网络配置
方法:get_controller_network_config(socketFd);
功能描述:获取控制器当前的网络配置信息。
参数:
- socketFd:已连接的句柄。
返回值:
- tuple:(ret, name, address, gateway, dns),name 网络接口名称、address IP 地址、gateway 网关、dns DNS
- 0:成功
- 非 0:失败
使用示例:
Python
import tl_interface as tl
socket_fd = tl.connect_robot("192.168.1.13", "6001")
ret, name, address, gateway, dns = tl.get_controller_network_config(socket_fd)
if ret == 0:
print(f"IP:{address},网关:{gateway}")
5. set_controller_network_config - 设置控制器网络配置
方法:set_controller_network_config(socketFd, name, ip, gateway, dns);
功能描述:设置控制器网络配置。
参数:
- socketFd:已连接的句柄。
- name:要修改的网络接口名称。
- ip:新的 IP 地址。
- gateway:网关地址,传空字符串表示不配置网关。
- dns:DNS 服务器地址,传空字符串表示不配置 DNS。
返回值:
- 0:成功
- 非 0:失败
使用示例:
Python
import tl_interface as tl
socket_fd = tl.connect_robot("192.168.1.13", "6001")
ret = tl.set_controller_network_config(socket_fd, "eth0", "192.168.1.14", "192.168.1.1", "")
