研华PCL与VB开发调用_第1页
研华PCL与VB开发调用_第2页
研华PCL与VB开发调用_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

研华PCL-818L数据采集卡在染色机监控系统中的应用作者:郭清华等发布时间:2006-8-2818:54:00郭清华(1,2)赵英红(2)郭利(2)袁利军(3)[摘要]介绍了在Windows环境下,用VB开发的染色机温度控制系统的数据采集和分析系统。详细介绍了硬件核心PCL-818L数据采集卡及其原理,讨论了其在VB环境下利用系统提供函数进行软件开发的方式。该系统能够精确实现染色机温度控制系统参数的采集,并可提取动态特性的有关信息。当前我国的染色生产中,高温高压染色机的应用比较普及,许多生产单位染色过程中加热、保温的操作都是由人工进行的。由于人为因素的介入导致升温、保温等关键步骤不一致,使产品产生严重的机差。个别采用的温度自动控制系统由于造价较高、操作复杂等原因又限制了在中小企业的应用。因此研究和开发一种实用的温度控制系统成为当务之急。1染色机温度控制系统总体设计方案染色机温度控制系统中需要由微机控制的对象为气动阀,检测的信号有染色机温度和压力信号。需要输出的信号有阀门控制信号和气压控制信号。本控制系统可以控制十套染色机,并且可以完成数据的动态显示及工作阶段指示、各路温度、压力的上下限设置、温度压力的超限报警、参数的设置修改、单路调节设置、各个阀门的控制及相应的状态指示和数据的记录、打印、显示功能。由于系统中的输入、输出信号较多,根据系统设计的要求原则和染色机工艺特点,本系统采用工业控制机为核心的控制系统。该系统结构框见图1。系统以工业控制机为主控核心,结合外围设备构成整个控统。外围设备主要包括键盘、显示器、打印机、D/A输出、A/D数据采集卡。1.1数据采集部分本系统主要是染色机温度和压力(测量压力还是为了温度的控制)控制。它们的测量好坏在一定程度上影响了控制系统的控制效果。数据采集部分主要处理从传感器采集得到的数据,其组成部分包括传感器,模拟量采集卡和工控机。模拟量采集卡选择研华PCL-818L数据采集卡。为了规范模拟量的输入,在选择温度传感器和压力传感器时,我们要求其具有0〜5V的电压变送输出,这样,可以直接将采集的信号进行A/D转换,并送入计算机。数据采集的工作流程如图2所示。1.2研华PCL-878L数据采集卡基本特性PCL-818L是针对IBM-PC/XT/AT以及其他兼容机设计的,机箱中有ASIC插槽的计算机都可以方便的使用。它为用户提供了16个模拟信号输入,可以通过跳线开关和软件选择过程16个单通道信号输入或8个差分信号输入;12位的A/D转换器,用来转换模拟输入;同时提供最大为40KHz采样速率(在直接数据传输模式下)。另外,可以通过跳线或软件两种方式来选择模拟量输人范围。此卡还提供一路12位模拟输出通道和16路数字输入和数字输出通道。所有这些特性使得用户的需求能够得到很好的满足。2PCL-818L开发应用软件方法利用PCL—818L进行Windows应用程序开发,可以有三种方法。①利用“研华”光盘中附带的GeniDAQDevelepment开发环境,这是研华针对PCL系列板提供的标准开发环境,其优点是针对性强,缺点是不是通用的开发环境,程序移植性较差;②由用户自行开发针对底层硬件的驱动程序,这种方法灵活性最大,代码执行效率也高,可以充分发挥硬件的性能,但是要求开发者具有相当的计算机软、硬件水平;③采用通用的开发环境(VisualStudio、Delphi等),调用研华提供的标准动态链接库文件和第三方制作的ActiveX控件。采用这种方法可以在一定的程序上降低程序开发的难度,在提供较好灵活性地同时,提供相对于第一种方法更好的移植性。因此在实际中,较多采用的是第三种开发方法。2.1VB环境下的软件开发VB本身并不提供对计算机外设进行底层操作的语句或是函数。但PCL-818L提供的一套随机附带软件,其中包括了DLL(DynamicLinkLibrary)动态联接库文件,提供了对PCL-818L相关口地址的读写操作函数。这些函数都是标准的WindowsAPI,可在VB中声明后进行调用。因此在VB环境下的软件开发关键就是正确地完成底层的I/O操作,“Advantech”的动态联接库提供了两种I/O方式;标准方式、快速方式。根据目前一般工作装置的动态特性,采用标准方式已完全可以满足系统的要求。2.2数据采集卡的DLL调用在计算机中安装好的硬件,并进行相应的硬件设置。对于PCL-818L数据采集卡,首先进行地址跳线,将其地址设置为300H,在单端或差动输入方面设置为单端输入,其余基本不需要改动,只采用板卡默认设置即可。据所采用的计算机平台,安装相应的驱动程序,并进行软件设置。本系统中,采用的计算机平台为Windows2000,为此,我们安装了Advantech的ForWindows2000驱动程序。完成驱动程序的安装之后,我们将运行PCL-818数据采集卡的设置软件,设置类型为PCL-818L,地址为300Hex,A/D通道配置为16Single-ended,输入范围为+/—5V,D/A参考电压为InternalO-5V,其余皆为默认设置。使用DLL有利于应用程序的模块化,可以简化程序的修改。下面我们将用具体的例子说明如何调用DLL。假设系统提供名为818L.dII的一个动态链接库,则应有如下声明:DeclareFunctionW_818_InitialLib"818L.dll",(ByValcard_numberAsLong,ByValbase_addressAsLong)ASLongDeclareFunctionW_818_Switch_Card_NoLib"818L.dll"(ByValcard_numberAsLong)ASLongDeclareFunctionW_818_DILib"818L.dll"(ByValport_numberAsLong,di_dataASByte)AsLongDeclareFunctionW_818_Dl_ChannelLib"818L.dll"(ByValch_noASLong,di_dataAsLong)ASLongDeclareFunctionW_818_DOLib"818L.dll"(ByValport_numberAsLong,ByValdo_dataAsByte)AsLongDeclareFunctionW_818_DALib〃818L.dll〃(ByValch_noAsLong,ByValda_dataASLong)AsLongDeclareFunctionW_818_AD_Set_ChannelLib〃818L.dll〃(ByValch_noASLong)ASLong一个典型的引入单元可以定义如下:UnitAVEunitInterfaceFunctionAverageData(M1%,M2%)ASIntegerImplementationAverageDataEndFunction在其他需要调用该DLL的应用程序中,我们只需要添加上面的AVEunit单元,就可以像使用VB自身的函数一样使用AverageData函数了。所有相关函数操作如下,调用status=DRV_DeviceOpen(DeviceNum,DriverHandle)函数实现打开PCL-818L设备,以便进一步对设备进行配置和操作。调用status=DRV_AlConfig(DriverHandle,IpAlConfig)函数,实现对设备模拟量输入的初始化配置,将板卡的输入量程设置到所需要的量程。调用status=DRV一EnableEvent(DriverHandle,IpEnable-Event)函数开启中断。调用status=DRV一FAllntScanStart(DriverHandle,IpFAl-lntScanstart)启动中断方式数据采集。 _调用status=DRV一FAlCheck(DriverHandle,IpFAlCheck)函数来检测接收缓冲区数据是否已满,如果缓冲区已满,则将数据从接收缓冲取走。如果数据采集完成,则调用status=DRV一FalStop(DriverHandle)函数来停止数据采集。最后如果对板卡所有操作都完成,调用status=DRV一DeviceClose(DriveHandle)关闭PCL-818L设备,停止所有操

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论