交通灯控制系统实训报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

项目实训报告

课程名称:虚拟仪器应用

项目名称:交通灯控制系统

班级:

姓名:

学号:

指导教师:

日期:

项目信息表

交通灯控制系统项目报告

第1章概述

1.1引言

实现路口信号灯控制系统的方法很多,可以用可编程控制器PLC、单片机、标准逻辑器件等实现。但其功能修改及调试都需要硬件电路的支持,在一定程度上增加了设计难度。提出基于labview的智能交通灯控制系统,可实现3种颜色灯的交替点亮、各种信息提示、实时监测交通灯工作状态等功能。不仅编程简单、灵活、可靠性高,而且成本低、具有良好的经济效益。为实现交通系统智能控制提供了一条新途径。

1.2设计思路

近年来,在快速城市化进程和经济发展的影响下,城市交通迅速增长,交通问题成为困扰许多大城市发展的通病,已成为日趋严峻的国际性问题。其中,十字路口则是造成交通堵塞的主要”瓶颈”。世界发达国家都在积极探索如何最大限度地发挥道路通行能力,尽量减少交通堵塞造成的各种损失。实现十字路口信号灯控制系统的方法有很多,可以通过可编程控制器PLC、单片机、标准逻辑器件等方案实现。但是这些控制方法的功能修改及调试都需要硬件电路的支持,在一定程度上增加了设计难度,提高了设计成本。随着计算机技术的迅猛发展,虚拟仪器技术在数据采集、自动测试和仪器控制领域得到广泛应用,促进并推动测试系统和测量控制的设计方法与实现技术发生了深刻的变化。”软件就是仪器”已经成为测试与测量技术发展的重要标志。我们设计了基于labview的智能交通灯控制系统,该系统可实现3种颜色灯的交替点亮,通过信息提示指挥车辆和行人安全通行,并能实时监测交通灯工作状态。该系统不仅编程简单、灵活、具有较高的可靠性,而且成本低、具有良好的经济效益。

1.3基本功能

1.东向红灯亮,北向绿灯亮,时长6s;

2.东向红灯亮,北向黄灯亮,时长3s;

3.东向绿灯亮,北向红灯亮,时长6s;

4.东向黄灯亮,北向红灯亮,时长3s;

第2章系统前面板设计

2.1 交通灯制作

1.控件自定义

在Labview中,在控件编辑窗口可以重新定义控件的很多属性,如颜色、名称、图片修饰、文本内容等。最常用的控件格式为自定义类型。

制作自定义控件步骤如下:

(1)在前面板中选择一个圆形布尔控件,右击属性。将图像为真时的颜色改为绿色,为假时显示白色同时将标签改为不显示。按同样的方法分别做出黄灯控件绿灯控件。

(2)将做好的三个控件排列好,讲控件全部选中按图示方法所以将三个控件组合起来,以便在拖动时不乱。

2.2 控件组合为簇

(1)在前面板,放置簇的外框,控件选板—新式—数组矩阵与簇—簇。将做好的一组控件拖到簇中,为了美观可以选中簇右击选择自动调整大小。

(2)需要注意的是,簇元素的逻辑顺序与其在簇内的位置无关。右击簇外框,从快捷菜单选择‘重新排序簇中控件’,查看菜单下方所显示的数值,需要将哪一个簇元素设置为当前的数值顺序,就用鼠标点击那个簇元素,就可将其设定为所指定的逻辑顺序。完成后点击确定,若不需要则点击取消。包含两个方向的簇中元素的顺序,最好与外部硬件资源所对应的交通灯相一致:将元素按照顺时针方向定义顺序,如下图。

2.3 表格

使用表格控件来存放显示每个方向交通灯的逻辑列表及时长信息。选择控件选板—系统—列表表格和树—系统表格,放置表格控件于前面板中。修改标签为‘逻辑序列’。右击表格控件,显示项中勾选‘列首’。在表格的列首中,填写每一列所代表的信号灯,如ER,EY等。逻辑信息”1“表示真即灯亮,”0“表示假即灯灭。时长(s)表示没种状态所保持的时间。

表格中存放的数据类型为字符串型的二维数组,故其在程序框图中的接线端子的颜色为枚红色。作为列首的提示信息,不会直接出现在接线端子所传递的数据中,若想在程序框图中引用表格列首信息,需要使用属性节点来调用。

第3章系统功能实现

3.1 数组操作

字符串不方便做数值运算,故需要将表格的字符型数组转化数值类型的数组。在Labview 中很多函数都可以做多种类型的运算,如加减乘除,可以针对标量也可以针对数组、簇、波形等数据。同样的,数值类型的转换函数,既可以针对单个标量,也可以作用于整个数组。

函数”十进制数字符串至树枝转换“可以完成字符串的转换。转换后得到的整形数组中,包含两组信息,一组为交通灯的逻辑信息,一组为延时信息。故需要将两组信息分离。

使用函数”删除数组元素“。将二维数组连接至函数的‘N维数组’连线端口,列的索引设定为6,含义为将数组中的第七列数值删除(即时长信息删除)函数输出的两个数组,上册为逻辑列二维数组,下侧为时长信息一维数组。时长信息给定等待函数,控制每次循环执行的时长,即保持每个状态的时长。

3.2 For循环

Labview中的for循环和文本语言中的for循环功能一致的,for循环执行N次数,当i=N-1时,循环结束。For循环需要有确定的循环执行次数。故必须连接for循环的总数接线端子N,或者将启用索引数组连接至for循环外边框。For循环和while循环一样,也可以使用条件接线端,右击for循环外框,选择’条件接线端’即可使用停止按钮控制for循环的运行。

3.3 自动索引

or循环的自动索引功能是默认打开的,while循环也有自动索引功能,需要用户自己打开。如将数组连接至for循环,可启用自动索引读取和处理数组中的每个元素。将数组从外部节点连接到循环边框上的输入隧道,启用输入隧道的自动索引后,从第一个元素开始诶次均有一个数组元素进入循环。

一个使用细节,如果有多个隧道启用自动索引,或总数N接线已连接数值,实际的循环次数将取其中较小的值。

3.4 数据I/O(DO)

相关文档
最新文档