vb-工控机

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于VB6.0的工控机数据采集系统的开发

2008-8-25 11:45:00张佐营;梁文龙;贾长勋;马士龙供稿摘要:本文介绍了基于VB6.0和工控机的坦克炮控系统试验平台数据采集系统的开发技术,详细说明了该系统的设计方法和关键环节,给出了PCL818H和PCL813B数据采集卡的特点和应用方法以及VB6.0访问数据库的技术。

关键词:VisualBasic6.0;工控机;坦克炮控系统; 数据采集; PCL-8 18H

前言:随着武器装备的不断升级换代,性能的不断提高,对维修后试验技术的要求也不断提高。新近几年装备部队的主战坦克火控系统对维修后的试验要求相当严格,现行的试验手段多为手工操作,自动化程度低,精确度很差,新型坦克炮控系统试验平台的开发正是基于这一背景提出的,本文介绍了该平台的数据采集系统的开发技术。

1、硬件系统设计

1-1、被测参数分析

按照有关规定,对维修后的坦克炮控系统需要进行静态参数和动态参数的检测[1]。需检测的静态参数共有94路±15V范围的电压

信号,动态参数有位移、拉力、压力、转速、漂移等12路信号,位移、拉力信号为标准传感器输出信号,范围为±5V和0-5V,转速和漂移信号为陀螺仪组输出的检查信号,为±15V的电压信号。另外,为了测量位移和拉力,需要使用液压元件以及电磁铁作为执行元件进行相应的操作,故需进行相应的控制。

1-2、数据采集卡

数据采集卡的选择是硬件系统建设的关键,基于性能的稳定性和性价比的原因,选用了研华的ISA总线产品。根据需要,使用了3块PCL813B和1块PCL818H。这两款板卡都可支持双极性±5V 的输入范围,我们另制作了一块外围端子板将±15V的电压转换为±5V[2-3]。

PCL813B具有32路单端隔离模拟量输入,本应用中使用它采集94路静态电压信号。它采用了12位分辨率A/D转换器AD574,转换时间为25μs,数据传送速率达25Kbps,输入范围为双极性±5 V、±2.5V、±1.25V和±0.625V,单极性为0~10V、0~5V、0~2.5V和0~1.25V,A/D转换触发方式为软件触发。

PCL-818H是一款多功能采集卡,本应用中使用它采集动态信号及控制液压阀和电磁铁。它提供了5个最为常用的测量和控制功能:12位的A/D转换,D/A转换,数字输入,数字输出和计时器/计数

器。它的特点是:

(1) 16路(单)或8路(双)差分模拟量输入;

(2) 12位模数转换,100KHZ的采样频率;

(3) 16路数字输入和输出;

(4)可通过软件改变增益的值;

(5)软件可选择逻辑输入范围(双极性)。

两块板卡使用方法基本相同,由于篇幅限制,下面仅以818H 对模拟量的输入采集为例介绍采集卡的使用。

编写PCL-818H的程序的关键是使用板卡上的16个寄存器。它需要16个连续的PC机I/O空间地址,每个口地址与采集板内的寄存器相对应。每个寄存器的地址是通过指定到板卡基地址的偏移量。例如,BASE+0是这个板卡的基地址,并且BASE+7表示基地址+7个字节。如果板卡的基地址是300h,则BASE+7寄存器的地址就是307h,结果见表1。

表1、寄存器的作用及相应的I/O端口地址

PCL-818H模拟输入的16个端口,可以构成16个单端输入或者8对差分输入,输入通道的工作方式利用跳线设置,软件控制对一个或多个通道的操作。输入信号经放大电路后,由一个逐次逼近式A/D转换为12位数字信号。

PCL-818H提供了软件、时钟步进和外部信号3种触发方式。软件触发的触发器是由软件控制的,当在软件寄存器中写入数值后,

启动A/D转换,这种方式适用于低速A/D转换。时钟步进触发适用于转换速度要求很高的系统,PCL-818H提供的8254定时/计数器用来为A/D提供一个固定触发源,计数器1和计数器2级联在一起提供了一个周期精确的触发脉冲,非常适合于需要固定且精确的采样频率的系统。把外部触发信号接在CN3的35脚,可以实现外部触发,适用于不需要周期采样的系统,外部信号的上升沿启动A/D转换。根据该系统的需要,我们选择了软件触发方式。

1-3、工控机的选择

工控机(IPC)是一种具备特殊性能的计算机,能在恶劣的工业生产环境下,保证系统的连续稳定运行,并能承受环境中的高(低)温、冲击、振动、电磁干扰、潮湿、粉尘等不利因素[4]。考虑到军用的特殊性,我们选择了车载使用方便的工业便携机,型号为华北工控的REPC-815,该机具有8槽PCI/ISA扩展能力,液晶屏可360℃旋转,具有防暴功能。

系统结构图

2、软件系统的设计

系统的软件设计采用了VB6.0,VB6.0以其易学、高效、功能强大以及所开发的系统界面友好等特点受到了众多用户的欢迎,在数据采集和工业控制领域得到了广泛应用。本系统的软件部分主要有数据采集处理和数据管理两部分组成,实现的功能有数据采集的控制、数据处理、数据的管理以及试验报告的输出。下面给出了数据采集和存储两个关键环节的代码。

2-1、模拟电压的读取

VB虽然易学且功能强大,但也有其自身的弱点,比如对硬件的直接访问仅靠VB自身是无法解决的。但是它可以通过调用板卡提供的驱动函数,实现对I/O的访问和控制,而且支持事件驱动,这样就使VB可以很方便地编制数据采集软件[5]。

在Windows环境下调用驱动程序,需要在工程中添加一个模块Driver.bas,模块中定义了PCL-818H的所有常量,全局变量,函数,数据结构,状态代码和消息。可以直接在程序中调用文件中定义的这些量实现数据的读取。在Driver.bas文件的最后定义了许多API函数,但都不是私有的,工程里的所有窗体都可以调用这些函数。模拟值的读取分为如下5步:

(1)、打开设备

ErrCde=DRV_DeviceOpen(0,DeviceHandle)

如果ErrCde为0表示成功,否则返回错误信息。

(2)、配置输入通道范围

lpAIConfig.DasChan=int Channel …设置通道

lpAIConfig.DasGain=0 …设置增益为0

相关文档
最新文档