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

相关推荐
一袋米扛几楼9813 小时前
【物联网】BLE Fundamentals 核心概念总结-广告-读写特征-LED控制-传感器通知-上下游通信过程
物联网
ONLYOFFICE13 小时前
【技术教程】如何将文档编辑器集成至基于Node.js的网页应用程序中
服务器·node.js·编辑器
科技D人生14 小时前
物联网开发学习总结(1)—— IOT 设备 OTA 升级方案
物联网·iot 开发·ota 升级·物联网设备ota升级
longze_717 小时前
npm 打包上传命令,撤销错误版本
前端·npm·node.js
扯淡的闲人17 小时前
关于NPM(Node Package Manager)的详细介绍
前端·npm·node.js
TDengine (老段)1 天前
TDengine 日期时间函数 DAYOFWEEK 使用手册
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
CServer_011 天前
AI+PLM如何重构特种/高端复杂装备行业的工艺管理?
人工智能·物联网·重构·自动化·制造·工业物联网
猫猫的小茶馆1 天前
【STM32】贪吃蛇 [阶段 8] 嵌入式游戏引擎通用框架设计
stm32·单片机·嵌入式硬件·mcu·物联网·游戏引擎·智能硬件
伍哥的传说1 天前
开源协作白板 – 轻量级多用户实时协作白板系统 – 支持多用户绘图、文字编辑、图片处理
websocket·开源·node.js·canvas绘图·白板系统·实时协作·在线绘图
v_for_van1 天前
TFT屏幕:STM32硬件SPI+DMA+队列自动传输
笔记·stm32·单片机·嵌入式硬件·mcu·物联网·学习