介绍

本例将使用西门子 TIA Portal GRAPH 语言编写一个停车场道闸控制系统。

当车辆进入道闸时,会自动开出一张停车票,取票时道闸打开,当车辆通过后,道闸关闭,系统恢复到初始状态。信息显示屏用于显示状态消息,动作之间的转换由传感器的输入触发。

打开网易新闻 查看精彩图片

顺序状态说明

1. 当系统等待车辆时,道闸是关闭的。

  • 车辆感应器:OFF。
  • 车票感应器:OFF。
  • 道闸开到位限位开关:OFF。
  • 道闸关到位限位开关:ON。
  • 信息显示屏上不显示任何内容。

打开网易新闻 查看精彩图片

2. 当车辆进入道闸时,车辆感应器信号触发。

3. 当车辆感应器信号触发后,出票机出票。信息显示屏上显示:“Take the ticket”。

打开网易新闻 查看精彩图片

4. 取票时,车票感应器触发。

5. 当车票感应器触发时,道闸打开。信息显示屏上显示:“Opening gate”。道闸关到位限位开关信号消失。

打开网易新闻 查看精彩图片

6. 当道闸完全打开时,道闸开到位限位开关信号触发。道闸停止开。

7. 信息显示屏上显示:“Go”。

8. 当车辆通过道闸时,车辆感应器信号消失。

打开网易新闻 查看精彩图片

9. 当车辆感应器信号消失时,为了确保安全,延时 3 秒后开始关闭道闸。信息显示屏上显示:“Closing gate”。道闸开到位限位开关信号消失。

打开网易新闻 查看精彩图片

10. 当道闸完全关闭时,道闸关到位限位开关信号触发,道闸停止关。系统返回到等待状态。

打开网易新闻 查看精彩图片

硬件配置

  • 添加 PLC 设备:CPU 1511-1 PN。
  • 设置 IP 地址:192.168.0.1。
  • 设置子网掩码:255.255.255.0。

打开网易新闻 查看精彩图片

添加函数块

添加一个 FB 函数块,命名为:FbGate。编程语言选择 GRAPH,因为需要特定的背景数据块,所以不能选择使用 FC 函数。

打开网易新闻 查看精彩图片

添加数据块

添加一个 DB 全局数据块,命名为:GdbGateData,用作道闸控制系统相关的输入、输出变量。

打开网易新闻 查看精彩图片

编写顺控步

1. 第一步:初始化。复位出票、复位关道闸、复位开道闸、清空显示信息。车辆进入道闸时转移到下一步。

打开网易新闻 查看精彩图片

2. 第二步:出票机出票。置位出票输出。信息显示屏输出:“Take the ticket”。取票后转移到第下一步。

打开网易新闻 查看精彩图片

3. 第三步:打开道闸。复位出票输出、置位开道闸输出。信息显示屏输出:“Opening gate”。道闸打开后转移到下一步。

打开网易新闻 查看精彩图片

4. 第四步:车辆通过。信息显示屏输出:“Go”。车辆通过后转移到下一步。

打开网易新闻 查看精彩图片

5. 第五步:关闭道闸。使用接通延时定时器,延时 3 秒后,置位关道闸输出。道闸关闭后转移到下一步(第一步)。

打开网易新闻 查看精彩图片

调用函数块

在循环组织块 OB1 中调用以上设计的道闸控制系统函数块 FB,并分配背景数据块。

打开网易新闻 查看精彩图片

功能测试

启动仿真下载程序,监视 FB 函数块。

1. 初始状态。

打开网易新闻 查看精彩图片

2. 道闸应处于关闭状态。

打开网易新闻 查看精彩图片

3. 车辆进入道闸,触发车辆感应器,出票。

打开网易新闻 查看精彩图片

4. 车票感应器触发,打开道闸。

打开网易新闻 查看精彩图片

5. 道闸关到位限位开关信号消失,开到位限位开关信号触发,车辆通过。

打开网易新闻 查看精彩图片

6. 车辆传感器信号消失。延时 3 秒关道闸。

打开网易新闻 查看精彩图片

7. 道闸开到位限位开关信号消失,关到位限位开关信号触发,系统恢复到初始状态。

打开网易新闻 查看精彩图片