三菱PLC交通灯控制程序详解-两种方式比对分析

发布时间:2025-10-07
来源:
点击:45

一、系统概述

本文使用三菱PLC语句表(STL)格式编写十字路口交通灯控制程序,提供两种不同的实现方法。系统控制东西和南北方向的交通信号灯,按照预设时间顺序循环工作。

控制要求

  • 东西方向:绿灯亮25秒 → 黄灯亮5秒 → 红灯亮30秒
  • 南北方向:红灯亮30秒 → 绿灯亮25秒 → 黄灯亮5秒
  • 总循环周期:60秒

I/O分配表

1.png

二、方法一:定时器控制方式

程序结构与原理

此方法使用多个定时器直接控制各个灯的状态转换,每个时间段使用独立的定时器,定时器时间到则触发状态转换。

语句表程序代码

//==========================================

// 三菱PLC交通灯控制程序 - 定时器方式

// 使用FX系列PLC,语句表(STL)格式

//==========================================

// 系统启动控制

LD X0// 加载启动按钮信号

OR M0// 或运行标志

ANI T5// 与非循环结束标志

OUT M0// 输出到运行标志// 东西绿灯定时器(25秒)

LD M0// 加载运行标志

OUT T0 K250// 启动东西绿灯定时器,设定值250(25秒)

// 东西黄灯定时器(5秒)

LD T0// 加载东西绿灯定时器触点

OUT T1 K50// 启动东西黄灯定时器,设定值50(5秒)

// 东西红灯定时器(30秒)

LD T1// 加载东西黄灯定时器触点

OUT T2 K300// 启动东西红灯定时器,设定值300(30秒)

// 南北红灯定时器(30秒)

LD T2// 加载东西红灯定时器触点

OUT T3 K300// 启动南北红灯定时器,设定值300(30秒)

// 南北绿灯定时器(25秒)

LD T3// 加载南北红灯定时器触点

OUT T4 K250// 启动南北绿灯定时器,设定值250(25秒)

// 南北黄灯定时器(5秒)

LD T4// 加载南北绿灯定时器触点

OUT T5 K50// 启动南北黄灯定时器,设定值50(5秒)

// 东西绿灯输出控制

LD M0// 加载运行标志

AND T0// 与东西绿灯定时器

ANI T1// 与非东西黄灯定时器

OUT Y0// 输出到东西绿灯

// 东西黄灯输出控制

LD M0// 加载运行标志

AND T1// 与东西黄灯定时器

ANI T2// 与非东西红灯定时器

OUT Y1// 输出到东西黄灯

// 东西红灯输出控制

LD M0// 加载运行标志

AND T2// 与东西红灯定时器

ANI T0// 与非东西绿灯定时器

OUT Y2// 输出到东西红灯

// 南北红灯输出控制

LD M0// 加载运行标志

AND T3// 与南北红灯定时器

ANI T4// 与非南北绿灯定时器

OUT Y3// 输出到南北红灯

// 南北绿灯输出控制

LD M0// 加载运行标志

AND T4// 与南北绿灯定时器

ANI T5// 与非南北黄灯定时器

OUT Y4// 输出到南北绿灯

// 南北黄灯输出控制

LD M0// 加载运行标志

AND T5// 与南北黄灯定时器

ANI T3// 与非南北红灯定时器

OUT Y5// 输出到南北黄灯// 循环复位控制

LD T5// 加载南北黄灯定时器触点

RST T0// 复位东西绿灯定时器

RST T1// 复位东西黄灯定时器

RST T2// 复位东西红灯定时器

RST T3// 复位南北红灯定时器

RST T4// 复位南北绿灯定时器

RST T5// 复位南北黄灯定时器

// ================ 程序结束 ================

注意:三菱FX系列PLC定时器的时间基准为0.1秒,因此设定值K250对应25秒,K50对应5秒,K300对应30秒。

三、方法二:0.1秒定时器+计数器比较方式

程序结构与原理

此方法使用一个0.1秒基准定时器配合计数器,通过比较计数值来实现状态切换。每个0.1秒定时器触发一次,计数器加1,通过比较指令判断当前时间点并控制输出。

语句表程序代码

//==========================================

// 三菱PLC交通灯控制程序 - 计数器比较方式// 使用FX系列PLC,语句表(STL)格式

//==========================================

// 系统启动控制

LD X0// 加载启动按钮信号

OR M0// 或运行标志

ANI C0// 与非计数器完成标志

OUT M0// 输出到运行标志// 0.1秒基准定时器

LD M0// 加载运行标志

OUT T0 K1// 启动0.1秒基准定时器

// 60秒循环计数器

LD T0// 加载0.1秒定时器触点

OUT C0 K600// 启动60秒循环计数器,设定值600(60秒)

// 计数器复位控制

LD C0// 加载计数器完成触点

RST C0// 复位计数器

// 东西绿灯输出控制(0-25秒)

LD M0// 加载运行标志

AND  <=C0 K250// 与计数器值≤250(25秒)

OUT Y0// 输出到东西绿灯

// 东西黄灯输出控制(25-30秒)

LD M0// 加载运行标志

AND  >C0 K250// 与计数器值>250(25秒)

AND  <=C0 K300// 与计数器值≤300(30秒)

AND T2// 与东西红灯定时器

ANI T0// 与非东西绿灯定时器

OUT Y2// 输出到东西红灯

// 南北红灯输出控制

LD M0// 加载运行标志

AND T3// 与南北红灯定时器

ANI T4// 与非南北绿灯定时器

OUT Y3// 输出到南北红灯

// 南北绿灯输出控制

LD M0// 加载运行标志

AND T4// 与南北绿灯定时器

ANI T5// 与非南北黄灯定时器

OUT Y4// 输出到南北绿灯

// 南北黄灯输出控制

LD M0// 加载运行标志

AND T5// 与南北黄灯定时器

ANI T3// 与非南北红灯定时器

OUT Y5// 输出到南北黄灯// 循环复位控制

LD T5// 加载南北黄灯定时器触点

RST T0// 复位东西绿灯定时器

RST T1// 复位东西黄灯定时器

RST T2// 复位东西红灯定时器

RST T3// 复位南北红灯定时器

RST T4// 复位南北绿灯定时器

RST T5// 复位南北黄灯定时器

// ================ 程序结束 ================

注意:三菱FX系列PLC定时器的时间基准为0.1秒,因此设定值K250对应25秒,K50对应5秒,K300对应30秒。

三、方法二:0.1秒定时器+计数器比较方式

程序结构与原理

此方法使用一个0.1秒基准定时器配合计数器,通过比较计数值来实现状态切换。每个0.1秒定时器触发一次,计数器加1,通过比较指令判断当前时间点并控制输出。

语句表程序代码

//==========================================

// 三菱PLC交通灯控制程序 - 计数器比较方式// 使用FX系列PLC,语句表(STL)格式

//==========================================

// 系统启动控制

LD X0// 加载启动按钮信号

OR M0// 或运行标志

ANI C0// 与非计数器完成标志

OUT M0// 输出到运行标志// 0.1秒基准定时器

LD M0// 加载运行标志

OUT T0 K1// 启动0.1秒基准定时器

// 60秒循环计数器

LD T0// 加载0.1秒定时器触点

OUT C0 K600// 启动60秒循环计数器,设定值600(60秒)

// 计数器复位控制

LD C0// 加载计数器完成触点

RST C0// 复位计数器

// 东西绿灯输出控制(0-25秒)

LD M0// 加载运行标志

AND  <=C0 K250// 与计数器值≤250(25秒)

OUT Y0// 输出到东西绿灯

// 东西黄灯输出控制(25-30秒)

LD M0// 加载运行标志

AND  >C0 K250// 与计数器值>250(25秒)

AND  <=C0 K300// 与计数器值≤300(30秒)

OUT Y1// 输出到东西黄灯

// 东西红灯输出控制(30-60秒)

LD M0// 加载运行标志

AND  >C0 K300// 与计数器值>300(30秒)

OUT Y2// 输出到东西红灯

// 南北红灯输出控制(0-30秒)

LD M0// 加载运行标志

AND  <=C0 K300// 与计数器值≤300(30秒)

OUT Y3// 输出到南北红灯

// 南北绿灯输出控制(30-55秒)

LD M0// 加载运行标志

AND  >C0 K300// 与计数器值>300(30秒)

AND  <=C0 K550// 与计数器值≤550(55秒)

OUT Y4// 输出到南北绿灯

// 南北黄灯输出控制(55-60秒)

LD M0// 加载运行标志

AND  >C0 K550// 与计数器值>550(55秒)

OUT Y5// 输出到南北黄灯

// ================ 程序结束 ================

 

时间设定对照表

2.png

注意:计数器C0的计数值范围为0-600,对应0-60秒。每个计数值代表0.1秒,因此K600对应60秒。

四、两种方法对比分析

定时器方式的优缺点

优点:

  • 逻辑直观,易于理解和调试
  • 各时间段独立控制,修改灵活
  • 适合初学者学习和使用

缺点:

  • 使用定时器数量较多
  • 程序相对冗长
  • 资源占用较多

计数器比较方式的优缺点

优点:

  • 程序结构简洁紧凑
  • 只使用一个定时器和一个计数器
  • 资源占用少,效率高
  • 时间调整方便,只需修改比较值

缺点:

  • 逻辑相对复杂,需要计算比较值
  • 调试时不如定时器方式直观
  • 对编程人员要求较高

五、实际应用建议

  • 小型系统
    :建议使用定时器方式,便于维护和修改
  • 大型系统
    :建议使用计数器方式,节省PLC资源
  • 时间精度要求高
    :计数器方式时间控制更精确
  • 频繁调整时序
    :计数器方式修改更方便
免责声明:本站所提供信息均来源于网友提供或网络搜集,由本站编辑整理,如涉及版权问题,请联系本站管理员予以更改或删除
旗下服务
在线课程 现场培训
微信公众号
© 2019-现在 版权所有,并保留所有权利。ICP备案证书号:沪ICP备18011190号-4

沪公网安备 31011202007493号