28. 计数器的扩展

  1. 计数器的扩展
    核心目的是解决一个实际问题:单个PLC计数器的最大计数值(通常为32,767)无法满足更大的计数需求时,如何通过多个计数器"接力"计数,从而实现超大范围的计数。


(图片摘自《现代电气控制及PLC应用技术》(王永华))

一、扩展目标与基本原理

  • 目标 :统计输入点 I0.0的上升沿脉冲数量,当计数值达到 200,000 次时,驱动输出 Q0.0。
  • 限制:单个计数器最大只能计到 32,767,远小于 200,000。
  • 解决方案(扩展原理) :采用 计数器级联(串联) 的方式。将一个大任务分解为多级小任务,每一级计数器计满一个较小的数后,向下一级计数器发出一个计数脉冲,相当于完成了一次"进位"。最终的总计数值是 各级计数器设定值的乘积。
    类比:就像我们用的机械式里程表(或十进制计数器),个位转10圈(计满10),十位进1;十位转10圈(计满100),百位进1。PLC计数器的扩展是同样的"进位"思想,但进制数可以自定义。

二、电路程序详解

程序使用了三个计数器(C20, C21, C22)进行两级扩展,来实现 1000 * 100 * 2 = 200,000 的计数。

1. 各计数器角色与设定
  • C20 :"个位"级计数器 。直接对输入信号 I0.0的每个上升沿进行计数。设定值(PV)为 1000。
  • C21 :"十位"级计数器 。对 C20 的"进位"信号进行计数。设定值(PV)为 100。它计1次,代表 C20 已经计满了1000次。
  • C22 :"百位"级计数器 或最终触发级。对 C21 的"进位"信号进行计数。设定值(PV)为 2 。它计1次,代表 C21 已经计满了100次(即 I0.0脉冲已达 1000 * 100 = 100,000 次)。
2. 工作流程(计数过程)
  1. 第一级计数 :I0.0每来一个脉冲,C20 的当前值(CV)加1。
  2. 第一次进位 :当 C20 从 999 加到 1000(计满)时,C20 的常开触点闭合一个扫描周期。
  • 这个闭合的触点作为进位脉冲 ,使 C21 的当前值(CV)加1。此时,总计脉冲数 = 1000 * 1 = 1000。
  1. 第二级计数与第二次进位 :C21 累计 C20 送来的进位脉冲。当 C21 计满100次(即收到第100个来自C20的进位脉冲)时,C21 的常开触点闭合。
  • 这个闭合的触点作为进位脉冲,使 C22 的当前值(CV)加1。此时,总计脉冲数 = 1000 * 100 = 100,000。
  1. 最终触发:C22 累计 C21 送来的进位脉冲。当 C22 计满2次时,其常开触点闭合。
  • 这个触点驱动输出线圈 Q0.0 ,表示总脉冲数已达到 1000 * 100 * 2 = 200,000。
3. 复位逻辑分析(关键设计)

特别强调复位逻辑的设计,这是保证扩展计数器能循环、准确工作的关键。

  • 公共复位 :I0.1作为外部复位按钮。当 I0.1接通时,它同时复位 C20, C21, C22,将所有计数器当前值清零,为下一次计数循环做准备。
  • 自动复位(自复位) :这是级联计数器的精妙之处。
    • C20的自复位 :当 C20 计到1000时,其触点除了触发C21计数外,同时也会在下一个扫描周期接通它自己的复位端(R) 。这意味着 C20 在完成"进位"任务后,立即将自己清零,重新从0开始对 I0.0计数。这保证了进位信号的准确性(每1000个脉冲发一个进位脉冲)。
    • C21的自复位:同理,当 C21 计到100时,其触点在触发C22计数的同时,也会在下一个周期复位自己,以便重新开始接收C20的下一个100次进位。
  • C22的复位 :由公共复位信号 I0.1负责。当达到目标200,000后,需要人工或外部逻辑复位,以开始新一轮计数。
    自复位的意义:防止计数器溢出,并确保每一级计数器始终在一个固定的、较小的循环(1000, 100, 2)内工作,使得级联关系清晰、可靠。如果不自复位,C20计到1000后会停止,无法继续计数,整个系统就停止了。

四、总结与公式

  • 扩展总容量 :级联扩展后的最大计数值 = 计数器1设定值 × 计数器2设定值 × ... × 计数器n设定值 。
    • 本例:1000 × 100 × 2 = 200,000
  • 优点:用多个小容量计数器实现了超大范围的计数,成本低,编程简单。
  • 注意要点:
  1. 复位设计必须完善:必须包含公共复位和各级的自复位逻辑。
  2. 扫描周期的影响:进位和复位动作存在一个扫描周期的延迟,在要求极高速度的应用中需考虑。
  3. 设定值选择:各级设定值的乘积等于目标值,可以灵活分配。通常让最后一级的设定值较小,便于最终状态的判断和输出控制。
    通过这种级联扩展方法,理论上可以通过串联足够多的计数器,实现任意大的计数范围,完美突破了单个计数器的计数上限限制。
相关推荐
成都纵横智控科技官方账号2 天前
三菱 Q 系列 PLC 如何远程监控?零代码配置教程与边界
数据采集·plc·远程监控·三菱·边缘计算网关
蓝蜂物联网10 天前
多项目分散各地?一个网关实现 PLC 程序远程批量上下载
plc·plc远程上下载·电子电工
千里码aicood18 天前
基于PLC与机器视觉的智能分拣控制系统设计
c++·自动化·plc
千里码aicood19 天前
基于PLC的简易三轴工件搬运平台设计
自动化·plc
AlanBruce21 天前
摩尔信使MThings功能综述与应用使用指南
linux·自动化·plc·mthings·摩尔信使
周永恒22 天前
Codesys 应用实践 - 上下位机闭环
上位机·plc·codesys
AlanBruce24 天前
摩尔信使MThings EdgeWeb使用指南
上位机·plc·modbus·mthings·摩尔信使
AlanBruce24 天前
摩尔信使MThings DL/T 698.45数据配置使用指南
上位机·plc·modbus·mthings·摩尔信使
子不语1801 个月前
LabVIEW和PLC通过OPC通信
学习·自动化·plc
Emily156853598701 个月前
ABB CI867K01 3BSE043660R1
服务器·plc·dcs·abb·ci867k01·3bse043660r1·工控模块