VB数据采集卡应用pcl.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VB数据采集卡应用pcl

基于VB的数据采集卡的应用pcl-813b) 收藏此信息 打印该信息 添加:用户发布 来源:未知 1??引言 ??????pcl-813b(简称813b)是台湾研华公司推出的一款基于pc的高性能、多功能数据采集卡。该卡不仅性能优异,而且有完善的软件支持,使得此卡能广泛适用于工业自动化系统、自动化设备监控系统,具有广阔的应用前景。vb是一种高效、易学易用的开发工具。一些工业测控系统中,需要计算机从现场获取实际数据或发出控制命令,这就需要计算机实现对i/o端口的控制与访问,但是vb不具备直接对硬件地址进行访问的功能,可以利用vc++编写访问i/o接口地址的程序,创建动态链接库(dll),利用dll进行调用来实现端口访问与控制。本文以此卡为例,详细介绍了在vb环境下的应用。 2??pcl-813b数据采集卡简介 ??????813b是基于isa结构的,需插在计算机的isa槽中。它采用了12位分辨率a/d转换器(ad574),用来转换模拟输入,转换时间为25μs,数据传送速率达25kbps;输入范围:双极性±5v,±2.5v,±1.25v,±0.625v。单极性0~10v,0~5v,0~2.5v,?0~1.25v;?a/d转换触发方式为软件触发;?813b支持32路单端隔离模拟量输入,最大连续过压±30v。 ??????813b是一种通用型数据采集卡,可以满足不同用户的不同要求。因此卡上有一个dip开关(sw1)和1个跳线器(jp100),可由用户自行设置,以满足不同的需要。 ??????813b使用16个连续的i/o地址,其i/o基地址有开关sw1选择,有效地址从000~3f0h(十六进制)。sw1开关共有6个微型拨码开关,其拨码组合与对应的基地址有关系。 ??????输入范围选择:如使用单极性输入,把开关置在“u”位置,此时允许0~10v,0~5v,0~1.25v模拟量输入。如放大倍数是1,允许输入0~10v;放大倍数是2,允许输入?0~5v;放大倍数8,允许输入0~1.25v。放大倍数由软件控制。 3??动态链接库dll的编写 ??????在vb中要利用dll进行调用来实现板卡的访问与控制,首先要编写动态链接库dll。 ??????在windows98?中,应用程序采取一种成为“动态链接库”的特殊函数集来实现代码和资源的共享,以最大限度地节省资源。之所以称为“动态”,是因为它们是在运行期间链接到应用程序的,而不是在编译期间。创建一个exe文件时,会有许多例程链接到代码并放入exe文件中。但是dll中的例程则仅仅在实际运行时才链接到exe文件。按照这种方式,我们可以把几个程序共用的代码放到一个dll中,这样可以节省大量的空间,提高运行效率。同时在工业控制中对计算机的底层硬件进行访问,以及利用各种控制接口板进行数据采集和控制时间,仅靠vb是无法解决的。解决这样的问题可以间接使用动态链接库来实现。 3.1?创建dll的三个基本成分 (1)?libmain函数 ??????它是windows?dll的入口点,主要用来完成一些初始化任务; (2)?出口函数wep ??????windows的dll必须包含一个标准的出口函数。在dll最终卸出之前,windows调用该函数作一些必要的清除工作(如释放一些资源等); (3)?自己的功能函数 ??????windows95下vb编写的程序是32位的,与之对应的dll也应是32位的。对于32位的dll,16位dll中的入口函数libmain、退出函数wep被dllentrypoint所代替。dllentrypoint入口和退出两个函数服务。在每次装入或卸下dll时,windows95调入dllentrypoint。 ??????在vc++5.0中选择file|new,在new对话框中选择project?workspace,再在new?project?workspace对话框中选择dynamic-link?library选项,并输入工程项目名,即可生成动态链接库的工作框架。 3.2?利用vc++5.0开发的dll的完整的程序清单 //dll源文件i0.cpp #include? #include int?far?pascal?outport(unsigned) short?sport); int?far?pascal?outport(unsigned?short?port,int?databyte); //d11entrypoint函数 bool?winapi?d11entrypoint (hinstance?hd11, dworddwreason, lpvoid?reserved) {   switch(dwreason) { case?dll_process_attach:   {     

文档评论(0)

woaitiantian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档