目录
题目
现有套交叉路口的四组红绿灯控制系统,下图为plc触摸屏界面,用于监控红绿灯系统的运行并修改设置。红绿灯系统的控制程序在“4_honglvdeng_SFC.gxw”文档,触摸屏界面在“4_honglvdeng_TOUCH”。
触摸屏界面中,“绿灯时长”和“黄灯时长”下面的框为数据输入对象,通过人工输入数字来设置绿灯和黄灯每个周期的亮灯时长,对应的软元件为D1和D2。
请问该如何“4_honglvdeng_SFC.gxw”的程序,以配合界面拥有黄绿灯可人工设置亮灯时长的功能。
初始程序在这里:阿里云盘分享
I/O表
输入 | 元件名称 | 输出 | 元件名称 |
X0 | 启动 | Y0 | 1红 |
Y1 | 1黄 | ||
Y2 | 1绿 | ||
Y3 | 2红 | ||
Y4 | 2黄 | ||
Y6 | 2绿 | ||
Y6 | 3红 | ||
Y7 | 3黄 | ||
Y10 | 3绿 | ||
Y11 | 4红 | ||
Y12 | 4黄 | ||
Y13 | 4绿 |
寄存器表
寄存器号 | 名称 |
D1 | 绿灯时间设置 |
D2 | 黄灯时间设置 |
D3 | 用于控制黄灯时间(程序注释中有详细说明) |
步进时序图
有点潦草
程序编写
说明:由于本人水平有限,可能会有更好的方法来编写此程序,欢迎大家评论区讨论。
在这里也提供程序和PDF文件,有需要的可自行下载:阿里云盘分享https://www.aliyundrive.com/s/kc4jTFKWMWp
根据分析,绿灯的时间受计时器影响, 把T0 T1的时间设为D1即可
黄灯的时间= X - K50=D2, X决定了黄灯时间,而D2是已知的
则 X=D2 + K50, X用D3保存,这样就实现了绿灯和黄灯时间可变
D1 D2参数限制:
K50 < D1 < 32767 0 < D2 < D1 - K50
这里建议 D3 的值和要D1一样,不然会造成上一时序的绿灯还在亮,下一时序的黄灯已经灭了
**具体细节请查看程序
********************************************************
注意:为了便于修改程序,已经把SFC转为梯形图,
如果要转换回SFC,请依次点击菜单栏中的 工程->工程类型更改->更改程序语言类型->点击确定