API 说明

motoman 工控机主控支持的 API

指令号

命令

支持情况

100

获取机械臂程序版本号

支持

101

发送速度数据

支持

102

发送加速度数据

支持

103

发送圆滑过渡参数

支持

104

发送工具坐标系(TCP)参数

不支持

105

设置数字量输出

支持

106

SetJointsMovej

支持

107

SetCartMovel

支持

108

SetJoinsMovel

支持

109

SetCartMovej

支持

110

MovejSequence

支持

111

MovelSequence

支持

112

SetJointsMovejDo

不支持

113

SetCartMovelDo

不支持

114

SetJointsMovelDo

不支持

115

SetJointsMovejGroupDo

不支持

116

SetCartMovelGroupDo

不支持

117

SetJointsMovelGroupDo

不支持

118

MovelUntil

不支持

119

获取数字量输入状态

支持

120

获取数字量输出状态

支持

121

获取模拟量输入口数值

不支持

122

获取机械臂当前角度

支持

123

获取机械臂当前位姿

支持

200

机械臂后台发送状态

支持

motoman工控机主控定义了一些全局变量,不允许用户使用,占用情况如下(XYZMotionInit.JBI):

B字节型

地址

含义

说明(是否用户可写)

B000

motion通讯标志位

x

B001

status通讯标志位

x

B002

内部使用

x

B003

内部使用

x

B004

内部使用

x

B005~B009

预留,请勿使用

x

I整数型

地址

含义

说明(是否用户可写)

I000

motion通讯端口号

x

I001

status通讯端口号

x

I002

speed_joint

x

I003

speed_cart

x

I004

override pl

x

I005

acc

x

I006

dec

x

I007~I019

预留,请勿使用

x

I020

接收到的cmd

x

I021

下发轨迹的点位数

x

I022

单点运动还是走轨迹

x

I023

运动类型

x

I024

error_code

x

I025~I029

预留,请勿使用

x

I030

执行轨迹中的标志位

x

I031

执行轨迹中的标志位

x

I032~I039

预留,请勿使用

x

P位置型

地址

含义

说明(是否用户可写)

P040

单点运动

x

P041~P049

预留,请勿使用

x

P050~P100

走轨迹

x

S字符串

地址

含义

说明(是否用户可写)

S000

服务器IP地址

x

motoman 机械臂主控支持的 API

motoman机械臂主控定义了一些全局变量,不允许用户占用,占用情况如下(XYZMasterInit.JBI):

B字节型

地址

含义

说明(是否用户可写)

B000

通讯标志位

x

B001

发送命令标志位

x

B002~B005

预留,请勿使用

x

I整数型

地址

含义

说明(是否用户可写)

I000

服务器端口号

I001

视觉服务id

I002

设置的token

I003

uws_id

I004

ws_id

I005~I009

预留,请勿使用

x

I010

请求的命令 封装好了,调函数即可

x

I011

error_code

read only

I012

工控机返回的token

read only

I013

(grasp_pose/object_pose/轨迹点) 数量

read only

I014

object_pose_type

read only

I015

心跳值

read only

I016

pipeline_num

read only

I017

register_num

read only

I018~I019

预留,请勿使用

x

I020~I060

轨迹点中每个点的类型

read only

P位置型

地址

含义

说明(是否用户可写)

P000

grasp_pose

read only

P001

object_pose

read only

P002

tote_pose

read only

P003~P019

预留,请勿使用

x

P020~P060

轨迹点

read only

S字符串

地址

含义

说明(是否用户可写)

S000

服务器IP地址

S001

app_name

S002

flow_name

S003

tool_name

S004

strategy_name

S005

object_name

S006~S010

预留,请勿使用

x

心跳信号()

motoplus 后台定期发送心跳信号,无需主动调用,100s更新一次心跳值到I015。

切换应用()
SET S001 "111"
CALL JOB:XYZMasterProcCmd ARGF501

输入:

  • S001:应用名称

输出:

  • I011:返回 error code

切换flow()
SET S002 "222"
CALL JOB:XYZMasterProcCmd ARGF502

输入:

  • S002:任务flow名称

输出:

  • I011:返回 error code

切换工具()
SET S003 "333"
CALL JOB:XYZMasterProcCmd ARGF503

输入:

  • S003:工具 id

输出:

  • I011:返回 error code

请求拍照()
SET I001 0
CALL JOB:XYZMasterProcCmd ARGF504
SET LI000 I012

输入:

  • I001:视觉服务id

输出:

  • I012:拍照返回的 token,随后将 I012 赋给 LI000

  • I011:返回 error code

获取拍照结果()
SET I002 LI000
CALL JOB:XYZMasterProcCmd ARGF505

输入:

  • I002: 设置token值,由拍照返回的 token LI000 传来

输出:

  • I011:返回 error code

拍照()
SET I001 0
CALL JOB:XYZMasterProcCmd ARGF506

输入:

  • I001:视觉服务id

输出:

  • I011:返回 error code

请求抓取目标点位()
SET I004 0
CALL JOB:XYZMasterProcCmd ARGF507
SET LI000 I012

输入:

  • I004:工作空间id

输出:

  • I012:返回的 token,随后将 I012 赋给 LI000

  • I011:返回 error code

获取抓取目标点位()
SET I002 LI000
CALL JOB:XYZMasterProcCmd ARGF508

输入:

  • I002:设置token值,来自于之前“请求抓取目标点位”的token返回值

输出:

  • P000:目标点位姿

  • I013:当前有多少个可供抓取的点

  • I016:pipeline文件number值

  • I017:用到的注册文件的注册number值

  • I011:返回 error code

请求物体位姿()
SET I004 0
CALL JOB:XYZMasterProcCmd ARGF509
SET LI000 I012

输入:

  • I004:工作空间id

输出:

  • I012:返回的 token,随后将 I012 赋给 LI000

  • I011:返回 error code

获取物体位姿()
SET I002 LI000
CALL JOB:XYZMasterProcCmd ARGF510

输入:

  • I002:工件位姿 token

输出:

  • P001:物体位姿

  • I013:当前物体位姿个数

  • I014:物体姿态类型

  • I011:返回 error code

重置任务()
CALL JOB:XYZMasterProcCmd ARGF511

输出:

  • I011:返回 error code

发送机械臂当前角度()
CALL JOB:XYZMasterProcCmd ARGF512

输出:

  • I011:返回 error code

发送机械臂当前笛卡尔位姿()
CALL JOB:XYZMasterProcCmd ARGF513

输出:

  • I011:返回 error code

发送机械臂当前扩展轴位置()
CALL JOB:XYZMasterProcCmd ARGF514

输出:

  • I011:返回 error code

请求pick动作规划()

暂不支持

CALL JOB:XYZMasterProcCmd ARGF515

输出:

  • I011:返回 error code

请求place动作规划()

暂不支持

CALL JOB:XYZMasterProcCmd ARGF516

输出:

  • I011:返回 error code

请求pick和place规划()
SET I003 0
CALL JOB:XYZMasterProcCmd ARGF517

输入:

  • I003: uws_id,目前先设置为0即可

输出:

  • I011:返回 error code

获取取料入框轨迹()
SET I003 0
CALL JOB:XYZMasterProcCmd ARGF518
' 随后可以直接调用轨迹执行
CALL JOB:XYZMasterExecTraj ARGF518

输入:

  • I003: uws_id,目前先设置为0即可

输出:

  • I011:返回 error code

  • I016:pipeline文件number值

  • I017:用到的注册文件的注册number值

  • 轨迹点

获取取料出框轨迹()
SET I003 0
CALL JOB:XYZMasterProcCmd ARGF519
' 随后可以直接调用轨迹执行
CALL JOB:XYZMasterExecTraj ARGF519

输入:

  • I003: uws_id,目前先设置为0即可

输出:

  • I011:返回 error code

  • I016:pipeline文件number值

  • I017:用到的注册文件的注册number值

  • 轨迹点

获取放料入框轨迹()
SET I003 0
CALL JOB:XYZMasterProcCmd ARGF520
' 随后可以直接调用轨迹执行
CALL JOB:XYZMasterExecTraj ARGF520

输入:

  • I003: uws_id,目前先设置为0即可

输出:

  • I011:返回 error code

  • I016:pipeline文件number值

  • I017:用到的注册文件的注册number值

  • 轨迹点

获取放料出框轨迹()
SET I003 0
CALL JOB:XYZMasterProcCmd ARGF521
' 随后可以直接调用轨迹执行
CALL JOB:XYZMasterExecTraj ARGF521

输入:

  • I003: uws_id,目前先设置为0即可

输出:

  • I011:返回 error code

  • I016:pipeline文件number值

  • I017:用到的注册文件的注册number值

  • 轨迹点

请求切换策略()
SET S004 "strat1"
CALL JOB:XYZMasterProcCmd ARGF522

输入:

  • S004:策略名

输出:

  • I011:返回 error code

料箱重定位()
CALL JOB:XYZMasterProcCmd ARGF523

输出:

  • P002:料框位姿

  • I011:返回 error code

工件在上手的二次定位()
CALL JOB:XYZMasterProcCmd ARGF524

输出:

  • I011:返回 error code

工件不在手上的二次定位()
CALL JOB:XYZMasterProcCmd ARGF525
' 随后可以直接调用轨迹执行
CALL JOB:XYZMasterExecTraj ARGF525

输出:

  • I011:返回 error code

  • I016:pipeline文件number值

  • I017:用到的注册文件的注册number值

  • 轨迹点

获取工件姿态类型()
CALL JOB:XYZMasterProcCmd ARGF526

输出:

  • I014:工件类型信息

  • I011:返回 error code

重置工业码垛状态()
CALL JOB:XYZMasterProcCmd ARGF527

输出:

  • I011:返回 error code

切换工件()
SET I004 0
SET S005 "obj1"
CALL JOB:XYZMasterProcCmd ARGF528

输入:

  • I004:工作空间id

  • S005:工件名称

输出:

  • I011:返回 error code

计算抓取目标点位()

该指令等价于 请求抓取目标点位 + 获取抓取目标点位

SET I004 0
CALL JOB:XYZMasterProcCmd ARGF529

输入:

  • I004:工作空间id

输出:

  • P000:目标点位姿

  • I013:当前有多少个可供抓取的点

  • I016:pipeline文件number值

  • I017:用到的注册文件的注册number值

  • I011:返回 error code

获取物体位姿()
SET I004 0
CALL JOB:XYZMasterProcCmd ARGF530

输入:

  • I004:工作空间id

输出:

  • P001:物体位姿

  • I013:当前物体位姿个数

  • I014:物体姿态类型

  • I011:返回 error code