AC系列ADDAIO板卡.docx
- 文档编号:9221305
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:22
- 大小:49.58KB
AC系列ADDAIO板卡.docx
《AC系列ADDAIO板卡.docx》由会员分享,可在线阅读,更多相关《AC系列ADDAIO板卡.docx(22页珍藏版)》请在冰豆网上搜索。
AC系列ADDAIO板卡
AC系列AD\DA\IO板卡
编程使用说明
Dsignal
Wwlab2001.5
目录
0、简介--------------------------------------------------------------------------------------------------------
(1)
1、安装盘的说明--------------------------------------------------------------------------------------------
(1)
2、如何安装驱动--------------------------------------------------------------------------------------------
(2)
3、开始开发应用程序--------------------------------------------------------------------------------------
(2)
3.1编程基本思路分为两类---------------------------------------------------------------------------
(2)
3.2使用驱动程序--------------------------------------------------------------------------------------
(2)
3.2.1VC部分--------------------------------------------------------------------------------------------
(2)
3.2.2VB部分--------------------------------------------------------------------------------------------(3)
3.2.3其他语言的调用问题---------------------------------------------------------------------------(4)
4、函数说明--------------------------------------------------------------------------------------------------(4)
4.1驱动调用--------------------------------------------------------------------------------------------(4)
4.1.1VisualC/C++函数调用说明--------------------------------------------------------------------(4)
4.1.2VisualBasic函数调用说明---------------------------------------------------------------------(4)
4.2通用IO----------------------------------------------------------------------------------------------(5)
4.2.1VisualC/C++函数调用说明--------------------------------------------------------------------(5)
4.2.2VisualBasic函数调用说明---------------------------------------------------------------------(7)
4.3专用函数---------------------------------------------------------------------------------------------(9)
5、关于编程的讨论-----------------------------------------------------------------------------------------(9)
6、附录--------------------------------------------------------------------------------------------------------(11)
0、安装之前
为了方便广大用户的使用,使用户专注于自己的专业工作,北京双诺测控技术有限公司最新推出了AC系列板卡驱动。
本驱动在支持MicrosoftWindows95/98/NT4(x86)/Windows2000(x86)多种平台的基础上,又增加了一项新的功能——多平台自适应。
多平台自适应技术使得用户开发出的应用软件能同时运行在现行的各种Windows平台,做到统一的函数调用与操作、使用户不需要针对每个平台编制不同的采集程序,大大减少用户基于多平台的开发工作。
该技术有如下特点:
1.支持多平台;(Windows95/98/NT4/2000)
2.具备良好的与Windows系统的向后兼容性,能够保护、充分利用用户的开发资源;
3.便于用户升级到未来的操作系统,使得有跨平台需求或今后有跨平台需求的用户一劳永逸!
1、安装盘的说明:
在给用户提供的光盘或软盘中分为几个目录:
\根目录中有简要说明文件Readme.txt
\product为产品说明书与实物图片
\sdk为开发工具
\sdk\Document目录下为开发使用手册。
(如AC1057vb函数.txt为VisualBasic6.0函数使用说明,AC1057vc函数.txt为VisualC++6.0函数使用说明)
\sdk\Drivers目录存放着与系统有关的驱动程序、动态连接库、安装程序及简要说明文件Readme.txt等;
\sdk\Examples目录中存放例子程序
\sdk\Examples\Dos目录中存放着QuickC2.5例子程序,dos测试程序
\sdk\Examples\Vc目录中存放着VisualC++6.0例子程序
\sdk\Examples\Vc\include目录中存放着头文件,在编程中需要头文件
\sdk\Examples\Vc\ac_dacard目录中存放着型号为DA板的VisualC++6.0例子程
\sdk\Examples\Vc\ac_iocard目录中存放着型号为IO板的VisualC++6.0例子程
\sdk\Examples\Vc\MP270目录中存放着型号为MP270板卡的VisualC++6.0例子程序
\sdk\Examples\Vc\AC?
?
?
?
目录中存放着型号为AC?
?
?
?
板卡的VisualC++6.0例子程序
\sdk\Examples\Vc\Timer1ms目录中存放着VisualC++6.0高精度定时器例子程序
\sdk\Examples\Vb目录中存放着VisualBasic6.0例子程序
\sdk\Examples\Vb\include目录中存放着模块文件,需要添加到VB应用中
\sdk\Examples\Vb\AD目录中存放着AD板卡的VisualBasic6.0例子程
\sdk\Examples\Vb\DA目录中存放着DA板卡的VisualBasic6.0例子程
\sdk\Examples\Vb\IO目录中存放着IO板卡的VisualBasic6.0例子程
\sdk\Examples\Vb\AC1030目录中存放着型号为AC1030板卡的VisualBasic6.0例子程序
\sdk\Examples\Vb\AC1810目录中存放着型号为AC1810板卡的VisualBasic6.0例子程序
\sdk\Examples\Vb\Vb1ms目录中存放着VisualBasic6.0高精度定时器例子程序(编译成exe文件时请使用P代码)
2、如何安装驱动:
在给用户提供的光盘或软盘中,\Sdk\Drivers目录下有驱动程序安装软件instdrv.exe。
运行instdrv.exe后,驱动程序和一些相关的动态连接库将自动安装至系统中。
只需安装一次即可,相关驱动程序会自动运行。
当驱动的版本升级后,安装新版本的驱动时,请关闭所有的应用程序,再进行安装。
最新的驱动程序将在网站上公布,请需要的用户即时查询网站更新。
()
3、开始开发应用程序
用户使用AC系列板卡,基本上使用几个功能,模拟信号的采集(AD)、模拟信号输出控制(DA)、数字信号量的采集和输出控制。
在程序上具体操作AC系列板卡,主要是需掌握IO口的读写。
3.1.编程基本思路分为两类:
I、查询板卡的状态,读取数据,得到数据后,停止采集,继续后续工作、运算等等。
满足广大普通用户的要求;
II、对采集的连续性、实时性要求较高的用户,一般在采集的同时还要进行处理,如运算、存盘等等。
此时应考虑使用定时器(高精度)查询板卡状态,读取数据。
IO操作的注意事项:
I、对某IO口有持续的读/写时,请调用串读/写指令,尤其对于NT4/W2K而言,否则将严重降低IO口操作的速度。
II、对于并口的操作请使用字的串读写指令,可以得到比字节串读写指令更快的速度。
3.2使用驱动程序
调用驱动程序的API是由DLL提供的,因此,用户要了解如何调用DLL中的API。
基本思路如下:
使用VisualC++编程时,应在程序开始处加载DLL、加载驱动,在程序结束处卸载驱动、卸载DLL。
使用VisualBasic编程时与VisualC++调用的主要区别在于加载DLL的过程,VB在模块文件中定义后,已经自动加载了,因此可以省掉原理框图中的DLL加载、卸载,可直接从驱动加载、卸载开始工作。
3.2.1VC部分:
在程序开始处加载DLL、加载驱动,在程序结束处卸载驱动、卸载DLL。
总体操作参见图1,在各板卡的例子中有更详细的说明。
用户应用运行
N
调用函数
实现用户功能
AD采样/IO/DA
Y
N
用户程序退出
Y
N
Y
错误,退出
错误,退出
图1.函数调用原理框图
VisualC++6.0例子:
#include”..\include\io_nt.h”//通用IO函数定义
#include”..\include\ac1059.h”//AC1059函数定义,此处以AC1059为例
dll=Loadlibrary();//加载DLL
#include"..\include\io_nt_func.h"//与io_nt.h配合使用
#include"..\include\ac1059_func.h"//与ac1059.h配合使用,此处以AC1059为例
portio=AC_OpenDriver();//加载驱动
AC_inp(portio,0x300);//读300口
AC_outp(portio,0x300,200);//向300口写200
CloseDriver(portio);//关闭驱动
FreeLibrary(dll);//卸载DLL
3.2.2VB部分:
首先,添加模块文件aciont.bas(在\sdk\example\vb\include中);然后,在程序开始处(如Formload等等)加入加载驱动,在程序结束处(如Formunload等等)加入卸载驱动;最后,就可以在程序内部使用函数调用了。
VisualBasic6.0例子:
portio=AC_OpenDriver_VB()’加载驱动
data=AC_inp_VB(portio,&H300)’读300口
AC_outp_VBportio,&H300,200’向300口写200
CloseDriver_VBportio’关闭驱动
3.2.3其他语言的调用问题:
暂时没有其他语言的调用例子,但所提供的API接口函数的参数传递方法是使用标准调用约定,VC为__cdecl,VB为__stdcall;当用户根据自己需要,使用其他语言(如BorlandC++builder、Delphi、VisualFoxpro、PowerBuilder、Java等),可根据具体语言的定义方法、调用方法来构造自己的程序,实现API的调用。
4、函数说明
函数分为三类:
驱动调用、通用IO、专用函数,
驱动调用:
是有关于驱动的加载、卸载,以及查看驱动程序版本号的API;
通用IO:
IO口读写,串读写的API;
专用函数:
并口EPP模式的IO操作,某种板型的专用API(如:
MP270,AC1020等)
4.1驱动调用:
加载驱动、卸载驱动、查看版本信息
4.1.1VisualC/C++函数说明
HANDLEAC_OpenDriver(void)
功能:
获取驱动句柄;
返回:
句柄如果为0则驱动未成功加载;
AC_CloseDriver(HANDLEPortio)
功能:
卸载驱动,在程序结束时关闭句柄;
参数:
Portio:
要关闭的句柄;
返回:
无;
AC_Version(HANDLEPortio,char*Version)
功能:
获取驱动程序版本号;
参数:
Portio:
驱动句柄;
Version:
指向缓冲区的指针,缓冲区中传回版本信息的字符串;
返回:
无;
4.1.2VisualBasic函数说明
PublicDeclareFunctionAC_OpenDriver_VBLib"aciont.dll"()AsLong
功能:
获取驱动句柄;
返回:
句柄如果为0则驱动未成功加载;
PublicDeclareFunctionAC_CloseDriver_VBLib"aciont.dll"(
ByValHANDLEAsLong
)AsLong
功能:
卸载驱动,在程序结束时关闭句柄;
参数:
Portio:
要关闭的句柄;
返回:
无;
PublicDeclareFunctionAC_Version_VBLib"aciont.dll"(
ByValHANDLEAsLong,
VersionAsByte
)AsLong
功能:
获取驱动程序版本号;
参数:
Portio:
驱动句柄;
Version:
指向缓冲区的指针,缓冲区中传回版本信息的字符串;
返回:
无;
4.2通用IO:
字节、字、串的读写的接口
4.2.1VisualC/C++函数调用说明
intAC_inp(HANDLEPortio,ULONGBase)
功能:
从IO口读字节;等效inp(Base)quickc,_inp(Base)Vc,inportb(Base)TurboC
参数:
Portio:
驱动句柄;
Base:
IO口地址;
返回:
8位IO口的数据;
AC_inpw(HANDLEPortio,ULONGBase)
功能:
从IO口字读;等效inpw(Base)quickc,_inpw(Base)Vc,inport(Base)TurboC
参数:
Portio:
驱动句柄;
Base:
IO口地址;
返回:
16位IO口的数据;
AC_inps(HANDLEPortio,ULONGBase,unsignedchar*Data,ULONGCount)
功能:
串读入长度为Count的bytes数据;
等效for(i=0;i 参数: Portio: 驱动句柄; Base: IO口地址; Data: 指向数据缓冲区的指针,该缓冲区返回由Count指定长度的数据; Count: 读入的长度; 返回: 无; AC_inpws(HANDLEPortio,ULONGBase,unsignedshort*Data,ULONGCount) 功能: 串读入长度为Count的Words数据; 等效for(i=0;i 参数: Portio: 驱动句柄; Base: IO口地址; Data: 指向数据缓冲区的指针,该缓冲区返回由Count指定长度的数据; Count: 读入的长度; 返回: 无; AC_outp(HANDLEPortio,ULONGBase,unsignedchardata) 功能: IO口字节写;等效outp(Base)quickc,_outp(Base)Vc,outportb(Base)TurboC 参数: Portio: 驱动句柄; Base: IO口地址; Data: 写入IO口的8位数据; 返回: 无; AC_outpw(HANDLEPortio,ULONGBase,unsignedshortData) 功能: IO口字写;等效outpw(Base)quickc,_outpw(Base)Vc,outport(Base)TurboC 参数: Portio: 驱动句柄; Base: IO口地址; Data: 写入IO口的16位数据; 返回: 无; AC_outps(HANDLEPortio,ULONGBase,unsignedchar*Data,ULONGCount) 功能: 串写长度为Count的Bytes数据; 等效for(i=0;i 参数: Portio: 驱动句柄; Base: IO口地址; Data: 指向数据缓冲区的指针,该缓冲区存放要输出的数据; Count: 读入的长度; 返回: 无; AC_outpws(HANDLEPortio,ULONGBase,unsignedshort*Data,ULONGCount) 功能: 串写长度为Count的Words数据; 等效for(i=0;i 参数: Portio: 驱动句柄; Base: IO口地址; Data: 指向数据缓冲区的指针,该缓冲区存放要输出的数据; Count: 读入的长度; 返回: 无; 4.2.2VisualBasic函数调用说明 PublicDeclareFunctionAC_inp_VBLib"aciont.dll"( ByValHANDLEAsLong, ByValAddressAsLong )AsLong 功能: 从IO口读字节;等效inp(Base)quickc,_inp(Base)Vc,inportb(Base)TurboC 参数: Portio: 驱动句柄; Base: IO口地址; 返回: 8位IO口的数据; PublicDeclareFunctionAC_inpw_VBLib"aciont.dll"( ByValHANDLEAsLong, ByValAddressAsLong )AsLong 功能: 从IO口字读;等效inpw(Base)quickc,_inpw(Base)Vc,inport(Base)TurboC 参数: Portio: 驱动句柄; Base: IO口地址; 返回: 16位IO口的数据; PublicDeclareFunctionAC_outp_VBLib"aciont.dll"( ByValHANDLEAsLong, ByValAddressAsLong, ByValDataAsLong )AsLong 功能: IO口字节写;等效outp(Base)quickc,_outp(Base)Vc,outportb(Base)TurboC 参数: Portio: 驱动句柄; Base: IO口地址; Data: 写入IO口的8位数据; 返回: 无; PublicDeclareFunctionAC_outpw_VBLib"aciont.dll"( ByValHANDLEAsLong, ByValAddressAsLong, ByValDataAsLong )AsLong 功能: IO口字写;等效outpw(Base)quickc,_outpw(Base)Vc,outport(Base)TurboC 参数: Portio: 驱动句柄; Base: IO口地址; Data: 写入IO口的16位数据; 返回: 无; PublicDeclareFunctionAC_inps_VBLib"aciont.dll"( ByValHANDLEAsLong, ByValAddressAsLong, DataAsByte, ByValCountAsLong )AsLong 功能: 串读入长度为Count的Bytes数据; 等效for(i=0;i 参数: Portio: 驱动句柄; Base: IO口地址; Data: 指向数据缓冲区的指针,该缓冲区返回由Count指定长度的数据; Count: 读入的长度; 返回: 无; PublicDeclareFunctionAC_inpws_VBLib"aciont.dll"( ByValHANDLEAsLong, ByValAddressAsLong, DataAsInteger, ByValCountAsLong )AsLong 功能: 串读入长度为Count的Words数据; 等效for(i=0;i 参数: Portio: 驱动句柄; Base: IO口地址; Data: 指向数据缓冲区的指针,该缓冲区返回由Count指定长度的数据; Count: 读入的长度; 返回: 无; PublicDeclareFunctionAC_outps_VBLib"aciont.dll"( ByValHANDLEAsLong, ByValAddressAsLong, output_dataAsB
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AC 系列 ADDAIO 板卡