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()
重置工业码垛状态