API 说明

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

机械臂后台发送状态

支持

那智工控机主控定义了一些全局变量,不允许用户使用,占用情况如下(VARIABLE.INC):

整数变量V%

地址

含义

说明(是否用户可写)

V50%

通讯连接标志位

read only

V51%

motion_socket报错1

read only

V52%

motion_socket报错2

read only

V53%

通讯接收长度

read only

V54%

内部使用

read only

V55%

内部使用

read only

V56%

通讯发送长度

read only

V57%

内部使用

read only

V58%

内部使用

read only

V60%

内部使用

read only

V61%

status_socket报错1

read only

V62%

status_socket报错2

read only

V63%

内部使用

read only

V64%

内部使用

read only

V65%

通讯发送长度

read only

V80%

服务端发送的cmd

read only

V81%

服务端发送的acc

read only

V82%

服务端发送的zone

read only

V83%

服务端发送的port

read only

V84%

服务端发送的signal

read only

字符串变量V$

地址

含义

说明(是否用户可写)

V10$

内部使用

x

V11$

所有收到信息

read only

V21$

内部使用

x

V22$

所有发送信息

read only

V30$

显示错误消息

read only

V31$

显示错误消息

read only

实数变量V!

地址

含义

说明(是否用户可写)

V80!~V96!

内部使用

x

nachi 机械臂主控支持的 API

那智部分全局变量已经被占用,不允许用户使用,占用情况如下(VARIABLE.INC):

整数变量V%

地址

含义

说明(是否用户可写)

V1%

通讯连接标志位

x

V2%

发送命令标志位

x

V3%

服务端ip地址

可写

V4%

服务端端口号

可写

V5%

是否通讯失败

read only

V6%

socket报错1

read only

V7%

socket报错2

read only

V8%

内部使用

x

V9%

内部使用

x

V10%

内部使用

x

V11%

内部使用

x

V12%

发送的命令码

read only

V13%

设置发送给服务端的ws_id

可写

V14%

设置发送给服务端的token

可写

V15%~V20%

系统预留,勿用

x

V21%

服务端返回的error_code

read only

V22%

服务端返回的token

read only

V23%

服务端返回的grasp_pose_num

read only

V24%

服务端返回的grasp_pose_type

read only

V25%

服务端返回的obj_pose_num

read only

V26%

服务端返回的obj_pose_type

read only

V27%

服务端返回的轨迹点数量

read only

V28%

服务端返回的轨迹点pose_type

read only

V29%~V58%

服务端返回的每个轨迹点的类型 (最多支持30个点)

read only

字符串变量V$

地址

含义

说明(是否用户可写)

V1$

显示错误消息

read only

V2$

内部使用

x

V3$

内部使用

x

V4$~V13$

内部使用

x

V14$~V15$

系统预留,勿用

x

实数变量V!

地址

含义

说明(是否用户可写)

V1!

x of grasp_pose

read only

V2!

y of grasp_pose

read only

V3!

z of grasp_pose

read only

V4!

a of grasp_pose

read only

V5!

b of grasp_pose

read only

V6!

c of grasp_pose

read only

V7!

x of object_pose

read only

V8!

y of object_pose

read only

V9!

z of object_pose

read only

V10!

a of object_pose

read only

V11!

b of object_pose

read only

V12!

c of object_pose

read only

V13!

x of tote_pose

read only

V14!

y of tote_pose

read only

V15!

z of tote_pose

read only

V16!

a of tote_pose

read only

V17!

b of tote_pose

read only

V18!

c of tote_pose

read only

V19!~V26!

内部使用

x

V301!~V306!

轨迹点1

x

V307!~V312!

轨迹点2

x

轨迹点n

x

V475!~V480!

轨迹点30

x

机械臂主控支持的api定义在 USRPROC.INC:

MasterInit()

初始化各变量

xyzMasterConnect()

连接server,需要事先将ip地址设置到 V3%, 端口号设置到 V4%

xyzSwitchApp(app_name)

切换app

参数

app_name (STRING) – app的名称

xyzSwitchObj(obj_name)

切换工件

参数

obj_name (STRING) – app的名称

xyzSwitchTool(tool_id)

切换工具

参数

tool_id (STRING) – 工具名称

xyzReqCapImg()

请求拍照,需要事先将ws_id设置到 V13%

返回的token存放在 V22%

xyzGetCapImg()

获取拍照结果,需要事先将想查找的token设置到 V14%

xyzCapImg()

拍照并获取结果,等价于xyzReqCapImg() + xyzGetCapImg()。 需要事先将ws_id设置到 V13%

xyzReqGraspPose()

请求抓取目标点位,需要事先将ws_id设置到 V13%

返回的token存放在 V22%

xyzGetGraspPose()

获取抓取点位,需要事先将想查找的token设置到 V14%

返回的抓取点信息存放在 V23%, V24%, V1!~V6!

xyzReqObjPose()

请求物体位姿,需要事先将ws_id设置到 V13%

返回的token存放在 V22%

xyzGetObjPose()

获取物体位姿,需要事先将想查找的token设置到 V14%

返回的物体位姿存放在 V25%, V26%, V7!~V12!

xyzResetVision()

重置视觉,需要事先将ws_id设置到 V13%

xyzSendCurrentJoints()

发送机械臂当前角度

xyzSendCurrentCartPose()

发送机械臂当前Cartesian

xyzSendCurrentExtJoints()

发送机械臂当前扩展轴位置,该指令暂不支持

xyzReqPick()

请求pick动作规划

xyzReqPlace()

请求place动作规划

xyzReqPickPlace()

请求pick和place规划

xyzGetPickIn()

获取取料入框轨迹,轨迹点信息存放在 V27%, V28%

xyzGetPickOut()

获取取料出框轨迹,轨迹点信息存放在 V27%, V28%

xyzGetPlaceIn()

获取放料入框轨迹,轨迹点信息存放在 V27%, V28%

xyzGetPlaceOut()

获取放料出框轨迹,轨迹点信息存放在 V27%, V28%

xyzSwitchStrat(strat_name)

请求切换策略

参数

strat_name (STRING) – 策略名称

xyzUpdateTotePose()

料箱重定位,新的料箱位姿存放在 V13! ~ V18!

xyzUpdateObjPoseOnHand()

工件在手上的二次定位

xyzUpdateObjPoseToHand()

工件不在手上的二次定位,轨迹点信息存放在 V27%, V28%

xyzGetObjPoseType()

获取工件姿态类型,返回的姿态类型存放在 V26%

xyzResetPalletStatus()

重置工业码垛状态