欢迎来到天天文库
浏览记录
ID:33939311
大小:530.53 KB
页数:20页
时间:2019-03-01
《调用文本编程语言创建的代码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、该文档版权归上海微视泰科工作室所有,转载请注明出处!网址:http://www.microvt.comEmail:hightechyoung@yahoo.com作者:HighTechYoung6调用文本编程语言创建的代码6.1.概述本章主要叙述在LabVIEW中如何调用利用传统的基于文本的编程工具创建的代码.通过学习本章您将了解以下知识:ò利用CodeInterfaceNode将C语言创建的代码集成到LabVIEW项目中;ò利用CallLibraryFunctionNode调用动态链接库。在用LabVIEW开发大型的项目的过程中,尽
2、管它能给开发者提供快速的解决方案,但是有时候传统的基于文本的开发工具在实现某些功能时相对可能容易些(如开发对运行时间要求很苛刻的程序),或者有些任务不能通过调用LabVIEW的函数来直接实现(如操作系统API的某些功能)。这个时候就可以考虑使用CodeInterfaceNode(CIN)或者CallLibraryFunctionNode来调用基于文本的开发工具开发的代码。通常来说在大型的项目开发过程中这样做的目的主要有以下几个方面:ò代码的复用。对一个项目开发团队来说,整个团队使用的开发工具可能不只是一种。从横向来看,团队中负责各子
3、系统的开发人员可能使用的开发工具不尽相同,,从纵向来看,整个团队多年来可能已经换过多种不同的开发工具。为了能减少重复工作,共享代码或重复利用以前的代码,可以用CIN将C代码或者用CallLibraryFunctionNode将其它工具创建的DLL集成到LabVIEW项目中来。ò项目的开发效率。虽然用LabVIEW为项目提供解决方案,其效率相对于基于文本的传统开发工具大大提高,但是有些时候用传统的开发工具实现某些功能却比LabVIEW来的容易。例如开发与底层硬件交互或者开发对运行时间要求很苛刻的程序时,VC可能就比LabVIEW来得方
4、便。或者开发者需要某种特殊的算法,而且这种算法用传统的开发工具实现要比LabVIEW开发容易些(如图像处理的一些算法等)。这时开发者就可以用CIN或者CallLibraryFunctionNode把传统开发工具的长处和LabVIEW的长处结合在一起,共同为项目提供解决方案。òLabVIEW不能胜任的工作。LabVIEW提供了很多函数和开发的toolkit,但是这并不意味着LabVIEW可以完成任何事情。例如操作系统API提供的某些功能,LabVIEW的函数库中就没有提供。那么开发者就可以用CIN或者CallLibraryFuncti
5、onNode来扩展LabVIEW为项目提供方案的能力。值得注意的是,在LabVIEW项目执行调用的外部代码时,执行的线程将被占用,直到执行节点返回为止。也就是说如果线程正在执行外部代码,那么它将不会处理其它任务,当然用户也将不能中断此执行过程。那么开发人员在将外部代码集成到项目中时,如果代码如果完成的任务执行时间较长,就一定要慎重处理了。1该文档版权归上海微视泰科工作室所有,转载请注明出处!网址:http://www.microvt.comEmail:hightechyoung@yahoo.com作者:HighTechYoung6.
6、2.用CIN调用C代码CodeInterfaceNode(CIN)可以被看作是LabVIEW用来扩展自身开发能力的一种方法,它通过将VC++或SymantecC(在Linux平台上可以是gcc)编写的代码集成到VI中来扩展LabVIEW自身能力的不足。与调用DLL不同的是,CIN可以将外部的代码与VI集成在一起,一旦编译成功后就可随VI一起分发,不需要原来的源文件或者其它文件来支持其运行。从运行的效率而言,DLL和CIN相同。在LabVIEW项目中使用CIN,一般通过以下途径:1.指定接口的输入输出参数的类型传递方式;2.创建.C代
7、码的框架并完成代码;3.编译代码为LabVIEW可以识别的格式(.lsb格式)4.加载CIN目标代码以下章节用实际例子对其逐步详细说明。为了把重点放在CIN调用步骤的说明上,该例子只简单完成两个数的求和的运算。6.2.1.指定接口的输入输出参数的类型和传递方式首先,在Function->Connectivity->Libraries&Executables中(如图6-1)选取CodeInterfaceNode放在Diagram上。默认情况下,CIN节点只有一个输入端口和一个输出端口,用户可以通过用鼠标拖动图标的边框,或者通过选择节点
8、端口右键菜单中的AddParameters/RemoveParameters来增加/删除参数。但是增加的参数是成对出现的。每增加一个输入(或输出)端口,都会有一个与之相对应的输出(或输入)端口出现。图6-2CIN节点在LabVIEW8
此文档下载收益归作者所有