电力谐波治理装置数据采集处理系统设计

最新更新时间:2011-10-22来源: 互联网关键字:电力谐波  治理装置  数据采集 手机看文章 扫描二维码
随时随地手机看文章

1 引言

  在信息科学中,数据采集技术已经成为其重要的一个研究问题,它已经与计算机技术、网络技术、传感器技术、信号处理技术共同构成了现代检测技术的基础,随着科学技术的发展和数据采集系统的广泛应用,人们对数据采集的主要技术指标,如采样速率、分辨率、精度、输入电压范围、控制方式以及抗干扰能力等方面,都提出了越来越高的要求,尤其是采样速率,更是数据采集系统设计者和使用者最关心的一项重要指标。在电力系统自动化领域,实时数据采集是至关重要的环节,它直接影响整个自动化装置的性能。因此,提高采集速度和精度一直是电力系统软件开发人员要解决的难题。

  2 系统结构

  本文介绍的phcteeq-1型电力谐波综合治理实验装置的实时数据采集系统结构示意如图1所示。

  

 

  图1 采集系统结构示意图

  装置采用电力谐波有源滤波和无源滤波的先进理论和技术,以igbt-ipm智能模块、dsp、工控机等核心部件为硬件基础,进行电力谐波综合治理技术实验,实时性好,实验效果明显。装置采用公共基础台+功能挂件的设计方式,结构紧凑,集成度高,扩展性好,能够完成单相/三相电力谐波的产生、在线检测、分析、有源滤波和无源滤波等多项实验。

  2.1 数据采集卡

  在该装置中,模拟信号的采集主要通过数据采集卡,在这个装置中采用的pci8360a数据采集卡:它具有32个模拟量输入通道:ad0-ad31;输入信号范围:0~10v,-5v~+5v,0~20ma (0~10v为出厂默认设置)。输入精度为12位。单通道最大采样频率:500khz,多通道最大采样频率为200khz。启动转换方式为软件启动/外触发(定时)启动。这里将模拟量输入单双端选择跳线jp2设置为单端输入,模拟量输入范围选择跳线jp1,jp3设置为双极性。

  在这个实验装置中需要采集的模拟信号有十四路:三相负载电流信号,三相补偿电流信号,三相电源电流信号,pwm波信号,变压器原边电流信号,三相电压信号。采用dhpt、dhct高精度微型传感器来完成数据采集的功能,采集到的数据经处理后传输到数据采集卡与dsp中。传输到数据采集卡的信号,一方面,实时动态显示原始信号,另一方面,经fft分析和基于单个人工神经元的自适应电力谐波检测方法分析后显示各次谐波权值。

  2.2 dsp部分

  dsp采用tms320f2812,tms320x28xx信号处理器集成了事件管理器(281x处理器),epwm, ecap, a/d转换模块,spi外设接口,sci通信接口,ecan总线通信模块,看门狗,通用目的数字量io,pll时钟模块,多通道缓冲串口,外部中断接口,存储器及其接口,内部集成电路(i2c)等多种外设单元,使用户能够以很便宜的价格开发高性能数字控制系统。传输给dsp的各种信号经fft算法分析,将各次谐波权值发送给工控机。dsp与上位机采用232串口通信。数据帧的格式如下:

  a相:aaaa 1次谐波权值 3次谐波权值 5次谐波权值 … 25次谐波权值 aaaa

  b相:bbbb 1次谐波权值 3次谐波权值 5次谐波权值 … 25次谐波权值 bbbb

  c相:cccc 1次谐波权值 3次谐波权值 5次谐波权值 … 25次谐波权值 cccc

  当用户选中了查看经dsp分析的某相信号时(单选),上位软件发送相应需求信号给dsp,例如:上位机发送aaaa,dsp接收到该信号后,首先发送两个字节的帧头aaaa响应上位机,上位机判断回传的数据是否为aaaa,是,则接收并显示,否,则不予理采。每次谐波权值采用32位表示,按照ieee 754 标准:

  (1) 第1位为符号位,1 代表负,0代表正;

  (2) 接下来用8位来表示指数部分;

  (3) 接下来的23位用来表示有效数位。

  帧尾为aaaa,表示一帧数据发送完毕。

  2.3 plc部分

  plc采用s7-200,主要完成挂件识别功能。将各变量状态通过opc技术与上位机软件通信。上位机软件组态显示电路状态,可以直观查看电路当前状态。

  3 上位机软件

  3.1 软件开发方式

  软件采用delphi 7.0完全面向对象的可视化平台开发,它是borland公司最优秀的windows开发工具之一,它的可视化开发环境和面向对象的快速应用程序开发(rad)工具,使程序开发人员能在windows平台上快速开发出32位的windows应用程序。它采用面向对象的程序设计语言object pascal。下面对上位机软件中的关键技术加以说明。

  在pci8360a的使用中有三种可行的软件开发方式:

  (1) 使用厂家提供的开发软件。厂家提供的软件只能作为测试采集卡是否正常的工具。

  (2) 自己动手编制程序完成底层的数集和指令的输出。此方法工作量大。

  (3) 利用开发商所提供的windows标准动联接库文件。使用动态链接库有如下优点:

  l应用程序编译链接后的可执行文件较小;

  l应用程序所需用到的内存较小;

  l对应用程某一模块的修改,更换不会影响到其它模块。本系统的开发此种方式。动态链接库主要有两种调用方法:静态调用和动态调用。

  动态链接库的静态调用是最简单的调用方法。它主要使用external指令来声明外部的函数或过程。为了方便使用和维护动态链接库,可以将工程中所用到的所有不同动态链接库中的函数统一定义在一个单元中,并且还可以在该单元中定义调用库中函数或过程时所使用的常量或数据类型。

  动态链接库的动态调用主要是使用windows api函数进行相应的操作,比静态调用复杂的多。因此,这里采用动态链接库的静态调用的方向。

  3.2 连续ad采集的编程思路

  (1)首先在程序初始化时调用 zt8360a_opendevice函数,用于打开设备,只调一次即可。

  (2) 调用 zt8360a_disablead 函数,禁止ad;调用zt8360a_clearhfifo函数,清硬件缓冲区(hfifo);调用 zt8360a_clearsfifo 函数,清软件缓冲区(sfifo);调用zt8360a_aiinit 函数,做一些ad初始化工作;调用 zt8360a_openirq函数,打开hfifo半满中断。

  (3)在一个循环中不断调用zt8360a_getsfifodata count判断sfifo中数据的个数,申请一个数组,并把这个数组中传入 zt8360a_ aisfifo 用于接收数据,把读出的数据保存到文件或直接显示。注意:sfifo的默认大小为 819200,用户要不断读数,使sfifo有空间放入新的来自hfifo的数,如果sfifo中的有效数据的个数接近819200,会使整个ad过程停止。如果想重新采集,必须重复2—3步。

  (4) 调用 zt8360a_closeirq函数,停止采集过程。

  (5) 在程序退出前调用 zt8360a_closedevice函数。

3.3 pci8360a数据采集卡数据采集部分代码

 

  if(zt8360a_opendevice(m_cardno) <> 0) then

  //初始化数据采集卡,返回0表示打开设备成功,m_cardno为1

  begin

  showmessage(`打开设备失败`);

  exit;

  end

  else

  begin

  i:=zt8360a_getcardstatus(1); //采集卡状态

  if i<>0 then

  begin

  i:=zt8360a_getlasterr(); //得到当前错误号,为0表示无错误

  showmessage(`错误号为:`+inttostr(i));

  end;

  getmem(data,sizeof(tsomearray)*8092); //读数据

  zt8360a_disablead(m_cardno); //禁止ad

  i:=zt8360a_getcardstatus(1);

  if i<>0 then

  showmessage(`禁止ad失败,错误号为:`+inttostr(i));

  zt8360a_clearhfifo(m_cardno); //清硬件缓冲区

  i:=zt8360a_getcardstatus(1);

  if i<>0 then

  i:=zt8360a_getlasterr();

  showmessage(`清硬件缓冲区失败,错误号为:`+inttostr(i));

  //showmessage(`hfifo`);

  zt8360a_clearsfifo(m_cardno); //清驱动缓冲区

  i:=zt8360a_getcardstatus(1);

  if i<>0 then

  i:=zt8360a_getlasterr();

  showmessage(`清驱动缓冲区失败,错误号为:`+inttostr(i));

  zt8360a_aiinit(m_cardno, 0, 1, 0, 0, 1, 625 ,1, 0, 0);

  //设置ad方式控制寄存器

  i:=zt8360a_getcardstatus(1);

  if i<>0 then

  // i:=zt8360a_getlasterr();

  i:=zt8360a_getlasterr();

  showmessage(`intit`+inttostr(i));

  zt8360a_openirq( m_cardno, 0, 0, 0, 0); //打开8360a中断

  i:=zt8360a_getcardstatus(1);

  if i<>0 then

  i:=zt8360a_getlasterr();

  showmessage(`打开中断失败,错误号为:`+inttostr(i));

  end;

  end;

  3.4 基于单个人工神经元的自适应电力谐波检测方法

  基于单个人工神经元的自适应电力谐波检测原理如图2所示,该方法能够对奇次、偶次、特定次、总谐波以及相位进行实时准确的动态检测。假设实际系统中需要检测的最高次谐波是n次。

  (1) 检测总谐波电流:只取sinωt和cosωt作为参考输入。人工神经元学习完成之后,系统的输出z(t)即为总谐波电流。

  (2) 检测奇次谐波电流:取sinωt、cosωt以及sin(2k+1)ωt、cos(2k+1)

  (3) ≤2k+1≤n,k为正整数) 等作为参考输入。人工神经元学习完成之后

  i2k+1(t) = w(2k+1)s·sin(2k+1)ωt + w(2k+1)c·cos(2k+1)ωt (1)

  就是对应的奇次谐波电流的值。

  (4) 检测偶次谐波电流:取sinωt、cosωt以及sin2kωt、cos2kωt(2≤2k≤n,k为正整数)等作为参考输入。人工神经元学习完成之后

  i2k(t) = w2ks·sin2kωt + w2kc·cos2kωt (2)

  就是对应的偶次谐波电流的值。

  (5) 检测特定次谐波和相位:取sinωt、cosωt以及sinkωt、coskωt(k∈[2,n]且为正整数)等作为参考输入。人工神经元学习完成之后

  ik(t) = wks·sinkωt + wkc·coskωt (3)

  就是对应的k次谐波的值;wkc/wks就是k次谐波相角的正切值。

  

 

  图2 基于单个神经元的电力谐波检测原理图

  3.5 iplot控件的应用

  iplot控件是非常优秀的控件,能够直观实时显示工业现场中的模拟信号。它功能强大,即使在划分数据时也可以缩放,滚动。x轴,y轴和频道数均无限制。对于不同通道信号采用颜色区分,并用文字标注,方便观察比较分析。能以.bmp,.emf,.jpg各种图形格式保存信号曲线,也可以打印输出。现以其中一路通道信号的显示加以说明。

  var

  currcount:integer;

  retcount:integer;

  i:integer;

  begin

  //设置iocomp中iplt控件的参数

  iplot.channel[0].titletext:= `u相电压信号`; //设置通道标题文字

  iplt1.xaxis[0].min:=0; //设置u相电压信号x轴的起始坐标值

  iplt1.xaxis[0].span:=2560; //设置x轴的坐标域

  iplt1.yaxis[0].min:=-5000; //y轴表示u相电压信号的幅值

  iplt1.yaxis[0].span:=10000;

  i:=zt8360a_getlasterr();

  if i<>0 then

  showmessage(`错误号为:`+inttostr(i));

  currcount := zt8360a_getsfifodatacount(m_cardno);

  //得到驱动缓冲区(sfifo)中当前有效数据的个数

  if currcount > 0 then

  begin

  retcount := zt8360a_aisfifo(m_cardno, data, 8192);

  //定时启动ad或外触发启动ad时,从驱动缓冲区中读8192个数到缓冲区

  for i:=0 to retcount do

  begin

  iplt1.channel[0].addxy(x,data^[i]); //图形显示

  x:=x+1;

  end;

  end;

  end;

  3.6 线程的应用和防止数据覆盖

  windows提供的多媒体定时器,它的最小时间精度只能达到1ms。不能满足实时数据采集的要求。在本项目中,采集的电压信号频率为50hz,每个周期为0.02秒。根据项目要求,每个周期需采样256个点,即每0.02/256=0.000078125秒读一次。因此需要使用线程。另外,pci8360a的单通道采样频率最高可达500khz,即每1/500000=0.000002秒采样一次。因此,可能出现数据覆盖,即还没有处理的数据被新读入的数据覆盖。为防止这种情况发生,需要创建缓存区。

  4 结束语

  在该项目的上位机软件开发过程中,数据采集是其它工作的前提。在数据采集中掌握pci8360a数据采集卡的的使用是非常重要的,它有效的利用了工机控机高速处理能力。在使用过程中要注意:未接信号的通道一定要接模拟地;为防止引入现场干扰,不应该使信号引脚悬空,可以将不使用的信号引脚与模拟地短路;各选择跳线均选出厂设置。iocomp图形控件的使用使得实验的上位机界面更加美观。iplot控件显示各路信号波形。ispectrumdisplay,ipiechart控件用于显示各次谐波含有率,iangularloggauge控件用于显示基波功率。为提高读数据的速率,使用了线程。动态链接库和防覆盖技术的应用,使得系统更为可靠。多种采集方式同时应用,便于比较多种方法各自的优缺点。

关键字:电力谐波  治理装置  数据采集 编辑:冰封 引用地址:电力谐波治理装置数据采集处理系统设计

上一篇:一种LED路灯光伏充电器的设计
下一篇:SF6密度表和密度继电器原理研究与探讨

推荐阅读最新更新时间:2023-10-18 15:56

基于LPC2210和μC/OS—II的触摸屏触摸点数据采集系统
  本文提出了基于ARM7系列LPC2210微控制器和嵌入式操作系统μC/OS—II来实现触摸屏触摸点数据采集系统的设计,并完成了微控制器与上位机之间的物理层 电路 转换,实现了基于LIN总线的数据通信,能够在上位机得到触摸点的精确坐标以及控制菜单信息,并且准确可靠、传输速率高。   嵌入式系统实际上是“嵌入式计算机系统”的简称,是相对于通用计算机系统而言的,根据应用的要求,将操作系统和功能软件集成于计算机硬件系统中,以应用为中心,计算机技术为基础,实现软件与硬件的一体化。其适用于对功能、可靠性、成本、体积和功耗等有严格要求的专用计算机系统。   触摸屏又称为“触控屏”、“触控面板”,是一种附加在显示器表面的透明介质。触摸屏作
[单片机]
基于LPC2210和μC/OS—II的触摸屏触摸点<font color='red'>数据采集</font>系统
准周期信号基2同步数据采集系统的设计
摘要:介绍了一款基于单片机的倍频电路。该电路能够实现对准周期信号的整周期同步采样,具有倍频精度高、跟踪速度快、能对准周期信号进行预测和补偿等特点;同时介绍了一种周期预测的方法和原理以及基于PC总线实现准周期信号的同步数据采集系统。 关键词:准周期信号 整周期采样 单片机 预测 数据采集及其傅立叶分析是信号处理的重要环节和基本手段。众所周知,利用FFT技术对信号进行频谱分析时,其精度受谱泄漏和栅栏效应等因素的制约。理论研究和实验均表明:对周期或准周期信号实行按基频整周期同步采集2n个数据,即整周期基2同步采样,可以减小傅立叶分析中的固有误差——谱泄漏和栅栏效应 。 对周期信号,通常可采用由锁相环和分频器组成的锁相倍频电路 ,
[单片机]
基于ARM的炼胶釜数据采集器的设计
胶粘剂是生产竹胶合板的重要材料,我国南方许多中小竹胶合板企业自行生产胶粘剂。 胶粘剂的生产过程属聚合反应,采用控制反应釜内反应物温度的方法来进行生产,而现在都是通过人工凭借温度计进行控制,生产现场没有预警措施,这样产品质量很不稳定,并且生产工人的安全也得不到保障。这些企业急需要既经济又可靠的控制器,但聚合反应机理非常复杂,影响温度的因素也很多,需要分析大量的数据,为此我们开发了以LPC2132为控制核心的数据采集器。 1系统分析 根据工艺要求,反应在反应釜内进行,反应物是通过电子称计量后由真空泵打入反应釜内,整个生产包括升温阶段和恒温阶段,温度始终按给定的温度曲线变化。当需要升温时,
[单片机]
基于ARM的炼胶釜<font color='red'>数据采集</font>器的设计
基于USB总线的高速数据采集系统
摘要:介绍了一种基于USB总线的高速数据采集系统,讨论了USB控制器EZ-USB FX2CY7C68013的性能及传输方式给出了该系统的硬件和基于GPIF主控方式实现数据传输的软件设计方法。 关键词:USB;数据采集;EZ-USB FX2;GPIF 1 引言 现代工业生产和科学研究对数据采集的要求日益提高。目前比较通用的是在PC或工控机内安装数据采集卡(如A/D卡及422、485卡)。但这些数据采集设备存在以下缺陷:安装麻烦、价格昂贵、受计算机插槽数量、地址、中断资源的限制,可扩展性差,同时在一些电磁干扰性强的测试现场,可能无法专门对其作电磁屏蔽,从而导致采集的数据失真。 传统的外设与主机的通讯接口一般是基于PCI总
[应用]
提高实时系统数据采集质量的研究
    摘要: 从实现原理、实际应用效果等方面详细叙述了提高实时系统数据采集质量的几种实用技术,其中所述电路、方法均已在实际生产中得到了应用。     关键词: 前向通道 数据采集 实用技术 有向通道是实时系统的“人口”,即数据之源。对小型实时系统来说,其一般构成模型为:传感器、放大器、采集器为(A/D)以及相关联的外围电路。这些器件乃至构成的电路的稳定性、线性度、抗干扰能力直接影响到数据的采集质量。如果不考虑成本,在系统设计时全部采用军用级芯片,情况会好些,但仍程度不同地存在上述问题;如果采用一般商用级芯片,问题就严重了。这就要求工程人员在系统设计时,无论是采用商用级、工业级芯片,还是采用军用级芯片,都应
[应用]
在MATLAB环境中调用DLL对硬件资源访问的方法
    MATLAB是美国MathWorks公司开发的高性能的科学与工程计算软件,凭借其强大的科学计算和绘图功能、大量稳定可靠的算法库和简洁高效的编程语言,被科技工作者们广泛应用于自动控制、数学运算、信号分析、图像处理等各行各业。尽管MATLAB本身是一个完整的、自成体系的编程和数据处理环境,但由于语言的特性使其访问硬件的能力相对较差,这在一定程度上限制了它的使用。对于那些涉及复杂算法同时又需要对硬件资源进行访问的系统,一般的做法是在一个通用的编程平台(如Visual C++、Visual Basic、Delphi等)上实现对硬件资源的访问,而后调用MATLAB算法对数据进行处理。这种方法优点是通用性好,程序运行效率高,适用大多数
[测试测量]
在MATLAB环境中调用DLL对硬件资源访问的方法
基于VB6.0的燃料电池单片电压巡检系统的设计
1 引言 燃料电池是21世纪最有望取代目前汽车燃油内燃机的新动力体系之一,它是一种将H2和O2的化学能通过电极反应直接转换成电能的装置。一个燃料电池堆是将多片电池片串联起来构成的,整个电堆的性能和单片电池电压有很大的关系。因此在燃料电池的研制中有必要采集不同条件下单片电池的电压值,通过分析找出H2和O2的反应环境和单片电池电压之间的关系。本文所要介绍的是作者单位正在进行的25kW燃料电池轿车项目中,燃料电池单片电压巡检测试、分析系统的设计。本系统的上位机软件采用VB6.0编程语言进行开发,该语言功能强大,具有面向对象和可视化编程,界面友好,特别适于在 Windows环境下图形界面和用户程序的编制,数据采集由多个
[单片机]
基于VB6.0的燃料电池单片电压巡检系统的设计
基于PLC控制的自动裁剪设备如何实现数据采集远程监控
PLC控制的自动裁剪设备适用于切割各种材料,可以控制切割材料的移动速度、移动行程、切割材料的长度和数量等,可以大大提供工作效率,节省大量的人工成本。通过工业智能网关采集数据并上传到监控平台,可以远程监控生产流程和设备运行状态,是工厂实现数字化管理必须解决的重要问题。 PLC下控的自动裁剪设备可以通过串口网口连接到物通博联工业智能网关,由网关进行协议解析和数据采集,将设备数据采集上传到监控平台(本地上位机、云平台、触摸屏等),从而远程监控设备运行状态、设备故障快速报警并远程维护,有效保证裁剪效率与成品品质。 系统优势 1、数据采集 网关支持采集各品牌PLC(西门子、三菱、欧姆龙、施耐德、台达、汇川等),内置丰富协议库,自动化
[嵌入式]
基于PLC控制的自动裁剪设备如何实现<font color='red'>数据采集</font>远程监控
小广播
最新电源管理文章
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved