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
- xyzConnectSocket()
连接服务端(工控机)
- xyzSwitchTask(task_codename)
切换任务
- 参数
task_codename (STRING) – 任务代号
- 返回
err_code(DINT)
- xyzSwitchTool(tool_id)
切换工具
- 参数
tool_id (DINT) – 工具id
- 返回
err_code(DINT)
- xyzCallVisionCmd(vs_id, vision_codename)
呼叫视觉命令
- 参数
vs_id (DINT) – 视觉服务id
vision_codename (STRING) – 视觉命令代号
- 返回
err_code(DINT)
- xyzReqGraspPose(vs_id)
请求抓取目标点位
- 参数
vs_id (DINT) – 视觉服务id
- 返回
err_code(DINT)
- 返回
token(DINT): 在执行”获取抓取目标点位“时使用到
- xyzGetGraspPose(token)
获取抓取目标点位
- 参数
token (DINT) – “请求抓取目标点位”中返回的token
- 返回
err_code(DINT)
- 返回
grasp_pose(POINTC): 抓取位姿
- 返回
num(DINT): 当前可供抓取的点位数量
- 返回
pipeline_num(DINT): 运动流程编号
- 返回
register_num(DINT): 抓取序号
- 返回
int1(DINT): 可在Task中自定义含义
- 返回
int2(DINT): 可在Task中自定义含义
- 返回
int3(DINT): 可在Task中自定义含义
- 返回
int4(DINT): 可在Task中自定义含义
- 返回
int5(DINT): 可在Task中自定义含义
- 返回
int6(DINT): 可在Task中自定义含义
- xyzReqObjPose(vs_id)
请求物体位姿
- 参数
vs_id (DINT) – 视觉服务id
- 返回
err_code(DINT)
- 返回
token(DINT): 在执行”获取物体位姿“时使用到
- xyzGetObjPose(token)
获取物体位姿
- 参数
token (DINT) – “请求物体位姿”中返回的token
- 返回
err_code(DINT)
- 返回
obj_pose(POINTC): 物体的位姿数据
- 返回
num(DINT): 当前物体位姿个数
- 返回
int1(DINT): 可在Task中自定义含义
- 返回
int2(DINT): 可在Task中自定义含义
- 返回
int3(DINT): 可在Task中自定义含义
- 返回
int4(DINT): 可在Task中自定义含义
- 返回
int5(DINT): 可在Task中自定义含义
- 返回
int6(DINT): 可在Task中自定义含义
- xyzResetTask()
重置任务
- 返回
err_code(DINT)
- xyzSendCurrentJoints()
发送机器人当前关节坐标
- 返回
err_code(DINT)
- xyzSendCurrentCartPose()
发送机器人当前笛卡尔坐标
- 返回
err_code(DINT)
- xyzSendCurrentExtJoints()
发送机器人当前扩展轴坐标,暂不支持
- xyzReqPickPlace(vs_id)
请求抓放规划
- 参数
vs_id (DINT) – 视觉服务id
- 返回
err_code(DINT)
- xyzGetPickin(vs_id)
获取取料入框轨迹
- 参数
vs_id (DINT) – 视觉服务id
- 返回
err_code(DINT)
- 返回
num(DINT): 轨迹点数量
- 返回
pipeline_num(DINT): 运动流程编号
- 返回
register_num(DINT): 抓取序号
- 返回
轨迹:因函数不支持传出数组,轨迹点位信息这里不做函数输出,而是将轨迹信息保存在功能块变量(全局变量) gInCarts, gWpType, gInJoints 中
- xyzGetPickout(vs_id)
获取取料出框轨迹
- 参数
vs_id (DINT) – 视觉服务id
- 返回
err_code(DINT)
- 返回
num(DINT): 轨迹点数量
- 返回
pipeline_num(DINT): 运动流程编号
- 返回
register_num(DINT): 抓取序号
- 返回
轨迹:因函数不支持传出数组,轨迹点位信息这里不做函数输出,而是将轨迹信息保存在功能块变量(全局变量) gInCarts, gWpType, gInJoints 中
- xyzGetPlaceIn(vs_id)
获取放料入框轨迹
- 参数
vs_id (DINT) – 视觉服务id
- 返回
err_code(DINT)
- 返回
num(DINT): 轨迹点数量
- 返回
pipeline_num(DINT): 运动流程编号
- 返回
register_num(DINT): 抓取序号
- 返回
轨迹:因函数不支持传出数组,轨迹点位信息这里不做函数输出,而是将轨迹信息保存在功能块变量(全局变量) gInCarts, gWpType, gInJoints 中
- xyzGetPlaceOut(vs_id)
获取放料出框轨迹
- 参数
vs_id (DINT) – 视觉服务id
- 返回
err_code(DINT)
- 返回
num(DINT): 轨迹点数量
- 返回
pipeline_num(DINT): 运动流程编号
- 返回
register_num(DINT): 抓取序号
- 返回
轨迹:因函数不支持传出数组,轨迹点位信息这里不做函数输出,而是将轨迹信息保存在功能块变量(全局变量) gInCarts, gWpType, gInJoints 中
- xyzExecutePickInTraj(num)
用于执行PickIn轨迹,特点是执行最后一个轨迹点时速度较慢。
具体速度、圆滑等参数可以根据需要自行修改
- 参数
num (DINT) – 轨迹点的点位数量
- xyzExecutePickOutTraj(num)
用于执行PickOut轨迹,特点是第一个轨迹点执行速度较慢。
具体速度、圆滑等参数可以根据需要自行修改
- 参数
num (DINT) – 轨迹点的点位数量
- xyzExecuteTraj(num)
用于执行轨迹,特点是全程用一个速度、圆滑参数。
具体速度、圆滑等参数可以根据需要自行修改
- 参数
num (DINT) – 轨迹点的点位数量
- xyzUpdateTotePose(vs_id)
料箱重定位
- 参数
vs_id (DINT) – 视觉服务id
- 返回
err_code(DINT)
- xyzUpdateObjPoseInHand()
工件在手上的二次定位
- 返回
err_code(DINT)
- 返回
place_pose(POINTC): 放置位姿数据
- xyzSwitchItem(vs_id, item_codename)
切换工件
- 参数
vs_id (DINT) – 视觉服务id
item_codename (STRING) – 工件代号
- 返回
err_code(DINT)
- xyzCalculateGraspPose(vs_id)
计算抓取目标点位
- 参数
vs_id (DINT) – 视觉服务id
- 返回
err_code(DINT)
- 返回
grasp_pose(POINTC): 抓取位姿
- 返回
num(DINT): 当前可供抓取的点位数量
- 返回
pipeline_num(DINT): 运动流程编号
- 返回
register_num(DINT): 抓取序号
- 返回
int1(DINT): 可在Task中自定义含义
- 返回
int2(DINT): 可在Task中自定义含义
- 返回
int3(DINT): 可在Task中自定义含义
- 返回
int4(DINT): 可在Task中自定义含义
- 返回
int5(DINT): 可在Task中自定义含义
- 返回
int6(DINT): 可在Task中自定义含义
- xyzCalculateObjectPose(vs_id)
计算物体位姿
- 参数
vs_id (DINT) – 视觉服务id
- 返回
err_code(DINT)
- 返回
obj_pose(POINTC): 物体的位姿数据
- 返回
num(DINT): 当前物体位姿个数
- 返回
int1(DINT): 可在Task中自定义含义
- 返回
int2(DINT): 可在Task中自定义含义
- 返回
int3(DINT): 可在Task中自定义含义
- 返回
int4(DINT): 可在Task中自定义含义
- 返回
int5(DINT): 可在Task中自定义含义
- 返回
int6(DINT): 可在Task中自定义含义
- xyzClearUserCommandData()
清空用户指令的请求数据(使用xyzUserCommand前,必须调用)
- xyzUserCommand()
用户指令,用于基础指令不支持的情况下,配合任务流图完成用户特定功能。
使用请按照参照
XYZ_MASTER.XPL
的子程序Main_example
发送给工控机(使用功能块变量/全局变量):
in_strs[1..5] :提供5个STRING供用户输入
in_ints[1..10]:提供10个DINT类型供用户输入
in_floats[1..10]:提供10个LREAL供用户输入
in_cart_pose:提供1个POINTC供用户输入
in_joints:提供1个POINTJ供用户输入
工控机返回(使用功能块变量/全局变量):
out_strs[1..5]:返回5个STRING
out_ints[1..10]:返回10个DINT
out_floats[1..10]:返回10个LREAL
out_cart_pose:返回1个POINTC
out_joints:返回1个POINTJ
- 返回
err_code(DINT)