微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 电源设计 > 电力谐波治理装置数据采集处理系统设计

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

时间:10-11 来源:互联网 点击:

检测原理图

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控件用于显示基波功率。为提高读数据的速率,使用了线程。动态链接库和防覆盖技术的应用,使得系统更为可靠。多种采集方式同时应用,便于比较多种方法各自的优缺点。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top