如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第四章数据采集编程一、VisualBasic6.0VisualBasic6.0是面向对象的可视化编程语言,具有高效、简单易学及功能强大的特点。近几年用VB开发测控软件已日渐流行,它既可以使用DLL来实现I/O端口的输入输出功能,也可通过API函数或Mscomm控件实现串口通信,还能够充分发挥VB数据库功能强大以及生成用户界面快等优点。二、VisualBasic6.0环境下的软件设计1DLL技术动态链接库DLL是一种基于Windows的程序模块,它是在运行时刻被装入和连接的。动态链接库中只包含供应用程序运行时装入该DLL的有关信息,并非是源代码的复制,因此使用动态链接库可以使多个应用程序之间共享代码和资源从而提高运行速率。如何在程序中读取采集数据值一般数据采集硬件制造厂家在出售产品时,会配以软件,比如研华公司的“AdvantechDLLDriver”软件支持PCL-818HG等多种型号板卡的设备驱动,它提供了“adsapi32.dll”动态链接库,其中包含有一系列能对硬件设备进行底层I/O操作的函数。从VB调用这些DLL函数时,先在全局模块或窗体的说明部分,用Declare声明所要使用的DLL函数,然后象使用VB自己的函数(或过程)一样调用这些函数。例如:DeclareFunctionDRV_DeviceOpenLib“adsapi32.dll”(ByValDeviceNumAsLong,DriverHandleAsLong)AsLong其中“DRV_DeviceOpen”是将在VB使用的函数名,“adsapi32.dll”是提供该DLL函数的动态链接库。为方便用户,“AdvantechDLLDriver”的软件开发商制作了“Driver.bas”文件,其中声明了有关DLL函数及相应的结构,只需把“Driver.bas”导入VB工程的模块中,用户就可省去声明DLL函数的麻烦。①DRV_DeviceOpen():该函数必须最先被调用。它加载一个设备驱动程序到内存,并确定设备的类型,完成对设备的初始化,使设备做好I/O的准备工作;同时返回一个函数值,若设备驱动成功,返回非“0”的设备句柄,若设备驱动失败,则返回“0”。②DRV_DeviceClose():该函数是关闭由DRV_DeviceOpen()函数打开的设备,它的函数参数是由DRV_DeviceOpen()函数返回的设备句柄,若设备关闭成功返回非“0”值,否则返回“0”。③DRV_DeviceGetFeatures():该函数从由DRV_DeviceOpen()函数打开的设备中获取相关的硬件信息;同时返回一个函数值,操作成功则返回非“0”值,否则返回“0”。⑤DRV_MAIVoltageIn():该函数的参数是由DRV-DeviceOpen()函数返回的设备句柄,它每被调用一次就对通道的设置完成一次I/O操作,操作成功则返回“0”值。在实际的数据采集中,是通过调用这个函数得到与模拟量相对应的电压值。按照所要求采样频率,在VB的Timer()事件中定时调用该函数。2程序设计结束