碧波液压网 欢迎你,游客。 登录 注册

动态链接库技术在化学虚拟仪器中的应用

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  

  关键词:虚拟仪器 ;动态链接库 ;端口操作 ;VC ;VB

  1引言

  随着计算机技术和微电子技术的发展,各种性能优良的数据采集卡不断出现,从而为测量控制领域所需的实时、高效的信号采集和处理提供了可能。当前,利用计算机强大的计算能力和丰富的软硬件资源来组织仪器系统的虚拟仪器技术得到了迅猛发展,并且已经成为研究热点[1-3]。基于数据采集系统的虚拟仪器系统是成本最低和应用最广的虚拟仪器组建方案,数据采集是该类系统最核心的问题[4]。我们在开发物理化学虚拟仪器系统时,采用了由众人精密测控技术公司研制的基于工业标准的12位32通道ISA数据采集卡PS-2104,由于该卡没有配套的驱动程序,所以面临端口访问如何实现这一棘手问题。我们在实际过程中经过探索,发现采用Windows下的动态链接库技术(DLL),将对端口寄存器的读写操作封装起来作成DLL可以解决该问题。DLL作成并且经过适当配置后,在VB语言环境开发虚拟仪器应用软件时就可象使用Windows API函数一样来使用端口操作函数,大大方便了后续软件模块开发。本文对基于DLL技术实现化学虚拟仪器的端口操作的技术细节进行了详细介绍。

  2采用DLL技术的必要与可能

  在Windows系统中,应用程序在多任务环境中共享内存资源,因此,静态链接往往导致的内存资源浪费,为了解决这一问题,广泛地采用了DLL技术。Windows本身通过DLL为所有的应用程序提供API函数和资源支持,Windows本身使用的所有库也都是DLL[5]。DLL不象一般Windows应用程序必须有一个消息循环随时准备接受消息,DLL是不接受任何消息的。DLL实际上是一种基于Windows操作系统的可被其他应用程序或DLL调用的函数集合组成的可执行模块,但其本身并不能运行[6]。广义地讲,可将DLL视为对Windows操作系统的扩展。

  VB以其开发的易学好用和强大的用户界面设计能力倍受程序员的青睐,是微软公司推

  出的开发Windows应用程序的主力平台之一。我们在开发物理化学虚拟仪器软件时也采用VB平台。但其不能直接对寄存器进行操作,没有直接的输入输出端口操作语句,而Windows也未提供访问I/O端口的函数。所以要实现这一功能,必须借助其他编程语言,而C语言或汇编语言具备较强的对硬件操作的能力,所以可以通过在VC环境下编制出对硬件I/O端口访问的动态链接库(DLL),然后在VB中调用。

  3实现端口操作的动态链接库

  3.1 VC++6.0中开发的对端口操作的DLL步骤

  (1)启动VC++6.0,在IDE中选择File/New,再选择Projects标签,选择Win32 Dynamic Link Library选项,在Project 中输入DLL的名字MySample ,单击OK进入Step1,默认所有其余选项, 单击Finish进入Step2,完成DLL框架设置。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论