API 说明
kuka 工控机主控支持的 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 |
机械臂后台发送状态 |
支持 |
kuka 机械臂主控支持的 API
kuka 支持传入变量传出
api 的使用方法可以参考 xyz_master_example.src 文件
- GLOBAL DEFFCT INT xyzSwitchTask(task_codename[]:IN)
切换应用。 使用前务必调用 strclear 清空字符串!
- 参数
task_codename[] (CHAR[]) – 应用名称
- 返回
err_code
- 返回类型
INT
- GLOBAL DEFFCT INT xyzSwitchTool(tool_id:IN)
切换工具
- 参数
tool_id (INT) – 工具名称
- 返回
err_code
- 返回类型
INT
- GLOBAL DEFFCT INT xyzCallVisionCmd(vs_id:IN, vision_codename[]:IN)
呼叫视觉。 使用前务必调用 strclear 清空字符串!
- 参数
vs_id (INT) – 视觉服务id
vision_codename[] (CHAR) – 呼叫视觉的指令名称
- 返回
err_code
- 返回类型
INT
- GLOBAL DEFFCT INT xyzReqGraspPose(vs_id:IN, token:OUT)
请求抓取位姿
- 参数
vs_id (INT) – 需要获取抓取点位的工作空间id
token (INT) – 返回的用于获取目标点位时使用的token
- 返回
err_code
- 返回类型
INT
- GLOBAL DEFFCT INT xyzGetGraspPose(token:IN, grasp_pose:OUT, grasp_pose_num:OUT, pipeline_num:OUT, register_num:OUT, ints[]:OUT)
获取抓取位姿
- 参数
token (INT) – 求抓取目标点位时返回的token
grasp_pose (E6POS) – 抓取位姿
grasp_pose_num (INT) – 可供抓取的点数量
pipeline_num (INT) – 运动流程编号
register_num (INT) – 注册编号
ints[] (INT) – 可以task中自定义含义
- 返回
err_code
- 返回类型
INT
- GLOBAL DEFFCT INT xyzReqObjPose(vs_id:IN, obj_token:OUT)
请求物体位姿
- 参数
vs_id (INT) – 需要获取物体位姿的工作空间id
obj_token (INT) – 物体位姿识别的token
- 返回
err_code
- 返回类型
INT
- GLOBAL DEFFCT INT xyzGetObjPose(token:IN, obj_pose:OUT, obj_pose_num:OUT, obj_name[]:OUT, ints[]:OUT)
获取物体位姿
- 参数
token (INT) – 请求物体位姿时得到的token
obj_pose (E6POS) – 物体位姿
obj_pose_num (INT) – 物体数量
obj_name[] (INT) – 当前返回的物体 pose 类型
- 返回
err_code
- 返回类型
INT
- GLOBAL DEFFCT INT xyzResetTask()
重置任务
- 返回
err_code
- 返回类型
INT
- GLOBAL DEFFCT INT xyzSendCurrentJoints()
发送机械臂当前角度:j1~j6: 机械臂当前的角度信息,如果机械臂轴数小于6轴,则需要对应位置补零,依旧发送六个数。
- 返回
err_code
- 返回类型
INT
- GLOBAL DEFFCT INT xyzSendCurrentCartPose()
发送机械臂法兰当前位姿
- 返回
err_code
- 返回类型
INT
- GLOBAL DEFFCT INT xyzSendCurrentExtJoints()
发送机械臂当前扩展轴位置:j1~j6: 机械臂当前扩展轴的角度信息,如果扩展轴数不足6的,需要补零后发送六个数。
- 返回
err_code
- 返回类型
INT
- GLOBAL DEFFCT INT xyzReqPickPlace(vs_id:IN)
请求抓放规划
- 参数
vs_id (INT) – 需要请求计算抓取轨迹的工作空间id
- 返回
err_code
- 返回类型
INT
- GLOBAL DEFFCT INT xyzGetPickin(vs_id:IN, pipeline_num:OUT, register_num:OUT, num:OUT, wp_type[]:OUT, joints[]:OUT, carts[]:OUT)
获取取料入框轨迹
- 参数
vs_id (INT) – 需要获取取料入框点位的工作空间id
pipeline_num (INT) – 运动流程编号
register_num (INT) – 抓取序号
num (INT) – 可供抓取的点数量
wp_type[] (INT) – 轨迹点位类型数组
joints[] (E6AXIS) – 关节点位数组
carts[] (E6POS) – 笛卡尔点位数组
- 返回
err_code
- 返回类型
INT
- GLOBAL DEFFCT INT xyzGetPickout(vs_id:IN, pipeline_num:OUT, register_num:OUT, num:OUT, wp_type[]:OUT, joints[]:OUT, carts[]:OUT)
获取取料出框轨迹
- 参数
vs_id (INT) – 需要获取取料出框点位的工作空间id
pipeline_num (INT) – 运动流程编号
register_num (INT) – 抓取序号
num (INT) – 可供抓取的点数量
wp_type[] (INT) – 轨迹点位类型数组
joints[] (E6AXIS) – 关节点位数组
carts[] (E6POS) – 笛卡尔点位数组
- 返回
err_code
- 返回类型
INT
- GLOBAL DEFFCT INT xyzGetPlacein(vs_id:IN, pipeline_num:OUT, register_num:OUT, num:OUT, wp_type[]:OUT, joints[]:OUT, carts[]:OUT)
获取放料入框轨迹
- 参数
vs_id (INT) – 需要获取放料入框点位的工作空间id
pipeline_num (INT) – 运动流程编号
register_num (INT) – 抓取序号
num (INT) – 可供抓取的点数量
wp_type[] (INT) – 轨迹点位类型数组
joints[] (E6AXIS) – 关节点位数组
carts[] (E6POS) – 笛卡尔点位数组
- 返回
err_code
- 返回类型
INT
- GLOBAL DEFFCT INT xyzGetPlaceout(vs_id:IN, pipeline_num:OUT, register_num:OUT, num:OUT, wp_type[]:OUT, joints[]:OUT, carts[]:OUT)
获取放料出框轨迹
- 参数
vs_id (INT) – 需要获取放料出框点位的工作空间id
pipeline_num (INT) – 运动流程编号
register_num (INT) – 抓取序号
num (INT) – 可供抓取的点数量
wp_type[] (INT) – 轨迹点位类型数组
joints[] (E6AXIS) – 关节点位数组
carts[] (E6POS) – 笛卡尔点位数组
- 返回
err_code
- 返回类型
INT
- GLOBAL DEFFCT INT xyzUpdateTotePose(vs_id:IN)
料箱重定位
- 参数
vs_id (INT) – 需要进行料箱重定位的工作空间id
- 返回
err_code
- 返回类型
INT
- GLOBAL DEFFCT INT xyzUpdateObjPoseInHand(obj_pose:OUT)
工件在上手的二次定位
- 参数
obj_pose (E6POS) – 工件位姿
- 返回
err_code
- 返回类型
INT
- GLOBAL DEFFCT INT xyzSwitchItem(vs_id:IN, item_codename[]:IN)
切换工件。使用前务必调用 strclear 清空字符串!
- 参数
vs_id (INT) – 视觉空间
item_codename[] (CHAR[]) – 工件名称
- 返回
err_code
- 返回类型
INT
- GLOBAL DEFFCT INT xyzCalculateGraspPose(vs_id:IN, grasp_pose:OUT, grasp_pose_num:OUT, pipeline_num:OUT, register_num:OUT, ints[]:OUT)
计算抓取目标点位
- 参数
vs_id (INT) – 需要进行抓取的工作空间id
grasp_pose (E6POS) – 抓取目标点位
grasp_pose_num (INT) – 可供抓取的点数量
pipeline_num – pipeline 编号
register_num – 注册编号
ints[] (INT) – 可以task中自定义含义
- GLOBAL DEFFCT INT xyzCalculateObjectPose(vs_id:IN, obj_pose:OUT, obj_pose_num:OUT, object_name[]:OUT, ints[]:OUT)
计算物体位姿
- 参数
vs_id (INT) – 需要进行抓取的工作空间id
obj_pose (E6POS) – 物体位姿
obj_pose_num (INT) – 可供抓取的点数量
object_name[] (CHAR[]) – 物体位姿类型
ints[] (INT) – 可以task中自定义含义
- GLOBAL DEFFCT INT xyzUsrCmd()
用户自定义指令
- Param
out_strs[]: 发给上位机的字符串数组
out_ints[]: 发给上位机的整型数组
out_floats[]: 发给上位机的浮点型数组
out_cart: 发给上位机的笛卡尔坐标
out_joints: 发给上位机的关节坐标
- 返回
err_code in_strs[]: 上位机发来的字符串数组
in_ints[]: 上位机发来的整型数组
in_floats[]: 上位机发来的浮点型数组
in_cart: 上位机发来的笛卡尔坐标
in_joints: 上位机发来的关节坐标
- DEF xyzClearUsrCmdData()
清除用户自定义指令数据
- GLOBAL DEF xyzParseTraj(pipeline_num:OUT, register_num:OUT, num:OUT,wp_type[]:OUT, joints[]:OUT, carts[]:OUT)
解析轨迹
- 返回
pipeline_num : pipeline编号
register_num : 注册编号
num : 轨迹点数
wp_type[] : 轨迹点类型
joints[] : 关节坐标数组
carts[] : 笛卡尔坐标数组
- GLOBAL DEF xyzExecuteTraj(num:IN, wp_type[]:OUT, joints[]:OUT, carts[]:OUT)
执行轨迹
- 返回
err_code : 错误码
num : 轨迹点数
wp_type[] : 轨迹点类型
joints[] : 关节坐标数组
carts[] : 笛卡尔坐标数组
- GLOBAL DEF xyzExecutePickInTraj(num:IN, wp_type[]:OUT, joints[]:OUT, carts[]:OUT)
执行取料入框轨迹
- 返回
err_code : 错误码
num : 轨迹点数
wp_type[] : 轨迹点类型
joints[] : 关节坐标数组
carts[] : 笛卡尔坐标数组
- GLOBAL DEF xyzExecutePickOutTraj(num:IN, wp_type[]:OUT, joints[]:OUT, carts[]:OUT)
执行取料出框轨迹
- 返回
err_code : 错误码
num : 轨迹点数
wp_type[] : 轨迹点类型
joints[] : 关节坐标数组
carts[] : 笛卡尔坐标数组
- GLOBAL DEF xyzSetMoveJParameters(movej_vel:IN, movej_acc:IN, movej_apo_dist:IN)
设置关节移动参数
- 参数
movej_vel – 关节移动速度, 范围 0~100
movej_acc – 关节移动加速度, 范围 0~100
movej_apo_dist – 圆滑过渡半径, 范围 0~500 mm
- GLOBAL DEF xyzSetMoveLParameters(movel_vel:IN, movel_acc:IN, movel_apo_dist:IN)
设置笛卡尔移动参数
- 参数
movel_vel – 笛卡尔移动速度, 范围 0~100
movel_acc – 笛卡尔移动加速度, 范围 0~100
movel_apo_dist – 圆滑过渡半径, 范围 0~500 mm
- GLOBAL DEFFCT INT xyzRecvAndParse()
接收并解析数据
- 返回
err_code
- 返回类型
INT
- GLOBAL DEF xyzOpenSocket(sock[]:IN)
根据 xml 连接指定 socket
- 参数
sock[] (CHAR[]) – socket 名称
- 返回
err_code
- 返回类型
INT
- GLOBAL DEF xyzDlinActivate()
激活最大线速度,解决 move l 速度慢的问题。