4.3 LabVIEW图形化编程语言的编程范式.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文档。上传文档
查看更多
当前正在审批 4.3 LabVIEW图形化编程语言的编程范式(LabVIEW graphical programming language, programming paradigm) 版本 7? 创建于: 2010-12-4 下午7:01 作者 jwdz - 最后修改:? 2010-12-19 上午12:35 作者 jwdz ?????? 上一节中曾简要介绍了编程范式和几种常见的编程范式。在本节中,我们将要进一步说明LabVIEW图形化编程语言的编程范式。 ? ?????? 首先,我们要给出上节中所提到问题的最终答案。其实答案很简单:LabVIEW是一种多范式的图形化编程语言,它基本适合我们上面所谈到的几种编程范式。这也是上节中给 出这几种编程范式的真实目的。 ?????? 下面我们就来一一的进行简单分析。 ? 4.3.1 LabVIEW图形化语言的过程化(命令式)编程 ? ?????? 我们已经知道:过程化编程要求程序员必须要知道程序要完成什么,并且告诉计算机如何来进行所需的计算工作,包括每个细节操作。简言之,就是将计算机看作一个善始善终服从 命令的装置。 ? ?????? 作为LabVIEW的实践者,此阶段可能已经完成了许多图形化代码的程序设计工作,因为我们认为本书的读者对LabVIEW已经有了充分的了解。但是,面对那些已经完成 的程序设计,大家可能根本无法感觉到我们在设计中采用了什么样的编程范式。那么图形化语言如何实现过程化编程的呢? ? 4.3.1.1 图形化语言过程化编程的表示方法 ? ?????? 回顾第3章的部分内容,我们就不难发现:基于数据流编程思想的LabVIEW图形化编程语言中,最基本、最广泛使用的编程范式应该就是过程化(命令式)编程范式。这点对 于学习过和使用过这种编程语言的朋友们来讲,我深信,应该是非常好理解的。 ?????? 在基于数据流的LabVIEW编程思想中,我们所强调的数据依赖性和充分利用公共线程必将导致其程序结构都是基于过程化的。所以采用过程化编程范式是LabVIEW图形 化语言最基本、最显著的特征,是我们必须自觉、不自觉采用的基本编程方式。特别是在仪器控制和数据采集过程中,由于图形化语言的自身的点,这种过程化编程范式显得更自然、 更容易理解。 ?????? 下面我们一起来看几个简单的实例。 ? 例4.3.1.1-1 无相移滤波器 ?????? 这个实例来自于LabVIEW2010(Mac版)自带的例程(Zero Phase Filtering.vi)。这个例子就是依赖数据关系的过程化编程。 ?????????????????????????????????????????????????????? 图4.3.1.1-1 无相移滤波器实例 ? ?????? 从工程应用的角度看,通常所设计的滤波器的滤波结果对输入信号都会产生一定的附加相移,有时候这个附加的相移是我们不希望出现的,而本例提供了实现无相移的滤波器。这个 应用在工程上是很实用的,通过这个实例可以加深对这个内置vi的理解。 ? ?????? 还有没有更好的办法来解决这样的问题?当然有,我认为我所设计的“理想滤波器”(相对于周期信号而言)与它有异曲同工之处。其实,“理想滤波器”的性能应该是更佳,因为它也实现了无相移的基波提取,同时给出基波的实际幅值。当然它还可以改进用来提取 谐波分量等等。 ?????? 感兴趣的读者不妨打开链接看看。 ? 例4.3.1.1-2 利用公共线程的过程化编程 ? ?????????????????????? 图 4.3.1.1-2 利用公共线程的过程化编程——34401DMM测量温度(RTD) ? ?????? 在LabVIEW程序中利用公共线程实现过程化编程的实例很多,第3章中所描述的内容都与此相关,这里就不一一列举了。 ?????? 其实,绝大多数的LabVIEW程序设计都是基于过程化编程实现的。或者说过程化编程是LabVIEW中最主要、最基本的编程范式。 ? 4.3.1.2 图形化语言过程化编程的基本特点 ? ?????? 图形化语言过程化编程基本的特点: ? 图形化语言最基本的编程范式 ?????? 毋庸置疑,对于图形化程序设计,只要你贯彻数据流的编程思想一些程序自然都是基于过程化处理的。这样的实例我们见到很多,并且也做过许多这样的程序设计。其实,过程化编 程并不局限于上面所介绍的数据依赖性、利用公共线程等等方面。比如:顺序结构、状态机、生产者和消费者循环等所展现的程序代码也都属于过程化编程。 ? ?????? 这种过程化程序设计的自然性根本无须特别的强调,依据数据流的编程思想人们便会在程序设计中自觉、不自觉的采用这种程序设计方式(过程式编程)。 ?????? 简略的回顾一下,LabVI

文档评论(0)

PPT精品 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档