API 说明

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

机械臂后台发送状态

支持

Denso 机械臂主控支持的 API

denso 支持传入变量传出。在 denso 的编程语言(PacScript)中数组下标从零开始。 通过 Dim 指令生成数组时,需要在变量处填写的数值为数组长度减一。例如:Dim aaa(3) As Integer 则表示声明一个长度为4的整数型数组。

Sub xyzMasterConnect()

连接到工控机

Function xyzSwitchTask(task_codename As String) As Integer

切换应用

参数

task_codename (String) – 应用名称

返回

err_code

返回类型

Integer

Function xyzSwitchTool(tool_id As Integer) As Integer

切换工具

参数

tool_id (Integer) – 工具编号

返回

err_code

返回类型

Integer

Function xyzCallVisionCmd(vs_id As Integer, vision_codename As String) As Integer

呼叫视觉

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

  • vision_codename (String) – 呼叫视觉的指令名称

返回

err_code

返回类型

Integer

Function xyzReqGraspPose(vs_id As Integer, ByRef token As Integer) As Integer

请求抓取位姿

参数
  • vs_id (Integer) – 需要获取抓取点位的工作空间id

  • token (Integer) – 返回的用于获取目标点位时使用的token

返回

err_code

返回类型

Integer

Function xyzGetGraspPose(token As Integer, ByRef num As Integer, ByRef pipe_num As Integer, ByRef regi_num As Integer, ByRef grasp_pose As Position, ByRef out_ints(5) As Integer) As Integer

获取抓取位姿

参数
  • token (Integer) – 求抓取目标点位时返回的token

  • num (Integer) – 可供抓取的点数量

  • pipe_num (Integer) – 运动流程编号

  • regi_num (Integer) – 抓取序号

  • grasp_pose (Position) – 抓取位姿

  • out_ints(5) (Array of Integer) – 可以task中自定义含义

返回

err_code

返回类型

Integer

Function xyzReqObjPose(vs_id As Integer, ByRef token As Integer) As Integer

请求物体位姿

参数
  • vs_id (Integer) – 需要获取物体位姿的工作空间id

  • token (Integer) – 物体位姿识别的token

返回

err_code

返回类型

Integer

Function xyzGetObjPose(token As Integer, ByRef num As Integer, ByRef obj_pose As Position, ByRef object_name As String, ByRef out_ints(5) As Integer) As Integer

获取物体位姿

参数
  • token (Integer) – 请求物体位姿时得到的token

  • num (Integer) – 物体数量

  • obj_pose (Position) – 物体位姿

  • object_name (String) – 当前返回的物体 pose 类型

返回

err_code

返回类型

Integer

Function xyzResetTask() As Integer

重置任务

返回

err_code

返回类型

Integer

Function xyzSendCurrentJoints(cur_jnt As Joint) As Integer

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

返回

err_code

返回类型

Integer

Function xyzSendCurrentCartPose(cur_pos As Position) As Integer

发送机械臂法兰当前位姿

返回

err_code

返回类型

Integer

Function xyzSendCurrentExtJoints() As Integer

发送机械臂外部轴角度信息

返回

err_code

返回类型

Integer

Function xyzReqPickPlace(vs_id As Integer) As Integer

请求抓放规划

参数

vs_id (Integer) – 请求规划的工作空间id

返回

err_code

返回类型

Integer

Function xyzGetPickin(vs_id As Integer, ByRef pipe_num As Integer, ByRef regi_num As Integer, ByRef num As Integer, ByRef traj As Variant) As Integer

获取取料入框轨迹

参数
  • vs_id (Integer) – 需要获取取料入框点位的工作空间id

  • pipe_num (Integer) – 运动流程编号

  • regi_num (Integer) – 抓取序号

  • num (Integer) – 可供抓取的点数量

  • traj (Variant) – 路径点数据

返回

err_code

返回类型

Integer

Function xyzGetPickout(vs_id As Integer, ByRef pipe_num As Integer, ByRef regi_num As Integer, ByRef num As Integer, ByRef traj As Variant) As Integer

获取取料出框轨迹

参数
  • vs_id (Integer) – 需要获取取料出框点位的工作空间id

  • pipe_num (Integer) – 运动流程编号

  • regi_num (Integer) – 抓取序号

  • num (Integer) – 可供抓取的点数量

  • traj (Variant) – 路径点数据

返回

err_code

返回类型

Integer

Function xyzGetPlacein(vs_id As Integer, ByRef pipe_num As Integer, ByRef regi_num As Integer, ByRef num As Integer, ByRef traj As Variant) As Integer

获取放料入框轨迹

参数
  • vs_id (Integer) – 需要获取放料入框点位的工作空间id

  • pipe_num (Integer) – 运动流程编号

  • regi_num (Integer) – 抓取序号

  • num (Integer) – 可供抓取的点数量

  • traj (Variant) – 路径点数据

返回

err_code

返回类型

Integer

Function xyzGetPlaceout(vs_id As Integer, ByRef pipe_num As Integer, ByRef regi_num As Integer, ByRef num As Integer, ByRef traj As Variant) As Integer

获取放料出框轨迹

参数
  • vs_id (Integer) – 需要获取放料出框点位的工作空间id

  • pipe_num (Integer) – 运动流程编号

  • regi_num (Integer) – 抓取序号

  • num (Integer) – 可供抓取的点数量

  • traj (Variant) – 路径点数据

返回

err_code

返回类型

Integer

Function xyzUpdateTotePose(vs_id As Integer) As Integer
参数

vs_id (Integer) – 料箱重定位工作空间id

返回

err_code

返回类型

Integer

Function xyzUpdateObjPoseOnHand(ByRef pos As Position) As Integer

工件在上手的二次定位

参数

pos (Position) –

返回

err_code

返回类型

Integer

Function xyzSwitchItem(vs_id As Integer, item_codename As String) As Integer

切换工件

参数
  • vs_id (Integer) – 视觉空间id

  • item_codename (String) – 工件代号

返回

err_code

返回类型

Integer

Function xyzCalculateGraspPose(vs_id As Integer, ByRef num As Integer, ByRef pipe_num As Integer, ByRef regi_num As Integer, ByRef grasp_pose As Position, ByRef out_ints(5) As Integer) As Integer

计算抓取目标点位

参数
  • vs_id (Integer) – 需要获取抓取点位的工作空间id

  • num (Integer) – 可供抓取的点数量

  • pipe_num (Integer) – 运动流程编号

  • regi_num (Integer) – 抓取序号

  • grasp_pose (Position) – 抓取位姿

  • out_ints(5) (Array of Integer) – 可以task中自定义含义

返回

err_code

返回类型

Integer

Function xyzCalculateObjectPose(vs_id As Integer, ByRef num As Integer, ByRef obj_pose As Position, ByRef object_name As String, ByRef out_ints(5) As Integer) As Integer

计算物体位姿

参数
  • vs_id (Integer) – 需要获取物体点位的工作空间id

  • num (Integer) – 物体数量

  • obj_pose (Position) – 物体位姿

  • object_name (String) – 当前返回的物体 pose 类型

返回

err_code

返回类型

Integer

Function xyzUsrCmd(strs(4) As Variant, ints(9) As Integer, floats(9) As Single, pos As Position, jnt As Joint, ByRef out_strs(4) As String, ByRef out_ints(9) As Integer, ByRef out_floats(9) As Single, ByRef out_pos As Position, ByRef out_jnt As Joint) As Integer

用户自定义指令

参数
  • strs (Array of Variant) – 发给上位机的字符串数组

  • ints (Array of Integer) – 发给上位机的整型数组

  • floats (Array of Single) – 发给上位机的浮点型数组

  • pos (Position) – 发给上位机的笛卡尔坐标

  • jnt (Joint) – 发给上位机的关节坐标

  • out_strs (Array of String) – 上位机发来的字符串数组

  • out_ints (Array of Integer) – 上位机发来的整型数组

  • out_floats (Array of Single) – 上位机发来的浮点型数组

  • out_pos (Position) – 上位机发来的笛卡尔坐标

  • out_jnt (Joint) – 上位机发来的关节坐标

返回

err_code

返回类型

Integer

Sub xyzExecuteTraj(num As Integer, traj As Variant)

执行轨迹

参数
  • num (Integer) – 轨迹点的个数

  • traj (Variant) – 轨迹数据