PLC 断电保持型计数器(停电保持计数器),核心是选对编号、正确编程、规范复位与设定,断电后当前值自动保存,上电继续计数。下面以最常用的 **FX 系列(FX3U/FX5U)** 为例,详细说明使用方法。
一、先分清:哪些是断电保持型计数器
1. 16 位增计数器(最常用)
通用型(断电清零):C0~C99
断电保持型(断电保存):C100~C199(共 100 点)
计数范围:0~32767,设定值:K1~K32767
2. 32 位增减计数器(双向计数)
通用型:C200~C219
断电保持型:C220~C234(共 15 点)
计数范围:-2147483648~+2147483647,可加 / 减计数
二、核心使用规则(与普通计数器的关键区别)
断电保持特性:PLC 断电、再上电,当前值不变,从断电前数值继续计数。
必须手动复位:达到设定值后,触点保持 ON,不会自动复位;必须用RST 指令或外部复位信号清零。
设定值:可用常数 K,也可用数据寄存器 D(如 C100 D100)。
计数触发:对 ** 计数输入的上升沿(OFF→ON)** 计数,每来一个脉冲,当前值 + 1。
三、编程步骤(以 16 位 C100 为例)
1. 基本梯形图(累计计数,断电不丢)
plaintext
LD X000 // 计数脉冲输入(如产品检测、设备启停) OUT C100 K1000 // 断电保持计数器C100,设定值1000 LD X001 // 复位按钮(手动清零) RST C100 // 复位C100,当前值=0,触点OFF LD C100 // C100达到1000时,触点ON OUT Y000 // 输出报警/停机
效果:X000 每通断一次,C100+1;断电后再上电,C100 从断电前数值继续;X001 按下,C100 清零。
2. 设定值用数据寄存器(D)
若需动态修改设定值(如触摸屏改产量目标),用 D 寄存器:
plaintext
LD X000 OUT C100 D100 // 设定值=D100的数值(可在程序/触摸屏修改)
D100 可在程序中用MOV 指令赋值,或通过 HMI 修改。
3. 32 位断电保持计数器(C220,双向计数)
plaintext
LD X000 // 加计数脉冲 LD X001 // 减计数脉冲 OUT C220 D200 // 32位断电保持增减计数器,设定值=D200 LD X002 // 复位 RST C220
C220 为 32 位,需用连续两个 D 寄存器(如 D200、D201)存设定值。
四、关键注意事项(避坑)
编号不能错:必须用C100~C199(16 位)、C220~C234(32 位),用 C0~C99 断电会清零。
复位必须用 RST:达到设定值后,触点一直 ON,必须 RST 才能复位,不能靠断电复位。
不要与通用计数器混用:同一程序中,关键累计数据(产量、次数)用保持型;临时计数用通用型。
电池 / 电容备份:FX 系列保持型计数器靠内置电池(FX3U)或超级电容保存数据,电池没电会丢失;定期更换电池(约 5 年)。
高速计数:高速计数器(C235~C255)无断电保持,需用普通保持型 C 配合程序实现累计。
程序下载注意:下载新程序时,保持型计数器当前值会被清零;重要数据需先备份到 D 寄存器。
五、典型应用场景
累计产量统计:生产线产品计数,断电后第二天继续累计。
设备运行次数:电机启动次数、阀门开关次数,用于寿命预警。
故障次数记录:设备报警次数,断电不丢失,便于维护分析。
长周期计数:超过一天的计数任务,无需每天清零。
六、快速判断与排查
现象:断电后计数器清零 → 用了C0~C99(通用型),换成C100~C199。
现象:达到设定值后触点不复位 → 未加RST 指令,添加复位逻辑。
现象:上电后数值异常 → 电池没电,更换 PLC 电池;或程序下载时被清零。
七、FX5U 扩展(与 FX3U 一致)
FX5U 保持型计数器编号与 FX3U 完全兼容:
16 位保持:C100~C199
32 位保持:C220~C234
用法、编程完全相同,仅部分高速计数器编号略有差异。

