Labview DLL调用指南-非常有用.docxVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Labview DLL调用指南-非常有用

?【转】 labview dll的调用?【转载】武汉高收入高福利公司排行榜在LabVIEW中调用DLL的整个过程及注意事项??2011-09-15 21:25:44|??分类:驱动开发 |??标签: |字号大中小?订阅1. LabVIEW支持的数据类型 xmlnamespace prefix =o ns =urn:schemas-microsoft-com:office:office /???? 另外,可参考…\Program Files\National Instruments\LabVIEW 2009\examples\dll\data passing\Call Native Code.llb\Call DLL.vi。‘此VI列举了LabVIEW与C语言中兼容的数据类型。见下表。2. 在VI里调用DLL时,在DLL的左侧给输出端口添加初始化的值。给输出端口添加初始化值的目的是分配内存给输出端口。该初始化数组元素的个数至少为实际输出数组的个数。若过小,则DLL不正常运行;若相等,则DLL正常运行;若过大,则DLL的数组输出端口除有效数据外,还有其他一些为0的非有效数据。 xmlnamespace prefix =v ns =urn:schemas-microsoft-com:vml /??3.使用DLL的步骤1)制作子VI,添加控件接口到连接端(connector)。2)在新建的VI中添加DLL,在DLL中指定其路径,会自动添加该DLL包含的输入输出端口。对于数值型输出,选择Point to value。? 选中“Specify path or diagram”,表示动态调用该DLL,此时路径取决于最上端的路径输入端,Library name or path里输入的路径无效。在parameters页,系统会自动添加DLL的输入输出端口,如果添加不完整,则需要再手动添加额外的输入端或者输出端。需检查DBL输入:Value;DBL输出Pointer to Value。?3)务必给DLL的每个输出端添加初始值,否则DBL数组没有输出。len、 len2分别为输入数组、输出数组的个数,需将这两个参数设置为与实际的数组大小一致。4)C调用,具体为什么选择C调用,可参考:Calling convention 用于指明被调用函数的调用约定。这里只支持两种约定:stdcall和 C call。它们之间的区别在于,stdcall由被调用者负责清理堆栈;C call 由调用者清理堆栈(在LabVIEW中调用该DLL,则选择C调用)。这个设置错误时,可能会引起LabVIEW崩溃,所以一定要小心。反过来说,如果LabVIEW调用 DLL 函数时出现异常,首先就可以考虑这个设置是否正确。(Windows API 一般使用的都是stdcall;标准C的库函数大多使用 C call。如果函数声明中有类似 __stdcall这样的关键字,它就是stdcall的。)具体链接为:/forum/viewthread.php?tid=255extra=page=9另外,也可以这样理解。对库函数的调用规则,选择stdcall。比如调用凌华的数据采集卡驱动提供的DLL,则选择stdcall调用规范。调用自己用C语言写的程序而后编译成DLL文件时,调用规范选择“C”。5)选择哪种线程?选择Run in UI thread,具体为什么选择该界面线程(Run in UI thread),可参考如下链接:/2007/01/26/labview-%e7%a8%8b%e5%ba%8f%e4%b8%ad%e7%9a%84%e7%ba%bf%e7%a8%8b-4-%e5%8a%a8%e6%80%81%e8%bf%9e%e6%8e%a5%e5%ba%93%e5%87%bd%e6%95%b0%e7%9a%84%e7%ba%bf%e7%a8%8b/6)如果动态调用,则必须设置调用DLL的那个VI。设置该VI的执行系统不能够为“User Interface”。如果是静态调用,则可不用设置该项。关于调用DLL导致LabVIEW崩溃的解决办法,可参考如下链接:/public.nsf/allkb/DB18B5482571BC00289A234. 生成DLL的两种方式1). LabVIEW环境不过多赘述。在DLL和LabVIEW之间传递参数,最常用的三种数据类型是:数值类型、字符串、数值型数组。2 )VC等环境以VC环境为例,参考一个例子解释:/blog/static/70113974200911225944903此例子讲述了如何在VC中建立DLL,以及如何在VC中使用DLL。5.动态链接库1)静态库和动态库静态库:函数和数据被编译成一个二进制文件(一般为LIB格式),在使用静态

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档