TCP及IP接口#
机器人在上电状态下会作为TCP Server监听端口:2000和2001的连接。端口2000可接收对机器人的控制命令及返回状态。端口2001会以10Hz的频率向外部发送机器人当前的状态信息。
2000端口#
2000端口采用请求-响应式的应答机制,可以接受系统指令。 Client和Server间的通讯协议如下:
接收的指令 |
返回值 |
说明 |
---|---|---|
run(程序名) 或 run(程序名 , 速度百分比) |
开始时反馈:run start 执行失败反馈:run fail |
机器人会执行相应程序,不设置速度百分比或者 速度百分比参数无效时,使用当前速度运行。 |
speed(速度百分比) |
执行成功反馈:set success 执行失败反馈:set fail |
可修改程序运行的速度百分比。参数范围在(0,100], 若修改成功,会返回set success,若不成功, 会返回set fail |
stop |
执行成功反馈:stop success 执行失败反馈:stop fail |
机器人会停止当前执行的指令。停止后会发送stop success回执。若机器人处于非运行状态,接收到 stop命令后会发送stop fail回执 |
pause |
执行成功反馈:pause success 执行失败反馈:pause fail |
机器人会暂停当前执行的指令。停止时会发送pause success回执。若机器人处于非运行状态,接收到 pause命令后会发送pause fail回执。 |
resume |
执行成功反馈:resume success 执行失败反馈:resume fail |
机器人在暂停时会继续运行,程序运行时会发送resume success回执。若机器人不在暂停状态,接收到resume 命令后会发送resume fail回执 |
poweron |
执行成功反馈:poweron success 执行失败反馈:poweron fail |
机器人上电,若上电成功,建立通讯链接,返回 poweron success若失败返回poweron fail,若当
|
poweroff |
执行成功反馈:poweroff success 执行失败反馈:poweroff fail |
机器人下电,若下电成功,返回poweroff success, 若失败返回poweroff fail,若当前是下电状态,返回 already poweroff |
enable |
执行成功反馈:enable success 执行失败反馈:enable fail |
机器人上使能,若上使能成功,返回enable success 若失败返回enable fail,若当前是使能状态, 返回already enable |
disable |
执行成功反馈:disable success 执行失败反馈:disable fail |
机器人下使能,若下使能成功,返回disable success 若失败返回disable fail,若当前是已上电且未使能 状态,返回already disable |
shutdown |
执行成功反馈:shutdown success 执行失败反馈:shutdown fail |
机器人已处于poweroff状态,机器人系统会自动关闭, 返回shutdown success回执。若机器人未 下电,返回shutdown fail回执 |
state |
反馈各系统状态机,格式(1): (2) : (3):(4)注:(1) 机器人状态机,
全监控状态,(4)机器人操作模式 |
各状态机以数字形式返回。每个数字所代表的状态。 请参考2001端口,地址1448-1451 |
isprogfinish |
反馈程序是否运行结束,结 束反馈字符1,未结束反馈字符0 |
|
getlasterror |
反馈机器人最后一次报错的 详细错误信息,格式 error_id:error_messagen |
错误码返回为16进制 |
getsysteminfo |
反馈机器人的系列号、型 号、SN号、软固件版本号 等信息 |
2001端口#
端口2001会以10Hz的频率向外部发送机器人当前的状态信息,数据总长度1468个字节。
数据 |
类型 |
数量 |
字节大小 |
地址 |
注释 |
---|---|---|---|---|---|
关节实际位置 |
float |
7 |
28 |
0-27 |
6关节各自实际位置,第7位预留。 单位为rad |
关节实际速度 |
float |
7 |
28 |
28-55 |
6关节各自实际速度,第7位预留. 单位为rad/s |
关节实际加速度 |
float |
7 |
28 |
56-83 |
6关节各自实际加速度,第7位预留. 单位为rad/ |
关节实际力矩 |
float |
7 |
28 |
84-111 |
6关节各自实际力矩,第7位预留。 单位为Nm |
关节期望位置 |
float |
7 |
28 |
112-139 |
6关节各自设定位置,第7位预留。 单位为rad |
关节期望速度 |
float |
7 |
28 |
140-167 |
6关节各自设定速度,第7位预留。 单位为rad/s |
关节期望加速度 |
float |
7 |
28 |
168-195 |
6关节各自设定加速度,第7位预留。 单位为rad/ |
关节期望力矩 |
float |
7 |
28 |
196-223 |
6关节各自设定力矩,第7位预留。单位为Nm 单位为Nm |
关节实际温度 |
float |
7 |
28 |
224-251 |
7关节各自实际温度。数据预留 |
关节实际电流 |
float |
7 |
28 |
252-279 |
6关节各自实际电流,第7位预留。 单位为额定电流千分比。 |
伺服驱动错误id |
uint |
7 |
28 |
280-307 |
6关节伺服驱动错误id,第7位预留。 |
伺服驱动状态字 |
uint |
7 |
28 |
308-335 |
6关节伺服驱动状态字,第7位预留 |
预留 |
byte |
32 |
32 |
336-367 |
|
TCP实际位置 |
float |
6 |
24 |
368-391 |
末端笛卡尔空间实际位姿。 TCP 相对基坐标系的值。数据定义:X , Y, Z,Rx,Ry,Rz, 单位为m ,rad |
TCP实际速度 |
float |
6 |
24 |
392-415 |
末端笛卡尔空间实际速度。 TCP 相对基坐标系的值。数据定义:X , Y, Z,Rx,Ry,Rz, 单位为m ,rad/s |
TCP实际加速度 |
float |
6 |
24 |
416-439 |
末端笛卡尔空间实际位姿。 TCP 相对基坐标系的值。数据定义:X , Y, Z,Rx,Ry,Rz, 单位为m/s2, rad/s2 |
法兰实际外力 |
float |
6 |
24 |
440-463 |
机器人末端法兰受到的外力,当 配置末端力矩传感器时,该值 为传感器数据在机器人末端法兰面下的力描述。 据定义:X , Y, Z,Rx,Ry,Rz, 单位为N ,Nm |
TCP期望位置 |
float |
6 |
24 |
464-487 |
末端笛卡尔空间实际位姿。 TCP 相对基坐标系的值。数据定义:X , Y, Z,Rx,Ry,Rz, 单位为m ,rad |
TCP期望速度 |
float |
6 |
24 |
488-511 |
末端笛卡尔空间实际速度。 TCP 相对基坐标系的值。数据定义:X , Y, Z,Rx,Ry,Rz, 单位为m/s ,rad/s |
TCP期望加速度 |
float |
6 |
24 |
512-535 |
末端笛卡尔空间实际速度。 TCP 相对基坐标系的值。数据定义:X , Y, Z,Rx,Ry,Rz, 单位为m/s2 ,rad/s2 |
法兰理论外力 |
float |
6 |
24 |
536-559 |
机器人末端法兰在当前运动状态下,理论 收到的外力大小。数据定义:X , Y, Z,Rx,Ry,Rz, 单位为N ,Nm |
基座实际外力 |
float |
6 |
24 |
560-583 |
底座实际受力在机器人基座下的力描述。当配置底座力矩 传感器时,该值为力矩传感器测量值,数据定 义:X , Y, Z,Rx,Ry,Rz, 单位为N ,Nm |
基座理论外力 |
float |
6 |
24 |
584-607 |
在当前运动状态下,底座理论受力在机器人 基座下的力描述。数据定义:X , Y, Z,Rx,Ry,Rz, 单位为N ,Nm |
当前激活的工 具坐标系 |
float |
6 |
24 |
608-631 |
数据定义:X , Y, Z,Rx,Ry,Rz, 单位为m ,rad |
当前激活的工件 坐标系 |
float |
6 |
24 |
632-655 |
不包含当前工具坐标系偏移量.数据 定义:X , Y, Z,Rx,Ry,Rz, 单位为 m ,rad |
合线速度 |
float |
1 |
4 |
656-659 |
末端合线速度,单位为m/s |
全局速度 |
byte |
1 |
1 |
660 |
全局速度百分比 |
Jog速度 |
byte |
1 |
1 |
661 |
Jog速度百分比 |
预留 |
byte |
58 |
58 |
662-719 |
|
功能数字IO输入 |
byte |
8 |
8 |
720-727 |
以一个byte表示一个bool量。 True=1,false=0。对应硬件FDI1-FDI8 |
功能数字IO输出 |
byte |
8 |
8 |
728-735 |
以一个byte表示一个bool量。 True=1,false=0。对应硬件FDO1-FDO8 |
数字IO输入 |
byte |
16 |
16 |
736-751 |
对应DI接口普通DI输入1-16。 对应硬件DI1-DI16 |
数字IO输出 |
byte |
16 |
16 |
752-767 |
对应DO接口普通DO输出1- 16。对应硬件DO1-DO16 |
模拟量输入 |
float |
8 |
32 |
768-799 |
8个模拟量输入,前4路为电流、后4路为电压。 对应硬件AI_C1-AI_C4,AI_V1-AI_V4。 取值范围详见硬件说明书。 |
模拟量输出 |
float |
8 |
32 |
800-831 |
预留 |
float寄存器输入 |
float |
32 |
128 |
832-959 |
可通过modbus、Profinet等外部接口修改 |
float寄存器输出 |
float |
32 |
128 |
960-1087 |
可通过脚本函数修改 |
功能bool寄存器输入 |
byte |
16 |
16 |
1088-1103 |
可通过modbus、Profinet等外部接口修改 |
功能bool寄存器输出 |
byte |
16 |
16 |
1104-1119 |
可通过脚本函数修改 |
bool寄存器输入 |
byte |
64 |
64 |
1120-1183 |
可通过modbus、Profinet等外部接口修改 |
bool寄存器输出 |
byte |
64 |
64 |
1184-1247 |
可通过脚本函数修改 |
word寄存器输入 |
char |
32 |
64 |
1248-1311 |
可通过modbus、Profinet等外部接口修改 |
word寄存器输出 |
char |
32 |
64 |
1312-1375 |
可通过脚本函数修改 |
预留 |
byte |
32 |
31 |
1376-1406 |
|
仿真/真机 |
byte |
1 |
1 |
1407 |
机器人仿真/真机模式 |
工具IO输入 |
byte |
8 |
8 |
1408-1415 |
工具数字输入(1-2末端输入,3-8预留)。 对应硬件工具IO数字输入1-2 |
工具IO输出 |
byte |
8 |
8 |
1416-1423 |
工具数字输出(1-2末端输出,3-8预留)。 对应硬件工具IO数字输出1-2 |
工具模拟量输入 |
float |
2 |
16 |
1424-1431 |
工具末端电压模拟量输入。取值范围0V-10V |
工具模拟量输出 |
float |
2 |
16 |
1432-1439 |
预留 |
工具按钮状态 |
byte |
2 |
2 |
1440-1441 |
以一个byte表示一个bool量。True=1,false=0。地址 1440表示S键的状态,地址1441表示T键的状态。 |
预留 |
byte |
6 |
6 |
1442-1447 |
|
机器人操作模式 |
char |
1 |
1 |
1448 |
0:kManual,1:kAuto,2:kRemote, |
机器人状态 |
char |
1 |
1 |
1449 |
0:SR_Start,1:SR_Initialize,2:SR_Logout, 3:SR_Login,4:SR_PowerOff,5:SR_Disable/SR_ PowerOn(上电未使能状态)6:SR_Enable |
机器人程序运行状态 |
char |
1 |
1 |
1450 |
0:SP_Stopped,1:SP_Stopping,2:SP_Running, 3:SP_Paused,4:SP_Pausing5:SP_TaskRunning |
安全监控状态 |
char |
1 |
1 |
1451 |
0:SS_INIT2:SS_WAIT3:SS_CONFIG 4:SS_POWER_OFF5:SS_RUN6:SS_RECOVERY 7:SS_STOP28:SS_STOP19:SS_STOP0 10:SS_MODEL12:SS_REDUCE13:SS_BOOT 14:SS_FAIL15:SS_UPDATE |
碰撞检测触发信号 |
char |
1 |
1 |
1452 |
为1表示触发碰撞检测 |
碰撞轴 |
char |
1 |
1 |
1453 |
返回值为数字。1~6表示发生碰撞的关节, 11~16表示基于底座力传感器碰撞发生的方向。 顺序为 X , Y, Z,Rx,Ry,Rz .20表示基于末 端力传感器碰撞发生 |
预留 |
byte |
2 |
2 |
1454-1455 |
|
机器人错误代码 |
uint |
1 |
4 |
1456-1459 |
机器人最新报错的错误代码,当同时出现多个错误时, 可能返回其中的任何一个错误代码。 |
预留 |
byte |
8 |
8 |
1460-1467 |