Fanuc机床 CNC_STATINFO 方法返回值说明

Fanuc机床 CNC_STATINFO 方法返回值说明

以下只选取了该返回值的部分进行说明,主要是针对0i F-Plus型号的机床进行适配举例

根据你提供的 Fanuc 官方文档(cnc_statinfo - ODBST 结构体说明),在 0i F-PLUS(属于 0i/30i/31i/32i/16i/18i/21i/Power Mate i/PMi-A 系列)机床中,odbst 结构体用于描述 CNC(数控系统)的当前状态。每个字段的含义和取值如下:


ODBST 结构体定义(0i/30i/31i/32i/16i/18i/21i/Power Mate i/PMi-A)

c 复制代码
typedef struct odbst {

  short hdck ;   *// 手轮再追踪状态*

  short tmmode ;  *// T/M 模式选择(复合加工功能专用)*

  short aut ;    *// 自动/手动模式选择*

  short run ;    *// 自动运行状态*

  short motion ;  *// 轴移动/暂停状态*

  short mstb ;   *// M/S/T/B 功能状态*

  short emergency ; *// 急停状态*

  short alarm ;   *// 报警状态*

  short edit ;   *// 程序编辑状态*

} ODBST ;

字段详细说明与取值意义

1. hdck(手轮再追踪状态,仅部分型号支持)
  • 0:无效

  • 1:M.H.RTR.(手轮再追踪中)

  • 2:NO RVRS.(禁止反向移动)

  • 3:NO CHAG.(禁止方向变更)

注意:仅 30i/31i/32i、0i-D/F 支持。大多数情况下用不到。


2. tmmode(T/M 模式选择,仅复合加工功能)
  • 0:T 模式

  • 1:M 模式

注意:仅复合加工机床有用,普通车/铣床一般恒为 0。


3. aut(自动/手动模式选择)
  • 0:MDI(手动数据输入)

  • 1:MEMory(内存自动运行)

  • 2:(未定义/保留)

  • 3:EDIT(编辑模式)

  • 4:HaNDle(手轮模式)

  • 5:JOG(点动模式)

  • 6:Teach in JOG(点动示教)

  • 7:Teach in HaNDle(手轮示教)

  • 8:INC·feed(增量进给)

  • 9:REFerence(回零)

  • 10:ReMoTe(远程)

常用判断:

  • 0/1/3:自动相关

  • 4/5/6/7/8/9/10:手动相关


4. run(自动运行状态)
  • 0:(复位/未运行)

  • 1:STOP(停止)

  • 2:HOLD(暂停)

  • 3:STaRT(运行中)

  • 4:MSTR(刀具回退/恢复、JOG MDI 运行中)

常用判断:

  • 3(STaRT):机床正在自动运行

  • 1/2:机床未运行或暂停


5. motion(轴移动/暂停状态)
  • 0:(无动作)

  • 1:MoTioN(轴正在移动)

  • 2:DWeLl(暂停/等待)


6. mstb(M/S/T/B 功能状态)
  • 0:(无特殊状态/其他)

  • 1:FIN(M/S/T/B 功能完成)


7. emergency(急停状态)
  • 0:未急停

  • 1:急停

  • 2:复位

  • 3:WAIT(仅 FS35i)

常用判断:

  • 1:急停,需人工干预

8. alarm(报警状态)
  • 0:无报警

  • 1:ALarM(有报警)

  • 2:BATtery low(电池低电)

  • 3:FAN(风扇报警,NC 或伺服放大器)

  • 4:PS Warning(电源警告)

  • 5:FSsB warning(伺服系统警告)

  • 6:INSulate warning(绝缘警告)

  • 7:ENCoder warning(编码器警告)

  • 8:PMC alarm(PMC 报警)

常用判断:

  • 1:有报警,需排查

  • 2~8:具体报警类型


9. edit(程序编辑状态/其他状态,部分型号有扩展)
  • 0:(未编辑)

  • 1:EDIT(编辑中)

  • 2:SeaRCH(搜索中)

  • 3:OUTPUT(输出中)

  • 4:INPUT(输入中)

  • 5:COMPARE(比较中)

  • 6:Label SKip(跳过标签状态)

  • 7:ReSTaRt(程序重启中)

  • 8~...:其他特殊状态(如 AI 轮廓控制、刀具回退等,详见文档)


实际应用与注意事项

  • 判断机床是否在自动运行:通常需同时判断 aut(自动/手动模式)和 run(运行状态),如 aut=1(MEMory)且 run=3(STaRT)表示自动运行中。

  • 报警与急停:alarm 和 emergency 任一非 0,说明机床有异常,需暂停自动流程。

  • edit 字段:在自动换刀、程序切换等流程中,edit=1(EDIT)时不能下发自动运行指令。

  • motion/mstb:可用于判断轴是否在移动、M代码是否完成,适合流程同步等待。


参考文档


如需结合实际代码判断机床状态,可根据上述字段和取值进行逻辑判断。例如:

js 复制代码
if (odbst.aut === 1 && odbst.run === 3) {

 *// 机床处于自动运行状态*

}
js 复制代码
if (odbst.alarm !== 0 || odbst.emergency !== 0) {

 *// 机床有报警或急停*

}

如需更详细的报警类型、edit 状态扩展等,可查阅 Fanuc Focas 官方文档或机床参数手册。

相关推荐
__zRainy__8 小时前
Node.js Web 框架选型指南:从 Express 到 Hono 的全景对比
前端·node.js·express·koa·nestjs·egg·fastify
小岐AI观9 小时前
智赋岐黄适合养生馆吗?
大数据·人工智能·物联网
数字新视界13 小时前
动环监控信创适配助力机房管理智能化转型
物联网·数据中心·动环监控·微模块机房·模块化机房
__zRainy__13 小时前
Node系列 · Node基础:net 模块
后端·node.js
乐橙开放平台17 小时前
物业 SaaS 笔记:子账号 Policy 按通道隔离,At_ 管控面 / St_ 数据面治理 accessToken
后端·物联网·音视频
DoLovya18 小时前
从零实现 ESP8266 + MQTT 智能门禁:公网一键开门、舵机控制、在线监控完整方案
python·物联网·mqtt·嵌入式·esp8266·门禁系统
悟天特斯18 小时前
智慧楼宇自控系统重构:从传统BA到AI自适应控制的架构演进
人工智能·物联网·重构·架构
嘟嘟071721 小时前
从浏览器到 hello world:Docker + nginx 反向代理 + Node 最小服务器一次讲清
docker·容器·node.js
FungLeo21 小时前
Node 后端实战 · 老系统数据迁移怎么不出乱子?V1→V2 重构实战与 3 个生产坑
node.js·serverless·数据库迁移·d1 数据库
今日无bug21 小时前
Tool Use 工具调用 —— 让LLM缸中大脑突破物理限制的3个阶段
node.js·llm·agent