跳到正文
Learn-LAD
示例库/车库车位指示

车库车位指示

四个车位传感器全部检测到车 → 满位指示;未满时入口车辆触发道闸抬起 5 秒并鸣笛。

进阶 S7-1200 车库 满位指示 定时器

导入到我的 TIA 项目

通过 TiaLink 把本示例的 3 个对象导入你当前打开的 TIA Portal 项目。导入前会先预检,默认不覆盖同名对象,导入后不会自动保存。

TiaLink 设置

默认 http://localhost:8080。也可以在本页地址后加 ?tialink= 临时指定。

TiaLink 启动时若设置了 --api-token,这里要填相同的值;只保存在本机浏览器 localStorage,不会上传。

概述

四个车位传感器全部检测到车辆时,点亮"满位"指示;未满时,入口检测到车辆就抬起道闸 5 秒,同时鸣笛提示。

程序两个网络:一个用"与"判断满位,一个用"非满位 + 入口有车"触发 5 秒脉冲。它演示了状态判断 + 定时输出的组合,注意它不是按进出车辆计数的方案。

信号表

信号 类型 含义 作用
sensor_1~`sensor_4` I 四个车位传感器 各自检测车位是否有车
Entrance_Vehicle_Sensor I 入口车辆传感器 检测到车准备入场
Full_Indicator Q 满位指示 四个车位都有车时点亮
Barrier Q 道闸输出 未满时抬杆 5 秒
Buzzer Q 蜂鸣器 与道闸同步响 5 秒
IEC_Timer_0_DB TP 5 秒脉冲 抬杆/鸣笛时长

工作流程

  1. 四个车位传感器同时为 1 → Full_Indicator=1,表示车位已满;
  2. 未满(Full_Indicator=0)且入口检测到车辆 → TP 触发;
  3. Barrier=1、Buzzer=1 保持 5 秒,然后自动关闭;
  4. 满位时入口车辆不会触发道闸,车辆无法进入。

MainOB

Network 1 — 满位判断

Network 1:sensor_1、sensor_2、sensor_3、sensor_4、Full_Indicator

目的:四个车位都有车时输出满位指示。

条件 → 动作:sensor_1 AND sensor_2 AND sensor_3 AND sensor_4 → Full_Indicator=1。

为什么:每个传感器对应一个车位,四个都为 1 才是满位;这是最直接的"与"逻辑。

注意:没有"车位计数",所以无法区分"4 个车位满"和"某个传感器故障常亮";实际项目可加故障判断。

逻辑:Full_Indicator = sensor_1 AND sensor_2 AND sensor_3 AND sensor_4

Network 2 — 入口抬杆与鸣笛

Network 2:Full_Indicator、Entrance_Vehicle_Sensor、Barrier、Buzzer

目的:未满时允许车辆入场,抬杆 5 秒并提示。

条件 → 动作:Full_Indicator=0 且 Entrance_Vehicle_Sensor=1 → TP 触发 → Barrier=1、Buzzer=1 保持 5 秒。

为什么:用满位标志的常闭触点做联锁,满位时即使有车也不抬杆;TP 保证抬杆时间固定。

注意:TP 需要上升沿;如果入口车辆一直停在传感器上,5 秒后不会再次抬杆,需要车辆离开再触发。

逻辑: Barrier = TP(IN = NOT Full_Indicator AND Entrance_Vehicle_Sensor, PT = T#5s).Q

Buzzer = TP(IN = NOT Full_Indicator AND Entrance_Vehicle_Sensor, PT = T#5s).Q

常见问题

  • 满位灯不亮:检查是否真的四个传感器都为 1;空车位传感器应为 0。
  • 有车位但道闸不抬:确认满位标志是否为 0、入口传感器是否有上升沿。
  • 蜂鸣器和道闸不同步:它们共用同一个 TP,正常情况下应同时动作;检查接线。

变体与扩展

  • 改成计数方案:用 CTUD 对进出车辆计数,剩余车位 = 总数 - 当前数,更接近真实停车场。
  • 加显示:用数字输出或 HMI 显示剩余车位数。
  • 加防砸:落杆前确认入口/出口区域无车。

变量与数据块

变量表:Default tag table

名称数据类型地址注释
sensor_1Bool%I0.0
sensor_2Bool%I0.1
sensor_3Bool%I0.2
sensor_4Bool%I0.3
Full_IndicatorBool%Q0.0
BarrierBool%Q0.1
Entrance_Vehicle_SensorBool%I0.4
BuzzerBool%Q0.2
系统实例 DB(1 个)

TIA 自动生成的定时器/计数器实例 DB,导入示例时会一并导入。

IEC_Timer_0_DB 实例 DB(IEC_TIMER)
名称数据类型起始值注释
Static
PTTime
ETTime
INBool
QBool

下一步