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]为下位机接收的一个笛卡尔坐标