Skip to content

计数器 C ​

计数器:16 位到设定值锁定需 RST,32 位方向由 M8200 独立控制且环形溢出

计数器分类 ​

类型编号范围点数位数计数方向掉电保持
通用计数器C0-C9910016 位增计数否(可改)
保持计数器C100-C19910016 位增计数是(可改)
通用 32 位双向计数器C200-C2192032 位增/减否(可改)
保持 32 位双向计数器C220-C2341532 位增/减是(可改)
高速计数器C235-C2552132 位增/减是

16 位计数器 ​

  • 计数范围:0~32,767(K0 与 K1 效果相同,第一次计数即动作)
  • 只能增计数,到达设定值后保持
  • 须用 RST 指令复位清零

梯形图:与下方指令表同一段程序

LD  X5
OUT C10 K9        ; 设定 C10 计数 9 次

LD  C10           ; C10 到达 9 后触点动作
OUT Y0

LD  X6
RST C10           ; X6 ON 时复位 C10

计数值怎么读出来、怎么循环计数 ​

C 既是触点也是数值。触点用 LD C10,当前值直接把 C10 当操作数搬走:

梯形图:与下方指令表同一段程序

LD  M8000
MOV C10 D8028       ; 把 C10 的当前计数值送到 D8028

M8000 常通,表示"每个扫描周期都刷新一次"——现场绝大多数程序就是这个形状。 计数器当前值也能当比较的对象:

梯形图:与下方指令表同一段程序

LD  M8000
AND>= C10 K100      ; 计到 100 次及以上时导通
OUT M20

到值后不会自己清零,必须复位

16 位计数器到设定值后触点和当前值都保持,不复位就只动作一次。 两种正规写法:

; 写法一:外部条件复位
LD  X6
RST C10

; 写法二:靠自己的上升沿自复位,做「每计满 K9 个就动作一次」的循环计数
LDP C10
RST C10

ZRST C10 C19 一次复位一段(批量清零比逐个 RST 省步数)。 现场统计里没有一个程序用了计数器却不复位——这不是风格问题,是这类程序根本跑不起来。

32 位计数器 ​

  • 计数范围:-2,147,483,648 ~ +2,147,483,647
  • 通过 M8200~M8234 控制增/减方向:M8□□□=ON 时减计数,OFF 时增计数
  • 环形计数器:增计数到上限后变为下限,反之亦然
计数器方向控制计数器方向控制计数器方向控制
C200M8200C210M8210C220M8220
C201M8201C211M8211C221M8221
C202M8202C212M8212C222M8222
C203M8203C213M8213C223M8223
C204M8204C214M8214C224M8224
C205M8205C215M8215C225M8225
C206M8206C216M8216C226M8226
C207M8207C217M8217C227M8227
C208M8208C218M8218C228M8228
C209M8209C219M8219C229-C234M8229-M8234

梯形图:与下方指令表同一段程序

LD  X0
OUT C200 K100     ; 32 位计数器,设定值 100

LD  M8200
OUT Y10           ; 显示 C200 增/减方向

LD  C200
OUT Y0            ; C200 到达设定值时动作

LD  X1
RST C200          ; 复位

高速计数器 C235-C255 ​

高速计数器通过硬件计数,不受扫描周期影响。输入分配如下:

高速计数器 C235-C255 端子分配图:按信号线数量选组,编号定了 X 端子接线也就定了

计数器类型X0X1X2X3X4X5X6X7
C235单相U/D
C236单相U/D
C237单相U/D
C238单相U/D
C239单相U/D
C240单相U/D
C241单相+启动复位U/DR
C242单相+启动复位U/DR
C243单相+启动复位U/DR
C244单相+启动复位U/DRS
C245单相+启动复位U/DRS
C246双相UD
C247双相+启动复位UDR
C248双相+启动复位UDR
C249双相+启动复位UDRS
C250双相+启动复位UDRS
C251A/B 相AB
C252A/B 相+启动复位ABR
C253A/B 相+启动复位ABR
C254A/B 相+启动复位ABRS
C255A/B 相+启动复位ABRS

U/D=增/减计数输入,U=增计数输入,D=减计数输入,A=A相,B=B相,R=复位输入,S=启动输入

方向控制:M8235~M8255 控制 C235~C255 的增/减方向(ON=减计数)。

未使用的定时器/计数器 ​

没有用作定时器/计数器的编号,也可作为数据寄存器使用。


← 上一章:定时器 | 下一章:程序流程 →

LPPLC 工业物联网云平台 · 软硬件与云平台全栈自研