My Blog! blog.gkong.com   

Tip of my blog

新年快乐!


阅读(3317) 评论(190)
标签(TAG):

摘要:虚拟仪器平台Labview软件属于Windows应用程序,它支持调用动态链接库文件(Dymatic Link Library),只要用户将自己的算法编写为动态链接文件、定义好输入、输出变量的类型和种类,就可以在Labview程序中调用应用户特殊要求编写的库函数控件模块,不受本身函数库功能和范围的限制。
关键词:动态链接库
Abstrict: The software of visual instruments bench belong to application programme of Windows.
It can call
dymatic link library when it needs.User can compile there own programme to dymatic link           
library , after defining input and output variables ,it can be call under visual instruments
bench.User
can not be limit by the confine and function of function library.
Key Words: Dymatic Link Library
1 引言
  动态链接库(DLL)技术已经是一种比较成熟、广泛使用的技术,在Visual Studio编辑器中的VC、VB都支持编写、调试和编译。它的作用是当Windows主应用程序需要调用子函数时,子函数由指定的入口地址将程序载入,当主程序未调用时则不需要载入子函数程序,这样就大大节省了程序资源空间。
Labview语言中已经提供了丰富的数学函数库控件(其中一部分就是采用DLL编写后在Labview应用程序中调用的)。在实际工作中,这些函数未必全部满足用户特殊需求,我们若会使用Visual Studio中的VC或VB,则可以自己动手编写算法函数,再编译成为DLL文件,经过初始化后就可以在Labview中调用,尤其是当输入输出量为数组或运算量很大时,程序调试量可以大大缩短。
2 动态链接文件在Visual Studio中的编写
  在Visual Studio中编写的文件是按工程文件类型管理的,假如使用VC语言,选择新建DLL工程文件,编写的文件名为DLL_TEST,编辑器会构件一个完整的工程文件夹,我们只需编写其中的DLL_TEST.cpp(源文件)和DLL_TEST.h(头文件),当程序调试完成后,会自动建立一个Debug文件夹,DLL_TEST.dll文件存放在其中。
具体的编写调试步骤如下:
1)    DLL_TEST.cpp(源文件)的编写说明
DLL_TEST.cpp(源文件)包括了函数的算法主体,在编写之前,编辑器已经提供了一个空函数框架等待编写,该函数名与用户定义的源文件名相同,在本例中即为
DLL_TEST()
{     
}
   我们要结合算法设定输入、输出变量名称、种类(字符型、数值型、数组型)和类型(整形、浮点型、双精度型),填入函数名后的()内,这样,在编好后的DLL文件中,Labview程序可以通过声明的输入、输出量将数值由外部输入变量传递到子函数内部,经过运算后再由外部输出变量输出。
若函数体本身并不需要返回数值,则设定为void 型。
{  }内由用户填入算法的源程序。
2)    DLL_TEST.h(头文件)的编写说明
    头文件是为了声明外部变量的种类、名称和类型,Labview在调用时能够根据指明的输入、输出变量传递数据。所以,将DLL_TEST.cpp中函数名后()内的变量设定复制到头文件的函数名后的()内即可。
3)    DLL_TEST.dll的调试和编译
源文件和头文件编写完毕后,先将DLL_TEST.cpp调试通过,接着再选择Debug菜单中built to dll选项,调试通过即可。
3 动态链接文件在Labview中的调用
     在Labview中需要将DLL_TEST.dll文件转化为DLL_TEST.vi格式才能使用。首先,在函数图表编程界面下,选择“call function”函数控件中的“call library”,调出一个空的DLL模块,鼠标双击该模块后进入初始化设定界面,按照DLL文件存放地址指定子函数读取路径,根据编写的库函数输入输出变量的数量、种类和类型分别增加、减少参数、注明对应的变量种类、类型;最后,选择本次调用的函数名,这是因为用户可能在库函数中编写了多个子函数,每个子函数的名称各不相同,所以在子模块调用时需要指定调用的是哪个函数。
4 结束语
  利用Visual Studio编辑器强大的调试、编译功能和Labview支持调用DLL文件的功能,我们可以根据自己的需要构架Labview环境中使用的子函数模块,配合Labview图表监测和数据生成工具,这对于算法验证、软件仿真、数值计算等方面将起到较大帮助。
日期:2004-12-8  作者:阎世栋 武汉华工电气自动化有限责任公司

by 进化中的兔子 发表于:2006/5/11 23:41:00
My subject | 我的主题

New entries | 新发表

Messages Board | 留言板


Guest Comments | 新评注


Blogger Login | 登陆栏
Blog Infomation | 信息栏
博客名称:嵌入式系统&虚拟仪器 日志总数:450 评论数量:277 访问次数:1781245 建立时间::2005年10月25日
Blog Infomation | 搜索栏
Blog Infomation | 收藏栏

XML RSS 2.0

嵌入式系统&虚拟仪器
© COPYRIGHT 2004 ALL RIGHTS RESERVED http://www.gkong.com

中华工控网 | 联系我们 | 工控论坛首页 | 工控博客首页 | 博客注册 | 博客登陆

工控博客管理联系邮箱:工控博客服务邮箱

中华工控网 © Copyright 2013. All rights reserved.