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) – 工控机发送给机械臂的关节角度值要存放的变量