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

参数名类型说明
robotJointMaxJogVelarray关节坐标最大点动速度,double 数组,长度为当前机器人轴数
robotJointMaxJogAccarray关节最大点动加速度,double 数组,长度为当前机器人轴数
posMaxJogVeldouble姿态角速度
lineMaxJogVeldouble直线坐标最大点动速度
lineMaxJogAccdouble直线坐标最大点动加速度
sensitivitydouble点动灵敏度
externAxisarray外部轴点动参数列表,元素为 object
externAxis.MaxJogVelarray外部轴最大点动速度,double 数组
externAxis.MaxJogAccarray外部轴最大点动加速度,double 数组
json
{
  "robotJointMaxJogVel": [100.0, 100.0],
  "robotJointMaxJogAcc": [100.0, 100.0],
  "posMaxJogVel": 100.0,
  "lineMaxJogVel": 100.0,
  "lineMaxJogAcc": 100.0,
  "sensitivity": 0.001,
  "externAxis": [
    {
      "MaxJogVel": [1.0, 1.0],
      "MaxJogAcc": [1.0, 1.0]
    },
    {
      "MaxJogVel": [1.0, 1.0],
      "MaxJogAcc": [1.0, 1.0]
    }
  ]
}

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

命令字: 0x30A3

无请求参数

json
{}

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

命令字: 0x30A4

回复参数同设置参数一致。

json
{
  "robotJointMaxJogVel": [100.0, 100.0],
  "robotJointMaxJogAcc": [100.0, 100.0],
  "posMaxJogVel": 100.0,
  "lineMaxJogVel": 100.0,
  "lineMaxJogAcc": 100.0,
  "sensitivity": 0.001,
  "externAxis": [
    {
      "MaxJogVel": [1.0, 1.0],
      "MaxJogAcc": [1.0, 1.0]
    },
    {
      "MaxJogVel": [1.0, 1.0],
      "MaxJogAcc": [1.0, 1.0]
    }
  ]
}

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

命令字: 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
}

Arch 参数

说明

  • 机器人模型 Arch 参数(垂直上升/下降距离)的查询与设置

上位机查询机器人模型 Arch 参数

命令字: 0x30D9

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

控制器回复上位机机器人模型 Arch 参数

命令字: 0x30DA

参数名类型范围说明
robotint[1,4]当前机器人号
straight_down_disarray-垂直下降距离列表
straight_up_disarray-垂直上升距离列表
json
{
  "robot": 1,
  "straight_down_dis": [30.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0],
  "straight_up_dis": [30.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0]
}

上位机设置机器人模型 Arch 参数

命令字: 0x30DB

参数名类型范围说明
straight_down_disarray-垂直下降距离列表
straight_up_disarray-垂直上升距离列表
json
{
  "straight_down_dis": [30.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0],
  "straight_up_dis": [30.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0]
}

耦合比

说明

  • 耦合比相关通讯

上位机下发设置耦合比

命令字: 0x20E0

参数名类型范围说明
robotNumint[1,4]当前机器人
axisCoupleParaarray-新增耦合轴组,元素为 object
axisCouplePara.drivingAxisNumint-选取主动轴
axisCouplePara.drivenAxisNumarray-选取带动轴,int 类型数组
axisCouplePara.coupleRatioarray-填写耦合比,double 类型数组
json
{
  "robotNum": 1,
  "axisCouplePara": [
    {
      "drivingAxisNum": 1,
      "drivenAxisNum": [2, 3, 4],
      "coupleRatio": [1.0, 2.0, 3.0]
    },
    {
      "drivingAxisNum": 5,
      "drivenAxisNum": [6],
      "coupleRatio": [4.4]
    }
  ]
}

上位机下发查询耦合比

命令字: 0x20E1

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

控制器回复耦合比

命令字: 0x20E2

注:控制器收到 0x20E0 命令后回复,内容与 0x20E0 相同

json
{
  "robotNum": 1,
  "axisCouplePara": [
    {
      "drivingAxisNum": 1,
      "drivenAxisNum": [2, 3, 4],
      "coupleRatio": [1.0, 2.0, 3.0]
    },
    {
      "drivingAxisNum": 5,
      "drivenAxisNum": [6],
      "coupleRatio": [4.4]
    }
  ]
}

动态限位

说明

  • 动态限位相关通讯

上位机下发设置动态限位

命令字: 0x20E3

参数名类型范围说明
robotNumint[1,4]当前机器人
dynamicPosLimitParaarray-新增轴组动态限位,元素为 object
dynamicPosLimitPara.relatedAxisNumarray-选取关联轴组,int 类型数组
dynamicPosLimitPara.maxPosdouble-填写动态限位最大值
dynamicPosLimitPara.minPosdouble-填写动态限位最小值
json
{
  "robotNum": 1,
  "dynamicPosLimitPara": [
    {
      "relatedAxisNum": [2, 3, 4],
      "maxPos": 180.0,
      "minPos": -90.0
    },
    {
      "relatedAxisNum": [2, 5, 6],
      "maxPos": 170.0,
      "minPos": -160.0
    }
  ]
}

上位机下发查询动态限位

命令字: 0x20E4

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

控制器回复动态限位

命令字: 0x20E5

注:控制器收到 0x20E4 命令后回复,内容与 0x20E3 相同

json
{
  "robotNum": 1,
  "dynamicPosLimitPara": [
    {
      "relatedAxisNum": [2, 3, 4],
      "maxPos": 180.0,
      "minPos": -90.0
    },
    {
      "relatedAxisNum": [2, 5, 6],
      "maxPos": 170.0,
      "minPos": -160.0
    }
  ]
}

速度设置

说明

  • 速度设置相关通讯

上位机设置速度参数

命令字: 0x20E6

参数名类型说明
speedsettingobject速度设置参数对象

speedsetting 参数:

参数名类型说明
attitudespeedVRdouble姿态速度
externaxispeedVJEdouble外部轴速度
jointspeedVJdouble关节速度
linearspeedVdouble线速度
json
{
  "speedsetting": {
    "attitudespeedVR": 10.0,
    "externaxispeedVJE": 10.0,
    "jointspeedVJ": 10.0,
    "linearspeedV": 100.0
  }
}

安装位置

说明

  • 安装角度偏移量为以正装为初始安装方式后绕自身坐标轴旋转的角度。
  • 正装 = (0°,0°,0°);倒装 = (0°,180°,0°)。

上位机设置机器人安装角度

命令字: 0x20E9

参数名类型范围说明
mountAnglearray-安装角度偏移列表,长度为3;依次为绕 X/Y/Z 轴旋转偏移角度(°)
robotNumint[1,4]实际设置的机器人号
json
{
  "mountAngle": [0.0, 0.0, 0.0],
  "robotNum": 2
}

上位机查询机器人安装角度

命令字: 0x20EA

参数名类型范围说明
robotNumint[1,4]实际读取的机器人号
json
{
  "robotNum": 2
}

控制器回复机器人安装角度

命令字: 0x20EB

参数名类型范围说明
mountAnglearray-安装角度偏移列表,长度为3;依次为绕 X/Y/Z 轴旋转偏移角度(°)
robotNumint[1,4]实际读取的机器人号
json
{
  "mountAngle": [0.0, 0.0, 0.0],
  "robotNum": 2
}

上位机查询速度参数

命令字: 0x20E7

无请求参数


控制器回复速度参数

命令字: 0x20E8

参数名类型说明
speedsettingobject速度设置参数对象

speedsetting 参数:

参数名类型说明
attitudespeedVRdouble姿态速度
externaxispeedVJEdouble外部轴速度
jointspeedVJdouble关节速度
linearspeedVdouble线速度
json
{
  "speedsetting": {
    "attitudespeedVR": 10.0,
    "externaxispeedVJE": 10.0,
    "jointspeedVJ": 10.0,
    "linearspeedV": 100.0
  }
}