API 说明

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

机械臂后台发送状态

支持

fanuc 机械臂主控支持的 API

RUN XYZ_BKGD

运行后台程序

后台程序会和工控机进行通信连接和收发数据。连接是否成功的的状态会写到第五个数值寄存器中,成功会给寄存器赋值为1,失败则赋值为0。 通信过程中,如果存在收发失败会给第六个数字寄存器赋值,收发数据失败会赋值为0,收发数据成功则会赋值为1。每一条指令均会和工控机 进行一次收发动作。

参数

none – 无,状态均直接反馈到数值寄存器

R[5]表示连接是否成功

R[6]表示通信是否有异常

CALL XYZ_ABT_BKGD

中止后台程序XYZ_BKGD的运行

中止时也会关闭后台套接字和工控机的连接。

CALL XYZ_SW_APP('app_name')

切换应用

参数

app_name (string) – 应用名称

CALL XYZ_SW_ITEM(ws_id,'item_codename')

切换工件

参数
  • ws_id (INT) – 工作空间 id

  • item_codename (string) – 工件名称

CALL XYZ_SW_FLW('flw_name')

切换flow

参数

flw_name – flow名称

CALL XYZ_SW_TOOL('tool_name')

切换工具

参数

tool_name (string) – 工具名称

CALL XYZ_R_CAPIMG(vision_service_id)

请求拍照

参数

vision_service_id (INT) – 视觉服务 id

CALL XYZ_G_CAPIMG(R[11])

获取拍照结果

参数

R[11] – 请求拍照时返回的 token 寄存器地址

CALL XYZ_CAPIMG(vision_service_id)

拍照

参数

vision_service_id (INT) – 视觉服务 id

CALL XYZ_R_G_POSE(ws_id)

请求抓取位姿

参数

ws_id (INT) – 需要获取抓取点位的工作空间id

CALL XYZ_G_G_POSE(R[11])

获取抓取位姿

参数

R[11] – 求抓取目标点位时返回的 token 寄存器地址

CALL XYZ_R_O_POSE(ws_id)

请求物体位姿

参数

ws_id (INT) – 需要获取物体位姿的工作空间id

CALL XYZ_G_O_POSE(R[11])

获取物体位姿

参数

R[11] – 请求物体位姿时得到的 token 寄存器地址

CALL XYZ_RESET_V(ws_id)

重置视觉

参数

ws_id (INT) – 需要重置视觉的工作空间id

CALL XYZ_S_JOINTS(rgx_number)

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

参数

rgx_number (INT) – 指定存储当前机械臂关节角度的寄存器地址,用来传给后台发送。可以任意指定,比如 50

CALL XYZ_S_C_POSE(rgx_number)

发送机械臂法兰当前位姿

参数

rgx_number (INT) – 指定存储当前机械臂法兰位姿的寄存器地址,用来传给后台发送。可以任意指定,比如 51

CALL XYZ_S_EXT_J(rgx_number)

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

参数

rgx_number (INT) – 指定存储当前机械臂扩展轴位置的寄存器地址,用来传给后台发送。可以任意指定,比如 52

CALL XYZ_R_PICK

请求pick动作规划

CALL XYZ_R_PLACE

请求place动作规划

CALL XYZ_R_PICPLA

请求pick和place规划

CALL XYZ_G_PICIN

获取取料入筐轨迹

CALL XYZ_G_PICOUT

获取取料出筐轨迹

CALL XYZ_G_PLAIN

获取放料入筐轨迹

CALL XYZ_G_PLAOUT

获取放料出筐轨迹

CALL XYZ_SW_STRAT('strat1')

请求切换策略

参数

strat1 – 策略名称

Type

string

CALL XYZ_U_T_POSE

料箱重定位

CALL XYZ_U_OBJ_OH

工件在上手的二次定位

CALL XYZ_U_OBJ_TH

工件不在手上的二次定位

CALL XYZ_G_OBJ_PT

获取工件姿态类型

CALL XYZ_RESET_PS

重置工业码垛状态

CALL XYZ_EXECTRAJ(traj_flag)

执行轨迹。

参数

traj_flag – 执行轨迹标志位若为 2,执行抓取入筐;若为 3,执行抓取出筐;若为 4,执行放置入筐;若为 5,执行放置出筐。

CALL XYZ_C_G_POSE(ws_id)

计算抓取位姿

参数

ws_id (INT) – 工作空间id

CALL XYZ_C_O_POSE(ws_id)

计算物体位姿

参数

ws_id (INT) – 工作空间id

CALL XYZ_USR_CMD()

自定义请求

参数

none

无,所有输入输出均直接修改寄存器,寄存器的使用情况如下:

SR[6]~SR[10]为下位机发送的字符串,不能为空

R[70]~R[79]为下位机发送的整数

R[80]~R[89]为下位机发送的浮点数

PR[2]为下位机发送的一组关节角

PR[6]为下位机发送的一个笛卡尔坐标

SR[1]~SR[5]为下位机接收的字符串

R[50]~R[59]为下位机接收的整数

R[60]~R[69]为下位机接收的浮点数

PR[1]为下位机接收的一组关节角

PR[5]为下位机接收的一个笛卡尔坐标