该文档版权归上海微视泰科工作室所有,转载请注明出处!
网址:
http://www.microvt.com
Email: hightechyoung@yahoo.com
作者:HighTech Young
1
6 调用文本编程语言创建的代码
6.1. 概述
本章主要叙述在 LabVIEW 中如何调用利用传统的基于文本的编程工具创建的代码.
通过学习本章您将了解以下知识:
z 利用 Code Interface Node 将 C 语言创建的代码集成到
LabVIEW 项目中;
z 利用 Call Library Function Node 调用动态链接库。
在用
LabVIEW 开发大型的项目的过程中,尽管它能给开发者提供快速的解决方案,但是有时候传统的基
于文本的开发工具在实现某些功能时相对可能容易些(如开发对运行时间要求很苛刻的程序),或者有些任务
不能通过调用
LabVIEW 的函数来直接实现(如操作系统 API 的某些功能)。这个时候就可以考虑使用 Code
Interface Node
(CIN)或者 Call Library Function Node 来调用基于文本的开发工具开发的代码。通常来说在
大型的项目开发过程中这样做的目的主要有以下几个方面:
z 代码的复用。对一个项目开发团队来说,整个团队使用的开发工具可能不只是一种。从横向来看,团
队中负责各子系统的开发人员可能使用的开发工具不尽相同,, 从纵向来看,整个团队多年来可能已
经换过多种不同的开发工具。为了能减少重复工作,共享代码或重复利用以前的代码,可以用 CIN
将 C 代码或者用
Call Library Function Node 将其它工具创建的 DLL 集成到 LabVIEW 项目中来。
z 项目的开发效率。虽然用 LabVIEW 为项目提供解决方案,其效率相对于基于文本的传统开发工具大
大提高,但是有些时候用传统的开发工具实现某些功能却比 LabVIEW 来的容易。例如开发与底层硬
件交互或者开发对运行时间要求很苛刻的程序时,VC 可能就比 LabVIEW 来得方便。或者开发者需
要某种特殊的算法,而且这种算法用传统的开发工具实现要比 LabVIEW 开发容易些(如图像处理的
一些算法等)。这时开发者就可以用
CIN 或者 Call Library Function Node 把传统开发工具的长处和
LabVIEW 的长处结合在一起,共同为项目提供解决方案。
z LabVIEW 不能胜任的工作。LabVIEW 提供了很多函数和开发的 toolkit,但是这并不意味着
LabVIEW 可以完成任何事情。例如操作系统 API 提供的某些功能,LabVIEW 的函数库中就没有提
供。那么开发者就可以用
CIN 或者 Call Library Function Node 来扩展 LabVIEW 为项目提供方案
的能力。
值得注意的是,在 LabVIEW 项目执行调用的外部代码时,执行的线程将被占用,直到执行节点返回为止。
也就是说如果线程正在执行外部代码,那么它将不会处理其它任务,当然用户也将不能中断此执行过程。那
么开发人员在将外部代码集成到项目中时,如果代码如果完成的任务执行时间较长,就一定要慎重处理了。