第4章 数据操作_第1页
第4章 数据操作_第2页
第4章 数据操作_第3页
第4章 数据操作_第4页
第4章 数据操作_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章数据操作4.1数据类型4.2数据运算4.1数据类型数据结构是程序设计的基础,不同的数据数据类型和数据结构在LabVIEW中存储的方式是不一样的。选择合适的数据类型不但能提高程序的执行效率,而且还能减少内存空间的占用。在LabVIEW程序框图中,以不同的端口图标和颜色来表示不同的数据类型。另外,输入控件端口图标的边框为粗实线,端口右侧有一个向右的箭头,表示输出数据,显示控件端口图标的边框为细实线,端口左侧有一个向左的箭头,表示输入数据。在LabVIEW中,除了具有一般数据类型外,还有一些独特的数据类型。本节将介绍一些常用的基本数据类型:数值型、布尔型、字符串与路径。基本数据类型是利用LabVIEW编程的基础,同时也是复合数据类型的基石。第四讲:LabVIEW数据操作4.1.1数值型数值型是LabVIEW中的一种基本的数据类型,LabVIEW以浮点数、定点数、整型数、不带符号的整形数以及复数表示数值数据类型。不同数据类型的差别在于存储数据使用的位数和表示的值的范围。在LabVIEW前面板中放置一个数值显示控件,在控件右键快捷菜单中选择“属性”菜单项,弹出数值属性对话框,在对话框中选择“数据类型”属性页,并单击“表示法”图标,则弹出数值型数据类型的详细分类。数值数据类型表LabVIEW的数据类型包含在前面板的数值输入控件和显示控件及数值常量中。控件选板中的数值控件函数选板中的数值常量数据通常分为变量和常量两种。LabVIEW中的数据从某种意义上讲也分为常量和变量,控件选板中的数值控件相当于传统编程语言中的数值变量,其中的数据可以在程序运行时由用户通过键盘或鼠标改变(输入控件)或由程序动态赋值(显示控件)。而程序框图函数面板中的数值常量相当于传统编程语言中的数值常量。在控件选板的数值子选板中包含了多种不同形式的数值输入控件和显示控件,它们的外观各不相同,有数字输入框、滚动条、滑动杆、进度条、旋钮、转盘、仪表、量表、液罐、温度计、颜色盒等。这些对象在本质上是完全相同的,都是数值型,只是外观不同。对象属性的设置方法也基本相同,均通过其快捷菜单来设置。对象属性的设置方法(以数值输入控件为例

显示项:设定控件的标签、标题、单位标签、基数和增量/减量按钮是否显示。查找接线端:用于从前面板窗口定位该控件在程序框图中的接线端子,在程序框图接线端上弹出的快捷菜单里,该选项为“查找输入控件”,可以用来从程序框图定位前面板上的控件。转换为显示控件:把输入控件变为显示控件,对于显示控件,该选项为“转换为输入控件”,则将显示控件转换为输入控件。说明和提示:打开“说明和提示”对话框,在这里可以定义输入控件的“说明”(该说明会出现在“即时帮助”窗口中)和“提示”(在运行时出现在鼠标移动到该控件上时显示的提示框中)。创建:给出了可以为数值输入控件建立的几种特殊程序对象:局部变量、属性节点、引用和调用节点。替换:是一个临时控件选板,可以在该临时选板中选择其他控件,以代替当前数值输入控件。数据操作:“重新初始化为默认值”选项把数值输入控件还原为默认值;“当前值设为默认值”选项把当前值设置为默认值;“剪切数据”、“复制数据”和“粘贴数据”选项则用于在数值控件之间复制数据。高级:“快捷键”选项将打开属性设置对话框的快捷键,在对话框中能为输入控件指定快捷键。“同步显示”选项用于显示每一次更新。“自定义”选项用于在当前输入控件的基础上自定义控件。“运行时快捷菜单”包括两个子菜单:“禁用”选项表示禁止运行时显示快捷菜单,“编辑”选项可以自定义运行时的快捷菜单。“隐藏输入控件”把当前控件隐藏掉。“启用状态”子菜单下的3个选项定义控件的启用状态。将控件匹配窗格:调整控件大小以匹配所属窗格,并设置为按窗格缩放控件。根据窗格缩放对象:开启或关闭前面板对象根据窗格自动缩放的功能。表示法:弹出一个数值数据具体类型图标菜单,通过图标菜单可以为该控件设定具体的数值数据类型,如“单精度浮点型”、“双精度浮点型”等等。数据输入:打开属性对话框的数据输入选项卡定义数值输入控件允许的数值范围。显示格式:打开属性对话框的显示格式选项卡定义和修改数值的表示格式属性:打开对象的属性设置对话框。属性对话框是按照选项卡方式组织的,通常有“外观”、“数据类型”、“数据输入”、“显示格式”、“说明信息”、“数据绑定”和“快捷键”共6个选项卡。很多快捷菜单选项都能在这里找到,在快捷菜单里和在属性对话框里定制这些控件属性和参数没有任何区别。各种数据类型的前面板输入控件和显示控件都有各自的属性对话框,尽管这些属性对话框的内容可能略有不同,但它们的组织方式和使用方法都相同。在输入控件和显示控件的程序框图接线端上打开的右键快捷菜单里,“显示为图标”菜单项默认为选中状态,也就是说,向前面板添加输入控件和显示控件时,在框图上生成的端子显示为包含控件外形的方形图标。取消该菜单项的选中状态,将使得端子恢复为传统的显示方式,在这种方式下,只能从端子了解到控件的数据类型,而无法了解控件的具体种类和外形。4.1.2布尔型布尔数据类型比较简单,其只有“真(True)”和“假(False)”,或者“1”和“0”两种取值,也叫逻辑型数据类型。控件选板中的布尔型控件函数选板中的布尔型常量布尔输入控件的一个重要属性是机械动作,正确配置这一属性将有助于更精确地模拟物理仪器上的开关器件。在布尔输入控件的快捷菜单里,“机械动作”子菜单中给出了所有可用的机械动作选项。某选项方框边缘的粗线框表示该选项为布尔输入控件当前使用的机械动作。这些菜单选项图例中使用了特殊的标记,其中m(Motion)及其右侧的图形表示鼠标左键在布尔输入控件上的操作动作;v(Value)及其右侧的图形表示输入控件包含的布尔值的变化情况。单击时转换:按下按钮时改变状态,按下其它按钮之前保持当前状态。释放时转换:释放按钮时改变状态,释放其它按钮之前保持当前状态。保持转换直到释放:按下按钮时改变状态,释放按钮时返回原状态。单击时触发:按下按钮时改变状态,LabVIEW读取控件值后返回原状态。释放时触发:释放按钮时改变状态,LabVIEW读取控件值后返回原状态。保持触发直到释放:按下按钮时改变状态,释放按钮且LabVIEW读取控件值后返回原状态。在布尔输入控件属性设置对话框的“操作”选项卡中也可以设置机械动作,在操作选项卡中,选中的动作为布尔输入控件当前使用的机械动作,选中某按钮动作,窗口右侧将给出该动作的详细解释,同时还有所选动作效果预览。4.1.3字符串与路径字符串是LabVIEW中的一种基本的数据类型。LabVIEW为用户提供了功能强大的字符串控件和字符串运算功能函数。路径也是一种特殊的字符串,专门用于对文件路径的处理。字符串与路径主要包含在控件选板的“字符串与路径(在Express中为文本输入控件)”子选板和函数选板的“字符串”子选板中。控件选板中的字符串控件函数选板中的字符串常量控件选板的字符串与路径共有三种对象:字符串控件(输入/显示)、组合框和文件路径控件(输入/显示)。1.字符串控件字符串对象用于处理和显示各种字符串,用数据操作工具或文本编辑工具单击字符串对象的显示区,即可在对象显示区的光标位置进行字符串的输入和修改。字符串有四种显示模式:正常显示、'\'(反斜杠)代码显示、密码显示、十六进制显示,通过快捷菜单项字符串显示模式可以在这四种模式之间切换。(1)正常显示在该显示模式下,除了一些不可显示的字符如制表符、Esc等,字符串控件显示键入的所有字符。(2)'\'代码显示这种显示模式,字符串控件除了显示普通字符外,用'\'形式还可以显示一些特殊的控制字符。该模式适用于调试VI及把不可显示字符发送至仪器、串口及其他设备。代码LabVIEW解释\00–\FF8位字符的16进制值;必须大写\b退格符(ASCIIBS,相当于\08)\f换页符(ASCIIFF,相当于\08)\n换行符(ASCIILF,相当于\0A)。格式化写入文件函数自动将此代码转换为独立于平台的行结束字符。\r回车符(ASCIICR,相当于\0D)\tTab制表符(ASCIIHT,相当于\09)\s空格符(相当于\20)\\反斜扛(ASCII\,相当于\5C)%%百分比特殊字符表反斜杠后的大写字母用于十六进制字符,小写字母用于换行、退格等特殊字符。例如,LabVIEW将\BFare视为十六进制BF和are。将\bFare和\bfare分别视为退格符和Fare及退格符和fare。而在\Bfare中,\B不是回格代码,\Bf不是有效的十六进制代码。在这种情况下,当反斜杠后仅有部分有效十六进制字符时,LabVIEW将认为反斜杠后带有0而将\B解释为十六进制0B。如果反斜杠后既不是合法的十六进制字符,也不是特殊字符,LabVIEW将忽略该反斜杠字符。不论是否选中'\'代码显示,都可通过键盘将表中列出的不可显示字符输入到一个字符串输入控件中。但是,如在显示窗口含有文本的情况下启用反斜杠模式,则LabVIEW将重绘显示窗口,显示不可显示字符在反斜杠模式下的表示法及\字符本身。(3)密码显示该模式将使输入字符串控件的每个字符(包括空格)显示为星号(*)。从程序框图中读取字符串数据时,实际上读取的是用户输入的数据。如从控件复制数据,LabVIEW将只复制*字符。(4)十六进制显示十六进制显示显示字符的ASCII值,而不是字符本身。调试或与仪器通信时,可使用十六进制显示。2.组合框控件组合框是一种特殊的字符串对象,除了具有字符串对象的功能外,还添加了一个字符串列表,在字符串列表中,可以预先设定几个预定的字符串,供用户选择。前面板中的组合框控件预设组合框对象中可选字符串条目“项”为在组合框中显示的字符串,“值”为组合实际存储的值。当“值与项值匹配”选中时,“值”中的字符串选项与“项”中的内容保持一致。3.文件路径控件文件路径对象也是一种特殊的字符串对象,专门用户处理文件的路径,文件路径控件用于输入或返回文件或目录的地址,可与文件I/O节点配合使用。用户可以直接在文件路径输入控件中输入文件的路径,也可以通过单击右侧的“浏览”按钮打开一个Windows标准文件对话框,在对话框中查找需要的文件,文件路径显示控件不能输入,也没有浏览按钮。路径通常分为以下几种类型。(1)非法路径如函数未成功返回路径,该函数将在显示控件中返回一个非法路径值,非法路径值可作为一个路径控件的默认值来检测用户何时未提供有效路径,并显示一个带有选择路径选项的文件对话框。使用文件对话框函数显示文件对话框。(2)空路径空路径可用于提示用户指定一个路径。将一个空路径与文件I/O函数相连时,空路径将指向映射到计算机的驱动器列表。(3)绝对路径和相对路径相对路径是文件或目录在文件系统中相对于任意位置的地址。绝对路径描述从文件系统根目录开始的文件或目录地址。使用相对路径可避免在另一台计算机上创建应用程序或运行VI时重新指定路径。4.2数据运算4.2.1数值运算基本数值运算节点主要实现加、减、乘、除等基本数值运算。在LabVIEW中数值运算符包含在程序框图“函数选板”的“数值”子选板中。

数值运算函数的输入都是数值类型数据(包括数值、数值数组、数值簇、数值簇构成的数组以及复数),即

数值型=数值标量OR数组[数值型]OR簇[各种数值型]除特例外,默认的输出数据通常和输入数据保持相同的数值表示方法,如果输入数据包含多种不同的数值表示方法,那么默认输出数据的类型是输入数据的类型中较大的那种类型。例如,如将一个8位和16位整数相加,则默认输出是16位整数。如对函数的输出进行配置,则指定的设置将覆盖原有的默认设置。有关数值运算的说明对于有两个输入的函数,用户可以使用如下方式组合:(1)当两个输入结构相同时,输出的结构与输入相同。(2)当两个输入中有一个数值标量,而另一个是数组或簇时,输出为数组或簇。(3)当两个输入中有一个数值数组,另一个是数值类型时,输出为数组。4.2.2比较运算比较运算也称为关系运算。比较运算函数节点包含在“函数选板”的“比较”子选板中。在LabVIEW中,比较函数可用来比较数值、字符串、布尔值、数组和簇,某些比较函数的比较模式还可以改变。不同数据类型的数据进行比较时,比较的规则是不同的。第四讲:LabVIEW数据操作(1)数值比较数值比较先将数字转换为相同的表示法后再行比较。为了进行准确的比较,比较函数节点将每个输入转换为其最大化表示。对于带有非法数值(Nan)的一个或两个输入,其比较将返回不相等的结果。不是所有数均可表示为ANSI/IEEE标准浮点数。因此,使用浮点数的比较可能会由于舍入误差导致非预期的错误。(2)字符串比较比较函数依据ASCII字符码的值对字符串进行比较。在比较时从字符串的第0个元素开始,一次比较一个元素,直至函数发现不相等或直至一个字符串的末尾才结束比较。如前面的字符都一样,“比较”函数认为长的字符串比短的字符串大。例如:a(其十进制值为97)比A(65)大,而后者又比数字0(48)大,数字0(48)又比空格符(32)大。LabVIEW从字符串的开始处逐个比较字符串,直至发现不相等字符时才停止比较。例如:LabVIEW在发现比e小的c前,会一直对字符串abcd和abef作比较。有字符比没有字符大,因此,字符串abcd比abc大,因为前者含有更多字符。不同数据类型的数据比较规则(3)布尔比较在布尔比较中,布尔值TRUE比布尔值FALSE大。(4)数组和簇比较某些比较函数节点有两种比较数据数组或簇的模式。在“比较集合”模式下比较两个数组或簇时,函数返回的是一个布尔值。在“比较元素”模式下,函数将逐个比较数组或簇的元素,并返回所有比较结果的相应布尔值构成的数组或簇。4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论