数据采集技术革新VB驱动的智能数据采集卡应用探索
在数据采集技术的浪潮中,研华公司推出了pcl-813b,这款基于pc的高性能多功能数据采集卡,以其卓越的性能和完善的软件支持,赢得了工业自动化系统与自动化设备监控系统广泛青睐。vb作为一种高效、易学易用的开发工具,在一些工业测控系统中扮演着不可或缺的角色。然而,由于vb自身不具备直接对硬件地址进行访问的功能,我们需要借助vc++编写访问i/o接口地址程序,并通过动态链接库(dll)实现端口访问与控制。本文将详细介绍如何在vb环境下应用pcl-813b数据采集卡。
首先,让我们了解一下pcl-813b本身。这是一款基于isa结构的数据采集卡,需插入计算机isa槽内。它配备了12位分辨率a/d转换器(ad574),转换时间为25微秒,数据传送速率达25kbps;输入范围包括双极性±5v、±2.5v、±1.25v及单极性0~10v、0~5v等;a/d转换触发方式为软件触发。该卡支持32路单端隔离模拟量输入,并具有最大连续过压±30V保护能力。
用户可以通过DIP开关(SW1)和跳线来自行设置以满足不同的需求。此外,该卡提供16个连续I/O地址,其I/O基地址由SW1选择,可选取从000到3F0h十六进制范围内有效地址。
要在vb环境下利用这个强大的工具,我们需要编写一个动态链接库dll。在windows98中,这种特殊函数集合被称为“动态链接库”,用于资源共享,从而节省空间并提高运行效率。在工业控制领域,对计算机底层硬件进行访问以及利用各种控制接口板进行数据采集和控制时,只靠vb是无法完全解决的问题。因此,我们可以间接使用动态链接库来实现这些操作。
创建这样的dll涉及三个基本部分:libmain函数作为窗口DLL入口点完成初始化任务;出口函数wep负责在DLL卸载前执行清理工作,如释放资源等;而自己定义的一些功能函数则是核心内容,其中包括对硬件I/O操作相关代码。在VC++ 5.0中,可以通过选择“File” -> “New” -> “Project Workspace”,然后选择“Dynamic-link Library”项目类型来生成相应框架。
为了让VB能够调用我们的DLL文件,我们需要正确声明DLL中的每个函数,并将其放置至Windows\System目录下,使之可被VB应用程序识别和使用。在VB全局模块中,可以使用Declare语句引入DLL文件及其内部方法,如:
Declare Function InPort Lib "i098.dll" (ByVal Port As Integer) As Long
Declare Function OutPort Lib "i098.dll" (ByVal Port As Integer, ByVal Databyte As Long) As Long
最后,本文还提供了两个实例:首先是对PCL-813B进行初始化过程,以及如何读取A/D转换后的数字信号。而第二个示例则展示了如何利用定时器实现定时采集,在VB环境下编程实例,将采用定时器事件中的程序片段来实现温度信号的获取与处理,为此我们设定AD板为单极性输入模式,以便从0℃到100℃之间温度信号经过变送器后得到0~5V电平信号,然后再通过PCL-813B进行A/D转换,最终获取到实际温度值。