道路交通灯监控MCGS组态设计说明.docx
《道路交通灯监控MCGS组态设计说明.docx》由会员分享,可在线阅读,更多相关《道路交通灯监控MCGS组态设计说明.docx(15页珍藏版)》请在冰豆网上搜索。
道路交通灯监控MCGS组态设计说明
交通灯监控组态设计报告
1、MCGS工控阻态软件简介
组态软件就是应用软件中提取的工具、方法来完成工程中某一任务的软件。
工程组态软件是指在数据采集和过程控制中使用的专用软件,即在自动化控制系统监控层一级的软件平台和开发环境下,为用户提供快速构建工业自动控制、系统监控功能的一种软件工具。
2、设计任务
运用MCGS组态环境设计一个十字路口交通灯的监控环境,来实现对交通灯的控制与监督。
熟悉阻态软件对交通灯的控制功能。
3、系统控制要求与实现的功能
绘制一个模拟的十字路口交通灯组态图,用一个开关控制交通灯的运行与停止。
开始开关=0时,全为黄灯。
当开关为开时,先南路的左行灯(南西灯)、前行灯(南北灯)和北路的右行灯(北西灯)为通行状态,其它为红灯。
时间运行到13s-15s时上述通行等变黄灯,其余灯不变。
15s后,东路的左行灯(东南灯)、前行灯(东西灯)和西路的右行灯(西南灯)为通行状态,其它为红灯。
时间运行到28s-30s时上述灯变成黄灯,其余不变。
其余两路以此运行。
先无论运行到那个状态当开关由开变为关闭时,所有的灯都处于黄灯状态。
4、建立数据库
变量名
类型
初值
注释
南东灯
开关型
0
等于0时亮黄灯等于1时亮绿灯等于2时亮红灯
南北灯
开关型
0
等于0时亮黄灯等于1时亮绿灯等于2时亮红灯
南西灯
开关型
0
等于0时亮黄灯等于1时亮绿灯等于2时亮红灯
东南灯
开关型
0
等于0时亮黄灯等于1时亮绿灯等于2时亮红灯
东北灯
开关型
0
等于0时亮黄灯等于1时亮绿灯等于2时亮红灯
东西灯
开关型
0
等于0时亮黄灯等于1时亮绿灯等于2时亮红灯
北南灯
开关型
0
等于0时亮黄灯等于1时亮绿灯等于2时亮红灯
北东灯
开关型
0
等于0时亮黄灯等于1时亮绿灯等于2时亮红灯
北西灯
开关型
0
等于0时亮黄灯等于1时亮绿灯等于2时亮红灯
西东灯
开关型
0
等于0时亮黄灯等于1时亮绿灯等于2时亮红灯
西南灯
开关型
0
等于0时亮黄灯等于1时亮绿灯等于2时亮红灯
西北灯
开关型
0
等于0时亮黄灯等于1时亮绿灯等于2时亮红灯
t
数值型
0
存放定时器的当前值
开关
开关型
0
开关=1时运行,开关=0时停止
小车1水平
数据型
0
控制小车移变量
小车2水平
数据型
0
控制小车移变量
小车3水平
数据型
0
控制小车移变量
小车4水平
数据型
0
控制小车移变量
小车5水平
数据型
0
控制小车移变量
小车6水平
数据型
0
控制小车移变量
小车1水平1
数据型
0
控制小车移变量
小车3水平1
数据型
0
控制小车移变量
小车4水平1
数据型
0
控制小车移变量
小车6水平1
数据型
0
控制小车移动量
小车1
开关型
0
小车1=0时小车1水平可见小车1=1时小车1水平1可见
小车31
开关型
0
小车31=0时小车3水平可见小车31=1时小车3水平1可见
小车41
开关型
0
小车41=0时小车4水平可见小车41=1时小车4水平1可见
小车61
开关型
0
小车61=0时小车6水平可见小车61=1时小车6水平1可见
小车1垂直
数据型
0
控制小车移变量
小车2垂直
数据型
0
控制小车移变量
小车3垂直
数据型
0
控制小车移变量
小车4垂直
数据型
0
控制小车移变量
小车5垂直
数据型
0
控制小车移变量
小车6垂直
数据型
0
控制小车移变量
小车1垂直1
数据型
0
控制小车移变量
小车3垂直1
数据型
0
控制小车移变量
小车4垂直1
数据型
0
控制小车移变量
小车7垂直1
数据型
0
控制小车移变量
小车11
开关型
0
小车11=0时小车1垂直可见小车11=1时小车1垂直1可见
小车3
开关型
0
小车3=0时小车3垂直可见小车3=1时小车3垂直1可见
小车42
开关型
0
小车42=0时小车4垂直可见小车42=1时小车4垂直1可见
小车62
开关型
0
小车62=0时小车6垂直可见小车62=1时小车7垂直1可见
表4-1
5、用户组态
(1)首先根据要求画出组态主窗口如下:
图1交通灯控制主窗口
(2)其次设置主窗口中各部件的属性。
(3)然后根据实现的功能编写循环脚本程序。
脚本程序如下:
!
TimerSetLimit(2,90,0)
!
TimerSetOutput(2,t)
if开关=0then
南北灯=0
南西灯=0
南东灯=0
东南灯=0
东西灯=0
东北灯=0
西南灯=0
西北灯=0
西东灯=0
北南灯=0
北西灯=0
北东灯=0
!
TimerReset(2,0)
!
TimerStop
(2)
endif
if开关=1then
!
TimerRun
(2)
endif
ift=0and开关=1then
南北灯=1
南西灯=1
北西灯=1
南东灯=2
东南灯=2
东西灯=2
东北灯=2
西南灯=2
西北灯=2
西东灯=2
北南灯=2
北东灯=2
endif
ift>0andt<6then
小车3垂直=小车3垂直-1.2
小车3=0
endif
ift>0andt<2then
小车2垂直=小车2垂直-1.2
小车4垂直=小车4垂直+1.2
小车42=0
endif
ift>=2andt<6then
小车2垂直=小车2垂直-1.2
小车4垂直1=小车4垂直1-1.2
小车42=1
endif
ift>=6andt<15then
小车3垂直1=小车3垂直1-1.2
小车3=1
小车2垂直=小车2垂直-1.2
小车4垂直1=小车4垂直1-1.2
小车42=1
endif
ift>=13andt<15then
南北灯=0
南西灯=0
北西灯=0
南东灯=2
东南灯=2
东西灯=2
东北灯=2
西南灯=2
西北灯=2
西东灯=2
北南灯=2
北东灯=2
endif
ift>=15then
南北灯=2
南西灯=2
北西灯=2
南东灯=2
东南灯=1
东西灯=1
东北灯=2
西南灯=1
西北灯=2
西东灯=2
北南灯=2
北东灯=2
endif
ift>=15andt<21then
小车3水平=小车3水平-1.2
小车31=0
endif
ift>=15andt<17then
小车2水平=小车2水平-1.2
小车4水平=小车4水平+1.2
小车41=0
endif
ift>=17andt<21then
小车2水平=小车2水平-1.2
小车4水平1=小车4水平1+1.2
小车41=1
endif
ift>=21andt<30then
小车3水平1=小车3水平1+1.2
小车31=1
小车2水平=小车2水平-1.2
小车4水平1=小车4水平1+1.2
小车42=1
endif
ift>=28andt<30then
南北灯=2
南西灯=2
北西灯=2
南东灯=2
东南灯=0
东西灯=0
东北灯=2
西南灯=0
西北灯=2
西东灯=2
北南灯=2
北东灯=2
endif
ift>=30then
南北灯=2
南西灯=2
北西灯=2
南东灯=1
东南灯=2
东西灯=2
东北灯=2
西南灯=2
西北灯=2
西东灯=2
北南灯=1
北东灯=1
endif
ift>=30andt<36then
小车6垂直=小车6垂直+1.2
小车62=0
endif
ift>=30andt<32then
小车5垂直=小车5垂直+1.2
小车1垂直=小车1垂直-1.2
小车11=0
endif
ift>=32andt<36then
小车5垂直=小车5垂直+1.2
小车1垂直1=小车1垂直1+1.2
小车11=1
endif
ift>=36andt<45then
小车7垂直1=小车7垂直1+1.2
小车62=1
小车5垂直=小车5垂直+1.2
小车1垂直1=小车1垂直1+1.2
小车11=1
endif
ift>=43andt<45then
南北灯=2
南西灯=2
北西灯=2
南东灯=0
东南灯=2
东西灯=2
东北灯=2
西南灯=2
西北灯=2
西东灯=2
北南灯=0
北东灯=0
endif
ift>=45then
南北灯=2
南西灯=2
北西灯=2
南东灯=2
东南灯=2
东西灯=2
东北灯=1
西南灯=2
西北灯=1
西东灯=1
北南灯=2
北东灯=2
endif
ift>=45andt<51then
小车6水平=小车6水平+1.2
小车61=0
endif
ift>=45andt<47then
小车5水平=小车5水平+1.2
小车1水平=小车1水平-1.2
小车1=0
endif
ift>=47andt<61then
小车5水平=小车5水平+1.2
小车1水平1=小车1水平1-1.2
小车1=1
endif
ift>=51andt<65then
小车6水平1=小车6水平1-1.2
小车61=1
小车5水平=小车5水平+1.2
小车1水平=小车1水平+1.2
小车1=1
endif