虚拟仪器技术与应用课件:交通灯控制系统.pptx
;目录;6.1项目描述;城市道路的交叉路口通常设置有绿灯、黄灯和红灯三种状态的交通灯,它们的作用是:当绿灯亮时,表示车辆可通行;当黄灯亮时,提醒正在交叉路口中行驶的车辆赶快离开;当红灯亮,车辆要在停车线后停驶。
交通灯的控制看似简单,其中涉及到两个方向车流的控制,何时亮何种颜色的灯,时长多久。这些都需要做逻辑分析和运算。现在更复杂的交通灯还带有左转和右转提示灯。;6.1.2任务要求
交通灯是城市交通中不可缺少的重要工具,是城市交通秩序的重要保障。本系统就是实现常见十字路交通灯功能。通过编程,实现配置各种灯的时间,控制各个灯的状态等。一个十字路口的交通一般分为两个方向,每个方向具有红灯、绿灯和黄灯3种交通灯两个方向的灯的状态是相关的,现给出如下设定: ;6.1.3实践环境
硬件设备:计算机、计算机、ELVISⅢ、多功能I/O板卡、导线若干
软件环境:LabVIEW;6.2任务1设计控制系统的前面板;6.2任务1设计控制系统的前面板;6.2任务1设计控制系统的前面板;6.3.2设计交通灯控件
控件的属性设置
1)在前面板上,打开控件选板,在布尔控件子选板里面找到指示灯,放置在前面板上。在控件上右击鼠标,在打开的快捷菜单,把“显示项”里面“标签”选项的钩选取掉。
2)鼠标移动到该控件上,出现拖拽工具,把它拖拽到合适的大小。
3)复制3个控件,可以选中该控件然后按住Ctrl键移动鼠标,也可以直接复制粘贴。
4)把三个控件从上到下排列整齐。发光颜色依次设置为红、黄、绿,熄灭颜色都设置为灰色或者是透明。设置颜色属性的方法是:在控件上点击鼠标右键,在打开的快捷菜单上选择“属性”选项,打开属性设置对话框。在右下方的“开”或者“关”的颜色框中单击鼠标左键,就会弹出颜色选择窗口,可根据需要选择颜色,也可以选择颜色选择窗口右上角的“T”,来达到透明效果。设置好的交通灯,中间的黄颜色为关闭状态。
;;2、修饰
为了美观,还可以对交通灯进行修饰。在控件选板的“修饰”子选板里面选择“平面圆盒”,拖拽到合适大小,然后移至交通灯的后面,这样就制作完成了一组交通灯。把灯??修饰同时选中,单击前面板窗口右上角的“重新排序”键,如图6-10所示,把它们组合起来。;6.2任务1设计控制系统的前面板;调整簇框架的大小;6)簇元素排序:这样操作之后,每个簇中包含有3个布尔控件。簇元素的逻辑顺序与其在簇内的位置无关。右键单击簇外框,从快捷菜单选择“重新排序簇中控件”,查看菜单栏下方所显示的数值。需要将哪一个簇元素设置为当前的数值顺序,就用鼠标点击那个簇元素,就可将其设定为所指定的逻辑顺序。完成后,点选;若要需要设定,点选。包含簇中元素的顺序,最好与外部硬件资源所对应的交通灯相一致:东西方向顺序是红、黄、绿;南北方向顺序是绿、黄、红。;;6.3.3制作表格;在表格的列首中,填写每一列所代表的信号灯。E代表东西方向、N代表南北方向;R、Y、G分别代表红、黄、绿;逻辑信息,“1“表示真即灯亮,“0‘’表示假,即灯灭;时长(s)表示每种状态所保持的时间。表格中一行表示某一个时刻6个LED灯的状态及时长。
表格中存放的数据类型为字符串型的二维数组,其在程序框图中的接线端子的颜色为枚红色。作为列首的提示信息,不会直接出现在接线端子所传递的数据中。若想在程序框图中引用表格列首的信息,需要使用属性节点来实现。;6.3.1交通灯控制逻辑设计
上一节中制作了表格文件表格内的数据为字符串,而字符串数据不方便做数值运算。在LabVIEW中很多数都可以以多种类型的运算,如加减乘除可以针对标量,也可以针对数组、簇和波形等数据。同样的,类型的数据类型转换函数既可以针对单个标量。也可以作用于整个数组。;函数“十进制数字符串至数值转换”可以完成字符串转换为数值。选择路径:程序框图→函数选板→字符串→字符串/数值转换→十进制数字符串至数值转换。转换后得到的整形数组中,包含有两组信息:一组为交通灯的逻辑信息,一组为延时信息。需要将这两组信息分离。;如何实现两组信息的分离?
可使用函数“删除数组元素”来完成信息的分离。
将二维数组连接至函数的“N维数组”连线端口,列的索引设定为6,含义为将数组中第7列数值删除(即删除时长信息)。
函数输出的两个数组:“已删除元素的数组子集”为逻辑序列二维数组;“已删除的部分”为时长信息一维数组。
时长信息给等待函数,控制每次循环执行的时长,即每个状态保持的时长。;逻辑序列二维数组是数值型,需要转换成布尔型,原因是,在数字量输出(DO过程)时,要求数据格式为布尔量。数值量转换成布尔量可以用比较选板上的函数来实现:数值“1”大于0为真,输出T;数值“0”大于0为假,输出F。这样运算之后,“100000”就变成