Skip to content

TCP 协议

通过 TCP 网络服务器,提供基础的 TCP 控制协议,用于:
• 加载和运行工程
• 上电和松刹车
• 查询机器人状态
• 设置操作模式

网络服务器远程控制接口,端口 29999

网络服务器接口

load <program.pro>

参数:<program.pro>: 工程文件路径

返回值:
成功:
• "Loading program: <program.pro>"
失败:
• "File not found: <program.pro>"(文件未找到)
• "Error while loading program: <program.pro>"(加载时产生错误)
<program.pro>:工程文件路径

接口功能:加载工程

load installation<default.ins>

参数:<default.ins>: 配置文件路径

返回值:
成功:
• "Loading installation: <default.ins>"
失败:
• "File not found: <default.ins>"(文件未找到)
• "Error while loading installation: default.ins>"(加载时产生错误)
<default.ins>:配置文件路径

接口功能:加载配置

play

返回值:
成功:
• "Starting program"
失败:
• "Failed to execute: play"

接口功能:运行或继续运行工程

stop

返回值:
成功:
• "Stopped"
失败:
• "Failed to execute: stop"

接口功能:停止工程

pause

返回值:
成功:
• "Pausing program"
失败:
• "Failed to execute: pause"

接口功能:暂停工程

quit

返回值:"Disconnected"

接口功能:断开连接

shutdown

返回值:"Shutting down"

接口功能:断电,关闭机器人

running

返回值:
正在运行:"Program running: true"
没有在运行:"Program running: false"

接口功能:返回工程是否在运行

robotmode

返回值:"Robotmode: <mode>", <mode>:
No_Controller(aubo_control进程崩溃)
Disconnected(没有连接到机械臂本体,机械臂本体航插线断开)
ConfirmSafety(正在进行安全配置, 断电状态下进行)
Booting(机械臂本体正在上电初始化)
PowerOff(机械臂本体处于断电状态)
PowerOn(机械臂本体上电成功, 刹车暂未松开(抱死), 关节初始状态未获取)
Idle(机械臂上电成功, 刹车暂未松开(抱死), 电机不通电, 关节初始状态获取完成)
BrakeReleasing(机械臂上电成功, 刹车正在松开)
BackDrive(反向驱动:刹车松开, 电机不通电)
Running(机械臂刹车松开, 运行模式, 控制权由硬件移交给软件)
Maintaince(维护模式: 包括固件升级、参数写入等)
Error(模式错误)

接口功能:返回当前机器人的状态

get loaded program

返回值:
成功:"Loaded program: <path to loaded program file>"
失败:"No program loaded"
<path to loaded program file>:加载的工程文件的路径

接口功能:获取当前加载的工程名称

参数:<popup-text>:要弹出的内容

返回值:"showing popup"

接口功能:弹出弹窗

close popup

返回值:"closing popup"

接口功能:关闭弹窗

addToLog <logmessage>

参数:<logmessage>要向日志中添加的内容

返回值:
成功"Added log message"
添加内容为空:"No log message to add"

接口功能:向日志中添加信息

isProgramSaved

返回值:
已保存:"true <program.pro>"
未保存"false <program.pro>"
<program.pro>:工程文件路径

接口功能:获取当前工程是否被保存

programState

返回值:
"STOPPED" 如果没有工程正在运行
"PLAYING" 如果工程正在运行
"PAUSED" 如果工程正在暂停状态

接口功能:返回工程的当前状态

scopeVersion

返回值:版本号

接口功能:返回上位机软件版本号

set operational mode <mode>

参数:<mode>:manual(手动模式)
automatic(自动模式)

返回值:
成功:"Setting operational mode: <mode>"
失败:"Failed setting operational mode: <mode>"
<mode>:manual(手动模式)
automatic(自动模式)

接口功能:设置操作模式

get operational mode

返回值:
"automatic"(自动模式)
"manual"(手动模式)
"disabled"(禁用模式)

接口功能:获取当前操作模式

clear operational mode

返回值:"operational mode is no longer controlled by Dashboard Server"

接口功能:设置操作模式为不可用

power on

返回值:"Powering on"

接口功能:上电

power off

返回值:"Powering off"

接口功能:刹车并断电

brake release

返回值:"Brake releasing"

接口功能:松刹车

safetystatus

返回值:"Safetystatus: <status>", <status>:
FAULT(机械臂硬件故障或者系统故障)
NORMAL(正常运行模式)
PROTECTIVE_STOP(软件触发的停机(保持轨迹, 不抱闸, 不断电))
RECOVERY(启动时如果在安全限制之外, 机器人将进入recovery模式)
ROBOT_EMERGENCY_STOP(机器人急停:控制柜急停输入或者示教器急停按键触发, 对外输出急停信号)
SAFEGUARD_STOP(IO触发的防护停机(不保持轨迹, 抱闸, 不断电))
SYSTEM_EMERGENCY_STOP(系统急停:急停信号由外部输入(可配置输入), 不对外输出急停信号)
UNDEFINED(安全状态待定)
VIOLATION(超出安全限制(根据安全配置, 例如速度超限等))

接口功能:获取机器人安全状态

unlock protective stop

返回值:
成功:
• "Protective stop releasing"
失败:
• "Cannot unlock protective stop"

接口功能:解除保护性停止

close safety popup

返回值:"closing safety popup"

接口功能:关闭安全弹窗

load installation <default.ins>

参数:<default.ins>:安装设置文件路径

返回值:
成功:
• "Loading installation: <default.ins>"
失败:
• "File not found: <default.ins>"
• "Failed to load installation: <default.ins>"
<default.ins>:安装设置文件路径

接口功能:加载安装设置文件

restart safety

返回值:"Restarting safety"

接口功能:当机器人进入"violation"模式时,你可以调用该借口来关闭安全弹窗并重启接口板

get serial number

返回值:序列号

接口功能:获取机器人的序列号

get robot model

返回值:机器人型号+机器人子型号

接口功能:获取机器人的型号

generate flight report <report type>

该接口未实现

generate support file <Directory path>

该接口未实现

2. 网络服务器使用事例

在 pc-cmd 终端执行的一些一行程序示例将连接到网络服务器,并在 pc cmd 提示符中直接返回结果。

单个指令请求:

shell
echo y | plink root@192.168.234.140 -pw bestcobot "{ echo "get robot model"; echo "quit"; } | nc 127.0.0.1 29999"

多个指令请求:

shell
echo y | plink root@192.168.234.140 -pw bestcobot "{ echo "get serial number"; echo "get robot model"; echo "safetystatus"; echo "get operational mode"; echo "quit"; } | nc 127.0.0.1 29999"

如果请求更耗时的任务,可能需要增加 echo 之间的延迟。
如果希望将响应直接写入文件以供以后使用或记录,则可以按下方例子输入指令:

shell
echo y | plink root@192.168.234.140 -pw bestcobot "{ echo "get robot model"; echo "quit"; } | nc 127.0.0.1 29999" &gt; my_dbs_response.txt

3. 网络服务器测试

为了测试目的,可以使用一个测试套接字的程序,如超级终端或类似的。可以使用免费软件 SocketTest。
在 PC 上设置静态ip地址和子网掩码,使其与机器人匹配。
使用客户端选项卡向机器人发送命令。