API 说明

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

机械臂后台发送状态

支持

inovance 机械臂主控支持的 API

Func xyzSwitchTask(String task_codename, &Int err_code)

切换任务

参数

task_codename – 任务名称

返回

err_code 为 0表示成功

Func xyzSwitchTool(Int tool_id, &Int err_code)

切换工具

参数

tool_id – 工具id

返回

err_code 为 0表示成功

Func xyzCallVisionCmd(Int vs_id, String vision_codename, &Int err_code)

呼叫视觉

参数

vs_id – 视觉服务 id

返回

err_code 为 0表示成功

Func xyzReqGraspPose(INT vs_id, &Int err_code, &Int token)

请求抓取位姿

参数

vs_id – 需要获取抓取点位的工作空间id

返回

err_code 为 0表示成功

token: 返回的用于获取目标点位时使用的token

Func xyzGetGraspPose(INT token, &Int err_code, &Double grasp_pose[6], &Int grasp_pose_num, &Int pipeline_num, &Int register_num, &Int int_array[6])

获取抓取位姿

参数

token – 求抓取目标点位时返回的token

返回

err_code 为 0表示成功

grasp_pose: 抓取位姿

grasp_pose_num: 可供抓取的点数量

pipeline_num: pipeline文件number

register_num: 用到的注册文件的注册number

int_array: 可在Task中自定义含的整型数组

Func xyzReqObjPose(INT vs_id, &Int err_code, &Int token)

请求物体位姿

参数

vs_id – 需要获取物体位姿的工作空间id

返回

err_code 为 0表示成功

token: 返回的用于物体位姿识别的token

Func xyzGetObjPose(INT token, &Int err_code, &Double obj_pose[6], &Int obj_pose_num, &String obj_name, &Int int_array[6])

获取物体位姿

参数

token – 请求物体位姿时得到的token

返回

err_code 为 0表示成功

obj_pose: 物体位姿

obj_pose_num: 物体数量

obj_name: 当前返回的物体名称

int_array: 可在Task中自定义含的整型数组

Func xyzResetTask(&Int err_code)

重置任务

返回

err_code 为 0表示成功

Func xyzSendCurrentJoints(&Int err_code)

发送机械臂当前角度:j1~j6: 机械臂当前的角度信息,如果机械臂轴数小于6轴,则需要对应位置补零,依旧发送六个数。

返回

err_code 为 0表示成功

Func xyzSendCurrentCartPose(&Int err_code)

发送机械臂法兰当前位姿

返回

err_code 为 0表示成功

Func xyzSendCurrentExtJoints(&Int err_code)

暂不支持。

发送机械臂当前扩展轴位置:j1~j6: 机械臂当前扩展轴的角度信息,如果扩展轴数不足6的,需要补零后发送六个数。

返回

err_code 为 0表示成功

Func xyzReqPickPlace(Int vs_id,&Int err_code)

请求pick和place规划

参数

vs_id – 需要抓取的工作空间id

返回

err_code 为 0表示成功

Func xyzGetPickin(Int vs_id, &Int err_code, &Int pipeline_num, &Int register_num, &Int num, &Int wp_type[30], &Double pos[30][6])

获取取料入框轨迹

参数

vs_id – 规划空间id,默认填 0

返回

err_code 为 0表示成功

pipeline_num pipeline文件number

register_num 用到的注册文件的注册number

num 轨迹点数

wp_type 姿态数组

pos 轨迹点数组

Func xyzGetPickout(Int vs_id, &Int err_code, &Int pipeline_num, &Int register_num, &Int num, &Int wp_type[30], &Double pos[30][6])

获取取料出框轨迹

参数

vs_id – 规划空间id,默认填 0

返回

err_code 为 0表示成功

pipeline_num pipeline文件number

register_num 用到的注册文件的注册number

num 轨迹点数

wp_type 姿态数组

pos 轨迹点数组

Func xyzGetPlacein(Int vs_id, &Int err_code, &Int pipeline_num, &Int register_num, &Int num, &Int wp_type[30], &Double pos[30][6])

获取放料入框轨迹

参数

vs_id – 规划空间id,默认填 0

返回

err_code 为 0表示成功

pipeline_num pipeline文件number

register_num 用到的注册文件的注册number

num 轨迹点数

wp_type 姿态数组

pos 轨迹点数组

Func xyzGetPlaceout(Int vs_id, &Int err_code, &Int pipeline_num, &Int register_num, &Int num, &Int wp_type[30], &Double pos[30][6])

获取放料出框轨迹

参数

vs_id – 规划空间id,默认填 0

返回

err_code 为 0表示成功

pipeline_num pipeline文件number

register_num 用到的注册文件的注册number

num 轨迹点数

wp_type 姿态数组

pos 轨迹点数组

Func xyzUpdateTotePose(Int vs_id, &Int err_code)

料箱重定位

参数

vs_id – 规划空间id,默认填 0

返回

err_code 为 0表示成功

Func xyzUpdateObjPoseInHand(&Int err_code, &Double pose[6])

工件在上手的二次定位

返回

err_code 为 0表示成功

pose: 二次定位位姿

Func xyzSwitchItem(Int vs_id, String item_codename, &Int err_code)

切换工件

参数
  • vs_id – 工作空间id

  • item_codename – 工件名称

返回

err_code 为 0表示成功

Func xyzCalculateGraspPose(Int vs_id, &Int err_code, &Double grasp_pose[6], &Int grasp_pose_num, &Int pipeline_num, &Int register_num, &Int int_array[6])

计算抓取位姿

参数

vs_id – 工作空间id

返回

err_code 为 0表示成功

grasp_pose 抓取位姿

grasp_pose_num 可供抓取的点数量

pipeline_num pipeline文件number

register_num 用到的注册文件的注册number

int_array 可在Task中自定义含的整型数组

Func xyzCalculateObjPose(Int vs_id, &Int err_code, &Double obj_pose[6], &Int obj_pose_num, &String obj_name, &Int int_array[6])

计算物体位姿

参数

vs_id – 工作空间id

返回

err_code 为 0表示成功

obj_pose 物体位姿

obj_pose_num 物体数量

obj_name 当前返回的物体名称

int_array 可在Task中自定义含的整型数组

Func xyzUsrCmd(&Int err_code)

用户自定义指令,在设置变量前需调用 xyzClearUsrCmd() 清除缓存。以下变量均为全局变量。

参数
  • vs_id – 工作空间id

  • out_strs[5] – 提供5个字符串供用户输入

  • out_ints[10] – 提供10个整型供用户输入

  • out_floats[10] – 提供10个浮点型供用户输入

  • out_pos[6] – 提供1个位姿供用户输入

  • out_joints[6] – 提供1个关节角供用户输入

返回

err_code 为 0表示成功

in_strs[5]:返回5个字符串

in_ints[10]:返回10个整型

in_floats[10]:返回10个浮点型

in_pos[6]:返回1个位姿

in_joints[6]:返回1个关节角

Func xyzClearUsrCmd()

清除用户自定义指令缓存

Func xyzMasterSend(String send_string)

发送字符串到工控机

参数

send_string – 需要发送的字符串

Func xyzParseTraj(&Int pipeline_num, &Int register_num, &Int num, &Int wp_type[30], &Double pos[30][6])

解析轨迹

返回

pipeline_num pipeline文件number

register_num 用到的注册文件的注册number

num 轨迹点数

wp_type 姿态数组

pos 轨迹点数组

Func xyzExecuteTraj(&Int num, &Int wp_type[30], &Double pos[30][6])

执行轨迹

返回

num 轨迹点数

wp_type 姿态数组

pos 轨迹点数组

Func xyzExecutePickInTraj(&Int num, &Int wp_type[30], &Double pos[30][6])

执行取料入框轨迹

返回

num 轨迹点数

wp_type 姿态数组

pos 轨迹点数组

Func xyzExecutePickOutTraj(&Int num, &Int wp_type[30], &Double pos[30][6])

执行取料出框轨迹

返回

num 轨迹点数

wp_type 姿态数组

pos 轨迹点数组