文档中心
实例教程
气缸伸缩计数统计

气缸伸缩计数统计

本教程实现一个经典的生产节拍统计场景:气缸每完成一次"伸出 → 缩回"就计数一次,达到预设次数后点亮完成指示灯并自动停机。通过它你可以掌握计数器(CTU)、上升沿触点与定时器在真实控制场景中的配合使用。

场景目标

启动 → 气缸反复伸缩 ──每个循环计数 1 次──▶ 计数达 10 → 完成指示灯点亮
                                                   ▼
                                         停止伸缩(自动停机)
复位按钮 ──▶ 计数清零,可重新开始

控制要求:

  • 按下启动按钮后,气缸开始往复伸缩;
  • 气缸每次伸出碰到上限位,计数 +1;
  • 计数达到预设值(PV = 10)后,点亮完成指示灯,同时停止伸缩;
  • 按下复位按钮,计数清零,可再次启动。

涉及的知识点

  • 计数器 CTU(增计数):CU 输入上升沿使 CV 加 1,CV ≥ PV 时 QU 输出;
  • 上升沿触点:仅在输入由关变开的瞬间导通一个周期;
  • TON 定时器:实现缩回到位后的短暂延时再伸出;
  • 置位/复位线圈:保持运行状态与停机状态。

第一步:创建变量

变量名类型说明
I0.0Bool气缸上限位(场景 → PLC,只读)
I0.1Bool气缸下限位(场景 → PLC,只读)
I0.2Bool启动按钮
I0.3Bool复位按钮
Q0.0Bool气缸伸缩杆(PLC → 场景,读写)
Q0.1Bool计数完成指示灯
M0.0Bool运行标志(自锁保持运行状态)
C0Counter计数器(PV = 10)
T0Timer缩回到位延时(TON,500ms)

第二步:编写梯形图

网络 1:启动

         I0.2
--|P|----------------------------( S )-- M0.0   (运行标志)
                                    ( S )-- Q0.0   (气缸伸出)

按下启动按钮(上升沿),置位运行标志与伸缩杆输出,气缸开始伸出。

网络 2:计数与缩回

         I0.0(上限位)
--|P|-----------------------------+--( R )-- Q0.0   (缩回)
                                  |
                                  +--[CTU]-- C0     (计数 +1)
                                        CU = I0.0
                                        PV = 10

气缸伸出到位,上限位变为 1,其上升沿触发一次计数,同时复位伸缩杆,气缸缩回。

网络 3:再次伸出(往复)

     M0.0           I0.1             T0.Q
--| |-----------| |-----------[TON]--+------( S )-- Q0.0
     (运行中)  (下限位)   T0: PT=500ms

气缸缩回到位后,下限位导通,定时器 T0 开始计时;0.5 秒后 T0.Q 导通,再次置位伸缩杆,进入下一个循环。

网络 4:计数完成停机

         C0.QU(CV ≥ 10)
--| |----------------------------( )-- Q0.1   (完成指示灯)
                                    ( R )-- M0.0   (停止运行)
                                    ( R )-- Q0.0   (气缸停在缩回位)

计数达到 10,QU 输出导通:点亮完成指示灯、复位运行标志、停止气缸。

网络 5:复位

         I0.3
--| |----------------------------( R )-- C0(CV 清零)
                                    ( R )-- Q0.1

按下复位按钮,计数器清零、指示灯熄灭,可重新启动。

提示:C0 的当前值 CV 也可以在控制面板的输入框中绑定显示,实时查看计数进度。

第三步:搭建 iScene 场景

  1. 添加 1 个气缸,调整位置与朝向(建议水平摆放,便于观察伸缩);
  2. 在气缸参数中配置联动变量:
气缸参数绑定 PLC 变量
伸缩杆变量名Q0.0
上限位变量名I0.0
下限位变量名I0.1
  1. 添加 1 个控制面板,配置:
元素绑定变量
按钮(启动)I0.2
按钮(复位)I0.3
指示灯(完成)Q0.1
输入框(计数显示,可选)C0.CV

第四步:运行与验证

  1. 在 PLC在线模拟器 中启动仿真;
  2. 在场景面板中按下启动按钮,观察气缸往复伸缩,每次伸出到位时计数 +1;
  3. 计数达到 10 后,完成指示灯点亮,气缸停止;
  4. 按下复位,计数归零,再次启动可重复运行;
  5. 观察计数过程中"缩回 → 0.5 秒延时 → 伸出"的节奏是否符合预期。

验证要点:

  • 计数是否恰好每次伸出加 1(而不是每个扫描周期加 N 次)——这验证了上升沿触点的作用;
  • 完成停机后,气缸是否停在缩回位,且运行标志已复位;
  • 复位后能否重新启动一个完整流程。

扩展练习

  • 把预设值 PV 改为变量绑定(如 M2.0 的 Uint16 值),用面板输入框动态设定目标次数;
  • 增加"计数满后自动复位再循环"的连续批次模式;
  • 用 SM0.5(1 秒时钟)驱动一个节拍指示灯,模拟生产节拍可视化;
  • 给气缸加上气压变量绑定,观察不同气压下伸缩速度与节拍的变化。