资源预览内容
第1页 / 共76页
第2页 / 共76页
第3页 / 共76页
第4页 / 共76页
第5页 / 共76页
第6页 / 共76页
第7页 / 共76页
第8页 / 共76页
第9页 / 共76页
第10页 / 共76页
亲,该文档总共76页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
实验五 图形化显示数据 图表和图形5.1 波形数据(Waveform) 5.2 Chart趋势图 5.3 Graph图表 5.4 三维图形(3D Graph) 5.5 Picture图形控件l 图形显示对于虚拟仪器面板设计是一个重要的内容。在LabVIEW的图形显示中Graph和Chart是两个基本的概念。l Chart是将数据源(例如采集得到的数据)在某一坐标系中,实时、逐点地显示出来,它可以反映被测物理量的变化趋势,例如显示一个实时变化的波形或曲线。l Graph则是对已采集数据进行事后处理的结果。它先将被采集数据存放在一个数组之中,然后根据需要组织成所需的图形显示出来。它的缺点是没有实时显示,但是它的表现形式要丰富得多。例如采集了一个波形后,经处理可以显示出其频谱。LabVIEW的Graph子模板中有许多可供选用的控件ChartGraph波形( Waveform )* XY* 强度图图( Intensity )* 数字图图( Digital )*三维维曲面( 3D Surface )*三维维参变变量( 3D Parametric )*三维维曲线线 (3D Curve)*图形控件(Graph)子模板及其控件子模板5.1 波形数据(Waveform)5.1.1 波形数据控件 为了方便地显示波形,LabVIEW专门预定义了波形 数据类型。它实际上就是按照一定格式预定义的簇, 在信号采集,处理和分析过程中经常会用到它。 5.1 波形数据(Waveform)l 波形数据控件携带的数据包含了时间波形的基本信息,因此可以直接作为Chart和Graph的输入。横坐标代表时间,纵坐标代表Y值 5.1 波形数据(Waveform)5.1.2 波形数据操作函数 虽然波形数据是一种预定义格式的簇,但是必须用专用的波形数据操作函数才能对它进行操作,其中某些操作函数与簇的操作函数非常类似。 当然并不是只有满足波形数据控件定义的数据格式才能在波形图中显示,其他的数组和簇类型也能在波形图中作为图形显示。 波形数据的操作函数位于函数的Programming-波形子模板下 l 波形数据控件为控件新式I/O中的波形和数字波形。其中,波形代表一般的波形控件,数字波形专门用于显示0/1数字波形图。l 将波形数据控件放在前面板后,点击鼠标右键,选择显示项标签,则可以看到该簇控件所有的元素:t0、dt、Y、属性(attributes)。l t0代表波形的起始时间,数据类型为Time Stamp;dt代表波形相邻数据点的时间间隔,单位为秒,数据类型为双精度浮点型;Y代表数据数组,默认为双精度浮点型,可以通过右击数组元素并选择Y数组表示法,选择数组数据类型;属性(attributes)用来携带一些注释信息,用户可自定义数据类型为变量类型。l 数据控件携带的数据包含了时间波形的基本信息,因此可以作为 Chart和 Graph的输输入。波函数形数据操作l 虽然波形数据是一种预定义格式的簇,但是必须用专用的波形数据操作函数才能对它进行操作,其中某些操作函数与簇的操作函数非常类似。波形数据的操作函数位于函数编程波形模板上,如图所示。l 获取波形数据l 类似于簇函数中的按名称解除捆绑(Unbundle By Name)函数,通过该函数可以获得披形数据的各个组成元素。l 创建波形类似于簇函数中的按名称捆绑(Bundle By Name)函数。通 过该函数可以将波形数据的各个元素绑定在一起。若 Wavefrom端子没有接入,则根据绑定的元素创建一个新的 Wavefrom 。若Waveform有输入,则对输入的Wavefrom 进行修改。l 设置和获得波形属性l 波形的属性格式为name和value。其中name为字符串,value为Variant数据类型,因此可以将任何类型数据直接接入。第一个函数Set Waveform Attribute可以用来添加或修改波形的属性,第二个函数可以用来获得属性内容。波形数据举例5.1 波形数据(Waveform)l 波形数据操作函数举例5.2 Chart趋势图l Chart可以将新测得的数据添加到曲线的尾端,从而反映实时数据的变化趋势,它主要用来显示实时曲线。 波形Chart简介l 波形Graph在接收到新数据时,先把已有数据曲线完全消除,然后根据新数据重新绘制整条曲线。 新数据被接续在旧数据的后面。l Chart的数据并没有事先存在一个数组中,它是实时显示的,为了能够看到先前的数据,Chart控件内部含有一个显示缓冲器,其中保留了一些历史数据。这个缓冲器按照先进先出的原则管理,其最大容量是1024个数据点。5.2 Chart趋势图 5.2.1 波形趋势图(Waveform Chart) 对于标量数据,Chart图表直接将数据添加在曲线的 尾端。 5.2 Chart趋势图 对于一维数组数据,它会一次性把一维数组的数据添加 在曲线末端,即曲线每次向前推进的点数为数组数据的 点数。 5.2 Chart趋势图l 若要显示多条标量曲线,只需要用簇的Bundle函数将它 们绑定在一起作为输入即可。 5.2 Chart趋势图l 对于二维数组,缺省情况下是每一列的数据当作一条一 维数组曲线。 5.2 Chart趋势图l 技巧: 若想将曲线截图,可以通过右击曲线选择数据操作 复制数据将曲线图复制到剪切板上。5.2 Chart趋势图5.2.2 定制Chart显示样式 分栏显示多条曲线。 右击Chart选择Stack Plots 5.2 Chart趋势图5.2.2 定制Chart显示样式 设置更新模式 右击Chart选择高级-刷新模式 可以设置曲线的更新 模式。 Strip Chart模式:曲线填满显示区后曲线通过左移来 更新曲线。 Scope Chart模式:曲线填满显示区后直接清空显示区 重新开始从左向右增长曲线 在Sweep Chart模式:通过一条指示红线从左向右刷 新数据 堆叠式图区(Stack Plots)在相同的纵坐标下,由于各种测量信号的差异,将几条曲线 显示在同一个图区有困难时,可以组织出一种纵坐标相同 ,而有各自横坐标的堆叠式图区。5.2 Chart趋势图 5.2.3 带时间轴的实时曲线练习1 波形Chart数据显示波形Chart数据显示中用到的部分功能函数波形Chart数据显示前面板Chart的独有控件 滚动条(Scrollbar)它直接对应于显示缓冲器,通过它可以前后观察缓冲器内任何位置的数据。 数据显示(Digital Display)选中它,可以在图形右上角出现一个数字显示器,这样可以在画出曲线的同时显示当前最新的一个数据值。5.3 Graph图表l Graph和Chart的区别在于Graph是一次性将现有数据绘图,在绘图之前先自动清空图表,而不会将新数据添加到曲线的尾端。l 根据显示方法,Graph又分为波形图、XY曲线图、强度图、数字时序图和三维图。 5.3 Graph图表l 5.3.1 定制Graph属性5.3 Graph图表l 右击Graph控件可以看到该控件有很多属性可以设置。选择Visible Items可以看到关于该控件的很多辅助选项。选择这些选项可以使它们都可见,如下图所示。 l 曲线图例可用来设置曲线的各种属性,包括线型(实线、虚线、点划线等)、线粗细、颜色以及数据点的形状等。l 图形工具选板可用来对曲线进行操作,包括移动、对感兴趣的区域放大和缩小等。l 游标图例可用来设置光标、移动光标,帮助你用光标直接从曲线上读取感兴趣的数据。l 标尺图例用来设置坐标刻度的数据格式、类型(普通坐标或对数坐标),坐标轴名称以及刻度栅格的颜色等。5.3 Graph图表Waveform Graph 5.3.2 Waveform Graph Waveform Graph可以有多种数据输入类型:一维数组,二维数组,簇,簇数组,波形数据。它在Controls Palette中的位置为Modern-Graph-Waveform Graph。5.3 Graph图表Waveform Graph1、一维数组作为输入 当输入数据为一维数组时,Waveform Graph直接将一维数组画成一条曲线,纵坐标为数组元素的值,横坐标为数组索引。 5.3 Graph图表Waveform Graph2、二维数组作为输入 当输入数组为二维数组时,缺省情况下每一行的数据对应一条曲线,即曲线的数目和行数相同。 5.3 Graph图表Waveform Graph 3、簇作为输入 簇作为输入时需要指定三个元素:起始位置x0、数据点间隔dx和数组数据。 5.3 Graph图表Waveform Graph4、簇数组作为输入 一维簇数组也可以直接作为Graph的输入,此时相当于x0为0,dx为1 5.3 Graph图表Waveform Graph5、波形数据作为输入 由于波形数据所携带的数据横轴为时间,因此需要将Waveform Graph的横轴设为时间轴。 波形Graph的数据格式使用波形Graph显示 波形数据类型数据正弦和方波波 型增加偏移量输入后的 正弦和方波波型练习2 波形Graph数据显示波形Graph数据显示的前面板设定波形Graph的属性在波形Graph上弹出快捷菜单,可以配置Graph的一些基本属性。 栅格(Grid)和小栅格(Mini-grid); 刻度图例(Scale Legend) 游标(Cursor) Graph模板(Graph Palette) 曲线图例(Plot Legend)练习3 Chart和Graph的比较 创建一个VI,用Chart和Graph分别显示40个随机数产生的曲线,比较程序的差别l 显示的运行结果是一样的。但实现方法和过程不同。在流程图中可以看出,Chart产生在循环内,每得到一个数据点,就立刻显示一个。而Graph在循环之外,40个数都产生之后,跳出循环,然后一次显示出整个数据曲线。从运行过程可以清楚地看到这一点。l 值得注意的还有For循环执行40次,产生的40个数据存储在一个数组中,这个数组创建于For循环的边界上(使用自动索引功能)。在For循环结束之后,该数组就将被传送到外面的Graph。仔细看流程图,穿过循环边界的连线在内、外两侧粗细不同,内侧表示浮点数,外侧表示数组。5.3 Graph图表XY Graph 5.3.3 XY Graph 当我们需要画的曲线是由(x, y)坐标决定的时候,我们就需要采用XY Graph。 其实Waveform Graph在一定意义上也是XY Graph,但是它的X轴必须是等间距的,而且不可控制。 练习4 利用XY Graph构成利萨育 图形如果控制X、Y方向的两个数组分别按正弦规律变化(假设其幅值、频率都相同),如果它们的相位相同,则利萨育图形是 一条45度的斜线,当它们之间相位差90度时为圆,其他相位差是椭圆。5.3 Graph图表XY Graph1、XY两个一维数组绑定为簇作为输入 这是最简的一种情形,Bundle函数的输入的第一个数组为X Array,第二个数组为Y Array。绑定为簇后可以直接输入,也可以将多个簇Build为一维数组输入实现多条曲线。 5.3 Graph图表XY Graph2、坐标点簇数组作为输入 该方式将各个点的坐标绑定为簇然后作为簇数组输入 ,和直接将XY数组绑定为簇输入效果一样。但是后 者不一定需要XY数组的大小一致,它会自动将大的数组裁剪。 5.3 Graph图表XY Graph3、时间作为X轴利用XY Graph实现历史曲线5.3 Graph图表XY Graph4、Express XY Graph Express XY Graph采用了LabVIEW的Express技术,将Express XY Graph放置在前面板上的同时,在程序框图中会自动添加
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号