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 速度慢的问题。