还剩32页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
3.1十字路__通__灯的控制要求
113.2十字路__通__灯控制系统电路图
133.3PLC硬件控制电路设计
143.4PLC控制程序设计
153.
4.1PLC的状态转移
153.
4.2PLC的状态转移图
153.
4.3十字路__通__灯PLC的程序设计说明16第四章交通灯系统的设计
174.1交通系统的发展趋势
174.2选择VHDL硬件描述语言设计的优势
174.3红绿灯交通__系统功能描述
184.
4.1时钟脉冲发生电路19前言当今,红绿灯__在各个道口上,已经成为疏导交通车辆最常见和最有效的手段但这一技术在19世纪就已出现了1858年,在英国伦敦主要街头__了以燃煤气为光源的红,蓝两色的机械扳手式__灯,用以指挥马车通行这是世界上最早的交通__灯1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的__上,__了世界上最早的煤气红绿灯它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”1869年1月2日,煤气灯__,使__受伤,遂被取消电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始__于纽约市5号大街的一座高塔上红灯亮表示“停止”,绿灯亮表示“通行”1918年,又出现了带控制的红绿灯和红外线红绿灯带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路红外光束能把__灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故__灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果第1章PLC概述可编程控制器(PLC)是在继电器控制技术和计算机技术的基础上发展起来的一种新型的工业自动控制设备,它以微处理为核心,集自动化技术、计算机技术、通信技术为一体,广泛应用于自动化的各个领域PLC从原来具有逻辑控制、顺序控制等功能,发展到现在已具有模拟量输入/输出、定位控制、旋转角度检测、高速计数、数据处理、联__信等功能PLC使用面向控制过程、面向用户的“自然语言”编程,适应工业环境,简单易懂,操作方便,是可靠性高的新一代通用工业控制装置
1.1PLC的简介PLC是专为在工业环境下应用而设计的一种数字运算操作的电子装置是带有存储器可以编制程序的控制器它能够存储和执行指令进行逻辑运算顺序控制定时计数和算术等操作并通过数字式和模拟式的输入输出控制各种类型的机械和生产过程PLC及其有关的__设备都应按易于与工业控制系统形式一体易于拓展其功能的原则设计事实上PLC就是以嵌入式CPU为核心配以输入输出等模块可以方便的用于工业控制领域的装置PLC与机器人计算机帮助设计与制造一起作为现代工业的三大支柱
1.2PLC的用途与特点
1.
2.1PLC的用途PLC的初期由于其__高于继电器控制装置使其应用受到限制但近年来由于微处理器芯片及有关元件__大大下降使PLC的成本下降同时又由于PLC的功能大大增强使PLC的应用越来越广泛广泛应用于钢铁、水泥、石油、化工、采矿、电力、机械制造、汽车、造纸、纺织、环保等行业PLC的应用通常可分为五种类型
(1)顺序控制 这是PLC应用最广泛的领域,用以取代传统的继电器顺序控制PLC可应用于单机控制、多机群控、生产自动线控制等如注塑机、印刷机械、订书机械、随着电子技术和计算机技术的迅猛发展,PLC的功能也越来越强大,更多地具有计算机的功能,所以又简称PC(PROGRAM__BLECONTROLLER),但是为了不和切纸机械、组合机床、磨床、装配生产线、电镀流水线及电梯控制等
(2)运动控制 PLC制造商目前已提供了拖动步进电动机或伺服电动机的单轴或多轴位置控制模版在多数情况下,PLC把扫描目标位置的数据送给模版块,其输出__一轴或数轴到目标位置每个轴__时,位置控制模块保持适当的速度和加速度,确保运动平滑相对来说,位置控制模块比计算机数值控制(CNC)装置体积更小,__更低,速度更快,操作方便
(3)闭环过程控制 PLC能控制大量的物理参数,如温度、压力、速度和流量等PID(ProportionalIntergralDerivative)模块的提供使PLC具有闭环控制功能即一个具有PID控制能力的PLC可用于过程控制当过程控制中某一个变量出现偏差时PID控制算__计算出正确的输出把变量保持在设定值上
(4)数据处理 在机械__中,出现了把支持顺序控制的PLC和计算机数值控制(CNC)设备紧密结合的趋向著名的__FANUC公司推出的Systen
10、
11、12系列,已将CNC控制功能作为PLC的一部分为了实现PLC和CNC设备之间内部数据自由传递,该公司采用了窗口软件通过窗口软件,用户可以独自编程,由PLC送至CNC设备使用美国GE公司的CNC设备新机种也同样使用了具有数据处理的PLC预计今后几年CNC系统将变成以PLC为主体的控制和管理系统
(5)通信和联网 为了适应国外近几年来兴起的工厂自动化(FA)系统、柔性制造系统(FMS)及集散控制系统(DCS)等发展的需要,必须发展PLC之间,PLC和上级计算机之间的通信功能作为实时控制系统,不仅PLC数据通信速率要求高,而且要考虑出现停电故障时的对策
1.
2.2 PLC的特点
(1)抗干扰能力强,可靠性高 继电接触器控制系统虽具有较好的抗干扰能力,但使用了大量的机械触头,使设备连线复杂,由于器件的老化、脱焊、触头的抖动及触头在开闭时受电弧的损害大大降低了系统的可靠性传统的继电器控制系统中使用了大量的中间继电器、时间继电器由于触点接触不良,容易出现故障,PLC用软件代替大量的中间继电器和时间继电器,仅剩下与输入和输出有关的少量硬件,接线可减少互继电器控制系统的1/10--1/100,因触点接触不良造成的故障大为减少而PLC采用微电子技术,大量的开关动作由无触点的电子存储器件来完成,大部分继电器和复杂的连线被软件程序所取代,故寿命长,可靠性大大提高2配套齐全,功能完善,适用性强PLC发展到今天,已经形成了大、中、小各种规模的系列化产品可以用于各种规模的工业控制场合除了逻辑处理功能以外,现代PLC大多具有完善的数据运算能力,可用于各种数字控制领域近年来PLC的功能单元大量涌现,使PLC渗透到了位置控制、温度控制、CNC等各种工业控制中加上PLC通信能力的增强及人机界面技术的发展,使用PLC组成各种控制系统变得非常容易3易学易用,深受工程技术人员欢迎PLC作为通用工业控制计算机,是面向工矿企业的工控设备它接口容易,编程语言易于为工程技术人员接受梯形图语言的图形符号与表达方式和继电器电路图相当接近,只用PLC的少量开关量逻辑控制指令就可以方便地实现继电器电路的功能为不熟悉电子电路、不懂计算机原理和汇编语言的人使用计算机从事工业控制打开了方便之门4系统的设计、建造工作量小,维护方便,容易改造PLC用存储逻辑代替接线逻辑,大大减少了控制设备外部的接线,使控制系统设计及建造的周期大为缩短,同时维护也变得容易起来更重要的是使同一设备经过改变程序改变生产过程成为可能这很适合多品种、小批量的生产场合5体积小,重量轻,能耗低以超小型PLC为例,新近出产的品种底部尺寸小于100mm,重量小于150g,功耗仅数瓦由于体积小很容易装入机械内部,是实现机电一体化的理想控制设备第二章PLC控制系统设计
2.1设计任务和内容任务设计一个能够控制十二盏交通__灯的模拟系统并且要求交通__灯按照交通规则的模试来运行实验通过控制六个交通灯就好了内容因为本课程设计是交通灯的单片机控制设计,所以要了解实际交通灯的变化情况和规律假设一个十字路口为东西南北走向然后转状态1南北红灯,东西绿灯通车过一段时间转状态2东西绿灯灭,黄灯闪烁几次,南北仍然红灯再转状态3,南北绿灯通车,东西红灯过一段时间转状态4,南北绿灯灭,闪几次黄灯,东西仍然红灯最后循环至状态
12.2控制系统设计概要我们在学习了PLC的大量的相关知识后,要能够把其运用在实际训练当中当然要设计经济、可靠、简洁的PLC控制系统,需要丰富的专业知识和实际的工作经验
一、PLC控制系统设计的基本原则1)最大限度地满足被控对象的控制要求2)保证控制系统的高可靠、安全3)满足上面条件的前提下,力求使控制系统简单、经济、实用和维修方便4)选择PLC时,要考虑生产和工艺改进所需的余量
二、PLC控制系统设计的基本内容1选择合适的用户输入设备、输出设备以及输出设备驱动的控制对象2分配I/O,设计电气接线图,考虑安全措施3选择适合系统的PLC.4设计程序5调试程序一个是模拟调试,一个是联机调试6设计控制柜,编写系统交付使用的技术文件,说明书、电气图、电气元件明细表7验收、交付使用
三、PLC控制系统设计的一般步骤1.流程图功能说明1)分析生产工艺过程2)根据控制要求确定所需的用户输入、输出设备,分配I/O3)选择PLC4)设计PLC接线图以及电气施工图5)程序设计和控制柜接线施工2.PLC程序设计的步骤1)对于复杂的控制系统,最好绘制编程流程图,相当于设计思路2)设计梯形图3)程序输入PLC模拟调试,修改,直到满足要求为止4)现场施工完毕后进行联机调试,直至可靠地满足控制要求5)编写技术文件6)交付使用3.设计步骤框图如下
四、控制系统执行程序的过程及特点PLC执行程序的过程分为三个阶段,即输入采样阶段、程序执行阶段、输出刷新阶段1.输入采样阶段在输入采样阶段,PLC以扫描工作方式按顺序对所有输入端的输入状态进行采样,并存入输入映象寄存器中,此时输入映象寄存器被刷新接着进入程序处理阶段,在程序执行阶段或其它阶段,即使输入状态发生变化,输入映象寄存器的内容也不会改变,输入状态的变化只有在下一个扫描周期的输入处理阶段才能被采样到2.程序执行阶段在程序执行阶段,PLC对程序按顺序进行扫描执行若程序用梯形图来表示,则总是按先上后下,先左后右的顺序进行当遇到程序跳转指令时,则根据跳转条件是否满足来决定程序是否跳转当指令中涉及到输入、输出状态时,PLC从输入映像寄存器和元件映象寄存器中读出,根据用户程序进行运算,运算的结果再存入元件映象寄存器中对于元件映象寄存器来说,其内容会随程序执行的过程而变化3.输出刷新阶段程序执行完毕后,进入输出处理阶段在这一阶段里,PLC将输出映象寄存器中与输出有关的状态(输出继电器状态)转存到输出锁存器中,并通过一定方式输出,驱动外部负载因此,PLC在一个扫描周期内,对输入状态的采样只在输入采样阶段进行当PLC进入程序执行阶段后输入端将被封锁,直到下一个扫描周期的输入采样阶段才对输入状态进行重新采样这方式称为集中采样,即在一个扫描周期内,集中一段时间对输入状态进行采样在用户程序中如果对输出结果多次赋值,则最后一次有效在一个扫描周期内,只在输出刷新阶段才将输出状态从输出映象寄存器中输出,对输出接口进行刷新在其它阶段里输出状态一直保存在输出映象寄存器中这种方式称为集中输出对于小型PLC,其I/O点数较少,用户程序较短,一般采用集中采样、集中输出的工作方式,虽然在一定程度上降低了系统的响应速度,但使PLC工作时大多数时间与外部输入/输出设备隔离,从根本上提高了系统的抗干扰能力,增强了系统的可靠性而对于大中型PLC,其I/O点数较多,控制功能强,用户程序较长,为提高系统响应速度,可以采用定期采样、定期输出方式,或中断输入、输出方式以及采用智能I/O接口等多种方式从上述分析可知,当PLC的输入端输入__发生变化到PLC输出端对该输入变化作出反应,需要一段时间,这种现象称为PLC输入/输出响应滞后对一般的工业控制,这种滞后是完全允许的应该注意的是,这种响应滞后不仅是由于PLC扫描工作方式造成,更主要是PLC输入接口的滤波环节带来的输入延迟,以及输出接口中驱动器件的动作时间带来输出延迟,同时还与程序设计有关滞后时间是设计PLC应用系统时应注意把握的一个参数第三章十字路__通__灯的具体设计
3.1十字路__通__灯的控制要求 随着城市和经济的发展,交通__灯发挥的作用越来越大,正因为有了交通__灯,才使车流、人流有了规范,同时,减少了交通事故发生的概率然而,交通__灯不合理使用或设置,也会影响交通的顺畅交通__灯由红灯、绿灯、黄灯组成红灯表示禁止通行,绿灯表示准许通行,黄灯表示警示交通__灯分为机动车__灯、非机动车__灯、人行横道__灯、车道__灯、方向指示__灯、闪光警告__灯、道路与铁路平面交叉道口__灯交通__灯用于道路平面交叉路口,通过对车辆、行人发出行进或停止的指令,使各同时到达的人、车交通流尽可能减少相互干扰,从而提高路口的通行能力,保障路口畅通和安全十字路__通__灯现场示意图如图3-1所示,南北和东西每个方向各有红、绿、黄三种__灯,为确保交通安全,要求如下1)采用PLC构成十字路口的南北向和东西向交通__灯的电气控制系统上电后,交通指挥__控制系统由由一个3位转换开关SA1控制SA1手柄指向左45°时,接点SA1-1接通,交通指挥系统开始按常规正常控制功能工作,按照如图3-2所示工作时序周而复始,循环往复工作SA1手柄指向中间0°时,接点SA1-2接通,交通指挥系统南北向绿灯常亮,东西向红灯常亮,SA1手柄指向右45°时,接点SA1-3接通,交通指挥系统东西向绿灯常亮,南北向红灯常亮图3-1交通灯现场示意图2)正常控制时
①当东西方向允许通行(绿灯)时,南北方向应禁止通行(红灯);同样,当南北方向允许通行(绿灯)时,东西方向应禁止通行(红灯)
②在绿灯__要切换为红灯__之前,为提醒司机提前减速并刹车,应有明显的提示__绿灯闪烁同时黄灯亮
③__灯控制系统启动后应能自动循环动作__灯动作的时序图如图3-2所示,它是按__灯置1与置0两种状态绘制的,置1表示__灯点亮图3-2十字路__通灯正常工作时序3)输入/输出__分配输入/输出__分配如表3-1所示输 入输 出文字符号__地址说 明文字符号__地址说 明SA1-1X0交通灯正常工作控制开关H1Y0南北向绿灯指示SA1-2X1南北向交通灯常绿控制开关H2Y1南北向黄灯指示SA1-3X2东西向交通灯常绿控制开关H3Y2南北向红灯指示H4Y3东西向绿灯指示H5Y4东西向黄灯指示H6Y5东西向红灯指示表3-1十字路__通灯控制__说明
3.2十字路__通__灯控制系统电路图开关合上后,东西绿灯亮25s后闪3s灭;黄灯亮2s灭;红灯亮30s;绿灯亮……循环,对应东西绿黄灯亮时南北红灯亮30s接着绿灯亮25S后闪3s灭;黄灯亮2s后,红灯又亮……循环,图3-4十字路__通__灯控制系统电路图根据交通灯系统的控制要求,如图3-4所示十字路__通__灯控制系统电路图,实现了预定的交通灯系统的控制功能
3.3PLC硬件控制电路设计1硬件结构设计了解各个控制对象的驱动要求,如驱动电压的等级、负载的性质等;分析对象的控制要求,确定输入/输出接口(I/O)数量;确定所控制参数的精度及类型,如对开关量、模拟量的控制、用户程序存储器的存储容量等,选择适合的PLC机型及外设,完成PLC硬件结构配置2根据上述硬件选型及工艺要求,绘制PLC控制电路接线图,编制I/O接口功能表据__控制要求,I/O分配及其接线如图7-11所示图3-5十字路__通__灯PLC外部I/O分配及其接线图中用一个输出点驱动两个__灯,如果PLC输出点的输出电流不够,可以用一个输出点驱动一个__灯,也可以在PLC输出端增设中间继电器,由中间继器再去驱动__灯
3.4PLC控制程序设计
3.
4.1PLC的状态转移在设计较为复杂的程序时,仅仅采用简单的逻辑处理已经很难保证程序的正确性和易读性,所以就需要采用别的方法来编制程序为了保证程序逻辑的正确以及程序的易读性,我们可以将一个控制过程分为若干个阶段,在每一个阶段均设立一个控制标志,当每一个阶段执行完毕,就启动下一个阶段的控制标志,将本阶段的控制标志清除所谓“状态”是指特定的功能,因此状态转移实际上就是控制系统的功能转移机电自控系统中机械的自动工作循环过程就是电气控制系统的状态自动、有序、逐步转移的过程这种功能流程图完整地表现了控制系统的控制过程,各状态的功能、状态转移顺序和条件,它是PLC应用控制程序设计的极好工具
3.
4.2PLC的状态转移图图3-6十字路__通__灯PLC的状态转移图
3.
4.3十字路__通__灯PLC的程序设计说明据图3-6所示的状态转移,说明十字路__通__灯PLC的程序设计1)PLC开始运行时,M8002产生一初始脉冲,使初始状态S0置12)当SA1手柄指向中间0°时,触点X1接通,交通指挥系统南北向绿灯Y1常亮,东西向红灯常亮3)当SA1手柄指向右45°时,触点X2接通,交通指挥系统东西向绿灯Y1常亮,南北向红灯常亮4)当SA1手柄指向左45°时,触点X0接通,状态转移到S20和S30,使S20和S30置1,同时S0在下一扫描周期自动复位,Y1线圈得电南北绿灯亮与此同时Y6线圈得电,东西红灯亮5)延时25S后,转移条件T0闭合,状态从S20转移到S21,使S21置1,同时驱动T1记时,而S20在下一扫描周期自动复位6)延时5S后,转移条件T1闭合,状态从S21转移S22,使S22置1产生
0.5S接通和断开的时针脉冲__,从而使南北绿灯闪烁,同时驱动计数器C0记数,若记数次数未到三次,C0的常闭触点接通,状态转移到S21,继续循环共计三次7)次数到三,C0常开触点闭合,状态由S22转移到S23,使S23置1同时S22在下一扫描周期自动复位,Y2线圈得电南北黄灯亮8)延时2S后,转移条件T3闭合,一方面状态从S23转移到S24,使S24置1,S23在下一扫描周期自动复位,Y3线圈得电南北红灯亮,计数器C0复位另一方面状态S30转移到S31,使S31置1同时S30在下一扫描周期自动复位,线圈Y4得电东西绿灯亮9)延时25S后,转移条件T4闭合,状态从S31转移到S32,使S32置1,同时驱动T5记时,而S31在下一扫描周期自动复位10)延时5S后,转移条件T5闭合,状态从S32转移S33,使S33置1产生
0.5S接通和断开的时针脉冲__,从而使东西绿灯闪烁,同时驱动计数器C1记数,若记数次数未到三次,C1的常闭触点接通,状态转移到S32,继续循环共计三次11)次数到三,C1常开触点闭合,状态由S33转移到S34,使S34置1同时S33在下一扫描周期自动复位,Y5线圈得电东西黄灯亮,计数器C1复位12)延时2S后,回到初始状态S0进行循环执行第四章交通灯系统的设计
4.1交通系统的发展趋势交通系统未来的发展趋势就是要提高通行能力,加强环境保护,开展智能化运输和环保专项技术的研究,并且要做到以人为本,重点开展交通安全技术的研究,在这个过程中要确定经济合理的目标,促进新材料的广泛应用和__
4.2选择VHDL硬件描述语言设计的优势首先,简单地介绍一下什么是VHDL硬件描述语言VHDL的英文全称是VHSIC(VeryHighSpeedIntegratedCircuit)HardwareDescriptionLanguage是EDA设计中使用最多的语言之一,它具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大地简化了硬件设计任务,提高了设计效率和可靠性其次,这次设计选用VHDL硬件描述语言的优势就在于传统的用原理图设计电路的方法具有直观形象的优点,但如果所设计系统的规模比较大,或者设计软件不能提供设计者所需的库单元时,这种方法就显得很受限制了而且用原理图表示的设计,通用性、可移植性也比较弱,所以在现代的设计中,越来越多地采用了基于硬件描述语言的设计方式利用硬件描述语言来设计电路,使探测各种设计方案变成一件很容易的事,因为只需要对描述语言进行修改,这比更改电路原理图要容易实现得多
4.3红绿灯交通__系统功能描述在交通__灯的设计中,外部硬件电路方面主要包括两组红绿灯、两组LED显示器(见图1)软件方面包括
(1)电路合成模块的概念将交通灯__系统划分成若干个小电路,编写每一个模块的VHDL程序代码,并将各个小电路相连接这样可以增加程序的调试速度,同时也能够将工作细分,以提高编程速度(见图
2、图3)
(2)参数化的概念针对不同时段的交通流量,可以调整红绿灯电路(增加或者减少电路的计数时间),以增加程序的灵活性图1十字路口示意图图2交通__灯系统结构图由交通__灯系统结构图见图2可知,该系统由4个子电路组成其中包括1时钟发生电路;2计数秒数选择电路;3倒计时控制电路;4红绿灯__控制电路图3交通__灯系统模块图由图3可以看出系统大体的工作程序是首先由时钟发生电路产生稳定的时钟__,为下面三个子电路提供同步工作__接收到时钟__的红绿灯__控制电路开始工作,并将产生的重新计数的输出使能控制__发送给计数秒数选择电路和倒计时控制电路,同时还会将目前电路产生的状态__发送给前者接收到重新计数的__后计数秒数选择电路就会负责产生计数器所需要的计数值,并将这一数值发送给倒计时控制电路,由它利用发光二极管显示倒计时的状态当计数器计时完毕,倒计时控制器就会负责产生一个脉冲__发送给红绿灯__控制电路进入下一个状态,之后循环这一过程
4.4红绿灯交通__系统的VHDL模块
4.
4.1时钟脉冲发生电路在红绿灯交通__系统中,大多数的情况是通过自动控制的方式指挥交通的因此,为了避免意外__的发生,电路必须给出一个稳定的时钟(clock)才能让系统正常的工作因此,hld1时钟发生电路(见图4)最主要的功能就是产生一些稳定的输出__,并将其用做后面几个电路的使能控制与同步__图4时钟发生电路模块图系统输入__clk由外部__发生器提供1kHZ的时钟__;reset系统内部自复位__系统输出__ena_scan将外部的时钟__进行分频处理;ena_1hz产生每秒一个的脉冲__;flash_1hz产生每秒一个脉冲的时钟__经仿真后得到的时序图见图
5、图6图5将clk经分频处理后得到的ena_scan__图6时钟发生电路时序图从图5中可以看出,当外部__发生器提供了1kHZ的时钟__后,系统输出__ena_scan就将时钟__进行了4分频从图6又可以看出,当加入1kHZ的时钟__后,ena_1hz产生了周期为一秒的脉冲__,flash_1hz产生了周期为一秒的脉冲时钟__在这段程序的设计过程中最大的特点就是引用了参数化的概念,即使用了常数constant常数的定义和设置主要是为了使程序更容易阅读和修改,只要改变了常量的数值,使用到该常数的地方都会随着更新而使用新的常数值这就使设计的灵活性增强了例如程序中用到的constantscan_bit:positive:=2;signalclk_scan_ff:std_logic_vectorscan_bit-1downto0;第一句就是将scan_bit设为常数‘2’,这个数值是可以根据设计的需要任意设定的第二句是定义一个__,它的位数就是scan_bit-1因为之前scan_bit设定的值为2,所以__的位数就是2位如果想增减__的位数,只需要改动常数的赋值就可以了
4.
4.2计数秒数选择电路当通过交通路口时,如果能在一个方向增添一个倒计时显示器对车辆、行人加以提示,可能会有更好的效果因此hld2计数秒数选择电路见图7最主要的功能就是负责输出显示器需要的数值(即倒数的秒数值),作为倒计时显示器电路的计数秒数图7计数秒数选择电路模块图系统输入__clk由外部__发生器提供1kHZ的时钟__;reset系统内部自复位__;ena_scan接收由时钟发生电路提供的250Hz的时钟脉冲__;recount接收由交通灯__控制电路产生的重新计数的使能控制__;sign_state接收由交通灯__控制电路产生的状态__系统输出__load负责产生计数器所需要的计数数值经仿真后得到的时序图见图8图8计数秒数选择电路时序图由计数描述选择电路的时序图见图8可以看出这段程序中定义了在正常车流量情况下,东西及南北方向红灯、黄灯和绿灯需要维持的秒数分别是15s、5s和25sarchitecturebhvofhld2isconstantredew_time:integer:=15;---东西方向红灯设定为15sconstantyellowew_time:integer:=5;--东西方向黄灯设定为5sconstantgreenew_time:integer:=25;--东西方向绿灯设定为25sconstantredsn_time:integer:=15;--南北方向红灯设定为15sconstantyellowsn_time:integer:=5;--南北方向黄灯设定为5sconstantgreensn_time:integer:=25;--南北方向绿灯设定为25sbeginpro__ssresetclkbeginifreset=1thenload=00000000;elsifclkeventandclk=1thenifena_scan=1andrecount=1thencasesign_stateiswhen000=load=conv_std_logic_vectorgreensn_time8;--sign_state=“000”时,南北方向绿灯亮25swhen001=load=conv_std_logic_vectoryellowsn_time8;--sign_state=“001”时,南北方向黄灯亮5swhen010=load=conv_std_logic_vectorredsn_time8;--sign_state=“010”时,南北方向红灯亮15swhen011=load=conv_std_logic_vectorredew_time8;--sign_state=“011”时,东西方向红灯亮15swhen100=load=conv_std_logic_vectoryellowew_time8;--sign_state=“100”时,东西方向黄灯亮5swhen101=load=conv_std_logic_vectorgreenew_time8;--sign_state=“101”时,东西方向绿灯亮25swhenothers=load=conv_std_logic_vectoryellowsn_time8;endcase;当外部__发生器提供了1kHZ的时钟__,并且重新计数__recount为“1”时load__就会按照预先设置的数值逐1递减直至减到零为止当下一个重新计数__recount再次为“1”时,会重复此过程在这段程序的设计中用到了conv_std_logic_vectorvaluen语句,它的用法就是将已经定义的数值value转换成n位bit的表示方法例如程序中when000=load=conv_std_logic_vectorgreenew_time8;就是将十进制的25转换成二进制的19,这就使设计减少了很多不必要的麻烦
4.
4.3倒计时控制电路通过日常生活中的观察,我发现在一些交通路口已经开始使用倒计时显示器,它们的作用就是用来提示车辆行人目前还有多长时间__灯会发生变化,这样车辆行人就可以提前判断是否有足够的时间通过路口,进而就可以避免很多意外事故的发生例如南北方向绿灯,车辆处于正常行驶中,东西方向红灯,车辆处于等待中,若南北方向行驶的车辆看到倒计时显示器上可以通行的时间很短,可能就会放慢速度等待下一次通行,这样在东西方向绿灯时,车辆就能够正常行驶,不会为等待南北方向强行的车辆而耽误更多的时间如此循环下去,道路就会畅通无阻了考虑到有些路口的交通拥堵现象较为严重,车辆会在道路上排成很长的一队,这样排在较远距离的司机就很难看清楚倒计时显示器上变化的数字,有可能会影响到车辆之间的正常行驶因此,如果采用发光二极管作为倒计时的显示装置就会使司机和行人一目了然,同样也能够起到很好的提示作用所以,hld3倒计时控制电路见图9最主要的功能就是负责接收hld2电路输出的值,然后将其转换成BCD码,并利用发光二极管显示出来,让车辆行人能够清楚地知道再过多久__灯就会发生变化图9倒计时控制电路系统输入__clk由外部__发生器提供1kHz的时钟__;reset系统内部自复位__;ena_1hz接收由时钟发生电路提供的1Hz的脉冲__;recount重新计数的使能控制__;load负责接收计数器所需要的计数数值系统输出__led负责将计数数值转换成BCD码,并利用发光二极管显示倒计时状态;next_state当计数器计时完毕后,负责产生一个脉冲__,作为下一个状态的触发__经仿真后得到的时序图见图10图10倒计时控制电路时序图由倒计时控制电路的时序图见图10可以看出,当clk时钟__来临后,在ena_1hz脉冲__的同时激励下,led会按照预先设置好的时间开始逐1递减,进行倒计时显示pro__ssclkresetbeginifreset=1thencnt_ff=00000000;led=0000000000000000000000000;--当reset=1,则将cnt_ff与led清零elsifclkeventandclk=1thenifena_1hz=1thenifrecount=1thencnt_ff=load-1;--当reset=0clk为上升沿触发,且ena_1hz与recount为1时,load将减1的数值赋给cnt_ffelsecnt_ff=cnt_ff-1;--当reset=0clk为上升沿触发,且ena_1hz为1时,recount为0时,cnt_ff减1endif;endif;caseconv_integercnt_ffiswhen0=led24downto0=_____00000000000000000000;when1=led24downto0=1_____0000000000000000000;when2=led24downto0=11_____000000000000000000;when3=led24downto0=111_____00000000000000000;……when23=led24downto0=1111111111111111111111110;when24=led24downto0=1111111111111111111111111;whenothers=led24downto0=0000000000000000000000000;endcase;这段程序是采用的就是查表的方法并且利用发光二极管进行倒计时显示如图10所示:当绿灯点亮开始计数后,load就会将减1后的值赋给cnt_ff,之后cnt_ff又会从case语句中查找到相对应的值再赋给led显示所剩余的时间在程序编写过程中运用到了conv_integer语句,它可以将cnt_ff所赋的值转换成整数由图可知led是25位的系统输出__,负责控制发光二极管的输出,所以25位的输出__可以分成七组控制发光二极管的显示,其中“1”为点亮,“0”为熄灭其对应方式如下表所示
4.
4.4红绿灯__控制电路在红绿灯交通__系统中,大多数的情况是通过自动控制的方式指挥交通但为了配合高峰时段,防止交通拥挤,有时还必须使用手动控制,即让交通__自行指挥交通因此,hld4红绿灯__控制电路见图11除了负责监控路口红绿灯之外,最主要的功能就是能够利用开关来切换手动与自动的模式,让交通__能够通过外部输入的方式来控制红绿灯交通__系统的运做图11红绿灯__控制电路系统输入__发光二极管7组6组5组4组3组2组1组led24downto0000yxwvutsrqpo__lkjihgfedcbaclk由外部__发生器提供1kHZ的时钟__;reset系统内部自复位__;ena_scan接收由时钟发生电路提供的250Hz的时钟脉冲__;ena_1hz接收由时钟发生电路提供的1Hz的脉冲__;flash_1hz接收由时钟发生电路提供的1Hz的脉冲时钟__;a_m手动、自动切换按钮(1自动、0手动);st_butt红绿灯状态切换按钮(在手动操作下,每按一次按钮就变换一个状态);next_state接收由倒计时控制电路提供的下一个状态的触发__系统输出__recount产生重新计数的输出使能控制__;sign_state产生输出状态__;red负责红色__灯的显示;green负责绿色__灯的显示;yellow负责黄色__灯的显示经仿真后得到的时序图见图12图12红绿灯__控制电路时序图图12显示的是第三种状态时东西方向红灯亮、南北方向绿灯亮红绿灯__控制电路的作用就是产生的一系列的控制__去完成之前几个模块设定好的功能
4.
4.5建立程序包在程序设计语言中,程序的开始总会调用库library来提供设计程序时所需要的基本命令但是,如果要进一步设计较为复杂的程序时,库中的命令可能就无法支持了因此,可以设计一个子程序来满足程序设计的需求上述问题在硬件描述语言的设计中也存在,在VHDL程序中的第一行libraryieee;就是要使用IEEE设计好的库文件,但如果需要使用的元器件并不在库中时,就只能自己定义了一个程序包中至少应该包含以下结构中的一种常数说明如定义系统数据总线通道的宽度VHDL数据类型说明主要用于在整个设计中通用的数据类型元件定义元件定义主要规定在VHDL设计中参与文件例化的文件接口界面子程序并入程序包的子程序有利于在设计中任一处进行方便地调用
4.
4.6连接各个模块light电路的工作就是将所有的子电路全部连接起来,进行时序分析,当程序完成后,再下载到FPGA,以便硬件电路的验证工作经仿真后得到的时序图见图13图13连接各个模块后的时序图连接各个模块后的时序图见图13是综合了上述4个模块后仿真出来的波形图13显示的也是状态三时东西方向红灯亮、南北方向绿灯亮,这与之前红绿灯__控制电路仿真出来的波形结果是相同的管脚分配图见图14图14连接各个模块后的管脚分配图第五章课程总结本系统结构简单,操作方便;可现自动控制,具有一定的智能性;对优化城市交通具有一定的意义本设计将各任务进行细分包装,使各任务保持相对__;能有效改善程序结构,便于模块化处理,使程序的可读性、可维护性和可移植性都得到进一步的提高本设计采用了VHDL硬件描述语言文本输入方式,在确立总体预期实现功能的前提下,分层次进行设计实现了三种颜色交通__灯的交替点亮,以及时间的倒计时显示,指挥行人和车辆安全通行程序中所用到的数据均可以根据实际情况进行设置,修改灵活方便通过此次设计,我对于VHDL硬件描述语言有了更深入地了解,也在原来所学的理论基础上得到了进一步地应用但由于经验上的不足,有些地方还需要做进一步地改善附录附录一交通__灯控制的梯形图附录二红绿灯交通__系统的VHDL程序代码------------定义使用到的包/库LIBRARYIEEE;USEIEEE.STD_LOGIC_
[1]王蕊《PLC在交通__灯控制上的应用》,2003年第五期
[2]陈胜利曾谊晖:《PLC在控制交通__灯中的应用》,2003年第五期
[3]《基于PLC技术的交通__灯控制与设计》-商场现代化200524
[4]林涛《基于VHDL语言的交通__控制器的设计与实现》,《交通与计算机》,2006年第四期,第72-75页
[5]《PLC控制交通__灯的编程方法讨论》-北京工商大学学报(自然科学版)2008263
[6]陶涛《基于VHDL语言实现十字路__通灯设计》,《青海交通科技》,2006年第六期,第13-15页
[7]邱磊、肖兵《基于VHDL语言的交通灯控制器设计》,《福建电脑》,2004年第十__,第76-77页分析控制要求确定I/O设备选择PLC分配I/O、设计电气图编写流程图设计梯形图编制程序清单输入程序并检查调试满足NY联机调试满足NN编制技术文件交付使用设计控制柜现场连接时钟发生电路红绿灯__控制电路倒计时控制电路计数秒数选择电路东西及南北方向__灯时钟输入端系统复位端东西及南北方向倒计时27。