4547|1

2606

帖子

0

TA的资源

五彩晶圆(初级)

楼主
 

Case Structure [复制链接]

Case Structure

From LabVIEW Wiki

Jump to: navigation, search

Introduction

A case structure is a LabVIEW primitive that dynamically selects which parts of code should execute. Image:CaseStructure.PNG

General Items

On compile time the compiler assures that at least one case will run when the code executes, if this cannot be determined the containing VI will be Broken. To provide a case for values of the selector that is general a case can be labeled default. One case can be used to handle several selector values. To enter these provide a , (comma) between the values. A range of these values can be set by providing .. (two dots) between the values.

Editing tips and tricks

  • To create a new case after the current case use <ctrl-enter>, to duplicate the current case to a new case use <ctrl-shift-enter>
  • You can right click on the selecter and sort or switch cases

Selection mechanism

The selection decision of the case structure can be done by several datatypes:

  • Boolean
  • Integer
  • Enum
  • String
  • Error Cluster

Boolean

The boolean case structure is the default state of the case structure. It has a case for the True and the False state.

Image:BooleanCase.PNG

Integer

The integer case structure uses the integer value of the selector data type to determine which case is executed

Image:IntegerCase.PNG

Floats

Non-integer numerics (floats) are rounded according to IEEE 754-1985, where a non-integer is rounded to the nearest even integer if it's rest is .5 .

Tricks

  • Ranges
    An integer case structure accepts ranges to limit the number of cases. These ranges can be closed (3..10) or open (3..) where every value above 2 is executed.
  • It's possible to show Hex, octal or binary values using Radix. Right-click on the number and select Radix.

Image:Example of radix in case structure.png

Image:BinaryCaseSelect.png

Enum or Tab control

The Enum case structure uses the string interpretation of the value to label the cases.

Image:EnumCase.PNG

Tricks

  • To have a case for every enum value right click on the selector label of the case structure and select add case for every value.
  • Don't add a default case, if the enum datatype changes the code will break and you'll be triggered that a case should be added.
  • A Tab-control's datatype is an enum as well, so it's possible to connect a tab control directly to a case structure.

String

The string case structure uses the string value to select which case should execute.

Image:StringCase.PNG

Tricks

  • Selection is by default done case sensitive, to make the selection case insensitive right click on the selector label and select Case insensitive match
  • A default case is obliged
  • Ranges
    Just like integer and enum case structures a string case structure accepts ranges. To detect all string starting with foo the following range would apply "foo".."foo~". By adding the tilde on the end of the range you will get all strings starting with foo up to foo~. The tilde is the last visible ASCII character.
Caveats for using ranges
  • The range of "UI:".."UI:Z" is not inclusive of "UI:Z". To be inclusive you need to explicitly add it like this: "UI:".."UI:Z", "UI:Z" -- see docs for details. Using tilde will not match the value with the tilde
  • If you wanted to include frames like "UI: Zoom Out" (that have more characters than just UI: Z), then you'd probably want to set your range to something like "UI:".."UI:zzzzzzzzzzzzz" (Note: I used lowercase "z" on purpose -- see next point) or the tilde.
  • String range matches are case sensitive (even if your case structure is configured for Case Insensitive Match, I believe), so you'd want to use a range like "UI:".."UI:zzzzzzzzzzzzzz", since "z" (0x7A) > "Z" (0x5A) -- see docs for details.

Error

The error case structure is like the boolean case structure but can be controlled by the error state of an Error cluster. The border of the error case is red and the non-error case is green.

Image:ErrorCase.PNG

Image:Error_Case_Structure.png

最新回复

全英文内容啊,如果能翻译成汉语我就老感谢你了,呵呵  详情 回复 发表于 2010-10-27 17:47
点赞 关注
个人签名工程 = 数学+物理+经济
 
 

回复
举报

2734

帖子

0

TA的资源

裸片初长成(初级)

沙发
 
全英文内容啊,如果能翻译成汉语我就老感谢你了,呵呵
个人签名我爱电子!
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表