基于LabVIEW的动态链接库的设计与调用.pdf
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 LabVIEW 动态 链接 设计 调用
- 资源描述:
-
2010年第4期
工业仪表与自动化装置
基于 Labview的动态链接库的设计与调用
苗立交,杨新华,王巍
(1.兰州理工大学电气工程与信息工程学院,兰州730050;2.本溪供电公司,辽宁本溪17000)
摘要;介绍了具有USB通信接口的动态链接库设计方法,并通过实例阐述了动态链接库关键
的设计技术和具体调用步骤。实验证明动态链接库技术与aVEW软件相结合的机制解决了
USB总线与 LABVIEW软件通信的问题,提高了数据传输效率。
关键词:USB;CY7C68013; LABVIEW;动态链接库
中图分类号:TP334.4文献标志码:A文章编号:1000-0682(2010)04-0071-03
Design and call the dynamic link library based on Lab VEW
MIAO Lijiao, YANG Xinhua WANG Wei
(I. College of Elec & Info Eng, Lanzhou University of Technolgy, danzhou 730050, China
uoont
117000 China
Abstract The method of designing the USB communication interface dynamic link library is de
scribed. The dynamic link library key design techniques and specific steps in the call is explained by
amples. It is clear that the combined method of the dynamic link library technology and Iab W soft-
ware resolve the communication problem between them
Key words USB: CY7C68013; Lab VIEW; dynamic link library
换,降低了应用程序的资源开销并提高了执行效率
0引言
针对这种情况,需要开发出具有USB通信程序模块
USB总线因具有热插拔、即插即用、共享式接接口的DL。
口、接口体积小、传输速度快的优点,所以越来越多
的测试仪器采用USB接口实现上位机与下位机通
系统硬件设计
信。将USB通信用于虚拟仪器与下位机之间的数
该文设计的数据采集系统采用 Cypress 2公司具
据通信,在很多应用场合可以很好地解决速度与数有USB接口的单片机CY7C68013作为处理器,其
据量之间的矛盾。由于NI公司生产的基于Iab-USB接口原理图如图1所示。它主要包括USB2.0
VIFW的USB数据采集模块价格比较昂贵,所以开收发器、接口引擎(SIE)、增强型8051、8.5kB的
发基于虚拟仪器平台的USB通信接口模块,实现RM、4kB的HIFO存储器、IレO口、数据总线、PC
Lab VIEW与下位机之间的数据通信,工程意义明控制器和通用可编程接ロ(GPIF)。
显。然而 LABVIEW与下位机通信需要调用外部代
码。其途径有:调用库函数节点、调用代码接口节
BUSSV
点、使用 ab Windows,/CVI函数面板转换器、使用平
2.2uF.1u
USB
AVCC
BUS
台专用的协议。这4种方法中,采用库函数节点能
3.3V
DMINUS
方便地调用动态链接库(DL)。DL提供了一种共
RE SFT
亨数据和代码的方便途径,并且多个应用程序能共
shell
CY7C68013
E
享同一个DL中的函数,从而减少了频繁的内存交
22 PF
XTALIN
24 MHZ
XTALOUT
收稿日期:2009-10-13
AGND
作者简介:苗立交(1980),男,硕土研究生,研究方向为智能仪
22 ph
器仪表。
图1USB接口原理图
工业仪表与自动化装置
2010年第4期
2固件程序设计
该文设计的动态链接库包含了4个子函数:打
开设备子函数(CY7C680_ pen Device)、关闭设备子
Eと- USB FX2芯片的固件程序框架完成了基函数(CYTC680_ Closedevice)、读设备子函数
本的USB设备的功能,例如中断响应、电源管理等,(CY7c680_Read)、写设备子函数(CY7C680
用户只需要在框架中添加自己的程序代码就可以实wite)。
现完整的外设功能。
应用程序调用动态链接库中的函数时,须先声
3USB驱动程序与应用程序的通信
明外部调用。打开设备子函数如下
#define Dllexport extern declspec(dllexport
3.1USB通信程序DLL的编写
Diiexport int stdeall CY7C680- Open Device
在Win32操作系统中,可以把任何-个设备都( HANDLE* hdevicehandle
抽象成为文件。对于设备应用程序的编写,只需要
char dev Namel]
调用几条简单的文件操作API函数,就可以实现某
int devinumber =0
个设备与驱动程序之间的通信功能。程序功能框架
int hop= FALSE
如图2所示。
int hverlength =9
查找设备
1)查找设备获取设备CUID
int hreadlength =9
获取设备GUD」在和USB设备通信之前,首先必须
sting
gi] ="veryhard
获取设备信思姐门得到USB设备的句柄,査找设备并
inl kmaxmun =10
获得设备的路径名。而在一个应用
while ( hop&&devinumber< kmaxmun
识别接口信息
程序与设备进行通信之前,必须获
w hdevcellandle =Createfile (devname, GE
取设各路?取这个设备的独特的标识符GUD。 NERIC_ WRITE GENERIC_HEAD,0,NUL,
打开通过标识符GUD来获取设备信
OPEN_EXISTING, 0, NULL)
息
读写USB设备
if(s* hdevicehandle! = INVALID_HANDLE
2)获取设备信息集:CUD的 VALUE)
关闭设备
获取使得应用程序能够得到系统设
hop=TRUE
图2序功能图备的信息。实现这个功能的函数是
devinumber
Windows设备管理函数 Setupdigetclassdevs Setup-
Return hop
Digetclassdeys函数返回一个结构体数组的地址,其
中包含了所有已连接和已列举的设备的信息。
打开成功,返TRUE;打开失败,返回 FALSE。
3)识别接口信息:要重新在前一次获得的机构
关闭设备子函数如下
体数组中识别一个接口的指针需要调用 Setup展开阅读全文
文档分享网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。



链接地址:https://www.wdfxw.net/doc96042841.htm