基于labview的交通灯设计实验指导书

[复制链接]
查看4 | 回复0 | 2020-12-8 22:45:16 | 显示全部楼层 |阅读模式
目 录
1 绪 论                1
1.1 labview简介        1
1.2 labview特点        1
2 交通灯程序的设计        2
2.1 控制方案                2
2.2 前面板的设计        2
2.3 程序框图的设计        3
2.3.1 时间信号的分段        3
2.3.2 条件结构的用法        4
2.3.3 黄灯闪烁                6
3 交通灯的运行        7
3.1 运行状态一                7
3.2 运行状态二                7
3.3运行状态三                8
3.4 运行状态四                9
4 结 论                10
参考文献        11

实现路口交通灯控制器系统的方法很多, 可以用标准逻辑器件、可编程序控制器PLC、单片机等方案来实现。 但是这些方法接线复杂,成本高,电气类、信号类专业学生学习起来不仅要了解硬件使用,还需要掌握软件编程,软件开发周期长,难度大,另外一旦功能修改就会涉及硬件电路接线的修改,应用不方便。 使用虚拟仪器LabVIEW软件开发出一套基于软件的交通灯实验控制系统来模拟交通灯的控制,即可实现无逻辑控制硬件的交通灯控制实验系统,并能进行实验模拟,使学生掌握交通灯的软件控制方法。
1.1     labview简介
LabVIEW是一种图形化的编程语言,它广泛地被工业界、学术界和研究实验室所接受,是一个标准的数据采集和仪器控制软件。 虚拟仪器是20世纪80年代兴起的一项新技术,是现代仪器仪表发展的 重要方向,在建模仿真、设计规划和教育训练等方面都有应用。 LabVIEW具备各种编程平台的通用功能,比方数据类型、事件处理、循环结构因此成为功能强大的图形化编程工具,LabVIEW并不仅仅是一门编程语言。虚拟仪器(Virtual Instrument,简称 VI), 每个 VI,均含一个用户接口,这个接口叫前面板,通俗来说即与仪器面板对应的软面板。还有一个后面板,也叫作程序框图。VI的设计,包括前面板和程序框图的设计。VI就是通过前面板和程序框图的设计,使用图形化的编程语言,编程实现软件的程序功能。
1.2     labview特点
a.尽可能采用了通用的硬件,各种仪器的差异主要是软件。
b.可充分发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的仪器。
c.用户可以根据自己的需要定义和制造各种仪器。

2        交通灯程序的设计2.1     控制方案
十字路口交通信号红绿灯通常为三种控制形式。第一种为传统红绿灯,即绿灯切换到红灯之前,车辆由动到静,用黄灯缓冲过度;红灯切换到绿灯时,车辆由静到动没有缓冲过度;第二种是在传统红绿灯控制形式的基础上增加绿灯闪烁功能,即在绿灯时段行将结束的最后3秒闪烁三次,其目的是提示绿灯时段行将结束,并保留黄灯缓冲过度;第三种是数显红绿灯,即倒计时数字显示红绿黄灯的时段。由于全过程有时间显示,不要绿灯闪烁, 但可以保留黄灯闪烁。 文中采用第一种和第三种相结合的控制方式。
2.2     前面板的设计
文中所设计的十字路口控制模型由两条东西方向的车道和南北方向的车道在交汇处设置。 在交汇处东西南北四个方向各设置一个交通信号灯,每个交通信号灯由红、黄、绿三盏灯构成。打开LabVIEW软件,新建一个VI,并命名为交通灯仿真,在前面板上右击→布尔→圆形指示灯,一共需要 12个灯,东西南北四个方向各三个信号灯,右击指示灯,打开属性,在外观里面设置灯亮和灯灭的颜色,灯亮的时候分别是红、绿、黄三种颜色。 灯灭的时候不显示。红绿灯对交通的影响起着至关重要的作用,如何合理地设置红绿灯时间是解决交叉路口交通问题的关键。 设置红绿灯的时间,本次实验设置的绿灯时间为27秒,并在东西南北每个布尔灯设置一个数值显示控件,显示时间倒计时,未运行该灯时数值显示为0,添加一个停止按钮对该程序的停止运行,前面板的设计如(图2-1)所 217.002.jpg
217.003.jpg
示。
2.3     程序框图的设计
LabVIEW中的循环结构主要通过while 和for循环实现。这两种循环结构、语句、功能基本相同,但使用上会有些不同。for 循环须先进行循环次数的确定,循环一定次数后自动不进行循环;而while循环则不用确定循环次数,只需要确定退出循环的条件。本次设计中不能预先确定循环的次数,所以就用到了while 循环。while循环是LabVIEW最基本的结构之一,和C语言中的while循环和do while循环相类似。
2.3.1 时间信号的分段
添加一个时间计数器控件,编程—定时—时间计数器,此时时间计数器单位为ms,我们需要将转换为s计数,所以在时间计数器后加入一个除函数,编程—数值—除,为除函数创建一个数值1000,并于时间计数器连接,创建一个商与余数函数,将得到的时间信号除以每个循环所用时间60s,取余数,得到的余数x的范围为0<=x<=59,添加一个强制转换控件。当0<=x<27条件满足第一个条件结构,此刻南北方向绿灯亮,同时东西方向红灯亮,当27<=x<30时绿灯熄灭,黄灯开始闪烁,此后东西方向与南北方向的灯交换。时间范围见(图2-2)所示。

217.004.jpg

图2-2 时间分段

要时间分段强制转换正确,我们就得先了解强制转换控件的用法,判定范围并强制转换控件,应用这个控件可以判定输入的数是否在上限和下限之间。它的图标和作用如(图2-3)所示。
2.3.2 217.005.jpg
217.006.jpg
条件结构的用法
条件结构是LabVIEW最基本的结构之一,条件结构类似于文本编程语言中的 217.007.jpg
switch语句或者if then else语句。条件结构可以从结构子选板中创建,它 217.008.jpg
的图标及功能如(图2-4)所示。

完整内容见附件 基于labview的交通灯设计.docx (545.94 KB, 售价: 2 工控币)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则