外围报警是维修电工最常被卡住的一类:屏幕上一个 EX1118 或 AL2022,手册丢了、问厂家三天不回,机床就这么停着。其实这类报警有一个固定的反查路径——报警号 → A 地址 → 梯形图 → I/O 点,四步就能从”不知道什么意思”走到”该测哪个端子”。
本文把这四步拆到能照着按软键的程度,并补两个真正卡人的坑:梯形图缺 DISPB 功能指令(A 地址通了却不报警)和报警信息里只有报警号、没有 I/O 点的情况怎么处理。
一、先分清三类报警:系统 / 伺服 / 机床厂自定义
表 1 — 三类报警的边界与归属
| 类别 | 号段 | 谁写的 | 能不能在 FANUC 手册里查到 | 典型例子 |
|---|---|---|---|---|
| 系统报警 | 900–976 | FANUC(CNC 控制侧硬件) | ✅ 能 | 900 ROM PARITY、950 PMC、974 F-BUS |
| 伺服 / 主轴报警 | 4xx / 7xx | FANUC | ✅ 能 | 401 VRDY OFF、749 串行主轴 |
| 机床厂自定义(外围报警) | 1000–2999 | 机床厂(MTB)写在 PMC 里 | ❌ 查不到,只在随机床手册里 | EX1010、No1018、AL2022 |
外围报警的几个典型特征:
- 号段 1000–1999 或 2000–2999,前缀多为
EX、No、AL、ALM - 本质是机床厂用 PMC 的 A 地址做的报警:A 地址一接通,配上信息画面里的报警文本,就在屏幕上显示成一条报警
- 监测的都是外围元器件:液位开关、压力开关、温度开关、限位开关、刀库/刀塔位置开关等
一句话区分:能在 FANUC 手册里查到的叫系统/伺服报警;查不到、只随机床带的,就是机床厂自定义外围报警。区分清楚很重要,因为两者的处理路径完全不同——前者看硬件诊断,后者查梯形图。系统报警(900–976)的详解见《FANUC 900/950/971 报警代码大全》。

二、报警号 ↔ A 地址 ↔ 报警文本:信息画面怎么查
先说清 A 地址是什么。FANUC 的 PMC 地址里有 X、Y、R、K、D、T、C、A,其中 A 是报警信息地址:
- A0 ~ A249,共 250 个字节,每字节 8 位 → 合计 2000 个信息位(这就是后面 DISPB 里”信息数 2000″的来历)
- 每一位对应一条报警信息;机床厂在 PMC 里把某个 A 位置 1,系统就去”信息”里找这个地址对应的文本并显示出来
⚠️ 这里有一个必须纠正的常见误解:报警号和 A 地址之间不是固定公式算出来的,是机床厂在信息画面里自己分配的。实测同一套逻辑在不同机床上:一台 A0.0 对应 1000 号,另一台 A0.0 对应 2000 号;还有 A0.5 → 1036、A1.0 → 1039 这种看似无规律的分配。所以不要拿”1000 + 字节×8 + 位”去套,一定要到信息画面里查实际对应关系。
查看路径:
- 机床切到【MDI】方式
- 按【SYSTEM】
- 连按 3 次扩展键【▶】
- 选【PMC 配置】→【信息】
进到这里能看到报警号 → A 地址 → 符号的完整对照表,这就是后面所有反查的依据。信息编得好的机床,文本里会直接写 I/O 点(例如”EX1118 污水桶低水位异常检知 (X14.0)”),一眼就能定位;编得差的只有报警号,那就走第三节起的四步。

三、第一步:PMC 维护 → 信号状态,确认哪个 A.x 触发了
先确定”是哪一位在报警”。
路径:【MDI】→【SYSTEM】→ 连按 3 次【▶】→【PMC 维护】→【信号状态】→ 进 A 地址页面
- 页面会列出 A 地址(如 A0.0)与蓝色的符号数字
- 某位显示为 1,就是当前触发的那条报警(例如 A0.0 = 1 对应急停报警)
- 报警可能同时有多个位置 1,配合屏幕上的报警号与信息画面的对照表来锁定主因,别被连锁报警带偏
小技巧:如果报警一闪就消、来不及看,可以先在信号状态页面盯住 A 区,再触发一次动作复现——这一位很多时候是”结果位”,真正的条件还在梯形图里。
四、第二步:梯形图里搜线圈,逆推串联触点
拿到 A 地址(或报警号)后,去梯形图定位它的线圈。
路径:【SYSTEM】→ 3 次【▶】→【PMC 梯图】
- 输入查询条件:可以直接输 A 地址(如
A0.0),也可以输报警号(如#1000) - 按【W-搜索】软键,光标直接跳到该报警对应的线圈
- 逆推:看这个线圈前面串了哪些触点——通常就是输入信号触点(如 X8.4 的常闭触点)
急停报警这个例子最典型:正常情况下外部急停开关接常闭点,通电后 PMC 里 X8.4 常闭触点断开,A0.0 线圈不导通;按下急停或线路断线时,X8.4 常闭触点闭合,A0.0 导通 → 报警。所以排查时针对性查两样:急停开关是否卡滞、线路是否断线/接触不良。
逆推的核心心法:线圈是”结果”,它前面串的触点才是”原因”。一步步往上找,直到找到最外层的那个物理输入(X 点)或内部条件(R 继电器、定时器、计数器)。
梯形图基础与在线监控手法见《FANUC PMC 梯形图入门:从信号地址到在线监控》。
五、第三步:把 X 位号反查回电气图与端子排
找到 X 点只是拿到”逻辑地址”,还要落到物理接线上。
- X 点 → I/O 模块:先看该 X 地址属于哪个 I/O Link 模块(进 PMC 的 I/O 模块分配画面确认组/座/槽与起始地址)
- 模块 → 端子排:按模块的接线表/地址表,把 Xm.n 落到具体的端子号
- 现场测:到端子排上量这个点的通断/电压,确认是开关坏、线断还是触点氧化
⚠️ 位号漂移这个坑:报警文本里写的 X 点号是按当时的 I/O Link 分配写死的。一旦分配变了——增删模块、改字节数(如 OC01I 改成 OC02I)、调组序——后续模块的全部 X 地址会整体平移。于是就会出现”报警写的是 X14.0,实际信号在 X20.0″这种对不上的情况。所以永远以当前的 I/O 分配 + 梯形图为准,不要迷信旧文本里写的点号。
六、第四步:反向验证——手动强制该输入,报警是否复现
前三步是”推”,第四步是”验”。目的只有一个:确认你找到的那条链路真的是报警的成因,而不是旁边一条并联的。
做法:在安全的机械条件下(能停就停、轴能锁就锁),人为制造该输入的状态变化——
- 物理侧:短接/断开对应端子,或手动拨动开关、按下按钮
- PMC 侧:用 PMC 的强制(FORCE)功能把该 X 位强制置 1/0(用完务必解除强制!)
判读:
- 报警如期出现/消失 → 链路确认,故障点就在这个开关或这段线上
- 报警没反应 → 说明找错了:回到第二步重新逆推,注意有没有并联条件、自保持回路、双线圈(同一 A 地址在两处被驱动时,实际不一定导通)
- 报警时有时无 → 多半是接触不良、触点氧化或端子松动,重点查接头而不是换件
铁律:强制功能用完必须解除。忘记解除强制,机床会带着一个”假的”信号运行,这是最危险的一类人为隐患。

七、坑一:A 地址已经置 1,画面却不报警?多半缺 DISPB
这是最让人抓狂的一种:在 PMC 状态监控里看到 A0.5、A1.0 明明已经触发(=1),信息画面里这两个地址的文本也填好了(如 A0.5 对应 1036),但屏幕上就是没有任何报警显示。
原因:梯形图里没有”信息显示”功能指令 DISPB(SUB 41)——修改程序时误删或漏编了。
报警显示的完整链路是:
梯形图把 A 位置 1 → DISPB 通知系统 → 系统到”信息”里读这个 A 地址对应的文本 → 显示在画面上
少了 DISPB 这一环,A 地址通了也没有人去通知系统,自然不显示。
DISPB 里的”信息数”怎么填:以 0i-D 为例,A 地址是 A0~A249 共 250 字节 × 8 位 = 2000 个信息位,所以功能指令里填 2000。不同机型 A 地址范围可能有差异,以本机 PMC 规格为准。
另外两个同样会造成”触发了不显示”的原因(顺手一起查):
- 双线圈:同一 A 地址在两处被驱动,实际可能根本没导通
- 仿真/测试环境 PMC 程序本身不完整(仿真器上最常见)
八、坑二:信息里只有报警号、没有 I/O 点怎么办
很多机床的报警信息编得很省——只有 EX2022 这种号,没有地址、没有符号、没有 I/O 点。这时候按下面顺序找:
① 先按 A 地址搜,搜不到就按”符号名”搜
有些厂家不是直接用 A 地址,而是用内部继电器 R + 数据传送指令实现。这时输 A0.0 会提示”地址/符号未找到”,因为线圈其实是 R0700.0 之类,符号名称就是那个报警号(可能带前缀:2000 / EX2000 / AL2000 / No.2000)。所以直接输报警号数字(如 2000)再按 W-搜索,光标会定位到那个 R 线圈。
② R 线圈还没符号名?去搜数据传送指令
如果 R 线圈连符号名都没有,就搜功能指令。常见的传送类指令:
表 2 — 常见的 PMC 数据传送类功能指令
| 指令 | 含义 |
|---|---|
| SUB43 / MOVB | 1 字节数据传送 |
| SUB44 / MOVW | 2 字节数据传送 |
| SUB47 / MOVD | 4 字节数据传送 |
| SUB45 / MOVN | 任意字节数数据传送 |
| SUB8 / MOVE | 逻辑乘后传送 |
| SUB28 / MOVOR | 逻辑和后传送 |
在 PMC 里逐个搜这些指令,找到源地址是 R、目标地址是 A 的那一条即可。
③ 按字节对应算回去
例如某条 SUB45/MOVN:字节数 30,源地址 R0700~R0729,目标 A000~A0029,R 与 A 按字节一一对应——A5.0 是第 5 字节,对应的就是 R0705.0(R0700 为起始)。找到 R 之后再往上追它的驱动条件。
④ 整字节使用的写法
有些机床厂把 A 地址按字节用:例如 R580 的每一位接通就分别触发 A0.0~A0.7。这时先找 A 的那一字节,再找它对应的 R 地址关系即可。
排查心法不变:不管厂家用 A 直接写、还是 R + 传送指令绕一层,最终都要落到”哪个物理输入驱动了它”。绕路只是多搜一步指令。

常见问题
FANUC 梯形图里 A 地址已经通电了,为什么不报警?
最常见的原因是梯形图里缺少信息显示功能指令 DISPB(SUB 41)——报警显示的链路是”梯形图置位 A 地址 → DISPB 通知系统 → 系统查信息文本 → 显示”,少了 DISPB 就没有人通知系统,所以 A 地址通了也不显示。把 DISPB 补上即可(其中的”信息数”按本机 A 地址总量填,0i-D 常见为 2000 = A0~A249 共 250 字节 × 8 位)。另外两个次要原因:同一 A 地址存在双线圈(实际并未导通),以及在仿真器上测试(PMC 程序本身不完整)。
PMC 报警和系统报警怎么区分?1000 号算哪一类?
1000 号算机床厂自定义的外围报警(PMC 报警),不是系统报警。 系统报警是 900–976(CNC 控制侧硬件故障,FANUC 手册可查,且不能用复位键消除);伺服/主轴是 4xx / 7xx;而 1000–2999 段是机床厂写在 PMC 里、用 A 地址触发的报警,FANUC 手册查不到,只在随机床手册里。区分的价值在于路径:系统报警走硬件诊断,外围报警走”报警号 → A 地址 → 梯形图 → I/O 点”的反查。
找不到机床厂报警手册时怎么查报警原因?
按四步反查:①【MDI】→【SYSTEM】→3 次【▶】→【PMC 维护】→【信号状态】,找出显示为 1 的那个 A 位;②【PMC 梯图】里输入该 A 地址(或报警号)后按【W-搜索】定位线圈,逆推它前面串联的触点;③把查到的 X 点按 I/O Link 分配反查回模块与端子排,注意分配变动会造成位号漂移;④手动强制或短接该输入做反向验证,确认报警随之出现/消失。信息画面(【PMC 配置】→【信息】)里如果能看到报警号→A 地址→符号的对照,就先拿它当索引。
最后更新:2026-10-21



















暂无评论内容