作者:富连达发布日期:2023-07-20浏览人数:378
NI LabVIEW是一类图形化数据流编程环境。 使用LabVIEW中的数据流时,您能通过创建展现数据如何在函数(所知的虚拟仪器,或称VI)间移动的程序框图,界定代码中的执行流程。 然而,借助LabVIEW,您能够在单一应用程序中结合除了图形数据流(G)之外的更多种类的编程方式。 利用这种灵活性来选用您中意的工具,从而创建算法并且解决各类工程问题。
1
定义编程方法
“编程方法”一词囊括:不同的编程语言、运算模型、抽象级别、与现有代码交互的方式、表示算法的途径。 过去几年,National Instruments在LabVIEW通信中加入多种接口和方法,以提供更多的编程方法。
您能编写多种方法,并将其作为熟悉的G数据流语言导入相同的程序框图。 LabVIEW编译所有这些针对合适硬件对象的方式;这些硬件对象的范围涵盖:台式计算机、实时操作系统、现场可编程门阵列(FPGA)、移动设备和嵌入式处理器(如:ARM)。
发送并接收不同编程方法间的信息,可通过LabVIEW轻松实现。 数据是将不同语言和计算模式黏连在一起的胶合剂。 信息和数据值能够轻松地从自定义用户界面(已知的前面板)、网络接口、分析库、数据库和I/O,被传送至使用G的不同语言或界面。
2
用G进行的编程
当NI在1986年引入LabVIEW 1.0时,数据流作为基本的LabVIEW编程方式是原创而且惟一的编程途径。不同于顺序类型的编程,数据流程序里的数据流动反映了操作执行的时间与顺序。 在C和C++等顺序语言里,源代码中的命令顺序(相对于数据的可用性)决定着执行时的顺序。
G依照数据流模式运行函数与基元,或称VI。当所有输入俱在时,程序框图函数或节点运行。 节点运行结束时,将数据提供给输出接线端并将输出数据传送给数据流路径中的下一个节点。
3
使用基于配置的编程
2003年,National Instruments发布了NI LabVIEW 7 Express,它具备Express VI——一种用来进一步简化常用编程任务和算法创建的新技术。 不同于传统的VI,Express VI通过提供基于配置的编程方式,对任务加以抽象。
4
结合.m文件格式
凭借LabVIEW MathScript RT模块,您能导入、编辑并且执行.m文件,一种针对数值分析、信号处理和高等数学的通用编程方式。 通过将它们与配有G的VI结合,您能将这些脚本构建至运行在台式计算机以及确定性实时硬件上的独立可执行程序。
结合LabVIEW中的MathScript有多种方式。 对于帮助下载、保存、开发并执行.m文件脚本的交互界面,您能使用MathScript窗口
5
借助面向对象开发
面向对象是一类跨越广大编程语言的流行编程方式。 它允许各类相似却不同的项目,被代表为软件中的一类对象。 类的定义包括:各个对象的特性和类能够完成的行为,通常将他们称为属性和方法。 类能够拥有继承这些属性与动作的子类,而您能添加更多特征或者重写现有类。
6
建模和仿真程序框图
如果您在设计一类能够被微分方程描述的复杂系统,在软件中进行物理系统的仿真和建模是一种流行方式。 借助它,您能够分析模型从而了解动态系统的特征并且创建能够实现理想行为的控制器。
控制和仿真循环实现了微分方程根据常微分求解的确定性执行——其中许多都存在于LabVIEW中。 这种编程方式采用一种看起来酷似G、但作为信号流被更好表达的数据流。
7
搭配状态图的文档编制
NI LabVIEW状态图模块提供状态图;状态图属于高层设计文档,有助您用图解释系统功能。 结合LabVIEW图形化数据流来定义各状态的行为时,状态图(statechart diagram)可作为可执行规范运行。 状态图通过扩展经典状态图加入并发(concurrency)与层次结构,以便您能表述包含并行任务的系统。 此外,状态图还纳入一种正规方式来响应事件,从而理想地描述反应系统。 这特别适合设计嵌入式设备、控制系统和复杂的用户界面。
8
编写面向FPGA终端的VHDL
您能采用LabVIEW FPGA模块来编写运行在采用G的FPGA上的代码。然而,和使用之前的编程方式一样,您可能希望复用现有代码或者灵活选择执行方式。 大多数FPGA在采用VHDL进行编程,VHDL是一种基于文本的数据流描述语言。 借助组件级IP (CLIP)节点,无需重新在图形化语言中编写已有的VHDL IP即可将VHDL导入VI。
CLIP节点提供的框架,可将外部FPGA IP导入LabVIEW FPGA模块。 CLIP XML文件通常用来将现有IP接口映射至能够在VI程序框图采用的值,但LabVIEW包含一个可自动创建该接口的CLIP导入向导。
9
结合基于C的语法
您能够在多种技术中择取一种,将接受顺序执行的文本语法纳入VI程序框图。 公式节点提供一类在线结构,支持一种类似传统C编程的语法。 类似C,每行以分号终止而且变量必须具有一个指定的范围。
内嵌C节点类似于针对底层编程和头文件的具备额外支持与功能的公式节点,省去了函数调用的开销(overhead)。 您能采用针对各类C代码的内嵌C节点(包括:装配指令),并且定义它语法上存在于C文件内的波形括号之间。
内嵌C节点只适合采用生成的C代码的对象。 内嵌C节点不支持Windows桌面对象。
10
连接构建的程序集
若不将源代码导入LabVIEW程序框图,您可能希望在其他环境中调入构建的程序集或者复用构建的LabVIEW应用程序。 在LabVIEW中编写的应用程序,能够轻松复用通过其他语言或编程方式开发的现有代码与算法。 此外,您或许需要通过LabVIEW代码(这包括上面讨论过的编程方式)构建汇编,从而接受不同环境的调用。
LabVIEW提供针对两种情形的多项解决方案。 LabVIEW能够调用DLL或共享库里的外部代码或者通过ActiveX或.NET接口显露的代码。 此外,您能通过构建LabVIEW DLL或共享库,或通过采用ActiveX,复用其他编程语言中的LabVIEW代码。
如果您具备现有C代码并且需要在LabVIEW中加以复用,有一项技术可用来将代码构建为DLL并且采用“调用库函数节点”对其进行调用。 事实上,基于C应用程序架构,您能采用简单的LabVIEW并行编程来并行运行两个或更多现有的C例程,舍弃了基于C的多线程编程的更多复杂性。 为了轻松导入外部库,LabVIEW纳入“导入共享库向导”,从而自动创建或更新针对Windows .dll文件、Mac OS .framework文件或Linux .so文件函数的LabVIEW包装VI项目库。
还可以结合System Exec.vi连接命令行;它提供特定操作系统的界面,用以调用可执行文件和其他内置库。
11
利用灵活式编程
将多种编程方法结合在单一的开发环境中,就能复用由其他语言开发的现有代码和算法。 还可以搭配低层代码来结合简单的高度抽象,以便更好地显示和控制应用程序。 这些抽象层用简单易读的形式代表极为复杂的操作,却能接受对应用行为和硬件接口进行低层控制的函数的耦合。 凭借与I/O的紧密集成,您能将这些方式与实际信号结合从而利用最新的硬件技术,如:多核CPU、FPGA和嵌入式处理器。
可通过多种方式解决各类问题——LabVIEW还能让您灵活选择多种编程方式。
深圳市富连达科技有限公司是NI联盟商、代理商、系统集成商,主要有NIGPIB、NILABVIEW、NIDAQ、NI板卡、NI数据采集卡等产品。公司拥有产品测试的软硬件全套应运解决方案,开发范围包括ICT、Boundary Scan、功能测试、系统测试。业务覆盖深圳、广州、珠海、佛山、南京、杭州、厦门、西安、成都、武汉、重庆、北京等地。
有需要的可以联系在线客服!