基于LabVIEW的交通灯设计.docx
《基于LabVIEW的交通灯设计.docx》由会员分享,可在线阅读,更多相关《基于LabVIEW的交通灯设计.docx(15页珍藏版)》请在冰豆网上搜索。
基于LabVIEW的交通灯设计
基于LabVIEW的交通灯设计
LT
2.1前面板的设计
本设计中前面板需要用20盏灯、4个时间显示器、1个菜单下拉列表、1个停止按键即可。
其中十字路口的12盏灯,红、黄、各4盏,绿灯12盏,在控件选板中选择指示灯,将它放在前面板合适的位置,单击鼠标右键,更改指示灯的属性,改变指示灯的大小和颜色,做出一个合适的指示灯。
道理指示灯三个分为一组,每组都包含红黄绿三种颜色的灯,再用框将每组灯框起来,做成一个交通灯。
在每组交通灯合适的位置放置一个数值显示控件作为交通灯的计时器,同样的方法另做人行道的8盏绿灯灯。
并在前面板合适的位置放置一个控制窗口,用于选择交通灯的运行模式及控制其开始与停止,然后设置窗口大小。
这样交通灯系统的前面板就做好了。
交通灯前面板设计如下面图1所示。
2.2单位时间信号的产生
时钟信号用毫秒计时器产生。
毫秒计时器计时十毫秒,10毫秒记反馈节点加一,要产生一个一秒为单位的时间信号,所以还得用计数值除以100,取商得到以秒为单位的时间信号。
图2单位时间信号
2.3时间信号的分段
将所得的时间信号除以每个循环所用的时间70s,取其余数,得到的余数x的范围为0<=x<70。
当运行模式选择为正常运行时,执行条件结构里为序号0的程序。
当0<=x<30时,条件成立,执行程序框图中第一个条件结构里面的程序,东西通行。
当30<=x<35时,条件成立,执行框图中第二个条件结构里的程序,东西亮黄灯。
当35<=x<65时,条件成立执行框图中第三个条件结构里的程序,南北通行。
当65<=x<70时,条件满足,执行框图中第四个条件结构里的程序,南北亮黄灯。
时间分段的程序框图如下图所示。
图3条件为真的各时间分段程序
这里用到了判定范围并强制转换控件,应用这个控件可以判定输入的数是否在上限和下限之间。
它的图标和作用如下图4所示。
如果输出信号在范围之内,“?
”接口会有一个信号,该信号恰可以输入到条件结构中作为该分支选择器信号。
图4规定范围并强制转换控件
2.4程序中所用的结构
2.4.1循环结构
LabVIEW中的循环结构主要通过while和for循环实现。
这两种循环结构、语句、功能基本相同,但使用上会有些不同。
for循环须先进行循环次数的确定,循环一定次数后自动不进行循环;而while循环则不用确定循环次数,只需要确定退出循环的条件。
本次课程设计中不能预先确定循环的次数,所以就用到了while循环。
while循环是LabVIEW最基本的结构之一,和C语言中的while循环和do…while循环相类似。
While循环可以从程序框图中的【结构】子选板中创建,while循环包括两个端口:
1、条件端口2、重复端口,如下图5所示。
本次课程设计中用停止按钮连接条件端口,当按下按钮时循环停止。
2.4.2条件结构
条件结构也是LabVIEW最基本的结构之一,类似于基于文本编程语言的switch语句或者if…then…else语句。
条件结构可以从【结构】子选板中创建,条件结构包含选择端口和选择标签控制端口,如下图6所示。
图6条件结构
在条件结构中,选择端口相当于switch语句中的“表达式”,框图表示符相当于“表达式n”。
编程过程中,将外部控制条件连接到选择端口上,程序运行的时候其端口会判断送来的控制条件,指引选择结构去执行相应框架里的内容。
在本程序中的控制条件为运行模式序号及从规定范围并强制转换的“范围内?
”端口输出的判断值。
选择端口的外部控制条件的数据有整型、字符串型、布尔型和枚举型。
其接线可任意放在框图左边的某一位置。
如果其数据为布尔型,那么这个结构包含真和假两个分支,这是该软件所默认的选择框架类型。
若为其它类型则可以随意使用分支的个数。
要注意的是,在使用条件结构的时候,控制条件的数据类型要和选择标签中的类型一样,如果不一致的话,LabVIEW显示出现错误,与此同时选择器中的字体的颜色也会变为红色。
本次课程设计中,当各组条件为真时,将执行其框图的程序。
每个条件结构里的程序基本相同。
用需要点亮的灯与布尔真常量连接,不需要点亮的与布尔假常量连接,而两方向灯的时间显示器则用一定的值减去输入的时间量,以实现倒计时的功能,各结构里的程序略有不同。
三、各种运行模式的程序
正常运行模式的程序
程序用时钟信号做选择条件做四个分支,从左到右依次执行四个条件结构,实现交通信号的循环变换,正常运行模式的程序如下:
各段时间信号程序:
第一阶段:
余数在0~30s之间,条件结构1条件满足,十字路口南北红灯和东西绿灯点亮,人行道南北方方绿灯亮。
东西灯时间显示为离绿灯熄灭的时间(从30s到1s),北灯时间显示为离红灯熄灭的时间(从35s到6s)。
程序框图如图所示
第二阶段:
余数在30~35间,条件结构2件满足,十字路口南北红灯和东西黄灯点亮,人行道南北方绿灯亮。
东灯时间显示为离黄灯熄灭的时间(从5s到1s),北灯时间继续显示为离红灯熄灭的时间(从5s到1s)。
程序框图如右所示
第三阶段:
余数在35~65s时,条件结构4的条件满足,十字路口南北绿灯和东西红灯点亮,人行道东西方绿灯亮。
东西灯时间显示为离红灯熄灭的时间(从35s到6s),南北灯时间显示为离绿灯熄灭的时间(从30s到1s)。
程序框图如右所示
第四阶段:
余数在65~70s之间,条件结构4条件满足,十字路口南北黄灯和东西红灯点亮,人行道东西方绿灯亮。
东灯时间显示为离红灯熄灭的时间(从5s到1s),北灯时间显示为离黄灯熄灭的时间(从5s到1s)。
程序框图如右所示
东西禁行模式的程序
用东西红灯及南北绿灯与布尔真常量连接,人行道南北方向绿灯与布尔真常量连接,其余灯的与布尔假常量连接,而两方向灯的时间显示器则输入零值。
东西禁行模式的程序:
南北禁行模式的程序
用东西绿灯及南北红灯与布尔真常量连接,人行道东西方向绿灯与布尔真常量连接,其余灯的与布尔假常量连接,而两方向灯的时间显示器则输入零值
南北禁行模式的程序:
两向禁行模式的程序
用东西南北的红灯与布尔真常量连接,人行道东西南北方向绿灯与布尔真常量连接,其余灯的与布尔假常量连接,而两方向灯的时间显示器则输入零值。
两向禁行模式的程序:
检修模式的程序
全部的灯与布尔假常量连接,而两方向灯的时间显示器则输入零值。
检修模式的程序:
四、交通灯设计调试结果
本次所设计的交通灯有五种运行模式:
正常运行、东西禁行、南北禁行、两向禁行、检修。
调试结果如下所示:
正常运行:
东西禁行:
南北禁行:
两向禁行:
检修: