Skip to content

运动控制

伺服状态

说明

  • 伺服状态的设置与查询,当前已连接伺服方式的查询
  • 当前伺服状态为伺服错误时,无法通过0x3000命令修改伺服状态
  • 上位机设置机器人伺服状态

上位机设置机器人伺服状态

命令字: 0x3000

参数名类型范围说明
robotint[1,4]当前机器人号
stateint[0,1]伺服状态;0表示伺服停止,1表示伺服就绪
json
{
  "robot": 1,
  "state": 1
}

上位机查询机器人伺服状态

命令字: 0x3001

参数名类型范围说明
robotint[1,4]当前机器人号
json
{
  "robot": 1
}

控制器回复上位机机器人伺服状态

命令字: 0x3002

参数名类型范围说明
modeint[0,1]0表示单机模式,1表示多机模式
robotint[1,4]当前机器人号
stateint[0,3]伺服状态;0表示伺服停止,1表示伺服就绪,2表示伺服错误,3表示伺服运行
json
{
  "mode": 0,
  "robot": 1,
  "state": 0
}

上位机查询机器人伺服连接方式

命令字: 0x3003

json
{}

控制器回复上位机机器人伺服连接方式

命令字: 0x3004

参数名类型范围说明
servoTypeint[0,1]0表示实际伺服,1表示虚拟伺服
json
{
  "robot": 1,
  "servoType": 0
}

查询伺服连接状态

命令字: 0x3005

控制器回复

字段类型说明
robotint当前机器人号,范围 [1,4]
servoTypeint当前机器人伺服连接状态:0 实际伺服,1 虚拟伺服
json
{
  "robot": 1,
  "servoType": 0
}

操作模式

说明

  • 机器人当前操作模式的设置与查询
  • 操作模式默认为示教模式

上位机设置当前机器人操作模式

命令字: 0x3010

参数名类型范围说明
modeint[0,2]操作模式;0表示示教模式,1表示远程模式,2表示运行模式
json
{
  "mode": 0
}

上位机查询当前机器人操作模式

命令字: 0x3011

json
{}

控制器回复上位机当前机器人操作模式

命令字: 0x3012

参数名类型范围说明
modeint[0,2]操作模式;0表示示教模式,1表示远程模式,2表示运行模式
json
{
  "mode": 0
}

示教模式

说明

  • 示教模式类型的设置与查询
  • 拖拽模式运动时切换为点动模式会失败

上位机设置当前示教模式类型

命令字: 0x3020

参数名类型范围说明
teachTypeint[0,2]示教模式类型;0表示点动(单动),1表示拖拽示教,2表示点动(联动)
json
{
  "teachType": 0
}

上位机查询当前示教模式类型

命令字: 0x3021

json
{}

控制器回复上位机当前示教模式类型

命令字: 0x3022

参数名类型范围说明
typeint[0,2]示教模式类型;0表示点动(单动),1表示拖拽示教,2表示点动(联动)
json
{
  "type": 0
}

使能

说明

  • 使能状态与触发模式的设置与查询
  • 触发模式设置为硬件触发时,上下使能端口不能都为0

上位机设置使能状态

命令字: 0x3030

参数名类型范围说明
deadmanint[0,1]上下使能开关;0表示下使能,1表示上使能
deadmanmodeint-使能触发方式;默认为0,即软件触发
json
{
  "deadman": 1,
  "deadmanmode": 0
}

上位机查询使能状态

命令字: 0x3031

json
{}

控制器回复上位机使能状态

命令字: 0x3032

参数名类型范围说明
deadmanint[0,1]上下使能开关;0表示下使能,1表示上使能
json
{
  "deadman": 1
}

上位机设置机器人使能触发模式

命令字: 0x3033

参数名类型范围说明
deadmanPortOneint[0,端口总数]使能端口1(上使能端口)
deadmanPortTwoint[0,端口总数]使能端口2(下使能端口),和上使能端口不能同时为0
modeint[0,1]使能触发模式;0为软件触发,1为硬件触发
robotint[1,4]当前机器人号
json
{
  "deadmanPortOne": 14,
  "deadmanPortTwo": 2,
  "mode": 0,
  "robot": 1
}

上位机查询机器人使能触发方式

命令字: 0x3034

参数名类型范围说明
robotint[1,4]当前机器人号
json
{
  "robot": 1
}

控制器回复上位机机器人使能触发方式

命令字: 0x3035

参数名类型范围说明
deadmanPortOneint[0,端口总数]使能端口1(上使能端口)
deadmanPortTwoint[0,端口总数]使能端口2(下使能端口)
modeint[0,1]使能触发模式;0为软件触发,1为硬件触发
robotint[1,4]当前机器人号
json
{
  "deadmanPortOne": 14,
  "deadmanPortTwo": 2,
  "mode": 0,
  "robot": 1
}

上位机请求伺服上使能

命令字: 0x3036

参数名类型范围说明
robotint[1,4]当前机器人号
json
{
  "robot": 1
}

上位机请求伺服下使能

命令字: 0x3037

参数名类型范围说明
robotint[1,4]当前机器人号
json
{
  "robot": 1
}

点动坐标模式

说明

  • 机器人点动运行坐标模式的设置与查询

上位机设置机器人点动坐标模式

命令字: 0x3040

参数名类型范围说明
coordinateint[0,3]点动坐标模式;0表示关节坐标,1表示直角坐标,2表示工具坐标,3表示用户坐标
robotint[1,4]当前机器人号
json
{
  "coordinate": 1,
  "robot": 1
}

上位机查询机器人点动坐标模式

命令字: 0x3041

参数名类型范围说明
robotint[1,4]当前机器人号
json
{
  "robot": 1
}

控制器回复上位机机器人点动坐标模式

命令字: 0x3042

参数名类型范围说明
coordinateint[0,3]点动坐标模式;0表示关节坐标,1表示直角坐标,2表示工具坐标,3表示用户坐标
robotint[1,4]当前机器人号
json
{
  "coordinate": 1,
  "robot": 1
}

机器人速度

说明

  • 包括有点动模式和定距移动速度的设置与查询

上位机请求设置机器人速度参数

命令字: 0x3050

参数名类型范围说明
robotint[1,4]当前机器人号
typeint[0,2]当前速度模式;0表示点动速度,1表示关节坐标定距移动,2表示直角坐标定距移动
speedint[1,100]全局速度(%)
mocroDotSpeedACSdouble(0,2000]关节坐标定距移动(°);仅当前点动坐标为关节坐标时使用
mocroDotSpeedMCSdouble(0,2000]直角坐标定距移动(mm);当前点动坐标不为关节坐标时使用
json
{
  "robot": 1,
  "type": 0,
  "speed": 5,
  "mocroDotSpeedACS": 0.1,
  "mocroDotSpeedMCS": 0.1
}

上位机查询机器人速度参数

命令字: 0x3051

参数名类型范围说明
robotint[1,4]当前机器人号
json
{
  "robot": 1
}

控制器回复上位机机器人速度参数

命令字: 0x3052

参数名类型范围说明
robotint[1,4]当前机器人号
typeint[0,2]当前速度模式;0表示点动速度,1表示关节坐标定距移动,2表示直角坐标定距移动
speedint[1,100]全局速度
mocroDotSpeedACSdouble(0,2000]关节坐标定距移动(°)
mocroDotSpeedMCSdouble(0,2000]直角坐标定距移动(mm)
json
{
  "robot": 1,
  "type": 0,
  "speed": 5,
  "mocroDotSpeedACS": 0.1,
  "mocroDotSpeedMCS": 0.1
}

运动到点

说明

  • 包含有回零、运动到标记点、关节直线运动等操作
  • 机器人运动前需将伺服改为使能状态,否则发送以下命令机器人也不会动作

上位机请求机器人回零

命令字: 0x3070

参数名类型范围说明
isWithExternalint[0,1]是否包含外部轴
robotint[1,4]当前机器人号
json
{
  "isWithExternal": 0,
  "robot": 1
}

上位机请求机器人运行到目标点

命令字: 0x3071

RobotPos 对象:

参数名类型说明
ctypeintP 点类型;0表示 NONE_TYPE,1表示 P_TYPE,2表示 E_TYPE,3表示 RP_TYPE,4表示 AP_TYPE,5表示 GP_TYPE,6表示 GE_TYPE
dataarray点位数据列表
keystring变量名称
notestring变量注释
paraVarDataarray点位列表,对"data"节点数据进行进一步说明

data 列表说明:

  • 第一二位:坐标类型(0,0表示关节坐标,1,1表示直角坐标,2,1工具坐标,3,1用户坐标)
  • 第三位:左右手(1表示左手,2表示右手,0表示无左右手)
  • 第四五六七位:备用,默认位0
  • 第八至十四位:机器人本体坐标值(7位)
  • 第十五至十九位:外部轴坐标值(最大支持五个外部轴)

paraVarData 元素:

参数名类型范围说明
datadouble-同"data"节点
secondvalueint[0,1]0表示位置变量名固定(如 P001),1表示不固定(如 P[I001])
valueint[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 点变量
varnamestring-使用的变量名称
参数名类型范围说明
positionNamestring-目标点位名
robotint[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 对象:

参数名类型说明
ctypeintP 点类型;0表示 NONE_TYPE,1表示 P_TYPE,2表示 E_TYPE,3表示 RP_TYPE,4表示 AP_TYPE,5表示 GP_TYPE,6表示 GE_TYPE
dataarray点位数据列表(长度21)
keystring变量名称
notestring变量注释
paraVarDataarray点位列表
参数名类型范围说明
robotint[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

参数名类型说明
jobstring程序名称
robotint当前机器人号
suffixstring程序文件后缀;.JBR 表示主程序,.JBP 表示后台局部程序,.JBPG 表示后台全局程序
varstring点位名称
json
{
  "job": "WWW",
  "robot": 1,
  "suffix": ".JBR",
  "var": "P0001"
}

上位机请求机器人运行到用户坐标标定点

命令字: 0x3074

参数名类型范围说明
posTypeint[0,2]移动到点类型;0表示原点,1表示 X 值,2表示 Y 值
robotint[1,4]当前机器人号
userNumint[1,999]当前用户坐标坐标号
json
{
  "posType": 0,
  "robot": 1,
  "userNum": 1
}

上位机请求机器人运行到复位点(不含外部轴)

命令字: 0x3075

参数名类型范围说明
robotint[1,4]当前机器人号
json
{
  "robot": 1
}

上位机请求机器人运行到复位点(含外部轴)

命令字: 0x3076

参数名类型范围说明
robotint[1,4]当前机器人号
json
{
  "robot": 1
}

上位机请求机器人点到点运动到点

命令字: 0x3077

参数名类型范围说明
coordint[0,3]坐标类型;0表示关节坐标,1表示直角坐标,2表示工具坐标,3表示用户坐标
posarray目标点信息列表(长度7,机器人本体坐标)
robotint[1,4]当前机器人号
velint[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

参数名类型范围说明
coordint[0,3]坐标类型;0表示关节坐标,1表示直角坐标,2表示工具坐标,3表示用户坐标
posarray目标点信息列表(长度7,机器人本体坐标)
robotint[1,4]当前机器人号
velint[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

参数名类型范围说明
coordint[0,3]坐标类型;0表示关节坐标,1表示直角坐标,2表示工具坐标,3表示用户坐标
isFullbool-false 表示 MOVC,true 表示 MOVCA
posOnearray圆弧起始点位置信息(长度7)
posTwoarray圆弧经过中间点位置信息(长度7)
posThreearray圆弧目标点位置信息(长度7)
robotint[1,4]当前机器人号
velint[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

参数名类型范围说明
coordint[0,3]坐标类型;0表示关节坐标,1表示直角坐标,2表示工具坐标,3表示用户坐标
posarray样条曲线的轨迹点位二维数组;一维表示轨迹上的目标点位,二维机器人本体坐标(长度7)
robotint[1,4]当前机器人号
sizeint-样条曲线的点数目,最小为4
velint[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

参数名类型范围说明
coordint[0,3]坐标类型;0表示关节坐标,1表示直角坐标,2表示工具坐标,3表示用户坐标
posarray目标点信息列表(长度12,前7位为机器人本体坐标,后5位为外部轴坐标)
robotint[1,4]当前机器人号
velint[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

参数名类型范围说明
coordint[0,3]坐标类型;0表示关节坐标,1表示直角坐标,2表示工具坐标,3表示用户坐标
posarray目标点信息列表(长度12,前7位为机器人本体坐标,后5位为外部轴坐标)
robotint[1,4]当前机器人号
velint[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

参数名类型范围说明
coordint[0,3]坐标类型;0表示关节坐标,1表示直角坐标,2表示工具坐标,3表示用户坐标
posOnearray圆弧起始点位置信息(长度12,前7位为机器人本体坐标,后5位为外部轴坐标)
posTwoarray圆弧经过中间点位置信息(长度12)
posThreearray圆弧目标点位置信息(长度12)
robotint[1,4]当前机器人号
velint[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
}

上位机请求机器人门控运动

命令字: 0x3081

参数名类型范围说明
robotint[1,4]当前机器人号
ParaACCdouble-加速度
ParaDECdouble-减速度
ParaVdouble-速度
ParaPLint[0,5]平滑
aheadtypeint[0,2]提前执行类型;0表示时间,1表示距离,2表示进度
ParaAHEADdouble-提前执行值
offsetAxisint[0,2]走门型的轴
axis_offset_typeint[0,1]偏移轴的偏移方式;0表示最大高度,1表示最大坐标
para_line_or_coord_maxdouble-偏移轴最大坐标或者最大偏移量
para_straight_up_disdouble-垂直上升距离
para_straight_down_disdouble-垂直下降距离
ParaSPINint[0,1]门型运动方式;0表示关节,1表示直线
posarray长度14,前7位为机器人本体坐标,后7位为外部轴坐标目标位置
coordint[0,3]坐标类型;0表示关节坐标,1表示直角坐标,2表示工具坐标,3表示用户坐标
json
{
  "robot": 1,
  "ParaACC": 100.0,
  "ParaDEC": 100.0,
  "ParaV": 10,
  "ParaPL": 0,
  "aheadtype": 0,
  "ParaAHEAD": 5,
  "offsetAxis": 2,
  "axis_offset_type": 0,
  "para_line_or_coord_max": 1000,
  "para_straight_up_dis": 10,
  "para_straight_down_dis": 10,
  "ParaSPIN": 0,
  "pos": [791.9649933992308, -122.76709767976902, 360.000035291658, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
  "coord": 1
}

运动参数

说明

  • 上位机设置机器人运动参数

上位机设置机器人运动参数

命令字: 0x3090

参数名类型范围说明
absolutePosResolutiondouble[0.0001,0.1]绝对位置分辨率(°)
interpolationMethodint[0,2]机器人插补方式;0表示 S 型插补,1表示梯形插补,2表示加加速度插补
minTrajectTimeobject-最小加/减速度时间
minTrajectTime.minAccTimedouble[0.05,1]最小加速度时间(s)
minTrajectTime.minDecTimedouble[0.05,1]最小减速度时间(s)
runDelayTimeint[500,20000]运行延时时间(ms)
stopTimeint[240,2000]暂停时间(ms)
json
{
  "absolutePosResolution": 0.010,
  "interpolationMethod": 0,
  "minTrajectTime": {
    "minAccTime": 0.10,
    "minDecTime": 0.10
  },
  "runDelayTime": 500,
  "stopTime": 240
}

上位机查询机器人运动参数

命令字: 0x3091

参数名类型范围说明
robotint[1,4]当前机器人号
json
{
  "robot": 1
}

控制器回复上位机机器人运动参数

命令字: 0x3092

参数名类型范围说明
absolutePosResolutiondouble[0.0001,0.1]绝对位置分辨率(°)
interpolationMethodint[0,2]机器人插补方式;0表示 S 型插补,1表示梯形插补,2表示加加速度插补
minTrajectTimeobject-最小加/减速度时间
minTrajectTime.minAccTimedouble[0.05,1]最小加速度时间(s)
minTrajectTime.minDecTimedouble[0.05,1]最小减速度时间(s)
runDelayTimeint[500,20000]运行延时时间(ms)
stopTimeint[240,2000]暂停时间(ms)
json
{
  "absolutePosResolution": 0.010,
  "interpolationMethod": 0,
  "minTrajectTime": {
    "minAccTime": 0.10,
    "minDecTime": 0.10
  },
  "runDelayTime": 500,
  "stopTime": 240
}

点动

说明

  • 包括有关节/直角点动速度的设置与查询,点动灵敏度的设置与查询,开启/关闭点动操作

上位机请求进行点动操作

命令字: 0x30A0

参数名类型范围说明
axisint[1,12]当前需要运动的轴
directionint[-1,1]轴移动方向;-1表示负方向移动,1表示正方向移动
robotint[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

参数名类型范围说明
axisint[1,12]当前需要停止运动的轴
robotint[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

参数名类型范围说明
axisint-当前设置关节点动速度的轴号;范围[1,轴数]
maxAccdouble[1,1000]关节轴点动加速度(°/s)
maxSpeeddouble[1,100]关节轴最大点动速度(°/s²)
robotint[1,4]当前机器人号
json
{
  "axis": 1,
  "maxAcc": 800.0,
  "maxSpeed": 40.0,
  "robot": 1
}

上位机查询机器人轴关节点动速度

命令字: 0x30A3

参数名类型范围说明
axisint-需要查询关节点动速度的轴号;范围[1,轴数]
robotint[1,4]当前机器人号
json
{
  "axis": 1,
  "robot": 1
}

控制器回复上位机机器人轴关节点动速度

命令字: 0x30A4

参数名类型范围说明
axisint-当前设置关节点动速度的轴号
maxAccdouble[1,1000]关节轴点动加速度(°/s)
maxSpeeddouble[1,100]关节轴最大点动速度(°/s²)
robotint[1,4]当前机器人号
json
{
  "axis": 1,
  "maxAcc": 800.0,
  "maxSpeed": 40.0,
  "robot": 1
}

上位机设置机器人直角点动速度

命令字: 0x30A5

参数名类型范围说明
maxAccdouble[1,4000]直角轴点动加速度(mm/s²)
maxSpeeddouble[1,250]直角轴最大点动速度(mm/s²)
robotint[1,4]当前机器人号
json
{
  "maxAcc": 1500.0,
  "maxSpeed": 200.0,
  "robot": 1
}

上位机查询机器人直角点动速度

命令字: 0x30A6

参数名类型范围说明
robotint[1,4]当前机器人号
json
{
  "robot": 1
}

控制器回复上位机机器人直角点动速度

命令字: 0x30A7

参数名类型范围说明
maxAccdouble[1,4000]直角轴点动加速度(mm/s²)
maxSpeeddouble[1,250]直角轴最大点动速度(mm/s²)
robotint[1,4]当前机器人号
json
{
  "maxAcc": 1500.0,
  "maxSpeed": 200.0,
  "robot": 1
}

上位机设置机器人点动灵敏度

命令字: 0x30A8

参数名类型范围说明
robotint[1,4]当前机器人号
sensitivitydouble[0.001,1]点动灵敏度
json
{
  "robot": 1,
  "sensitivity": 0.0010
}

上位机查询机器人点动灵敏度

命令字: 0x30A9

参数名类型范围说明
robotint[1,4]当前机器人号
json
{
  "robot": 1
}

控制器回复上位机机器人点动灵敏度

命令字: 0x30AA

参数名类型范围说明
robotint[1,4]当前机器人号
sensitivitydouble[0.001,1]点动灵敏度
json
{
  "robot": 1,
  "sensitivity": 0.0010
}

点位坐标转换

说明

  • 机器人在各个坐标的值相互转换

上位机请求转换坐标值

命令字: 0x30C0

参数名类型说明
namestring需要转换坐标的点位名称
posarray点位数据列表
robotint当前机器人号
targetCoordint目标转换坐标;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

参数名类型说明
namestring需要转换坐标的点位名称
posarray点位数据列表(弧度制)
posDegarray点位数据列表(角度制)
resultbool转换是否成功
robotint当前机器人号
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

参数名类型范围说明
robotint[1,4]当前机器人号
toolNumint[0,9]目标工具手
toolNowNumint[0,9]当前工具手;0是无工具手
posarray需要转换的点位;元素为 double 类型数组
json
{
  "robot": 1,
  "toolNum": 1,
  "toolNowNum": 0,
  "pos": [[19998, 0, 19998, 180, 0, 0, 0], [19998, 0, 19998, 180, 0, 0, 0]]
}

控制器返回目标工具手坐标

命令字: 0x30C3

参数名类型范围说明
robotint[1,4]当前机器人号
toolNumint[0,9]目标工具手
json
{
  "robot": 1,
  "toolNum": 1,
  "pos": [[19998, 0, 19998, 180, 0, 0, 0], [19998, 0, 19998, 180, 0, 0, 0]]
}

机器人切换

说明

  • 切换当前使用的机器人

上位机请求切换当前使用机器人

命令字: 0x30D0

参数名类型范围说明
isMultiRobotbool-是否为双机协作
modeint[0,1]当前机器人模式;0表示单机模式,1表示多机模式
robotint[1,4]需要切换到的机器人号
json
{
  "isMultiRobot": false,
  "mode": 0,
  "robot": 1
}

上位机查询当前使用机器人号

命令字: 0x30D1

json
{}

控制器回复上位机当前使用机器人号

命令字: 0x30D2

参数名类型范围说明
modeint[0,1]当前机器人模式;0表示单机模式,1表示多机模式
robotint[1,4]当前机器人号
json
{
  "mode": 0,
  "robot": 1
}

上位机设置角度制或弧度制

命令字: 0x30D3

参数名类型说明
isDegbool是否为角度制;false 表示弧度制,true 表示角度制
json
{
  "isDeg": false
}

上位机设置机器人运动队列停止但不下使能

命令字: 0x30D4

参数名类型范围说明
robotint[1,4]当前机器人号
json
{
  "robot": 1
}

控制器回复当前机器人当前为角度制还是弧度制

命令字: 0x30D5

参数名类型说明
tmpDegbool是否为角度制;false 表示弧度制,true 表示角度制

注:此为0x30D3的回复,只有切换角度/弧度时才会回复

json
{
  "tmpDeg": false
}

最大加速度

说明

  • 最大加速度相关通讯

上位机查询轴最大加速度

命令字: 0x20E0

参数名类型范围说明
joint_numint-查询的轴号
json
{
  "joint_num": 1
}

控制器回复轴最大加速度

命令字: 0x20E1

参数名类型范围说明
joint_numint-轴号
max_accdouble-轴最大加速度

注:此为 0x20E0 的回复

json
{
  "joint_num": 1,
  "max_acc": 0.0
}

上位机请求测量关节最大加速度

命令字: 0x20E2

参数名类型范围说明
joint_numint-测量的轴号
json
{
  "joint_num": 1
}

上位机请求结束测量关节最大加速度

命令字: 0x20E3

注:无请求参数

json
{
}

上位机请求应用关节最大加速度

命令字: 0x20E4

注:无请求参数

json
{
}

上位机请求导出关节最大加速度数据

命令字: 0x20E5

注:无请求参数

json
{
}

上位机查询测量加速度参数

命令字: 0x20E6

参数名类型范围说明
joint_numint-查询的轴号
json
{
  "joint_num": 1
}

上位机设置测量加速度参数

命令字: 0x20E7

参数名类型说明
joint_numint轴号
jitter_ratio_threshint速度抖动比值
jitter_ratio_thresh_enablebool是否启用速度抖动比值
overshoot_limit_percentdouble速度超调百分比
overshoot_limit_percent_enablebool是否启用速度超调百分比
range_maxdouble量程上限
range_mindouble量程下限
segment_lengthdouble均速段长度
settling_time_limitdouble最大调节时间
settling_time_limit_enablebool是否启用最大调节时间
torque_fluctuation_limitint大转矩差分标准
torque_fluctuation_limit_enablebool是否启用大转矩差分标准
torque_hf_threshint转矩高频比值
torque_hf_thresh_enablebool是否启用转矩高频比值
torque_limitdouble转矩幅度
json
{
  "jitter_ratio_thresh": 0,
  "jitter_ratio_thresh_enable": true,
  "joint_num": 1,
  "overshoot_limit_percent": 1.0,
  "overshoot_limit_percent_enable": true,
  "range_max": 0.0,
  "range_min": 0.0,
  "segment_length": 20.0,
  "settling_time_limit": 20.0,
  "settling_time_limit_enable": true,
  "torque_fluctuation_limit": 0,
  "torque_fluctuation_limit_enable": true,
  "torque_hf_thresh": 0,
  "torque_hf_thresh_enable": true,
  "torque_limit": 2000.0
}

控制器回复测量加速度参数

命令字: 0x20E8

参数名类型说明
joint_numint轴号
jitter_ratio_threshint速度抖动比值
jitter_ratio_thresh_enablebool是否启用速度抖动比值
overshoot_limit_percentdouble速度超调百分比
overshoot_limit_percent_enablebool是否启用速度超调百分比
range_maxdouble量程上限
range_mindouble量程下限
segment_lengthdouble均速段长度
settling_time_limitdouble最大调节时间
settling_time_limit_enablebool是否启用最大调节时间
torque_fluctuation_limitint大转矩差分标准
torque_fluctuation_limit_enablebool是否启用大转矩差分标准
torque_hf_threshint转矩高频比值
torque_hf_thresh_enablebool是否启用转矩高频比值
torque_limitdouble转矩幅度

注:此为 0x20E6 查询后的控制器回复

json
{
  "jitter_ratio_thresh": 0,
  "jitter_ratio_thresh_enable": true,
  "joint_num": 1,
  "overshoot_limit_percent": 1,
  "overshoot_limit_percent_enable": true,
  "range_max": 0,
  "range_min": 0,
  "segment_length": 20,
  "settling_time_limit": 20,
  "settling_time_limit_enable": true,
  "torque_fluctuation_limit": 0,
  "torque_fluctuation_limit_enable": true,
  "torque_hf_thresh": 0,
  "torque_hf_thresh_enable": true,
  "torque_limit": 2000
}

控制器回复测量加速度结果

命令字: 0x20E9

参数名类型说明
conclusionstring测量结论
jitter_ratiodouble速度抖动比值实际值
jitter_ratio_threshdouble速度抖动比值阈值
joint_numint轴号
max_accdouble最大加速度
overshoot_percentdouble速度超调百分比实际值
settling_time_samplesint整定时间采样数
torque_fluctuationdouble大转矩差分实际值
torque_fluctuation_limitdouble大转矩差分阈值
torque_hf_ratiodouble转矩高频比值实际值
torque_hf_threshdouble转矩高频比值阈值

注:设置最大加速度参数0x20e7时会回复

json
{
  "conclusion": "",
  "jitter_ratio": 0,
  "jitter_ratio_thresh": 0.0,
  "joint_num": 1,
  "max_acc": 0.0,
  "overshoot_percent": 0,
  "settling_time_samples": 0,
  "torque_fluctuation": 0,
  "torque_fluctuation_limit": 0.0,
  "torque_hf_ratio": 0,
  "torque_hf_thresh": 0.0
}