- 1.20 MB
- 2022-04-29 14:27:43 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
'虚拟仪器-labview-课件PPT-6
波形显示是LabVIEW程序设计最常用的前面板之一。LabVIEW波形显示控件主要分为两大类:事后记录图(Graph)和实时趋势图(Chart)。它们的主要区别在两者数据组织及波形的刷新方式不同。对事后记录图,基本数据结构为数组,构成数组的全部测量数据一次显示完成。对实时趋势图,基本数据结构是数据标量或数组。新接收的数据接在原有波形后面连续显示。即使是数组,也是连续不断的一个数组一个数组的显示。
6.1.2控件使用方法例6.1.1用波形显示一次30点的温度测量结果。
例6.1.2显示电压测量结果。电压采样从10ms开始,每隔5ms采集一个点,共采集30点;信号采样前经过了10倍的衰减。要求显示实际采样时间及电压值。注意:打包的顺序不能错,必须以X0,DetaX,数组的顺序进行。
例6.1.3测量电压信号,并进行滤波(以前3点的平均值为滤波值)。要求共测30点,同时显示实际信号波形和滤波信号波形。注意:显示N条波形必须有N组数据。数据数组的组织根据不同需求而定。
例6.1.4在上例的基础上,要求显示每个点的采样时间(间隔5ms)和开始采样数据。
例6.1.5在一次实验中,进行了两个量的电压测量,但在相同的时间内一个采集了20个点,另一个采集了40个点。用波形控件显示测量结果。采用例6.1.3的方法显示结果如下:
例6.1.6在上例的基础上,假设两个信号有相同的起始时间X0和相同的时间间隔DetaX,要求X轴能显示采样时间和开始采样时间。
例6.1.7用一个波形显示控件来显示两个测量信号结果。设两个信号的测量次数以及起始时间X0和时间间隔DetaX均不同。
6.1.3波形显示控件外观改变波形属性有三种方法:①选择弹出菜单中的命令来实现;②应用控件自带控制模板实现;③在程序中设置属性节点值的方法实现。
1波形显示控件弹出菜单的设置。在波形显示控件的显示面板上单击鼠标右键,弹出波形显示控件的设置菜单如下:
(1)X坐标选项(XScale)a.MarkerSpacing:用来设置坐标刻度。缺省情况下为Uniform,X轴刻度根据数组长度自动标注。当选择位Arbitrary时,仅显示第一个点和最后一个点的刻度。b.AddMarker和DeleteMarker:用于在Arbitrary模式下增加和删除刻度。c.Formatting:用于设置X刻度的各种属性,如网格线的颜色、X0、DetaX等的缺省值。当选择Formatting项时,会弹出设置对话框,如下:
d.style:X轴网格的标注风格。
e.mapping:选择刻度递增方法,linear缺省,为线性增加,log按指数增加。
f.AuotScale:用于坐标自动设置,缺省时为自动设置。g.LooseFit:用于在取整。LooseFit选项有效时(缺省设置),X轴等刻度的划分,这时如果数据量不是单位长度的整数倍,则X轴长度与数据长度是不等的。当LooseFit选项无效时,则要求X轴长度精确地与数据长度一致。h.VisibleScaleLabel:用于坐标名称显示的设置,缺省为不显示。(2)Y坐标选项(YScale)设置方法与XScale类似。
2.波形显示控件控制模板的使用。在波形显示控件的显示面板上单击鼠标右键,在弹菜单中选择VisibleItems→ScaleLegend,则会在图形控件下方显示刻度调整控件。如选择VisibleItems→GraphPalette,则会在图形控件下方图形调整模板。→
(1).:是AutoScaleX和AutoScalY的快捷图标,缺省时为有效。当其无效时,可改变XY轴的Lable。(2).:这是设置X、Y轴刻度数字标度方式的快捷键,其选项内容与XScale→Formatting→Format&Precision一样。(3).:使用该工具可以在显示区内随意拖动波形。(4).:当手工具有效时,单击该工具可取消手工具的有效状态。
(5).:波形缩放工具。当用赋值工具单击它时,会弹出波形缩放的选择项。各选项功能如下:a.矩形缩放;b.水平缩放;c.垂直缩放;d.取消缩放;e.以一个点为中心放大;f.以一个点为中心缩小。
3.波形设置。单击波形显示控件的右上方的波形图标,会弹出波形曲线的线型、颜色和填充模式等属性菜单,如下图:
①CommonPlots:图形表示方法。提供了光滑曲线、离散点图,数据点直接连接以及直方图和填充图等六种形式。②Color:设置曲线颜色。
③LineStyle:提供数据连线类型,如实线、虚线、点划线。④LineWidth:设置连线线宽。
⑤Anti-Aliased:图形加亮。⑥BarPlots:选择直方图的绘制方式,包括水平直方图和垂直直方图。⑦FillBaseLine:选择填充基线,有四种选择:无填充、Y=0、Y=+∞、Y=-∞。
⑧Interpolation:数据点之间的连线方式,如直线或折线,或不连线。⑨Pointstyle:数据点的形状,如实心、空心、园点、方点等。
6.2实时趋势图控件实时趋势图与波形显示控件的面板不同:①它的X轴只有起始和结束位置有刻度;②实时趋势图控件的输入是一个双精度浮点数变量,而波形显示控件的输入是一个双精度浮点数数组。实时趋势图控件内置有一个1K的显示缓冲区,决定了最大显示数据长度为1024。实时趋势图控件最适合于实时测量中的参数监控;而波形显示控件适合用于事后测量数据的分析。
下图是实时趋势图控件的典型前面板结构及其端口。
6.2.1实时趋势图控件的使用方法例6.2.1用WaveformChart实时监测一个温度测量。
如果需要控件一次接收一部分数据,框图程序如:
例6.2.2用WaveformChart显示两个测量结果的波形。方法1:将每种测量的一个点打包在一起,然后把该数据包送去显示;方法2:先将单个点打包,然后将数据包组成一个数组,再送至控件显示。
6.2.2实时趋势图控件的外观定制实时趋势图的外观定制与波形显示控件的菜单设置及用法大部分是一致的。下面介绍实时趋势图控件的一些特殊设置。1.数字显示(VisibleItems→DigitalDisplay)选择该项后,控件将在前面板上附加一个数字指示器,动态地显示最新数据的大小。2.滚动条(VisibleItems→Scrollbar)该选项有效后,控件将在前面板上附加一个滚动条,可以利用滚动条查看缓冲区内如何位置的一段波形。
3.波形刷新模式(Advance→UpdateMode)选择该提供了3种波形刷新方式①Strip:满屏后,连续显示;②Scope:满屏后,清屏刷新;③Sweep:满屏后,不清屏刷新;4.历史记录长度(ChartHistoryLength)用于设置缓冲区的大小,缺省为1024点。
6.3XY波形控件(XYGraph与ExpressXYGraph)WaveGraph的Y轴对应实际的测量数据,X轴对应测量点的序号,适合描述等间隔数据序列。对一类Y值随X变化的曲线,WaveGraph不适合。为此,LabVIEW设计了XYGraph控件。一般XY控件前模板和端口如下图:
ExpressXYGraph控件前模板和端口如下图:
5.多层图(StackPlots)在一个显示控件下显示多个图形窗口,每个波形的Y轴可单独设置,X轴共有。
与WaveGraph相同,XYGraph控件也是事后波形记录。不同的是XYGraph控件能反映测量点X、Y值的变化。因此,XYGraph控件的输入数据结构是由两个数组打包构成的簇,簇的每一对数据对应一个显示数据点的X、Y坐标。下面通过例程介绍XYGraph控件的使用方法。
例6.3.1用输入作XYGraph的X轴,用输出作XYGraph的Y轴,观察输入输出之间的关系。XYGraph的X、Y轴都是受控的,所以要求有两组数据输入,关键是如何来组织两组数据。
例6.3.2用一个输入控制两个输出,用XYGraph显示输入输出之间的关系。
6.4密度图形显示控件(IntensityGraph)在前面介绍的WaveformGraph、WaveformChart和XYGraph都是用于描绘二维数据的,当需要显示三维数据时,如平面上各点温度值的发布,就需要用到密度图。控件前模板和端口如下图:
6.4.1密度显示控件的使用密度图的显示区域分为一个个单元,每个单元对应于二维数组的一个索引,而每个单元的颜色表示一个数组成员的数值。从图中可以看出,二维数组的索引初始值对应数据显示区的左下角,数组每一列对应数据显示的一行;数组每一行对应数据显示的一列。
例6.4.1密度显示控件应用举例。
6.4.2密度显示控件的外观设置密度图显示控件的外观设置与WaveGraph大体类似,如光标的设置、坐标轴的设置等。不同之处是密度图显示控件增加了Z轴的设置。Z轴除了颜色的设置外,还有通用的坐标轴设置。密度图显示控件用来表示平面内某种量(如温度场、电磁场等)是最适合不过的。但它不具有三维数据的代表性,且显示结果不具有三维的立体感。
6.5密度趋势图控件(IntensityChart)与IntensityGraph控件一样,IntensityChart也是用一个二维的显示结构来表达一个三维的数据结构,它们之间的主要区别在于图形刷新方式不同,也就是Graph与Chart的区别。
例6.5.1密度趋势图控件程序设计。
6.6数字波形图与混合信号波形图6.6.1数字波形用来显示数字信号。波形控件如下:
例6.6.1以数字量的形式显示一个8位整形数数组的数据
6.6.2混合信号波形用来显示模拟和数字混合信号。波形控件如下:
例6.6.2显示一个数字与模拟信号波形
6.7三维图形显示(3DGraph)用来显示三维观察数据,如:联合时频分析、飞行器空间轨迹的研究等。LabWIEW提供了3种3D图形表示方法。6.7.1三维表面图(3DSurfaceGraph)用于绘制一些相对简单的3维空间表面。在程序前面板上放上3DSurfaceGraph控件后,图形代码自动将它的端口连接到描绘三维控件表面的3DSurfaceVI上。该VI位于Graphic&Sound>3DGraphProperties子模板中。
以下是3DSurfaceGraph控件放入后的状态。
例6.7.1在三维空间描绘一个正弦曲面。
6.7.2三维参数图(3DParametricGraph)用于绘制一些更复杂的3维空间图形。使用方法与3DSurfaceGraph类似。例6.7.2在三维空间描绘一个园环曲面。
6.7.3三维曲线图(3DCurveGraph)用于绘制一些3维空间曲线。使用方法与3DSurfaceGraph类似。例6.7.3在三维空间描绘一条正弦曲线。
6.8图片显示(Picture)图片显示控件最具有普遍意义的是Picture.ctl,利用它和Graphic&Sound>PictureFunctions函数子模板中的VI,可以画出任意图形,且可以对几乎如何类型的图形进行显示。例6.8.1利用Picture.ctl画图。
例6.8.2利用Picture.ctl显示图片。
实验五波形显示1.在一个Graph中用2种不同的线宽显示一条正弦曲线和一条余弦曲线。每条曲线长128点。正弦曲线x0=0,△x=1,余弦曲线x0=2,△x=10。2.在一个Chart图中显示3条曲线,分别用红、绿、蓝3种颜色表示范围0~1、0~5和0~10的3个随机数。3.用XYGraph显示一个半径为10的园。4.产生一个10行10列的二维数组,数组成员为0~100之间的任意整型数,用密度图显示出来。5.尝试使用Picture.ctl控件画图和显示图形。
面向对象(OOD)基本概念抽象封装类对象
抽象所谓抽象就是舍弃被研究对象中个别的、非本质的、或与研究主题无关的次要特征,而抽取与研究有关的特征,形成对所研究对象正确的、简明扼要的认识。
封装封装也称为信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据的内部,尽可能隐藏内部细节,只保留一些外部接口使之与外部发生联系。
对象客观世界是由一些具体的事物构成的,每个事物一般都有自己的一组静态特征和动态特征。把客观世界的这一事实映射到面向对象程序设计中,就把客观事物抽象成为了对象(object)。在面向对象程序设计中,对象具有如下特性:对象标识静态特征(属性)动态特征(方法)
类对象是对具体某个事物的抽象,而类则是对对象的抽象与归纳,即把具有相同特征的一组对象归纳成一类。分类所依据的原则就是抽象。
JAVA中的类类是面向对象程序设计(OOD)的基础,是Java的核心和本质所在。在Java中,所有的语言元素都必须被封装在类中。Java程序是由一个个类定义组成的,编写Java程序的过程实际就是从现实世界中抽象出Java可实现的类并用合适的语句定义它们的过程,这个定义过程包括对类内各种属性和方法的定义,创建类的对象,也包括类间的各种关系和接口的定义。JAVA语言中的类实际包括两种:系统定义的类用户自己定义的类
系统定义的类JAVA系统定义好的类,根据实现的功能的不同,划分为不同的集合—包,所有的包合称为类库。要在程序中使用某个系统类,必须使用import语句引入该类所在的包。如:importjava.awt.*;importjava.applet.*;
用户自定义的类系统定义的类主要是实现一些常用的基本功能,但是一些具体的问题还是需要用户通过编写自己的类来解决。因此,JAVA程序设计的过程实际就是用户把客观世界的问题定义为自己的类来解决的过程。
定义一个简单的类一个简单的类peopleclasspeople{Stringgender;floatheight;floatweight;}注意:类声明只是创建一个模板(或类型描述),它并不会创建一个实际的对象,因此,上述代码不会生成任何people类型的对象实体。
创建对象用前面定义的people类创建一个对象lilyJAVA中使用new关键字创建对象,对象的创建可以使用以下两种方式:peoplelily;lily=newpeople();peoplelily=newpeople();以上语句执行后,lily就是people的一个对象(实例);它将具有“存储意义上”的真实性。
对象的初始化所谓对象的初始化就是为这个对象的数据成员赋初值。lily.gender=“girl”;lily.height=1.6f;lily.weight=45.0f;
使用对象当一个对象被创立后,这个对象就拥有了自己的数据成员和方法,我们可以通过引用对象的数据成员来使用对象。以前面创建的对象lily为例:System.out.println(“lilyisa:”+llily.gender);System.out.println(“lily身高:”+llily.heght+“m”);System.out.println(“lily体重:”+llily.weight+“kg”);
使用对象对象的数据成员、对象的方法的引用方式如下:对象名.成员名如:lily.height;对象名.方法名(参数表)如:lily.run();
类的定义类的基本定义方法如下:[修饰符]class类名[extends父类][implements接口名]{类成员变量声明类方法声明}
1、关于类头—classclass关键字,在它的后面跟新定义的类的类名。父类名跟在extends关键字后面,用来说明当前类是哪个已经存在类的子类,存在继承关系—继承是类与类之间的一种非常重要的关系。
1、关于类头—类的修饰符类的修饰符用于定义对该类的访问级别,通常有public、final、abstract等。
1、关于类头—接口名接口名跟在implements关键字后面,用来说明当前类中实现了哪个接口定义的功能和方法。接口是Java语言用来实现多重继承的一种特殊机制,我们将在后面详细介绍它的使用方法。
2、关于类体类体的定义要包括类的具体内容,包括类的属性与方法。[修饰符]class类名[extends父类][implements接口名]{类成员变量声明类方法声明}
构造方法创建对象后,通常要为对象赋初值—即对象的初始化,为简化这一步操作,JAVA提供了一种特殊的方法—构造方法。
构造方法实例classpeople{floatheight;floatweight;people(floataheight,floataweight){height=aheight;weight=aweight;}}publicclasssample{publicstaticvoidmain(Stringargs[]){peoplelily=newpeople(1.60f,45.0f);System.out.println("lily"sheightis:"+lily.height+"m");System.out.println("lily"sweightis:"+lily.weight+"kg");}}
构造方法的特点构造方法的方法名与类名相同。不能对构造方法指定返回类型,系统指定了隐含返回类型。构造方法不能由编程人员显式地直接调用。在创建一个类的新对象的同时,系统会自动调用该类的构造方法为新对象初始化,构造方法总是和new运算符一起被调用。构造方法和普通方法一样,可以被重置—即一个类可以定义多个具有不同参数的构造方法。一个类可以不定义构造方法,但实际系统会为这个类定义一个缺省的构造方法,这个构造方法没有任何参数和语句。构造方法可以继承。
构造方法的重置实例classpeople{floatheight;floatweight;Stringgender;people(floataheight,floataweight){height=aheight;weight=aweight;}people(floataheight,floataweight,Stringagender){height=aheight;weight=aweight;gender=agender;}}publicclassgouzao{publicstaticvoidmain(Stringargs[]){peoplelily=newpeople(1.60f,45.0f);peoplejack=newpeople(1.70f,60.0f,"boy");System.out.println("lily"sheightis:"+lily.height+"m");System.out.println("lily"sweightis:"+lily.weight+"kg");System.out.println("jack"sheightis:"+jack.height+"m");System.out.println("jack"sweightis:"+jack.weight+"kg");System.out.println("jack"sweightisa"+jack.gender);}}
构造方法的作用对象初始化引入更多的灵活度(变量赋值或更复杂的操作)
类的修饰符—访问控制缺省访问控制publicprotectedfinalabstract
类的修饰符—缺省访问控制缺省访问控制(无修饰符),该类只能被同一个包中的类访问和引用,而不可以被其他包中的类使用,这种访问特性又称为包访问性。同样类内的变量和方法如果没有访问控制符来限定,也就具有包访问性。JAVA规定:同一个程序文件中的所有类属于一个包。
类的修饰符—publicpublic(公共的),用public修饰的类称为公共类,公共类不但可以供它同一个包内的类使用,还可供其他包中的类使用。
类的修饰符—protectedprotected(受保护的),用protected修饰的类称为保护类,保护类的成员变量可以被三种类所引用:该类自身、与它在同一个包中的其它类、在其他包中的该类的子类。使用protected修饰符的主要作用是允许其他包中该类的子类来访问父类的特定属性。
类的修饰符—finalfinal(最终的),用final修饰的类称为最终类,最终类是不能被其他类继承的。例:finalclasssample{……}classs1extendssample//错误,sample为最终类,不能被继承。{……}×
类的修饰符—abstractabstract(抽象的),用abstract修饰的类称为抽象类—声明方法的存在而不去具体实现其功能的类,它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。[实例]不能使用abstract类创建对象。用abstract修饰的方法表示抽象方法,抽象方法没有方法体。抽象类可以没有抽象方法,但有抽象方法的类必须定义为抽象类。如果一个子类继承一个抽象类,子类又没有实现父类的所有抽象方法,那么子类也要定义为抽象类,否则编译会出错的。final和abstract不能同时修饰一个类。例:finalabstractsample{……}×
JAVA数据成员JAVA中的数据成员即常说的变量,为了方便区分,我们将类中描述研究对象静态特征的变量称为成员变量,将成员方法中定义的变量称为局部变量。数据成员的声明:(参见第二章)[修饰符]变量类型变量名[=变量初值];
数据成员的修饰符—访问控制publicprivateprotectedstaticfinal
数据成员的修饰符—public公共的变量。
数据成员的修饰符—private用private修饰的属性或方法只能被该类自身所访问和修改,而不能被任何其他类(包括该类的子类),来获取和引用。例:classs1{privateinta;}classsample{……s1o=news1();s1.a=10;//错误。……}×
数据成员的修饰符—protectedprotected成员可以被该类的成员以及其子类的成员访问,它还可以被同一个包内的其他类的成员访问。
数据成员的修饰符—static通常情况下,类的成员必须通过它的类的对象访问,但是可以使用static创建一个成员,它能被它自己使用,而不必引用特定的实例。说明:声明为static的变量为全局变量。static变量被保存在类的公共存储单元中,而不是保存在该类某个对象的内存储区中,因此,该类的任何一个对象访问该变量得到的将是相同的值。例:classsp{staticintn=10;}publicclasssample{……sp.n=sp.n+1;……}
静态初始化器静态初始化器是由关键字static引导的一对大括号括起的语句组。作用是初始化类的静态数据成员。例:staticinta;static{a=10;}
数据成员的修饰符—final用final修饰的数据成员称为最终数据成员,其值在整个程序的执行过程中是不能改变的—标识符常量,最终数据成员可以在申明时进行初始化,也可通过构造方法进行赋值,但不能在程序的其他部分赋值。
JAVA成员方法JAVA中的成员方法与其他成员设计语言中的函数概念相等,也叫成员函数,是具有某种独立功能的程序模块。JAV中的方法包括:系统成员方法用户自定义成员方法
系统类成员方法如:publicvoidpaint(Graphicsg);System.out.print();
方法的声明Java中声明方法的语法如下:[修饰符]返回值类型方法名(参数列表)throws例外名1,例外名2,…{方法体:局部变量声明;语句序列;}JAVA的成员方法用来规定类属性上的操作,实现类的内部功能的机制,同时也是类与外界进行交互的重要窗口。
一个简单的方法实例求两整数之和:intadd(inta,intb){intc;c=a+b;retuenc;}
方法的修饰符publicprivateprotectedfinalstaticabstractnative'
您可能关注的文档
- 最新落花生(2)课件PPT.ppt
- 最新落实医疗核心制度-保证基础医疗质量课件PPT.ppt
- 最新著名心理学实验.课件PPT.ppt
- 最新葉子會變身─異葉水蓑衣異形葉初探討课件PPT.ppt
- 最新葡萄膜炎28课件PPT.ppt
- 最新葡萄膜炎的治疗课件PPT课件.ppt
- 最新蔬菜喷鼻喷鼻课件PPT.ppt
- 最新藏象学说-六腑、奇恒之腑课件PPT.ppt
- 最新藏书票课件PPT课件.ppt
- 最新虚证与补益类中成药(3)课件PPT.ppt
- 最新蚕的生长变化课件PPT.ppt
- 最新虫豸纲introduction of insecta - [教授教化请求][指南]课件PPT.ppt
- 最新蚕豆病PPT素材课件PPT课件.ppt
- 最新蛔虫蛲虫病预防措施PPT课件课件PPT.ppt
- 最新血栓闭塞性脉管炎PPT课件课件PPT.ppt
- 最新血栓闭塞性脉管炎(课件)课件PPT.ppt
- 最新血栓与止血检验的临床应用课件PPT.ppt
- 最新血栓与止血检验的临床应用(1)课件PPT.ppt