LabVIEW实践之路第二章21-22.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
还有一点必须强调一下,While循环(包括For循环等)中如果存在并行执行的框图程序,那么只有等到所有程序都执行完一次循环后,才能进入下一次循环的执行。如果出现有快有慢的程序段,那对不起了,等着吧,这里的规矩就是不抛弃不放弃!图2.8很好的说明了问题。 图2.8 循环内程序并行执行 在2.8的While循环中,两个红框是并行的程序,其中一个用来处理各种计算等任务,另一个用来检测按钮状态决定是否退出。由于检测状态非常简单,所以瞬时便执行完,而计算任务则需要耗费一秒多时间,所以如果在这期间按钮状态变为了真,对不起,当时是不能退出程序的,等到这一次循环的计算任务也完成了,程序进入下一次循环时才能退出。同样,三个紫色框内是低一层的并行任务,由于其中的For循环最耗费时间,从前面板执行结果可以看出,当最下面的显示“While循环i值”执行完显示到3时,For循环还在努力中,显示为2。所以并行是好东西,但要用好。我曾看到过有人编写的采集程序大致每秒钟循环50次;但由于把一些网络查询反馈等比较耗时的操作放到了采集循环中,就导致了采集程序一直等着其执行完成后才能继续下一次循环,经常会缓冲溢出报错和丢失数据。(那怎么办?后面会说的,别急) 2.2 顺序结构 顾名思义,顺序结构就是强制程序运行时的前后顺序。有时候我们想将几个程序段按顺序执行,而程序本身并没有连线能够保证这种顺序(还记得前面说的吗?LabVIEW的数据流向是顺着连线从左往右的),那么你可以使用顺序结构。当然,如果连线能保证的,就不要像图2.9的采集程序一样画蛇添足了,因为不使用顺序结构的结果是一模一样的,如图2.10所示。 图2.9 带有顺序结构的采集程序 图2.10 不含顺序结构的采集程序 从上面的图中我们认识了顺序结构的样子之一,顺序结构还有层叠式的,主要是避免前后多个顺序段串起来太长,显示不方便。图2.11所示为顺序结构的两种形式。 图2.11 平铺式和层叠式顺序结构 顺序结构初始只有一个框,想要添加很简单,直接在框上点右键添加就可以了。 下面我们来完成一个顺序结构的程序:获得一段程序运行耗费的时间。这儿将用到获取当前时间的函数---获取日期/时间(秒),在框图的“定时”选板里。程序前面板和框图如图2.12所示。 图2.12 获取程序运行时间 上面的框图很简单,就是在程序运行前获取一下当前时间,在程序结束后再获取当前时间,两者之差就是程序运行时间。顺序结构在这儿起了重要的作用。当然,运行一下程序你会发现每次得出的结果有点不同,想一想为什么? 如果不加顺序结构上面程序会得到什么结果呢?这个问题我问得太简单了~ 图 2.13 删除顺序结构后的结果 第二章 强筋健骨:由程序流程的控制展开 LabVIEW实践之路 22 21

文档评论(0)

书房 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档