计算机控制课程设计.docx
- 文档编号:25163490
- 上传时间:2023-06-05
- 格式:DOCX
- 页数:16
- 大小:251.47KB
计算机控制课程设计.docx
《计算机控制课程设计.docx》由会员分享,可在线阅读,更多相关《计算机控制课程设计.docx(16页珍藏版)》请在冰豆网上搜索。
计算机控制课程设计
“计算机控制技术”课程设计作业
西安市尚宏路与尚苑路十字交叉口
交通灯控制系统设计
姓名:
学号:
专业:
日期:
2012.12.17~2012.12.31
西安市尚宏路与尚苑路十字交叉口交通灯控制系统设计
1、概述
1.1、路口介绍:
交叉口东口为尚苑路:
连接西安北客站等主要地方,采用绿化带进行机非分离,机动车进口道2个、出口道2个;非机动车进、出口道各1个。
交叉口西口为尚苑路:
连接西一村、长安大学等主要地方,采用绿化带进行机非分离。
机动车进口道2个、出口道2个;非机动车进、出口道各1个。
交叉口南口为尚宏路:
连接西安市区,采用绿化带进行机非分离,路面有较详细的标线,机动车进口道3个、出口道3个;非机动车进、出口道各1个。
交叉口北口为尚宏路:
连接以北方向地区,采用绿化带进行机非分离,机动车进口道3个、出口道3个;非机动车进、出口道各1个。
具体情况如表1所示:
路口名称
连接地区
机动车道数
非机动车道数
中央分隔带
尚苑路东
北客站
双向四车道
双向两车道
绿化带
尚苑路西
西一村、长安大学
双向四车道
双向两车道
绿化带
尚宏路南
西安市城区
双向六车道
双向两车道
绿化带
尚宏路北
西安市北郊
双向六车道
双向两车道
绿化带
表1路口情况
尚宏路与尚苑路交叉口示意图和卫星图分别如图1和图2所示:
图1尚宏路与尚苑路交叉口示意图图2尚宏路与尚苑路交叉口卫星图
1.2、交通灯设置:
该十字交叉路口东西南北路口中央隔离带中均设置一个红绿灯交通信号控制装置,设置方式为悬臂式。
各信号灯均为绿灯、黄灯和红灯三个相位,各时长分别为63s、3s和36s,一个周期时长102s。
该四个信号控制装置同步控制各自方向上直行和左转车辆,右转车辆不受信号装置控制。
该路口交通信号灯实物图如图3、4所示:
图3尚苑路西口图4尚宏路北口
该十字交叉路口东西南北路口两相邻路口间均设置两个人行横道交通信号控制装置,设置方式为立柱式。
各人行横道交通信号控制装置均为绿灯和红灯两个相位,其中绿灯时长36s,红灯时长69s,一个周期时长102s。
该十字交叉口交通灯控制配时情况如表2所示,交通信号相位方案如图5—8所示:
配时状态
东西方向
(左转兼直行)
南北方向
(左转兼直行)
延时时间(s)
累计时间(s)
状态一
红灯
绿灯
63
63
状态二
红灯
黄灯
3
66
状态三
绿灯
红灯
33
99
状态四
黄灯
红灯
3
102
表2配时情况
图5相位方案状态一
图6相位方案状态二
图7相位方案状态三
图8相位方案状态四
1.3、设计目的
通过计算机控制课程的学习,对实现上述路口红绿灯控制信号的电路、硬件系统、软件系统进行设计,从而实现信号的定时控制功能,并掌握以下内容:
(1)考察道路路口交通等控制,了解交通灯控制器的控制基本工作原理。
(2)学会用PC机实现对交通灯的控制。
(3)深入理解工控机的知识,熟悉采集卡ACL-8112HG,继电器控制卡的原理和应用。
(4)进一步练习使用C语言编写程序和流程图的画法。
2、控制系统原理
2.1、控制系统介绍
该系统主要利用工业计算机为核心,基于信号采集卡8112HG,以及外围电路(继电器电路、光电耦合电路、电源驱动电路),对交通信号灯进行模拟控制,假定发光二极管为交通信号灯,进行分组后,编制程序对控制二极管电流通断的继电器进行控制,继电器对发光二极管(交通灯)进行开关控制,从而实现让灯依规定的时序循环闪烁。
结合本路口的实际情况和交通信号灯的控制策略。
控制系统主要由以下几个部分组成:
(1)控制开关:
接在总控制台,是交通管理者对于交通信号开启与关闭的总控开关。
(2)小功率开关量输入信号调理电路:
开关开闭时会由于接点的机械抖动而产在电路中产生振荡信号,在总控开关与计算机之间添加调理电路,减弱系统输入信号的抖动。
(3)ACL-8112HG数字量输入:
将开关量的开闭转换为数据地址,输入控制计算机。
(4)控制计算机:
作为系统的核心,负责数据的接受和程序的执行,产生控制输出数据,传给系统的下一部分。
(5)ACL-8112HG数字量输出:
将系统的控制输出数据进行整理,为控制驱动继电器电路的正常工作提供数据支持。
(6)驱动继电器电路:
将计算机的输出数据转换为对应的继电器开闭信号,打开或关闭对应的继电器。
(7)大功率信号输出电路:
将继电器的微弱信号转换为信号灯的大功率信号控制量。
该交通信号灯的控制系统的控制原理如下:
当系统检测到交通控制开关打开时,并检测各项控制数据是否满足,如果均满足,则自动开始第一次启动,根据系统的特点,以尚宏路直行为绿灯开始时为计时起点。
如此循环进行控制,直至系统控制开关再次闭合或者其他控制条件不满足时停止循环,关闭系统。
2.2、控制系统框
2.3、控制流程
根据尚宏路-尚苑路十字交叉口的信号控制状态,可将一个周期(102s)内南北方向(直行兼左转)和东西方向(直行兼左转)上的绿灯、黄灯、红灯的控制状态和循环相位统计如下表3所示:
配时状态
东西方向
(左转兼直行)
南北方向
(左转兼直行)
延时时间(s)
累计时间(s)
状态一
红灯
绿灯
63
63
状态二
红灯
黄灯
3
66
状态三
绿灯
红灯
33
99
状态四
黄灯
红灯
3
102
表3尚宏路-尚苑路十字交叉口信号控制循环相位表
3、硬件电路设计
3.1、交通灯控制继电器电路设计
3.2、开关量输入输出信号转换电路设计
1
3.3、使用ACL-8112HG卡控制通道说明
(1)采集卡基地址设置
采集卡基地址设置为0x230.需要将右图中的A4、A5拨到下位,将A6、A7、A8拨到上位。
(2)数字量输入接口
交通信号灯控制系统的输入只有一位总控开关输入,将其连接到开关量输入口低8位的第二位,即DI1口。
(3)继电器的连接位置
在设计中采用6个发光二极管来模拟2个路口的黄红绿灯,主干道(尚宏路)路口用3个数码管来显示红黄绿三个相位的变化,次干道(尚苑路)路口用3个灯来显示红黄绿三个相位的变化。
继电器依次接在开关量输出口的6、8、10、12、14、16位;外接开关接在开关量输入口低8位的第二位。
具体通道的接法如下表4所示:
方向
信号继电器
控制字
DOH
DOL
东西
方向
绿灯
ox08
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
黄灯
ox20
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
红灯
ox80
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
南北
方向
绿灯
ox08
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
黄灯
ox20
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
红灯
ox80
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
表4继电器对应位控制字一览表
4、控制程序设计
4.1、控制程序流程说明
4.2、程序框图
主函数流程图下:
调用输入函数SwitchDI()和调用输出函数SwitchDO()的流程图如下所示:
4.3、源程序:
/*------------------------------------------------------------
尚宏路-尚苑路十字路口交通信号控制灯开关程序
姓名:
学号:
日期:
2012.12.30
功能:
本程序控制六只继电器流水开关,实现南北方向三个信号灯和东西方向三个信号灯的循环,循环周期为102秒。
-------------------------------------------------------------*/
#include
#include
#include
#defineACL81120x230/*ACL8112卡基地址*/
#defineDOLACL8112+13/*DO低8位地址*/
#defineDOHACL8112+14/*DO高8位地址*/
#defineDILACL8112+6/*DI低8位地址*/
#defineDIHACL8112+7/*DI高8位地址*/
unsignedintSwitchDI()/*从ACL8112的16位DI读取键值*/
{
unsignedy=0;
y=inportb(DIH);/*读高8位*/
y=y<<8;/*存入键值变量的高8位*/
y=y+inportb(DIL);/*读低8位,并入键值变量*/
returny;
}
voidSwitchDO()/*从ACL8112卡的16位DO输出,六只继电器依次接入低8位的第4、6、8位,高8位的第4、6、8位,T为间隔时间*/
while(Key!
=0xfffd)/*按照控制信号逐次打开继电器*/
{
outportb(DOL,0x80);/*状态一*/
outportb(DOH,0x08);
printf(“东西方向禁行,南北方向通行,持续时间63秒”)
sleep(63);/*持续时间为63秒*/
outportb(DOL,0x80);/*状态二*/
outportb(DOH,0x20);
printf(“东西方向禁行,南北方向等待,持续时间3秒”)
sleep(3);/*持续时间为3秒*/
outportb(DOL,0x08);/*状态三*/
outportb(DOH,0x80);
printf(“东西方向通行,南北方向禁行,持续时间33秒”)
sleep(20);/*持续时间为33秒*/
outportb(DOL,0x20);/*状态四*/
outportb(DOH,0x80);
printf(“东西方向等待,南北方向禁行,持续时间33秒”)
sleep(3);/*持续时间为3秒*/
}
main()
{
unsignedintKey=0xffff,T,i;/*Key键值变量,T时间间隔变量,i公用变量*/
clrscr();
while(Key!
=0xfffd)
{
gotoxy(10,5);
printf("等待按下键!
获取键值0xfffd。
\n");
Key=SwitchDI();
}
while(Key!
=0xfffd)/*六只继电器流水开关无限循环*/
{
gotoxy(10,7);
printf("六只继电器流水开关,无限次循环!
");
SwitchDO(T);
}
gotoxy(10,9);printf("程序结束。
\n\n");
}
5、测试结论
5.1、测试完成情况
在老师对课程设计的指导说明下,编写了信号灯控制程序代码。
调试过程中,出现2个错误和1个警告,主要是程序格式和变量定义的一致性的问题。
此外,为了提高程序的可靠性,提高计算机的运行速度,设计的程序应当尽量简明扼要。
调整完好无误后,程序最终能够按照预先设定的要求,准确控制各个继电器的开启与关闭,实现了预先设计的目标。
5.2、改进建议
通过实地考察情况,发现西安目前大多交叉口的信号控制灯的控制时间固定,不能根据实际车流量的大小进行适度调整,因此,道路不能得到充分利用,通行量分配的合理性仍有待改善。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机控制 课程设计