Appearance
运动控制
伺服状态
说明
- 伺服状态的设置与查询,当前已连接伺服方式的查询
- 当前伺服状态为伺服错误时,无法通过0x3000命令修改伺服状态
- 上位机设置机器人伺服状态
上位机设置机器人伺服状态
命令字: 0x3000
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| robot | int | [1,4] | 当前机器人号 |
| state | int | [0,1] | 伺服状态;0表示伺服停止,1表示伺服就绪 |
json
{
"robot": 1,
"state": 1
}上位机查询机器人伺服状态
命令字: 0x3001
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| robot | int | [1,4] | 当前机器人号 |
json
{
"robot": 1
}控制器回复上位机机器人伺服状态
命令字: 0x3002
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| mode | int | [0,1] | 0表示单机模式,1表示多机模式 |
| robot | int | [1,4] | 当前机器人号 |
| state | int | [0,3] | 伺服状态;0表示伺服停止,1表示伺服就绪,2表示伺服错误,3表示伺服运行 |
json
{
"mode": 0,
"robot": 1,
"state": 0
}上位机查询机器人伺服连接方式
命令字: 0x3003
json
{}控制器回复上位机机器人伺服连接方式
命令字: 0x3004
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| servoType | int | [0,1] | 0表示实际伺服,1表示虚拟伺服 |
json
{
"robot": 1,
"servoType": 0
}查询伺服连接状态
命令字: 0x3005
控制器回复
| 字段 | 类型 | 说明 |
|---|---|---|
| robot | int | 当前机器人号,范围 [1,4] |
| servoType | int | 当前机器人伺服连接状态:0 实际伺服,1 虚拟伺服 |
json
{
"robot": 1,
"servoType": 0
}操作模式
说明
- 机器人当前操作模式的设置与查询
- 操作模式默认为示教模式
上位机设置当前机器人操作模式
命令字: 0x3010
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| mode | int | [0,2] | 操作模式;0表示示教模式,1表示远程模式,2表示运行模式 |
json
{
"mode": 0
}上位机查询当前机器人操作模式
命令字: 0x3011
json
{}控制器回复上位机当前机器人操作模式
命令字: 0x3012
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| mode | int | [0,2] | 操作模式;0表示示教模式,1表示远程模式,2表示运行模式 |
json
{
"mode": 0
}示教模式
说明
- 示教模式类型的设置与查询
- 拖拽模式运动时切换为点动模式会失败
上位机设置当前示教模式类型
命令字: 0x3020
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| teachType | int | [0,2] | 示教模式类型;0表示点动(单动),1表示拖拽示教,2表示点动(联动) |
json
{
"teachType": 0
}上位机查询当前示教模式类型
命令字: 0x3021
json
{}控制器回复上位机当前示教模式类型
命令字: 0x3022
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| type | int | [0,2] | 示教模式类型;0表示点动(单动),1表示拖拽示教,2表示点动(联动) |
json
{
"type": 0
}使能
说明
- 使能状态与触发模式的设置与查询
- 触发模式设置为硬件触发时,上下使能端口不能都为0
上位机设置使能状态
命令字: 0x3030
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| deadman | int | [0,1] | 上下使能开关;0表示下使能,1表示上使能 |
| deadmanmode | int | - | 使能触发方式;默认为0,即软件触发 |
json
{
"deadman": 1,
"deadmanmode": 0
}上位机查询使能状态
命令字: 0x3031
json
{}控制器回复上位机使能状态
命令字: 0x3032
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| deadman | int | [0,1] | 上下使能开关;0表示下使能,1表示上使能 |
json
{
"deadman": 1
}上位机设置机器人使能触发模式
命令字: 0x3033
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| deadmanPortOne | int | [0,端口总数] | 使能端口1(上使能端口) |
| deadmanPortTwo | int | [0,端口总数] | 使能端口2(下使能端口),和上使能端口不能同时为0 |
| mode | int | [0,1] | 使能触发模式;0为软件触发,1为硬件触发 |
| robot | int | [1,4] | 当前机器人号 |
json
{
"deadmanPortOne": 14,
"deadmanPortTwo": 2,
"mode": 0,
"robot": 1
}上位机查询机器人使能触发方式
命令字: 0x3034
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| robot | int | [1,4] | 当前机器人号 |
json
{
"robot": 1
}控制器回复上位机机器人使能触发方式
命令字: 0x3035
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| deadmanPortOne | int | [0,端口总数] | 使能端口1(上使能端口) |
| deadmanPortTwo | int | [0,端口总数] | 使能端口2(下使能端口) |
| mode | int | [0,1] | 使能触发模式;0为软件触发,1为硬件触发 |
| robot | int | [1,4] | 当前机器人号 |
json
{
"deadmanPortOne": 14,
"deadmanPortTwo": 2,
"mode": 0,
"robot": 1
}上位机请求伺服上使能
命令字: 0x3036
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| robot | int | [1,4] | 当前机器人号 |
json
{
"robot": 1
}上位机请求伺服下使能
命令字: 0x3037
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| robot | int | [1,4] | 当前机器人号 |
json
{
"robot": 1
}点动坐标模式
说明
- 机器人点动运行坐标模式的设置与查询
上位机设置机器人点动坐标模式
命令字: 0x3040
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| coordinate | int | [0,3] | 点动坐标模式;0表示关节坐标,1表示直角坐标,2表示工具坐标,3表示用户坐标 |
| robot | int | [1,4] | 当前机器人号 |
json
{
"coordinate": 1,
"robot": 1
}上位机查询机器人点动坐标模式
命令字: 0x3041
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| robot | int | [1,4] | 当前机器人号 |
json
{
"robot": 1
}控制器回复上位机机器人点动坐标模式
命令字: 0x3042
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| coordinate | int | [0,3] | 点动坐标模式;0表示关节坐标,1表示直角坐标,2表示工具坐标,3表示用户坐标 |
| robot | int | [1,4] | 当前机器人号 |
json
{
"coordinate": 1,
"robot": 1
}机器人速度
说明
- 包括有点动模式和定距移动速度的设置与查询
上位机请求设置机器人速度参数
命令字: 0x3050
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| robot | int | [1,4] | 当前机器人号 |
| type | int | [0,2] | 当前速度模式;0表示点动速度,1表示关节坐标定距移动,2表示直角坐标定距移动 |
| speed | int | [1,100] | 全局速度(%) |
| mocroDotSpeedACS | double | (0,2000] | 关节坐标定距移动(°);仅当前点动坐标为关节坐标时使用 |
| mocroDotSpeedMCS | double | (0,2000] | 直角坐标定距移动(mm);当前点动坐标不为关节坐标时使用 |
json
{
"robot": 1,
"type": 0,
"speed": 5,
"mocroDotSpeedACS": 0.1,
"mocroDotSpeedMCS": 0.1
}上位机查询机器人速度参数
命令字: 0x3051
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| robot | int | [1,4] | 当前机器人号 |
json
{
"robot": 1
}控制器回复上位机机器人速度参数
命令字: 0x3052
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| robot | int | [1,4] | 当前机器人号 |
| type | int | [0,2] | 当前速度模式;0表示点动速度,1表示关节坐标定距移动,2表示直角坐标定距移动 |
| speed | int | [1,100] | 全局速度 |
| mocroDotSpeedACS | double | (0,2000] | 关节坐标定距移动(°) |
| mocroDotSpeedMCS | double | (0,2000] | 直角坐标定距移动(mm) |
json
{
"robot": 1,
"type": 0,
"speed": 5,
"mocroDotSpeedACS": 0.1,
"mocroDotSpeedMCS": 0.1
}运动到点
说明
- 包含有回零、运动到标记点、关节直线运动等操作
- 机器人运动前需将伺服改为使能状态,否则发送以下命令机器人也不会动作
上位机请求机器人回零
命令字: 0x3070
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| isWithExternal | int | [0,1] | 是否包含外部轴 |
| robot | int | [1,4] | 当前机器人号 |
json
{
"isWithExternal": 0,
"robot": 1
}上位机请求机器人运行到目标点
命令字: 0x3071
RobotPos 对象:
| 参数名 | 类型 | 说明 |
|---|---|---|
| ctype | int | P点类型;0表示NONE_TYPE,1表示P_TYPE,2表示E_TYPE,3表示RP_TYPE,4表示AP_TYPE,5表示GP_TYPE,6表示GE_TYPE |
| data | array | 点位数据列表 |
| key | string | 变量名称 |
| note | string | 变量注释 |
| paraVarData | array | 点位列表,对"data"节点数据进行进一步说明 |
data 列表说明:
- 第一二位:坐标类型(0,0表示关节坐标,1,1表示直角坐标,2,1工具坐标,3,1用户坐标)
- 第三位:左右手(1表示左手,2表示右手,0表示无左右手)
- 第四五六七位:备用,默认位0
- 第八至十四位:机器人本体坐标值(7位)
- 第十五至十九位:外部轴坐标值(最大支持五个外部轴)
paraVarData 元素:
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| data | double | - | 同"data"节点 |
| secondvalue | int | [0,1] | 0表示位置变量名固定(如P001),1表示不固定(如P[I001]) |
| value | int | [0,17] | 数值类型;0表示数值类型;1表示int变量;2表示double变量;3表示bool变量;4表示全局int变量;5表示全局double变量;6表示全局bool变量;7表示string常量;8表示string变量;9表示全局string变量;10表示P点变量;11表示全局P点变量;12表示E点变量;13表示全局E点变量 |
| varname | string | - | 使用的变量名称 |
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| positionName | string | - | 目标点位名 |
| robot | int | [1,4] | 当前机器人号 |
json
{
"RobotPos": {
"ctype": 0,
"data": [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 470.7460, 0.0, 817.3340, 3.1410, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
"key": "",
"note": "",
"paraVarData": [
{"data": 1.0, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 1.0, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 470.7460, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 817.3340, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 3.1410, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""}
]
},
"positionName": "MoveToGetPoint",
"robot": 1
}上位机请求机器人外部轴运行到目标点
命令字: 0x3072
RobotPos 对象:
| 参数名 | 类型 | 说明 |
|---|---|---|
| ctype | int | P点类型;0表示NONE_TYPE,1表示P_TYPE,2表示E_TYPE,3表示RP_TYPE,4表示AP_TYPE,5表示GP_TYPE,6表示GE_TYPE |
| data | array | 点位数据列表(长度21) |
| key | string | 变量名称 |
| note | string | 变量注释 |
| paraVarData | array | 点位列表 |
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| robot | int | [1,4] | 当前机器人号 |
json
{
"RobotPos": {
"ctype": 0,
"data": [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 470.7460, 0.0, 817.3340, 3.1410, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
"key": "",
"note": "",
"paraVarData": [
{"data": 1.0, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 1.0, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 470.7460, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 817.3340, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 3.1410, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""},
{"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""}
]
},
"robot": 1
}上位机请求机器人运行到程序点
命令字: 0x3073
| 参数名 | 类型 | 说明 |
|---|---|---|
| job | string | 程序名称 |
| robot | int | 当前机器人号 |
| suffix | string | 程序文件后缀;.JBR表示主程序,.JBP表示后台局部程序,.JBPG表示后台全局程序 |
| var | string | 点位名称 |
json
{
"job": "WWW",
"robot": 1,
"suffix": ".JBR",
"var": "P0001"
}上位机请求机器人运行到用户坐标标定点
命令字: 0x3074
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| posType | int | [0,2] | 移动到点类型;0表示原点,1表示X值,2表示Y值 |
| robot | int | [1,4] | 当前机器人号 |
| userNum | int | [1,999] | 当前用户坐标坐标号 |
json
{
"posType": 0,
"robot": 1,
"userNum": 1
}上位机请求机器人运行到复位点(不含外部轴)
命令字: 0x3075
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| robot | int | [1,4] | 当前机器人号 |
json
{
"robot": 1
}上位机请求机器人运行到复位点(含外部轴)
命令字: 0x3076
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| robot | int | [1,4] | 当前机器人号 |
json
{
"robot": 1
}上位机请求机器人点到点运动到点
命令字: 0x3077
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| coord | int | [0,3] | 坐标类型;0表示关节坐标,1表示直角坐标,2表示工具坐标,3表示用户坐标 |
| pos | array | 目标点信息列表(长度7,机器人本体坐标) | |
| robot | int | [1,4] | 当前机器人号 |
| vel | int | [1,100] | 运行速度 |
json
{
"coord": 0,
"pos": [0.0, 10.2, 0.0, 0.0, 0.0, 0.0, 0.0],
"robot": 1,
"vel": 5
}上位机请求机器人直线运动到点
命令字: 0x3078
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| coord | int | [0,3] | 坐标类型;0表示关节坐标,1表示直角坐标,2表示工具坐标,3表示用户坐标 |
| pos | array | 目标点信息列表(长度7,机器人本体坐标) | |
| robot | int | [1,4] | 当前机器人号 |
| vel | int | [1,100] | 运行速度 |
json
{
"coord": 0,
"pos": [0.0, 10.2, 0.0, 0.0, 0.0, 0.0, 0.0],
"robot": 1,
"vel": 5
}上位机请求机器人圆弧运动到点
命令字: 0x3079
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| coord | int | [0,3] | 坐标类型;0表示关节坐标,1表示直角坐标,2表示工具坐标,3表示用户坐标 |
| isFull | bool | - | false表示MOVC,true表示MOVCA |
| posOne | array | 圆弧起始点位置信息(长度7) | |
| posTwo | array | 圆弧经过中间点位置信息(长度7) | |
| posThree | array | 圆弧目标点位置信息(长度7) | |
| robot | int | [1,4] | 当前机器人号 |
| vel | int | [1,100] | 运行速度 |
json
{
"coord": 0,
"isFull": false,
"posOne": [0.0, 10.2, 0.0, 0.0, 0.0, 0.0, 0.0],
"posTwo": [0.0, 15.3, 0.0, 0.0, 0.0, 0.0, 0.0],
"posThree": [0.0, 20.4, 0.0, 0.0, 0.0, 0.0, 0.0],
"robot": 1,
"vel": 5
}上位机请求机器人样条曲线运动到点
命令字: 0x307A
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| coord | int | [0,3] | 坐标类型;0表示关节坐标,1表示直角坐标,2表示工具坐标,3表示用户坐标 |
| pos | array | 样条曲线的轨迹点位二维数组;一维表示轨迹上的目标点位,二维机器人本体坐标(长度7) | |
| robot | int | [1,4] | 当前机器人号 |
| size | int | - | 样条曲线的点数目,最小为4 |
| vel | int | [1,100] | 运行速度 |
json
{
"coord": 0,
"pos": [
[0.0, 10.2, 0.0, 0.0, 0.0, 0.0, 0.0],
[0.0, 15.3, 0.0, 0.0, 0.0, 0.0, 0.0],
[0.0, 20.4, 0.0, 0.0, 0.0, 0.0, 0.0],
[0.0, 25.5, 0.0, 0.0, 0.0, 0.0, 0.0]
],
"robot": 1,
"size": 4,
"vel": 5
}上位机请求机器人外部轴点到点运动到点
命令字: 0x307B
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| coord | int | [0,3] | 坐标类型;0表示关节坐标,1表示直角坐标,2表示工具坐标,3表示用户坐标 |
| pos | array | 目标点信息列表(长度12,前7位为机器人本体坐标,后5位为外部轴坐标) | |
| robot | int | [1,4] | 当前机器人号 |
| vel | int | [1,100] | 运行速度 |
json
{
"coord": 0,
"pos": [0.0, 10.2, 0.0, 0.0, 0.0, 0.0, 0.0, 7.1, 0.0, 0.0, 0.0, 0.0],
"robot": 1,
"vel": 5
}上位机请求机器人外部轴直线运动到点
命令字: 0x307C
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| coord | int | [0,3] | 坐标类型;0表示关节坐标,1表示直角坐标,2表示工具坐标,3表示用户坐标 |
| pos | array | 目标点信息列表(长度12,前7位为机器人本体坐标,后5位为外部轴坐标) | |
| robot | int | [1,4] | 当前机器人号 |
| vel | int | [1,100] | 运行速度 |
json
{
"coord": 0,
"pos": [0.0, 10.2, 0.0, 0.0, 0.0, 0.0, 0.0, 7.1, 0.0, 0.0, 0.0, 0.0],
"robot": 1,
"vel": 5
}上位机请求机器人外部轴圆弧运动到点
命令字: 0x307D
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| coord | int | [0,3] | 坐标类型;0表示关节坐标,1表示直角坐标,2表示工具坐标,3表示用户坐标 |
| posOne | array | 圆弧起始点位置信息(长度12,前7位为机器人本体坐标,后5位为外部轴坐标) | |
| posTwo | array | 圆弧经过中间点位置信息(长度12) | |
| posThree | array | 圆弧目标点位置信息(长度12) | |
| robot | int | [1,4] | 当前机器人号 |
| vel | int | [1,100] | 运行速度 |
json
{
"coord": 0,
"posOne": [0.0, 10.2, 0.0, 0.0, 0.0, 0.0, 0.0, 7.1, 0.0, 0.0, 0.0, 0.0],
"posTwo": [0.0, 15.3, 0.0, 0.0, 0.0, 0.0, 0.0, 14.2, 0.0, 0.0, 0.0, 0.0],
"posThree": [0.0, 20.4, 0.0, 0.0, 0.0, 0.0, 0.0, 21.3, 0.0, 0.0, 0.0, 0.0],
"robot": 1,
"vel": 5
}运动参数
说明
- 上位机设置机器人运动参数
上位机设置机器人运动参数
命令字: 0x3090
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| absolutePosResolution | double | [0.0001,0.1] | 绝对位置分辨率(°) |
| interpolationMethod | int | [0,2] | 机器人插补方式;0表示S型插补,1表示梯形插补,2表示加加速度插补 |
| minTrajectTime | object | - | 最小加/减速度时间 |
| minTrajectTime.minAccTime | double | [0.05,1] | 最小加速度时间(s) |
| minTrajectTime.minDecTime | double | [0.05,1] | 最小减速度时间(s) |
| runDelayTime | int | [500,20000] | 运行延时时间(ms) |
| stopTime | int | [240,2000] | 暂停时间(ms) |
json
{
"absolutePosResolution": 0.010,
"interpolationMethod": 0,
"minTrajectTime": {
"minAccTime": 0.10,
"minDecTime": 0.10
},
"runDelayTime": 500,
"stopTime": 240
}上位机查询机器人运动参数
命令字: 0x3091
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| robot | int | [1,4] | 当前机器人号 |
json
{
"robot": 1
}控制器回复上位机机器人运动参数
命令字: 0x3092
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| absolutePosResolution | double | [0.0001,0.1] | 绝对位置分辨率(°) |
| interpolationMethod | int | [0,2] | 机器人插补方式;0表示S型插补,1表示梯形插补,2表示加加速度插补 |
| minTrajectTime | object | - | 最小加/减速度时间 |
| minTrajectTime.minAccTime | double | [0.05,1] | 最小加速度时间(s) |
| minTrajectTime.minDecTime | double | [0.05,1] | 最小减速度时间(s) |
| runDelayTime | int | [500,20000] | 运行延时时间(ms) |
| stopTime | int | [240,2000] | 暂停时间(ms) |
json
{
"absolutePosResolution": 0.010,
"interpolationMethod": 0,
"minTrajectTime": {
"minAccTime": 0.10,
"minDecTime": 0.10
},
"runDelayTime": 500,
"stopTime": 240
}点动
说明
- 包括有关节/直角点动速度的设置与查询,点动灵敏度的设置与查询,开启/关闭点动操作
上位机请求进行点动操作
命令字: 0x30A0
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| axis | int | [1,12] | 当前需要运动的轴 |
| direction | int | [-1,1] | 轴移动方向;-1表示负方向移动,1表示正方向移动 |
| robot | int | [1,4] | 当前机器人号 |
axis 参数说明:
- 关节坐标时:表示对应的轴,从8开始为外部轴
- 直角坐标时:按顺序分别表示X轴、Y轴、Z轴、A轴、B轴、C轴
- 工具坐标时:按顺序分别表示TX轴、TY轴、TZ轴、TA轴、TB轴、TC轴
- 用户坐标时:按顺序分别表示UX轴、UY轴、UZ轴、UA轴、UB轴、UC轴
json
{
"axis": 1,
"direction": 1,
"robot": 1
}上位机请求停止点动操作
命令字: 0x30A1
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| axis | int | [1,12] | 当前需要停止运动的轴 |
| robot | int | [1,4] | 当前机器人号 |
axis 参数说明:
- 关节坐标时:表示对应的轴,从8开始为外部轴
- 直角坐标时:按顺序分别表示X轴、Y轴、Z轴、A轴、B轴、C轴
- 工具坐标时:按顺序分别表示TX轴、TY轴、TZ轴、TA轴、TB轴、TC轴
- 用户坐标时:按顺序分别表示UX轴、UY轴、UZ轴、UA轴、UB轴、UC轴
json
{
"axis": 1,
"robot": 1
}上位机设置机器人轴关节点动速度
命令字: 0x30A2
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| axis | int | - | 当前设置关节点动速度的轴号;范围[1,轴数] |
| maxAcc | double | [1,1000] | 关节轴点动加速度(°/s) |
| maxSpeed | double | [1,100] | 关节轴最大点动速度(°/s²) |
| robot | int | [1,4] | 当前机器人号 |
json
{
"axis": 1,
"maxAcc": 800.0,
"maxSpeed": 40.0,
"robot": 1
}上位机查询机器人轴关节点动速度
命令字: 0x30A3
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| axis | int | - | 需要查询关节点动速度的轴号;范围[1,轴数] |
| robot | int | [1,4] | 当前机器人号 |
json
{
"axis": 1,
"robot": 1
}控制器回复上位机机器人轴关节点动速度
命令字: 0x30A4
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| axis | int | - | 当前设置关节点动速度的轴号 |
| maxAcc | double | [1,1000] | 关节轴点动加速度(°/s) |
| maxSpeed | double | [1,100] | 关节轴最大点动速度(°/s²) |
| robot | int | [1,4] | 当前机器人号 |
json
{
"axis": 1,
"maxAcc": 800.0,
"maxSpeed": 40.0,
"robot": 1
}上位机设置机器人直角点动速度
命令字: 0x30A5
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| maxAcc | double | [1,4000] | 直角轴点动加速度(mm/s²) |
| maxSpeed | double | [1,250] | 直角轴最大点动速度(mm/s²) |
| robot | int | [1,4] | 当前机器人号 |
json
{
"maxAcc": 1500.0,
"maxSpeed": 200.0,
"robot": 1
}上位机查询机器人直角点动速度
命令字: 0x30A6
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| robot | int | [1,4] | 当前机器人号 |
json
{
"robot": 1
}控制器回复上位机机器人直角点动速度
命令字: 0x30A7
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| maxAcc | double | [1,4000] | 直角轴点动加速度(mm/s²) |
| maxSpeed | double | [1,250] | 直角轴最大点动速度(mm/s²) |
| robot | int | [1,4] | 当前机器人号 |
json
{
"maxAcc": 1500.0,
"maxSpeed": 200.0,
"robot": 1
}上位机设置机器人点动灵敏度
命令字: 0x30A8
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| robot | int | [1,4] | 当前机器人号 |
| sensitivity | double | [0.001,1] | 点动灵敏度 |
json
{
"robot": 1,
"sensitivity": 0.0010
}上位机查询机器人点动灵敏度
命令字: 0x30A9
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| robot | int | [1,4] | 当前机器人号 |
json
{
"robot": 1
}控制器回复上位机机器人点动灵敏度
命令字: 0x30AA
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| robot | int | [1,4] | 当前机器人号 |
| sensitivity | double | [0.001,1] | 点动灵敏度 |
json
{
"robot": 1,
"sensitivity": 0.0010
}点位坐标转换
说明
- 机器人在各个坐标的值相互转换
上位机请求转换坐标值
命令字: 0x30C0
| 参数名 | 类型 | 说明 |
|---|---|---|
| name | string | 需要转换坐标的点位名称 |
| pos | array | 点位数据列表 |
| robot | int | 当前机器人号 |
| targetCoord | int | 目标转换坐标;0表示关节坐标,1表示直角坐标,2表示工具坐标,3表示用户坐标 |
pos 列表说明:
- 第一二位:坐标类型(0,0表示关节坐标,1,1表示直角坐标,2,1工具坐标,3,1用户坐标)
- 第三位:当前点位姿态
- 第四位:当前点位的工具手号
- 第五位:当前点位的用户坐标号
- 第六七位:备用
- 后七位:当前点在当前坐标系下的位置信息
json
{
"name": "P0002",
"pos": [0, 0.0, 8.0, 0.0, 1.0, 0.0, 0.0, 0.0, 10.20, 0.0, 0.0, 0.0, 0.0, 0.0],
"robot": 1,
"targetCoord": 1
}控制器回复上位机转换后的坐标值
命令字: 0x30C1
| 参数名 | 类型 | 说明 |
|---|---|---|
| name | string | 需要转换坐标的点位名称 |
| pos | array | 点位数据列表(弧度制) |
| posDeg | array | 点位数据列表(角度制) |
| result | bool | 转换是否成功 |
| robot | int | 当前机器人号 |
json
{
"name": "P0002",
"pos": [1, 1, 8.0, 0.0, 1.0, 0.0, 0.0, 387.623217660095, 0.0, 894.038513201144, -3.14159265359, 0.178023583703, 0.0, 0.0],
"posDeg": [1, 1, 8.0, 0.0, 1.0, 0.0, 0.0, 387.623217660095, 0.0, 894.038513201144, -180.0, 10.2, 0.0, 0.0],
"result": true,
"robot": 1
}上位机发送获取任意工具手下位置
命令字: 0x30C2
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| robot | int | [1,4] | 当前机器人号 |
| toolNum | int | [0,9] | 目标工具手 |
| toolNowNum | int | [0,9] | 当前工具手;0是无工具手 |
| pos | array | 需要转换的点位;元素为double类型数组 |
json
{
"robot": 1,
"toolNum": 1,
"toolNowNum": 0,
"pos": [[19998, 0, 19998, 180, 0, 0, 0], [19998, 0, 19998, 180, 0, 0, 0]]
}控制器返回目标工具手坐标
命令字: 0x30C3
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| robot | int | [1,4] | 当前机器人号 |
| toolNum | int | [0,9] | 目标工具手 |
json
{
"robot": 1,
"toolNum": 1,
"pos": [[19998, 0, 19998, 180, 0, 0, 0], [19998, 0, 19998, 180, 0, 0, 0]]
}机器人切换
说明
- 切换当前使用的机器人
上位机请求切换当前使用机器人
命令字: 0x30D0
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| isMultiRobot | bool | - | 是否为双机协作 |
| mode | int | [0,1] | 当前机器人模式;0表示单机模式,1表示多机模式 |
| robot | int | [1,4] | 需要切换到的机器人号 |
json
{
"isMultiRobot": false,
"mode": 0,
"robot": 1
}上位机查询当前使用机器人号
命令字: 0x30D1
json
{}控制器回复上位机当前使用机器人号
命令字: 0x30D2
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| mode | int | [0,1] | 当前机器人模式;0表示单机模式,1表示多机模式 |
| robot | int | [1,4] | 当前机器人号 |
json
{
"mode": 0,
"robot": 1
}上位机设置角度制或弧度制
命令字: 0x30D3
| 参数名 | 类型 | 说明 |
|---|---|---|
| isDeg | bool | 是否为角度制;false表示弧度制,true表示角度制 |
json
{
"isDeg": false
}上位机设置机器人运动队列停止但不下使能
命令字: 0x30D4
| 参数名 | 类型 | 范围 | 说明 |
|---|---|---|---|
| robot | int | [1,4] | 当前机器人号 |
json
{
"robot": 1
}控制器回复当前机器人当前为角度制还是弧度制
命令字: 0x30D5
| 参数名 | 类型 | 说明 |
|---|---|---|
| tmpDeg | bool | 是否为角度制;false表示弧度制,true表示角度制 |
注:此为0x30D3的回复,只有切换角度/弧度时才会回复
json
{
"tmpDeg": false
}