当前位置:首页 > 思想汇报 > 【工业数据的采集处理】 工业数据是怎么采集来的
 

【工业数据的采集处理】 工业数据是怎么采集来的

发布时间:2019-03-12 03:52:13 影响了:

  如今,在仪器制造、移动通信、航海等工业领域,以个人电脑为平台的信号采集和数据处理系统得到了广泛应用。其中,数据采集依靠硬件板卡,数据分析则要借助于软件技术。   在数据采集、处理的应用中,使用最为广泛,基础最为牢固的是PC_Based Control 技术,它是融合PC 技术、信号测量和分析技术、控制技术、通信技术于一体的高性能测量与控制技术,用于信号量测、工业过程数据采集和控制、运动控制、通信控制等。包括工业电脑平台、功能卡和应用软件。通过插入各种功能卡和编写软件,形成功能强大的数据采集系统、通信控制器和运动控制系统。
  近年来,PC_Based Control 技术向更快速、更精确的测控方向发展,其中数据采集与控制是其核心技术之一,其基本任务是物理信号(电压/电流)的产生或测量。但是要使计算机系统能够测量物理信号,必须要使用传感器把物理信号转换成电信号(电压或者电流信号)。有时不能把被测信号直接连接到数据采集卡,而必须使用信号调理辅助电路,先将信号进行一定的处理。总之,数据采集与控制系统是在硬件板卡/远程采集模块的基础上借助软件来控制整个系统的工作,包括采集原始数据、分析数据、给出结果等,其中的硬件板卡就是现在广为使用的数据采集卡。而要对数据进行分析并产生结果,就需要利用软件编程技术来实现了。
  这里,笔者以PCI-8319 光电隔离模入接口卡为例,介绍如何利用VC++ 6.0实现数据的采集、控制和分析。
  
  PCI-8319 光电隔离模入接口卡
  
  本文所要介绍的PCI-8319 光电隔离模入接口卡就是一款满足PC_Based Control 技术要求的硬件板卡。它提供了PCI 总线插槽的PC系列微机,具有即插即用(PnP)的功能。操作系统可选用Windows、Unix等多种操作系统,以及专业数据采集分析系统LabVIEW 等软件环境。在硬件的安装上也非常简单,使用时只需将接口卡插入机内任何一个PCI总线插槽中并用螺丝固定,信号电缆从机箱外部直接接入。
  PCI-8319 光电隔离模入接口卡主要由多路模拟开关电路、高性能放大器电路、模数转换电路、开关量输入输出电路、接口控制逻辑电路、光电隔离电路及DC/DC电源电路组成,采用三总线光电隔离技术,使被测量信号系统同计算机之间完全电气隔离,适用于恶劣环境的工业现场数据采集以及必须保证人身安全的人体信号采集系统。该模入接口卡采用了高性能的仪用放大器,具有极高的输入阻抗和共模抑制比,并具有最高可达 1000 倍的放大增益,可直接配接各种传感器,以完成对不同信号的放大处理,同时,本卡自带 DC/DC隔离电源模块,无需用户外接电源。
  PCI-8319 模入接口卡允许采用32路单端输入方式或16路双端输入方式。用户可根据需要选择测量单极性信号或双极性信号。其输入的模拟信号由卡前端的37芯D型插头直接接入。本卡还提供了非隔离的TTL电平的16路输入和16路输出信号通道,这些信号通道由卡后端的40芯扁平电缆转换为37芯D型插头提供给用户。
  其多路模拟开关电路以及高性能放大器电路和模数转换电路均采用了AD公司的芯片作为使用器件,可以满足不同用户的不同需求。
  开关量输入输出电路,接口控制逻辑电路及光隔电路DC/DC电源电路均可达到较好的使用效果。
  
  相关函数
  
  PCI8KP.dll是为PCI8000 系列数据采集卡配制的工作在中西文Windows 95/98/2000/NT环境下的一个动态链接库,它所封装的函数可以被其他应用程序在运行时直接调用。用户可以用任何一种可以使用 DLL链接库的编程工具来编写。表中所列函数的说明格式为C++ 应用程序中调用 DLL 库函数时的常用格式,无论使用哪一种开发工具,务必请注意数据格式的匹配及函数的返回类型。
  点击看大图
  为了将对PCI-8319卡的操作简单化。动态链接库 (PCI8KP.dll)中所有的函数的参数均通过一个结构体(ZT_PCIBOARD)来传递。该结构体及PCI8000的有关函数如表所示。
  struct ZT_PCIBOARD
  {
  long lIndex; /* PCI卡索引值,该值在安装时被系统分配*/
  HANDLE hHandle; /* PCI卡的操作句柄(只有涉及中断时才用)*/
  short nCh; /* 通道号*/
  long lData; /*输入输出数据变量*/
  long* plData; /*输入输出数据指针*/
  long lCode; /*设备控制字,具体含义见函数说明*/
  };
  
  实现数据采集
  
  第一步,启动VC++6.0,建立一个工程文件;第二步,在工程文件中加入driver.h和Os.h两个头文件,并在工程设置中添加库文件ADSAPI32.lib;第三步,在需要数据采集的文件中添加相关的程序代码,具体步骤如下。
  首先,在文件头部第一条注释行前加入如下常数变量及全局变量说明:
  int time_sam;
  SetTem dlg1;
  int diff_tt;
  CPoint end_tem;
  CPoint start_tem;
  ZT_PCIBOARD pci8319_tep;
  其次,在相应的数据处理函数中加入下列代码打开采集板,把输入的模拟量转化为数字量:
  if(OpenDevicePlx(&pci8319) != 0)
  {
  AfxMessageBox("Open device failed!");
  }
  if(OpenDevicePlx(&pci8319_tep) != 0)
  {
  AfxMessageBox("Open device failed!");
  }
  pci8319.lIndex = 0;
  pci8319_tep.lIndex = 0;
  pci8319_tep.nCh = 2;//选择通道1
  pci8319_tep.lCode = 3;//0 = 原码值, 1 = 0 -- 10000mV , 2= -5000 --- 5000mV, 3= -10000 -- 10000mV
  ZT8319Init(&pci8319_tep);//启动AD转换
  pci8319.nCh = 1;//选择通道1
  pci8319.lCode = 3;//0 = 原码值, 1 = 0 -- 10000mV , 2= -5000 --- 5000mV, 3= -10000 -- 10000mV
  ZT8319Init(&pci8319);//启动AD转换
  long retVal,retVal1;
  retVal = ZT8319AI(&pci8319);
  retVal1 = ZT8319AI(&pci8319_tep);
  中间开始进行数据采集及实时曲线的绘制,在这个过程中,采集过程与曲线绘制过程是同时进行的,每采集十个数据就按照曲线的要求取这十个数据的平均值在图中绘出其数据值点,在采集过程中的某一时刻起曲线绘制如图所示。
  
  图 数据采集中绘制的实时曲线
  该界面主要用来,对模拟量数据进行更为直观的图形显示,相当于一个“软”示波器。点击“曲线显示”按钮,图形区域将显示A/D转换数据的变化曲线。为了稳定地显示曲线,滑动“同步点调整”滑块,可扫描同步点,同步点的原码值(十进制),在跟随滑块一起滑动的标签中显示。点击“选择通道”组合框,可进行通道切换,图形区域的曲线将自动作相应的更新。点击“退出显示”按钮,返回到主界面。最后,当采集结束后,退出显示,结束此次数据采集过程,得到所需要的曲线绘制图,完成测试流程,回到原始程序中。

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3