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 +++++++++++++++++++++++++++++++++++ .. function:: PROC xyzCreateSocket(VAR socketdev sock) :noindex: 创建套接字 :param sock: 套接字 :type sock: VAR socketdev .. function:: PROC xyzConnect(VAR socketdev sock, string ip, num port) :noindex: 连接到服务器 :param sock: 套接字 :type sock: VAR socketdev :param ip: 服务器ip地址 :type ip: string :param port: 服务器端口号 :type sock: num .. function:: PROC xyzClose(VAR socketdev sock) :noindex: 关闭套接字 :param sock: 套接字 :type sock: VAR socketdev .. function:: FUNC num xyzSwitchApp(string app_name) :noindex: 切换应用 :param app_name: 应用名称 :type app_name: string :return: err_code :rtype: num .. function:: FUNC num xyzSwitchFlow(string flow_name) :noindex: 切换flow :param flow_name: flow名称 :type flow_name: string :return: err_code :rtype: num .. function:: FUNC num xyzSwitchItem(int ws_id, string item_codename) :noindex: 切换工件 :param ws_id: 工作空间 id :type ws_id: num :param item_codename: 工件名称 :type item_codename: string :return: err_code :rtype: num .. function:: FUNC num xyzSwitchTool(string tool_name) :noindex: 切换工具 :param tool_name: 工具名称 :type tool_name: string :return: err_code :rtype: num .. function:: FUNC num xyzReqCapImg(num ws_id, VAR num token) :noindex: 请求拍照 :param ws_id: 工作空间 id :type ws_id: num :param token: 请求拍照结果 :type token: num :return: err_code :rtype: num .. function:: FUNC num xyzGetCapImg(num token) :noindex: 获取拍照结果 :param token: 请求拍照时返回的 token :type token: num :return: err_code :rtype: num .. function:: FUNC num xyzCapImg(num ws_id) :noindex: 拍照 :param ws_id: 需要进行拍照操作的工作空间id :type ws_id: num :return: err_code :rtype: num .. function:: FUNC num xyzReqGraspPose(num ws_id, VAR num token) :noindex: 请求抓取位姿 :param ws_id: 需要获取抓取点位的工作空间id :type ws_id: INnumT :param token: 返回的用于获取目标点位时使用的token :type token: num :return: err_code :rtype: num .. function:: FUNC num xyzGetGraspPose(num token, VAR num pipeline_num, VAR num register_num, VAR num pose_type, VAR pose grasp_pose) :noindex: 获取抓取位姿 :param token: 求抓取目标点位时返回的token :type token: num :param pose_num: 可供抓取的点数量 :type pose_num: num :param pipeline_num: pipeline编号 :type pipeline_num: num :param register_num: 注册编号 :type register_num: num :param grasp_pose: 抓取位姿 :type grasp_pose: pose :return: err_code :rtype: num .. function:: FUNC num xyzReqObjPose(num ws_id, VAR num token) :noindex: 请求物体位姿 :param ws_id: 需要获取物体位姿的工作空间id :type ws_id: num :param obj_token: 物体位姿识别的token :type obj_token: num :return: err_code :rtype: num .. function:: FUNC num xyzGetObjPose(num token, VAR num pose_num, VAR num pose_type, VAR pose obj_pose) :noindex: 获取物体位姿 :param token: 请求物体位姿时得到的token :type token: num :param pose_num: 物体数量 :type pose_num: num :param pose_type: 当前返回的物体 pose 类型 :type pose_type: num :param obj_pose: 物体位姿 :type obj_pose: pose :return: err_code :rtype: num .. function:: FUNC num xyzResetVision(num ws_id) :noindex: 重置视觉 :param ws_id: 需要重置视觉的工作空间id :type ws_id: num :return: err_code :rtype: num .. function:: FUNC num xyzSendCurrentJoints(num joints{*}) :noindex: 发送特定角度数组 :param joint{*}: 传入角度数组 :type joint{*}: num :return: err_code :rtype: num .. function:: FUNC num xyzSendCurrentCartPose(num cart_pose{*}) :noindex: 发送特定位姿 :param cart_pose{*}: 传入位姿数组 :type cart_pose{*}: num :return: err_code :rtype: num .. function:: FUNC num xyzSendCurrentExtJoints(num ext_joints{*}) :noindex: 发送特定角度数组 :param ext_joints{*}: 传入角度数组 :type ext_joints{*}: num :return: err_code :rtype: num .. function:: FUNC num xyzReqPick() :noindex: 请求pick动作规划 :return: err_code :rtype: num .. function:: FUNC num xyzReqPlace() :noindex: 请求place动作规划 :return: err_code :rtype: num .. function:: FUNC num xyzReqPickPlace() :noindex: 请求pick和place规划 :return: err_code :rtype: num .. function:: FUNC num xyzGetPickin(VAR num pose_num, VAR num pose_type, VAR num wp_type{*}, VAR jointtarget joint_wp{*}, VAR robtarget cart_wp{*}) :noindex: 获取取料入框轨迹 :param pose_num: 轨迹点数 :type pose_num: num :param pipeline_num: pipeline编号 :type pipeline_num: num :param register_num: 注册编号 :type register_num: num :param wp_type{*}: 轨迹点类型数组 :type wp_type{*}: num :param joint_wp{*}: 轨迹点角度数组 :type joint_wp{*}: jointtarget :param cart_wp{*}: 轨迹点位姿数组 :type cart_wp{*}: robtarget :return: err_code :rtype: num .. function:: FUNC num xyzGetPickout(VAR num pose_num, VAR num pose_type, VAR num wp_type{*}, VAR jointtarget joint_wp{*}, VAR robtarget cart_wp{*}) :noindex: 获取取料出框轨迹 :param pose_num: 轨迹点数 :type pose_num: num :param pipeline_num: pipeline编号 :type pipeline_num: num :param register_num: 注册编号 :type register_num: num :param wp_type{*}: 轨迹点类型数组 :type wp_type{*}: num :param joint_wp{*}: 轨迹点角度数组 :type joint_wp{*}: jointtarget :param cart_wp{*}: 轨迹点位姿数组 :type cart_wp{*}: robtarget :return: err_code :rtype: num .. function:: FUNC num xyzGetPlacein(VAR num pose_num, VAR num pose_type, VAR num wp_type{*}, VAR jointtarget joint_wp{*}, VAR robtarget cart_wp{*}) :noindex: 获取放料入框轨迹 :param pose_num: 轨迹点数 :type pose_num: num :param pipeline_num: pipelin编号 :type pipeline_num: num :param register_num: 注册编号 :type register_num: num :param wp_type{*}: 轨迹点类型数组 :type wp_type{*}: num :param joint_wp{*}: 轨迹点角度数组 :type joint_wp{*}: jointtarget :param cart_wp{*}: 轨迹点位姿数组 :type cart_wp{*}: robtarget :return: err_code :rtype: num .. function:: FUNC num xyzGetPlaceout(VAR num pose_num, VAR num pose_type, VAR num wp_type{*}, VAR jointtarget joint_wp{*}, VAR robtarget cart_wp{*}) :noindex: 获取放料出框轨迹 :param pose_num: 轨迹点数 :type pose_num: num :param pipeline_num: pipelin编号 :type pipeline_num: num :param register_num: 注册编号 :type register_num: num :param wp_type{*}: 轨迹点类型数组 :type wp_type{*}: num :param joint_wp{*}: 轨迹点角度数组 :type joint_wp{*}: jointtarget :param cart_wp{*}: 轨迹点位姿数组 :type cart_wp{*}: robtarget :return: err_code :rtype: num .. function:: FUNC num xyzSwitchStrat(string strat_name) :noindex: 请求切换策略 :param strat_name: 策略名称 :type strat_name: string :return: err_code :rtype: num .. function:: FUNC num xyzUpdateTotePose(VAR pose tote_pose) :noindex: 料箱重定位 :param tote_pose: 料箱位姿 :type tote_pose: pose :return: err_code :rtype: num .. function:: FUNC num xyzUpdateObjPoseOnHand() :noindex: 工件在上手的二次定位 :return: err_code :rtype: num .. function:: FUNC num xyzUpdateObjPoseToHand(VAR num pose_num, VAR num pose_type, VAR num wp_type{*}, VAR jointtarget joint_wp{*}, VAR robtarget cart_wp{*}) :noindex: 工件不在手上的二次定位 :param pose_num: 工件点位的数量 :type pose_num: num :param pipeline_num: pipeline编号 :type pipeline_num: num :param register_num: 注册编号 :type register_num: num :param wp_type{*}: 工件点位类型数组 :type wp_type{*}: num :param joint_wp{*}: 工件点位角度数组 :type joint_wp{*}: jointtarget :param cart_wp{*}: 工件位姿数组 :type cart_wp{*}: robtarget :return: err_code :rtype: num .. function:: FUNC num xyzGetObjPoseType(VAR num pose_type) :noindex: 获取工件姿态类型 :param pose_type: 工件姿态类型 :type pose_type: num :return: err_code :rtype: num .. function:: FUNC num xyzResetPalletStatus() :noindex: 重置工业码垛状态 :return: err_code :rtype: num .. function:: FUNC num xyzCalculateGraspPose(num ws_id, VAR num pipeline_num, VAR num register_num, VAR num pose_type, VAR pose grasp_pose) :noindex: 计算抓取位姿 :param ws_id: 工作空间 id :type ws_id: num :param pose_num: 可供抓取的点数量 :type pose_num: num :param pipeline_num: pipeline编号 :type pipeline_num: num :param register_num: 注册编号 :type register_num: num :param grasp_pose: 抓取位姿 :type grasp_pose: pose :return: err_code :rtype: num .. function:: FUNC num xyzCalculateObjectPose(num ws_id, VAR num pose_num, VAR num pose_type, VAR pose obj_pose) :noindex: 计算物体位姿 :param ws_id: 工作空间 id :type ws_id: num :param pose_num: 物体数量 :type pose_num: num :param pose_type: 当前返回的物体 pose 类型 :type pose_type: num :param obj_pose: 物体位姿 :type obj_pose: pose :return: err_code :rtype: num .. function:: FUNC num xyzUsrCmd(string out_strings{*}, num out_ints{*}, num out_floats{*}, robtarget out_cart, jointtarget out_joints, VAR string in_strings{*}, VAR num in_ints{*}, VAR num in_floats{*}, VAR robtarget in_cart, VAR jointtarget in_joints) :noindex: 自定义请求 :param out_strings: 发送给工控机的字符串数组,数组长度为5 :type out_strings: string{5} :param out_ints: 发送给工控机的整型数组,数组长度需为10 :type out_ints: num{10} :param out_floats: 发送给工控机的浮点数数组,数组长度为10 :type out_floats: num{10} :param out_cart: 发送给工控机的笛卡尔位姿 :type out_cart: robtarget :param out_joints: 发送给工控机的关节角度 :type out_joints: jointtarget :param in_strings: 工控机发送给机械臂的字符串数组要存放的变量,数组长度为5 :type in_strings: string{5} :param in_ints: 工控机发送给机械臂的整型数组要存放的变量,数组长度为10 :type in_ints: num{10} :param in_floats: 工控机发送给机械臂的浮点数数组要存放的变量,数组长度为10 :type in_floats: num{10} :param in_cart: 工控机发送给机械臂的笛卡尔位姿要存放的变量 :type out_cart: robtarget :param in_joints: 工控机发送给机械臂的关节角度值要存放的变量 :type in_joints: jointtarget