PLC 在线仿真器

停车场车位计数:增减计数器 CTUD

入口地感检测到车进:计数 +1;出口检测到车出:计数 −1。车位数到上限就亮满位灯、入口不再抬闸。 这类"有加有减"的场景不能用普通增计数器,要用增减计数器(CTUD)。 练习时可直接打开 PLC 在线仿真器 边搭边跑,其它示例见 梯形图示例库。

题目

小型停车场共 50 个车位:入口、出口各一个地感线圈;实时统计场内车辆数;车位满时点亮"满位"灯,取卡按钮不再抬闸;另有手动复位清零。

变量表

变量名类型习惯地址说明
入口地感布尔I0.0车辆压过时为 1
出口地感布尔I0.1车辆压过时为 1
复位按钮布尔I0.2手动清零(检修用)
取卡按钮布尔I0.3入场取卡/按按钮请求抬闸
场内车辆数字C1增减计数器(CTUD),预设值 50
满位灯布尔Q0.0车位已满指示
入口道闸布尔Q0.1抬闸输出

梯形图逻辑

计数器的加、减输入都必须经正脉冲触点;比较用计数器当前值 CV:

C1(CTUD 增减计数器,预设值 50):
  CU(加计数) ← [ I0.0 正脉冲 ]
  CD(减计数) ← [ I0.1 正脉冲 ]
  R(复位)    ← [ I0.2 常开 ]

满位灯  Q0.0 = ( C1.CV ≥ 50 )                    用“大于等于”比较

入口道闸 Q0.1 = [ I0.3 常开 ] · ( C1.CV < 50 )     用“小于”比较

逻辑:

满位   = 场内车辆 ≥ 总车位
入口抬闸 = 取卡按钮 · /满位

搭建步骤

  1. 变量表建好上表 7 个变量:「场内车辆」类型选数字,其余为布尔
  2. 拖一个增减计数器(CTUD)到第一个梯级,预设值填 50
  3. 加计数(CU)端放一个正脉冲触点,绑定「入口地感」
  4. 减计数(CD)端放一个正脉冲触点,绑定「出口地感」
  5. 复位(R)端放一个常开触点,绑定「复位按钮」
  6. 新梯级:放一个大于等于比较,比较对象是计数器当前值 C1.CV 与 50,输出接常开线圈「满位灯」
  7. 再一个梯级:「取卡按钮」常开触点 → 串联一个小于比较(C1.CV < 50)→ 常开线圈「入口道闸」
  8. 仿真:拨动入口地感 3 次、出口地感 1 次,观察计数值变化;把计数打到 50 以上,确认满位灯亮且道闸不再动作
要点: ① 地感的电平直接进计数器会重复计数——车压在上面几百毫秒,计数器就加几百次。必须经正脉冲(上升沿)后再进 CU/CD。 ② 加减计数器是"有记忆"的元素:CTUD 的 CV 会保持,断电由 PLC 的保持区决定;练习里用复位按钮清零即可。 ③ 实际系统还要防"数字为负"(出口误检)与"计满"(数量溢出):常见做法是加下限/上限判断,或者干脆用地磁+摄像头双重校验。教学里用比较指令兜底就够了。

变体与延伸

计数器 + 比较,是最常见的组合之一。

无需安装博途、无需授权,支持触点、线圈、定时器、计数器、比较与数学指令,打开即用。

打开 PLC 在线仿真器 →

练习完成后,如果你想把这套计数逻辑用到真实的西门子 S7-1500 工程里,可以先用 梯形图转 SCL 得到结构化文本,再用 TiaLink(博途 MCP 网关) 写进博途工程并下载到 PLCSIM 仿真。