计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

基于LabVIEW的虚拟模电实验的构建——调制解调器(2)

2013-07-30 01:03
导读:放式的虚拟仪器开发系统应用软件,利用它组建仪器测试系统和数据采集系统可以大大简化程序的设计。LabVIEW与Visual C++、Visual Basic、 LabWindows/CVI等编程不
放式的虚拟仪器开发系统应用软件,利用它组建仪器测试系统和数据采集系统可以大大简化程序的设计。LabVIEW与Visual C++、Visual Basic、

  LabWindows/CVI等编程不同,后者采用的是基于文本语言的程序代码(Code),而L abVIEW则是使用图形化程序设计语言G(Graphic),用框图代替了传统的程序代码。Lab VIEW所运用的设备图标与科学家、工程师们习惯的大部分图标基本一致,这使得编程过程和思维过程非常的相似。

    LabVIEW包含有专门用于设计数据采集程序和仪器控制程序的函数库和开发工具库。

  LabVIEW的程序设计实质上就是设计一个个的“虚拟仪器”,即“VIs”。在显示屏 幕上利用函数库和开发工具库产生一个前面版(Front Panel);在后台则是利用图形化的编程语言编制用于控制前面板的框图程序。程序的前面板具有与传统仪器相类似的界面,可接受用户的鼠标和键盘指令。一般来说,每一个VI都可以被其他VI调用,其功能类似于文本语言的子程序嵌套;而这种嵌套的层次,从理论上讲,是不受任何限制的。

    LabVIEW是带有可扩展函数库和子程序库的通用程序设计系统。它提供了用于GPIB设 备控制、VXI总线控制、串行口设备控制、以及数据分析、显示和存储的应用程序模块。

  LabVIEW可方便的调用Windows动态链接库和用户自定义的动态链接库中的函数;LabVIEW 还提供了CIN (C Interface Node) 节点使得用户可以使用由C或C++语言,如ANSI C, 编译的程序模块,使得LabVIEW成为一个开放的开发平台。LabVIEW还直接支持动态数据交换 (DDE)、结构化查询语言(SQL)、TCP和UDP网络协议等。此外,LabVIEW还提供了专门用于程序开发的工具箱,使得用户能够很方便的设置断点,动态的执行程序来非常直观形象的观察数据的传输过程,以及进行方便的调试。

  LabVIEW的运行机制就宏观上讲已经不再是传统上的冯·诺伊曼计算机体系结构的执 行方式了。传统的计算机语言(如C)中的顺序执行结构在LabVIEW中被并行机制所代替; 从本质上讲,它是一种带有图形控制流结构的数据流模式(Data Flow Mode),这种方式确保了程序中的函数节点(Function Node)只有在获得它的全部数据后才能够被执行。

  也就是说,在这种数据流程序的概念中,程序的执行是数据驱动的,它不受操作系统、计 算机等因素的影响。

    既然LabVIEW程序是数据流驱动的,数据流程序设计规定,一个目标只有当它的所有输入有效时才能够被执行;而目标的输出只有当它的功能完全时才是有效的。这样,Lab VIEW中被连接的函数节点之间的数据流控制着程序的执行次序,而不像文本程序受到行顺序执行的约束。从而,我们可以通过相互连接函数节点快速简洁的开发应用程序,甚至还可以有多个数据通道同步运行,即所谓的多线程(Multithreading)。

    LabVIEW的核心是VI。VI有一个人机对话的用户界面——前面板(Front Panel)和相当于源代码功能的框图程序(Diagram)。前面板接受来自框图程序的指令。在VI的前面板中,控件(Controls)模拟了仪器的输入装置并把数据提供给VI的框图程序;而指示器(Indicators)则是模拟了仪器的输出装置并显示由框图程序获得或产生的数据。当把一 个控件或指示器放置到前面板上时,LabVIEW便在框图程序中相应的产生了一个终端(Te rminals),这个从属于控件或指示器的终端不能随意的被删除,只有删除它对应的控件或指示器时它才会随之一起被删除。

    用LabVIEW编制框图程序时,不必受常规程序设计语法细节的限制。首先,从函数面板(Function Palette)中选择需要的函数节点(Function Node),将之置于框图上适当的位置;然后用连线(Wires)连接各函数节点在框图程序中的端口(Port),用来在函数节点之间传输数据。这些函数节点包括了简单的计算函数、高级的采集和分析VI以及用来存储和检索数据的文件输入输出函数和网络函数。

    用LabVIEW编制出的图形化VI是分层次和模块化的。我们可以将之用于顶层(Top Le vel)程序,也可用作其他程序或子程序的子程序。一个VI用在其它VI中,称之为subVI, subVI在调用它的程序中同样是以一个图标的形式出现的;为了区分各个subVI,它们的图 标是可编辑的。LabVIEW依附并发展了模块化程序设计的概念。用户可以把一个应用任务 分解成为一系列的子任务,每个子任务还可以分解成许多更低一级的子任务,直到把一个复杂的问题分解成为许多子任务的组合。首先设计subVI完成每个子任务,然后将之逐步 组合成为能够解决最终问题的VI。

    图形化的程序设计编程简单、直观、开发效率高。随着虚拟仪器技术的不断发展,图形化的编程语言必将成为测试和控制领域内最有前途的发展方向。

  2.2 LabVIEW的优势

  我们以前在实验室做模电实验的时候面对的是各种各样的真实的仪器,但是这种传统的实物实验模式有一些固有的缺陷,例如:

  (1)学生不熟悉线路连接,在连接仪器时极易出错。

  (2)线路连接错误,易造成元器件及测试仪器的损坏。学生不熟悉

上一篇:智能天线及其在无线通信中的应用-机电毕业论文 下一篇:没有了