龙 杰,赵秋明,贾磊磊,2
(1.桂林电子科技大学信息与通信学院;2.桂林航天工业高等专科学校电子信息工程系,桂林541004)
目前信息社会的发展,很大程度上取决于信息与信号处理技术的先进性。随着数字信号处理技术的出现,改变了信息与信号处理技术的整体面貌,而数据采集作为数字信号处理的必不可少的前期工作在整个数字系统中起到关键性乃至决定性的作用,甚至其应用已经深入到信号处理的各个领域中。在现代质量管理中,工厂质量检验是质量体系中的一个重要因素,质量检验起着十分重要的作用。面对日益激烈的市场竞争,企业希望检验设备能够成为提高工作效率的重要手段,这就需要更快的检验速度,更高的检验精度,更简便的操作方式与更周全的可扩展性。
PCI是(Peripheral Component Interconnect,外设部件互连标准)一种不依附于某个具体处理器的局部总线。从结构上看,PCI是在CPU和原来的系统总线之间插入的一级总线,具体由一个桥接电路实现对这一层的管理,并实现协调上下之间的接口以进行数据的传送。PCI作为一种高性能的计算机局部总线,近年来早已广泛采用于计算机内部总线。当前PC中的PCI总线拥有33 MHz、66 MHz工作频率,32 bit、64 bit位数据位宽和最大132 MB/s的传输速度,非常适于一些高速外接设备与PC进行数据通信[1]。
本文的应用背景是某厂实验室避孕套产品爆破性能检测设备,实验要求是对避孕套产品进行自动充气,实时采集其直至破裂时的压力和体积,并记录数据,设计基于数据采集卡PCI8735的检测设备,以满足实验要求。系统结构如图1。
图1 系统结构图
PCI8735数据采集卡是13位的低损耗多功能数据采集卡,具有独特的电路设计和完善的数据采集与控制功能,支持即插即用,即直接插在IBMPC/AT或与之兼容的计算机内的任一PCI插槽中,具有FIFO的高速缓存,可灵活选定输入类型和范围,具有32通道单端、16路双端模/数输入(AI/DI)、16通道数字量输出(DO),采集速率可达500 k Hz,A/D转换时间小于1.6μs,板载时钟振荡频率为40 MHz,同时该卡还提供A/D模拟量输入的校准功能。
本系统主要应用其较强的数据输入输出功能,用模拟量输入通道实时采集产品爆破时的压力、流量信号,再用其数字量输出控制夹套加紧产品、升降、充气、指示灯等。PCI8735数据采集板卡插在计算机主机PCI插槽内,通过PCL10168通讯电缆与外围接口电路连接,完成实验装置与计算机之间的数据通讯。
外围电路由电源电路、信号输入电路、滤波电路、输出控制电路构成,如图2。
图2 外围电路
信号输入电路包括压力传感器和质量流量计,压力传感器的量程为0~5 k Pa,对应输出为4~20 m A的标准直流信号,质量流量计的量程为0~60 L/min,对应输出为4~20 m A的标准直流信号。滤波电路由滤波器抑制高频干扰,隔离电路由光耦组成,控制电路采用双光耦组成推挽式电路,并用三极管放大驱动若干个固态继电器,如图3。系统工作电压由电源电路提供。
图3 控制电路
一个系统的正确与否,不仅取决于系统的设计思想和方法,同时还取决于系统的抗干扰措施。本文主要是用以下几种抗干扰方法[2]。
电源干扰:用一阶低通滤波器抑制高频干扰。工业用电中含有多种高次谐波,它们很容易经电源进入数据采集卡,从而造成数据采集错误。
抑制空间电磁干扰:由于金属材料对于电磁波具有较好的吸收和反射。故将普通的信号线换成屏蔽线,屏蔽层良好接地,使现场中的干扰信号不容易串入系统。
信号传输通道抗干扰:用光电耦合器对系统输入输出通道从电气上隔离开来,有效地防止干扰的侵入。
由以上设备设计的基于数据采集卡PCI8735的计算机检测系统,如图4所示。该系统首先检测是否有开关信号,若有,则开关信号经光耦进行隔离,通过PCI数据采集卡的数字量输入通道传给PC机,PC机检测到开关信号后,经PCI8735数据采集卡的数字量输出通道输出TTL电平控制信号,控制信号再经光耦隔离,三极管放大驱动继电器控制换向阀使产品充气直至破裂,同时用压力传感器检测压力,质量流量计检测流量,并由PCI8735数据采集卡对这2个模拟信号进行采集并送PC机。
图4 计算机检测系统构成图
Visual Basic(VB)是面向对象化编程语言,也是可视化语言中最简单易学的一门编程语言。其编程系统又采用了面向对象、事件驱动的编程机制,用一种巧妙的方法把Windows的编程复杂性封装起来,提供了一种所见即所得的可视界面设计方法[3]。在VB中可以通过控件(DAO控件、RDO控件、ADO控件)实现对数据库编程,操作十分简单易行。其中ADO控件可以远程访问多种数据库,例如Access,SQLSever,Oracle,Sybase,DB2等。只要局域网中的每台电脑都共享其数据库文件,VB中的DAO控件就会通过Microsoft Jet数据引擎访问到数据库。
本文软件根据该公司提供的VB模块文件,调用API函数,实现VB与采集卡的通信,使用ADO对象编程实现数据访问,并采用SQL Server进行数据的查询、搜索、修改与增加[4]。首先建立Acess数据库comdon.mdb、用户信息表userInfo、基本信息设置表basicinfo、产品信息表comdonInfo,并用SQL Server建立服务器P-B6D0D42F8F2E4、数据库comdon1、密码为asdf的用户sa,而VB程序周期扫描操作人员开关动作,当判断有动作时,输出控制信号,并实时采集压力、流量,爆破结束后把最终压力、体积值等存储到Acess数据库comdon.mdb,并输出结束信号。软件流程图如图5,程序主界面如图6。
图5 流程图
图6 程序主界面
同时本文软件还具有用户管理、数据统计、报表生成、报表打印、检验报告单打印等功能。部分相关代码如下:Device LgcID=0
我们在室内环境下进行了200组产品实验。图7是实验数据导出的excel表。实验结果表明,在人员参与成分少的情况下,最终爆破体积均大于国标要求18 L,该系统已基本满足实验要求。
实验证明,利用基于VB的PC与PCI总线的数据采集卡通信建立的检测设备,可降低检验人员参与的成分,降低检验人员的工作压力和劳动强度,提高了检验质量。
图7 实验数据
[1]李晨阳,续志军.SP视频采集驱动设计[J].制造业自动化,2010,32(9):3-6.
[2]张军,彭宣戈.嵌入式系统硬件抗干扰技术[J].微计算机信息,2006,22(5-2):16-17.
[3]马人骄,赵雪峰.基于VB锅炉热平衡计算及炯分析程序开发[J].长春工程学院学报:自然科学版,2008,9(4):32-34.
[4]顾志远,洪国胜.VISUAL BASIC入门与应用[M].北京:清华大学出版社,1996:428-450.