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