动态链接库技术在化学虚拟仪器中的应用
关键词:虚拟仪器 ;动态链接库 ;端口操作 ;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框架设置。
相关文章
- 2023-04-08基于CAPP的CAD/CAM集成式新型数控加工模式的构想
- 2023-07-24基于DR系统的CT功能
- 2023-12-04垂直管内TFE/NMP降膜吸收过程中热质传递试验研究
- 2023-12-15风机-液力偶合器模糊-PID调速控制系统研究
- 2023-10-21基于Pro/E3D模型的圆柱凸轮廓面三坐标测量
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。