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 官方文档或机床参数手册。

相关推荐
Archie_IT2 分钟前
嵌入式八股文篇——P1 关键字篇
c语言·开发语言·单片机·mcu·物联网·面试·职场和发展
TDengine (老段)23 分钟前
TDengine 时序函数 DERIVATIVE 用户手册
大数据·数据库·sql·物联网·时序数据库·iot·tdengine
TDengine (老段)29 分钟前
TDengine 时序函数 STATEDURATION 用户手册
大数据·数据库·sql·物联网·时序数据库·iot·tdengine
你的电影很有趣3 小时前
lesson71:Node.js与npm基础全攻略:2025年最新特性与实战指南
前端·npm·node.js
闲蛋小超人笑嘻嘻4 小时前
前端面试十四之webpack和vite有什么区别
前端·webpack·node.js
特立独行的猫a4 小时前
JSNES游戏模拟器在 Node.js 环境下的测试使用及高清显示优化
游戏·node.js·nes·jsnes
huangql5206 小时前
基于前端+Node.js 的 Markdown 笔记 PDF 导出系统完整实战
前端·笔记·node.js
沐欣工作室_lvyiyi7 小时前
基于单片机的盲人智能水杯(论文+源码)
单片机·嵌入式硬件·物联网·毕业设计·智能水杯
大河qu19 小时前
HCIP-IoT 真题详解(章节D),嵌入式基础与南向开发 /Part1
物联网·传感器·liteos·华为云物联网认证·hcip-iot·nb-iot芯片
沐欣工作室_lvyiyi19 小时前
基于物联网的个人健康管理系统(论文+源码)
单片机·物联网·毕业设计·健康管理