API 说明

efort 工控机主控支持的 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

机械臂后台发送状态

支持

efort 机械臂主控支持的 API

xyzSwitchApp(app_name)

切换应用

参数

app_name (STRING) – 应用名称

返回

err_code 为 0表示 成功

xyzSwitchFlow(flow_name)

切换工件

参数

flow_name (STRING) – 流图名称

返回

err_code 为 0表示 成功

xyzSwitchTool(tool_name)

切换工具

参数

tool_name (STRING) – 工具名称

返回

err_code 为 0表示成功

xyzReqCapImg(vision_service_id)

请求拍照

参数

vision_service_id – 请求拍照的视觉服务 id

返回

err_code 为 0表示 成功

cap_img_token 返回的 token

xyzGetCapImg(cap_img_token)

获取拍照结果

参数

cap_img_token (INT) – 请求拍照时返回的 token

返回

err_code 为 0表示 成功

xyzCapImg(vision_service_id)

拍照

参数

vision_service_id – 需要进行拍照操作的视觉服务 id

返回

err_code 为 0表示 成功

xyzReqGraspPose(ws_id)

请求抓取位姿

参数

ws_id – 需要获取抓取点位的工作空间id

返回

err_code 为 0表示 成功

grasp_pose_token 返回的用于获取目标点位时使用的token

xyzGetGraspPose(grasp_pose_token)

获取抓取位姿

参数

grasp_pose_token (INT) – 求抓取目标点位时返回的token

返回

err_code 为 0表示 成功

grasp_pose 抓取位姿

grasp_pose_num 可供抓取的点数量

pipeline_num pipeline文件number

register_num 用到的注册文件的注册number

xyzReqObjPose(ws_id)

请求物体位姿

参数

ws_id (INT) – 需要获取物体位姿的工作空间id

返回

err_code 为 0表示 成功

obj_token 返回的用于物体位姿识别的token

xyzGetObjPose(obj_pose_token)

获取物体位姿

参数

obj_pose_token (INT) – 请求物体位姿时得到的token

返回

err_code 为 0表示 成功

obj_pose 物体位姿

num 物体数量

pose_type 当前返回的物体 pose 类型

xyzResetTask(ws_id)

重置任务

参数

ws_id (INT) – 需要重置的任务id

返回

err_code 为 0表示 成功

xyzSendCurrentJoints()

发送机械臂当前角度:j1~j6: 机械臂当前的角度信息,如果机械臂轴数小于6轴,则需要对应位置补零,依旧发送六个数。

返回

err_code

返回类型

INT

xyzSendCurrentCartPose()

发送机械臂法兰当前位姿

返回

err_code

返回类型

INT

xyzSendCurrentExtJoints()

暂不支持。

发送机械臂当前扩展轴位置:j1~j6: 机械臂当前扩展轴的角度信息,如果扩展轴数不足6的,需要补零后发送六个数。

返回

err_code 为 0表示 成功

xyzReqPick()

请求pick动作规划

返回

err_code 为 0表示 成功

xyzReqPlace()

请求place动作规划

返回

err_code

返回类型

INT

xyzReqPickPlace(ws_id)

请求pick和place规划

参数

ws_id (INT) – 需要抓取的工作空间id

返回

err_code 为 0表示 成功

xyzGetPickin(ws_id)

获取取料入框轨迹

参数

ws_id (INT) – 规划空间id,默认填 0

返回

err_code 为 0表示 成功

num 轨迹点数量

pipeline_num pipeline文件number

register_num 用到的注册文件的注册number

因函数不支持传出数组,轨迹点位信息这里不做输出。轨迹信息保存在功能块变量(全局变量) gInCarts, gWpType, gInJoints 中。以下轨迹均同理。

xyzGetPickout(ws_id)

获取取料出框轨迹

参数

ws_id (INT) – 规划空间id,默认填 0

返回

err_code 为 0表示 成功

num 轨迹点数量

pipeline_num pipeline文件number

register_num 用到的注册文件的注册number

xyzGetPickout(ws_id)

获取放料入框轨迹

参数

ws_id (INT) – 规划空间id,默认填 0

返回

err_code 为 0表示 成功

num 轨迹点数量

pipeline_num pipeline文件number

register_num 用到的注册文件的注册number

xyzGetPlaceout(ws_id)

获取放料出框轨迹

参数

ws_id (INT) – 规划空间id,默认填 0

返回

err_code 为 0表示 成功

num 轨迹点数量

pipeline_num pipeline文件number

register_num 用到的注册文件的注册number

xyzSwitchStrat(strat_name)

请求切换策略

参数

strat_name (string) – 策略名称

返回

err_code 为 0表示 成功

xyzUpdateTotePose()

料箱重定位

返回

err_code 为 0表示 成功

tote_pose 料箱位姿

xyzUpdateObjPoseOnHand()

工件在上手的二次定位

返回

err_code 为 0表示 成功

xyzUpdateObjPoseToHand()

工件不在手上的二次定位

返回

err_code 为 0表示 成功

num 轨迹点数量

pipeline_num pipeline文件number

register_num 用到的注册文件的注册number

xyzGetObjPoseType()

获取工件姿态类型

返回

err_code 为 0表示 成功

pose_type 工件姿态类型

xyzResetPalletStatus()

重置工业码垛状态

返回

err_code 为 0表示 成功

xyzSwitchItem(ws_id, item_codename)

切换工件

参数
  • ws_id (INT) – 工作空间id

  • item_codename (STRING) – 工件名称

返回

err_code 为 0表示 成功

xyzCalculaeGraspPose(ws_id)

计算抓取位姿

参数

ws_id (INT) – 工作空间id

返回

err_code 为 0表示 成功

grasp_pose 抓取位姿

num 物体数量

pipeline_num pipeline文件number

register_num 用到的注册文件的注册number

xyzCalculateObjectPose(ws_id)
参数

ws_id (INT) – 工作空间id

返回

err_code 为 0表示 成功

obj_pose 物体位姿

num 物体数量

pose_type 当前返回的物体 pose 类型

xyzClearUserCommandData()

清空用户自定义命令数据(使用自定义命令前,必须调用)

xyzUserCommand()

用户自定义发送数据。使用请按照参照 Main_example.

发送给工控机:

out_str :提供5个字符串供用户输入

out_ints:提供10个整数类型供用户输入

out_floats:提供10个浮点数供用户输入

out_cart_pose:cart_pose点位坐标,如果机器人是欧拉角形式,则只需给a,b,c赋值,d赋值0即可

out_joints:关节角坐标值

工控机返回:

in_str:返回5个字符串

in_ints:提供10个整数类型供用户输入:返回10个整数值

in_floats:提供10个浮点数供用户输入:返回10个浮点数

in_cart_pose:cart_pose点位坐标,如果机器人是欧拉角形式,则只需给a:返回一个笛卡尔位姿数据

in_joints:关节角坐标值:返回一个关节坐标

返回

err_code 为 0表示 成功