.数据流编程的深入探索.docVIP

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
.数据流编程的深入探索.doc

3.4? 数据流编程的深入探索(depth exploration of data flow programming) 版本 3? 创建于: 2010-10-29 下午7:39 作者 jwdz - 最后修改:? 2010-11-8 下午9:12 作者 jwdz ???? 前面我们对LabVIEW图形化语言程序代码中的节点以及它们的数据流运行机制进行了初步的探讨。可以说,已经基本上建立了使用图形化语言的编程基础。但是,这些还不够 十分明确。比如:程序设计中如何贯穿数据流的编程思想、数据流在节点间如何体现等等问题还没有完全清晰。下面我们就图形化代码的这些问题进行更深入、更广泛地探索。 ? 3.4.1 依赖自然的数据关系实现数据流编程 ? ?????? 自然的数据关系就是直观的数学运算关系。 ? 例3.4.1-1 如初等数学中的公式:z=(x+y)(x+y) ? ?????? 用图形化程序见下图所示。 ? 图 3.4.1-1 利用自然的数学运算关系实现数据流图形化程序代码(使用6个节点) ? 例3.4.1-1 该数学表达式的另外的图形化代码见下图。 ? 图 3.4.1-2 该数学表达式的另一种图形化表述方式(使用8个节点) ? ?????? 依据自然的数学运算关系实现数据流编程很容易实现设计者先乘除、后加减的运算思维方式。 ?????? ?????? 显然使用节点数少的程序代码其模块化程度更高。同时使用节点少的程序也会显得更清晰、更整洁。 ? ?????? 图形化代码不仅在数学表达上可以直观实现,同样可以应用于其它学科,如物理学中的欧姆定律。它不仅可以按照欧姆定律计算出数值,同时还可以显示出物理量的单位。 ? 例3.4.1-2 欧姆定律 ?????? ?????? 它的数学关系是十分简单的,见下图。 ? 图 3.4.1-3 欧姆定律的计算 ? ?????? 我们不仅可以计算出欧姆定律,同时还可以显示出各物理量的单位。见下图。 ? 图 3.4.1-4 计算欧姆定律的前面版 ? ?????? 设置方法是这样的,在前面版用鼠标右键点击V控件,在弹出的快捷菜单中勾选:Unit Lable。参见下图。 ? ?????????????????????????????????????????? 图 3.4.1-5 勾选中Unit Label ? ?????? 按下图在显示物理单位的部位单击鼠标右键会弹出另一个快捷菜单,参见下图。按下图所示选择Build Unit String…..,则会弹出一个物理单位表。 ? ???????????? 图 3.4.1-6 选择Build Unit String….. ? ?????? 根据实际的物理单位确定物理单位符号。参见下图。 ? ????????????????????????????????????????? 图 3.4.1-7 根据实际的物理量选择单位符号 ? ?????? 依赖自然的数据关系实现数据流编程是最直观的数据流编程方法。但是我们还要注意到LabVIEW的自动多线程的特点,避免程序执行中出现难以查找的问题。例如在下图所示 的程序代码中就包含了多线程的概念。 ? 图 3.4.1-8 While循环中包含了两个线程 ? ?????? 这是一个极为简单的程序代码,但其中的While循环中包含了两个不相关的线程程序代码。一个是定时线程,另一个是Cosine计算线程。只有这两个线程都执行完毕(实 质上是程序执行时间最长的那个线程),While循环才会退出。 ?????? 所以说: 对于图形化编程语言,不要在程序框图中随意放置相关连的程序代码,最理想的方法是按照数据流要求编程。如果这些代码不采取数据流的处理方式(包括属性节点的使用),是十 分可怕的事情。完全可能导致程序出现错误或程序崩溃。 ? ?????? 现在的问题是:当我们所依赖的自然数据关系不明确时,怎么办?这就涉及到我们下面要讨论的问题。 ? 3.4.2 利用顺序结构强制实现数据流编程 ? ?????? 如果我们需要知道某段程序代码的确切执行时间,通常采用的就是强制实现数据流的测量方法。实现强制数据流最基本的方法就是采用前面所谈到过的顺序结构。参见下图给出的实 例。 ? ????????????????????????? 图 3.4.2-1 利用顺序结构计算代码的执行时间 ? ?????? 图 3.4.2-1 中,这是一个共分为三帧的计算代码执行时间的测量程序。第一帧给出程序运行的起始时间;第二帧是放置被测的程序VI的代码,这里用一个Wait(ms)内置函数来代替; 第三帧给出程序停止时间并计算出被测代码的运行时间。 ?????? 整个程序运行时是一帧一帧执行的,全部程序执行完毕后即可获得被测代码的运行时间的计算结果。 ??????

文档评论(0)

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

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

1亿VIP精品文档

相关文档