公司徽标项目3、交通信号灯控制系统设计目录任务3-1霓虹灯控制任务3-2数字式显示器控制任务3-3交通信号灯控制系统公司徽标霓虹灯控制实训电子与电气工程学院虚拟仪器课程小组目录教学目标1项目背景2项目实施3项目评价4项目总结51、教学目标能力目标能借助ELVIS平台实现数字输入与输出控制;学会软数字信号记录仪、数字信号监视仪的使用;能较熟练地编制和调试LabVIEW程序;1、教学目标知识目标学会循环结构和移位寄存器的使用;学会数组的创建及其常用数组函数的使用;1、教学目标素质目标培养学生综合职业能力如:能够对所从事的工作承担责任、具备独立工作能力、自学能力、团队合作、文献检索、口头表达、5S管理素养2.项目背景演示模拟现实生活中的霓虹彩灯,控制彩灯闪烁时间及顺序。实现一个8个彩灯循环闪烁的控制系统。控制要求如下:单向自动控制;反向自动控制;多功能综合控制。相关知识介绍数组概述(定义、创建方法);常用数组函数的使用;NIELVIS的DI/O函数的使用;数组定义数组是同类型元素的集合。一个数组可以是一维或者多维,可以通过数组索引访问其中的每个元素。索引的范围是0到n-1,其中n是数组中元素的个数。下图所显示的是由数值构成的一维数组。注意第一个元素的索引号为0,第二个是1,依此类推。数组的元素可以是数据、字符串等,但所有元素的数据类型必须一致。前面板创建各种数组控件;框图程序窗口创建数组常量;利用循环结构的自动索引功能创建数组;创建数组创建数组的方法(1)放置数组框(2)定义数组类型1、在前面板上创建数组创建数组数组元素的显示多维数组创建方法(2种)数组的初始化数组元素尚未定义数组元素赋值与显示常数数组空壳布尔常数数组2、在框图程序中创建数组创建数组创建数组使用函数产生数组:3、其他创建数组方法数组函数选项板数组函数介绍常用数组函数:ArraySize数组大小InitializeArray初始化数组BuildArray构建数组ArraySubset数组子集IndexArray索引数组1.ArraySize(数组大小)函数2.InitializeArray(初始化数组)数组函数3.BuildArray(构建数组)函数例:BuildArray函数的使用。输出一个新数组数组函数若在函数弹出菜单选择ConcatenateInputs项,则函数会将两个数组按输入顺序合并成一个一维数组输出。输出二维数组输出一维数组数组函数4.ArraySubset(数组子集)函数该函数返回数组中从Index开始的长度为length的部分数组元素。例:ArraySubset函数的使用。数组函数5.IndexArray(索引数组)函数用于访问数组中指定位置的元素。数组函数NIELVIS的数字I/O利用LabVIEW和带有数字I/O的DAQ设备,可以方便地实现数字信号的输入与输出。对于产生数字信号并输出到数据总线上的虚拟仪器可称为数字信号发生器——digitalbuswriter;NIELVIS的数字I/O能够从数据总线上读取各条数据线的高低电平状态的虚拟仪器可称为数字信号监控仪——digitalbusreader;NIELVIS实验台包含DAQDIO线以提供数字输入和数字输出的电路。在LabVIEW中可以利用ELVIS中一些现成的函数模块进行自定义,来实现对数字信号的输入与输出控制,下图为一个数字输入的简单应用,包括初始化、读取数字数据、最后关闭DIO几个模块,初始化主要是进行DAQ设备号的设置和数字操作的配置。NIELVIS的数字I/ONIELVIS的数字I/O下图为一个数字输出的简单应用,包括初始化、输出数字数据、最后关闭DIO几个模块。项目实施1、硬件接线:原型面包板DO0~DO7与LED0~LED7分别对应连接;2、打开ELVIS设备电源,启动ELVIS界面,分别用DigitalbusReader和DigitalbusWriter观察数字输入输出变化;3、编程实现首先从DI0~DI7端口读取数字信号,然后再将数字信号输出到DO0~DO7端口;项目实施4、设计霓虹彩灯,控制彩灯闪烁时间及顺序;利用循环、数组及相关函数设计实现软件彩灯循环功能;改变彩灯循环方式;学习使用硬件数字输入输出的相关函数;编程控制外部硬件八盏灯循环点亮;增加左右移选择控制;项目评价1、项目实现过程中的注意事项;2、项目完成情况评价;项目总结本次实训主要学习了软数字信号记录仪、数字信号监视仪的使用,介绍了在LabVIEW中如何创建数组和常用数组函数的使用,并利用NIELVIS的数字I/O来实现霓虹彩灯的闪烁控制。公司徽标数字式显示器控制实训电子与电气工程学院虚拟仪器课程小组目录1.教学目标2.项目背景3.项目实施4.项目验收5.项目总结1、教学目标能力目标能熟练使用分支结构、循环结构、顺序结构进行程序设计;能借助数据采集助手进行模拟量信号采集;能借助ELVIS平台实现数字量输入输出控制;能根据设计要求进行项目方案设计、编制、调试运行;1、教学目标知识目标掌握循环结构、分支结构、顺序结构的使用;掌握簇及簇函数的使用;模拟量的数据采集方法;数据采集助手;1、教学目标素质目标培养学生综合职业能力如:能够对所从事的工作承担责任、具备独立工作能力、自学能力、团队合作、文献检索、口头表达、5S管理素养2.项目背景根据外部电压信号进行实时采集、数据分析处理,并实现数字式显示控制。演示相关知识介绍1、什么是簇?2、簇的创建3、簇的顺序4、簇函数的使用簇(Clusters)使用簇可以为编程带来以下便利:把程序框图中不同位置,不同数据类型的多个数据攒在一起,减少了连线的混乱;子程序有多个不同数据类型的参数输入输出时,把它们攒成一个簇可以减少连接板上的端口的数量;某些控件和函数必须要簇这种数据类型的参数;簇是由不同类型的数据元素组成的一种数据类型。簇(Clusters)1、在前面板上创建簇簇的创建(a)混合簇控制件(b)混合簇指示器(c)数值型簇控制件a.混合簇控制端点b.混合簇指示端点c.数值型控制簇在程序框图中的端点图标簇的创建先从Cluster函数子模板中选择簇的空壳放到程序框图中,然后根据需要选择一些数据常量放到空簇中。簇的创建2、在程序框图中创建簇常量注意在一个簇对象中,簇的成员可以是任意的数据类型,但必须同时是控制件或同时是指示件,不能同时包含两种。一个簇是控制簇还是指示簇,取决于放进簇中的第一个元素。簇控件和簇指示器的转换簇的创建簇的顺序簇的成员有一种逻辑上的顺序,这是由它们放进簇的先后顺序决定的,与它们在簇中摆放的位置无关。改变簇成员逻辑顺序的方法是在簇上弹出快捷菜单,选ReorderControlsInCluster…弹出对话框,为簇成员设置新的逻辑顺序。Unbundle解捆簇函数UnbundleByName按名称~Bundle捆绑簇函数BundleByName按名称~BuildClusterArray建立簇数组函数Index&BundleClusterArray插接簇数组函数ArrayToClusterClusterToArray簇函数Unbundle(解捆)函数例:将一个簇中的各个元素值分别取出。Bundle(捆绑)函数例:Bundle函数的使用。用名称捆绑与分解簇如果不需要汇集或分解整个簇,而仅仅需要对其一、两个元素操作。这时可以用名称来捆绑与分解簇。在Cluster工具模板中除了Bundle及Unbundle功能外,还提供有BundleByName和UnbundleByName功能。它们允许根据元素的名称(而不是其位置)来查询元素。与Bundle不同,使用BundleByName可以访问所需要的元素,但不能创建新簇;它只能重置一个已经存在的簇的元素,同时必须给BundleByName图标中间的输入端子一个输入以申明要替换其元素的簇。Unbundle可返回指定名称的簇元素,不必考虑簇的序和大小。数组和簇的互换由于LabVIEW包括的关于数组的操作功能多于簇,有时需要将数组和簇进行互相转换。将数组变为簇(或者相反)很方便。例如,前面板上有一个多按钮的簇,如果要颠倒这些按钮值的序。Reverse1DArray功能正好可用,但是它仅可用于数组。可以使用功能ClustertoArray将簇转换为数组,使用Reverse1DArray切换开关的值,最后再利用ArraytoClaster变换回簇。3、项目实施数字式显示器控制设计具体要求:每隔0.5秒采集一次可调电源SUPPLY+的电压并将电压值在前面板显示,同时(取整后)用一个外部数码管显示,当电压超过9V时数码管显示“E”,同时外部LED报警灯亮。前面板设计要求:设计开始按钮和停止采集按钮,电压值数字显示和变化趋势图显示,最大、最小、平均电压值显示、超过9V报警灯显示。功能加强:按下开始按钮:先驱动数码管(所有段)闪烁3下、再开始采集,每次采集到新的数据再送数码管显示前先驱动数码管暗一下。程序运行过程中根据当前状态显示相关的提示信息(如:请按下开始按纽、正在准备采集请稍候………………)。3、项目实施1Step1:实现软件手动选择数字,数码管软硬件显示设计;2Step2:采集外部supply+电压,手动调节Supply+外部硬件调节旋钮,实现对应数码管显示;3Step3:对采集的电压进行数据分析,实现历史趋势图显示,最值分析、越限报警等功能;3、项目实施—Step1根据设计要求实现软件手动选择数字,数码管软硬件显示设计;Step1采集外部supply+电压,手动调节Supply+外部硬件调节旋钮,实现对应数码管显示;3、项目实施—Step2Step2对采集的电压进行数据分析,实现历史趋势图显示,最值分析、越限报警等功能;3、项目实施—Step3Step34、项目评价1、项目实现过程中的注意事项;注意数据类型转换;动态数据类型转换;簇与数组的转换;2、项目完成情况评价;5、项目总结通过本次实训要求学生掌握基于NIELVIS平台的模拟信号采集和数字I/O控制方法,能根据设计要求进行项目方案设计、编制、调试运行。公司徽标交通信号灯控制实训电子与电气工程学院虚拟仪器课程小组《虚拟仪器应用技术》本课程项目教学已进行到项目3交通信号灯控制系统设计任务3-1霓虹灯控制实训能借助ELVIS平台进行数字量输入与输出的控制数字量输入输出控制操作演示、学生独立练习、结果展示并点评程序提交实训报告任务3-2数字式显示器控制实训能熟练使用分支结构、循环结构、顺序结构进行程序设计分支结构、顺序结构、循环结构设计操作演示、学生独立练习、结果展示并点评程序提交实训报告任务3-3交通信号灯控制能进行基本的数字对象状态分析,能熟练进行较简单的数字对象控制交通信号灯工作状态操作演示、学生独立练习、结果展示并点评程序提交实训报告目录教学目标1项目背景2项目实施3项目评价4项目总结51、教学目标能力目标能进行基本的数字对象状态分析,能熟练进行较简单的数字对象控制;能借助NIELVIS平台实现数字输入与输出控制;知识目标熟练掌握选择、顺序、循环结构和循环结构的自动索引功能的使用;掌握数组与数组函数、簇与簇函数使用;掌握簇与数组的灵活转换;素质目标培养团队合作能力;培养学生调试、分析和解决问题的能力;培养学生养成良好的职业素质;2、项目背景随着社会经济的发展,城市交通问题越来越引起人们的关注。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。演示3、项目实施Step1Step2Step5设计要求学生讨论Step3Step4方案讨论设计调试项目归纳3.1项目设计要求设计一个智能交通信号灯的控制器,能够实现红绿灯的自动指挥。(1)东西、南北各三盏红、黄、绿灯,交通灯亮灭规律为:初始态:路口东西南北灯均灭;次态1:东西路口的红灯亮,南北路口