没有合适的资源?快使用搜索试试~ 我知道了~
首页深入分析LabVIEW 编译器
深入分析LabVIEW 编译器
471 浏览量
更新于2023-05-23
评论
收藏 168KB PDF 举报
LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显着区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。 虚拟仪器(virtual instrument)是基于计算机的仪器。计算机和仪器的密切结合是目前仪器发展的一个重要方向。粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。另一种方式是
资源详情
资源评论
资源推荐

深入分析深入分析LabVIEW 编译器编译器
LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是
LabVIEW与其他计算机语言的显着区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使
用的是图形化编辑语言G编写程序,产生的程序是框图的形式。 虚拟仪器(virtual instrument)是基于计算
机的仪器。计算机和仪器的密切结合是目前仪器发展的一个重要方向。粗略地说这种结合有两种方式,一种是
将计算机装入仪器,其典型的例子就是所谓智能化的仪器。随着计算机功能的日益强大以及其体积的日趋缩
小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。另一种方式是
LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与
其他计算机语言的显着区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编
写程序,产生的程序是框图的形式。
虚拟仪器(virtual instrument)是基于计算机的仪器。计算机和仪器的密切结合是目前仪器发展的一个重要方向。粗略地
说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。随着计算机功能的日益强大以及其
体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。另一种方式是将仪器装入计算机。以通用
的计算机硬件及操作系统为依托,实现各种仪器功能。虚拟仪器主要是指这种方式。
LabVIEW编译程序处理过程编译程序处理过程
LabVIEW(Laboratory Virtual instrument Engineering Workbench)是一种图形化的编程语言的开发环境,它广泛地被工
业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。LabVIEW [2]集成了与满足 GPIB、VXI、RS-
232 和 RS-485 协议的硬件及数据采集卡通讯的全部功能。它还内置了便于应用TCP/IP、ActiveX 等软件标准的库函数。这是
一个功能强大且灵活的软件。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。
首先一个VI的编译是类的扩展,主要负责将隐含的类解析为适于终端输出与检查句法错误的类型。在类扩展之后,VI从编
辑模型转化为可以被编译程序使用的数据流中间表示(DFIR)图表。编译程序执行几种变换,例如在DFIR图表分解过程中的
死码删除,优化,并为代码生成做好准备。DFIR接下来被转化成底层的虚拟机(LLVM)中间表示(IR),有关IR的一系列扫
描被运行,以利于更进一步的优化与底层化——最终——变为机器码。
DFIR提供一种高级的中间表示提供一种高级的中间表示
DFIR是一种分级的,结构图代码的,基于图表的IR。类似于G代码,DFIR包含很多具有端点的节点,能够与其它端点相
连。一些节点,例如框图,含有图表,这些图表也可以依此类推地包含其它节点。
图1显示了一个简单VI的最初DFIR。当LabVIEW首次为VI创建一个DFIR时,这是一种G代码的直接翻译,DFIR图表中的
节点具有像G代码中节点一样的一对一的对应性。随着编译程序的执行,DFIR节点有可能被移动,部分分离,或者是增加,
然而编译程序将仍然保留原有的特性,例如LabVIEW代码中固有的并行特性。
图 1. 查看一个简单VI 的初始 DFIR 图表
DFIR能够为能够为LabVIEW编译程序提供两种可观的优势:编译程序提供两种可观的优势:
1. DFIR将编辑程序从编译程序的表示中分离——在DFIR出现以前,LabVIEW具有一个单独的VI表示,由编辑程序和编译
程序共享。DFIR引入了一系列的优化与分解措施,能够极大地提高LabVIEW代码的性能,仅要求结构图节点与连线被断开并
可以移动。
2. DFIR作为多个编译程序的前段与后段的公用连接点——今天,LabVIEW能处理很多明显不同的任务。类似
地,LabVIEW也为用户提供了多种算法模式,DFIR提供了一种常用IR,它由前端生成而由后端使用,使不同组合的重新使用
更加便利。
DFIR分解与优化分解与优化
一旦进入DFIR,VI运行一系列的分解变换,来缩减或标准化DFIR图表。在DFIR图表彻底分解后,DFIR优化扫描开始。
有超过30种分解与优化能够提高LabVIEW代码的性能。请仔细查看图2和3显示的简单VI,它被称为Trim Whitespace
VI(Trim Whitespace.vi),来自vi.lib。


















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0