API 说明

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

机械臂后台发送状态

支持

abb 机械臂主控支持的 API

PROC xyzCreateSocket(VAR socketdev sock)

创建套接字

参数

sock (VAR socketdev) – 套接字

PROC xyzConnect(VAR socketdev sock, string ip, num port)

连接到服务器

参数
  • sock (num) – 套接字

  • ip (string) – 服务器ip地址

  • port – 服务器端口号

PROC xyzClose(VAR socketdev sock)

关闭套接字

参数

sock (VAR socketdev) – 套接字

FUNC num xyzHeartBeat()

给上位机发送心跳信号

返回

err_code

返回类型

num

FUNC num xyzSwitchTask(string task_codename)

切换任务

参数

task_codename (string) – 任务代号

返回

err_code

返回类型

num

FUNC num xyzSwitchTool(num tool_id)

切换工具

参数

tool_id (num) – 工具id

返回

err_code

返回类型

num

FUNC num xyzCallVisionCmd(num vs_id, string vision_codename)

呼叫视觉

参数
  • vs_id (num) – 视觉服务id

  • vision_codename (string) – 呼叫视觉的指令代号

返回

err_code

返回类型

num

FUNC num xyzReqGraspPose(num vs_id, VAR num token)

请求抓取目标点位

参数
  • vs_id (num) – 视觉服务id

  • token[out] (num) – 在执行“获取抓取目标点位”时使用到

返回

err_code

返回类型

num

FUNC num xyzGetGraspPose(num token, VAR num pose_num, VAR num pipeline_num, VAR num register_num, VAR robtarget grasp_pose, VAR num out_ints{*})

获取抓取目标点位

参数
  • token (num) – “请求抓取目标点位”中返回的token

  • pose_num[out] (num) – 当前可供抓取的点位数量

  • pipeline_num[out] (num) – 运动流程编号

  • register_num[out] (num) – 抓取序号

  • grasp_pose[out] (pose) – 抓取位姿

  • out_ints[out] (Array of num) – 自定义数据的int数组(数组大小为6),可在Task中自定义含义

返回

err_code

返回类型

num

FUNC num xyzReqObjPose(num vs_id, VAR num token)

请求物体位姿

参数
  • vs_id (num) – 视觉服务id

  • token[out] (num) – 在执行”获取物体位姿“时使用到

返回

err_code

返回类型

num

FUNC num xyzGetObjPose(num token, VAR num pose_num, VAR pose obj_pose, VAR string object_name, VAR num out_ints{*})

获取物体位姿

参数
  • token (num) – “请求物体位姿”中返回的token

  • pose_num[out] (num) – 当前物体位姿个数

  • obj_pose[out] (pose) – 物体位姿

  • object_name[out] (string) – 物体名称

  • out_ints[out] (Array of num) – 自定义数据的int数组(数组大小为6),可在Task中自定义含义

返回

err_code

返回类型

num

FUNC num xyzResetTask()

重置任务

返回

err_code

返回类型

num

FUNC num xyzSendCurrentJoints(jointtarget joints)

发送特定关节角

参数

joints (jointtarget) – 传入的关节角坐标

返回

err_code

返回类型

num

FUNC num xyzSendCurrentCartPose(robtarget cart_pose)

发送特定位姿

参数

cart_pose (robtarget) – 传入的笛卡尔坐标

返回

err_code

返回类型

num

FUNC num xyzSendCurrentExtJoints(num ext_joints{*})

发送特定角度数组

参数

ext_joints{*} (num) – 传入角度数组

返回

err_code

返回类型

num

FUNC num xyzReqPickPlace(num vs_id)

请求抓放规划

参数

vs_id (num) – 视觉服务id

返回

err_code

返回类型

num

FUNC num xyzGetPickin(num vs_id, VAR num pose_num, VAR num pipeline_num, VAR num register_num, VAR num wp_type{*}, VAR jointtarget joint_wp{*}, VAR robtarget cart_wp{*})

获取取料入框轨迹

参数
  • vs_id (num) – 视觉服务id

  • pose_num[out] (num) – 轨迹中的点位数量

  • pipeline_num[out] (num) – 运动流程编号

  • register_num[out] (num) – 抓取序号

  • wp_type{*}[out] (num) – 轨迹点类型数组

  • joint_wp{*}[out] (jointtarget) – 轨迹点角度数组

  • cart_wp{*}[out] (robtarget) – 轨迹点位姿数组

返回

err_code

返回类型

num

FUNC num xyzGetPickout(num vs_id, VAR num pose_num, VAR num pipeline_num, VAR num register_num, VAR num wp_type{*}, VAR jointtarget joint_wp{*}, VAR robtarget cart_wp{*})

获取取料出框轨迹

参数
  • vs_id (num) – 视觉服务id

  • pose_num[out] (num) – 轨迹中的点位数量

  • pipeline_num[out] (num) – 运动流程编号

  • register_num[out] (num) – 抓取序号

  • wp_type{*}[out] (num) – 轨迹点类型数组

  • joint_wp{*}[out] (jointtarget) – 轨迹点角度数组

  • cart_wp{*}[out] (robtarget) – 轨迹点位姿数组

返回

err_code

返回类型

num

FUNC num xyzGetPlacein(num vs_id, VAR num pose_num, VAR num pipeline_num, VAR num register_num, VAR num wp_type{*}, VAR jointtarget joint_wp{*}, VAR robtarget cart_wp{*})

获取放料入框轨迹

参数
  • vs_id (num) – 视觉服务id

  • pose_num[out] (num) – 轨迹中的点位数量

  • pipeline_num[out] (num) – 运动流程编号

  • register_num[out] (num) – 抓取序号

  • wp_type{*}[out] (num) – 轨迹点类型数组

  • joint_wp{*}[out] (jointtarget) – 轨迹点角度数组

  • cart_wp{*}[out] (robtarget) – 轨迹点位姿数组

返回

err_code

返回类型

num

FUNC num xyzGetPlaceout(num vs_id, VAR num pose_num, VAR num pipeline_num, VAR num register_num, VAR num wp_type{*}, VAR jointtarget joint_wp{*}, VAR robtarget cart_wp{*})

获取放料出框轨迹

参数
  • vs_id (num) – 视觉服务id

  • pose_num[out] (num) – 轨迹中的点位数量

  • pipeline_num[out] (num) – 运动流程编号

  • register_num[out] (num) – 抓取序号

  • wp_type{*}[out] (num) – 轨迹点类型数组

  • joint_wp{*}[out] (jointtarget) – 轨迹点角度数组

  • cart_wp{*}[out] (robtarget) – 轨迹点位姿数组

返回

err_code

返回类型

num

FUNC num xyzUpdateTotePose(num vs_id)

料箱重定位

参数

vs_id (num) – 视觉服务id

返回

err_code

返回类型

num

FUNC num xyzUpdateObjPoseInHand(VAR robtarget pose)

工件在手上的二次定位

参数

pose[out] (robtarget) – 放置位姿数据

返回

err_code

返回类型

num

FUNC num xyzSwitchItem(int vs_id, string item_codename)

切换工件

参数
  • vs_id (num) – 视觉服务id

  • item_codename (string) – 工件代号

返回

err_code

返回类型

num

FUNC num xyzCalculateGraspPose(num vs_id, VAR num pose_num, VAR num pipeline_num, VAR num register_num, VAR robtarget grasp_pose, VAR num out_ints{*})

计算抓取目标点位,该指令等价于 xyzReqGraspPose +xyzGetGraspPose

参数
  • vs_id (num) – 视觉服务id

  • pose_num[out] (num) – 当前可供抓取的点位数量

  • pipeline_num[out] (num) – 运动流程编号

  • register_num[out] (num) – 抓取序号

  • grasp_pose[out] (pose) – 抓取位姿

  • out_ints[out] (Array of num) – 自定义数据的int数组(数组大小为6),可在Task中自定义含义

返回

err_code

返回类型

num

FUNC num xyzCalculateObjectPose(num vs_id, VAR num pose_num, VAR pose obj_pose, VAR string object_name, VAR num out_ints{*})

计算物体位姿,该指令等价于 xyzReqObjPose + xyzGetObjPose

参数
  • vs_id (num) – 工作空间 id

  • pose_num[out] (num) – 当前物体位姿个数

  • obj_pose[out] (pose) – 物体位姿

  • object_name[out] (string) – 物体名称

  • out_ints[out] (Array of num) – 自定义数据的int数组(数组大小为6),可在Task中自定义含义

返回

err_code

返回类型

num

FUNC num xyzUsrCmd(string in_strings{*}, num in_ints{*}, num in_floats{*}, robtarget in_cart, jointtarget in_joints, VAR string out_strings{*}, VAR num out_ints{*}, VAR num out_floats{*}, VAR robtarget out_cart, VAR jointtarget out_joints)

用户指令,用于基础指令不支持的情况下,配合任务流图完成用户特定功能。各个参数的含义取决于任务流图中设定的输入输出。

参数
  • in_strings (string{5}) – 发送给工控机的字符串数组,数组长度为5

  • in_ints (num{10}) – 发送给工控机的整型数组,数组长度需为10

  • in_floats (num{10}) – 发送给工控机的浮点数数组,数组长度为10

  • in_cart (robtarget) – 发送给工控机的笛卡尔位姿

  • in_joints (jointtarget) – 发送给工控机的关节角度

  • out_strings[out] (string{5}) – 工控机发送给机械臂的字符串数组要存放的变量,数组长度为5

  • out_ints[out] (num{10}) – 工控机发送给机械臂的整型数组要存放的变量,数组长度为10

  • out_floats[out] (num{10}) – 工控机发送给机械臂的浮点数数组要存放的变量,数组长度为10

  • out_cart[out] (robtarget) – 工控机发送给机械臂的笛卡尔位姿要存放的变量

  • out_joints[out] (jointtarget) – 工控机发送给机械臂的关节角度值要存放的变量