A 系列和 FX 不一样:C 计数器本身没有固定编号自带断电保持,必须在 PLC 系统参数里设置「Latch(锁存 / 停电保持)范围」,把指定 C 计数器划入锁存区,断电才保存当前计数值与触点状态,靠 CPU 后备电池维持数据。C0‑C255 为普通内部 16 位加计数器,范围 1‑32767;不划入 Latch 区:断电全部清零;划入 Latch 区:断电保持当前值、触点状态,上电继续计数。
重要前提:CPU 电池完好,电池电压低,保持数据会丢失。
方式 1:参数设置把 C 计数器设置为断电保持
1、GX‑Developer(A 系列编程软件)设置步骤
打开工程 →【PLC 参数】→【软元件】标签页
Latch(停电保持)设置设置计数器 C 的锁存起始点,例如:
设定:
C100 ~ C255为锁存区域。
C0‑C99:普通,断电清零;C100‑C255:断电保持。
参数写入 PLC,PLC 断电重启,参数生效。
梯形图示例(A 系列)
plaintext
LD X0 //计数脉冲输入,上升沿计数 OUT C100 K500 //保持型计数器,设定500次 LD X1 //手动复位按钮 RST C100 //必须RST才清零;断电不会自动清零 LD C100 OUT Y0 //计数到达输出
逻辑:X0 每 ON 一次 C100+1;断电,C100 当前值、触点状态保存;上电继续接着计数;只有 X1 触发 RST 才清零。
A 系列计数器特性:计数器驱动条件不需要一直接通,只识别输入的上升沿;必须 RST 指令复位,不会自己清零。
方式 2:通用方案,不改动 Latch 参数(兼容任意 C 编号)
把计数器当前值,存到锁存 D 寄存器;上电第一个扫描周期 M9002(A 系列上电初始化脉冲),把 D 寄存器写回计数器当前值。
A 系列特殊继电器:M9002:上电第一个扫描周期 ON,等同于 FX 的 M8002。
A 系列计数器 C 的当前值寄存器:
Cn对应的当前值存储在C 的寄存器本体,不能直接 MOV 读写,A 系列没有直接 MOV Cn Dn 指令。✅正确做法:用加减指令做软件计数,使用锁存 D 寄存器来实现断电保持计数,冲床累计产量常用。
plaintext
//M9002:上电初始化脉冲 LD M9002 MOV D100 D200 //D100为锁存保存的计数值,上电加载到工作寄存器D200 LD X0 //计数脉冲输入 INC D200 //脉冲上升沿,D200+1 LD X1 //复位按钮 MOV K0 D200 //复位清零 MOV K0 D100 //每次计数完成,同步保存到锁存D100,断电保持 LD X0 MOV D200 D100 //比较判断计数到达 LD>= D200 K500 OUT Y0
需要在 PLC 参数把 D100 划入 Latch 锁存区,D100 断电保存。
A 系列关键要点
C 计数器断电保持,完全由参数 Latch 范围决定,不是固定编号,和 FX 系列 C100‑C199 固定保持不一样,这点很多人混淆三菱電機 ...。
后备电池没电,无论是否设置 Latch,断电数据全部丢失;A 系列 CPU 电池需要定期更换。
锁存的 C 计数器,只能 RST 指令清零;上电不会自动复位。
高速计数器:A 系列高速计数模块,高速计数值不会自动断电保持,需要程序读到锁存 D 寄存器,上电再回写。
M9002 是 A 系列上电脉冲,不要用 FX 的 M8002,A 系列 M8002 无效。
冲床场景建议
冲床冲压总次数累计:优先使用【锁存 D 寄存器 + INC 指令软件计数】,稳定性更好,不占用 C 计数器。
如果一定要用硬件 C 计数器,就在参数把 C 划入 Latch 锁存区。
定期监控电池电压,特殊寄存器 D9008 可读取电池状态,电池低压报警提示更换电池,防止计数数据丢失。
故障排查
设置 Latch 后断电计数值丢失:检查 CPU 电池;确认参数已经下载到 PLC;确认 Latch 设置范围包含对应 C 编号。
上电计数器自动清零:该 C 没有划入 Latch 锁存区。

