查看完整版本: 基于LabVIEW的数控机床网络测控系统——总体设计 (二)

admin 发表于 2015-4-27 23:39:22

基于LabVIEW的数控机床网络测控系统——总体设计 (二)

3.3通用数据采集卡的驱动设计
        系统中,在数据采集卡部分,LabVIEW提供了大量的数据采集子程序,这些驱动程序从简单到高级,可以提供给用户使用,但这些子程序只支持NI的数据采集卡(DAQ)以及少数公司开发的支持LabVIEW平台的数据采集卡,而这些卡的价格较昂贵,一般的用户很难接受。因此,为了能在LabVIEW平台上使用普通数据采集,有以下几种方案可以解决LabVIEW与普通数据采集卡驱动的问题。
       
        3.3.1基于LabVIEW的普通国产采集卡的驱动方法
        为了解决LabVIEW与普通国产采集卡的接口驱动问题,有三种可行方案:
        ①直接用LabVIEW的InPort , OutPort图标编程方式;
        ②用LabVIEW的CIN图标生成的板卡卡驱动程序的子VI方式;
        ③用LabVIEW的Call Library Functions图标,动态链接数据采集卡的。DLL库函数方式。
       
        (1)用In Port和Out Port直接编程方式(I/O方式)驱动
        LabVIEW中有两个直接访问底层设备的图标,即In Port.vi和Out Port.vi.这两个函数分别完成从设备的物理地址直接读取和输出数据功能,通过直接读写寄存器可以提高数据的传输速率,采集卡的工作方式为软件驱动,查询方式为读取采样结果。In Port.vi和Out port.vi图标存放在Memory子模板上。直接读取端口方式实现起来比较简单,适用于采集精度要求不高的情况。对于精度要求高且复杂的采集系统,如包含对内存大量操作的情况,这种方式就不能满足要求。
       
        (2)调用C语言源代码方式(CINF方式)驱动
        在实际设计中,经常会碰到某些想实现的功能,但利用LabVIEW图标实现和处理又不是很方便灵活,而利用其他编程语言很容易实现的情况。这时就需要用LabVIEW中的接口图标,以实现LabVIEW与其他语言直接的连接,CIN图标就是其中的一种。
       
        它是LabVIEW与C语言的接口,CIN通过输入、输出端口实现两种语言之间的数据传递。输入、输出端口的个数可由设计者根据实际需要确定。当LabVIEW的程序运行到CIN节点时,数据由CIN的输入端口传递给C源代码图标,程序去执行C源代码,代码执行完后,得到的数据结果由CIN的输出端返回给LabVIEW 。
       
        (3)调用动态连接库DLL的方式(CLF方式)驱动
        动态连接库(DLL)是一种应用程序在运行时与库文件连接起来的技术,是在应用程序运行时被装入和链接的,而不是把源代码复制到应用程序中去,因此使用动态链接库可以实现多个应用程序直间代码和资源的共享。不过动态链接库常由数据采集卡生产厂商提供,通过LabVIEW的CLF节点调用。如果厂商不提供DLL动态连接库,用户就要自己编写,这就对用户的编程水平有了进一步的要求。不过使用动态链接库有其自身的有点,如方便的实现共享代码、资源和数据;DLL的编写与语言无关;隐藏实现细节;节省内存等;
        3.3.2调用动态连接库DLL的方式实现板卡驱动的设计
        由于该设计平台中,选用的国产普通采集卡,需要自己编写板卡驱动,鉴于以上几种方法的比较,本文选用的是调用动态连接库DLL的方式(CLF方式)驱动。通过LabVIEW的CLF节点调用的实现如下,调用动态连接库的配置方式详见下图3.8所示。
       
       
       
        后面板程序设计中调用。DLL函数库中三个关键函数的流程,详见下图3.9所示。
       
       
       
        ①InitDeviceAD功能:调用AD采集的初始化函数,并给数组开辟内存空间,对采集通道,采集方式,采集频率的设置均在这函数下完成。它负责初始化设备对象中的AD部件,为设备操作就绪有关工作,如预置AD采集通道,采样频率等,然后启动AD设备开始AD采集,随后,用户便可以连续调用ReadDeviceAD读取USB设备上的AD数据以实现连续采集。
       
        ②ReadDeviceAD功能:调用AD采集函数,设置好采集通号码,(可以多通道采集,也可单通道采集)和采样频率后,由ReadDviceAD函数来批量读取采集卡上的数据,批量读取的数据由DELAYTIME子VI来处理,这里是采集的两路脉冲信号,一路是进入设备前的,一路是出设备的,从而由脉冲的延时来计算系统的响应时间。读取设备AD部件上的批量数据。它不负责初始化AD部件,待读完整过指定长度的数据才返回。它必须在InitDeviceAD之后,ReleaseDeviceAD之前调用。
       
        ③ReleaseDeviceAD
       
        功能:释放由InitDeviceAD占用的系统软硬件资源,如系统内存等。整个AD采集过程完成,所调用的InitDeviceAD和ReleaseDeviceAD要成对出现。只有这样,当再次调用InitDeviceAD函数时,那些软硬件资源才可被再次使用。这样就完成了整个采集过程。具体后面板框图程序如图3.10所示。
       
        系统中可以把这些函数写在一个DLL里面,都由动态库底层来完成这些操作,LabVIEW上层只需调用DLL中的一个外部函数即可。
       
       
       
       
        本系统中通过使用该方法调用DLL,提高了系统的开发效率,同时又体现了LabVIEW强大的数据采集和C语言编程功能。弥补了其不能驱动国产数据采集卡的不足。本章解决了普通国产采集卡与LabVIEW接口驱动的问题,完成了高速采集的任务,得到了预期的效果。
       
        3.4测控系统总线技术分析
        在开发一个数控机床测控系统时,选择正确的总线与选择一个具有合适采样速率的设备一样重要。硬件总线可以影响测量的性能、系统搭建时间和便携性等。一起自身通常支持一种或多种总线选择,以通过这些总线控制该仪器;PC通常也提供多种用于仪器控制的总线选择。如果PC机本身不支持仪器可用的总线,我们可以增加一个插卡或一个外部转换器来实现总线之间的转换。概括可用于仪器控制的总线大致分为两大类。
       
        3.4.1 USB&RS232独立总线
        独立总线用于架式和堆式仪器的通信。独立总线包括T专用总线(如GPIB)和PC标准总线(如串行总线RS-232、以太网、USB、无线和IEEE1394)。一些独立总线可用作其他独立总线的中介。
       
        虚拟仪器系统采用的总线包括传统的RS-232串行总线、USB通用串行总线和IEEE 1394总线。RS-232总线是PC机早期采用的串行总线,技术成熟,应用广泛,至今仍然适用于要求较低的虚拟仪器或测试系统。近年来,USB总线得到广泛的支持,微软的全系列操作系统均支持USB.但是,USB总线也只限于用在较简单的测试系统中。用虚拟仪器组建自动测试系统,更有前途的是采用IEEE1394串行总线,这是因为这一种高速串行总线,能够以100、200或400Mb/s的速率传送数据,显然会成为虚拟仪器发展最有前途的总线。目前国际上虚拟仪器所用IEEE 1394总线的传输速度已经达到100Mb/s.利用PC机的各种串口通讯,可把硬件集成在一个采集盒里或一个探头上,软件装在PC机上,通常可以完成各种虚拟仪器的功能。它们的最大好处是可以与笔记本计算机相连,方便野外作业。又可与台式PC机或工控机相连,实现台式和便携式两用,非常方便。特别是USB口和1394口具有传输速度快、可以热插拔、联机使用方便的特点,很有发展前途,将成为未来虚拟仪器有巨大发展前景和广泛市场的主流平台。通过各种不同的接口总线,可以组建不同规模的自动测试系统。它可以借助不同的接口总线的沟通,将虚拟仪器、带接口总线的各种电子仪器或各种插件单元,调配并组建成为中小型甚至大型的自动调试系统。
       
        3.4.2 GPIB→VXI→PXI模块化仪器总线
        高精度集成系统将接口总线合并到仪器中。模块化总线包括PCI、PCI Express、VXI和PXI、PCMCIA(主要用在笔记本与仪器连接建立便携式系统)。这些总线也可用作为不包括该总线的PC增加一个独立总线的中介,如PCI-GPIB控制卡。除了利用通用计算机或工控机开发虚拟仪器外,专用的仪器总线系统也在不断发展,成为构建高精度、集成化仪器系统的专用平台。
       
        GPIB总线(即IEEE 488总线)是一种数字式并行总线,主要用于连接测试仪器和计算机。该总线最多可以连接15个设备(包括作为主控器的主机)。如果采用高速hs488交互握手协议,传输速率可高到8mbps.作为早期虚拟仪器发展的产物,目前已经逐步退出市场。
       
        VXI总线是一种高速计算机总线——VME总线在仪器领域的扩展。VXI总线具有标准开放、结构紧凑、数据吞吐能力强,最高可达40Mbps,定时和同步精确、模块可重复利用、众多仪器厂家支持的特点,因此得到了广泛的应用。经过10多年的发展,VXI系统的组建和使用越来越方便,尤其是组建大、中规模自动测量系统以及对速度、精度要求高的场合。然而,组建VXI总线要求有机箱、零槽管理器及嵌入式控制器,造价比较高,其推广应用受到一定限制,主要应用集中在航空、航天等国防军工领域。目前这种类型也有逐渐退出市场的趋势。
       
        PXI总线是以CompactPCI为基础的,由具有开放性的PCI总线扩展而来(NI公司于1997年提出)。PXI总线符合工业标准,在机械、电气和软件特性方面充分发挥了PCI总线的全部优点。PXI构造类似于VXI结构,但它的设备成本更低、运行速度更快,体积更紧凑。目前基于PCI总线的软硬件均可应用于PXI系统中,从而使PXI系统具有良好的兼容性。PXI还有高度的可扩展性,它有8个扩展槽,而台式PCI系统只有3~4个扩展槽。PXI系统通过使用PCI-PCI桥接器,可扩展到256个扩展槽。PXI总线的传输速率已经达到132mbps(最高为500mbps),是目前已经发布的最高传输速率。
       
        本文从多现场环境、实现方式灵活性及节约成本等多个角度考虑,本文设计中总线选择USB总线和RS232总线。
       
        而虚拟仪器网络化可以基于现场总线、工业以太网或Internet网络。
       
        为了共享测试系统资源,越来越多的用户正在转向网络。工业现场总线是一个网络通讯标准,它使得不同厂家的产品通过通讯总线使用共同的协议进行通讯。现在,各种现场总线在不同行业均有一定应用;工业以太网也有望进入工业现场,应用前景广阔;Internet已经深入各行各业、千家万户。嵌入式智能仪器设备联网的需求将越来越广泛。
       
        为此,NI等公司已开发了通过Web浏览器观测嵌入式仪器设备的产品,使人们可以通过Internet操作仪器设备。根据虚拟仪器的特性,人们能够方便地将虚拟仪器组成计算机网络。利用网络技术将分散在不同地理位置不同功能的测试设备联系在一起,使昂贵的硬件设备、软件在网络上得以共享,减少了设备重复投资。现在,有关MCN(Measurement and Control Network)方面的标准已经取得了一定进展。由此可见,MCN网络化虚拟仪器将具有广泛的应用前景。
页: [1]
查看完整版本: 基于LabVIEW的数控机床网络测控系统——总体设计 (二)