声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2611|回复: 0

[LabView] LabVIEW 中的数字型数据 3 - 数值的单位

[复制链接]
发表于 2006-10-21 08:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
三、数值的单位
1. 数值控件上的单位
    数值型控件和常量是可以带单位的。在数值型控件的快捷菜单上选择“Visible Items -> Unit Label”,就可输入数值的单位。如果你对某个单位的正确拼写没有把握,可以先任意输入一个字符,然后用鼠标右键点击单位标签,选择“Build Unit String…”。这时,LabVIEW会弹出一个对话框,LabVIEW所支持的单位都在这里分类排出。
1.JPG
2.JPG
3.JPG
图1~3:使用数字控件的单位
   
    例如要计算2年有多少天,可以有如下的程序:
4.JPG
5.JPG
图4,5:同类型单位的空间可以由数据传递
  
2. 单位使数据类型检查更严格
    把一个 I32 型的数据赋值给 string 型的控件肯定是一种错误行为,程序员总是希望编译器在编译时就把这种错误报告出来。虽然现在大多数编程语言都可以在编译时报告此类错误,但 LabVIEW 数值类型的单位可以让这种检查更严格:实数与字符串之间不可以互相赋值;同样是实数型的俩个数据,一个表示时间,一个表示长度,他们之间也不应当相互赋值。
    在编写 LabVIEW 程序的时候,应当尽量使用带单位的数值控件。因为,如果你给一个数据设置了单位,LabVIEW就会自动帮助你进行单位的一致性检查。比如图6 所示,当你试图把表示时间的数据和表示长度的数据相加时,LabVIEW会禁止你连线。 着帮助你防止了编程时出现的不一致性错误。
6.JPG
图6:不同类型的数据不能进行计算

    但是,这种严格的一致性检查也可能会带来麻烦。例如,我们编写了一个子VI,用于计算两个时间单位的和。下次当我们需要一个计算长度单位的和的子VI时,却不能够直接使用已有的计算时间单位的子VI,因为它们的单位是不同的。为了解决这个问题,LabVIEW 提供了单位统配符。
    在编写需要用于不同单位的子VI时,可以使用单位通配符。单位的通配符用 $n 表示,其中 n 是 1 到 9 之间任意一个数字。例如我们以上提到的加法,可以在子 VI 中使用通配符 $1,如果还需要另外一个执行其他运算的子 VI 中,其单位可以用 $2 表示。
7.JPG
图7:使用单位通配符
3. 单位转换
    使用 Numeric->Conversion->Convert Unit 节点可以把一个纯数字量转换为带有单位的数字量,或者反过来转换。使用 Cast Unit Base 节点可以更灵活地把某一数值的单位直接转换成另一单位。需要注意的是,Convert Unit 节点的外观和表达式节点的外观一模一样,甚至快捷菜单都一样,这应该是LabVIEW的一个缺陷。但他们的功能完全不同,你不要试图在表达式节点中使用 build unit 菜单,它不执行单位的转换,也不指示有差错。

转自http://ruanqizhen.spaces.live.co ... 8W8PfmDA!1073.entry
版权归原作者所有
回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-13 12:22 , Processed in 0.097280 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表