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
}

运动参数

说明

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

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

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